False path timing exception handler circuit
11194944 · 2021-12-07
Assignee
Inventors
Cpc classification
G01R27/28
PHYSICS
G06F30/398
PHYSICS
H03K19/00
ELECTRICITY
H01L29/10
ELECTRICITY
H01L25/00
ELECTRICITY
H01L23/58
ELECTRICITY
G01R31/36
PHYSICS
International classification
G01R31/36
PHYSICS
G01R27/28
PHYSICS
G06F30/398
PHYSICS
Abstract
A method that includes disabling circuit paths in a circuit under test during transition fault testing (TFT) of valid timing paths of the circuit under test. The method then tests the circuit paths at slower clock speeds than the clock speed of the valid timing paths during TFT of the circuit paths. Finally, the method tests the circuit paths and the valid timing paths to facilitate testing of the circuit under test.
Claims
1. A method, comprising: disabling circuit paths in a circuit under test during transition fault testing (TFT) of valid timing paths of the circuit under test; testing the circuit paths at slower clock speeds than the clock speed of the valid timing paths during TFT of the circuit paths; and testing the circuit paths and the valid timing paths to facilitate testing of the circuit under test.
2. The method of claim 1, further comprising biasing the circuit paths to a predetermined logic level during the TFT of the valid timing paths.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) This disclosure relates to a gating circuit that selectively disables a designated false circuit path during testing of valid timing paths in a circuit under test. False circuit paths exist in circuits under test where the false path cannot be tested according to the same timing constraints as a valid timing path in the circuit under test. For example, false circuit paths may not be able to be tested at maximum clock speed or can be subject to some other constraint such as multi-cycle testing where the path is tested at some number of clocking transitions that are different that the valid timing path. The false paths can be defined by a starting point and an end point and often times are connected to one or more other full testing paths which can be delay fault tested at speed. Delay fault testing refers to causing a state transition in the path and detecting whether or not the transition occurred within a predetermined timing window. Transitions occurring within the timing window are considered valid whereas transitions occurring outside the timing window are designated as a delay fault.
(7) In previous testing implementations where false paths were encountered, several different techniques were employed to account for the false paths including clock gating, using pattern masks, and using testing constraints (e.g., rules) to guide the ATPG. With respect to clock gating—in this approach, the clock to the source flip-flops (e.g., start point logic) of all false paths is gated via a control gate. During at-speed testing, the enable to this control gate is set to a zero state so as to disable launch transitions from these set of source flops. A drawback of this technique is that it utilizes clock tree separation for the specific subset of flops. This becomes even more challenging when the numbers of source flops are large and scattered across modules where clock divergence can occur. With respect to cell constraint/pattern masks—in this approach, an X cell constraint can be placed on the destination flop (e.g., end point logic). This results in lower test coverage since other valid timing paths that may use the end point logic as a transition capture location would not be testable.
(8) One other technique is the use of testing constraints in the automatic test pattern generator (ATPG). Most ATPG tools have recently developed the capability to read in timing exceptions details and comprehend the exceptions during at-speed test pattern generation. Although the ATPG can handle the false/multi-cycle path effectively, most often it is observed to have a negative impact on the ATPG quality of results (QoR) such as increased pattern count and reduced test coverage, for example. Also, the total mask pattern count is found to significantly increase which in turn can cause an increase in total test-time.
(9) In this disclosure, a circuit includes a false circuit path (or paths) in a circuit under test where the false circuit path includes a starting logic point to an end logic point of the path. Starting and end point logic can include clocked timing circuits such as flip flops or registers but other non-clocked false path circuits are possible as well (e.g., input/output ports). The false circuit path is designated as a testing path to be excluded during testing of one or more valid timing paths of the circuit under test, where valid timing path refers to a circuit that has no timing constraints placed on the circuit when under test. A false path gating circuit is provided that gates the starting logic point to the end logic point of the false circuit path. The false path gating circuit disables the false circuit path in response to one or more gating controls asserted during the testing of the one or more valid timing paths of the circuit under test. The false path gating circuit also allows the false path to be transition tested during other slower speed testing operations of the circuit in response to the gate controls. By controlling the false paths in this manner, false paths that may negatively influence other valid timing paths can be disabled during testing of the valid timing paths. The false path gating circuit then allows the false circuit paths to be tested under differing timing constraints than the full testing paths such that substantially all paths in the circuit under test can be suitably tested.
(10)
(11) The circuit 100 includes a false circuit path 110 having a starting logic point 120 to an end logic point 130 of the path. As used herein, the term “false circuit path” refers to any circuit having a starting point and a destination that cannot be tested under full system timing constraints (e.g., at maximum clock speeds). The false circuit path 110 is designated as a testing path to be excluded during testing of one or more valid timing paths of the circuit under test. As used herein, the term “valid timing path” refers to a circuit that can be tested under maximum clock speeds. A false path gating circuit 104 gates the starting logic 120 to the end logic 130 of the false circuit path 110. The false path gating circuit 104 enables or disables the false circuit path 110 in response to one or more gating controls 140 that are asserted during the testing of the valid timing paths of the circuit under test 100. In one example, the false path gating circuit 104 provides a designated true or false logic state to the end logic 130 in response to the gating controls 140 in order to bias the end logic to a desired state during the testing of the valid timing paths of the circuit under test.
(12) The false path gating circuit 104 can include a multiplexor (or a set of gates providing a multiplexed function) responsive to the gating controls 140 to bias the end point logic 130 to a desired state during the testing of the one or more valid timing paths of the circuit under test 100. In a specific example, the false path gating circuit 140 can include an input gate (see e.g., G1 of
(13) A testing circuit 150 in response to various test circuit controls 160 can generate the second DFT control as a gating control 140 to the false path gating circuit 104. The testing circuit 150 can include a test control gate (see e.g., G3 of
(14)
(15) The false path gating circuit in each false circuit path enables or disables the respective false circuit path in response to one or more gating controls 210 asserted during the testing of the one or more valid timing paths of the circuit under test. A test circuit 220 generates the gating controls 210 to the false path gating circuits in response to one or more signals received from automatic test equipment 230 (ATE) or internal test generation logic. The ATE 230 drives each of the testing paths and records responses from each path to perform testing. During testing of the valid timing paths, the test circuit 220 disables the false path circuits so that uncertain false path circuit states do not affect the valid timing path testing.
(16)
(17) The input A2 of the cell 310 is controlled by DFT_CTRL[0] which holds a reset value of zero in functional mode thereby making the gate G1 transparent and in at-speed test mode is programmed to 1 to gate the path from F1 to F4 at the gate G1. The input B1 is controlled by DFT_CTRL[1] signal which holds a reset value of 1 in functional mode to make gate G2 transparent. An additional test-control flop 320 (or flip-flops) can be added to obtain static coverage with stuck-at test and gross delay defect fault coverage with any method of transition fault testing including LOC/LOES-based tests, for example. A single test control flop 320 can be used to drive multiple false path gating circuit enabling area overhead optimization. The clock to the test control flops 320 can be gated via clock gate CG1 based on scan-enable 330 and transition fault test (TFT) mode signal. A scan mode signal 350 controls the other input to G3.
(18) The gating methods also facilitate in covering faults and gross delay defect faults for false paths using regular stuck-at and transition fault tests respectively. The following table (Table 1) represents the various testing modes based on the asserting of the test circuit controls DFT_CTRL[0], DFT_CTRL[1], SCAN_MODE, SCAN_ENABLE, and TFT_MODE which are employed to control the false path gating circuits described herein.
(19) TABLE-US-00001 TABLE 1 Scan At- Slow- Shift Stuck- Speed Speed (All At TFT TFT Signal Func modes) Capture Capture Capture DFT_CTRL[0] 0 0 X 0 X DFT_CTRL[1] 1 X X 1 X SCAN_MODE 0 1 1 1 1 SCAN_ENABLE 0 1 0 0 0 TFT_MODE 0 X 0 1 0
(20)
(21) In view of the foregoing structural and functional features described above, an example method will be better appreciated with reference to
(22)
(23) What have been described above are examples. It is, of course, not possible to describe every conceivable combination of components or methodologies, but one of ordinary skill in the art will recognize that many further combinations and permutations are possible. Accordingly, the disclosure is intended to embrace all such alterations, modifications, and variations that fall within the scope of this application, including the appended claims. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on. Additionally, where the disclosure or claims recite “a,” “an,” “a first,” or “another” element, or the equivalent thereof, it should be interpreted to include one or more than one such element, neither requiring nor excluding two or more such elements.