This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No.2005-066232, filed on Mar. 9, 2005, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a method and apparatus for supporting test pattern generation, and a computer product.
2. Description of the Related Art
Conventionally, in a transition delay test, which is one of delay tests, a test pattern in which rise delay and fall delay are assumed for input/output of a cell, to detect a failure thereof, is generated. Before generating a test pattern for the transition delay test, timing verification in a test mode is performed in a static timing analysis (STA), to confirm that there is no error. In the transition delay test, since a path for propagating a failure is automatically determined by an automatic test-pattern generation (ATPG), it is necessary to verify the timing between synchronous clocks by the STA, so that any path can be activated by the ATPG without causing a problem.
Furthermore, when there is a multi-cycle path or a false path in timing restriction, a setting for excluding such path from a test target. The false path is a path that is not subjected to setup/hold check in the STA, in a circuit to be tested (hereinafter, “target circuit”). Since in the ATPG, a path determined to have no error as a result of the setup/hold check is used, the false path is not subjected to the ATPG.
The multi-cycle path is a path having a clock cycle of two times or more. Since in the ATPG, a path between synchronous clocks is used, the multi-cycle path is not subjected to the ATPG. One example of description of the false path set in a synopsys design constraints (SDC) format is shown below.
[-from] specifies a start point of a path, which is not subjected to the timing analysis.
[-through] specifies a pin name, through which the path, which is not subjected to the timing analysis, passes without fail.
[-to] specifies the end of the path, which is not subjected to the timing analysis.
Conventionally, a file for specifying a path not to be tested is manually created based on the description in the SDC format. Normally, a cell connected to a data pin in a flip-flop (FF) cell specified by [-to] is specified.
Furthermore, conventionally, clock setting information is extracted from timing constraint information in the STA to set timing information in a transition test pattern. One example of description of test clock information set in the SDC format is shown below.
create_clock-period cycle-waveform [rise fall] clock terminal name
When an error occurs in the STA, timing is adjusted until a timing error is eliminated. However, when the timing cannot be adjusted, it is possible to perform the ATPG by setting the path to be excluded from the test target. In this case, timing error information that could not be settled is extracted from a list of results of the STA, and based on the timing error information, such path is set to be excluded from the test target in the transition delay test. Technologies in which information of the STA is used in the ATPG are disclosed in, for example, Japanese Patent Application Laid-open Nos. 2004-013720, 2003-141206, 2001-297125, and 2003-157297.
In the conventional technologies, however, since a cell (hereinafter, “untested cell”) not to be tested is specified manually, an error is likely to occur. As a result, such a process for specifying the untested cell is required to be repeated for correction, thereby increasing turn around time (TAT). Furthermore, if a path (hereinafter, “untested path”) not to be tested is determined based only on the timing constraint information, a detection rate in the transition delay test decreases.
Path Pa: FF1101-Cell 1110-FF1102
Path Pb: FF1101-Cell 1110-FF1103
When the path Pa is the false path, a cell 1110 is set as an untested cell. Even though the false path is only the path Pa, also the path Pb necessarily becomes an untested path due to the cell 1110. Thus, the detection rate decreases.
It is an object of the present invention to solve at least the above problems in the conventional technology.
An apparatus for supporting test pattern generation according to one aspect of the present invention includes an acquiring unit that acquires connection information including a netlist of a target circuit to be tested and an untested path that is a path not to be tested; a detecting unit that detects all paths between flip-flop cells in the target circuit based on the connection information; a path extracting unit that extracts a tested path that is a path to be tested, from among the paths detected based on the untested path; and a cell extracting unit that extracts an untested cell that is not to be tested from among cells in the target circuit, based on cells forming the untested path and cells forming the tested path.
A method of supporting test pattern generation according to another aspect of the present invention includes acquiring connection information including a netlist of a target circuit to be tested and an untested path that is a path not to be tested; detecting all paths between flip-flop cells in the target circuit based on the connection information; extracting a tested path that is a path to be tested, from among the paths detected based on the untested path; and extracting an untested cell that is not to be tested from among cells in the target circuit, based on cells forming the untested path and cells forming the tested path.
A computer-readable recording medium according to still another aspect of the present invention stores a computer program for realizing a method of supporting test pattern generation according to the above aspect.
The other objects, features, and advantages of the present invention are specifically set forth in or will become apparent from the following detailed description of the invention when read in conjunction with the accompanying drawings.
Exemplary embodiments of the present invention will be explained in detail below with reference to the accompanying drawings.
The CPU 101 controls a whole of the apparatus. The ROM 102 stores a computer program such as a boot program. The RAM 103 is used as a work area of the CPU 101. The HDD 104 controls read/write of data from/to the HD 105 in accordance with the control of the CPU 101. The HD 105 stores data that is written in accordance with the control of the HDD 104.
The FDD 106 controls read/write of data from/to the FD 107 in accordance with the control of the CPU 101. The FD 107 stores data that is written by a control of the FDD 106 and lets the apparatus read the data stored in the FD 107.
Apart from the FD 107, a compact disc-read only memory (CD-ROM), a compact disc-readable (CD-R), a compact disc-rewritable (CD-RW), a magneto optical disc (MO), a digital versatile disc (DVD), and a memory card may also be used as the removable recording medium. The display 108 displays a curser, an icon, a tool box as well as data such as documents, images, and functional information. A cathode ray tube (CRT), a thin film transistor (TFT) liquid crystal display, or a plasma display can be used as the display 108.
The I/F 109 is connected to a network 114 such as the Internet through a communication line and is connected to other devices through the network 114. The I/F 109 controls the network 114 and an internal interface to control input/output of data to/from external devices. A modem or a local area network (LAN) adapter can be used as the I/F 109.
The keyboard 110 includes keys for inputting characters, numbers, and various instructions, and is used to input data. A touch panel input pad or a numerical key pad may also be used as the keyboard 110. The mouse 111 is used to shift the curser, select a range, shift windows, and change sizes of the windows on a display. A track ball or a joy stick may be used as a pointing device if functions similar to those of the mouse 111 are provided.
The scanner 112 optically captures an image and inputs image data to the apparatus. The scanner 112 may be provided with an optical character read (OCR) function. The printer 113 prints the image data and document data. For example, a laser printer or an inkjet printer may be used as the printer 113.
System-operation timing-constraint information 303 of the target circuit 200 set in the SDC format is information on timing constraint for a system operation. The System-operation timing-constraint information 303 includes a multi-cycle path and a false path of the target circuit 200. DFT information 304 specifies a test terminal, a test clock, and a domain boundary in the target circuit 200.
A timing-constraint-information creating unit 305 determines a clock for driving a path in the system-operation timing-constraint information 303 at a time of test operation based on the test clock information 302, the system-operation timing-constraint information 303, and the DFT information 304. If the clock is not the same as that at a time of system operation, the timing-constraint-information creating unit 305 performs processing for invalidating the path and creates test-operation timing-constraint information 306. The test-operation timing-constraint information 306 also includes the multi-cycle path and the false path of the target circuit 200.
An analyzing unit 307 is a static timing analyzer, and when the system-operation timing-constraint information 303 and the test-operation timing-constraint information 306 are the same, outputs the system-operation timing-constraint information 303 to an apparatus for supporting test pattern generation 310. On the other hand, when the system-operation timing-constraint information 303 is different from the test-operation timing-constraint information 306, the analyzing unit 307 outputs the test-operation timing-constraint information 306 to the apparatus 310. Furthermore, when a timing error cannot be settled by layout correction after the analysis by the analyzing unit 307, the analyzing unit 307 outputs a timing-settlement noncompliance path 308 to the apparatus 310.
The apparatus 310 includes an acquiring unit 311, a detecting unit 312, a tested-path extracting unit 313, a search unit 314, an untested-cell extracting unit 315, and a correcting unit 316. The acquiring unit 311 acquires the connection information 301 of the target circuit 200, and an untested path. The untested path denotes the timing constraint information 303 (or 306) or the timing-settlement noncompliance path 308. An example of the timing constraint information 303 (or 306) in the target circuit 200 is shown in (a) to (d) below.
Furthermore, an example of the timing-settlement noncompliance path 308 in which timing cannot be settled in the target circuit 200 is shown in (e) below.
(a) to (e) correspond to respective signs of dotted lines with arrow in
The detecting unit 312 detects all paths between FF cells in the target circuit 200 based on the connection information 301 acquired. The paths between all the FF cells are as follows.
The tested-path extracting unit 313 extracts the tested path from path 1 to path 9 detected by the detecting unit 312 based on the untested paths “a” to “e”. Specifically, paths (path 2, path 3, path 5, path 7) excluding the untested paths “a” to “e” are extracted as the tested path from path 1 to path 9 between the FF cells. The tested-path extracting unit 313 creates a tested path list 500 from the extracted tested paths.
As shown in
The search processing will be specifically explained.
A subtraction value (F−R) obtained by subtracting the target parameter R from the out-of-target parameter F is calculated for each cell in the target circuit 200. When the subtraction value is larger than “0”, the number included in the untested path is larger than the number included in the tested path, and when the subtraction value is smaller than “0”, the number included in the untested path is smaller than the number included in the tested path.
For example, when referring to the table shown in
The untested-cell extracting unit 315 extracts an untested cell from among cells forming the target circuit 200 based on the cells forming the untested paths “a” to “e” (see
When having extracted the untested cell, the untested-cell extracting unit 315 changes the end flag (see
Thereafter, the search unit 314 refers to the untested path list 400 shown in
Thereafter, the untested-cell extracting unit 315 changes the end flag (see
The correcting unit 316 corrects the connection information 301 so that a dummy buffer is inserted in a stage previous to the untested cells (cell E, cell A, FF4, and FF8) extracted. Specifically, the dummy buffer is connected to a data pin, which is an input terminal of FF4 and FF8, of the untested cells (cell E, cell A, FF4, and FF8).
The functions of the timing-constraint-information creating unit 305, the analyzing unit 307, the respective components 311 to 316 in the apparatus 310, and the test-pattern generating unit 320 are realized by the CPU 101 executing a program recorded on a recording medium, such as the ROM 102, the RAM 103, and the HDD 105 shown in
The tested-path extracting unit 313 extracts the tested paths (path 2, path 3, path 5, and path 7) (step S1004), and creates the tested path list 500 shown in
The untested-cell extracting unit 315 extracts the untested cell (step S1007), and changes the end flag of the untested path including the extracted untested cell from “0” to “1” (step S1008). When all of the end flags in the untested path list 400 are not changed to “1” (“NO” at step S1009), a process returns to step S1006 to execute the search processing. In this case, since the untested path having the end flag of “1” is not referred to the out-of-target parameter F, the target parameter R, and the subtraction value (F−R) are reset as shown in
When all end flags in the untested path list 400 are changed to “1” (“YES” at step S1009), it is determined whether an FF cell is included in the extracted untested cell (step S1010). When the FF cell is included (“YES” at step S1010), the connection information 301 is corrected so that a dummy buffer is inserted and connected to the data pin of the FF cell (step S1011). Thus, a series of the process is finished. On the other hand, when no FF cell is included (“NO” at step S1010), the series of processing is finished then.
According to the apparatus 310, a point that is determined as the untested path by mistake, that is, the data pin of the untested cell, can be automatically detected. Accordingly, it is possible to prevent, by inserting the dummy buffer in the point, a problem in which a tested path is detected as an untested path by mistake. Therefore, the detection rate in the transition delay test can be improved.
According to the method and the apparatus 310 for supporting test pattern generation, and the computer product, the TAT can be reduced, and the detection rate in the transition delay test can be improved. Accordingly, an untested path can be provided highly accurately with respect to the test-pattern generating unit 320 (automatic test-pattern generator), thereby improving reliability of the test pattern generated.
The method for supporting test pattern generation that is explained in the embodiments of the present invention is implemented by executing a computer program prepared in advance by a computer, such as a personal computer and a workstation. The computer program is recorded in a computer-readable recording medium, such as the CD-ROM, the MO, and the DVD, and is executed by the computer reading out from the recording medium. The computer program may be a transmission medium that is distributed through a network such as the Internet.
According to the present invention, it is possible to reduce the TAT, and to improve the detection rate in the transition delay test
Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art which fairly fall within the basic teaching herein set forth.
Number | Date | Country | Kind |
---|---|---|---|
2005-066232 | Mar 2005 | JP | national |