Many types of integrated circuits (ICs) have memory circuits that include arrays of memory cells. Each of the memory cells stores one or more digital bits. The memory cells in a memory array are typically arranged in rows and columns. The memory cells may be, for example, random access memory (RAM), such as static RAM (SRAM) or dynamic RAM (DRAM).
Each row of memory cells in a memory array may, for example, be controlled by a word line, and each column of the memory cells in the memory array may, for example, be controlled by one or more bit lines. In modern semiconductor process nodes that are less than 14 nanometer (nm), the bit line is highly resistive due to the narrow width of the bit line and the small grain size of the metal (e.g., copper) that is used to form the bit line. The interconnect resistance of the bit line is high because the copper core of the bit line is narrow, the barrier material around the copper core is a high resistivity material, and the barrier thickness does not scale. The grain size of the metal is limited by the narrow trench of the bit line. The grain size of the metal in the bit line is smaller than the mean free path of the carriers, which causes grain boundary scattering that further increases the resistance of the bit line. The resistivity of the bit lines in memory arrays continues to increase exponentially at progressively smaller semiconductor process nodes that are less than 14 nm.
In addition, the interconnect width of bit lines in memory circuits is reduced in smaller process nodes to enable scaling of the area of each memory cell. As the width of the bit lines are decreased, the timing constant of the bit lines increases, which makes it more difficult to write to the memory cells in the farthest end of the memory circuit from the write driver. This effect limits the number of rows of memory cells in the memory array in order to meet the required performance and writability. The limit on the number of rows of memory cells reduces the efficiency of the memory array and increases the area of the memory circuit.
According to some examples disclosed herein, a memory circuit includes an array of memory cells, word line decoder circuits, bit line select circuits, a write driver circuit, and a regenerative repeater circuit. The word line decoder circuits control word lines that are coupled to rows of the memory cells. The bit line select circuits control bit lines that are coupled to columns of the memory cells. The regenerative repeater circuit is coupled to the bit lines. The regenerative repeater circuit is a write assist circuit that speeds up the process of writing bits to the memory cells. The regenerative repeater circuit enables robust write operations in memory circuits that are in the worst-case process and interconnect corners within a bin of memory circuits. The regenerative repeater circuit can provide write assist during a write operation to the memory cells, including the memory cell farthest from the write driver circuit. In some implementations, the regenerative repeater circuit can obviate the need for other write assist circuits to reduce write dynamic power (e.g., by 25%) and circuit area (e.g., by 15%).
Throughout the specification, and in the claims, the term “connected” means a direct electrical connection between the circuits that are connected, without any intermediary devices. The term “coupled” means either a direct electrical connection between circuits or an indirect electrical connection through one or more passive or active intermediary devices. The term “circuit” may mean one or more passive and/or active electrical components that are arranged to cooperate with one another to provide a desired function.
Memory circuit 100 may be in an integrated circuit (IC) die. The IC may be any type of IC, such as a programmable integrated circuit (IC), a microprocessor, a graphics processing unit, an application specific IC, a memory IC, etc. Programmable ICs include any integrated circuits that may be programmed to perform desired functions, including programmable logic arrays (PLAs), programmable array logic (PAL), field programmable gate arrays (FPGAs), and programmable logic devices (PLDs). The memory cells in array 101 may be any type of memory circuit, such as a static random access memory (SRAM), a dynamic RAM (DRAM), or a non-volatile memory circuit.
Row pre-decoder signals RPD are provided to inputs of WL decoder circuits 103. The RPD signals determine which of the word lines in memory array 101 are selected to perform a write operation. WL decoder circuits 103A, . . . 103B, 103C decode the RPD signals to generate an N number of decoded word line signals WL0, . . . WLN-2, WLN-1 on the word lines for rows 0, . . . N-2, N-1, respectively, of the memory cells. The word lines for the rows 0, . . . N-2, N-1 are coupled to the M memory cells in the respective rows. For example, the decoded word line signals WL0, . . . WLN-2, WLN-1 are transmitted to the memory cells 21-24, . . . 31-34, 41-44 in rows 0, . . . N-2, N-1, respectively. WL decoder circuits 103 assert the word line signals on the word lines that are indicated by the row pre-decoder signals RPD to high voltages.
The write column select (WCS) circuit 104 generates an M number of write control signals. One of the write control signals is generated for each of the columns of the memory cells in memory array 101. For example, WCS circuit 104 generates write control signals WCS0, WCS1, WCS2, and WCS3 for columns 0, 1, 2, and 3, respectively, of the memory cells. Each of the write control signals generated by circuit 104 is provided to the gates of two n-channel transistors that are coupled to bits lines for one of the columns of the memory cells in memory array circuit 101. For example, write control signals WCS0, WCS1, WCS2, and WCS3 are provided to the gates of n-channel transistors 11-12, 13-14, 15-16, and 17-18, respectively, as shown in
The drains of transistors 11, 12, 13, 14, 15, 16, 17, and 18 are coupled to the bit lines that transmit bit line signals BL0, BLb0, BL1, BLb1, BL2, BLb2, BL3, and BLb3, respectively. Transistors 11-18 are coupled to the lower ends of these bit lines in
Each pair of the bit lines transmits a non-inverted bit line signal and an inverted bit line signal. For example, bit line signals BLb0, BLb1, BLb2, and BLb3 have logically inverted states relative to bit line signals BL0, BL1, BL2, and BL3, respectively. WCS circuit 104 sets the voltages of the write control signals, including signals WCS0-WCS3, to control the voltages of the bit line signals, including bit line signals BL0-BLb3, during a write operation. In response to the word line and the bit lines that are coupled to a memory cell being asserted to predefined voltages, a write operation is performed in that memory cell, as described in further detail below with respect to the example of
The sources of transistors 11, 13, 15, and 17 are coupled to the drain of n-channel transistor 20. The sources of transistors 12, 14, 16, and 18 are coupled to the drain of n-channel transistor 19. A Data input signal is provided to the gate of transistor 19 and to an input of inverter circuit 106. Inverter circuit 106 inverts the Data input signal to generate an inverted Data signal that is provided to the gate of transistor 20. The sources of transistors 19-20 are coupled to the ground voltage. Transistors 19-20 function as a write driver circuit that controls writing bits to the memory cells.
Regenerative repeater circuit block 102 includes an inverter circuit 108 and an M number of regenerative repeater circuits, such as regenerative repeater circuits 51, 52, 53, and 54, as shown in
Regenerative repeater circuit block 102 increases the speed of write operations to the memory cells in memory array circuit 101. The regenerative repeater circuit block 102 enables robust write operations to the memory cells in memory array circuit 101 even if memory circuit 100 is in a worst-case process and/or interconnect corner. As an example, each of the regenerative repeater circuits in regenerative repeater circuit block 102 may increase the speed of a write operation by drawing current from (or providing current to) one of the bit lines coupled to one of the columns of memory cells in memory array circuit 101. Regenerative repeater circuit block 102 can enable robust write operations despite the high resistivity of the bit lines without reducing performance and efficiency of the memory array circuit 101 and without increasing the size of the memory circuit 100.
The write enable circuit 107 generates a write enable signal WEN that is driven to a low voltage to enable the regenerative repeater circuits in regenerative repeater circuit block 102 during a write operation. Inverter circuit 108 inverts the write enable signal WEN to generate an inverted write enable signal WENb. Signal WENb is provided to an input of each of the regenerative repeater circuits, including regenerative repeater circuits 51-54.
Bit lines BL and BLb are a pair of bit lines that are coupled to a column of memory cells in memory array circuit 101. Bit line BL transmits a non-inverted bit line signal, and bit line BLb transmits an inverted bit line signal. As examples, bit lines BL and BLb may transmit bit line signals BL0 and BLb0, BL1 and BLb 1, BL2 and BLb2, or BL3 and BLb3.
Details of a write operation are now described in the context of the circuits shown in
During a write operation, the Data input signal is driven to a low voltage to write a logic low bit (i.e., a 0 bit) to the memory cells that are in the columns selected by the asserted write control signals generated by WCS circuit 104 and in the rows selected by the asserted word line signals generated by WL decoder circuits 103. In response to the Data input signal having a low voltage, transistor 19 is off, and transistor 20 is on. When transistor 19 is off in response to the Data input signal being low, the transistors (e.g., transistors 12, 14, 16, and 18) coupled to the bit lines transmitting the inverted bit line signals (e.g., BLb0, BLb 1, BLb2, BLb3) are decoupled from ground. When transistor 20 is on in response to the inverted Data input signal being high, the transistors (e.g., transistors 11, 13, 15, and 17) coupled to the bit lines transmitting the non-inverted bit line signals (e.g., BL0, BL1, BL2, BL3) are coupled to ground. As a result, transistor 20 discharges the non-inverted bit line signals on bit lines selected by the asserted write control signals to the ground voltage. For example, if transistors 11, 13, 15, and 17 are on, then these transistors and transistor 20 discharge bit line signals BL0, BL1, BL2, and BL3 to the ground voltage.
Write enable circuit 107 drives the write enable signal WEN to a low voltage during a write operation. In response to the write enable signal WEN being low, inverter circuit 108 drives the inverted write enable signal WENb to a high voltage. Transistor 205 in regenerative repeater circuit 200 of
Referring to
During a write operation, the Data input signal is driven to a high voltage to write a logic high bit (i.e., a 1 bit) to the memory cells that are in the columns selected by the asserted write control signals generated by WCS circuit 104 and in the rows selected by the asserted word line signals generated by WL decoder circuits 103. When transistor 20 is off in response to the inverted Data signal having a low voltage, the transistors (e.g., transistors 11, 13, 15, and 17) coupled to the bit lines transmitting the non-inverted bit line signals (e.g., BL0, BL1, BL2, BL3) are decoupled from ground. When transistor 19 is on in response to the input Data signal having a high voltage, the transistors (e.g., transistors 12, 14, 16, and 18) coupled to the bit lines transmitting the inverted bit line signals (e.g., BLb0, BLb1, BLb2, BLb3) are coupled to ground. As a result, transistor 19 discharges the inverted bit line signals on the bit lines selected by the asserted write control signals to the ground voltage. For example, if transistors 12, 14, 16, and 18 are on, then these transistors and transistor 19 discharge bit line signals BLb0, BLb 1, BLb2, and BLb3 to the ground voltage.
Referring to
As an example that is not intended to be limiting, the discharge time for the voltage on the bit line BL or BLb to decrease from supply voltage VCC to ½ supply voltage VCC may be 0.75 of a resistor-capacitor (RC) time constant t, where t=R*C. The discharge time for the voltage on the bit line BL or BLb to decrease from ½ supply voltage VCC to the voltage level to write a 0 or 1 bit to one of the memory cells may be about 4.25 multiplied by the time constant t (i.e., 4.25*t). The regenerative repeater circuit 200 of
According to other examples disclosed herein, a memory circuit includes an array of memory cells, word line decoder circuits, a bit line selection circuit, a write driver circuit, and a write assist circuit. The word line decoder circuits control word lines that are coupled to rows of the memory cells. The bit line selection circuit controls bit lines that are coupled to columns of the memory cells. The write assist circuit assists the array in writing bits to the memory cells during write operations. The array of memory cells also includes a timing column of dummy timing circuits. The dummy timing circuits speed up the process of writing bits to the memory cells during write operations. The dummy timing circuits enable robust write operations in memory circuits that are in the worst-case process and interconnect corners within a bin of integrated circuit dies.
The WL decoder circuits 103, write column select circuit 104, inverter 106, and transistors 11-20 function as disclosed herein with respect to
Memory array circuit 301 also has a timing column of dummy timing circuits 321, including dummy timing circuit 321A in row 0 and dummy timing circuit 321B in row N-2, and timing circuit 325 in row N-1. The timing column has a timing circuit in each of the rows of memory cells in array 301. Timing circuit 325 is coupled to receive the output signal WLDET of WL detect circuit 320. Timing circuits 321 and 325 are not coupled to receive any of the decoded word line signals generated by circuits 103.
Each of the dummy timing circuits 321 is coupled to receive a tie low signal TL (e.g., at the ground voltage). Each of the timing circuits 321 and 325 is coupled to a conductive line that provides a reference bit line signal REFBL. P-channel transistor 310 is coupled between a supply voltage VCC and the conductive line that provides signal REFBL. The gate of transistor 310 is coupled to receive a pre-charge signal PCH. The conductive line that provides signal REFBL is also coupled to an input of inverter circuit 302. A write clock signal WCLK and the output signal RBLb of inverter circuit 302 are provided to inputs of AND gate circuit 305. The output signal WRTEN of AND gate circuit 305 is provided to an input of inverter circuit 303. Inverter circuit 303 inverts the WRTEN output signal of AND gate circuit 305 to generate an inverted signal that is provided to the gate of transistor 311 and to an input of inverter circuits 304. Inverter circuits 304 include 2 inverter circuits coupled in series. Inverter circuits 304 buffer the output signal of inverter circuit 303 to generate a buffered signal that is provided to terminals of transistors 312-313. The terminals of transistors 312-313 are coupled to form 2 capacitors. Transistor 311 is coupled between the sources of transistors 19-20 and the ground voltage. The gate of transistor 313 and the source and drain of transistor 312 are coupled to the drain of transistor 311 and to the sources of transistors 19-20. The timing circuits 321 and 325, transistors 310-313, inverters 302-304, and logic AND gate 305 form a write assist circuit that assists a write operation to the memory array 301, as described in further detail below.
A first source/drain of pass transistor 401 is coupled to a non-inverted bit line BL. The second source/drain of pass transistor 401 is coupled to an input of the inverter formed by transistors 404 and 406 and to an output of the inverter formed by transistors 403 and 405. A first source/drain of pass transistor 402 is coupled to an inverted bit line BLb. The second source/drain of transistor 402 is coupled to an output of the inverter formed by transistors 404 and 406 and to an input of the inverter formed by transistors 403 and 405. The bit line BL may, for example, be any of the bit lines that provide non-inverted bit line signals BL0, BL1, BL2, or BL3. The bit line BLb may, for example, be any of the bit lines that provide inverted signals BLb0, BLb 1, BLb2, and BLb3.
A first source/drain of pass transistor 421 is coupled to the conductive line that provides signal REFBL in memory circuit 300. The second source/drain of pass transistor 421 is coupled to sources of transistors 423 and 425 and to gates of transistors 424 and 426. A first source/drain of pass transistor 422 is coupled to a conductor that provides supply voltage VCC. The second source/drain of pass transistor 422 is coupled to the sources of transistors 424 and 426. The gates of transistors 423 and 425 are coupled to receive supply voltage VCC. Because the conductive lines REFWL in timing circuits 321A, 321B, etc. are coupled to receive signal TL at voltage VSS, transistors 421-422 in timing circuits 321/420 are off. The timing circuits 420 in timing circuits 321A, 321B, etc. are therefore disabled, and only act as loads for signal REFBL so that the discharge time for signal REFBL tracks the discharge time for the bit lines coupled to the memory cells in memory array 301.
Further details of the operation of memory circuit 300 are now described in the context of
In addition, the WL decoder circuits 103 cause the word line signals WL[N-1:0] that are selected based on the address indicated by the row pre-decoder signals RPD to transition from low voltages to high voltages, as shown in
As shown in
An illustrative programmable logic integrated circuit (IC) 10 that includes a memory circuit 600 is shown in
Programmable logic IC 10 contains memory elements 20 (e.g., memory cells in memory circuits 100 or 300) that can be loaded with configuration data (also called programming data) using pads 14 and input-output circuitry 12. Once loaded, the memory elements 20 may each provide a corresponding static control output signal that controls the state of an associated logic component in programmable logic circuitry 18. Typically, the memory element output signals are used to control the gates of metal-oxide-semiconductor (MOS) transistors.
In general, software and data for performing any of the functions disclosed herein may be stored in non-transitory computer readable storage media. Non-transitory computer readable storage media is tangible computer readable storage media that stores data for a significant period of time, as opposed to media that only transmits propagating electrical signals (e.g., wires). The software code may sometimes be referred to as software, data, program instructions, instructions, or code. The non-transitory computer readable storage media may include computer memory chips, non-volatile memory such as non-volatile random-access memory (NVRAM), one or more hard drives (e.g., magnetic drives or solid state drives), one or more removable flash drives or other removable media, compact discs (CDs), digital versatile discs (DVDs), Blu-ray discs (BDs), other optical media, and floppy diskettes, tapes, or any other suitable memory or storage device(s).
Additional examples are now disclosed. Example 1 is a memory circuit comprising: a memory array circuit that comprises a first column of memory cells; a column selection circuit coupled to the first column of the memory cells through a first bit line, wherein the column selection circuit pulls a voltage of the first bit line toward a predefined voltage in response to a first write control signal during a first write operation to at least one of the memory cells in the first column; a write enable circuit that generates a write enable signal; and a first regenerative repeater circuit coupled to the first column of the memory cells through the first bit line, wherein the first regenerative repeater circuit pulls the voltage of the first bit line toward the predefined voltage in response to the write enable signal during the first write operation.
In Example 2, the memory circuit of Example 1 may optionally include, wherein the first regenerative repeater circuit discharges the first bit line to a ground voltage during the first write operation.
In Example 3, the memory circuit of any one of Examples 1-2 may optionally include, wherein the first regenerative repeater circuit comprises a first inverter circuit coupled to the first bit line and a first transistor coupled to the first bit line and to an output of the first inverter circuit, and wherein the first inverter circuit turns the first transistor on to pull the voltage of the first bit line toward the predefined voltage in response to the column selection circuit pulling the voltage of the first bit line toward the predefined voltage during the first write operation.
In Example 4, the memory circuit of any one of Examples 1-3 may optionally include, wherein the first regenerative repeater circuit is coupled to the first column of the memory cells through a second bit line, and wherein the first regenerative repeater circuit pulls the voltage of the second bit line toward the predefined voltage in response to the write enable signal during a second write operation to at least one of the memory cells in the first column.
In Example 5, the memory circuit of any one of Examples 1-4 may further comprise: word line decoder circuits coupled to the memory array circuit, wherein the memory array circuit comprises rows of the memory cells, wherein the word line decoder circuits are coupled to the rows of the memory cells through word lines, and wherein the word line decoder circuits assert selected ones of the word lines to write bits to the memory cells in the rows coupled to the selected ones of the word lines.
In Example 6, the memory circuit of any one of Examples 1-5 may optionally include, wherein the memory array circuit further comprises a second column of memory cells, wherein the column selection circuit is coupled to the second column of the memory cells through a second bit line, wherein the column selection circuit pulls a voltage of the second bit line toward the predefined voltage in response to a second write control signal during a second write operation to at least one of the memory cells in the second column, and wherein the memory circuit further comprises: a second regenerative repeater circuit coupled to the second column of the memory cells through the second bit line, and wherein the second regenerative repeater circuit pulls the voltage of the second bit line toward the predefined voltage in response to the write enable signal during the second write operation.
In Example 7, the memory circuit of any one of Examples 1-6 may optionally include, wherein the column selection circuit is coupled to the first bit line next to a first edge of the memory array circuit, wherein the first regenerative repeater circuit is coupled to the first bit line next to a second edge of the memory array circuit, and wherein the second edge of the memory array circuit is opposite to the first edge.
In Example 8, the memory circuit of any one of Examples 1-2 or 5-7 may optionally include, wherein the first regenerative repeater circuit comprises first and second inverter circuits and first and second transistors, wherein the first transistor and an input of the first inverter circuit are coupled to the first bit line, wherein an output of the first inverter circuit is coupled to an input of the first transistor, wherein the second transistor and an input of the second inverter circuit are coupled to the first column of the memory cells through a second bit line, and wherein an output of the second inverter circuit is coupled to an input of the second transistor.
Example 9 is a memory circuit comprising: a memory array circuit that comprises columns of memory cells coupled to bit lines and a timing circuit coupled to a reference bit line; a column selection circuit coupled to the columns of the memory cells through the bit lines; a write driver circuit coupled to the column selection circuit; and a first capacitor coupled to the write driver circuit, wherein the timing circuit adjusts a voltage of the reference bit line to cause an adjustment to a voltage on the first capacitor during a write operation to at least one of the memory cells, and wherein the write driver circuit and the column selection circuit decrease a voltage of a selected one of the bit lines below a predefined voltage in response to the adjustment to the voltage on the first capacitor.
In Example 10, the memory circuit of Example 9 may optionally include, wherein the write driver circuit selects one of the bit lines as the selected one of the bit lines that is decreased below a ground voltage in response to the adjustment to the voltage on the first capacitor based on a data input signal that indicates a bit value to write to the at least one of the memory cells during the write operation.
In Example 11, the memory circuit of any one of Examples 9-10 may further comprise: a second capacitor coupled to the write driver circuit, wherein the timing circuit adjusts the voltage of the reference bit line to cause an adjustment to a voltage on the second capacitor during the write operation, and wherein the write driver circuit and the column selection circuit decrease the voltage of the selected one of the bit lines below the predefined voltage in response to the adjustments to the voltages on the first and the second capacitors.
In Example 12, the memory circuit of any one of Examples 9-11 may further comprise: logic circuits coupled between the reference bit line and the first capacitor.
In Example 13, the memory circuit of any one of Examples 9-12 may optionally include, wherein the timing circuit comprises first and second transistors, and wherein the first transistor and the second transistor discharge the reference bit line by coupling the reference bit line to a node at a ground voltage during the write operation.
In Example 14, the memory circuit of any one of Examples 9-13 may further comprise: a word line detection circuit that asserts a word line detect signal in response to a change in an address provided to the memory circuit during the write operation, wherein the timing circuit comprises a transistor that turns on in response to the word line detection circuit asserting the word line detect signal to adjust the voltage on the reference bit line during the write operation.
In Example 15, the memory circuit of any one of Examples 9-14 may optionally include, wherein the memory array circuit further comprises transistors coupled to the reference bit line that cause a discharge time for the voltage of the reference bit line to track a discharge time for the selected one of the bit lines during the write operation.
Example 16 is a method for writing data to a memory circuit, the method comprising: driving a voltage of a first bit line toward a predefined voltage with a column selection circuit in response to a first write control signal during a first write operation to a column of memory cells in the memory circuit, wherein the column selection circuit is coupled to the column of the memory cells through the first bit line; generating a write enable signal with a write enable circuit; and driving the voltage of the first bit line toward the predefined voltage with a first regenerative repeater circuit in response to the write enable signal during the first write operation, wherein the first regenerative repeater circuit is coupled to the column of the memory cells through the first bit line.
In Example 17, the method of Example 16 may optionally include, wherein driving the voltage of the first bit line toward the predefined voltage with the first regenerative repeater circuit further comprises: turning on a transistor in the first regenerative repeater circuit using an inverter circuit to drive the voltage of the first bit line toward the predefined voltage in response to the column selection circuit causing the inverter circuit to invert a voltage at a gate of the transistor during the first write operation.
In Example 18, the method of any one of Examples 16-17 may further comprise: driving a voltage of a second bit line toward the predefined voltage with the column selection circuit in response to a second write control signal during a second write operation to the column of the memory cells in the memory circuit, wherein the column selection circuit is coupled to the column of the memory cells through the second bit line; and driving the voltage of the second bit line toward the predefined voltage with a second regenerative repeater circuit in response to the write enable signal during the second write operation, wherein the second regenerative repeater circuit is coupled to the column of the memory cells through the second bit line.
In Example 19, the method of Example 18 may optionally include, wherein driving the voltage of the second bit line toward the predefined voltage with the second regenerative repeater circuit further comprises: turning on a transistor in the second regenerative repeater circuit using an inverter circuit to drive the voltage of the second bit line toward the predefined voltage in response to the column selection circuit causing the inverter circuit to invert a voltage at a gate of the transistor during the second write operation.
In Example 20, the method of any one of Examples 16-19 may optionally include, wherein driving the voltage of the first bit line toward the predefined voltage with the column selection circuit further comprises: driving the voltage of the first bit line toward the predefined voltage with a write driver circuit that receives a data input signal that indicates a bit value to write to at least one of the memory cells in the column of the memory cells during the first write operation, wherein the write driver circuit is coupled to the column selection circuit.
The foregoing description of the exemplary embodiments has been presented for the purpose of illustration. The foregoing description is not intended to be exhaustive or to be limiting to the examples disclosed herein. In some instances, various features can be employed without a corresponding use of other features as set forth. Many modifications, substitutions, and variations are possible in light of the above teachings, without departing from the scope of the present embodiments.
The present disclosure relates to electronic circuits, and more particularly, to memory circuits and methods with write assist.
This invention was made with government support under agreement number HR0011-21-3-0001 awarded by DARPA. The government has certain rights in the invention.