SCAN TESTABLE REGISTER FILE
Memory compiler engineers often focus on the efficient implementation of the largest possible memory configurations for each memory type. The overhead of test and control circuitry within memory implementations is usually amortized across a large number of storage bits. Unfortunately, test structures generally do not scale down with decreasing memory sizes, creating a large area penalty for a design with numerous small memories. One solution is a scannable register file (SRF) architecture using scannable latch bit-cells laid out using a standard cell layout/power template. All sub-cells can be placed in standard cell rows and utilize standard cell power straps. Non-SRF standard cells can be abutted on all sides, placement keep-out regions are not needed. Metal utilization is usually limited to first three metallization layers. The bit-cell is much larger than standard compiled memory bit cells, but has no overhead beyond address decode, word-line drivers, and read-write data latches.
Latest TEXAS INSTRUMENTS INCORPORATED Patents:
The invention relates generally to memory and, more particularly, to a register file.
BACKGROUNDApplications Specific Integrated Circuit or ASICs, as well as other circuits, often use conventional Static Random Access Memory (SRAM). Conventional SRAM typically employs built-in self-test or BIST circuitry. An example of conventional circuit 100 that employs SRAM 102 with BIST circuitry can be seen in
Some examples of conventional circuits are: U.S. Pat. No. 4,493,077; U.S. Pat. No. 5,631,911; U.S. Pat. No. 5,917,832; U.S. Pat. No. 5,961,653; U.S. Pat. No. 6,611,934; U.S. Pat. No. 6,763,485; U.S. Pat. No. 6,925,590; U.S. Pat. No. 7,383,480; U.S. Pat. No. 7,516,379; U.S. Patent Pre-Grant Publ. No. 2003/0131295; U.S. Patent Pre-Grant Publ. No. 2003/0200493; U.S. Patent Pre-Grant Publ. No. 2005/0010832; U.S. Patent Pre-Grant Publ. No. 2005/0210179; U.S. Patent Pre-Grant Publ. No. 2005/0235185; and U.S. Patent Pre-Grant Publ. No. 2008/0091995.
SUMMARYA preferred embodiment of the present invention, accordingly, provides an apparatus. The apparatus comprises a scan chain having a plurality of scan latches that are coupled to one another, wherein each of the scan latches is controlled by one of a first latch control signal and a second latch control signal; input logic including: an input latch that is control by a first scan clock signal and that receives a scan input signal; and a first multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of the first multiplexer receives the scan input signal, and wherein the second terminal of the first multiplexer is coupled to the input latch, and wherein the selection terminal of the first multiplexer receives a master control signal, and wherein the output terminal of the first multiplexer is coupled to the scan chain; output logic including: an output latch that is control by a second scan clock signal and that is coupled to the scan chain; and a second multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of the second multiplexer is coupled to the scan chain, and wherein the second terminal of the second multiplexer is coupled to the output latch, and wherein the selection terminal of the second multiplexer receives the master control signal; a scan clock generator that generates the first and second scan clock signals and that is coupled to the input and output latches; and an odd/even generator that generates the first latch control signal and the second latch control signal, wherein the including: a third multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein each of the first and second input terminals of the third multiplexer is coupled to the scan clock generator, and wherein the selection terminal of the third multiplexer receives the master control signal, and wherein the output terminal of the third multiplexer is coupled a first set of scan latches from the scan chain; and a fourth multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein each of the first and second input terminals of the fourth multiplexer is coupled to the scan clock generator, and wherein the selection terminal of the fourth multiplexer receives the master control signal, and wherein the output terminal is coupled of the fourth multiplexer a second set of scan latches from the scan chain.
In accordance with a preferred embodiment of the present invention, the scan chain further comprises a plurality of scan chains.
In accordance with a preferred embodiment of the present invention, the input logic further comprises a plurality of input latches, wherein each input latch is control by the first scan clock signal, and wherein each input latch that receives the scan input signal; and a plurality of first multiplexers, wherein each first multiplexer has a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of each first multiplexer receives the scan input signal, and wherein the second terminal of each first multiplexer is coupled to at least one of the plurality of the input latch, and wherein the selection terminal of each first multiplexer receives the master control signal, and wherein the output terminal of each first multiplexer is coupled to at least one of the plurality of scan chains.
In accordance with a preferred embodiment of the present invention, the output logic further comprises: a plurality of output latches, wherein each output latch is control by a second scan clock signal, and wherein each output latch is coupled to one of the plurality of the scan chains; and a plurality of second multiplexers, wherein each second multiplexer has a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of each second multiplexer is coupled to at least one of the plurality of scan chains, and wherein the second terminal of each second multiplexer is coupled to at least one of the plurality of the output latches, and wherein the selection terminal of each second multiplexer receives the master control signal.
In accordance with a preferred embodiment of the present invention, the scan clock generator further comprises: a first delay element that receives a clock signal; a first inverter that is coupled receives the clock signal; a second delay element that is coupled to the first delay element; a second inverter that is coupled to the second delay element; and a logic gate that is coupled to the first delay element and the second inverter.
In accordance with a preferred embodiment of the present invention, the logic gate is an AND gate.
In accordance with a preferred embodiment of the present invention, the scan clock generator further comprises: a first inverter that receives a clock signal; a first delay element that receives the clock signal; a second delay element that is coupled to the first inverter; a first logic gate that is coupled to first inverter and the second delay element; and a second logic gate that is coupled to the first delay element and that receives the clocks signal.
In accordance with a preferred embodiment of the present invention, each of the first and second logic gates further comprises an AND gate.
In accordance with a preferred embodiment of the present invention, each scan latch further comprises: a first transmission gate that is controlled by a write enable signal; a first tristate inverter that is coupled to the first transmission gate and that is controlled by the write enable signal; a second tristate inverter that is coupled to first transmission gate and that is controlled by at least one of the first and second latch control signals; a third tristate inverter that is coupled to the first and second tristate inverters, wherein the third tristate inverter is controlled by a read enable signal; and a third transmission gate that is coupled to the first and second tristate inverters, wherein the third transmission gate is controlled by at least one of the first and second latch control signals.
In accordance with a preferred embodiment of the present invention, an apparatus is provided. The apparatus comprises a memory array having a plurality of memory cells; a scan chain having a plurality of scan latches that are coupled to one another, wherein each of the scan latches is controlled by one of a first latch control signal and a second latch control signal, and wherein the scan chain is coupled to the memory array; input logic including: an input latch that is control by a first scan clock signal and that receives a scan input signal; and a first multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of the first multiplexer receives the scan input signal, and wherein the second terminal of the first multiplexer is coupled to the input latch, and wherein the selection terminal of the first multiplexer receives a master control signal, and wherein the output terminal of the first multiplexer is coupled to the scan chain; output logic including: an output latch that is control by a second scan clock signal and that is coupled to the scan chain; and a second multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of the second multiplexer is coupled to the scan chain, and wherein the second terminal of the second multiplexer is coupled to the output latch, and wherein the selection terminal of the second multiplexer receives the master control signal; a scan clock generator that generates the first and second scan clock signals and that is coupled to the input and output latches; and an odd/even generator that generates the first latch control signal and the second latch control signal, wherein the including: a third multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein each of the first and second input terminals of the third multiplexer is coupled to the scan clock generator, and wherein the selection terminal of the third multiplexer receives the master control signal, and wherein the output terminal of the third multiplexer is coupled a first set of scan latches from the scan chain; and a fourth multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein each of the first and second input terminals of the fourth multiplexer is coupled to the scan clock generator, and wherein the selection terminal of the fourth multiplexer receives the master control signal, and wherein the output terminal is coupled of the fourth multiplexer a second set of scan latches from the scan chain; a controller that is coupled to the scan chain, the input logic, the output logic, and the odd/even generator; a read decoder that is coupled to the memory array; and a write decoder that is coupled to the memory array.
In accordance with a preferred embodiment of the present invention, the scan chain further comprises a plurality of scan chains that are each coupled to the memory array.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
Refer now to the drawings wherein depicted elements are, for the sake of clarity, not necessarily shown to scale and wherein like or similar elements are designated by the same reference numeral through the several views.
Referring to
Turning to
Referring now to
Turning first to architecture 200-1, a single scan chain and corresponding supporting circuitry are shown. Preferably, the scan latches for each row ROW1 to ROWn (or, alternatively, for columns) and scan buffer 314 are daisy-chained together to formed a single scan chain (which can be arranged to scan in either direction). Within each row ROW1 to ROWn, there are two latches where the first latch is referred to as an even latch and the second latch is referred to as an odd latch. For this configuration, the input logic 304-1 is generally comprised of an input latch 310 (which is controlled by a scan clock signal SCK2 and which can receive scan data or scan input signal SI) and a multiplexer or mux 312 (which is controlled by the master control signal MASTER). The output terminal of multiplexer 312 is then coupled to the first latch of the scan chain. The mux 312 is coupled to the latch 310 at one input terminal and receives the scan input signal SI at the other terminal. Additionally, the output logic 306-1 is comprised of a latch 316 (which is controlled by a scan clock signal SCK1 and that can receive scan data or scan output signal SOA) and a mux 318 (which is controlled by the master control signal MASTER). The mux 318 and latch 316 are coupled to the scan buffer 314 at the end of the scan chain for this configuration.
Control signals and clocking signals for the architecture 200-1 are generated by the scan clock generator 308-1 and the odd/even generator 309. The scan clock generator 308-1 is generally comprised of delays 320 and 322, inverters 324 and 326, and AND gate 328. Preferably, the clock signal generator 308-1 receives a clock signal CLK and outputs the scan clock signals SCK1 and SCK2 (which are used to control latches 310 and 316). These scan clock signals SCK1 and SCK2 are then provided to the odd/even generator 309 (which is generally comprised of muxes 330 and 332) which provides control signals to the latches 302-1.
In operation, the architecture 200-1 operates in two scan modes that are indicated by the master control signal MASTER (which has a value of “0” or “1”). During the scan modes, the latches 302-1, 310, and 316 are arranged in master-slave pairs during shifting to form scan shift flip-flops. A reason for using two different modes is that, since array contents (i.e., banks 208-1 or array 208-2) are preserved in the slave latches, testing to cover all array faults can be accomplished to two passes (use each scan mode for a pass). Additionally, because of its configuration, this architecture allows for standard automatic test pattern generation (ATPG) techniques to be employed.
During a first scan mode, when the master control signal MASTER is “0”, the latches 302-1 can be arranged to form a set of master-slave pairs without external latches. Preferably, for this scan mode, the even latch for each row ROW1 to ROWn forms a master latch, and the odd latch for each row ROW1 to ROWn forms a slave latch. Because the master control signal MASTER is “0”, muxes 312 and 318 bypass latches 310 and 316. Additionally, mux 332 is set by the master control signal MASTER to output scan clock signal SCK1 (which is provided as a control signal to the odd latches for each row ROW1 to ROWn), and mux 330 is set by the master control signal MASTER to output scan clock signal SCK2 (which is provided as a control signal to the odd latches for each row ROW1 to ROWn). The timing signals for the even latches (EVEN) and the odd latches (ODD) in this scan mode can be seen in
During a second scan mode, when the master control signal MASTER is “1”, the latches 302-1 cannot be arranged to form a set of master-slave pairs without external latches. Preferably, for this scan mode, the even latch for each row ROW1 to ROWn forms a slave latch, and the odd latch for each row ROW1 to ROWn forms a master latch. Thus, to have a complete set of master-slave pairs, latches 310 and 316 at the beginning and end of the scan chain are employed and are enabled by muxes 312 and 318. Additionally, mux 332 is set by the master control signal MASTER to output scan clock signal SCK2, and mux 330 is set by the master control signal MASTER to output scan clock signal SCK1. The timing signals for the even latches (EVEN) and the odd latches (ODD) in this scan mode can be seen in
Turning to
Referring now to
Turning to
By employing SRFs, such as SRFs 200-1 and 200-2, several advantages can be realized. Essentially, SRFs can fill the gap between flip-flop based and SRAM based implementations. In particular, SRFs can have fully static operations, operating at much lower voltages that SRAMs, and with less area overhead. SRFs also do not have the bulky BIST circuitry or the penalties associated therewith. Moreover, SRFs may only require the use of the first three metallization layers because of their configuration.
Having thus described the present invention by reference to certain of its preferred embodiments, it is noted that the embodiments disclosed are illustrative rather than limiting in nature and that a wide range of variations, modifications, changes, and substitutions are contemplated in the foregoing disclosure and, in some instances, some features of the present invention may be employed without a corresponding use of the other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the invention.
Claims
1. An apparatus comprising:
- a scan chain having a plurality of scan latches that are coupled to one another, wherein each of the scan latches is controlled by one of a first latch control signal and a second latch control signal;
- input logic including: an input latch that is control by a first scan clock signal and that receives a scan input signal; and a first multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of the first multiplexer receives the scan input signal, and wherein the second terminal of the first multiplexer is coupled to the input latch, and wherein the selection terminal of the first multiplexer receives a master control signal, and wherein the output terminal of the first multiplexer is coupled to the scan chain;
- output logic including: an output latch that is control by a second scan clock signal and that is coupled to the scan chain; and a second multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of the second multiplexer is coupled to the scan chain, and wherein the second terminal of the second multiplexer is coupled to the output latch, and wherein the selection terminal of the second multiplexer receives the master control signal;
- a scan clock generator that generates the first and second scan clock signals and that is coupled to the input and output latches; and
- an odd/even generator that generates the first latch control signal and the second latch control signal, wherein the including: a third multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein each of the first and second input terminals of the third multiplexer is coupled to the scan clock generator, and wherein the selection terminal of the third multiplexer receives the master control signal, and wherein the output terminal of the third multiplexer is coupled a first set of scan latches from the scan chain; and a fourth multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein each of the first and second input terminals of the fourth multiplexer is coupled to the scan clock generator, and wherein the selection terminal of the fourth multiplexer receives the master control signal, and wherein the output terminal is coupled of the fourth multiplexer a second set of scan latches from the scan chain.
2. The apparatus of claim 1, wherein the scan chain further comprises a plurality of scan chains.
3. The apparatus of claim 2, wherein the input logic further comprises:
- a plurality of input latches, wherein each input latch is control by the first scan clock signal, and wherein each input latch that receives the scan input signal; and
- a plurality of first multiplexers, wherein each first multiplexer has a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of each first multiplexer receives the scan input signal, and wherein the second terminal of each first multiplexer is coupled to at least one of the plurality of the input latch, and wherein the selection terminal of each first multiplexer receives the master control signal, and wherein the output terminal of each first multiplexer is coupled to at least one of the plurality of scan chains.
4. The apparatus of claim 2, wherein the output logic further comprises:
- a plurality of output latches, wherein each output latch is control by a second scan clock signal, and wherein each output latch is coupled to one of the plurality of the scan chains; and
- a plurality of second multiplexers, wherein each second multiplexer has a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of each second multiplexer is coupled to at least one of the plurality of scan chains, and wherein the second terminal of each second multiplexer is coupled to at least one of the plurality of the output latches, and wherein the selection terminal of each second multiplexer receives the master control signal.
5. The apparatus of claim 1, wherein the scan clock generator further comprises:
- a first delay element that receives a clock signal;
- a first inverter that is coupled receives the clock signal;
- a second delay element that is coupled to the first delay element;
- a second inverter that is coupled to the second delay element; and
- a logic gate that is coupled to the first delay element and the second inverter.
6. The apparatus of claim 5, wherein the logic gate is an AND gate.
7. The apparatus of claim 1, wherein the scan clock generator further comprises:
- a first inverter that receives a clock signal;
- a first delay element that receives the clock signal;
- a second delay element that is coupled to the first inverter;
- a first logic gate that is coupled to first inverter and the second delay element; and
- a second logic gate that is coupled to the first delay element and that receives the clocks signal.
8. The apparatus of claim 7, wherein each of the first and second logic gates further comprises an AND gate.
9. The apparatus of claim 1, wherein each scan latch further comprises:
- a first transmission gate that is controlled by a write enable signal;
- a first tristate inverter that is coupled to the first transmission gate and that is controlled by the write enable signal;
- a second tristate inverter that is coupled to first transmission gate and that is controlled by at least one of the first and second latch control signals;
- a third tristate inverter that is coupled to the first and second tristate inverters, wherein the third tristate inverter is controlled by a read enable signal; and
- a third transmission gate that is coupled to the first and second tristate inverters, wherein the third transmission gate is controlled by at least one of the first and second latch control signals.
10. An apparatus comprising:
- a memory array having a plurality of memory cells;
- a scan chain having a plurality of scan latches that are coupled to one another, wherein each of the scan latches is controlled by one of a first latch control signal and a second latch control signal, and wherein the scan chain is coupled to the memory array;
- input logic including: an input latch that is control by a first scan clock signal and that receives a scan input signal; and a first multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of the first multiplexer receives the scan input signal, and wherein the second terminal of the first multiplexer is coupled to the input latch, and wherein the selection terminal of the first multiplexer receives a master control signal, and wherein the output terminal of the first multiplexer is coupled to the scan chain;
- output logic including: an output latch that is control by a second scan clock signal and that is coupled to the scan chain; and a second multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of the second multiplexer is coupled to the scan chain, and wherein the second terminal of the second multiplexer is coupled to the output latch, and wherein the selection terminal of the second multiplexer receives the master control signal;
- a scan clock generator that generates the first and second scan clock signals and that is coupled to the input and output latches; and
- an odd/even generator that generates the first latch control signal and the second latch control signal, wherein the including: a third multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein each of the first and second input terminals of the third multiplexer is coupled to the scan clock generator, and wherein the selection terminal of the third multiplexer receives the master control signal, and wherein the output terminal of the third multiplexer is coupled a first set of scan latches from the scan chain; and a fourth multiplexer having a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein each of the first and second input terminals of the fourth multiplexer is coupled to the scan clock generator, and wherein the selection terminal of the fourth multiplexer receives the master control signal, and wherein the output terminal is coupled of the fourth multiplexer a second set of scan latches from the scan chain;
- a controller that is coupled to the scan chain, the input logic, the output logic, and the odd/even generator;
- a read decoder that is coupled to the memory array; and
- a write decoder that is coupled to the memory array.
11. The apparatus of claim 10, wherein the scan chain further comprises a plurality of scan chains that are each coupled to the memory array.
12. The apparatus of claim 11, wherein the input logic further comprises:
- a plurality of input latches, wherein each input latch is control by the first scan clock signal, and wherein each input latch that receives the scan input signal; and
- a plurality of first multiplexers, wherein each first multiplexer has a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of each first multiplexer receives the scan input signal, and wherein the second terminal of each first multiplexer is coupled to at least one of the plurality of the input latch, and wherein the selection terminal of each first multiplexer receives the master control signal, and wherein the output terminal of each first multiplexer is coupled to at least one of the plurality of scan chains.
13. The apparatus of claim 11, wherein the output logic further comprises:
- a plurality of output latches, wherein each output latch is control by a second scan clock signal, and wherein each output latch is coupled to one of the plurality of the scan chains; and
- a plurality of second multiplexers, wherein each second multiplexer has a first input terminal, a second input terminal, a selection terminal, and an output terminal, wherein the first input terminal of each second multiplexer is coupled to at least one of the plurality of scan chains, and wherein the second terminal of each second multiplexer is coupled to at least one of the plurality of the output latches, and wherein the selection terminal of each second multiplexer receives the master control signal.
14. The apparatus of claim 10, wherein the scan clock generator further comprises:
- a first delay element that receives a clock signal;
- a first inverter that is coupled receives the clock signal;
- a second delay element that is coupled to the first delay element;
- a second inverter that is coupled to the second delay element; and
- a logic gate that is coupled to the first delay element and the second inverter.
15. The apparatus of claim 14, wherein the logic gate is an AND gate.
16. The apparatus of claim 10, wherein the scan clock generator further comprises:
- a first inverter that receives a clock signal;
- a first delay element that receives the clock signal;
- a second delay element that is coupled to the first inverter;
- a first logic gate that is coupled to first inverter and the second delay element; and
- a second logic gate that is coupled to the first delay element and that receives the clocks signal.
17. The apparatus of claim 16, wherein each of the first and second logic gates further comprises an AND gate.
18. The apparatus of claim 10, wherein each scan latch further comprises:
- a first transmission gate that is controlled by a write enable signal;
- a first tristate inverter that is coupled to the first transmission gate and that is controlled by the write enable signal;
- a second tristate inverter that is coupled to first transmission gate and that is controlled by at least one of the first and second latch control signals;
- a third tristate inverter that is coupled to the first and second tristate inverters, wherein the third tristate inverter is controlled by a read enable signal; and
- a third transmission gate that is coupled to the first and second tristate inverters, wherein the third transmission gate is controlled by at least one of the first and second latch control signals.
Type: Application
Filed: Jun 30, 2009
Publication Date: Dec 30, 2010
Patent Grant number: 7908535
Applicant: TEXAS INSTRUMENTS INCORPORATED (Dallas, TX)
Inventors: Charles M. Branch (Dallas, TX), Steven C. Bartling (Plano, TX)
Application Number: 12/495,046
International Classification: G01R 31/3177 (20060101); G06F 11/25 (20060101);