Method and circuit for LSSD testing

A method and integrated circuit for LSSD testing. The integrated circuit includes a plurality of clock domains supplied with test clocks from separate clock generation circuits. In each clock domain, a scan latch at a clock domain boundary receiving an input from another clock domain includes a master latch for latching an input in response to a first clock, a slave latch for latching an output from the master latch in response to a second clock, a selector for supplying the master latch with a system input when the mode selection signal is at a second level, and a clock control circuit for turning off the first clock when the mode selection signal transits from the first level to the second level.

FIELD OF THE INVENTION

The present invention relates the field of a level sensitive scan design (LSSD) testing integrated circuits. More specifically, the present invention relates to LSSD testing when the scan chain comprises latches clocked by test clocks in two or more time domains.

BACKGROUND OF THE INVENTION

Integrated circuits are used for varieties of products, and many integrated circuits include complicated combinational logic circuits. Such combination logic is often tested with LSSD. LSSD uses sequential scan latches having a shift function to test the combinational circuits, in which a test pattern is scanned in to the combinational circuits and a resultant pattern is scanned out, with scan-in and scan-out controlled by controlled by a clock signal.

To test the combinational logic at the operating frequency, test data is loaded into the scan latches using a scan clock but transfer across the combinational logic from a sending latch to a receiving latch using a clock running at the operational frequency of the combinational logic (the scan clock has a frequency lower than the operational frequency). When, LSSD testing is performed at the operating frequency of the combinational logic using scan latch chains that cross two or more time domains, each running at a different operational frequency, a problem arises of synchronizing data transfer from the last latch in the first time domain to a first latch in the second time domain at the boundary where the scan chain crosses the different time domains. Therefore, there is a need for method and circuit for synchronizing data transfer from the last latch in the first time domain to a first latch in the second time domain when a scan chain crosses different time domains.

SUMMARY OF THE INVENTION

A first aspect of the present invention is an integrated circuit, comprising: a first clock generation circuit configured to generate a first domain clock signal and a second clock generation signal configured to generate a second domain clock signal; a first set of scan latches connected in series from a first scan latch to a last scan latch, each scan latch of the first set of scan latches configured to receive the first clock signal and to latch either data presented at a scan input of each latch of the first set of latches or data presented at a system input of each latch of the first set of latches in response to a level of a mode selection signal; a second set of scan latches connected in series from a first scan latch to a last scan latch, each scan latch of the second set of scan latches configured to receive the first clock signal and to latch either data presented at a scan input of each latch of the second set of latches or data presented at a system input of each latch of the second set of latches in response to the level of the mode selection signal; and the first scan latch of the second set of scan latches comprising: a master latch configured to latch data at an input in response to a first clock signal; a slave latch configured to latch data at an output from the master latch in response to a second clock signal; a selector configured to present at an input of the master latch the data presented at the scan input when the mode selection signal is at a first level and to present at the input of the master latch the data presented at the system input when the mode selection signal is at a second level; and a clock control circuit configured to turn off the first clock signal when the mode selection signal transits from the first level to the second level.

A second aspect of the present invention is a method comprising: generating a first domain clock signal with a first clock generation circuit and a second a second domain clock signal with a first clock generation circuit; providing a first set of scan latches connected in series from a first scan latch to a last scan latch, each scan latch of the first set of scan latches receiving the first clock signal and latching either data presented at a scan input of each latch of the first set of latches or data presented at a system input of each latch of the first set of latches in response to state of a mode selection signal; providing a second set of scan latches connected in series from a first scan latch to a last scan latch, each scan latch of the second set of scan latches receiving the first clock signal and latching either data presented at a scan input of each latch of the second set of latches or data presented at a system input of each latch of the second set of latches in response to the level of the mode selection signal; latching data presented at an input of a master latch of the first scan latch of the second set of scan latches in response to a first clock signal; latching data presented at an input of a slave latch of the first scan latch of the second set of scan latches in response to a second clock signal; presenting at the input of the master latch the data presented at the scan input when the mode selection signal is at a first level and presenting at the input of the master latch the data presented at the system input when the mode selection signal is at a second level; and turning off the first clock signal when the mode selection signal transits from the first level to the second level.

A third aspect of the present invention is An integrated circuit, comprising: a first clock generation circuit, an output of the first clock generation circuit coupled to a first input of a first selector, a scan clock signal connected to a second input of the first selector and a scan gate signal connected to a control input of the selector; a first set of scan latches connected in series from a first scan latch to a last scan latch, an output of a previous latch connected to a scan input of an immediately subsequent scan latch, each scan latch of the first set of scan latches having a scan input, a system input, a control input coupled to an output of the first selector, and an output; a second clock generation circuit, an output of the second clock generation circuit coupled to a first input of a second selector, the scan clock signal connected to a second input of the second selector and the scan gate signal connected to a control input of the second selector; a second set of scan latches connected in series from a first scan latch to a last scan latch, an output of a previous scan latch connected to a scan input of an immediately subsequent scan latch, each scan latch of the second set of scan latches having a scan input, a system input, a control input coupled to an output of the second selector and an output; and an output of the last scan latch of the first set of scan latches connected to a scan input and a system input of the first latch of the second set of scan latches, the first scan latch of the second set of scan latches comprising: a first clock control circuit having a first input connected to the gate control signal, and a second input connected to the output of the second clock generation unit; a third selector comprised of the scan and system inputs, a control input of the third selector connected to the scan gate control signal and an output; a master latch having an input, a clock input connected to an output of the third selector and having a clock input connected to an output of the clock control circuit; a slave latch having an input connected to an output of the master latch and having a clock input connected to an output of the output of the second clock generation unit.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1is a circuit block diagram showing scan latches on sending and receiving sides at a clock domain boundary andFIG. 2is a waveform diagram showing a clock signal and a scan gate signal for controlling the scan latches ofFIG. 1.FIG. 1shows a clock domain boundary wherein an output from a scan latch FF1in a clock domain1including phase locked loop (PLL)1is connected to both of a scan input SCI and a system input SYI of a scan latch FF2in a clock domain2including PLL2.FIG. 2shows waveforms of a clock CLK supplied to the scan latch and a scan gate signal SG for switching between the scan input SCI and the system input SYI to the scan latch. The scan clock CLK received by each scan latch is a scan clock from the outside the clock domain when the scan gate signal SG is in the low level, and is a release/capture clock from the PLL when the scan gate signal SG is in the high level. Each PLL is designed to generate a release/capture clock composed of two pulses P1and P2in response to a rising transition of the scan gate signal SG. However, since the time for the release/capture clock to arrive at the scan latch depends on the number of stages of a clock tree between the PLL and the scan latch and other factors, it is impossible to ensure a match between the time for a release/capture clock from the PLL1to arrive at the scan latch FF1and the time for a release/capture clock from the PLL2to arrive at the scan latch FF2.

For example, assume that the last scan data from the scan latch FF1is received by the scan latch FF2and then released from the scan latch FF2in response to the subsequent release/capture clock. At this time, the scan gate signal SG goes to the high level to indicate the normal operation mode, and accordingly, the scan latch FF2is ready for receiving the system input SYI. With the release/capture clock arriving at to the scan latch FF2earlier than the release/capture clock arrives at the scan latch FF1, the scan latch FF2can correctly release scan data. However, if the release/capture clock arrives later, the data released by the scan latch FF1and captured by the scan latch FF2is through system input SYI and which is then released by the scan latch FF2. The same applies when the system input SYI and the scan input SCI to the scan latch FF2are separately connected to outputs of two different scan latches contained in the clock domain1.

FIG. 3shows an example of a construction of a test part of an integrated circuit according to the invention. The integrated circuit inFIG. 3includes two clock domains10A and10B having separate PLLs12A and12B, respectively. The clock domains10A and10B have basically the same construction, and each further includes, a 2-respective pulse generators14A and14B each generating a 2-pulse release/capture clock from the output of the respective PLLs12A and12B in response to a rising transition of a scan gate signal SG, a respective selectors16A and16B for selecting either the release/capture clock or a scan clock from outside the respective domains in response to the scan gate signal SG, respective clock trees18A and18B for distributing the clock CLK from respective selectors16A and16B to scan respective latches20(29A and20B). Respective PLLs12A and12B, respective 2-pulse generators14A and14B, and respective selectors16A and16B a comprise clock generation circuits. The scan clock and the scan gate signal are common to both clock domains10A and10B and are supplied from an external test apparatus (not shown). The heavy dashed line22inFIG. 3indicates a scan path from the clock domain10A to the clock domain10B, and the light dashed line24indicates a functional path from the scan latch20A in the clock domain10A to the scan latch20B in the clock domain10B. The functional path24supplies the system input from the clock domain10A to the clock domain10B. InFIG. 3, to avoid the drawing from being complicated, a circuit to be tested (normally a combinational logic circuit) and a scan input SCI and a system input SYI to each scan latch are omitted.

The invention solves the problem of synchronizing data transfer from the last latch in the first time domain to a first latch in the second time domain when a scan chain crosses different time domains by using the latch illustrated inFIG. 4and described infra as the receiving-side scan latch at the clock domain boundary, i.e., the leading scan latch20B′ in the clock domain10B.

FIG. 4is a circuit block diagram showing an embodiment of a receiving-side scan latch according to the present invention at a clock domain boundary andFIG. 5. is a waveform diagram showing a clock signal and a scan gate signal for controlling the scan latch ofFIG. 4. The scan latch inFIG. 4includes a master latch30for latching the input in response to a first clock NCLK, a slave latch32for latching the output from the master latch30in response to a second clock CLK, a selector34for supplying the master latch30with a scan input SCI when the scan gate signal SG serving as a mode selection signal is at a first logical level (‘0’) and supplying the master latch30with a system input SYI when the scan gate signal SG is at a second logical level (‘1’), and a clock control circuit36for turning off the first clock NCLK when the scan gate signal SG transits from the first level to the second level. The second clock CLK is supplied from the selector16B (seeFIG. 3). In the present embodiment, it is assumed that the scan input SCI and the system input SYI of the scan latch20B′ are connected to the output of the last scan latch20A in the clock domain10A.

The clock control circuit36includes an inverting circuit38for inverting the second clock CLK, an AND gate40having a first input receiving the output from the inverting circuit38and a second input, and a gate control circuit42for disabling the second input to the AND gate40when the scan gate signal SG transits from the first level to the second level. An output from the AND gate40becomes the first clock NCLK. The gate control circuit42is an inverting circuit in the example ofFIG. 4. The operation of the scan latch ofFIG. 4will be understood by reference to a the waveform diagram inFIG. 5.

Since the scan gate signal SG is initially at the first level, e.g., the low level, and the second input of the AND gate40is conditioned by the output of the inverting circuit42, the AND gate40generates the first clock NCLK (which is an inverted second clock CLK) by the action of the inverting circuit38, and supplies the first clock NCLK to the master latch30. As a result, the master latch30and the slave latch32are successively enabled and the scan data from the scan latch20A of the clock domain10A is delivered to the subsequent scan latch20B.

When the scan mode terminates and the scan gate signal SG goes to the second level, i.e., the high level, the second input of the AND gate40is disable by the output of the inverting circuit42, the first clock NCLK is turned off, and this state is maintained afterwards until the scan gate signal SG goes to the low level again. At this time, the master latch30holds the scan data loaded by the last first clock NCLK. By the rise of the scan gate signal SG, the clock generation circuit generates a release/capture clock composed of two pulses P1and P2, so the slave latch32releases the scan data held by the master latch30. At this time, even if the release/capture clock may arrive at the scan latch20B′ later than the arrival of the release/capture clock at the sending-side scan latch20A included in the clock domain10A, the master latch30does not receive the data released from the sending-side scan latch20A of the clock domain10A before the scan data is released since the first clock is off.

As described supra, the scan latch inFIG. 4can correctly release the last loaded scan data irrespectively of the arrival time of the release/capture clock. However, since the first clock NCLK remains off while the scan gate signal SG is at the high level, any valid data existing at the system input SYI is not loaded into the master latch30, and thus the functional path24ofFIG. 3cannot be tested. However, it is possible to test a the path24(seeFIG. 3) within the domain following the scan latch20B′ and minimize a the loss in test coverage by replacing either latch20′B or one of latches20B in clock domain2with the latch illustrated inFIG. 6and described infra.

FIG. 6is a circuit block diagram showing another embodiment of the scan latch according to the present invention andFIG. 7is a waveform diagram showing a clock signal, a scan gate signal, and a gate control signal for controlling the scan latch ofFIG. 6. The scan latch ofFIG. 6is similar to the scan latch ofFIG. 4except a gate control circuit comprised of a set/reset (SR) latch42and an OR gate44replaces the inverting circuit42ofFIG. 4. The SR latch42contains a set input S and a reset input RN, the set input S over-riding the reset input RN. That is, while the set input S is enabled, the SR latch42can not be not reset. The SR latch42is supplied with the second clock CLK at the set input S and with the scan gate signal SG at the reset input RN. The scan gate signal SG is supplied to the selection input of the selector34and the inverted input of the OR gate44, as well as to the reset input RN. The other input of the OR gate44is supplied with the output from the SR latch42. The OR gate44generates a gate control signal G which is a logical addition of the output from the SR latch44and the inverted scan gate signal and supplies it to the second input of the AND gate40.

The operation of the scan latch inFIG. 6will best be understood by reference to a the waveform diagram inFIG. 7. The scan latch inFIG. 6operates similarly to the scan latch inFIG. 4in the scan mode when the scan gate signal SG is at the low level. When the scan gate signal SG transits to the high level indicating the normal operation mode, the SR latch42is reset because the second clock CLK from the clock generation circuit is set to the low level. As a result, both inputs of the OR gate44go to the low level and the gate control signal G also goes to the low level. Consequently, the second input of the AND gate40is disabled, so the master latch30holds the scan data loaded by the last first clock NCLK.

Next, when the release/capture clocks P1and P2arrive from the clock generation circuit, the slave latch32firstly releases the scan data held in the master latch30in response to the release clock P1. In addition, since the SR latch42is set, the gate control signal G from the OR gate44becomes the high level. As a result, the first clock NCLK becomes the high level when the release pulse P1becomes the low level, and a pulse P3permits the system input SYI to be captured by the master latch30. In this case, no improper data problem can occurs even if the release/capture clock arrives later than the sending-side scan latch in the clock domain10A (seeFIG. 3). This is because the scan data is already released when the master latch30becomes ready for capturing.

When the scan latch in ofFIG. 6is used for latch20B′ of the receiving side at the clock domain boundary, it is possible to perform a complete scan test including the function path24. When the scan latch ofFIG. 6is used to replace an internal scan latch20B of clock domain2(seeFIG. 3the function path24can be tested from that point on.

At-speed test conventionally requires that the rising transition of the scan gate signal SG arrives at all the scan latches within one cycle, but if the scan latch in ofFIG. 6is used, the scan test can be performed without consideration for such timing restriction. This is because the scan latch itself generates a signal needed for the test, i.e., the gate control signal G. However, in order to correctly rise the gate control signal G, the transmission delay from the input of the second clock CLK to the SR latch42to the AND gate40needs to be limited to a half cycle or less. When the operating frequency is 2 GHz, for example, the transmission time only needs to be 250 picoseconds or less.