JPH09274621A - Function extracting method for lsi sequential circuit - Google Patents
Function extracting method for lsi sequential circuitInfo
- Publication number
- JPH09274621A JPH09274621A JP8106473A JP10647396A JPH09274621A JP H09274621 A JPH09274621 A JP H09274621A JP 8106473 A JP8106473 A JP 8106473A JP 10647396 A JP10647396 A JP 10647396A JP H09274621 A JPH09274621 A JP H09274621A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- state
- function
- input
- stable
- 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は,LSIの動作検証に関
し、特に回路の機能(論理)抽出に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to verification of LSI operation, and more particularly to extraction of circuit function (logic).
【0002】[0002]
【従来の技術】近年、電子機器の高性能化と軽薄短小の
傾向から、ASICに代表される種々のLSIには、ま
すます高集積化、高機能化が求められるようになってき
た。即ち、できるだけチップサイズを小さくして、高機
能を実現することがASIC等のICには求められてい
る。上記ASIC等のICの作製は、機能、論理設計、
回路設計、レイアウト設等を経て、フオトマスクパター
ン用のパターンを作製し、これを用いてフオトスクを作
製した後、フオトマスクのパターンをウエハ上に縮小投
影露光等によ転写して、半導体作製のプロセスを行うも
のである。従来、レイアウト設計の段階で設計変更があ
る場合には、トランジスタレベルから更に論理回路へ戻
して、ここで動作検証をしていた。この動作検証は、論
理レベルで、順序回路を、回路のフィードバック部分を
保持回路としてとらえ、そこに入るデータ信号と制御信
号に注目する処理を行う検証をしていた。そして、一連
の入力データ信号と出力データ信号とからLSIの動作
(回路機能)を得る、即ち、(入力データ信号の)形を
あてはめる処理からLSIの動作(回路機能)を得てい
たが、図18のような複雑なループ構成を持つJK−F
Fや、シフトレジスタ、カウンタ等を含む回路の場合
は、これでは動作(回路機能)を得ることができないと
いう問題があった。2. Description of the Related Art In recent years, various LSIs represented by ASICs have been required to have higher integration and higher functions due to the trend toward higher performance and lighter and smaller electronic devices. That is, there is a demand for an IC such as an ASIC to realize a high function by minimizing the chip size as much as possible. The production of ICs such as the ASICs described above is based on functions, logic design,
After the circuit design and layout, etc., the pattern for the photo mask pattern is produced, the photo mask is produced using this, and the photo mask pattern is transferred onto the wafer by reduction projection exposure, etc. Is to do. Conventionally, when there is a design change at the stage of layout design, the operation is returned from the transistor level to the logic circuit, and the operation is verified here. In this operation verification, the sequential circuit is regarded as the holding circuit at the logic level at the logic level, and the processing is performed by paying attention to the data signal and the control signal entering therein. Then, the operation (circuit function) of the LSI is obtained from a series of input data signals and output data signals, that is, the operation (circuit function) of the LSI is obtained from the process of fitting the form (of the input data signal). JK-F with complicated loop structure like 18
In the case of a circuit including F, a shift register, a counter, etc., this has a problem that the operation (circuit function) cannot be obtained.
【0003】[0003]
【発明が解決しようとする課題】上記のように、複雑な
ループ構成を持つJK−FFや、シフトレジスタ、カウ
ンタ等をもつ回路の場合、入力データ信号と制御信号と
から、LSIの動作(回路機能)を特定することは難し
く、その対応が求められていた。本発明は、このような
状況のもと、複雑なループ構成を持つJK−FFや、シ
フトレジスタ、カウンタ等をもつ回路の場合において
も、回路の機能(動作)を抽出する方法を提供しようと
するものである。As described above, in the case of a circuit having a JK-FF having a complicated loop structure, a shift register, a counter, etc., the operation of the LSI (circuit It was difficult to specify (function), and it was necessary to deal with it. Under such circumstances, the present invention intends to provide a method for extracting the function (operation) of a circuit even in the case of a circuit having a JK-FF having a complicated loop configuration, a shift register, a counter, or the like. To do.
【0004】[0004]
【課題を解決するための手段】本発明のLSI順序回路
の機能抽出方法は、論理ゲートが接続されたループを含
む有効グラフで与えられた順序回路から回路機能を抽出
する方法であって、少なくとも順に、(A)順序回路の
ループを全て検出するステップと、(B)切断点数が最
小となるように、順序回路のループを全て切断するステ
ップと、(C)各切断点Pi における信号値を状態変数
Qi と定義して、切断した後に、回路のどのノードも信
号変化を起こさない安定状態となるように、切断点Pi
の対応する元のループのフィードバック側論理ゲートの
フィードバック入力側のノードに替え、状態変数をQ’
i するノードの入力端子を持たせて、全てのループに対
して、状態変数Qi と状態変数Q’i とを等しいとする
ステップと、(D)状態変数Qi と状態変数Q’i とを
等しい条件を排他的論理和で論理式化し、且つ、得られ
た全ての排他的論理和の出力値の論理和の出力値を0と
し、最終的に、フィードバック入力でない元々の入力
と、前記の全状態変数Q’i を入力とした組合せ回路
で、論理式化し、論理式を解くことにより、安定状態を
求めるステップと、(E)前記(D)で求められた安定
状態をもとに、回路の入力を変化させたときの信号変化
を追跡して最終状態を求める作業を、必要な前記元々の
入力のデータ信号のパターン分、繰り返して、一軸を安
定状態、他の一軸を入力パターンをパラメータとして最
終状態のマトリックスを表した状態遷移表を作成するス
テップと、(F)更に、到達可能性をテストして到達不
能な安定状態を除去するステップと、(G)前記
(E)、(F)で求められた状態遷移表を入力パターン
の列で調べ、回路の機能を抽出するステップと、(H)
前記(G)により得られた機能(論理)から回路の機能
表を作製するステップとからなることを特徴とするもの
である。そして、前記のステップ(H)における回路の
機能(論理)表の作製の際に、得られた機能(論理)を
圧縮するステップを含むことを特徴とするものである。A method for extracting a function of an LSI sequential circuit according to the present invention is a method for extracting a circuit function from a sequential circuit given by an effective graph including a loop to which logic gates are connected. In order, (A) a step of detecting all loops of the sequential circuit, (B) a step of disconnecting all loops of the sequential circuit so that the number of disconnection points is minimized, and (C) a signal value at each disconnection point P i . Is defined as a state variable Q i, and the disconnection point P i is set so that, after disconnection, a stable state where no signal change occurs in any node of the circuit.
To the node on the feedback input side of the feedback side logic gate of the corresponding original loop of
and to have an input terminal i to the node for all loop, 'the steps of equal and i, (D) state variables Q i and the state variable Q' state variable Q i and state variables Q and i Are logically expressed by an exclusive OR, and the output value of the OR of all the obtained output values of the exclusive OR is set to 0, and finally, the original input which is not the feedback input and the above-mentioned In the combinational circuit with all state variables Q ′ i of (1) as an input, a stable state is obtained by formulating and solving the logical formula, and (E) based on the stable state obtained in (D) above. , The operation of tracing the signal change when the input of the circuit is changed to obtain the final state is repeated for the required data signal pattern of the original input, and one axis is in the stable state and the other axis is in the input pattern. Represents the final state matrix with Creating a state transition table, (F) further testing reachability and removing unreachable stable states, (G) state transition table obtained in (E) and (F) above In the sequence of input patterns to extract the function of the circuit, and (H)
And a step of preparing a function table of the circuit from the function (logic) obtained in the above (G). Then, when the function (logic) table of the circuit in the step (H) is produced, a step of compressing the obtained function (logic) is included.
【0005】[0005]
【作用】本発明のLSI順序回路の機能抽出方法は、こ
のような構成にすることにより、複雑なループ構成を持
つJK−FFや、シフトレジスタ、カウンタ等をもつ回
路の場合においても、回路の機能(動作)を抽出する方
法の提供を可能としている。回路の形状に依存せず複雑
なループを持つ順序回路でも、組合せ回路に置き換えて
安定状態を求め、且つ、信号追跡を行うというアプロー
チにより回路機能(動作)の抽出を可能としている。詳
しくは、(A)順序回路のループを全て検出するステッ
プと、(B)切断点数が最小となるように、順序回路の
ループを全て切断するステップと、(C)各切断点Pi
における信号値を状態変数Qi と定義して、切断した後
に、回路のどのノードも信号変化を起こさない安定状態
となるように、切断点Pi の対応する元のループのフィ
ードバック側論理ゲートのフィードバック入力側のノー
ドに替え、状態変数をQ’i するノードの入力端子を持
たせて、全てのループに対して、状態変数Qi と状態変
数Q’i とを等しいとするステップと、(D)状態変数
Qi と状態変数Q’i とを等しい条件を排他的論理和で
論理式化し、且つ、得られた全ての排他的論理和の出力
値の論理和の出力値を0とし、最終的に、フィードバッ
ク入力でない元々の入力と、前記の全状態変数Q’i を
入力とした組合せ回路で、論理式化し、論理式を解くこ
とにより、安定状態を求めるステップと、(E)前記
(D)で求められた安定状態をもとに、回路の入力を変
化させたときの信号変化を追跡して最終状態を求める作
業を、必要な前記元々の入力のデータ信号のパターン
分、繰り返して、一軸を安定状態、他の一軸を入力パタ
ーンをパラメータとして最終状態のマトリックスを表し
た状態遷移表を作成するステップと、(F)更に、到達
可能性をテストして到達不能な安定状態を除去するステ
ップと、(G)前記(E)、(F)で求められた状態遷
移表を入力パターンの列で調べ、回路の機能を抽出する
ステップと、(H)前記(G)により得られた機能(論
理)から回路の機能表を作製するステップとからなるこ
とにより、これを達成している。また、得られた機能を
圧縮するステップを含むことにより、より機能が分かり
やすく、間違いの少ないものとしている。The function extracting method of the LSI sequential circuit according to the present invention has such a configuration that even in the case of a circuit having a JK-FF having a complicated loop configuration, a shift register, a counter, etc. It is possible to provide a method for extracting a function (operation). Even in a sequential circuit having a complicated loop that does not depend on the shape of the circuit, it is possible to extract the circuit function (operation) by the approach of replacing with a combinational circuit to obtain a stable state and performing signal tracking. Specifically, (A) a step of detecting all loops of the sequential circuit, (B) a step of disconnecting all loops of the sequential circuit so that the number of disconnection points is minimized, and (C) each of the disconnection points P i
The signal value at is defined as the state variable Q i , so that, after disconnection, a stable state where no signal change occurs in any node of the circuit is performed so that the feedback side logic gate of the corresponding original loop of the disconnection point P i is Replacing the node on the feedback input side with an input terminal of a node for changing the state variable Q ′ i, and making the state variable Q i equal to the state variable Q ′ i for all loops; D) The condition variable Q i and the condition variable Q ′ i are logically expressed by an exclusive OR, and the output values of all the obtained output values of the exclusive OR are set to 0, Finally, a step of obtaining a stable state by formulating a logical expression and solving the logical expression with a combinational circuit using the original input which is not a feedback input and the above-mentioned all state variables Q ′ i , and (E) the above The stable state obtained in (D) In addition, the work of tracing the signal change when the input of the circuit is changed to obtain the final state is repeated for the necessary data signal pattern of the original input, and one axis is set to the stable state and the other axis is set. Creating a state transition table representing a matrix of final states with the input pattern as a parameter; (F) further testing reachability to remove unreachable stable states; and (G) said (E). ), A step of extracting the function of the circuit by checking the state transition table obtained in (F) in the column of the input pattern, and (H) a function table of the circuit from the function (logic) obtained in (G) above. This is achieved by comprising the steps of making. In addition, by including the step of compressing the obtained function, the function is easier to understand and there are few mistakes.
【0006】[0006]
【実施例】本発明のLSI順序回路の機能抽出方法の実
施例を図にもとづいて説明する。図1は実施例のLSI
順序回路の機能抽出方法のフロー図であり、以下図1に
基づいて本実施例を説明する。先ず、機能抽出しようと
するLSI順序回路を有向グラフ化しておき、ループを
検出する。(図1(a)) 尚、有向グラフは、AND、OR、NAND等の論理ゲ
ートとこれを接続するノードとで表され、信号の方向
は、ノードの矢印の向きで表す。そしてループとはこの
矢印に沿い信号を追った場合に閉じたルートを形成する
部分を言う。例えば、有向グラフが図2(a)に示すよ
うに表される場合、矢印の順に追っていくと、信号はゲ
ートAからゲートB、C、Dを経てゲートEまで訪問し
ており、ゲートEからの信号は、ゲートCに入るが、ゲ
ートD、Eへと既に経た同じゲートを通る。即ちゲート
C、D、E間で閉じたルートを形成しており、これがの
ループである。実際の処理では、入力端子から、出力の
方向に深さ優先巡回を行い、ゲートを訪問するときスタ
ックにゲートとノードを積み、戻るときスタックから降
ろす。ここで、戻るとは、これ以上先に進めなくなった
時またはループを検出したときである。訪問ゲートがス
タックに積まれていたらそこまでがループと判断しスタ
ックから該当ノードを参照にしてループを構成するノー
ト集合を得る。図2(a)の場合は、図2(b)のよう
に、スタックにゲート、ノードを順次積んでいき、ゲー
トE、ノードeの後にゲートC、ノードcを積むことと
なるが、これは既にスタックに積まれており、ループを
形成していると判断する。このようにして、順序回路の
ループを全て検出する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a function extracting method for an LSI sequential circuit according to the present invention will be described with reference to the drawings. FIG. 1 shows an LSI of the embodiment
It is a flow chart of a function extraction method of a sequential circuit, and this embodiment will be described below with reference to FIG. First, the LSI sequential circuit whose function is to be extracted is made into a directed graph, and a loop is detected. (FIG. 1A) The directed graph is represented by logic gates such as AND, OR, and NAND and the nodes connecting the logic gates, and the signal direction is represented by the direction of the arrow of the node. A loop is a part that forms a closed route when a signal is followed along this arrow. For example, in the case where the directed graph is represented as shown in FIG. 2A, the signals are visiting from the gate A to the gates B, C, D to the gate E by following the order of the arrows. The signal enters gate C, but goes through the same gate that has already been passed to gates D and E. That is, a closed route is formed between the gates C, D, and E, and this is a loop. In the actual processing, a depth-first round is performed from the input terminal in the direction of output, the gate and the node are stacked on the stack when the gate is visited, and the stack is unloaded on the return. Here, returning refers to when no further progress is made or when a loop is detected. If the visiting gate is stacked on the stack, it is determined that the loop is up to that point, and the stack refers to the corresponding node to obtain the note set that constitutes the loop. In the case of FIG. 2A, as shown in FIG. 2B, the gate and the node are sequentially stacked in the stack, and the gate C and the node c are stacked after the gate E and the node e. It is already on the stack and it is determined that a loop has been formed. In this way, all loops of the sequential circuit are detected.
【0007】次に、切断点数ができるだけ少なくなるよ
うに、順序回路のループを全て切断する。(図1
(b)) 切断点をできるだけ少なくする理由は、切断点をできる
だけ少なくすることにより、後述する計算量をできるだ
け少なくしようとするものである。切断点数を最小にす
る方法を、図3に示すループを4個もつ有向グラフ化さ
れた順序回路について説明する。尚、図3中、Q1、−
Q1、Q2、−Q2、Q3、Q4、Q5、Q6、Q7は
ノード名、L1、L2、L3、L4はループ名である。
各ループについて、構成ノードを抽出すると図4(a)
に示すようになり、各ノードのループに表れる度数は、
図4(b)に示すようになる。図4(b)において、度
数の一番大きいノード(−Q4)を切断すれば、一度に
より多くのループを切断できることは明らかで、先ずノ
ード(−Q4)で切断すると、ループL2、L3、L4
が切断れる。次いで、切断されていないループについ
て、同じ処理を行い、全てのループが切断されるように
なるまで行う。この場合は、図4(c)に示すように切
断されていないループはL1のみとなり、構成ノード
は、−Q2、Q2で、図4(d)に示すように、それぞ
れの構成ノードの度数は1となり、−Q2またはQ2を
切断すれば良い。このように、図3に示す有向グラフ化
された順序回路の場合、ノード−Q4と、−Q2または
Q2を切断することにより、全てのループが切断され、
且つ切断数を最小とすることができる。別に、ループL
1ではQ2、ループL2ではQ4、ループL3ではQ
6、ループL4ではQ7を切断しても、全ループを切断
できるが、この場合には合計4点で切断することとな
り、最小とはならない。実際には、この切断数を最小に
する操作は、上記度数をカウンターの値で表しし行う
が、そのフローを図5に示しておく。Next, all the loops of the sequential circuit are cut so that the number of cut points is reduced as much as possible. (Figure 1
(B)) The reason for reducing the number of cutting points as much as possible is to reduce the number of calculation points described later as much as possible by reducing the number of cutting points as much as possible. A method of minimizing the number of disconnection points will be described with reference to the sequential circuit in the form of a directed graph having four loops shown in FIG. In addition, in FIG. 3, Q1, −
Q1, Q2, -Q2, Q3, Q4, Q5, Q6, Q7 are node names, and L1, L2, L3, L4 are loop names.
Extracting the constituent nodes for each loop is shown in FIG.
The frequency that appears in the loop of each node is
It becomes as shown in FIG. In FIG. 4B, it is clear that if the node with the highest frequency (-Q4) is disconnected, more loops can be disconnected at once, and if the node (-Q4) is disconnected first, the loops L2, L3, L4 are cut.
Is cut. Next, the same processing is performed on the loops that have not been cut, until all the loops are cut. In this case, as shown in FIG. 4C, the only loop that is not broken is L1, and the constituent nodes are -Q2 and Q2. As shown in FIG. 4D, the frequency of each constituent node is It becomes 1, and -Q2 or Q2 may be cut off. As described above, in the case of the directed circuit in the directed graph shown in FIG. 3, by disconnecting the node -Q4 and -Q2 or Q2, all loops are disconnected,
Moreover, the number of cuts can be minimized. Separately, loop L
1 for Q2, loop L2 for Q4, loop L3 for Q
6. In the loop L4, even if Q7 is cut, the whole loop can be cut, but in this case, the total is cut at 4 points, which is not the minimum. Actually, the operation of minimizing the number of disconnections is performed by expressing the above frequency by the value of the counter, and its flow is shown in FIG.
【0008】次いで、切断した後に、回路のどのノード
も信号変化を起こさない安定状態となるように、安定条
件を論理式化(論理図化)する。(図1(c)) 例えば、図6(a)に示すループをもち、且つP点での
信号値が状態変数Qで定義される有向グラフ化された順
序回路の場合、ループをP点で切断し、回路のどのノー
ドも信号変化を起こさない安定状態とするには、図6
(b)に示すように、図6(a)に示すフィードバック
側論理ゲートのフィードバック入力側のノードに替え、
状態変数をQ’とするノードの入力端子を持たせてた
(組合せ)回路として表す場合、QとQ’が等しいこと
が必要である。即ち、処理対象とする各切断点Pi にお
ける信号値を状態変数Qi と定義した場合、切断点Pi
の対応する元のループのフィードバック側論理ゲートの
フィードバック入力側のノードに替え、状態変数をQ’
i するノードの入力端子を持たせて、全てのループに対
して、状態変数Qi と状態変数Q’i とを等しいとする
ことが、切断された組合せ回路の安定条件である。全切
断点Pi に対し、Qi とQ’i との排他的論理和が0と
なり、且つ全切断点Pi に対し得られた、全ての排他的
論理和の出力値の論理和の出力値を0となる。即ち、各
切断点Pi については、図7に示す論理式(論理図)が
成り立ち、且つ図8に示す論理式(論理図)が成り立
つ。Next, after the disconnection, the stability condition is logically expressed (logical diagram) so that any node of the circuit is in a stable state in which no signal change occurs. (FIG. 1 (c)) For example, in the case of a sequential circuit having a loop shown in FIG. 6 (a) and having a signal value at P point defined by a state variable Q, the loop is cut at P point. In order to achieve a stable state in which no signal change occurs at any node in the circuit,
As shown in FIG. 6B, instead of the feedback input side node of the feedback side logic gate shown in FIG.
When expressed as a (combination) circuit having an input terminal of a node whose state variable is Q ', it is necessary that Q and Q'be equal. That is, when the signal value at each cutting point P i to be processed is defined as the state variable Q i , the cutting point P i
To the node on the feedback input side of the feedback side logic gate of the corresponding original loop of
It is a stable condition of the disconnected combinational circuit that the state variable Q i is equal to the state variable Q ′ i for all loops by providing the input terminal of the node for i . The total cut point P i, the exclusive OR is 0 and Q i and Q 'i, and was obtained with respect to the total cutting point P i, the output of the logical sum of the output values of all of the exclusive OR The value becomes 0. That is, for each cutting point P i , the logical expression (logical diagram) shown in FIG. 7 is established, and the logical expression (logical diagram) shown in FIG. 8 is established.
【0009】次に、このようにして論理式化(論理図
化)された安定条件について解を求める。(図1
(d)) これは、結局、図9に示すように、組合せ回路におい
て、出力zが0となる入力パターンを求めることとな
る。即ち、安定状態とする組み〔qi〕を求めるが、こ
れは切断数をn1、元々の入力端子数をn2、n=n1
+n2とした場合、2n 個の組合せのについて、出力値
が0となる組合せのものを選択する方法にて得られる。Next, a solution is obtained for the stability condition thus logically formulated (logical diagram). (Figure 1
(D)) In the end, as shown in FIG. 9, in the combinational circuit, the input pattern with the output z of 0 is obtained. In other words, a set [qi] that makes a stable state is obtained. The number of disconnections is n1, the number of original input terminals is n2, and n = n1.
In the case of + n2, it can be obtained by a method of selecting a combination having an output value of 0 out of 2 n combinations.
【0010】次に、得られた安定状態の組み〔qi〕を
用い、元々の入力を変化させ、図9に示す組合せ回路か
ら余計なゲート(安定状態を求めるために付加したEx
−ORゲート、ORゲート)を削除した回路の出力値の
状態遷移の抽出を行う。(図1(e)) そして、出力値の状態遷移を表した表(以降状態遷移表
と言う)を図10のように作成する。図10は、行を安
定状態の組み〔qi〕、列を入力パターンとするマトリ
ックスMとしたものである。尚、マトリックスMの要素
Mijは、安定状態〔qi〕から元々の入力端子の信号
値をXjに変化させたときの最終状態を示す。また、回
路によっては、例えば同期式回路は入力とクロックを同
時には変化させない等の制約があり、そのような場合は
必要なMijのみ求める。以降このようなMijを有効
遷移と呼ぶ。状態遷移表作成のフローを図11に示し、
処理を簡単に示しておく。簡単には、回路の初期状態と
して安定状態の組み〔qi〕により初期化して(有効遷
移となるXjに)入力端子を変化させ、時系列的に信号
変化を追跡する手順を全ての安定状態の組み〔qi〕に
対して繰り返し行うものである。Next, using the obtained set of stable states [qi], the original input is changed, and an extra gate (Ex added to obtain the stable state is obtained from the combination circuit shown in FIG. 9).
-OR gate, OR gate) is used to extract the state transition of the output value of the circuit. (FIG. 1E) Then, a table showing the state transition of the output value (hereinafter referred to as a state transition table) is created as shown in FIG. FIG. 10 shows a matrix M in which rows are stable state sets [qi] and columns are input patterns. The element Mij of the matrix M indicates the final state when the signal value of the original input terminal is changed from the stable state [qi] to Xj. Further, depending on the circuit, there is a constraint that the synchronous circuit does not change the input and the clock at the same time, and in such a case, only the required Mij is obtained. Hereinafter, such Mij is referred to as a valid transition. The flow of state transition table creation is shown in FIG.
The process is briefly shown below. Briefly, the procedure for initializing the circuit by the stable state set [qi], changing the input terminal (to Xj which is a valid transition), and tracking the signal change in time series is performed for all stable states. This is repeated for the set [qi].
【0011】安定状態の組み〔qi〕は元々の入力端子
と元々のフィードバック入力側の状態変数(Q’i )と
で表されているので、これをループ切断後の回路に入力
変数としてセットし、回路全体にいきわたらせる。この
回路は組合せ回路なので特に難しい処理ではない。これ
を回路の初期化と言う。この後、回路の切断したループ
を一時的に復元した上で、入力端子をXjに変化させ、
信号追跡を行い、最終状態が得られればマトリックスに
記述し、復元したループを切断した状態に戻しておく。
尚、回路状態は全ノードの値の組みとして表現される
が、途中の状態を全ノードで表すのは効率が悪いので、
各途中の回路状態は、初めの回路状態から変化したノー
ドのみで表すことにしている。また、入力端子をXjに
変化させ、信号追跡を行った際に、回路が過渡期である
場合、即ち同じ回路状態が過去に存在しない場合には、
入力変化のゲートに対し、出力、即ちノードの値を求め
セットし、回路状態を登録しておく。具体的には、入力
変化のゲートの出力値を一度個々のワークエリアに求め
ておき、対象ゲートの評価が全て済んだら個々のワーク
エリアから該当ノードへセットを行う。また、入力端子
をXjに変化させ、信号追跡を行った際に、回路が過渡
期でない場合、即ち同じ回路状態が過去に存在する場合
は、図12(a)に示すように、収束するか、図12
(b)に示すように、発振するかのどちらかである。図
12(a)に示す収束とは、ある安定状態(S3)にな
ったことを示している。図12(b)に示す発振とは、
回路状態がある状態に定まらず、複数の状態を繰り返す
場合を言う。尚、図12においてSiは回路状態を示し
ており、前述の通り、回路状態は全ノードの値の組みと
して表現されるが、途中の状態を全ノードで表すのは効
率が悪いので、各途中の回路状態は、初めの回路状態S
1から変化したノードのみで表すことにしている。即
ち、図13においてSiは回路状態を示しており、初め
のS1の回路状態は、ノードa1、a2、a3、a4、
a5はそれぞれの0、1、0、1、1の値を持つ状態で
ある。S1からノードa1、a2の値がそれぞれ1、0
に変化した状態がS2で、S2からノードa2、a3の
値がそれぞれ1、1に変化した状態がS3であるが、S
3についても初めのS1からの差のみで、S1からノー
ドa1、a3の値がそれぞれ1、1と変化したものとし
て表す。実際の手順としては、S2とS2からの差をマ
ージして求める。尚、マージとは共通のノードを除外し
てそれ以外はこのまま残す処理である。また、回路状態
をSjで表した場合、SjとSj−1との差分dj−1
が空なら収束と判定し、否で過去に同じ状態があれば発
振、否で過去に同じ状態がない場合には過渡期と判定で
きる。Since the set of stable states [qi] is represented by the original input terminal and the original feedback input side state variable (Q ' i ), this is set as an input variable in the circuit after the loop break. , Spread throughout the circuit. Since this circuit is a combinational circuit, it is not particularly difficult. This is called circuit initialization. After this, after temporarily restoring the broken loop of the circuit, change the input terminal to Xj,
The signal is traced, and when the final state is obtained, it is described in the matrix, and the restored loop is returned to the disconnected state.
The circuit status is expressed as a set of values for all nodes, but it is inefficient to represent the status in the middle with all nodes, so
The circuit state in the middle of each process is represented only by the node changed from the initial circuit state. Also, when the input terminal is changed to Xj and the signal is traced, if the circuit is in a transitional period, that is, if the same circuit state has not existed in the past,
The output, that is, the value of the node is obtained and set for the gate of the input change, and the circuit state is registered. Specifically, the output value of the gate of the input change is once obtained for each work area, and when all the evaluations of the target gate are completed, the work area is set to the corresponding node. When the input terminal is changed to Xj and the signal is traced, if the circuit is not in the transitional period, that is, if the same circuit state has existed in the past, does it converge as shown in FIG. , Fig. 12
It either oscillates as shown in (b). The convergence shown in FIG. 12A indicates that a certain stable state (S3) has been reached. The oscillation shown in FIG. 12 (b) is
It is a case where a circuit state is not determined to be a certain state and a plurality of states are repeated. Note that, in FIG. 12, Si indicates a circuit state, and as described above, the circuit state is expressed as a set of values of all nodes. The circuit state of is the initial circuit state S
Only the nodes changed from 1 will be represented. That is, in FIG. 13, Si indicates a circuit state, and the initial circuit state of S1 is nodes a1, a2, a3, a4,
a5 is a state having respective values of 0, 1, 0, 1, 1. The values of the nodes a1 and a2 from S1 are 1 and 0, respectively.
The state changed to S2 is S2, and the state where the values of the nodes a2 and a3 are changed from S2 to 1 and 1 respectively is S3.
Regarding 3 as well, only the difference from the initial S1 is shown, and the values of the nodes a1 and a3 are changed from S1 to 1 and 1, respectively. As an actual procedure, the difference between S2 and S2 is obtained by merging. Incidentally, the merging is a process of excluding a common node and leaving the other nodes as they are. When the circuit state is represented by Sj, the difference dj-1 between Sj and Sj-1.
If is empty, it can be determined to be converged. If no, the same state in the past can be determined to oscillate, and if not, the transition can be determined to be the same.
【0012】次に到達可能性をテストして到達不能な安
定状態を状態遷移表から除去する。(図1(f)) 状態遷移表は発振を除いてある安定状態から別の安定状
態への遷移に他ならない。図14(a)では、安定状態
〔q1〕は遷移元がないので到達不能であり、図14
(b)でも安定状態〔q1〕は遷移元がないので到達不
能であり、連鎖的に安定状態〔q2〕、〔q5〕も不能
となる。図15に到達可能性をテストするフローを図示
しておく。これを図14(b)に適用すると、安定状態
〔q1〕、〔q2〕、〔q3〕、〔q4〕、〔q5〕
は、それぞれ入次数0、2、2、1、2となる。まず安
定状態〔q1〕の入次数が0なので、即ち、遷移元がな
いので到達不能で、安定状態〔q2〕、〔q5〕の入次
数を減らすこととなる。これにより、安定状態〔q5〕
が入次数が0で不能となる為、更に安定状態〔q2〕の
入次数を減らすこととなり、〔q2〕も入次数が0とな
り不能となる。Next, reachability is tested to remove unreachable stable states from the state transition table. (FIG. 1 (f)) The state transition table is nothing but the transition from one stable state to another stable state except oscillation. In FIG. 14A, the stable state [q1] is unreachable because there is no transition source.
Even in (b), the stable state [q1] cannot be reached because there is no transition source, and the stable states [q2] and [q5] are also chained. The flow for testing reachability is illustrated in FIG. When this is applied to FIG. 14B, stable states [q1], [q2], [q3], [q4], [q5]
Respectively have in-degrees of 0, 2, 2, 1, 2. First, since the in-degree of the stable state [q1] is 0, that is, it is unreachable because there is no transition source, the in-degrees of the stable states [q2] and [q5] are reduced. As a result, the stable state [q5]
However, since the in-degree becomes 0 and becomes impossible, the in-degree of the stable state [q2] is further reduced, and the in-order of [q2] becomes 0 and becomes impossible.
【0013】次に状態遷移表をある入力パターンXjに
対応する列で調べ、値が0、1の固定値なのか、保持な
のか、反転なのかを判断する。図16(a)に示す状態
遷移表を挙げて説明する。尚、図16(a)に示す状態
遷移表は図16(b)に示す、入力をId、Ic、出力
をQ、Q’とするDラッチ回路に関する状態遷移表であ
る。図16(a)において、横軸は元々の入力パターン
で、この場合00、01、10、11である。縦軸は安
定状態であり、この場合6個求められている。安定状態
は前述のように、元々の入力端子と元々のフィードバッ
ク入力側の状態変数の組みで表され、この場合は、元々
の入力端子2個とフィードバック入力側の状態変数1個
の組となる。1行目で00:0〔01〕とあるが、はじ
めの00は入力端子のパターンで:の次の0は元々のフ
ィードバック入力側の状態変数の値である。〔01〕の
01は出力端子Q、Q’値を表としているが、これは遷
移前の値であり、先に述べたように、回路の初期化によ
り求められたものである。表の要素〔・・〕は遷移後の
出力端子Q、Q’の値である。まず、入力パターン00
の場合の出力値の列(第1列)について、1つ目の出力
端子Qについて調べる。図16のBの部分である。Bを
上から下へみていくと、010011となっており、値
は固定していないが、遷移前の値(図16のAの部分)
と対比すると、Aも010011となっている。即ち、
入力00における出力端子Qは遷移前の状態を保持して
おり、保持と判断される。2つ目の出力端子Q’につい
ても同様である。次に、入力パターン01の場合の出力
値の列(第2列)について、1つ目の出力端子Qについ
て調べる。図16のCの部分である。Cを上から下へみ
ていくと、000000となっており、値は固定値0で
ある。つまり、遷移前が何であっても出力端子Qは0と
判断される。このようにして、遷移前の状態と遷移後の
状態を比較することにより、図16(a)の遷移表から
図17(a)に示す機能が抽出される。そして、この機
能表を圧縮した表が図17(b)に示す機能表となる。Next, the state transition table is examined in the column corresponding to a certain input pattern Xj, and it is determined whether the value is a fixed value of 0 or 1, is held, or is inverted. The state transition table shown in FIG. 16A will be described. The state transition table shown in FIG. 16A is a state transition table related to the D latch circuit having inputs Id and Ic and outputs Q and Q ′ shown in FIG. 16B. In FIG. 16A, the horizontal axis is the original input pattern, which is 00, 01, 10, 11 in this case. The vertical axis represents the stable state, and in this case, six are obtained. As described above, the stable state is represented by a set of the original input terminal and the original state variable of the feedback input side, and in this case, it is a set of two original input terminals and one state variable of the feedback input side. . In the first line, there is 00:00 [01], but the first 00 is the pattern of the input terminal and the next 0 after: is the value of the original state variable on the feedback input side. Although 01 in [01] is a table of output terminal Q and Q'values, this is a value before transition and is obtained by initialization of the circuit as described above. The elements [..] in the table are the values of the output terminals Q and Q'after the transition. First, input pattern 00
In the case of the output value column (first column), the first output terminal Q is examined. It is a portion B in FIG. When B is viewed from the top to the bottom, it is 010011, and the value is not fixed, but the value before the transition (portion A in FIG. 16).
When compared with A, A is also 010011. That is,
The output terminal Q at the input 00 holds the state before the transition and is judged to be held. The same applies to the second output terminal Q '. Next, regarding the column of output values (second column) in the case of the input pattern 01, the first output terminal Q is examined. It is a portion C in FIG. When C is viewed from the top to the bottom, the value is 000000, and the value is the fixed value 0. That is, the output terminal Q is determined to be 0 regardless of what is before the transition. In this way, by comparing the state before the transition and the state after the transition, the function shown in FIG. 17A is extracted from the transition table of FIG. 16A. Then, a table obtained by compressing this function table becomes a function table shown in FIG.
【0014】もし、状態遷移表からの機能解釈(判定)
の段階で結果が不定となった場合には、シフトレジス
タ、カウンタの可能性を調べる。まず、ある出力端子Q
i の遷移前と遷移後の比較を他の出力端子Qj と行う。
つまり、遷移後Qi に固定して、遷移前をQj にする。
そしてあるQj のとき保持と判断されれば、出力端子Q
j の値が出力端子Qi の値にシフトしたものと判断し
て、シフトレジスタであると判断される。この結果が、
不定である場合には、カウンタの可能性を調べる。但し
この処理は外部からのこの回路がカウンタであり、どの
出力端子群がカウンタとしてワードなのかを与えられた
時のみ行う。ワードは普通数ビットであり、出力端子の
中からワードを自動的に検出するのはあまり効率がよく
ないし(処理的には可能である。)、この程度の補助的
な情報を与えるのは容易であるのでこうしている。処理
はワード単位に遷移前後を比較する。この比較は、ワー
ドを2進数の整数とみてインクリメントかデクリメント
されているかをみる。Function interpretation (judgment) from the state transition table
If the result is uncertain at the stage, check the possibility of shift register and counter. First, a certain output terminal Q
The comparison before and after the transition of i is performed with another output terminal Q j .
That is, it is fixed at Q i after the transition and Q j before the transition.
If it is judged to be held at a certain Q j , the output terminal Q
It is determined that the value of j is shifted to the value of the output terminal Q i , and it is determined that the value is a shift register. The result is
If uncertain, check the possibility of the counter. However, this processing is performed only when this circuit from the outside is a counter and which output terminal group is a word as a counter is given. Since words are usually several bits, it is not very efficient to detect words automatically from the output terminals (processing is possible), and it is easy to give such auxiliary information. So I'm doing this. The process compares before and after the transition in word units. This comparison looks at the word as a binary integer and sees if it is incremented or decremented.
【0015】[0015]
【発明の効果】本発明のLSI順序回路の機能抽出方法
は、上記のように、回路状態の複雑度に左右されず回路
の機能抽出を可能としている。具体的には、複雑なルー
プ構成を持つJK−FFや、シフトレジスタ、カウンタ
等をもつ回路の場合においても、回路の機能(動作)を
抽出を可能としており、従来に比べ、機能抽出処理でき
る回路の範囲を拡大している。結果的に、LSIの回路
設計においての、手直しを信頼性をもってできるものと
しており、回路の動作検証作業を一層正確なものとして
いる。As described above, the method for extracting the function of the LSI sequential circuit of the present invention enables the function extraction of the circuit without being influenced by the complexity of the circuit state. Specifically, even in the case of a JK-FF having a complicated loop configuration, a circuit having a shift register, a counter, etc., the function (operation) of the circuit can be extracted, and the function extraction processing can be performed as compared with the conventional method. Expanding the circuit range. As a result, the LSI circuit design can be reworked with reliability, and the operation verification work of the circuit can be made more accurate.
【図1】実施例のLSI順序回路の機能抽出方法を示し
た工程概略図FIG. 1 is a schematic process diagram showing a method of extracting a function of an LSI sequential circuit according to an embodiment.
【図2】ループ検出を説明するための図FIG. 2 is a diagram for explaining loop detection.
【図3】ループを4個もつ有向グラフで表現された順序
回路の図FIG. 3 is a diagram of a sequential circuit represented by a directed graph having four loops.
【図4】切断点数を最小にする方法を説明するための図FIG. 4 is a diagram for explaining a method of minimizing the number of cutting points.
【図5】切断点数を最小にする方法のフロー図FIG. 5 is a flow chart of a method for minimizing the number of cutting points.
【図6】ループの切断を説明するための図FIG. 6 is a diagram for explaining loop cutting.
【図7】Ex−ORを用いた論理式(論理図)の図FIG. 7 is a diagram of a logical expression (logical diagram) using Ex-OR.
【図8】ORを用いた論理式(論理図)の図FIG. 8 is a diagram of a logical expression (logical diagram) using OR.
【図9】組合せ回路の論理式(論理図)の図FIG. 9 is a diagram of a logical expression (logical diagram) of a combinational circuit.
【図10】状態遷移表の図FIG. 10 is a diagram of a state transition table
【図11】状態遷移表作成のフロー図FIG. 11 is a flowchart for creating a state transition table.
【図12】回路状態を説明するための図FIG. 12 is a diagram for explaining a circuit state.
【図13】回路の状態管理を説明するための図FIG. 13 is a diagram for explaining circuit state management.
【図14】到達可能性を説明するための図FIG. 14 is a diagram for explaining reachability.
【図15】到達可能性テストのフロー図FIG. 15: Reachability test flow diagram
【図16】状態遷移表の図FIG. 16 is a diagram of a state transition table
【図17】機能表の図FIG. 17: Function table diagram
【図18】JK−FFを表した論理図FIG. 18 is a logical diagram showing JK-FF.
L1、L2、L3、L4 ループ Q1、−Q1、Q2、−Q2、Q3、Q4、Q5、Q
6、Q7 ノード名L1, L2, L3, L4 loop Q1, -Q1, Q2, -Q2, Q3, Q4, Q5, Q
6, Q7 node name
Claims (2)
効グラフで与えられた順序回路から回路機能を抽出する
方法であって、少なくとも順に、(A)順序回路のルー
プを全て検出するステップと、(B)切断点数が最小と
なるように、順序回路のループを全て切断するステップ
と、(C)各切断点Pi における信号値を状態変数Qi
と定義して、切断した後に、回路のどのノードも信号変
化を起こさない安定状態となるように、切断点Pi の対
応する元のループのフィードバック側論理ゲートのフィ
ードバック入力側のノードに替え、状態変数をQ’i す
るノードの入力端子を持たせて、全てのループに対し
て、状態変数Qi と状態変数Q’i とを等しいとするス
テップと、(D)状態変数Qi と状態変数Q’i とを等
しい条件を排他的論理和で論理式化し、且つ、得られた
全ての排他的論理和の出力値の論理和の出力値を0と
し、最終的に、フィードバック入力でない元々の入力
と、前記の全状態変数Q’i を入力とした組合せ回路
で、論理式化し、論理式を解くことにより、安定状態を
求めるステップと、(E)前記(D)で求められた安定
状態をもとに、回路の入力を変化させたときの信号変化
を追跡して最終状態を求める作業を、必要な前記元々の
入力のデータ信号のパターン分、繰り返して、一軸を安
定状態、他の一軸を入力パターンをパラメータとして最
終状態のマトリックスを表した状態遷移表を作成するス
テップと、(F)更に、到達可能性をテストして到達不
能な安定状態を除去するステップと、(G)前記
(E)、(F)で求められた状態遷移表を入力パターン
の列で調べ、回路の機能を抽出するステップと、(H)
前記(G)により得られた機能(論理)から回路の機能
表を作製するステップとからなることを特徴とするLS
I順序回路の機能抽出方法。1. A method for extracting a circuit function from a sequential circuit given by an effective graph including a loop to which logic gates are connected, the method comprising: (A) detecting all loops of the sequential circuit; (B) A step of disconnecting all loops of the sequential circuit so that the number of disconnection points is minimized, and (C) a signal value at each disconnection point P i is a state variable Q i.
And, after disconnection, change to a node on the feedback input side of the feedback side logic gate of the original loop corresponding to the disconnection point P i so that any node of the circuit is in a stable state where no signal change occurs, the state variable 'made to have an input terminal i to the node for all loop state variables Q i and the state variable Q' Q the steps of equal and i, (D) state variables Q i and state The variables Q ′ i and the same condition are logically expressed by exclusive OR, and the output value of the logical OR of all the obtained output values of exclusive OR is set to 0, and finally, it is not a feedback input. an input, a combination circuit that receives the total state variable Q 'i of the, logical formalized, by solving the formulas, determining a stable state, stability obtained in (E) above (D) Based on the state, change the input of the circuit By repeating the work of tracing the signal change at the time to obtain the final state by the necessary amount of the original data signal pattern of the input, one axis is used as a stable state and the other one axis is used as a parameter for the final state matrix. Creating a state transition table as shown, (F) further testing reachability and removing unreachable stable states, (G) states obtained in (E) and (F) above (H) a step of examining the transition table with the columns of the input pattern and extracting the function of the circuit;
LS, which comprises a step of creating a circuit function table from the function (logic) obtained in (G) above.
Function extraction method of I sequential circuit.
の機能(論理)表の作製の際に、得られた機能(論理)
を圧縮するステップを含むことを特徴とするLSI順序
回路の機能抽出方法。2. The function (logic) obtained when the function (logic) table of the circuit in step (H) of claim 1 is prepared.
A method of extracting a function of an LSI sequential circuit, which comprises the step of compressing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8106473A JPH09274621A (en) | 1996-04-04 | 1996-04-04 | Function extracting method for lsi sequential circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8106473A JPH09274621A (en) | 1996-04-04 | 1996-04-04 | Function extracting method for lsi sequential circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09274621A true JPH09274621A (en) | 1997-10-21 |
Family
ID=14434498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8106473A Pending JPH09274621A (en) | 1996-04-04 | 1996-04-04 | Function extracting method for lsi sequential circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09274621A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470468B1 (en) | 1999-07-29 | 2002-10-22 | Mitsubishi Denki Kabushiki Kaisha | Test pattern generator, propagation path disconnecting method, and delay fault detecting method |
-
1996
- 1996-04-04 JP JP8106473A patent/JPH09274621A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470468B1 (en) | 1999-07-29 | 2002-10-22 | Mitsubishi Denki Kabushiki Kaisha | Test pattern generator, propagation path disconnecting method, and delay fault detecting method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5249133A (en) | Method for the hierarchical comparison of schematics and layouts of electronic components | |
US7308660B2 (en) | Calculation system of fault coverage and calculation method of the same | |
US8751981B2 (en) | Logic injection | |
JP2693913B2 (en) | VLSI circuit configuration method and design method | |
US5390193A (en) | Test pattern generation | |
Ebeling | GeminiII: A second generation layout validation program | |
US5491639A (en) | Procedure for verifying data-processing systems | |
JP2921502B2 (en) | Fault location estimation method for sequential circuits | |
KR20080001624A (en) | Design verification apparatus, design verification method, and computer aided design apparatus | |
US20060080576A1 (en) | Test point insertion method | |
Huang | Diagnosis of Byzantine open-segment faults [scan testing] | |
JP3246865B2 (en) | Static timing analyzer and method | |
Huang et al. | Fault-simulation based design error diagnosis for sequential circuits | |
JPH09274621A (en) | Function extracting method for lsi sequential circuit | |
US5528604A (en) | Test pattern generation for an electronic circuit using a transformed circuit description | |
US20010020289A1 (en) | Modifying timing graph to avoid given set of paths | |
CN111914504A (en) | Triple-modular redundancy method and device of application circuit | |
Steinbach et al. | Synthesis for full testability of partitioned combinational circuits using boolean differential calculus | |
JPH0587885A (en) | Generation of inspection series | |
Saldanha et al. | Timing optimization with testability considerations | |
US6405336B1 (en) | Device and method for testing a semiconductor | |
Drechsler et al. | Fault simulation in sequential multi-valued logic networks | |
JP3923568B2 (en) | Function extraction method for combinational circuits | |
JPH04178775A (en) | Verification method for integrated circuit mask pattern | |
JPH03242765A (en) | Method and device for logic design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060411 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061108 |