The field of the invention generally relates to semiconductor devices and more particularly to methods and systems for testing a semiconductor device.
Integrated circuit (IC) devices, such as memory controllers and memory devices, typically transmit and receive information synchronous with clock signals. For example, transitions of a clock signal indicate that valid information is available on a signal line or set of signal lines coupled to an IC device. Thus, IC devices operate under the constraints of a set of timing parameters so that information transfer may be synchronized according to the clock signals.
For example, an IC device typically has a specified input setup time (tS) and input hold time (tH). Input data should be present and stable on the device input pins from at least to before a corresponding clock transition and until at least tH after the clock transition for proper operation. Also, the IC device typically has a specified minimum propagation time from clock to output (tCKQ). Output data is valid on the output pins of the device at least tCKQ after the clock transition and should remain valid until a time tV after a next clock transition.
The input and output timing parameters of an IC device typically need to be tested to ensure proper operation of the device in a high speed system. To test an IC device, test equipment accesses the input and output pins of the IC device. Such access may be difficult when the IC device is directly attached to another IC device. For example, an IC memory device may be directly attached to an IC memory controller device such that neither the pins of the memory device nor the pins of the controller device are accessible to test equipment. It would be desirable, therefore, that IC devices in a directly attached configuration are designed to allow their input and output parameters be tested.
Die 15 includes a synchronous element 22 that samples a data signal Dtx on edges of a clock signal TCK to convey data DQ to die 20. Transmit clock signal TCK is a delayed version of a clock signal CK that is shared with die 20. Clock signal CK is a buffered version of a locally generated clock signal Clock in this example, but the clock signal can be sourced elsewhere. Die 15 also includes a test signal generator 24, test-signal wires 26, and gating transistors 28 and 29 that collectively allow die 115 to alter the timing of clock signal TCK and data DQ in support of tests procedures detailed below.
Test signal generator 24 is integrated on die 15, but can be on e.g. die 20 or can be external to system 100. Test signal wires 26 are length and load matched, which may be accomplished via inclusion of suitable capacitors 30. Test signal wires 26 communicate test signals ETDQ and ETCK to selectively enable transistors 28 and 29, and thus sample respective data and clock signals TDQ and CK. The sampled signal levels are held on capacitances 31 and 33, which may be parasitic. Signal generator 24 can carefully time the delay between timing events (edges) on signals ETDQ and ETCK, and the matched wires 26 preserve this delay at transistors 28 and 29. Test signals ETDQ and ETCK can therefore precisely adjust the relative delays of signals DQ and TCK without impacting e.g. global clock signal Clock or the timing of data signal Dtx. These timing adjustments can be used to test various parameters of e.g. sequential element 22, as detailed below.
Die 20 receives data signal DQ and clock signal CK from die 15. Die 20 additionally receives a pair of test signals ERDQ and ERCK from test signal generator 24. Test signals ERDQ and ERCK are conveyed to respective gating transistors 37 and 39 via a pair of test-signal wires 41 so that test signals ERDQ and ERCK can selectively alter the timing of a receive data signal RDQ and a receive clock signal RCK to a sequential element 43. The sampled signal levels are held on capacitances 45 and 47, which may be parasitic, and the held levels are provided to element 43 via data and clock buffers 49 and 51. Test signal wires 41 are length and load matched, which may be accomplished via inclusion of suitable capacitors 53.
Test signal wires 41 communicate test signals ERDQ and ERCK to the respective gating transistors 37 and 39 to sample signals DQ and CK. Signal generator 24 can carefully time the delay between timing events (edges) on signals ERDQ and ERCK, and the matched wires 41 preserve this delay at transistors 37 and 39. Test signals ERDQ and ERCK can therefore precisely adjust the relative delays of the delayed data and clock signals RDQ and RCK. These timing adjustments can be used to test various parameters of e.g. sequential element 43.
With reference to
Test signal generator 24 of
Referring to
In one embodiment, the memory controller 102 is communicatively coupled to the memory device 104 using a proximity coupling technology. In one embodiment, the memory controller 102 includes terminals or contact pads C1, C2 that are communicatively coupled to terminals and contact pads M1, M2 of the memory device 104 using a direct-connect technology. In many cases, the memory controller 102 is disposed on a first silicon die and the memory device 104 is disposed on a second silicon die. Direct-connect technology allows for the direct coupling of the first silicon die to the second silicon die via their respective contact pads without the use of a package substrate in between. In one embodiment, the direct-connect technology used to communicatively couple the first silicon die to the second silicon die is a through-silicon-via (TSV) technology. In one embodiment, the direct-connect technology used to communicatively couple the first silicon die to the second silicon die is a direct-attach face-to-face coupling technology. While a number of different coupling technologies for communicatively coupling the memory controller 102 to the memory device 104 have been described, alternative coupling technologies may be used.
The memory system 100 further includes a global clock circuit 106. In one embodiment, the global clock circuit 106 is disposed within the memory system 100 but not at the memory controller 102. In one embodiment, the global clock circuit 106 is disposed at the memory controller 102 (as shown in
The memory controller 102 generally includes a controller interface circuit 111 and a controller logic domain 112. The controller interface circuit 111 includes a controller clock interface 114, command/address (CA) data transmit (TX) interfaces 116C, and read/write data interfaces 132. Each CA data TX interface is coupled to a respective one of the contact pads Cl, which in turn is coupled to one of a plurality of conductors in a unidirectional CA bus 120. Each read/write data interface 132 includes a write data transmit (TX) interface 116A and a read data receive (RX) interface 118A, which are both coupled to a respective one of the contact pads C1, which in turn is coupled to one of a plurality of conductors in a bidirectional data (DQ) bus 123.
The controller clock interface 114 receives the clock signal CK from the global clock circuit 106 and generates a controller clock signal CCK. The memory controller 102 generally performs controller operations at the memory controller 102 based on the controller clock signal CCK.
The CA data transmit interface 116C receives CA data from the controller logic domain 112 and transmits the received CA data to the memory device 104 via the unidirectional CA bus 120. Examples of CA data include, but are not limited to, read and/or write commands, read and/or write addresses, mask information and maintenance operation commands.
The read data receive interface 118A receives read data from the memory device 104 via the bidirectional read/write data bus 123 and transmits the received read data to the controller logic domain 112. The write data transmit interface 1166 receives write data from the controller logic domain 112 and transmits the received write data to the memory device 104 via the bidirectional data bus 123.
The memory device 104 generally includes a memory interface 121 and a memory core 122. The memory interface 121 includes a memory clock interface 124, command/address (CA) data receive (RX) interfaces 118C, and read/write data interfaces 134. Each of the read/write interfaces 134 is coupled to a respective pad Ml, which is coupled to a respective conductor of the data bus 123 and includes a read data transmit (TX) interface 116B and a write data receive (RX) interface 1186.
The memory core 122 includes memory cells for storing information. The memory clock interface 124 receives the clock signal CK from the global clock circuit 106 and generates a memory clock signal MCK. The memory device 104 generally performs memory operations based on memory clock signal MCK.
Each CA data receive interface 118C is coupled to a respective pad M1, which is coupled to a respective conductor of the CA bus 120. The CA data receive interfaces 1186 receive CA data from the memory controller 102 via the unidirectional CA data bus 120 and initiate memory operations at the memory device 104 based on the received CA data. The read data transmit interface 116C receives read data from the memory core 122 and transmits the received read data to the memory controller 102 via the bidirectional read/write data bus 123. The write receive interface 118B receives write data from the memory controller 102 via the bidirectional read/write data bus 123 and sends the received write data to the memory core 122 for storage.
The test signal generator Te is communicatively coupled to the memory controller 102 and to the memory device 104. In one embodiment, the test signal generator 108 is disposed within the memory system 100 but not at the memory controller 102. In one embodiment, the test signal generator 108 is disposed at the memory controller 102 within the memory system 100 (as shown in
The data transmit interfaces and/or data receive interfaces in the system 100 operate in accordance with a set of pre-defined timing parameters. The data transmit interfaces at the semiconductor devices 102 or 104 operate in accordance with device specific data transmit timing parameters. Examples of the data transmit timing parameters include, but are not limited to, a data output time tQ and a data valid time tV, which are discussed in more detail below. The data receive interfaces at the semiconductor devices 102 or 104 operate in accordance with device specific data receive timing parameters. Examples of the data receive timing parameters include, but are not limited to, a data set time is and a data hold time tH, which are discussed in more detail below.
The test signal generator 108 provides for the testing of individual semiconductor devices, such as the memory controller 102 and the memory device 104, to determine whether the semiconductor device is operating within the timing margins defined by the device specific timing parameters. When a semiconductor device is selected for testing, the test signal generator 108 generates test signals for individually testing the one or more data transmit interfaces and/or the one or more data receive interfaces at the semiconductor device to determine if they are operating in accordance with the device specific timing parameters.
More specifically, when the memory controller 102 is selected for testing, the test signal generator 108 can be used to individually or concurrently test the data transmit interfaces 116A, 116C to determine whether each of the data transmit interfaces 116A, 116C is operating in accordance with a few controller test parameters, such as a controller register data output time tQ0, a controller data output time tQ, and a controller data valid time tV. The test signal generator 108 can also be used to test each data receive interface 118A to determine whether the data receive interface 118A is operating in accordance with a controller data set time tS and a controller data hold time tH.
When the memory device 104 is selected for testing, the test signal generator can be used to test each data transmit interface 116C to determine whether the data transmit interface 116C is operating in accordance with a few memory test parameters, such as a memory register data output time tM/Q0, a memory data output time tM/Q, and a memory data valid time tM/V. The test signal generator 108 can also be used to individually test the data receive interfaces 118B, 118C to determine whether each of the data receive interfaces 1186, 118C is operating in accordance with a memory data set time tM/S and a memory data hold time tM/H. For ease of discussion, the memory register data output time tM/Q0, the memory data output time tM/Q, the memory data valid time tM/V, the memory data set time tM/S and the memory data hold time tM/H are also referred to below as tQ0, tQ, tV, tS and tH, respectively, although they can be equal to or different in values from the corresponding parameters associated with the controller 102. In general, the same letter(s) or symbol(s) may be used herein to represent a parameter or value associated with the memory controller 102 as well as a corresponding parameter or value associated with the memory device 104 without implying that these parameters or values are the same parameter or equal to each other in value.
The global clock circuit 106 can be a conventional global clock circuit, which may include a clock signal generator and a clock signal buffer (not shown). The global clock circuit 106 outputs a clock signal TCK to the test signal generator 108 and a clock signal CK to the interface circuits in the system 100.
In one embodiment, the frequency of the clock signal generated in the global clock circuit 106 when a semiconductor device within the memory system 100 is selected for testing is approximately equal to the frequency of the clock signal generated in the global clock circuit 106 when the memory system 100 is in normal operation. In one embodiment, the frequency of the clock signal generated in the global clock circuit 106 during testing is relatively lower than the frequency of the clock signal generated in the global clock circuit 106 during normal operation.
Referring to
wire bonds 199 in lieu of TSVs.
Referring to
The controller test signal generator 202 includes test signal generating modules 210A-210D that receive the clock signal TCK and generate test signals ECT1, ECT2, ECR1 and ECCK, respectively. The memory test signal generator 204 includes test signal generating modules 210E-210H that receive the clock signal TCK and generate test signals EMR1, EMR2, EMT1 and EMCK, respectively. Each of the test signal generating modules 210A-210H is sometimes referred to as the test signal generating module 210.
Test signal ECCK is transmitted to the controller clock interface 114 by the controller test signal generator 202. Test signals ECT1, ECT2 are transmitted to the CA data transmit interface 116C and the write data transmit interface 116A, respectively, by the controller test signal generator 202. Test signal ECR1 is transmitted to the read data receive interface 118A by the controller test signal generator 202.
Test signal EMCK is transmitted to the memory clock interface 124 by the memory test signal generator 204. Test signals EMR1, EMR2 are transmitted to the CA data receive interface 118C and the write data receive interface 1186, respectively, by the memory test signal generator 204. Test signal EMT1 is transmitted to the read data transmit interface 1166 by the memory test signal generator 204.
During non-test mode, e.g., normal operation, all of the test signals EXXX are held asserted (enabled) thereby allowing respective components controlled by the test signals to pass data or clock signals received by the components. When one or more interface circuits in the memory controller 102 or the memory device 104 are selected for testing with respect to one or more associated timing parameters, a subset of the test signals output from the test signal generator 108 would include timing events created based on the one or more associated timing parameters while the rest of the test signals are kept asserted or enabled.
Referring to
Referring to
Referring to
In the memory controller, the controller clock interface 114 includes a controller clock latch 402 and a controller clock buffer 404. Each write data transmit interface 116A includes a data transmit register 408A, a data transmit latch 410A and a data transmitter 412A. Each read data receive interface 118A includes a data receive latch 416A, a data receiver 418A and a data receive register 420A. The CA data transmit interfaces 116C (not shown in
In the memory device, the memory clock interface 124 includes a memory clock latch 422 and a memory clock buffer 424. Each read data transmit interface 1166 includes a data transmit register 408B, a data transmit latch 410B and a data transmitter 412B. Each write data receive interface 118B includes a data receive latch 416B, a data receiver 4186 and a data receive register 420B. The CA data receive interfaces 118C (not shown in
Referring to
The memory device 104 includes pairs of test-signal-wire 522, 524, and 526. The pairs of test-signal-wire 522, 524, and 526 constitute first portions of the test-signal-wires for communicating the test signals EMCK, EMT1, or EMR2 to the latches 422, 410B, and 416B in the memory device 104. The test-signal-wires for communicating the test signals EMCK, EMT1, or ECR2 to the latches 422, 410B, and 416B in the memory device 104 also includes second portions 530 in the memory device 104 and third portions 540 external to the memory device 104 between test pins C3 of the memory controller 102 and test pins M3 of the memory device 104. The memory device 104 further includes test signal buffers 504 coupled between the first portions and second portions of the test-signal-wires for communicating the test signals EMCK, EMT1, or ECR2 to the latches 422, 410B, and 416B in the memory device 104. In one embodiment, the entire test-signal-wires for communicating the test signals EMCK, EMT1, or ECR2 to the latches 422, 410B, and 416B in the memory device 104 are length and load matched. The Memory device 104 further includes load matching capacitors 510 to facilitate load matching the test-signal-wires for communicating the test signals EMCK, EMT1, or ECR2 to the latches 422, 410B, and 416B in the memory device 104.
The length and load matching of the test-signal-wires are important as it improves the accuracy of delays between data and timing signals created by the test signals, as discussed below. For example, each of the ECCK test-wires 516 is coupled to the latch 402 in the clock interface 114, but the ECR1 and ECT2 test-wires 514 and 516 are not coupled to any latches in the clock interface 114. So, each of the test-wires 514 and 516 is coupled to a capacitor whose loading is matched (at least approximately) to that of the latch 402. The same kind of matching is implemented in the 132, 124, and 134 interfaces.
As discussed above, the test-signal-wires for communicating the test signals EMCK, EMT1, or ECR2 to the latches 422, 410B, and 416B in the memory device 104 include portions both internal and external to the memory device 104. The load and length matching is for these test-signal-wires is implemented based on the entirety of the test-signal-wires, including the portions internal and external to the memory device 104.
In one embodiment, each test signal buffer 502 or 504 has one input coupled to receive a respective test signal and two outputs, a positive output and a negative output. Each pair of test-signal-wires includes a negative test-signal-wire and a positive test-signal-wire coupled to respective ones of the outputs of a respective test signal buffer 502 or 504. In one embodiment, each latch (such as latch 402) includes a PMOS pass device with its gate connected to a negative test-signal-wire of a test-signal-wire pair (such as the 512 wire-pair), and a NMOS pass device with its gate connected to a positive test-signal-wire of a test-signal-wire pair (such as the 512 wire-pair).
When a test signal (such as the ECCK) is enabled, the positive output of the respective test signal buffer is high, and the negative output is low. In this case, the signal on an input of a respective latch (such as latch 402) is passed through to its output. On the contrary, when the test signal is disabled, the positive output of the respective test signal buffer is low, and the negative output is high. In this case, the signal on an input of a respective latch (such as latch 402) is blocked, and the signal on its output is simply the last value it drove while enabled.
To help perform the above latching function, each latch 402, 422, 410A, 416A, 410B, or 416B further includes a capacitor 520. The capacitance of the capacitor 520 does not need to be large, since it only needs to hold the latch output for a short time (10′s of nanoseconds, for example).
The dynamic CMOS pass gates are used to implement the latches 402, 422, 410A, 416A, 410B, and 416B because the incremental timing delay they add to the interfaces 114 and 124 and the interfaces 132 and 134 is small, but the latches 402, 422, 410A, 416A, 410B, and 416B can also be implemented using other components with similar latching functions.
Referring to
The controller clock buffer 404 receives the preliminary controller clock signal CCK0 and transmits it as the controller clock signal CCK to the other interface circuits, including the write data transmit interface 116A. The controller clock buffer 404 adds a controller clock buffer delay tCBD to the preliminary controller clock signal CCK0 as the preliminary controller clock signal CCK0 is processed by the controller clock buffer 404, so the controller clock signal CCK is delayed from the preliminary controller clock signal CCK0 by a delay amount TCBD, as illustrated in
The write data transmit interface 116A receives write data W1 having a data valid time 610 from the controller logic domain and the controller clock signal CCK from the controller clock interface 114. The data transmit register 408A holds the received write data W1 and transmits the write data as write data W2 having a data valid time 620 in response to the controller clock signal CCK. In one embodiment, the data transmit register 408A transmits the write data W2 in response to the rising edge 608 of the controller clock signal CCK. Alternatively, the data transmit register 408A may transmit the write data W2 in response to a falling edge of the controller clock signal CCK (not shown). The data transmit register 408A adds a controller clock-to-output delay tCCKQ to the write data so the start of the data valid time 620 associated with the write data W2 is delayed from the rising edge 608 of the controller clock CCK by the delay amount tCCKQ, as shown in
The data transmit latch 410A receives the write data W2 from the data transmit register 408A and the test signal ECR1 from the test signal generator 108. The test signal ECT2 is at a constant logic level during normal operation, thereby enabling the data transmit latch 410A to pass the write data. In one embodiment, the constant logic level is a logic high value. In one embodiment, the constant logic level is a logic low value (not shown). The enabled data transmit latch 410A allows the write data W2 to pass the data transmit latch 410A and be transmitted as write data W3 having a data valid time 630. The data transmit latch 410A adds a controller pass-gate delay tCPD2 to the write data as the write data passes through the data transmit latch 410A, so write data W3 is delayed from write data W2 by a delay amount tCPD2, as shown in
The data transmitter 412A receives the write data W3 from the data transmit latch 410A and transmits the write data as write data W4 having a data valid time 640 to the memory device 104. The data transmitter 412A adds a controller transmitter or driver delay too to the write data, so write data W4 is delayed from the write data W3 by a delay amount too, as illustrated in
Referring to
The memory clock buffer 424 receives the preliminary memory clock signal MCK0 and transmits the memory clock signal MCK. The memory clock buffer 424 adds a memory clock buffer delay tMBD to the preliminary memory clock signal MCK0 as the preliminary memory clock signal MCK0 is processed by the memory clock buffer 424 and transmitted as the memory clock signal MCK. The memory clock buffer 424 transmits the memory clock signal MCK to the other interface circuits, such as the data receive interface 118B.
In the data receive interface 118B, the data receive latch 416B receives the write data W4 from the memory controller 102 and the test signal EMR1 from the test signal generator 108. The test signal EMR1 is at a constant logic value (e.g., a logic high or logic low value) during normal operation, enabling the data receive latch 4166 to transfer the data signal W4. The enabled data receive latch 416B adds a memory pass-gate delay tMPD2 to the write data W4 as the write data W4 passes through the data receive latch 416B and is transmitted as the write data W5. So, the start of a data valid time 650 of the write data W5 is delayed from the start of the data valid time 640 of the write data W4. The data receive latch 416B transmits the write data W5 to the data receiver 418B.
The data receiver 418B adds a memory receiver delay tMRD to the write data W5 as the write data W5 passes through the data receiver 420B and is transmitted as the write data W6 to the data receive register 420B. So, the start of a data valid time 660 of the write data W6 is delayed from the start of the data valid time 650 of the write data W5.
The data receive register 420B receives write data W6 from the data receiver 418B and the memory clock signal MCK from the memory clock interface 124. The write data W6 is held by the data receive register 420B and is transmitted as write data W7 in response to the memory clock signal MCK. In one embodiment, the data receive register 420B transmits the write data W7 in response to a falling edge 642 of the memory clock signal MCK. The data receive register 420B adds a memory clock-to-output delay tMCKQ to the write data W7, resulting in the start of a data valid time 670 of the write data W7 being delayed from the falling edge 642 of the clock signal MCK by the delay amount tMCKQ. The data receive register 420B transmits the write data W7 to the memory core 122.
Referring to
The memory clock buffer 424 receives the preliminary memory clock signal MCK0 and transmits the memory clock signal MCK. The memory clock buffer 424 adds a memory clock buffer delay tMBD to the preliminary memory clock signal MCK0 as the preliminary memory clock signal MCK0 is processed by the memory clock buffer 424 and transmitted as the memory clock signal MCK. The memory clock buffer 424 transmits the memory clock signal MCK to the other interface circuits, such as the data transmit interface 116B.
In the data transmit interface 116B, the data transmit register 408B receives read data R1 from the memory core 122 and the memory clock signal MCK from the memory clock interface 124. The read data R1 is held by data transmit register 408B and is transmitted as read data R2 in response to the memory clock signal MCK. In one embodiment, the data transmit register 408 transmits the data R2 in response to a rising edge 609 of the memory clock signal MCK. Alternatively, the data transmit register 408B transmits the data R2 in response to a falling edge of the memory clock signal MCK (not shown). The data transmit register 408B adds a memory clock-to-output delay tMCKQT to the read data R2. So, the start of a data valid time 621 of the read data R2 is delayed from the rising edge 609 of the clock signal MCK by the delay amount tMCKQT, as shown in
The data transmit latch 410B receives the read data R2 from the data transmit register 408B and the test signal EMT1 from the test signal generator 108. The test signal EMT1 is at a constant value (e.g., a logic high value or a logic low value) during normal operation of the memory system 100 thereby enabling the data transmit latch 410B to transfer the read data. The enabled data transmit latch 410B adds a memory pass-gate delay tMPD3 to the read data as the read data passes through the data transmit latch 410B and is transmitted as read data R3. So, the data valid time 631 of the read data R3 is delayed from the data valid time 621 of read data R2 by the delay amount tMPD3, as shown in
The data transmitter 412B receives the read data R3 from the data transmit latch 410B and transmits the read data to the memory controller 102 as read data R4. The data transmitter 412B adds a memory transmitter delay tMTD to the read data as the data R3 passes through the data transmitter 412B. So, the data valid time 641 of the read data R4 is delayed from the data valid time 631 of read data R3 by the delay amount tMTD, as shown in
Still referring to
The controller clock buffer 404 receives the preliminary controller clock signal CCK0 and transmits it as the controller clock signal CCK to the other interface circuits, including the read data receive interface 118A. The controller clock buffer 404 adds a controller clock buffer delay tCBD to the preliminary controller clock signal CCK0 as the preliminary controller clock signal CCK0 is processed by the controller clock buffer 404, so the controller clock signal CCK is delayed from the preliminary controller clock signal CCK0 by a delay amount tCBD, as illustrated in
In the read data receive interface 118A, the data receive latch 416A receives the read data R4 from the memory device 104 and the test signal ECR1 from the test signal generator 108. The test signal ECR1 is a signal of constant value (e.g., a logic high or low value) during normal operation thereby enabling the data receive latch 416A to transfer the read data. The enabled data receive latch 416A adds a controller pass-gate delay tCPD3 to the read data R4 as the read data passes through the data receive latch 416A and is transmitted as read data R5. So, the data valid time 651 of the read data R5 is delayed from the data valid time 641 of read data R4 by the delay amount tCPD3, as shown in
The data receiver 418A receives the read data R5 from the data receive latch 416A and transmits the read data R5 to the data receive register 420A. The data receiver 418A adds a controller receiver delay tRD to the data R5 as the data R5 passes through the data receiver 418A and is transmitted as read data R6 to the data receive register 420A. So, the data valid time 661 of the read data R6 is delayed from the data valid time 651 of read data R5 by the delay amount tRD, as shown in
The data receive register 420A receives the read data R6 from the data receiver 418A and the controller clock signal CCK from the controller clock interface 114. The read data R6 is held by the data receive register 420A and is transmits by the data receive register 420A as read data R7 in response to the controller clock signal CCK. In one embodiment, the data receive register 420 transmits the data R7 in response to the falling edge 645 of the controller clock signal CCK. Alternatively, the data receive register 420 transmits the data R7 in response to a rising edge or the controller clock signal CCK (not shown). The data receive register 420A adds a controller clock-to-output delay tCCKQR to the data R7. So, the start of the data valid time 64 of the read data R7 is delayed from the falling edge 645 of the clock signal CCK by the delay amount tCCKQR, as shown in
As stated above, the data transmit interfaces and/or data receive interfaces in the system 100 operate in accordance with a set of pre-defined timing parameters. For example, a pre-defined controller register output parameter tQ0/max defines a maximum for the time interval tQ0 between the rising edge 602 of the clock signal CK and the start of the data valid time 620 associated with the write data W2, i.e.:
t
CPD1
+t
CBD
+t
CCKQ
≤t
Q0/max Equation (1a)
Additionally, a pre-defined controller data output parameter tQ/max defines a maximum for the time interval tQ between the rising edge 602 of the clock signal CK and the start of the data valid time 640 associated with the write data W4, i.e.,:
t
CPD1
+t
CBD
+t
CCKQ
+t
CPD2
+t
DD
≤t
Q/max Equation (1b)
In other words, the data transmit circuit 406 will not operating within the timing margin defined by the controller data output time tQ/max if the sum of the component delays tPD, tBD, tCKQ, tPD, and tDD is longer than the value of the predefined controller data output time tQ/max.
Additionally, a pre-defined controller data set time parameter tS/min defines a minimum for a period of time is from the start of the data valid time 64 of the write data W4 and the falling edge 604 in the clock signal CK, as shown in
t
RS
+t
MRD
+t
MPD2
−t
MBD
−t
MPD1
≥t
S/min Equation (2)
Additionally, a pre-defined controller data hold time parameter tH/min defines a minimum for a period of time tH from the falling edge 604 in the clock signal CK to the end of the data valid time 640 of the write data W4, as shown in
t
RH
+t
MBD
+t
MPD2
−t
RD
−t
MPD1
≥t
H/min Equation (3)
Additionally, a pre-defined controller data valid parameter tV/min defines a minimum for a period of time tV that the write data W4 remains valid during the next clock cycle, as shown in
t
CPD1
+t
CBD
+t
CCKQ
+t
CPD2
+t
DD
≥t
V/min Equation (4)
where tS/Actual is the time interval between the next falling edge 605 in the clock signal CK and the end of the data valid time 641 of the write data W4 and, as shown in
As shown in
When one component of the memory system 100, such as for example the memory controller 102, has been selected for testing, the remaining components of the memory system 100 may operate in non-test mode or normal operating mode. In one embodiment, the timing related to the testing of a particular timing parameter for one component of the memory system 100 may be tightened while normal timing (or even relaxed timing) is used for the other component. This way, each timing path can be measured or tested separately. More relaxed timing can be forced by increasing the clock cycle time, except for the timing path(s) under test or measurement, which is put under the control of the respective test signals, one or more of which may be scanned until the timing path(s) fails in order to determine a margin by with the timing path(s) meets a certain test criterion, as discussed in more detail below.
The memory controller 102 includes two data transmit interfaces: the write data transmit interface 116A and the CA data transmit interface 116C. When the memory controller 102 is selected for testing, the write data transmit interface 116A and the CA data transmit interface 116C can be tested individually.
The data transmit interface 116C at the memory controller 102 and the read data transmit interface 116B at the memory device 104 can be tested in a similar manner as the write data transmit interface 116A, and vice versa. Therefore, the testing of the write data transmit interface 116A or the read transmit interface 1166 is described herein as an example of the testing of data transmit interfaces 116 in the memory system 100. Similarly, the testing of the read data receive interface 118A or the write data receive interface 118B is described herein as an example of the testing of data transmit interfaces 118 in the memory system 100.
Furthermore, the data transmit interfaces 116 in all of the bit slice interfaces 132 may be tested concurrently. The following description will detail the testing of one of the write data transmit interfaces 116A with the understanding that all of the write data transmit interfaces 116A at the memory controller 102 may be tested individually or concurrently in a similar manner. Same is true for the data receive interfaces 118.
In the embodiments discussed herein, write data is transmitted on a rising edge of the controller clock CCK and is received on a falling edge of the memory clock MCK, while read data is transmitted on a rising MCK edge and received on a falling CCK edge. In other embodiments, write data is transmitted on a rising CCK edge and is received on a rising MCK edge, while read data is transmitted on a rising MCK edge and received on a rising CCK edge. In still other embodiments, write data is transmitted on both rising and falling CCK edges and is received on both rising and falling MCK edges, while read data is transmitted on both rising and falling MCK edges and is received on both rising and falling CCK edges.
Referring to
The controller clock buffer 404 receives the clock signal CCK0 and transmits it as clock signal CCK (controller clock signal) to the other interface circuits in the controller 102, including the write data transmit interface 116A. The controller clock buffer 404 adds a controller clock buffer delay tCBD to the preliminary clock signal CCK0, so the controller clock signal CCK is delayed from the clock signal CCK0 by a delay amount tCBD, as illustrated in
The write data transmit interface 116A receives write data W1 having a data valid time 710 from the controller logic domain and the controller clock signal CCK from the controller clock interface 114. The data transmit register 408A holds the received write data W1 and transmits the write data as write data W2 having a data valid time 720 in response to the controller clock signal CCK. In one embodiment, the data transmit register 408A transmits the write data W2 in response to a rising edge (e.g., the rising edge 708) of the controller clock signal CCK. The data transmit register 408A adds a controller clock-to-output delay tCCKQ to the write data so the start of the data valid time 720 associated with the write data W2 is delayed from the rising edge 708 of the controller clock CCK by the delay amount tCCKQ, as shown in
The data transmit latch 410A receives the write data W2 from the data transmit register 408A and the test signal ECT2 from the test signal generator 108. The test signal ECT2 defines a plurality of timing events, including a second timing event 792, which is delayed from the rising edge 702 of the clock signal CK by an amount of time tCT2/TestDelay, as shown in
In one embodiment, to test whether Equation (1a) is valid, the time interval Δt1=tCT2/TestDelay−tCCK/TestDelay between the first and second timing events 791 and 792 is set to be the data sheet parameter tQ0/max. If tQ0 is smaller than tQ0/max by possibly some margin (i.e., the controller interface 116A meets the criteria of Equation (1a)), information conveyed during the data valid time 720 in the write data W2 would be transferred by the data transmit latch 410A in response to the timing event 792, as shown in
The data transmitter 412A receives the write data W3 from the data transmit latch 410A and transmits the write data as write data W4 having a data valid time 740 to the memory device 104. The data transmitter 412A adds a controller transmitter delay too to the write data, so write data W4 is delayed from the write data W3 by a delay amount too, as illustrated in
The test signals sent to the memory device 104 from the test signal generator are held asserted during this test. Therefore, the write data receive interface 1186 should receive the write data W4 and process the write data similarly as discussed above with reference to
In the data receive interface 118B, the data receive latch 416B receives the write data W4 from the memory controller 102 and adds a memory pass-gate delay tMPD2 to the write data W4 as the write data W4 passes through the data receive latch 416B and is transmitted as the write data W5, with a data valid time 750. The data receiver 418B adds a memory receiver delay tRD to the write data W5 as the write data W5 passes through the data receiver 420B and is transmitted as the write data W6 (with a data valid time 760) to the data receive register 420B. The data receive register 420B receives write data W6 from the data receiver 4186 and the memory clock signal MCK from the memory clock interface 124. The write data W6 is held by the data receive register 420B and is transmitted as write data W7 (with a data valid time 770) in response to falling edge 744 of the memory clock signal MCK. The data receive register 420B transmits the write data W7 to the memory core 122.
Thus, in one embodiment, whether the controller interface 116A meets the criteria of Equation (1a), is determined by whether the write data W7 output by register 420B to the memory core 122 in response to the falling edge 744 of the clock signal MCK includes the same information carried by the write data W1 during the data valid time 710.
In one embodiment, after determining that tQ0 is equal to or smaller than tQ0/max, the “margin” by which tQ0 is smaller than tQ0/max can be determined by sweeping the second timing event 792, starting from a position where Δt1 is equal to (or larger than) tQ0 and moving toward the beginning 721 of the data valid time 720 of the write data W2. When the second timing event 792 moves past the data valid time 720 of the write data W2, the data transmit latch 410A stops transferring information carried by the write data W2 during the data valid time 720 in response to the second timing event and Δt1 at this point should be equal to tQ/0=tPD+tBD+tCKQ, as shown in
Referring to
The controller clock buffer 404 receives the clock signal CCK0 and transmits it as clock signal CCK (controller clock signal) to the other interface circuits, including the write data transmit interface 116A. The controller clock buffer 404 adds a controller clock buffer delay tCBD to the preliminary clock signal CCK0 as the clock signal CCK0 is processed by the controller clock buffer 404, so the controller clock signal CCK is delayed from the clock signal CCK0 by a delay amount tCBD, as illustrated in
The write data transmit interface 116A receives write data W1 from the controller logic domain and the controller clock signal CCK from the controller clock interface 114. The data transmit register 408A holds the received write data W1, which has a data valid time 810, and transmits the write data as write data W2 having a data valid time 820 in response to the controller clock signal CCK. In one embodiment, the data transmit register 408A transmits the write data W2 in response to a rising edge (e.g., the rising edge 808) or a falling edge (not shown) of the controller clock signal CCK. The data transmit register 408A adds a controller clock-to-output delay tCCKQ to the write data so the start of the data valid time 820 associated with the write data W2 is delayed from the rising edge 808 of the controller clock CCK by the delay amount tCCKQ, as shown in
The data transmit latch 410A receives the write data W2 from the data transmit register 408A and the test signal ECT2 (not shown in
The data transmitter 412A receives the write data W3 from the data transmit latch 410A and transmits the write data as write data W4 having a data valid time 840 to a corresponding terminal C1. The data transmitter 412A adds a controller transmitter delay too to the write data, so write data W4 is delayed from the write data W3 by a delay amount too, as illustrated in
The write data W4 is received by the data receive latch 416A in the same interface 132 at the memory controller 102 as read data R4. The data receive latch 416A also receives the test signal ECR1, which defines a plurality of timing events, including a second timing event 892 that is delayed from the rising edge 802 of the clock signal CK by an amount of time tCR1/TestDelay, as shown in
In one embodiment, to test whether Equation (1b) is valid, the time interval Δt2=tCT2/TestDelay−tCCK/TestDelay between the first and second timing events 891 and 892 is set to be the data sheet parameter tQ/max. If tQ is smaller than tQ/max by possibly some margin (i.e., the controller interface 116A meets the criteria of Equation (1b)), information conveyed during the data valid time 840 in the write data W4 would be transferred by the data transmit latch 416A in response to the timing event 892, as shown in
After the read data R4 is transferred by the data receive latch 416A, it becomes read data R5, as shown in
In one embodiment, after determining that tQ is equal to or smaller than tQ/max, the “margin” by which tQ is smaller than tQ/max can be determined by sweeping the second timing event 892, starting from a position where Δt2 is equal to (or larger than) tQ and moving toward the beginning 841 of the data valid time 840 of the read data R4. When the second timing event 892 moves past the data valid time 840 of the read data R4, the data receive latch 416A stops transferring the information the write data W2 carries during the data valid time 720 in response to the second timing event and Δt2 at this point is equal to tQ/Actual=2*tPD+tBD+tCKQ+tDD.
Referring to
The controller clock buffer 404 receives the clock signal CCK0 and transmits it as clock signal CCK (controller clock signal) to the other interface circuits, including the write data transmit interface 116A. The controller clock buffer 404 adds a controller clock buffer delay tBD to the preliminary clock signal CCK0 as the clock signal CCK0 is processed by the controller clock buffer 404, so the controller clock signal CCK is delayed from the clock signal CCK0 by a delay amount tCBD, as illustrated in
The write data transmit interface 116A receives write data W1 from the controller logic domain and the controller clock signal CCK from the controller clock interface 114. The write data W1 has a first portion in a first data valid time (not shown) and a second portion in a second data valid time 910′. The data transmit register 408A holds the received second portion of the write data W1 and transmits it as a second portion of write data W2 having a data valid time 920′ in response to the rising edge 908 of the controller clock signal CCK. The data transmit register 408A adds a controller clock-to-output delay tCCKQ to the second portion write data so the start of the data valid time 920 associated with the write data W2 is delayed from the rising edge 908 of the controller clock CCK by the delay amount tCCKQ, as shown in
Prior to receiving the second portion of write data W1, the write data transmit interface 116A had received the first portion of write data W1 (not shown) from the controller logic domain. In one embodiment, the first portion of the write data W1 had a data valid time (not shown) proceeding the data valid time 910′. The data transmit register 408A had held the received first portion of the write data W1 and transmitted it as a first portion of write data W2 having a data valid time 920 in response to a prior rising edge (not shown) of the controller clock signal CCK. The data transmit register 408A had transmitted the first portion of the write data W2 to the data transmit latch 410A.
The data transmit latch 410A had received the first portion of the write data W2 from the data transmit register 408A and the test signal ECT2 from the test signal generator 108. The test signal ECT2 defines a plurality of timing events, including a second timing event 992, which is delayed from the rising edge 902 of the clock signal CK by an amount of time tCT2/TestDelay, as shown in
As shown in
The data transmitter 412A receives the write data W3 from the data transmit latch 410A and transmits the write data as write data W4 having a data valid time 940 to the memory device 104. The data transmitter 412A adds a controller transmitter delay too to the write data, so write data W4 is delayed from the write data W3 by a delay amount too, as illustrated in
The test signals sent to the memory device 104 from the test signal generator are held asserted during this test. Therefore, the write data receive interface 1186 should receive the write data W4 and process the write data similarly as discussed above with reference to
In the data receive interface 118B, the data receive latch 416B receives the write data W4 from the memory controller 102 and adds a memory pass-gate delay tMPD2 to the write data W4 as the write data W4 passes through the data receive latch 416B and is transmitted as the write data W5, with a data valid time 950. The data receiver 4186 adds a memory receiver delay tRD to the write data W5 as the write data W5 passes through the data receiver 420B and is transmitted as the write data W6 (with a data valid time 960) to the data receive register 420B. The data receive register 420B receives write data W6 from the data receiver 4186 and the memory clock signal MCK from the memory clock interface 124. The write data W6 is held by the data receive register 420B and is transmitted as write data W7 (with a data valid time 970) in response to falling edge 944 of the memory clock signal MCK. The data receive register 420B transmits the write data W7 to the memory core 122.
Therefore, whether the write data transmit interface 116A meets the criterion of Equation (4) is determined by whether the write data W7 output by the register 420B in response to the falling edge 944 of the memory clock MCK includes the same information as the first portion 920 of the write data W2.
In one embodiment, after determining that the end 921 of the data valid time 920 occurs after the second timing event 992, the “margin” by which the end of the data valid time 920 occurs after the second timing event 992 can be determined by sweeping the second timing event 992, starting from a position where the interval Δt3=tCT2/TestDelay−tCCK/TestDelay is equal to (or smaller than) tV and moving toward the beginning 921 of the data valid time 920 of the write data W2. When the second timing event 992 moves past the data valid time 920 of the first portion of the write data W2, the data transmit latch 410A stops transferring the first portion of the write data W2 in response to the second timing event and the second timing event should coincide with the end of the data valid time 920.
Referring to
The memory clock buffer 424 receives the preliminary memory clock signal MCK0 and transmits the memory clock signal MCK. The memory clock buffer 424 adds a memory clock buffer delay tMBD to the preliminary memory clock signal MCK0 as the preliminary memory clock signal MCK0 is processed by the memory clock buffer 424 and transmitted as the memory clock signal MCK. The memory clock buffer 424 transmits the memory clock signal MCK to the other interface circuits, such as the data transmit interface 116B.
In the data transmit interface 1166, the data transmit register 408B receives read data R1 having a data valid time 1010 from the memory core 122 and the memory clock signal MCK from the memory clock interface 124. The read data R1 is held by data transmit register 408B and is transmitted as read data R2 in response to the memory clock signal MCK. In one embodiment, the data transmit register 408 transmits the data R2 in response to a rising edge 1006 of the memory clock signal MCK. The data transmit register 408B adds a memory clock-to-output delay tMCKQT to the read data R2. So, the start of a data valid time 1020 of the read data R2 is delayed from the rising edge 609 of the clock signal MCK by the delay amount tMCKQT, as shown in
The data transmit latch 410B receives the read data R2 from the data transmit register 408B and the test signal EMT1 from the test signal generator 108. The test signal EMT1 is asserted, enabling the data transmit latch 410B to transfer the read data. The enabled data transmit latch 410B adds a memory pass-gate delay tMPD3 to the read data as the read data passes through the data transmit latch 410B and is transmitted as read data R3. So, the data valid time 1030 of the read data R3 is delayed from the data valid time 1020 of read data R2 by the delay amount tMPD3, as shown in
The data transmitter 412B receives the read data R3 from the data transmit latch 410B and transmits the read data to the memory controller 102 as read data R4. The data transmitter 412B adds a memory transmitter delay tMTD to the read data as the data R3 passes through the data transmitter 412B. So, the data valid time 1040 of the read data R4 is delayed from the data valid time 1030 of read data R3 by the delay amount tMTD, as shown in
Still referring to
The controller clock buffer 404 receives the preliminary controller clock signal CCK0 and transmits it as the controller clock signal CCK to the other interface circuits, including the read data receive interface 118A. The controller clock buffer 404 adds a controller clock buffer delay tCBD to the preliminary controller clock signal CCK0 as the preliminary controller clock signal CCK0 is processed by the controller clock buffer 404, so the controller clock signal CCK is delayed from the preliminary controller clock signal CCK0 by a delay amount tCBD, as illustrated in
In the read data receive interface 118A, the data receive latch 416A receives the read data R4 from the memory device 104 and the test signal ECR1 from the test signal generator 108. The test signal ECR1 defines a plurality of timing events, including a second timing event 1092, which is delayed from the rising edge 1002 of the clock signal CK by an amount of time tCR1/TestDelay, as shown in
The data receiver 418A receives the read data R5 from the data receive latch 416A and transmits the read data R5 to the data receive register 420A. The data receiver 418A adds a controller receiver delay tCRD to the read data R5 as the read data R5 passes through the data receiver 418A and is transmitted as read data R6 to the data receive register 420A. So, the data valid time 1060 of the read data R6 is delayed from the data valid time 1050 of read data R5 by the delay amount tCRD, as shown in
The data receive register 420A receives the read data R6 from the data receiver 418A and the controller clock signal CCK from the controller clock interface 114. The read data R6 is held by the data receive register 420A and is transmits by the data receive register 420A as read data R7 in response to the controller clock signal CCK. In one embodiment, the data receive register 420 transmits the data R7 in response to the falling edge 645 of the controller clock signal CCK. The data receive register 420A adds a controller clock-to-output delay tCCKQR to the data R7. So, the start of the data valid time 64 of the read data R7 is delayed from the falling edge 645 of the clock signal CCK by the delay amount tCCKQR, as shown in
In one embodiment, to test the controller read data receive interface 118A for data hold time, the time interval Δt4=tCR1/TestDelay−tCCK/TestDelay between the first and second timing events 1091 and 1092 is set to be the data sheet parameter tH/min. Thus, the beginning of the data valid time 1060 or the end of a data valid time 1060a prior to the data valid time 1060 in read data R6 should lag the falling edge 1009 of the controller clock CCK by approximately tH/min. The read data receive interface 118A meets the data hold time test if the information carried during the data valid time 1060a by the read data R6 is transferred by the data receive register 420A in response to the falling edge 1009 of the controller clock CK.
In one embodiment, after determining that the read data receive interface 118A meets the data hold time test, the “margin” by which the read data receive interface 118A meets the data hold time test can be determined by sweeping the second timing event 1092, starting from a position where Δt4 is equal to (or larger than) tH/min and moving toward the first timing event 1091, as shown in
Referring to
Referring to
The controller clock buffer 404 receives the preliminary controller clock signal CCK0 and transmits it as the controller clock signal CCK to the other interface circuits, including the read data receive interface 118A. The controller clock buffer 404 adds a controller clock buffer delay tCBD to the preliminary controller clock signal CCK0 as the preliminary controller clock signal CCK0 is processed by the controller clock buffer 404, so the controller clock signal CCK is delayed from the preliminary controller clock signal CCK0 by a delay amount tCBD, as illustrated in
In the read data receive interface 118A, the data receive latch 416A receives the read data R4 from the memory device 104 and the test signal ECR1 from the test signal generator 108. The test signal ECR1 defines a plurality of timing events, including a second timing event 1092, which is delayed from the rising edge 1002 of the clock signal CK by an amount of time tCR1/TestDelay, as shown in
The data receiver 418A receives the read data R5 from the data receive latch 416A and transmits the read data R5 to the data receive register 420A. The data receiver 418A adds a controller receiver delay tCRD to the read data R5 as the read data R5 passes through the data receiver 420 and is transmitted as read data R6 to the data receive register 420A. So, the data valid time 1060 of the read data R6 is delayed from the data valid time 1050 of read data R5 by the delay amount tCRD, as shown in
The data receive register 420A receives the read data R6 from the data receiver 418A and the controller clock signal CCK from the controller clock interface 114. The read data R6 is held by the data receive register 420A and is transmits by the data receive register 420A as read data R7 in response to the controller clock signal CCK. In one embodiment, the data receive register 420 transmits the data R7 in response to the falling edge 645 of the controller clock signal CCK. The data receive register 420A adds a controller clock-to-output delay tCCKQR to the data R7. So, the start of the data valid time 64 of the read data R7 is delayed from the falling edge 645 of the clock signal CCK by the delay amount tCCKQR, as shown in
In one embodiment, to test the controller read data receive interface 118A for data set time, the time interval Δt5=tCCK/TestDelay−tCR1/TestDelay between the first and second timing events 1091 and 1092 is set to be the data sheet parameter tS/min. Thus, the beginning of the data valid time 1060 in read data R6 should lead the falling edge 1009 of the controller clock CCK by approximately tS/min. The read data receive interface 118A meets the data set time test if the information carried during the data valid time 1060 by the read data R6 is transferred by the data receive register 420A in response to the falling edge 1009 of the controller clock CK.
In one embodiment, after determining that the read data receive interface 118A meets the data set time test, the “margin” by which the read data receive interface 118A meets the data set time test can be determined by sweeping the second timing event 1092, starting from a position where Δt5 is equal to (or larger than) tS/min and moving toward the first timing event 1091, as shown in
In the embodiments discussed above, the CCK and MCK timing signals are derived from a global clock signal CK and are used to time the transmission and reception of command and data signals. In other embodiments, a strobe signal is used as timing signals accompanying a small group of data signals, as illustrated in
In one embodiment, effecting a delay in the data signal in response to a second timing event provided by the second test signal (1230) is performed by the IC after transferring the data signal in response to the timing signal (1220), as illustrated by the solid lines in
In one embodiment, the delay in the data signal is effected between transferring the data signal in response to the timing signal and communicating (transmitting or receiving) the data signal via a terminal of the IC. In one embodiment, the delay in the data signal is effected after transferring the data signal in response to the timing signal and before communicating the data signal via a terminal of the IC, as illustrated by the timing diagrams in
A semiconductor IC device according to one embodiment of the present disclosure comprises terminals (pins) to be coupled to external signal lines, the terminals including a first terminal (e.g., a data pin) via which a data signal is communicated, a second terminal (e.g., a timing pin) via which a timing signal is communicated, and at least two third terminals (e.g., test pins) via which respective ones of at least two test signals are communicated. The semiconductor IC device further comprises a timing circuit coupled to the second terminal. The timing circuit is configured to receive a first test signal, which includes a first timing event, and to effect a delay in the timing signal in response to the first test signal. The IC device further comprises an interface circuit coupled to the data pin. The interface circuit is configured to transfer the data signal in response to the timing signal. The interface circuit is further configured to receive a second test signal and to effect a delay in the data signal in response to the second test signal. The second test signal includes a second timing event that is related to the first timing event according to a test criterion for testing the IC device with respect to a timing parameter. The timing parameter specifies a time interval between a data-event on a data pin and a timing-event on a timing pin.
In one embodiment, the IC device includes one or more first test-signal-wires to communicate the first test signal, and the timing circuit includes a first latch circuit coupled to the first test-signal-wire(s).
In one embodiment, the IC device includes one or more second test-signal-wires to communicate the second test signal, and the interface circuit includes a second latch circuit coupled to the second test-signal-wire(s).
In one embodiment, the first and second test signals create a test-interval between an event on the first test-signal-wire(s) and an event on the second test-signal-wire(s).
In one embodiment, the test-interval is made equal to a timing parameter specified for the component so that the IC device may be characterized and/or tested with respect to the timing parameter.
In one embodiment, the IC device includes a test signal generator that generates the first and second test signals. In one embodiment, the first and second test-signal-wires are matched in length and/or loading so that the test-interval is also imposed at the timing circuit and the interface circuit.
In one embodiment, the IC device is a first IC device directly attached to a second IC device. The test signals are generated in the second IC device and communicated to the first IC device via the test pins. In one embodiment, an IC system including the first and second IC devices further includes test-signal-wires to communicate the first and second test signals from the second IC device to the timing circuit and the interface circuit in the first IC device. In one embodiment, the entire test-signal-wires, including portions internal and external to the first IC device, are matched in length and loading so that the test-interval is imposed at the timing circuit and the interface circuit in the first IC device.
In one embodiment, the semiconductor IC device is a memory device or a memory controller device in a memory system where the semiconductor IC device is directly attached to another semiconductor IC device such that the first, second and third terminals are not directly accessible by external testing equipment.
Although a memory system including a memory device and a memory controller are used to illustrate testing of IC devices in a direct-attach configuration, the illustrations of the embodiments herein apply to IC devices and systems in general.
Number | Date | Country | |
---|---|---|---|
61452466 | Mar 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17702581 | Mar 2022 | US |
Child | 18157344 | US | |
Parent | 16924321 | Jul 2020 | US |
Child | 17702581 | US | |
Parent | 16357122 | Mar 2019 | US |
Child | 16924321 | US | |
Parent | 14950138 | Nov 2015 | US |
Child | 16357122 | US | |
Parent | 13985364 | Aug 2013 | US |
Child | 14950138 | US |