The present invention relates to IC design for testability. More particularly, the present invention relates to reducing pin overhead in non-scan design for testability.
Since every test pattern used in non-scan design circuit only needs one test cycle in testing, and non-scan design for testability provides an at-speed testing method, the method of non-scan design has gained attention from both academy and industry.
The pin overhead in non-scan design has remained an unsolved problem for a long time and the previous methods cannot solve it successfully. Currently there are 6 methods to handle the pin overhead problem, but none of them can bring about a satisfactory result. These 6 methods are:
(1) doing nothing to the extra control signal, which leads to a strict restriction on the number of control points and cannot improve testability to a great extent;
(2) connecting the control points to an extra register, when loading the test pattern, the value to be assigned to control point is shifted into the register. However, the method needs multiple clock cycles to load the test pattern for control points.
(3) controlling all control points with one control signal. Almost all reset design methods have chosen this strategy, but testability improvement based on this technique is limited.
(4) setting the control signal of control points to non-controlling values in functional mode and to the controlling values in test mode. This method makes many detectable faults undetectable and hence can not improve the testability of circuit.
(5) using test multi-plexers to improve testability of circuit and all test multi-plexers are controlled by a single control signal, which is similar to method (3). Though it can improve the testability of some signal lines, many fault propagation paths are blocked, hence it cannot really improve testability of the whole circuit.
(6) connecting an observation point and a primary output (PO) to a multiplexer, which makes the fault that must be observed via this PO unobservable.
Therefore, the pin overhead in non-scan design is a very hard problem and needs to be solved as soon as possible.
A method and apparatus for reducing pin overhead in a non-scan design for testability is disclosed. In one embodiment, the method comprises: connecting control signals of test points l1, l2, . . . , lh to a first primary input PI1 through AND gate switch, connecting control signals of test points Ij, . . . , lq to a second primary input PI2 through AND gate switch until every test point is connected to either primary inputs PI1 or PI2, connecting a 1-control point to AND gate directly, connecting a 0-control point to AND gate through inverter, sharing one AND gate among all control points that are connected to the same primary input, controlling all control points by an uniform signal test, and checking whether the test points and the primary inputs produce new re-convergent fan-out while reducing inputs of the control signals. In another embodiment, the apparatus comprises: means for connecting control signals of test points l1, l2, . . . , lh to a first primary input PI1 through AND gate switch, means for connecting control signals of test points lj, . . . , lq to a second primary input PI2 through AND gate switch until every test point is connected to either primary inputs PI1 or PI2, means for connecting a 1-control point to AND gate directly, means for connecting a 0-control point to AND gate through inverter, means for sharing one AND gate among all control points that are connected to the same primary input, means for controlling all control points by an uniform signal test, and means for checking whether the test points and the primary inputs produce new re-convergent fan-out while reducing inputs of the control signals.
Other features and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description, which follows below.
The present invention is illustrated by way of example and not intended to be limited by the figures of the accompanying drawings in which like references indicate similar elements and in which:
A method for reducing pin overhead in non-scan design for testability is disclosed. Referring to
In one embodiment,
The guiding principle of the pin overhead reduction method is that the control signals of test points are reduced at the furthest while avoiding generating new undetectable faults, in particular, the control signal of test points are connected to the primary input which with the control line that doesn't produce a new re-convergent fan-out. It is quite possible for a new re-convergent fan-out to generate new undetectable faults.
The method stated above can also be used to handle the connection and share of reset signals in partial reset design. In partial reset design, the reset signals are all inserted into the outputs of flip-flops. Referring to
The following algorithm illustrates how to connect the control signal of a control point to PIs of circuit. Using the same method, we can connect multiple control signals to one PI. This algorithm needs a circuit description file that includes information of line index, gate type, predecessor table and successor table and test point set{T1, T2, . . . , Tt}. The output result of the algorithm is a circuit after design for testability which has only two extra pins: one is the test signal that controls all control points, the other is the output of multiple inputs signature register (MISR).
Algorithm (Connect All Test Points to PI)
1. set i and j to be the subscripts of test point and PI, respectively, and i←1,j←1,n is the number of PIs;
2. While(j≦n),do
(1) Call function converge (Ti, PIj) to judge if test point Ti and PIj re-converge;
(2) If Ti and PIj do not converge, connect the control signal of Ti to PIj, and modify the circuit structure: add Ti into the successor table of PIj, and add PIj into the predecessor table of Ti, and let j←n+1; if they converge, do (3);
(3) j←j+1.
3. j←1; While(j≦n),do
(1) Call function converge(Ti, PIj) to find out the converge point set of Ti and PIj:{R1, R2, . . . , Rk}. For any converge point R, suppose its input signals are a and b, and a is reachable from Ti, b is reachable from PIj. If R is a AND gate or a NAND gate as well as seq1(Ti, a)≠seq1(PIj, b), or if R is a OR gate or NOR gate as well as seq0(Ti, a)≠seq0(PIj, b), then connect control signal of Ti to PIj; otherwise do (2);
(2) If R is a AND gate or a NAND gate and either of inv1(Ti, a) and inv1(PIj, b) is 0, or if R is a OR gate or a NOR gate and either of inv0(Ti, a) and inv0(PIj, b) is 0, then connect control signal of Ti to PIj.
(3) If control signal of Ti has already been connected to PIj, modify the circuit structure as stated in step (2), j←j+1.
4. If i<t, i←i+1,j←1, go to step 2;
5. Output all the PIs and their corresponding test points, and return the set of test points that cannot be connected to any PI.
Converge (a, b) /*Function to Find Out All Convergent Points of a and b*/
1. Put all direct successors of a into stack Q and tag every signal line that has been put into Q.
2. When Q is not empty, take an element ν from Q and check all of its successors. If successor v1 has no tag, tag it and put it into Q.
3. Find out all direct and indirect successors of b in the same way. If a successor ν has been checked in step 1 and 2, put it into set C.
4. Return all signal lines in set C as convergent points of a and b, if C is empty, return a value that denotes a and b do not converge.
Reach(a, b) /* Judge if b is Reachable From a*/
1. Put all immediate successors of a into stack Q and flag every signal line that has been put into Q. If b is one of them, return a value that denotes b is reachable from a. Otherwise go to 2.
2. If Q is not empty, pop an element v from Q and check all successors of v. If one successor v1 has no flag, add it into Q and flag it. If v1 is b, return a value that denotes b is reachable from a.
3. Return a value that denotes b is not reachable from a.
Now referring to
Now referring to
Table 1 compares the experimental results of nscan+(the method proposed by this invention) and that of nscan (a recently published efficient tool). As shown in the Table 1, tp, po, FC, TE, vec, cpu and ao denote number of test points, number of extra pins, fault coverage, test efficiency, number of test patterns, CPU time, and area overhead (in percent style). The results in table 1 make it clear that nscan+is better than nscan almost for all circuits.
Thus, a method for reducing pin overhead in non-scan design for testability has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
Number | Date | Country | Kind |
---|---|---|---|
02146776 A | Nov 2002 | CN | national |
Number | Name | Date | Kind |
---|---|---|---|
5754454 | Pixley et al. | May 1998 | A |
5898703 | Lin | Apr 1999 | A |
6275963 | Maeno et al. | Aug 2001 | B1 |
6311317 | Khoche et al. | Oct 2001 | B1 |
6597191 | Oosawa et al. | Jul 2003 | B1 |
Number | Date | Country | |
---|---|---|---|
20040130313 A1 | Jul 2004 | US |