Circuit for testing memory
20220180956 · 2022-06-09
Inventors
Cpc classification
International classification
Abstract
A test circuit for testing a memory is provided. The input of the memory is coupled to a register, and the register is coupled to a logic circuit. The test circuit includes a first test register group, a second test register group, a first multiplexer, and multiple second multiplexers. The first test register group includes at least one test register. The second test register group includes at least one test register. The first multiplexer is coupled between the first test register group and the register. The second multiplexers are coupled between the second test register group and the register.
Claims
1. A test circuit for testing a memory, an input of the memory being coupled to a register, and the register being coupled to a logic circuit, the test circuit comprising: a first test register group, comprising at least one test register; a second test register group, comprising at least one test register; a first multiplexer, coupled between the first test register group and the register; and a plurality of second multiplexers, coupled between the second test register group and the register.
2. The test circuit of claim 1, wherein the second multiplexers output identical bit values.
3. The test circuit of claim 1, wherein the first test register group comprises a first test register, a second test register, a third test register, and a fourth test register that are electrically connected in sequence.
4. The test circuit of claim 3, wherein the first test register, the second test register, the third test register, and the fourth test register store a first bit value, a second bit value, a third bit value, and a fourth bit value, respectively, the first bit value and the second bit value correspond to a write operation of the memory, and the third bit value and the fourth bit value correspond to a read operation of the memory.
5. The test circuit of claim 3, wherein the second test register group comprises a fifth test register, a sixth test register, a seventh test register, and an eighth test register that are electrically connected in sequence.
6. The test circuit of claim 5, wherein the fifth test register, the sixth test register, the seventh test register, and the eighth test register store a first bit value, a second bit value, a third bit value, and a fourth bit value, respectively, the first bit value is different from the second bit value, and the third bit value is different from the fourth bit value.
7. The test circuit of claim 1, wherein the second test register group comprises a first test register, a second test register, a third test register, and a fourth test register that are electrically connected in sequence.
8. The test circuit of claim 7, wherein the first test register, the second test register, the third test register, and the fourth test register store a first bit value, a second bit value, a third bit value, and a fourth bit value, respectively, the first bit value is different from the second bit value, and the third bit value is different from the fourth bit value.
9. The test circuit of claim 1, wherein the first test register group comprises a first test register and a second test register that are electrically connected in sequence, the test circuit further comprising: a first inverter, coupled between an input terminal of the first test register and an output terminal of the second test register.
10. The test circuit of claim 9, wherein the second test register group comprises a third test register, the test circuit further comprising: a second inverter, coupled between an input terminal of the third test register and an output terminal of the third test register.
11. The test circuit of claim 1, wherein the second test register group comprises a target test register, the test circuit further comprising: an inverter, coupled between an input terminal of the target test register and an output terminal of the target test register.
12. The test circuit of claim 1, wherein the first test register group comprises a first test register and a second test register that are electrically connected in sequence.
13. The test circuit of claim 12, wherein the first test register and the second test register store a first bit value and a second bit value, respectively, and the first bit value and the second bit value respectively correspond to a write operation and a read operation of the memory.
14. The test circuit of claim 12, wherein the second test register group comprises a third test register and a fourth test register that are electrically connected in sequence.
15. The test circuit of claim 14, wherein the third test register and the fourth test register store a first bit value and a second bit value, respectively, and the first bit value is identical to the second bit value.
16. The test circuit of claim 1, wherein the second test register group comprises a first test register and a second test register that are electrically connected in sequence.
17. The test circuit of claim 16, wherein the first test register and the second test register store a first bit value and a second bit value, respectively, and the first bit value is identical to the second bit value.
18. The test circuit of claim 1, wherein the first test register group comprises a target test register, the test circuit further comprising: an inverter, coupled between an input terminal of the target test register and an output terminal of the target test register.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0006]
[0007]
[0008]
[0009]
[0010]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0011] The following description is written by referring to terms of this technical field. If any term is defined in this specification, such term should be interpreted accordingly. In addition, the connection between objects or events in the below-described embodiments can be direct or indirect provided that these embodiments are practicable under such connection. Said “indirect” means that an intermediate object or a physical space exists between the objects, or an intermediate event or a time interval exists between the events.
[0012] The disclosure herein includes circuits for testing memories. On account of that some or all elements of the circuits for testing memories could be known, the detail of such elements is omitted provided that such detail has little to do with the features of this disclosure, and that this omission nowhere dissatisfies the specification and enablement requirements. A person having ordinary skill in the art can choose components or steps equivalent to those described in this specification to carry out the present invention, which means that the scope of this invention is not limited to the embodiments in the specification.
[0013]
[0014] In the MBIST mode, a control circuit (not shown) inside or outside the chip uses the mode control signal BIST_MODE to control the multiplexer 150 to select the MBIST circuit 180 and receives the output of the memory 160 through the register 190.
[0015] In the normal operation mode of the chip, the control circuit controls the multiplexer 150 to select the register 140 instead of the MBIST circuit 180 and uses the mode control signal MSM_MODE to control the test circuit 130 to output the output of the logic circuit 120 (i.e., the function signal SF) instead of the test signals which, as will be discussed in detail below, include the write enable signal WE, the memory address ADDR, and the test data DI.
[0016] In the interface test mode, which is aimed to test the aforementioned delay faults, stuck-at faults, or other faults that are present on the paths between the memory 160 and the function registers (i.e., the register 140 and the register 170), the control circuit controls the multiplexer 150 to select the register 140 instead of the MBIST circuit 180, and controls the test circuit 130 to output the test signals instead of the function signal SF.
[0017] In some embodiments, the test circuit 130 is electrically connected to the register 140; in other words, the test circuit 130 is directly connected to the register 140 with no intervening circuits (including but not limited to logic circuits and registers) arranged therebetween.
[0018]
[0019] Reference is made to
[0020] Reference is made to
[0021] In some embodiments, the aforementioned bit value Y and bit value Z can be generated by the aforementioned control circuit (not shown) inside or outside the chip. In other words, the test circuit 130 can be set or controlled by the control circuit. For example, in the scan test, the values of the test registers 212 to 218 and the values of the test registers 262 to 268 can be directly set to logic 1 or logic 0 through the scan chain in the load phase.
[0022] When the control circuit tests the delay fault of the memory 160, the test signals received by the memory 160 (i.e., the write enable signal WE, the test data DI, and the memory address ADDR) are shown in Table 1 below.
TABLE-US-00001 TABLE 1 Period T1 T2 T3 T4 Operation Write Write Read Read WE 1 1 0 0 ADDR first address second address first address second address DI first value second value
[0023] In the period T1, the test circuit 130 outputs 1 as the write enable signal WE, outputs the first address as the memory address ADDR, and outputs the first value as the test data DI; namely, the control circuit writes the first value to the first address of the memory 160. In the period T2, the test circuit 130 outputs 1 as the write enable signal WE, outputs the second address as the memory address ADDR, and outputs the second value as the test data DI; namely, the control circuit writes the second value to the second address of the memory 160. The second address is different from the first address, and the second value is different from the first value. In the period T3, the test circuit 130 outputs 0 as the write enable signal WE and outputs the first address as the memory address ADDR; namely, the control circuit reads the data stored in the first address of the memory 160, and, in this instance, the test data DI can be any value. In the period T4, the test circuit 130 outputs 0 as the write enable signal WE and outputs the second address as the memory address ADDR; namely, the control circuit reads the data stored in the second address of the memory 160, and, in this instance, the test data DI can be any value. When there is no delay fault, the data read by the control circuit in the first and second read operations should present the first value and the second value, respectively. However, when there is a delay fault, at least one bit of the data read by the control circuit in the second read operation presents an incorrect value. The periods T1, T2, T3, and T4 are four consecutive periods of the clock CLK.
[0024] In some embodiments, the contents of the memory address ADDR and the test data DI in Table 1 above are as shown in Table 2 or Table 3 below.
TABLE-US-00002 TABLE 2 Period T1 T2 T3 T4 Operation Write Write Read Read WE 1 1 0 0 ADDR 11 . . . 11 00 . . . 00 11 . . . 11 00 . . . 00 (All 1) (All 0) (All 1) (All 0) DI 11 . . . 11 00 . . . 00 (All 1) (All 0)
TABLE-US-00003 TABLE 3 Period T1 T2 T3 T4 Operation Write Write Read Read WE 1 1 0 0 ADDR 00 . . . 00 11 . . . 11 00 . . . 00 11 . . . 11 (All 0) (All 1) (All 0) (All 1) DI 00 . . . 00 11 . . . 11 (All 0) (All 1)
[0025] In other words, the first address in Table 1 can be one of the greatest address (i.e., all bits of the memory address ADDR being 1, as in Table 2) and the smallest address (i.e., all bits of the memory address ADDR being 0, as in Table 3) of the memory 160, while the second address can be the other. The first value in Table 1 can be the greatest value of the test data DI (i.e., all bits of the test data DI being 1, as in Table 2) and the smallest value of the test data DI (i.e., all bits of the test data DI being 0, as in Table 3), while the second value can be the other. In this way, if there is no delay fault in the circuit, a transition (either from logic 1 (or high level) to logic 0 (or low level), or the opposite) of the output of the register 190 will be observed by the control circuit.
[0026] For the embodiment of Table 2 or Table 3, at a certain moment during the test period, the test register 212, the test register 214, the test register 216, and the test register 218 respectively store the bit values Y1, Y2, Y3, and Y4, of which the bit values Y1 and Y2 correspond to the write operation (e.g., Y1=Y2=1), whereas the bit values Y3 and Y4 correspond to the read operation (e.g., Y3=Y4=0).
[0027] For the embodiment of Table 2 or Table 3, at a certain moment during the test period, the test register 262, the test register 264, the test register 266, and the test register 268 store the bit values Z1, Z2, Z3, and Z4, respectively, of which the bit values Z1 and Z3 correspond to the first address and/or the first value (e.g., Z1=Z3=1 (as in Table 2) or Z1=Z3=0 (as in Table 3)), whereas the bit values Z2 and Z4 correspond to the second address and/or the second value (e.g., Z2=Z4=0 (as in Table 2) or Z2=Z4=1 (as in Table 3)). Because the first address is different from the second address and the first value is different from the second value, the bit value Z1 is different from the bit value Z2, and the bit value Z3 is different from the bit value Z4.
[0028] For the embodiment of Table 2 or Table 3, the circuit of
[0029]
[0030] Reference is made to
[0031] Reference is made to
[0032]
[0033] Reference is made to
[0034] Reference is made to
[0035] When the control circuit tests the stuck-at fault on the paths between the memory 160 and the function registers (i.e., the register 140 and the register 170), the write enable signal WE, the test data DI, and the memory address ADDR that are received by the memory 160 are shown in Table 4 below.
TABLE-US-00004 TABLE 4 Period T1 T2 Operation Write Read WE 1 0 ADDR first address first address DI first value
[0036] In the period T1, the test circuit 130 outputs 1 as the write enable signal WE, outputs the first address as the memory address ADDR, and outputs the first value as the test data DI; that is, the control circuit writes the first value to the first address of the memory 160. In the period T2, the test circuit 130 outputs 0 as the write enable signal WE and outputs the first address as the memory address ADDR; that is, the control circuit reads the data stored in the first address of the memory 160. When there is no stuck-at fault, the data read by the control circuit should present the first value. However, when there is a stuck-at fault, at least one bit of the data read by the control circuit presents an incorrect value. The periods T1 and T2 are two consecutive periods of the clock CLK.
[0037] In some embodiments, the contents of the memory address ADDR and the test data DI in Table 4 above are as shown in Table 5 or Table 6 below.
TABLE-US-00005 TABLE 5 Period T1 T2 Operation Write Read WE 1 0 ADDR 11 . . . 11 11 . . . 11 (All 1) (All 1) DI 11 . . . 11 (All 1)
TABLE-US-00006 TABLE 6 Period T1 T2 Operation Write Read WE 1 0 ADDR 00 . . . 00 00 . . . 00 (All 0) (All 0) DI 00 . . . 00 (All 0)
[0038] In other words, the first address in Table 4 can be the greatest address (as in Table 5) or the smallest address (as in Table 6) of memory 160, and the first value in Table 4 can be the greatest value of the test data DI (as in Table 5) or the smallest value of the test data DI (as in Table 6).
[0039] For the embodiment of Table 5 or Table 6, at a certain moment during the test, the test register 412 and the test register 414 store the bit values Y1 and Y2, respectively, of which the bit value Y1 corresponds to the write operation (e.g., Y1=1), whereas the bit value Y2 corresponds to the read operation (e.g., Y2=0).
[0040] For the embodiment of Table 5 or Table 6, at a certain moment during the test, the test register 462 and the test register 464 respectively store the bit values Z1 and Z2, of which the bit value Z1 corresponds to the first address and/or the first value (e.g., Z1=1 (as in Table 5), or Z1=0 (as in Table 6)), and the bit value Z2 corresponds to the first address (e.g., Z2=1 (as in Table 5), or Z2=0 (as in Table 6)). Because the first address is the same as the second address, the bit value Z1 is identical to the bit value Z2.
[0041] For the embodiment of Table 5 or Table 6, the circuit of
[0042]
[0043] Reference is made to
[0044] Reference is made to
[0045] The test circuit of the present invention is quite simple. Since the test signals (including the write enable signal WE, the memory address ADDR, and the test data DI) that the test circuit provides to the memory do not pass through the logic circuit, the test circuit of the present invention has the following advantages: low test vector complexity, high control over the memory, fast generation of the test vectors, simple test vectors, and high test coverage.
[0046] The shape, size, and ratio of any element in the disclosed figures are exemplary for understanding, not for limiting the scope of this invention.
[0047] The aforementioned descriptions represent merely the preferred embodiments of the present invention, without any intention to limit the scope of the present invention thereto. Various equivalent changes, alterations, or modifications based on the claims of the present invention are all consequently viewed as being embraced by the scope of the present invention.