JP4565965B2 - Extraction apparatus, extraction method and program - Google Patents
Extraction apparatus, extraction method and program Download PDFInfo
- Publication number
- JP4565965B2 JP4565965B2 JP2004315405A JP2004315405A JP4565965B2 JP 4565965 B2 JP4565965 B2 JP 4565965B2 JP 2004315405 A JP2004315405 A JP 2004315405A JP 2004315405 A JP2004315405 A JP 2004315405A JP 4565965 B2 JP4565965 B2 JP 4565965B2
- Authority
- JP
- Japan
- Prior art keywords
- signal line
- value
- external input
- signal lines
- test pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本発明は、抽出装置、抽出方法及びプログラムに関し、特に論理回路に対するテストパターンにおける外部入力値に含まれる確定値を抽出する装置等に関する。 The present invention relates to an extraction apparatus, an extraction method, and a program , and more particularly to an apparatus for extracting a deterministic value included in an external input value in a test pattern for a logic circuit.
通常、製造されたLSIのチップに対しては、出荷前にそのチップが不良品でないことが確認され、良品と判定されたものは市場へ出荷され、不良品と判定されたものは廃棄されるという出荷テストが行われる。出荷テストで行われるテストのひとつとして、LSIテスタを用いて、LSIの外部入力ピンから値を印加して、外部出力ピンでの応答値が正しいか否かを判定するというものがある。このとき外部入力ピンに印加する値は、一般に自動テストパターン生成と呼ばれるツールで作成されたテストパターンが使用される。これまでは、主に回路中の単一縮退故障を仮定し、テストパターン生成が行われていた。ここで、単一縮退故障とは、実際にLSI中におこる物理的欠陥をモデル化したもののひとつで、論理回路中の一箇所のみで論理回路を構成する論理ゲートの入出力信号線の値が0または1に固定する故障をいう。 Usually, for manufactured LSI chips, it is confirmed that the chip is not defective before shipment, and those determined to be non-defective are shipped to the market, and those determined to be defective are discarded. A shipping test is performed. One of the tests performed in the shipping test is to use an LSI tester to apply a value from the external input pin of the LSI and determine whether or not the response value at the external output pin is correct. At this time, a test pattern created by a tool called automatic test pattern generation is generally used as a value to be applied to the external input pin. Until now, test patterns have been generated mainly assuming single stuck-at faults in the circuit. Here, a single stuck-at fault is one that models a physical defect that actually occurs in an LSI, and the value of the input / output signal lines of the logic gate that constitutes the logic circuit at only one location in the logic circuit is the same. A failure that is fixed at 0 or 1.
テストパターン生成時にはLSIのテスト時に入力する値が0でも1でもよいドントケアの信号値があるものの、LSIの検査を行う際はドントケアの信号値部分が0か1で埋められたテストパターンが使用される。そのため、通常、テストパターン生成において出力されるテストパターンは、0と1で埋められており、ドントケアは含まれない。 When generating a test pattern, there is a don't care signal value that can be 0 or 1 when the LSI is tested, but when testing an LSI, a test pattern in which the don't care signal value portion is filled with 0 or 1 is used. The Therefore, the test pattern output in the test pattern generation is normally filled with 0 and 1, and don't care is not included.
そして、テストパターンから故障検出率を低下させることなくドントケアを抽出する方法についての技術も開示されている(非特許文献1、非特許文献2参照)。以下、非特許文献1に記載されている技術を説明する。
And the technique about the method of extracting don't care from a test pattern, without reducing a failure detection rate is also disclosed (refer
図14は、従来のドントケア抽出処理を含んだテストパターン抽出処理と故障シミュレーション処理についてのフローチャートである。 FIG. 14 is a flowchart of test pattern extraction processing and failure simulation processing including conventional don't care extraction processing.
ステップS10では、ドントケア入りテストパターンの初期化が行われる。テストパターンの初期状態では全ての信号値がドントケアとされる。ステップS20では、テストパターン生成において出力されたテストパターン(以下、「元のテストパターン」とよぶ。なお、ここでの元のテストパターンは0と1とで埋められたテストパターンである。)が使用され、故障シミュレーションが実行される。通常の故障シミュレーションでは、テストパターン中のテストベクトル順に、故障が設定され、シミュレーションが行われる。1つのテストベクトルにおいて、1つの故障が1回検出されるとそれ以降のテストベクトルでは、その故障に関してシミュレーションは行われず、故障リストから削除される(以下、「故障ドロップ」とよぶ。)。但し、このステップS20では、2回検出された後、故障ドロップが行われる。ステップS30では、ステップS20の故障シミュレーションにおいて、1回以上検出された故障のリストが作成される。なお、ドントケア入りテストパターン抽出の目的は、ここで作成された故障リストを全て検出するドントケア入りのテストパターンを元のテストパターンから抽出する処理を行うことであるが、そのために以下のような処理をここでは実行することにしている。 In step S10, the test pattern with don't care is initialized. In the initial state of the test pattern, all signal values are don't care. In step S20, the test pattern output in the test pattern generation (hereinafter referred to as “original test pattern”. Here, the original test pattern is a test pattern filled with 0 and 1). Used and fault simulation is performed. In normal fault simulation, faults are set in the order of test vectors in the test pattern, and simulation is performed. When one failure is detected once in one test vector, the subsequent test vectors are not simulated for the failure and are deleted from the failure list (hereinafter referred to as “failure drop”). However, in this step S20, a failure drop is performed after two detections. In step S30, a list of faults detected at least once in the fault simulation of step S20 is created. The purpose of extracting the test pattern with don't care is to extract the test pattern with don't care that detects all the failure lists created here from the original test pattern. I am going to run here.
ステップS40では、ステップS20の処理で1回しか検出されなかった故障(以下、「必須故障」とよぶ。)のリストが抽出される。ステップS50では、ステップS40で抽出された必須故障に対して、ドントケア入りのテストパターンが抽出される。ステップS60では、ステップS50で作成されたドントケア入りテストパターンが使用されて故障シミュレーションが実行される。 In step S40, a list of faults that have been detected only once in the process of step S20 (hereinafter referred to as “essential faults”) is extracted. In step S50, a test pattern with don't care is extracted for the essential failure extracted in step S40. In step S60, a failure simulation is executed using the test pattern with don't care created in step S50.
ステップS70では、ステップS60で検出されなかった故障(以下、「未検出故障」とよぶ。)のリストが抽出される。ステップS80では、ステップS70で抽出された未検出故障に対して、ドントケア入りのテストパターンが抽出される。ステップS90では、ステップS80で作成されたドントケア入りテストパターンが使用されて故障シミュレーションが実行される。 In step S70, a list of faults not detected in step S60 (hereinafter referred to as “undetected faults”) is extracted. In step S80, a test pattern with don't care is extracted for the undetected failure extracted in step S70. In step S90, a failure simulation is executed using the test pattern with don't care created in step S80.
ステップS100では、ステップS90で検出されなかった故障(以下、「見逃し故障」とよぶ。)のリストが抽出される。ステップS110では、ステップS100で抽出された見逃し故障に対して、ドントケア入りのテストパターンが抽出される。ステップS120では、ステップS110で作成されたドントケア入りテストパターンが使用されて故障シミュレーションが実行される。 In step S100, a list of faults not detected in step S90 (hereinafter referred to as “missing faults”) is extracted. In step S110, a test pattern with don't care is extracted for the missed failure extracted in step S100. In step S120, the failure simulation is executed using the test pattern with don't care created in step S110.
図15は、図14のステップS50の処理を詳細に示したフローチャートである。 FIG. 15 is a flowchart showing in detail the process in step S50 of FIG.
ステップS51では、全テストベクトルについて処理を行ったか否かが確認される。行っていれば処理は終了し、行っていなければステップS52に進む。ステップS52では、現在のテストベクトルにおける全必須故障に対して処理を行ったか否かが確認される。行っていればステップS51に戻り、行っていなければステップS53に進む。ステップS53では、必須故障が並列に設定される。ステップS54では、ステップS53で設定された故障に対して、故障シミュレーションが行われる。ステップS55では、ステップS54で行った故障シミュレーションの結果を元に故障伝搬経路が決定される。通常、設定された故障の伝搬経路はひとつとは限らず、複数の経路を伝搬する可能性がある。しかし、故障伝搬経路の決定では、各故障についてひとつの伝搬経路をとおして、外部出力および擬似外部出力まで故障の影響が伝搬すればよいので、ステップS53で設定された故障の影響が多く伝搬している外部出力および擬似外部出力から優先的に選択し、選択された外部出力および擬似外部出力から設定した故障箇所までの経路を故障伝搬経路とする。故障の影響が多く伝搬している外部出力および擬似外部出力から優先的に処理することにより、同じ伝搬経路を多くの故障が伝搬することになり、結果的に設定された故障の検出に必要な信号値の割当が少なくなると考えられる。ステップS56では後述する前方含意操作、限定後方含意操作、或いは限定正当化操作が行われ、外部入力及び擬似外部入力の値が決定される。 In step S51, it is confirmed whether or not processing has been performed for all test vectors. If so, the process ends. If not, the process proceeds to step S52. In step S52, it is confirmed whether or not processing has been performed for all essential faults in the current test vector. If so, the process returns to step S51. If not, the process proceeds to step S53. In step S53, essential faults are set in parallel. In step S54, failure simulation is performed for the failure set in step S53. In step S55, a failure propagation path is determined based on the result of the failure simulation performed in step S54. Normally, the set propagation path of a failure is not limited to one, and there is a possibility of propagating a plurality of paths. However, in determining the failure propagation path, it is only necessary that the influence of the failure propagates to the external output and the pseudo external output through one propagation path for each failure. Therefore, the influence of the failure set in step S53 propagates a lot. A preferential selection is made from the external output and the pseudo external output, and the path from the selected external output and pseudo external output to the set fault location is set as a fault propagation path. By preferentially processing from the external output and pseudo external output that propagate the influence of many faults, many faults propagate through the same propagation path, and as a result, it is necessary to detect the set fault. It is considered that the signal value allocation is reduced. In step S56, a forward implication operation, a limited backward implication operation, or a limited justification operation, which will be described later, is performed, and values of external input and pseudo external input are determined.
図16は、限定後方含意操作、限定正当化操作を説明するための図であって、図16(a)は限定後方含意操作を説明するための図であり、図16(b)は限定正当化操作を説明するための図である。図17は拡張後方含意操作を説明するための図である。ここで、図16及び図17では、全ての図において、信号線dに値0が設定される場合が示されており、各図に書かれている値は、左側の値がドントケア入りテストパターンの論理値、括弧で書かれている右側の値が元のテストパターンの論理値を表している。
FIG. 16 is a diagram for explaining the limited backward implication operation and the limited justification operation. FIG. 16A is a diagram for explaining the limited backward implication operation, and FIG. It is a figure for demonstrating an operation. FIG. 17 is a diagram for explaining the extended backward implication operation. Here, FIGS. 16 and 17 show the case where the
ドントケア抽出では、元のテストパターンの論理値を参照して必要な値割当が行われるため、各信号線の値はドントケア値か或いは元のテストパターンでの論理値になる。 In the don't care extraction, necessary value assignment is performed with reference to the logical value of the original test pattern, so the value of each signal line is either the don't care value or the logical value of the original test pattern.
図16(a)を参照して、限定後方含意操作では、信号線dの値を0にする場合、信号線aの値を0にするという選択しかない。このように、選択の余地がないものを「含意操作」とよぶ。 Referring to FIG. 16A, in the limited backward implication operation, when the value of the signal line d is set to 0, there is only a selection that the value of the signal line a is set to 0. In this way, an item that has no room for selection is called an “entailment operation”.
図16(b)を参照して、限定正当化操作では、信号線dの値を0にする場合、信号線aの値を0にする又は信号線cの値を0にするという選択がある。このように、選択の余地があるものを「正当化操作」とよぶ。 Referring to FIG. 16B, in the limited justification operation, when the value of the signal line d is set to 0, there is a selection that the value of the signal line a is set to 0 or the value of the signal line c is set to 0. . In this way, what has room for selection is called a “justification operation”.
図17を参照して、詳細は後述する拡張後方含意操作は、信号線dの値を0にする場合、その信号線に対する入力の信号線全ての値を元のテストパターンでの論理値にする操作である。 Referring to FIG. 17, in the extended backward implication operation, which will be described in detail later, when the value of signal line d is set to 0, the values of all the input signal lines for that signal line are converted to logical values in the original test pattern. It is an operation.
図15に戻って、ステップS55で決定された故障伝搬経路上の信号線は、限定後方含意操作用のスタック(以下、「限定後方含意スタック」とよぶ。)に記憶される。また、故障伝搬経路上の信号線で信号線が複数に分岐している元の信号線は、前方含意操作用のスタック(以下、「前方含意スタック」とよぶ。)に記憶される。なお、前方含意操作は、テストパターン生成で用いられる操作と原理は同じものである。 Returning to FIG. 15, the signal line on the failure propagation path determined in step S55 is stored in a stack for limited back implication operation (hereinafter referred to as “limited back implication stack”). In addition, the original signal line in which the signal line is branched into a plurality of signal lines on the failure propagation path is stored in a stack for forward implication operation (hereinafter referred to as “front implication stack”). Note that the forward implication operation has the same principle as the operation used in test pattern generation.
ステップS56では、前述したような前方含意操作、限定後方含意操作、或いは限定正当化操作が行われるが、その際には前方含意スタック、限定後方含意スタック、限定正当化スタックに記憶されている情報が使用される。 In step S56, the forward implication operation, the limited backward implication operation, or the limited justification operation as described above is performed. At this time, information stored in the forward implication stack, the limited backward implication stack, and the limited justification stack is stored. Is used.
図18から図20は、図15のステップS56の処理を詳細に示したフローチャートである。 18 to 20 are flowcharts showing in detail the process of step S56 of FIG.
ステップS561では、前方含意スタックに記憶されている信号線があるか否かが確認される。空の場合にはステップS566に進み、空ではない場合にはステップS562に進む。 In step S561, it is confirmed whether there is a signal line stored in the front implication stack. If it is empty, the process proceeds to step S566. If it is not empty, the process proceeds to step S562.
ステップS562では、前方含意スタックに記憶されている信号線が一つ選択される。ステップS563では、ステップS562で選択された信号線に対して、前方含意操作が行われる。ステップS564では、ステップS563の処理により、ステップS562で選択された信号線の出力信号値が更新されるか否かが確認される。更新不要の場合にはステップS561に戻り、更新される場合にはステップS565に進む。ステップS565では、ステップS564において出力信号値が更新されることが確認された信号線が前方含意スタックに記憶される。なお、出力信号線が外部出力又は擬似外部出力の場合は、前方含意スタックへの記憶は行われない。ステップS565の処理の後は、ステップS561に戻る。 In step S562, one signal line stored in the front implication stack is selected. In step S563, a forward implication operation is performed on the signal line selected in step S562. In step S564, it is confirmed whether or not the output signal value of the signal line selected in step S562 is updated by the process of step S563. If no update is required, the process returns to step S561, and if updated, the process proceeds to step S565. In step S565, the signal line whose output signal value is confirmed to be updated in step S564 is stored in the front implication stack. When the output signal line is an external output or a pseudo external output, storage in the front implication stack is not performed. After the process of step S565, the process returns to step S561.
ステップS566では、限定後方含意スタックに記憶されている信号線があるか否かが確認される。空の場合にはステップS574に進み、空ではない場合にはステップS567に進む。ステップS567では、限定後方含意スタックに記憶されている信号線が一つ選択される。ステップS568では、ステップS567で選択された信号線が限定後方含意操作可能か否かについて確認される。可能ではない場合にはステップS573に進み、可能な場合にはステップS569に進んでステップS567で選択された信号線に対して限定後方含意操作が行われる。ステップS570では、ステップS569の処理により、ステップS567で選択された信号値を含意した入力信号線が限定後方含意スタックに記憶される。なお、ステップS567で選択された信号値を含意した入力信号線が外部入力又は擬似外部入力の場合は、限定後方含意スタックへの記憶は行われない。ステップS571では、ステップS569の処理により、ステップS567で選択された信号値を含意した入力信号線が、又は後述するステップS576の処理により正当化した入力信号線が(図20参照)、複数に分岐しているか否かが確認される。分岐していない場合にはステップS566に戻り、分岐している場合にはステップS572に進む。ステップS572では、ステップS571で複数に分岐しているか確認された信号線が前方含意スタックに記憶され、それに引き続く処理としてステップS561に戻る。 In step S566, it is confirmed whether there is a signal line stored in the limited rear implication stack. If it is empty, the process proceeds to step S574, and if it is not empty, the process proceeds to step S567. In step S567, one signal line stored in the limited back implication stack is selected. In step S568, it is confirmed whether or not the signal line selected in step S567 is capable of the limited rear implication operation. If not possible, the process proceeds to step S573. If possible, the process proceeds to step S569, and the limited back implication operation is performed on the signal line selected in step S567. In step S570, the input signal line implying the signal value selected in step S567 is stored in the limited rear implication stack by the process of step S569. If the input signal line implying the signal value selected in step S567 is an external input or a pseudo external input, no storage in the limited rear implication stack is performed. In step S571, the input signal line implying the signal value selected in step S567 by the process of step S569 or the input signal line justified by the process of step S576 described later (see FIG. 20) is branched into a plurality. It is confirmed whether or not. If it is not branched, the process returns to step S566, and if it is branched, the process proceeds to step S572. In step S572, the signal line confirmed to be branched into a plurality in step S571 is stored in the front implication stack, and the process returns to step S561 as a subsequent process.
ステップS573では、ステップS567で選択された信号線が限定正当化スタックに記憶され、それに引き続く処理としてステップS566に戻る。 In step S573, the signal line selected in step S567 is stored in the limited justification stack, and the process returns to step S566 as subsequent processing.
ステップS574では、限定正当化スタックに記憶されている信号線があるか否かが確認され、空の場合には処理が終了し、空ではない場合にはステップS575に進む。ステップS575では、限定正当化スタックに記憶されている信号線が一つ選択される。ステップS576では、ステップS575で選択された信号線に対して、限定正当化操作が行われる。ステップS577では、ステップS576の処理により、ステップS575で選択された信号値を正当化した入力信号線が限定後方含意スタックに記憶される。なお、ステップS575で選択された信号値を正当化した入力信号線が外部入力又は擬似外部入力の場合は、限定後方含意スタックへの記憶は行われない。これに引き続く処理としては、ステップS571に進む。 In step S574, it is confirmed whether there is a signal line stored in the limited justification stack. If the signal line is empty, the process ends. If not empty, the process proceeds to step S575. In step S575, one signal line stored in the limited justification stack is selected. In step S576, a limiting justification operation is performed on the signal line selected in step S575. In step S577, the input signal line that justifies the signal value selected in step S575 is stored in the limited rear implication stack by the process in step S576. When the input signal line that justifies the signal value selected in step S575 is an external input or a pseudo external input, the storage to the limited back implication stack is not performed. As a process subsequent to this, the process proceeds to step S571.
ところで、図14のステップS80の処理はステップS50の処理と同様であり、ステップS50およびS80の値割当時(ステップS56参照)、(a)限定後方含意操作、(b)限定正当化操作を使用することで、元のテストパターンで検出できる故障のほとんどを検出可能なドントケア入りのテストパターンが得られる。しかし、稀に見逃される故障があり、この見逃し故障に関しては、図14のステップS110の値割当時に、(b)限定正当化操作を使用せず、(a)限定後方含意操作と(c)拡張後方含意操作が使用される。 By the way, the process of step S80 of FIG. 14 is the same as the process of step S50, and at the time of value assignment of steps S50 and S80 (see step S56), (a) limited backward implication operation and (b) limited justification operation are used. By doing so, a test pattern with don't care that can detect most of the faults that can be detected with the original test pattern is obtained. However, there is a fault that is rarely overlooked. Regarding this missed fault, (b) the limited justification operation and (c) the extended back implication operation are not used when assigning the value in step S110 of FIG. Back implication operation is used.
図21は、図14におけるステップS110での値割当処理(図15のステップS56に対応する。)を詳細に示したフローチャートである。なお、図15のステップS55に対応するステップS110内の処理では、限定後方含意スタックに記憶していた信号線を後方含意操作用スタックに記憶し、前方含意スタックへの記憶は行われないものとしている。 FIG. 21 is a flowchart showing in detail the value assignment process (corresponding to step S56 in FIG. 15) in step S110 in FIG. In the processing in step S110 corresponding to step S55 in FIG. 15, the signal line stored in the limited rear implication stack is stored in the rear implication stack, and is not stored in the front implication stack. Yes.
ステップS1101では、後方含意スタックに記憶されている信号線があるか否かが確認される。空の場合には処理が終了し、空ではない場合にはステップS1102に進む。ステップS1102では、後方含意スタックに記憶されている信号線が一つ選択される。ステップS1103では、ステップS1102で選択された信号線に故障の影響が伝搬しているか否かが確認される。伝搬していることが確認された場合にはステップS1106に進み、伝搬していることが確認されない場合にはステップS1104に進む。ステップS1104では、ステップS1102で選択された信号線に対して、限定後方含意操作が行われる。ステップS1105では、ステップS1104の処理により、ステップS1102で選択された信号値を含意した入力信号線が後方含意スタックに記憶される。なお、ステップS1102で選択された信号値を含意した入力信号線が外部入力又は擬似外部入力の場合は行われない。ステップS1106では、ステップS1102で選択された信号線に対して、拡張後方含意操作が行われる。ステップS1107では、ステップS1104の処理により、ステップS1102で選択された信号値を含意した入力信号線が後方含意スタックに記憶される。なお、ステップS1102で選択された信号値を含意した入力信号線が外部入力又は擬似外部入力の場合は、後方含意スタックへの記憶は行われない。 In step S1101, it is confirmed whether there is a signal line stored in the rear implication stack. If it is empty, the process ends. If it is not empty, the process proceeds to step S1102. In step S1102, one signal line stored in the rear implication stack is selected. In step S1103, it is confirmed whether or not the influence of the failure is propagated to the signal line selected in step S1102. If it is confirmed that it is propagated, the process proceeds to step S1106. If it is not confirmed that it is propagated, the process proceeds to step S1104. In step S1104, a limited back implication operation is performed on the signal line selected in step S1102. In step S1105, the input signal line implying the signal value selected in step S1102 is stored in the rear implication stack by the process of step S1104. It is not performed when the input signal line implying the signal value selected in step S1102 is an external input or a pseudo external input. In step S1106, an extended backward implication operation is performed on the signal line selected in step S1102. In step S1107, the input signal line implying the signal value selected in step S1102 is stored in the rear implication stack by the process of step S1104. Note that if the input signal line implying the signal value selected in step S1102 is an external input or a pseudo external input, storage in the rear implication stack is not performed.
ところで、LSIの大規模化・高速化・微細化に伴い、これまでにはなかったテストへの様々な要求や問題が生じてきている。例えば、単一縮退故障に対して生成されたテストパターンでは検出できない遅延故障などの他の故障モデルへの対応、テストデータ量やテスト時間の削減、テスト時の消費電力の低減が挙げられる。このような問題等は、ドントケアの数が多いほど解決される可能性が高い。 By the way, with the increase in scale, speed, and miniaturization of LSIs, various demands and problems for tests that have not existed before have arisen. For example, it is possible to cope with other fault models such as delay faults that cannot be detected by a test pattern generated for a single stuck-at fault, reduction of test data amount and test time, and reduction of power consumption during testing. Such problems and the like are more likely to be solved as the number of don't cares increases.
しかしながら、従来の方法では、図16に示すとおり、(a)限定後方含意操作、(c)拡張後方含意操作では値が一意に決定するが、(b)限定正当化操作では選択の余地がある。そのため、(b)限定正当化操作を用いた場合、図14のステップS50およびS80内の値割当の結果、得られるドントケア入りのテストパターンはドントケア数が最多のものとはいえない。 However, in the conventional method, as shown in FIG. 16, the value is uniquely determined in (a) limited backward implication operation and (c) extended backward implication operation, but (b) there is room for selection in the limited justification operation. . Therefore, when (b) limited justification operation is used, the test pattern with don't care obtained as a result of value assignment in steps S50 and S80 in FIG. 14 cannot be said to have the largest number of don't cares.
ゆえに、本発明の目的は、論理回路に対するテストパターンにおける外部入力値に含まれるドントケア値の数を多くし、テストパターンの最適化を図ってテスト時の消費電力の削減等を実現可能な抽出方法を提供することである。 Therefore, an object of the present invention is to provide an extraction method capable of increasing the number of don't care values included in external input values in a test pattern for a logic circuit, optimizing the test pattern, and reducing power consumption during testing. Is to provide.
本発明は、請求項1に係る発明が、論理回路に対するテストパターンにおける外部入力値に含まれる確定値を抽出する装置であって、前記論理回路における正当化すべき所定の信号線を選択する選択手段と、前記選択された所定の信号線を正当化するために関係がある信号線を所定の追跡規則に従ってマークするマーク手段と、前記マークされた信号線のうち、外部入力信号線及びその出力となる信号線に対して、当該信号線が制御されている場合には、マークがあり制御値をもつ入力信号線に伝播している要素の和集合をとり、当該信号線が制御されていない場合には、マークがある全入力信号に伝播している要素の積集合をとり、さらに、前記和集合及び前記積集合をとる処理の終了後に、前記選択された所定の信号線に伝播している要素の和をとって正当化積和形論理関数とすることにより、外部入力信号線から前記選択された所定の信号線までの論理回路の信号線に対して論理関数を割り当てる割当手段と、前記割り当てられた論理関数を用いた従属問題を解いて前記外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求める演算手段と、を備える。また、請求項2に係る発明は、論理回路に対するテストパターンにおける外部入力値に含まれる確定値を抽出する方法であって、選択手段が、前記論理回路における正当化すべき所定の信号線を選択するステップと、マーク手段が、前記選択された所定の信号線を正当化するために関係がある信号線を所定の追跡規則に従ってマークするステップと、割当手段が、前記マークされた信号線のうち、外部入力信号線及びその出力となる信号線に対して、当該信号線が制御されている場合には、マークがあり制御値をもつ入力信号線に伝播している要素の和集合をとり、当該信号線が制御されていない場合には、マークがある全入力信号に伝播している要素の積集合をとり、さらに、前記和集合及び前記積集合をとる処理の終了後に、前記選択された所定の信号線に伝播している要素の和をとって正当化積和形論理関数とすることにより、外部入力信号線から前記選択された所定の信号線までの論理回路の信号線に対して論理関数を割り当てるステップと、演算手段が、前記割り当てられた論理関数を用いた従属問題を解いて前記外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求めるステップと、を含む。さらに、請求項3に係る発明は、コンピュータに、選択手段が、前記論理回路における正当化すべき所定の信号線を選択するステップと、マーク手段が、前記選択された所定の信号線を正当化するために関係がある信号線を所定の追跡規則に従ってマークするステップと、割当手段が、前記マークされた信号線のうち、外部入力信号線及びその出力となる信号線に対して、当該信号線が制御されている場合には、マークがあり制御値をもつ入力信号線に伝播している要素の和集合をとり、当該信号線が制御されていない場合には、マークがある全入力信号に伝播している要素の積集合をとり、さらに、前記和集合及び前記積集合をとる処理の終了後に、前記選択された所定の信号線に伝播している要素の和をとって正当化積和形論理関数とすることにより、外部入力信号線から前記選択された所定の信号線までの論理回路の信号線に対して論理関数を割り当てるステップと、演算手段が、前記割り当てられた論理関数を用いた従属問題を解いて前記外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求めるステップと、を実行させて、前記論理回路に対するテストパターンにおける外部入力値に含まれる確定値を抽出するためのプログラムである。
The invention according to
これにより、外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求めることができ、言い換えればドントケア値の個数が最大となる信号値の組み合わせを求めることができる。 Accordingly, a combination of signal values that minimizes the number of definite values included in the external input value can be obtained, in other words, a combination of signal values that maximizes the number of don't care values can be obtained.
なお、上記選択される所定の信号線が単数の場合には割り当てられた論理関数の従属問題を解けばよいが、上記選択される所定の信号線が複数の場合にはそれぞれに対して割り当てられた論理関数の積によって定まる論理関数の従属問題を解けばよい。 Note that when the number of the predetermined signal lines selected is single, it is sufficient to solve the dependency problem of the assigned logical function. However, when the number of the predetermined signal lines selected is plural, the assignment is performed for each. Solving the logic function dependency problem determined by the product of the logic functions.
また、上記発明は論理回路に対するテストパターンにおける外部入力値に含まれる確定値を抽出する方法としているが、論理回路に対するテストパターンにおける外部入力値に含まれるドントケア値を抽出する方法発明として捉えなおしてもよく、テストパターン生成方法という方法発明として捉えなおしてもよい。 Further, the above invention is a method for extracting a deterministic value included in an external input value in a test pattern for a logic circuit, but it is reinterpreted as a method invention for extracting a don't care value included in an external input value in a test pattern for a logic circuit. Alternatively, it may be reinterpreted as a method invention called a test pattern generation method.
さらに、本発明を含む上記これらの方法発明に対し、その方法をコンピュータに実行させることが可能なプログラムという発明として捉えなおしてもよく、そのプログラムを記録した記録媒体という発明として捉えなおしてもよい。 Furthermore, the above method inventions including the present invention may be reconsidered as an invention of a program capable of causing a computer to execute the method, or may be reconsidered as an invention of a recording medium recording the program. .
さらに、本発明を含む上記これらの方法発明ではなく、装置発明として捉えなおしてもよい。 Furthermore, it may be re-recognized as an apparatus invention instead of the above method inventions including the present invention.
本発明によれば、外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求めることができ、言い換えればドントケア値の個数が最大となる信号値の組み合わせを求めることができる。それにより、単一縮退故障の検出は保証したうえで、テストベクトルの統合によるテスト圧縮、テストパターンの符号化やLFSRを用いたテストパターン発生によるテスト圧縮、テスト時の消費電力の削減、単一縮退故障以外の故障検出能力の向上、精確な故障位置指摘等において、その効果を最大限に引き出すテストパターンを求めることができる。 According to the present invention, a combination of signal values that minimizes the number of deterministic values included in the external input value can be obtained, in other words, a combination of signal values that maximizes the number of don't care values can be obtained. This guarantees the detection of single stuck-at faults, test compression by integrating test vectors, test compression by test pattern encoding and test pattern generation using LFSR, reduction of power consumption during testing, single It is possible to obtain a test pattern that maximizes the effect of improving fault detection capability other than stuck-at faults and accurately indicating fault locations.
図1は本発明の実施の形態にかかるテストパターン生成装置を示したブロック図であり、図2は図1のドントケア入りテストパターン抽出部の内部構成を示した図である。 FIG. 1 is a block diagram showing a test pattern generation apparatus according to an embodiment of the present invention, and FIG. 2 is a diagram showing an internal configuration of a test pattern extraction unit with don't care shown in FIG.
テストパターン生成装置1は、処理部3と、メモリ部5とを備える。処理部3は、ネットリスト読込み部7と、初期故障リスト生成部9と、検出目標故障リスト選択部11と、故障シミュレーション部13と、ドントケア入りテストパターン抽出部15と、テストパターン読込み部17とを備える。
The test
図2に示すようにドントケア入りテストパターン抽出部15は確定値抽出部151を備え、確定値抽出部151は、選択部1511と、マーク部1512と、割当部1513と、演算部1514とを備える。
As shown in FIG. 2, the test
図1に戻って、メモリ部5は、回路情報部19と、故障リスト部21と、ドントケア入りテストパターン部23と、テストパターン部25とを備える。
Returning to FIG. 1, the
テストパターン生成装置1は、データ記憶装置27との間においてデータ通信を行え得る。具体的には、データ記憶装置27に記憶されているネットリストを示すデータが処理部3のネットリスト読込み部7により読み込まれ、データ記憶装置27に記憶されているテストパターンを示すデータが処理部3のテストパターン読込み部17により読み込まれ、処理部3のドントケア入りテストパターン抽出部15が抽出したドントケア抽出テストパターンを示すデータがデータ記憶装置27に記憶される。ネットリスト読込み部7から回路情報部19には読み込まれたネットリストを示すデータが送られ、回路情報部19には回路情報が蓄積され、その回路情報が初期故障リスト生成部9及び故障シミュレーション部13に送られる。初期故障リスト生成部9で生成された初期故障リストを示すデータは故障リスト部21に送られる。故障リスト部21は、検出目標故障リスト選択部11及び故障シミュレーション部13とデータ交換をして故障リストを更新するとともに、故障リストを示すデータをドントケア入りテストパターン抽出部15に送る。また、テストパターン読込み部17で読み込まれたテストパターンを示すデータは、テストパターン部25に送られ、それからさらにドントケア入りテストパターン抽出部15及び故障シミュレーション部13に送られる。ドントケア入りテストパターン抽出部15は、テストパターン部25から受け取ったテストパターンについての情報と故障リスト部21から受け取った故障リストについての情報から抽出したドントケア入りテストパターンを示すデータをドントケア入りテストパターン部23に送る。故障シミュレーション部13はこのドントケア入りテストパターン部23からのドントケア入りテストパターンを示すデータも受け取っており、上記した他の入力されたデータをも用いてシミュレーションを実行する。なお、テストパターン生成装置1は、入出力制御装置29を介して入力装置31からのデータ入力を受けることができ、入出力制御装置29を介して出力装置33に対してデータ出力を行える。
The test
図3から図5は、本発明の実施の形態にかかる抽出方法を説明するためのフローチャートである。 3 to 5 are flowcharts for explaining the extraction method according to the embodiment of the present invention.
図3から図5は、図18から図20に対応しており、図19及び図20に示すステップS573以降の処理に代えてステップST573以降の処理が図4及び図5では採用されている。なお、以下の図3から図5に示す処理説明において、ステップS561からステップS572までの処理は共通であるため説明を省略する。 FIGS. 3 to 5 correspond to FIGS. 18 to 20, and the processes after step ST 573 are employed in FIGS. 4 and 5 instead of the processes after step S 573 shown in FIGS. 19 and 20. In the process description shown in FIGS. 3 to 5 below, the process from step S561 to step S572 is the same, and the description is omitted.
ステップST573とステップST574の処理は図19のステップS573と図20のステップS574と同様であるが、ステップST574において正当化が必要な信号線を記憶するスタック(以下、「正当化スタック」とよぶ。)に記憶されている信号線があるか否かが確認される。空の場合にはステップST578に進み、空ではない場合にはステップST575に進む。ステップST575では、図2の選択部1511により正当化スタックに記憶されている信号線が一つ選択される。ステップST576では、図2のマーク部1512により、ステップST575で選択された信号線を正当化するのに関係のある信号線がマークされる。ステップST577では、割当部1513により、ステップST575で選択された信号線を正当化する論理関数が作成されて割り当てられる。この論理関数は、マークされた信号線のうち外部入力信号線から選択された信号線までの論理回路の信号線に対して適用される論理関数であって、選択された信号線を正当化するための所定の演算規則に従って割り当てられたものである。そして、ステップST577の処理に引き続く処理はステップST574の処理であり、このループ処理が行われた結果、正当化スタックが空であると確認されるとステップST578では、ステップST577で作成された各信号線を正当化する論理関数の積をとった論理関数が作成されて割り当てられる。そして、ステップST579では、図2の演算部1514により、ステップST578で作成された論理関数の従属問題が解かれる。
The processing in step ST573 and step ST574 is the same as that in step S573 in FIG. 19 and step S574 in FIG. 20, but a stack for storing signal lines that need to be justified in step ST574 (hereinafter referred to as “justification stack”). ) Is confirmed whether there is a signal line stored. If it is empty, the process proceeds to step ST578. If it is not empty, the process proceeds to step ST575. In step ST575, one signal line stored in the justification stack is selected by the
図6は、図5のステップST576の処理を詳細に示したフローチャートである。図7は上記マークに使われる追跡規則の一例を示した図である。 FIG. 6 is a flowchart showing in detail the process of step ST 576 of FIG. FIG. 7 is a diagram showing an example of the tracking rule used for the mark.
図5のステップST576では、ステップST575で選択された信号線を正当化するために関係がある信号線を所定の追跡規則に従ってマークするため、入力側に向かって追跡を行う。ここでの追跡規則は図7のようなものであり、図中に書かれている値は元のテストパターンの論理値を表している。 In step ST576 of FIG. 5, the signal lines related to justify the signal line selected in step ST575 are traced toward the input side in order to mark the signal lines according to a predetermined tracking rule. The tracking rule here is as shown in FIG. 7, and the value written in the figure represents the logical value of the original test pattern.
図7に示すように、基本的には、追跡規則は(a)出力値が制御されているとき、(b)出力値が制御されていないときに分けられる。ここで、出力値が制御されているときとは、あるゲートにおいて、入力値が一つでもある値ならば他の入力値に関わらず、出力値が決定する状態のことをいう。例えば、ANDゲートの場合、一つでも入力値が0ならば、出力値は0になる。このような状態を出力値が制御されているという。図7(a)の出力値が制御されているときは、入力が制御値の信号線がマークされる。図7の(a)において、dの出力値は0で制御されているので、入力で制御値をもっている信号線aとcがマークされる。一方、図7の(b)の出力値が制御されていないときは、全ての入力信号線がマークされる。図7の(b)において、dの出力値は1で制御されていないので、全ての入力信号線a、b、cがマークされる。なお、XORゲートのように出力値が制御されていないゲートやNOTゲートのように出力信号線に対して、入力信号線が一つしかないゲートについては、全ての入力信号線がマークされる。つまり、(b)の出力値が制御されていないときと同様な処理が行われる。 As shown in FIG. 7, basically, the tracking rule is divided when (a) the output value is controlled and (b) when the output value is not controlled. Here, when the output value is controlled, it means a state in which an output value is determined regardless of other input values in a certain gate if there is even one input value. For example, in the case of an AND gate, if even one input value is 0, the output value is 0. This state is called output value control. When the output value in FIG. 7A is controlled, a signal line whose input is a control value is marked. In FIG. 7A, since the output value of d is controlled at 0, the signal lines a and c having the control value at the input are marked. On the other hand, when the output value in FIG. 7B is not controlled, all input signal lines are marked. In FIG. 7B, since the output value of d is not controlled by 1, all the input signal lines a, b and c are marked. Note that all input signal lines are marked for a gate that has only one input signal line relative to an output signal line, such as a gate whose output value is not controlled, such as an XOR gate, or a NOT gate. That is, the same processing as when the output value of (b) is not controlled is performed.
図6を用いて、このような追跡規則を考慮した処理を説明する。 With reference to FIG. 6, processing that considers such tracking rules will be described.
ステップST5761では、正当化信号線が追跡スタックに格納される。追跡スタックとは、正当化に関係のある信号線を格納するためのスタックであり、格納されている信号線について、図7のような追跡規則を適用する。ステップST5762では、追跡スタックが空であるか否かが確認される。空の場合には処理が終了し、空ではない場合にはステップST5763に進み、追跡スタックに記憶されている信号線が一つ選択される。ステップST5764では、ステップST5763で選択された信号線がマークされる。ステップST5765では、ステップST5763で選択された信号線が外部入力または擬似外部入力であるか否かが確認される。外部入力または擬似外部入力である場合にはステップST5762に戻り、外部入力または擬似外部入力でない場合にはステップST5766へ進む。ステップST5766では、ステップST5763で選択された信号線の値が制御されているか否かが確認される。制御されている場合にはステップST5768に進み、制御されていない場合にはステップST5767に進む。ステップST5767では、ステップS5763で選択された信号線の全入力信号線が追跡スタックに格納される。ステップS5768では、ステップS5764で選択された信号線の入力信号線のうち、信号値が制御値である信号線が追跡スタックに格納される。 In Step ST5761, the justified signal line is stored in the tracking stack. The tracking stack is a stack for storing signal lines related to justification, and the tracking rule as shown in FIG. 7 is applied to the stored signal lines. In Step ST5762, it is confirmed whether or not the tracking stack is empty. If it is empty, the process ends. If it is not empty, the process proceeds to step ST5763, and one signal line stored in the tracking stack is selected. In step ST5764, the signal line selected in step ST5763 is marked. In step ST5765, it is confirmed whether or not the signal line selected in step ST5763 is an external input or a pseudo external input. If it is an external input or pseudo external input, the process returns to step ST5762, and if it is not an external input or pseudo external input, the process proceeds to step ST5766. In step ST5766, it is confirmed whether or not the value of the signal line selected in step ST5763 is controlled. If it is controlled, the process proceeds to step ST5768. If it is not controlled, the process proceeds to step ST5767. In step ST5767, all the input signal lines of the signal line selected in step S5763 are stored in the tracking stack. In step S5768, the signal line whose signal value is the control value among the input signal lines selected in step S5764 is stored in the tracking stack.
図8は、正当化信号線がlの時に図7の追跡規則に従って図6のフローを適用したときの例を示した図であり、結果として信号線b、c、e、g、h、j、lがマークされる。具体的には、以下のような処理となる。ステップST5761において追跡スタックに信号線lが格納される。ステップST5762において追跡スタックに信号線lが格納されているため、空でないことが確認される。ステップST5763において追跡スタックから信号線lが選択される。ステップST5764において信号線lがマークされる。ステップST5765において信号線lが外部入力および擬似外部入力でないことが確認される。ステップST5766において信号線lの値0は制御されていることが確認される。ステップST5768において信号線lの入力信号線eおよびjが制御値であるため、信号線e、jが追跡スタックに格納される。ステップST5762において追跡スタックに信号線e、jが格納されているため、空でないことが確認される。ステップST5763において追跡スタックから信号線eが選択される。ステップST5764において信号線eがマークされる。ステップST5765において信号線eが外部入力であることが確認される。ステップST5762において追跡スタックに信号線jが格納されているため、空でないことが確認される。ステップST5763において追跡スタックから信号線jが選択される。ステップST5764において信号線jがマークされる。ステップST5765において信号線jが外部入力および擬似外部入力でないことが確認される。ステップST5766において信号線jの値0はORゲートの出力であり、g,hによって制御されていないことが確認される。ステップST5767において信号線jの全入力信号線gおよびhが追跡スタックに格納される。以上のような操作を繰り返すことにより、信号線b、c、e、g、h、j、lがマークされる。
FIG. 8 is a diagram showing an example of applying the flow of FIG. 6 according to the tracking rule of FIG. 7 when the justification signal line is l, and as a result, the signal lines b, c, e, g, h, j , L are marked. Specifically, the processing is as follows. In step ST5761, the signal line l is stored in the tracking stack. In step ST5762, since the signal line l is stored in the tracking stack, it is confirmed that it is not empty. In step ST5763, the signal line l is selected from the tracking stack. In step ST5764, the signal line l is marked. In step ST5765, it is confirmed that the signal line l is not an external input or a pseudo external input. In step ST5766, it is confirmed that the
図9は、図5のステップST577の詳細を示すフローチャートである。図10は前述した論理関数の割当に使われる演算規則の一例を示した図である。 FIG. 9 is a flowchart showing details of step ST577 in FIG. FIG. 10 is a diagram showing an example of calculation rules used for the above-described logical function assignment.
図5のステップST577では、ステップST575で選択された信号線を正当化するために確定しなければならない外部出力および擬似外部出力の組合せを判定する論理関数を求めるため、ステップST576でマークされた外部入力および擬似外部入力からS575で選択された信号線までの集合演算が行われる。ここでの演算規則は、図10のようになる。図中に書かれている値は、元のテストパターンの論理値を表している。図中の太線の信号線は、図5のステップST576でマークされた信号線を表している。また、Laという表記は、入力側から図10の演算規則により信号線aに伝搬されてきた要素を表す。 In step ST577 of FIG. 5, in order to obtain a logical function for determining the combination of the external output and the pseudo external output that must be confirmed in order to justify the signal line selected in step ST575, the external marked in step ST576 is obtained. A set operation from the input and pseudo external input to the signal line selected in S575 is performed. The calculation rule here is as shown in FIG. The value written in the figure represents the logical value of the original test pattern. The thick signal lines in the figure represent the signal lines marked in step ST576 in FIG. The notation La represents an element that has been propagated from the input side to the signal line a according to the calculation rule of FIG.
図10に示すように、基本的に、演算規則は、(a)出力値が制御されているとき、(b)出力値が制御されていないときにわけられる。図10(a)の出力値が制御されているときは、マークされておりかつ制御値をもつ入力信号線に伝搬している要素の和演算が行われる。図10(a)において、dの出力値は0で制御されているので、マークされておりかつ制御値をもっている入力信号線aとcに伝搬している要素LaとLcの和がとられる。一方、図10(b)の出力値が制御されていないときは、マークされている全入力信号線に伝搬している要素の積演算が行われる。図10(b)において、dの出力値は1で制御されていないので、マークされている入力信号線a、b、cに伝搬している要素LaとLbとLcの積がとられる。なお、XORゲートのように出力値が制御されないゲートやNOTゲートのように出力信号線に対して入力信号線が1つしかないゲートについては、マークされている全入力信号線に伝搬している要素の積演算が行われる。つまり、(b)の出力値が制御されていないときと同じ処理が行われる。 As shown in FIG. 10, the calculation rule is basically divided into (a) when the output value is controlled and (b) when the output value is not controlled. When the output value in FIG. 10A is controlled, the sum operation of the elements that are marked and propagated to the input signal line having the control value is performed. In FIG. 10A, since the output value of d is controlled at 0, the sum of elements La and Lc propagating to the input signal lines a and c that are marked and have the control value is taken. On the other hand, when the output value in FIG. 10B is not controlled, the product operation of the elements propagated to all the input signal lines marked is performed. In FIG. 10B, since the output value of d is not controlled by 1, the product of the elements La, Lb and Lc propagating to the marked input signal lines a, b and c is taken. Note that gates whose output values are not controlled, such as XOR gates, and gates that have only one input signal line relative to the output signal line, such as NOT gates, are propagated to all input signal lines that are marked. Element product operation is performed. That is, the same processing as when the output value of (b) is not controlled is performed.
図9を用いて、このような演算規則を考慮した処理について説明する。 With reference to FIG. 9, processing in consideration of such calculation rules will be described.
ステップST5771では、図5のステップ576によりマークされた外部入力および擬似外部入力の要素がその信号線自身とされる。ステップST5772では、図5のステップST576によりマークされた外部入力および擬似外部入力の出力でマークがある信号線がイベントリストに登録される。ステップST5773では、イベントリストが空であるか否かが確認される。空である場合にはステップST5779に進み、空ではない場合にはステップST5774に進む。ステップST5774では、イベントリスト順に登録されている適当な信号線が一つ選択される。信号線は、外部入力および擬似外部入力に近いものから順番に選択される。ステップST5775では、ステップST5774で選択された信号線の値が制御されているか否かが確認される。制御されている場合にはステップST5777に進み、制御されていない場合にはステップST5776に進む。ステップST5776では、ステップST5774で選択された信号線の入力信号線のうちマークがある全信号線に伝搬している要素の積集合がとられる。ステップST5777では、ステップST5774で選択された信号線の入力信号線のうちマークがあり制御値をもつ全信号線に伝搬している要素の和集合がとられる。ステップST5778では、ステップST5774で選択された信号線の出力信号線のうちマークがある全信号線がインベントリストへ登録される。ステップST5779では、正当化したい信号線に伝搬している要素の和集合がひとつの論理関数として記憶され、処理が終了する。 In step ST5771, the elements of the external input and pseudo external input marked in step 576 in FIG. 5 are the signal lines themselves. In step ST 5772, signal lines with marks in the external input and pseudo external input outputs marked in step ST 576 in FIG. 5 are registered in the event list. In step ST5773, it is confirmed whether or not the event list is empty. If it is empty, the process proceeds to step ST5779. If it is not empty, the process proceeds to step ST5774. In Step ST5774, one appropriate signal line registered in the order of the event list is selected. The signal lines are selected in order from those close to the external input and the pseudo external input. In step ST5775, it is confirmed whether or not the value of the signal line selected in step ST5774 is controlled. If it is controlled, the process proceeds to step ST5777, and if it is not controlled, the process proceeds to step ST5777. In step ST5776, a product set of elements propagating to all signal lines with marks among the input signal lines selected in step ST5774 is taken. In step ST5777, the union of the elements propagated to all the signal lines that have the mark and have the control value among the input signal lines of the signal line selected in step ST5774 is taken. In step ST5778, all signal lines with marks are registered in the inventory list among the output signal lines selected in step ST5774. In Step ST5779, the union of elements propagating to the signal line to be justified is stored as one logical function, and the process ends.
図11は、正当化信号線がlの時に、図10の演算規則に従い、図9のフローを適用したときの例を説明するための図であり、結果として得られる論理関数は、Fl=(bc)v(e)である。具体的には、以下のような処理となる。ステップST5771において、マークがある外部入力線bとcとeに自分自身Lb={b}、Lc={c}、Le={e}が記憶される。ステップST5772において、マークがある外部入力線bとcとeの出力でマークがある信号線g、h、lがベントリストに登録される。ステップST5773において、信号線g、h、lが登録されているため、空でないことが確認される。ステップST5774において、イベントリストに登録されている信号線のうち外部入力に近い信号線gが選択される。ステップST5775において、信号線gは信号線bが枝分かれしており、出力値が制御されていないと確認される。ステップST5776において、選択信号線gの入力信号線でマークがある信号線bに伝搬している要素Lb={b}の積集合がとられ、Lg={b}とする。選択信号線gの出力でマークがある信号線jがイベントリストへ登録される。ステップST5773において、信号線h、j、lが登録されているため、空でないことが確認される。ステップST5774において、イベントリストに登録されている信号線のうち外部入力に近い信号線hが選択される。ステップST5775において、信号線hはANDゲートの出力で値が0なので、制御されていると確認される。ステップST5777において、選択信号線hの入力信号線でマークがあり制御値をもつ信号線cに伝搬している要素Lc={c}の和集合がとられ、Lh={c}とする。以上のような操作を繰り返すことにより、正当化信号線lに伝搬している要素はLl={bc、e}となる。ステップST5779において、正当化信号線lに伝搬している要素Ll={bc、e}の和演算が行われ、論理関数Fl=(bc)v(e)が得られる。ここで、得られる論理関数を正当化積和形論理関数とよぶ。正当化積和形論理関数FについてF=1とする信号線の組合せが、正当化したい信号線を正当化するために設定必要な信号線となる。この例の場合、Fl=(bc)v(e)=1となるのは、(b,c)=(1,1)または(e)=(1)なので、外部入力b,cまたは外部入力eを元の値、つまり、(b,c)=(0,0)または(e)=(0)と設定することで、信号線lを値0に正当化することができる。このことにより、信号線lを正当化するために必要な確定値の数を最小とする割当は、(e)=(0)とすればよいことがわかる。
FIG. 11 is a diagram for explaining an example in which the flow of FIG. 9 is applied according to the operation rule of FIG. 10 when the justification signal line is l, and the resulting logical function is Fl = ( bc) v (e). Specifically, the processing is as follows. In Step ST5771, Lb = {b}, Lc = {c}, and Le = {e} are stored in the external input lines b, c, and e with marks. In step ST 5772, the signal lines g, h, and l with the marks at the outputs of the external input lines b, c, and e with the marks are registered in the vent list. In step ST5773, since the signal lines g, h, and l are registered, it is confirmed that they are not empty. In step ST5774, the signal line g close to the external input is selected from the signal lines registered in the event list. In Step ST5775, it is confirmed that the signal line g is branched from the signal line g and the output value is not controlled. In Step ST5776, a product set of elements Lb = {b} propagating to the signal line b with the mark on the input signal line of the selection signal line g is taken, and Lg = {b} is set. A signal line j with a mark at the output of the selection signal line g is registered in the event list. In step ST5773, since the signal lines h, j, and l are registered, it is confirmed that they are not empty. In Step ST5774, the signal line h close to the external input is selected from the signal lines registered in the event list. In Step ST5775, since the signal line h is the output of the AND gate and has a value of 0, it is confirmed that it is controlled. In Step ST5777, the union of the elements Lc = {c} that are propagated to the signal line c that has a mark on the input signal line of the selection signal line h and has the control value is taken, and Lh = {c}. By repeating the above operation, the element propagating to the justification signal line l becomes Ll = {bc, e}. In step ST5779, the sum operation of the elements Ll = {bc, e} propagating to the justification signal line l is performed, and the logical function Fl = (bc) v (e) is obtained. Here, the obtained logic function is called a justified product-sum type logic function. A combination of signal lines with F = 1 for the justified product-sum logic function F becomes a signal line that needs to be set in order to justify the signal line to be justified. In this example, Fl = (bc) v (e) = 1 is (b, c) = (1, 1) or (e) = (1), so that the external input b, c or the external input By setting e to the original value, that is, (b, c) = (0, 0) or (e) = (0), the signal line l can be justified to the
図12は、図11に示した例示の場合(正当化する信号線が1つの場合)と異なり、複数の正当化する信号線が存在する場合において、図10の演算規則に従い、図9のフローを適用したときの例を説明するための図である。ここでの正当化する信号線はk、lと複数存在している。正当化する信号線kおよびlのそれぞれに対して、図5のステップS575からステップST577が適用される。その結果、それぞれの正当化積和形論理関数が下記のように求まる。 FIG. 12 is different from the example shown in FIG. 11 (in the case where there is one signal line to be justified), in the case where there are a plurality of signal lines to be justified, according to the operation rule of FIG. It is a figure for demonstrating an example when applying. Here, there are a plurality of signal lines to be justified, k and l. Steps S575 to ST577 in FIG. 5 are applied to each of the signal lines k and l to be justified. As a result, each justified product-sum type logic function is obtained as follows.
信号線kを正当化する正当化積和形論理関数Fk=(a)v(b)
信号線lを正当化する正当化積和形論理関数Fl=(bc)v(e)
Justified product-sum logic function Fk = (a) v (b) that justifies the signal line k
Justified product-sum logic function Fl = (bc) v (e) that justifies the signal line l
正当化する信号線全ての正当化積和形論理関数の積をとったものを正当化積和積形論理関数とよぶ。この例の場合の正当化積和積形論理関数は、F=((a)v(b))・((bc)v(e))であり、F=1を満たす入力組合せを列挙することにより、複数の信号線を正当化するのに必要な確定値の数を最小とする外部入力の割当を求めることができる。 The product of the justified product-sum logic functions of all the signal lines to be justified is called a justified product-sum product logic function. The justified product-sum product logical function in this example is F = ((a) v (b)). ((Bc) v (e)), and enumerates input combinations that satisfy F = 1. Thus, it is possible to obtain the external input allocation that minimizes the number of definite values necessary to justify the plurality of signal lines.
なお、正当化積和積形論理関数を解く方法としては、BDD(binary decision diagram)の他、真理値表を作成して調べる方法、SAT-solver(Boolean Satisfiablity solver)を用いた方法などが考えられる。そして、F=((a)v(b))・((bc)v(e))=1となる最小の組合せは(b,c)=(1,1)なので、外部入力b、cに元の値、つまり、(b,c)=(0,0)を設定することで、信号線kを値1に、信号線lを値0に正当化することができる。
In addition to BDD (binary decision diagram), as a method of solving a justified product-sum product logical function, a method of creating and examining a truth table, a method using a SAT-solver (Boolean Satisfiablity solver), etc. are considered. It is done. Since the minimum combination of F = ((a) v (b)). ((Bc) v (e)) = 1 is (b, c) = (1,1), the external inputs b and c By setting the original value, that is, (b, c) = (0, 0), it is possible to justify the signal line k to the
このように、外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求めることができ、言い換えればドントケア値の個数が最大となる信号値の組み合わせを求めることができる。それにより、単一縮退故障の検出は保証したうえで、テストベクトルの統合によるテスト圧縮、テストパターンの符号化やLFSRを用いたテストパターン発生によるテスト圧縮、テスト時の消費電力の削減、単一縮退故障以外の故障検出能力の向上、精確な故障位置指摘等において、その効果を最大限に引き出すテストパターンを求めることができる。具体的には、例えば以下のことが効果として挙げられる。 In this way, a combination of signal values that minimizes the number of definite values included in the external input value can be obtained, in other words, a combination of signal values that maximizes the number of don't care values can be obtained. This guarantees the detection of single stuck-at faults, test compression by integrating test vectors, test compression by test pattern encoding and test pattern generation using LFSR, reduction of power consumption during testing, single It is possible to obtain a test pattern that maximizes the effect of improving fault detection capability other than stuck-at faults and accurately indicating fault locations. Specifically, for example, the following can be mentioned as an effect.
図13には、テストベクトルの統合によるテスト圧縮の例が示されている。以下、具体的に説明する。図13(a)のテストベクトル番号の列がそのテストベクトル番号を、元のテストベクトルの列が0と1で埋められた元のテストベクトルを、ドントケア入りテストベクトルの列が元のテストテストパターンに対して、ドントケア抽出をしたときに得られるテストベクトルを表している。また、図中のXはドントケアを表している。ドントケア部分は、値が0と1どちらでもいいので、できるだけテストベクトル同士を圧縮するようにする。例えば、図13(a)におけるテストベクトル番号t1のテストベクトル1X101とt2のテストベクトル10XX1は、圧縮されたテストベクトル(圧縮テストベクトルとよぶ)10101に圧縮可能である。このような圧縮を行うと、図13(a)のドントケア入りテストパターンから図13(b)の圧縮されたテストパターンが得られる。これは、元のテストパターンでは、7個のテストベクトルで検出できる故障が、圧縮テストパターンでは、4個のテストベクトルで検出できることを意味する。この例のように、ドントケアを利用して、テストベクトルの圧縮を行うことにより、テストデータ量の削減やテスト時間の削減が期待できる。 FIG. 13 shows an example of test compression by integrating test vectors. This will be specifically described below. The test vector number column in FIG. 13A is the test vector number, the original test vector column is the original test vector filled with 0 and 1, and the don't-care test vector column is the original test test pattern. Represents a test vector obtained when don't care extraction is performed. In the figure, X represents don't care. Since the value of the don't care portion may be either 0 or 1, the test vectors are compressed as much as possible. For example, test vector 1X101 of test vector number t1 and test vector 10XX1 of t2 in FIG. 13A can be compressed into a compressed test vector (referred to as a compressed test vector) 101 0 1. When such compression is performed, the compressed test pattern of FIG. 13B is obtained from the test pattern with don't care of FIG. 13A. This means that a fault that can be detected with 7 test vectors in the original test pattern can be detected with 4 test vectors in the compressed test pattern. As in this example, by using test vector compression using don't care, it is possible to reduce the amount of test data and the test time.
また、図13に示した場合のほか、ハフマン符号やランレングス符号などのデータ圧縮方法を用いて、元のテストパターンを符号化し、圧縮されたデータをデコードする回路を元の回路に付加し、テストデータ量を削減する方法があるが、元のテストパターンに対して、ドントケアを抽出し、データ圧縮が最も有効となるように、ドントケア部に0と1を再割当することにより、さらなるテストデータ量の削減が期待できる。さらに、ドントケア抽出されたテストパターンに0または1を再割当することにより、テスト時の消費電力の低減するテストパターン、単一縮退故障以外の故障検出能力の向上するテストパターン、精確な故障位置指摘が可能なテストパターンなどを生成できる効果がある。 In addition to the case shown in FIG. 13, a data compression method such as a Huffman code or a run length code is used to encode the original test pattern and add a circuit for decoding the compressed data to the original circuit. There is a way to reduce the amount of test data, but by extracting don't care for the original test pattern and reallocating 0 and 1 to the don't care part so that data compression is most effective, further test data A reduction in volume can be expected. Furthermore, by reassigning 0 or 1 to the don't care extracted test patterns, test patterns that reduce power consumption during testing, test patterns that improve fault detection capabilities other than single stuck-at faults, accurate fault location indication It is possible to generate test patterns that can be used.
Claims (3)
前記論理回路における正当化すべき所定の信号線を選択する選択手段と、Selecting means for selecting a predetermined signal line to be justified in the logic circuit;
前記選択された所定の信号線を正当化するために関係がある信号線を所定の追跡規則に従ってマークするマーク手段と、Marking means for marking the signal lines relevant to justify the selected predetermined signal lines according to a predetermined tracking rule;
前記マークされた信号線のうち、外部入力信号線及びその出力となる信号線のそれぞれに対して、当該信号線が制御されている場合には、マークがあり制御値をもつ入力信号線に伝播している要素の和集合をとり、当該信号線が制御されていない場合には、マークがある全入力信号に伝播している要素の積集合をとり、さらに、前記和集合及び前記積集合をとる処理の終了後に、前記選択された所定の信号線に伝播している要素の和をとって正当化積和形論理関数とすることにより、外部入力信号線から前記選択された所定の信号線までの論理回路の信号線に対して論理関数を割り当てる割当手段と、Among the marked signal lines, when the signal line is controlled for each of the external input signal line and the output signal line, the signal line is propagated to the input signal line having a control value. If the signal line is not controlled, the product set of the elements propagating to all the input signals with the mark is taken, and the sum set and the product set are After the processing to be taken, the selected predetermined signal line is selected from the external input signal line by taking the sum of the elements propagating to the selected predetermined signal line to obtain a justified product-sum type logic function Assigning means for assigning a logic function to the signal lines of the logic circuit up to,
前記割り当てられた論理関数を用いた従属問題を解いて前記外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求める演算手段と、を備える抽出装置。An extraction device comprising: an arithmetic unit that solves a dependency problem using the assigned logical function and obtains a combination of signal values that minimizes the number of definite values included in the external input value.
選択手段が、前記論理回路における正当化すべき所定の信号線を選択するステップと、
マーク手段が、前記選択された所定の信号線を正当化するために関係がある信号線を所定の追跡規則に従ってマークするステップと、
割当手段が、前記マークされた信号線のうち、外部入力信号線及びその出力となる信号線のそれぞれに対して、当該信号線が制御されている場合には、マークがあり制御値をもつ入力信号線に伝播している要素の和集合をとり、当該信号線が制御されていない場合には、マークがある全入力信号に伝播している要素の積集合をとり、さらに、前記和集合及び前記積集合をとる処理の終了後に、前記選択された所定の信号線に伝播している要素の和をとって正当化積和形論理関数とすることにより、外部入力信号線から前記選択された所定の信号線までの論理回路の信号線に対して論理関数を割り当てるステップと、
演算手段が、前記割り当てられた論理関数を用いた従属問題を解いて前記外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求めるステップと、を含む抽出方法。 A method for extracting a deterministic value included in an external input value in a test pattern for a logic circuit,
Selecting means for selecting a predetermined signal line to be justified in the logic circuit;
Marking means marking a signal line relevant to justify the selected predetermined signal line according to a predetermined tracking rule;
When the allocating means controls each of the marked signal lines for each of the external input signal lines and the output signal lines, the input having a mark and a control value is provided. Take the union of the elements propagating to the signal line, and if the signal line is not controlled, take the product set of the elements propagating to all input signals with marks, and After completion of the process of taking the product set, the selected element from the external input signal line is obtained by taking the sum of the elements propagating to the selected predetermined signal line to obtain a justified product-sum logic function assigning a hand logical function to the signal line of the logic circuit to a predetermined signal line,
And a calculation means for solving the dependency problem using the assigned logical function to obtain a combination of signal values that minimizes the number of deterministic values included in the external input value.
選択手段が、前記論理回路における正当化すべき所定の信号線を選択するステップと、Selecting means for selecting a predetermined signal line to be justified in the logic circuit;
マーク手段が、前記選択された所定の信号線を正当化するために関係がある信号線を所定の追跡規則に従ってマークするステップと、Marking means for marking the signal lines that are relevant to justify the selected predetermined signal lines according to predetermined tracking rules;
割当手段が、前記マークされた信号線のうち、外部入力信号線及びその出力となる信号線のそれぞれに対して、当該信号線が制御されている場合には、マークがあり制御値をもつ入力信号線に伝播している要素の和集合をとり、当該信号線が制御されていない場合には、マークがある全入力信号に伝播している要素の積集合をとり、さらに、前記和集合及び前記積集合をとる処理の終了後に、前記選択された所定の信号線に伝播している要素の和をとって正当化積和形論理関数とすることにより、外部入力信号線から前記選択された所定の信号線までの論理回路の信号線に対して論理関数を割り当てるステップと、When the allocating means controls each of the marked signal lines for each of the external input signal lines and the output signal lines, the input having a mark and a control value is provided. Take the union of the elements propagating to the signal line, and if the signal line is not controlled, take the product set of the elements propagating to all input signals with marks, and After completion of the process of taking the product set, the selected element from the external input signal line is obtained by taking the sum of the elements propagating to the selected predetermined signal line to obtain a justified product-sum logic function Assigning a logic function to signal lines of a logic circuit up to a predetermined signal line;
演算手段が、前記割り当てられた論理関数を用いた従属問題を解いて前記外部入力値に含まれる確定値の個数が最小となる信号値の組み合わせを求めるステップと、A computing means for solving a dependent problem using the assigned logic function to obtain a combination of signal values that minimizes the number of deterministic values included in the external input value;
を実行させて、前記論理回路に対するテストパターンにおける外部入力値に含まれる確定値を抽出するためのプログラム。To extract a deterministic value included in an external input value in a test pattern for the logic circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004315405A JP4565965B2 (en) | 2004-10-29 | 2004-10-29 | Extraction apparatus, extraction method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004315405A JP4565965B2 (en) | 2004-10-29 | 2004-10-29 | Extraction apparatus, extraction method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006126027A JP2006126027A (en) | 2006-05-18 |
JP4565965B2 true JP4565965B2 (en) | 2010-10-20 |
Family
ID=36720909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004315405A Expired - Fee Related JP4565965B2 (en) | 2004-10-29 | 2004-10-29 | Extraction apparatus, extraction method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4565965B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH063420A (en) * | 1992-06-17 | 1994-01-11 | Toshiba Corp | Test pattern generation method for combinational logic circuit |
JPH08212799A (en) * | 1995-02-09 | 1996-08-20 | Nec Ic Microcomput Syst Ltd | Apparatus and method for generation of test pattern |
JP2002049655A (en) * | 2000-06-05 | 2002-02-15 | Fujitsu Ltd | Automatic pattern generation method for functional rtl circuit |
JP2004171046A (en) * | 2002-11-15 | 2004-06-17 | Handotai Rikougaku Kenkyu Center:Kk | Test facilitation design method and device of integrated circuit |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6416974A (en) * | 1987-07-10 | 1989-01-20 | Fujitsu Ltd | Test data generating method |
-
2004
- 2004-10-29 JP JP2004315405A patent/JP4565965B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH063420A (en) * | 1992-06-17 | 1994-01-11 | Toshiba Corp | Test pattern generation method for combinational logic circuit |
JPH08212799A (en) * | 1995-02-09 | 1996-08-20 | Nec Ic Microcomput Syst Ltd | Apparatus and method for generation of test pattern |
JP2002049655A (en) * | 2000-06-05 | 2002-02-15 | Fujitsu Ltd | Automatic pattern generation method for functional rtl circuit |
JP2004171046A (en) * | 2002-11-15 | 2004-06-17 | Handotai Rikougaku Kenkyu Center:Kk | Test facilitation design method and device of integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
JP2006126027A (en) | 2006-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603636B2 (en) | Assertion generating system, program thereof, circuit verifying system, and assertion generating method | |
JP3732708B2 (en) | Test pattern sorting apparatus, test pattern sorting method, and computer-readable recording medium storing test pattern sorting program | |
US6074426A (en) | Method for automatically generating behavioral environment for model checking | |
US10657207B1 (en) | Inter-cell bridge defect diagnosis | |
JPH0812675B2 (en) | Digital machine performance simulation method and apparatus | |
CN108335718A (en) | A kind of test method and device | |
JP2788820B2 (en) | Simulation equipment | |
US6707313B1 (en) | Systems and methods for testing integrated circuits | |
KR980010844A (en) | Methods and systems for identifying failure points | |
US9404972B2 (en) | Diagnosis and debug with truncated simulation | |
JPH10283394A (en) | Fault simulation method | |
JP4565965B2 (en) | Extraction apparatus, extraction method and program | |
JP5018781B2 (en) | Signal selection device, circuit correction device, circuit simulator, circuit emulator, signal selection method and program | |
JP5567322B2 (en) | Test flow presentation computer program, test flow presentation computer system | |
Westerman et al. | Discrete event system approach for delay fault analysis in digital circuits | |
US8943457B2 (en) | Simulating scan tests with reduced resources | |
US6560738B1 (en) | Fault propagation path estimating method, fault propagation path estimating apparatus and recording media | |
CN111241766A (en) | Test method and test system | |
CN113609804B (en) | Case generation method and device, test method and testability design method | |
JPH08146093A (en) | Estimation of trouble place of sequence circuit | |
US9581644B2 (en) | Digital IC simulation | |
JP4340592B2 (en) | SLACK VALUE SETTING METHOD, SLACK VALUE SETTING DEVICE, SLACK VALUE SETTING PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE PROGRAM | |
JP2004317505A (en) | Program, storage medium, and method and device for preparing test pattern | |
JP2001155043A (en) | Timing check method for logic simulation and recording medium with recorded timing check method | |
JP6520585B2 (en) | Failure analysis program, failure analysis method and failure analysis apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071025 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100721 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100803 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |