This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2017-174947, filed Sep. 12, 2017, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to an integrated circuit, a scan shift control method, and a circuit design method.
There is a scan test, as one of a design-for-testability (DFT) technology of LSI. This scan test has been known as a method for detecting a defect in a system combinational circuit included in an LSI.
When the scan test is conducted, individual flip-flops in the circuit are serially connected, and a path (namely, scan chain) is formed so that the flip-flop can be controlled and observed from an external I/O terminal of the LSI. Since the individual flip-flops connected by this scan chain are directly connected to each other, a data hold time violation may occur at the time of data transmission.
Embodiments will be described below with reference to the drawings.
In general, according to one embodiment, there is provided an integrated circuit including a plurality of flip-flops, and a control circuit that repeats a control that makes each of the flip-flops perform input and output operation in a predetermined group order with a time difference in a state where the flip-flops are connected in a scan chain and grouped.
First, the first embodiment will be described.
As shown in
A path for inputting and outputting data is provided between the system combinational circuit 100 and the individual flip-flops. This route is used in an ordinary operation mode in which ordinary operation is performed.
In a scan mode in which scanning is performed, a path (namely, scan chain) for serially connecting the individual flip-flops is formed. During the scan mode, data of a test pattern is input from a scan input terminal of the semiconductor integrated circuit, sequentially passes through the individual flip-flops through the scan chain, and then is output from a scan output terminal of the semiconductor integrated circuit.
As shown in (a) of
The semiconductor integrated circuit is provided with a control circuit 1 that performs scan shift control that does not cause violation of the hold time of transmission data.
The control circuit 1 has the following function. That is, in a state where the flip-flops are serially connected in the scan chain and grouped, the control circuit 1 repeatedly performs processing of generating and outputting rectangular wave signals (for example, pulse-shaped signals) having different operation timings with respect to individual groups based on a clock serving as a reference and thereby repeats a control that makes each flip-flop perform input and output operation with a time difference (a time difference for guaranteeing that hold time violation does not occur) in a predetermined group order (in the order of the A group, the B group, the C group, and the D group in this example) in units of groups.
In addition to the flip-flops, the semiconductor integrated circuit further includes a data holding circuit. In the present embodiment, the data holding circuit is realized by a latch circuit LT that holds data of 1 bit. However, it is not limited thereto. Alternatively, a flip-flop may be adopted. Since the latch circuit LT is smaller than the flip-flop, less installation space is required.
The latch circuit LT temporarily holds data transferred between specific groups (data transferred from the A group to the D group in this example).
As described above, according to the present embodiment, since the latch circuit LT is provided in addition to the flip-flops, the control circuit 1 repeats a control that makes each flip-flop sequentially perform input and output operation with a time difference in a predetermined group order (in the order of the A group, the B group, the C group, and the D group in this example) in units of groups and then further makes the latch circuit LT perform input operation with a time difference.
In the first embodiment, it is assumed that the latch circuit LT is configured not to belong to any group of the A group, the B group, the C group, and the D group described above. In this case, the control circuit 1 needs to supply rectangular wave signals, having different operation timings from the A group, the B group, the C group, and the D group, to the latch circuit LT. Thus, the control circuit 1 supplies the rectangular wave signals to each group in a predetermined group order (in the order of the A group, the B group, the C group, and the D group in this example) with a time difference, and then further supplies the rectangular wave signals to the latch circuit LT with a time difference.
As a result, each flip-flop performs the input and output operation in response to a first edge (a rising edge in this example) of the rectangular wave supplied from the control circuit 1. On the other hand, the latch circuit LT performs the input operation in response to the first edge (the rising edge in this example) of the rectangular wave supplied from the control circuit 1.
More specifically, as shown in (a) of
As a result, each flip-flop performs the input and output operation in response to rising edges of the signals CLK_A, CLK_B, CLK_C, and CLK_D. On the other hand, the latch circuit LT performs the input operation in response to the rising edge of the signal CLK_LT.
(b) of
The control circuit 1 is constituted of, for example, a counter 11, a decoder 12, and clock gating circuits (CGC) 13A, 13B, 13C, 13D, and 13LT.
The counter 11 repeatedly performs processing of sequentially increasing or decreasing a count value from an initial value to a predetermined value at constant time intervals.
According to the count value of the counter 11, the decoder 12 outputs data in a one-hot state (for example, bit string data with only one bit being High (value is 1)) subsequently to each of the clock gating circuits 13A, 13B, 13C, 13D, and 13LT at shifted output timings.
The clock gating circuits 13A, 13B, 13C, 13D, and 13LT receive a clock signal (the clock signal CLK described above) serving as a reference and at the same time receive the data from the decoder 12, and according to the data from the decoder 12, the clock gating circuits 13A, 13B, 13C, 13D, and 13LT output rectangular wave signals (the signals CLK_A, CLK_B, CLK_C, CLK_D, and CLK_LT described above) synchronized with this clock signal.
The circuit configuration of the control circuit 1 is not limited to the example in
Next, an example of scan shift operation according to the first embodiment will be described with reference to
(a) of
(b) of
In the state 1, first, the flip-flops A_L and A_R belonging to the A group perform the input and output operation in response to the rising edge of the signal CLK_A. At this time, the flip-flops A_L and A_R respectively output 1 and 0 held therein and receive 0 and 1 held in the flip-flops B_L and B_R.
Then, the flip-flops B_L and B_R belonging to the B group perform the input and output operation in response to the rising edge of the signal CLK_B. At this time, the flip-flops B_L and B_R respectively output 0 and 1 held therein and receive 1 and 0 held in the flip-flops C_L and C_R.
Then, the flip-flops C_L and C_R belonging to the C group perform the input and output operation in response to the rising edge of the signal CLK_C. At this time, the flip-flops C_L and C_R respectively output 1 and 0 held therein and receive 1 and 0 held in the flip-flops D_L and D_R.
Then, the flip-flops DL and D_R belonging to the D group perform the input and output operation in response to the rising edge of the signal CLK_D. At this time, the flip-flops D_L and D_R respectively output 1 and 0 held therein and receive a value 0 held in the latch circuit LT and a value 1 supplied from the scan input terminal side.
Finally, the latch circuit LT performs the input operation in response to the rising edge of the signal CLK_LT. At this time, the latch circuit LT receives 1 held in the flip-flop A_R. That is, the latch circuit LT holds data to be received by the flip-flop D_L (data to be transferred from the flip-flop A_R to the flip-flop D_L) in the next cycle.
By such a series of operations, the transition from the state 1 to the state 2 described above is performed. Thereafter, such operations are repeated.
According to the first embodiment, since the control circuit 1 repeats the control that makes the serially connected individual flip-flops sequentially perform the input and output operation with a time difference in a predetermined group order in units of groups and then further makes the latch circuit LT perform the input operation with a time difference, it is possible to prevent occurrence of violation of the hold time of transmission data.
Next, the second embodiment will be described. In the following, explanations of portions common to the first embodiment will be omitted, and different portions will be mainly explained.
A schematic configuration when conducting a scan test of a semiconductor integrated circuit according to the second embodiment is similar to the case of the first embodiment, and it is as shown in
In the second embodiment, as shown in (a) of
The control circuit 1 may sequentially supply the rectangular wave signals to the A group, the B group, the C group, and the D group. However, the form of the rectangular wave signal output to at least the A group (for example, a time interval from the rising edge to the falling edge) is different from that in the first embodiment.
While each of the flip-flops performs the input and output operation in response to a first edge (the rising edge in this example) of the rectangular wave supplied from the control circuit 1, the latch circuit LT performs the input operation in response to a second edge (the falling edge in this example) following the first edge of the rectangular wave supplied from the control circuit 1.
More specifically, as shown in (a) of
As a result, each flip-flop performs the input and output operation in response to rising edges of the signals CLK_A, CLK_B, CLK_C, and CLK_D. On the other hand, the latch circuit LT performs the input operation in response to the falling edge of the signal CLK_A.
(b) of
The control circuit 1 is constituted of, for example, a counter 21, a clock control signal generation unit 22, flip-flops 23A, 23B, 23C, and 23D, and so on.
The counter 21 repeatedly performs processing of sequentially increasing or decreasing a count value from an initial value to a predetermined value at constant time intervals. For example, the counter 21 repeatedly performs processing of increasing the count value from 0 to 15.
According to the count value of the counter 21, the clock control signal generation unit 22 sequentially outputs data that is High (value is 1) only for a certain period of time, for example, to each of the flip-flops 23A, 23B, 23C, and 23D at shifted output timings. For example, the clock control signal generation unit 22 outputs a value of 1 to the flip-flop 23A only for a period of time during which the count value is from 1 to 7, outputs the value of 1 to the flip-flop 23B only for a period of time during which the count value is from 2 to 8, outputs the value of 1 to the flip-flop 23C only for a period of time during which the count value is from 3 to 9, and outputs the value of 1 to the flip-flop 23D only for a period of time during which the count value is from 4 to 10.
The flip-flops 23A, 23B, 23C, and 23D receive a clock signal (the clock signal CLK described above) serving as a reference and at the same time receive the data from the clock control signal generation unit 22, and according to the data from the clock control signal generation unit 22, the flip-flops 23A, 23B, 23C, and 23D output rectangular wave signals (the signals CLK_A, CLK_B, CLK_C, and CLK_D described above) synchronized with this clock signal.
The circuit configuration of the control circuit 1 is not limited to the example in
Next, an example of scan shift operation according to the second embodiment will be described with reference to
(a) of
(b) of
In the state 1, first, the flip-flops A_L and A_R belonging to the A group perform the input and output operation in response to the rising edge of the signal CLK_A. At this time, the flip-flops A_L and A_R respectively output 1 and 0 held therein and receive 0 and 1 held in the flip-flops B_L and B_R.
Then, the flip-flops B_L and B_R belonging to the B group perform the input and output operation in response to the rising edge of the signal CLK_B. At this time, the flip-flops B_L and B_R respectively output 0 and 1 held therein and receive 1 and 0 held in the flip-flops C_L and C_R.
Then, the flip-flops C_L and C_R belonging to the C group perform the input and output operation in response to the rising edge of the signal CLK_C. At this time, the flip-flops C_L and C_R respectively output 1 and 0 held therein and receive 1 and 0 held in the flip-flops D_L and D_R.
Then, the flip-flops D_L and D_R belonging to the D group perform the input and output operation in response to the rising edge of the signal CLK_D. At this time, the flip-flops D_L and DR respectively output 1 and 0 held therein and receive a value 0 held in the latch circuit LT and a value 1 supplied from the scan input terminal side.
Finally, the latch circuit LT performs the input operation in response to the falling edge of the signal CLK_A. At this time, the latch circuit LT receives 1 held in the flip-flop A_R. That is, the latch circuit LT holds data to be received by the flip-flop D_L (data to be transferred from the flip-flop A_R to the flip-flop D_L) in the next cycle.
By such a series of operations, the transition from the state 1 to the state 2 described above is performed. Thereafter, such operations are repeated.
According to the second embodiment, in addition to the effect obtained in the first embodiment, since the control circuit 1 does not need to separately supply rectangular wave signals, having different operation timings from the A group, the B group, the C group, and the D group, only for the latch circuit LT, it is possible to obtain the effect of eliminating wiring therefor.
Next, the third embodiment will be described. In the following, explanations of portions common to the first and second embodiments will be omitted, and different portions will be mainly explained.
In the third embodiment, a method of designing the semiconductor integrated circuit described in the first and second embodiments will be described.
First, ordinary scanning is performed on a plurality of flip-flops included in the semiconductor integrated circuit (S1 in
Next, clock tree synthesis (CTS) clustering is performed on the flip-flops connected in the scan chain (S2 in
Then, a clock control circuit (corresponding to the control circuit 1 in the first or second embodiment) is inserted (S3 in
Then, scan chain reordering is performed on the grouped flip-flops (S4 in
Then, latch insertion is performed (S5 in
Finally, a CTS wiring is formed (S6 in
After the semiconductor integrated circuit is fabricated through such a design, a scan test is performed on the semiconductor integrated circuit, and the scan shaft operation is realized by the control as described in the first or second embodiment, for example.
The design procedure of the semiconductor integrated circuit is not limited to the examples of
According to the third embodiment, it is possible to advance the design of the semiconductor integrated circuit without worrying about the occurrence of violation of the hold time of transmission data, so that an effect capable of reducing the time required for examination work and the like and shortening the design period can be obtained.
As described in detail above, according to the embodiments, it is possible to prevent occurrence of violation of the hold time of transmission data.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2017-174947 | Sep 2017 | JP | national |