JP2002169852A - Method for detecting oscillation part in loop circuit - Google Patents

Method for detecting oscillation part in loop circuit

Info

Publication number
JP2002169852A
JP2002169852A JP2000367338A JP2000367338A JP2002169852A JP 2002169852 A JP2002169852 A JP 2002169852A JP 2000367338 A JP2000367338 A JP 2000367338A JP 2000367338 A JP2000367338 A JP 2000367338A JP 2002169852 A JP2002169852 A JP 2002169852A
Authority
JP
Japan
Prior art keywords
loop
input
exclusive
processing
verified
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.)
Granted
Application number
JP2000367338A
Other languages
Japanese (ja)
Other versions
JP3703390B2 (en
Inventor
Akihiko Hama
明彦 浜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Micro Systems Co Ltd
Original Assignee
Renesas Micro Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Micro Systems Co Ltd filed Critical Renesas Micro Systems Co Ltd
Priority to JP2000367338A priority Critical patent/JP3703390B2/en
Publication of JP2002169852A publication Critical patent/JP2002169852A/en
Application granted granted Critical
Publication of JP3703390B2 publication Critical patent/JP3703390B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a verification method which detects and verifies an oscillation loop circuit. SOLUTION: With respect to a loop detection means which detects inhibited negative feedback of the positive feedback and negative feedback circuits in an internal circuit in the stage of logical verification, a route where the signal polarity is inverted between at least one input terminal and an output terminal of each of elements constituting the internal circuit and information of an input condition which is required to settle an output value independently of the input value of the other input terminal are generated and updated on the basis of preliminarily determined truth value information 11 and are stored as a library in a storage medium 12 of a logical verification device. The library is cited to discriminate whether the internal circuit has an oscillation loop constitution or not, and the discrimination result is displayed on an external display means.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はループ回路における
発振構成箇所の検出方法に係わり、特に半導体装置の中
でも特定用途向けICであるASIC(Applica
tion Specific IC)または複合ICで
あるSOC(System On Chip)などで
は、ある特定の目的のために種々の回路を構成する場合
が多いため、論理ゲートによる負帰還ループを作り込む
危険性が高い。そのため、負帰還ループがチップに作り
込まれる前に予め検出するように改善したループ回路に
おける発振構成箇所の検出方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for detecting an oscillating component in a loop circuit, and more particularly to an ASIC (Application) which is an IC for a specific application in a semiconductor device.
In many cases, various circuits are configured for a specific purpose in a time-specific IC (SOC) or a composite IC such as an SOC (System On Chip), and therefore, there is a high risk of creating a negative feedback loop using logic gates. Therefore, the present invention relates to an improved method for detecting an oscillation configuration portion in a loop circuit in which a negative feedback loop is detected before it is built in a chip.

【0002】[0002]

【従来の技術】近年、半導体素子の微細化技術の進展に
伴い、その半導体素子で構成するLSIも大規模化し、
半導体メモリ、マイクロコンピュータ、あるいはこれら
のLSIを1チップに搭載した複合LSIであるSOC
も大容量化してきている。この大容量化とともにその回
路機能も複雑化し、設計段階における回路検証の精度向
上が重要な課題の一つである。
2. Description of the Related Art In recent years, with the advancement of the miniaturization technology of semiconductor devices, the scale of LSIs composed of the semiconductor devices has been increased.
SOC which is a semiconductor memory, a microcomputer, or a composite LSI in which these LSIs are mounted on one chip
Are also increasing in capacity. With the increase in capacity, the circuit function becomes complicated, and improving the accuracy of circuit verification at the design stage is one of the important issues.

【0003】これらのLSIの内部回路において論理ゲ
ートによるループ回路として正帰還ループまたは負帰還
ループが存在するが、特に負帰還ループが存在すると実
機では論理回路が発振→中間電圧となり、リーク電流が
発生する原因となる。
In the internal circuits of these LSIs, a positive feedback loop or a negative feedback loop exists as a loop circuit using logic gates. In particular, if a negative feedback loop is present, in an actual device, the logic circuit oscillates → intermediate voltage, causing a leakage current. Cause you to

【0004】そうした不具合の原因となる負帰還ループ
は、例えば外販ASICのように、小規模(ゲート数に
して100K以下)設計が主流で、かつ回路設計に人手
が入ることが多いLSIでは、意図的に作り込まれない
限り内部回路内に作り込まれることはなかった。
The negative feedback loop that causes such a problem is intended for an LSI such as an externally sold ASIC, which is mainly designed in a small scale (100K or less in number of gates) and often requires manual circuit design. It was not built into the internal circuit unless it was built specifically.

【0005】しかし、近年設計が大規模化しており、回
路設計でも論理合成ツール等を用いた自動設計手法を用
いることが多くなったことにより、意識せずに作り込ま
れてしまうといった例が発生する様になってきた。
[0005] However, in recent years, the design has become large-scale, and in circuit design, an automatic design technique using a logic synthesis tool or the like has often been used. I'm starting to do it.

【0006】回路規模は今後も更に増えていく傾向にあ
り、今後ますますこうしたこと例は増えていくと考えら
れる。
[0006] The circuit scale tends to further increase in the future, and it is thought that such cases will increase in the future.

【0007】[0007]

【発明が解決しようとする課題】上述したような従来の
例えばASICやSOCでは、そうした設計環境の変化
にあっても、発振ループ個所を特に検出する仕組みは、
今のところまだ開発されていないが、例えば、論理推移
から発振か否かの判定を論理シミュレーションを用いて
検証する方法の一例が特願平1−193668号公報に
記載されている。
In a conventional ASIC or SOC, for example, as described above, even when such a design environment changes, a mechanism for specifically detecting an oscillation loop portion is as follows.
Although not yet developed so far, for example, Japanese Patent Application No. 1-193668 discloses an example of a method for verifying whether or not oscillation has occurred from a logical transition by using a logic simulation.

【0008】同公報記載の検証方法を参照すると、特定
時刻t〜t+Δtにおける論理推移から発振か否かを判
定しているが、回路構成によっては、ループ内に初期値
を入れることが出来ず、論理シミュレーション上では時
刻tにおいてもその少し後のt+Δtにおいても内部論
理は不定〜不定で、論理推移を見ることが出来なくなり
判定が出来ない。
Referring to the verification method described in the publication, it is determined whether or not oscillation occurs based on a logic transition from a specific time t to t + Δt. However, depending on the circuit configuration, an initial value cannot be put in a loop. In the logic simulation, the internal logic is indeterminate to indeterminate at time t and a little later at t + Δt, and it is not possible to see the logic transition, and it is not possible to make a determination.

【0009】例えば、上述した従来の検証方法の説明用
回路例を示した図12を参照すると、この回路は、NA
ND12a→AND12b→NAND12aのループを
一つ有し、入力端子BはHIGH_CLAMP(“1”
でクランプ)12cにより論理レベルの“1”にクラン
プされているので、論理シミュレーション上ではNAN
D12aの出力は最初から不確定であり、これは時刻が
いくら進んでも不確定の反転は不確定である。
For example, referring to FIG. 12 showing an example of a circuit for explaining the above-mentioned conventional verification method, this circuit has an NA
It has one loop of ND12a → AND12b → NAND12a, and the input terminal B is HIGH_CLAMP (“1”).
Is clamped to the logic level "1" by the logic 12c, so that NAN is
The output of D12a is indeterminate from the beginning, and the inversion of the indeterminate is indeterminate no matter how much the time advances.

【0010】したがって、シミュレーション結果の波形
図を示した図13の様に、時刻t=0における入力Aが
Xのため、それ以降の出力Y→入力A間はXが周回し続
けることになり、最初(時刻t=0)から最後まで不確
定Xが流れるような形になっていまい、発振しているの
かどうかがわからない。
Therefore, as shown in FIG. 13 showing a waveform diagram of the simulation result, since the input A at the time t = 0 is X, X continues to circulate from the output Y to the input A thereafter. An uncertain X flows from the beginning (time t = 0) to the end, and it is not known whether or not oscillation occurs.

【0011】しかし、実機上でのNAND12aの入出
力波形を示した図14を参照すると、論理レベルのHI
GH(=1)/LOW(=0)の値を繰り返しつつ次第
に中間電圧付近に安定していくので、貫通電流が流れる
原因となってしまう。
However, referring to FIG. 14 showing the input / output waveforms of the NAND 12a on the actual device, the logic level HI
Since the value of GH (= 1) / LOW (= 0) is repeated and gradually stabilized near the intermediate voltage, a through current may flow.

【0012】また、論理シミュレータを用いる方法で
は、検出の可否はVECTORの質に大きく左右されて
しまうが、回路規模が大きい程、内部ノード全てをトグ
ルさせるVECTORの作成は困難であり、実際には対
応が難しくなってきているのが現状である。
Further, in the method using a logic simulator, the possibility of detection largely depends on the quality of VECTOR. However, as the circuit scale becomes larger, it is more difficult to create a VECTOR that toggles all internal nodes. At present, it is becoming difficult to respond.

【0013】本発明の目的は、上述した従来の欠点に鑑
みなされたものであり、論理ゲート一つ一つに対する特
定ルールに基づいた情報を備えたライブラリを用意する
ことで、回路そのものに対して発振ループ回路の検出、
検証を行う検証方法を提供することにある。
An object of the present invention has been made in view of the above-mentioned drawbacks of the related art, and by preparing a library having information based on a specific rule for each logic gate, it is possible to improve the circuit itself. Oscillation loop circuit detection,
It is to provide a verification method for performing verification.

【0014】[0014]

【課題を解決するための手段】本発明のループ回路にお
ける発振構成箇所の検出方法は、半導体装置の内部回路
における正帰還および負帰還によるループ回路のうち禁
止されている負帰還ループを論理検証段階で検出するル
ープ検出手段として、前記内部回路を構成する素子それ
ぞれの少なくとも一方の入力端子と出力端子間で信号極
性が反転する経路と、他方の入力端子の入力値に関係無
く出力値を確定させるために必要な入力条件の情報と
を、あらかじめ定める真理値情報に基き作成および更新
して論理検証装置の記憶手段にライブラリ化するととも
に、前記ライブラリを引用しながら、前記内部回路の構
成が発振ループ構成になっているかどうかの判定を行な
い、その判定結果を外部の表示手段に表示することを特
徴とする。
SUMMARY OF THE INVENTION The present invention provides a method of detecting an oscillation component in a loop circuit, comprising the steps of: verifying a prohibited negative feedback loop in a positive feedback and negative feedback loop circuit in an internal circuit of a semiconductor device; As a loop detecting means for detecting the signal, a path in which the signal polarity is inverted between at least one input terminal and an output terminal of each of the elements constituting the internal circuit, and an output value determined regardless of the input value of the other input terminal The information of the input conditions necessary for this is created and updated based on the predetermined truth value information to make a library in the storage means of the logic verification device, and while referring to the library, the configuration of the internal circuit causes an oscillation loop. A determination is made as to whether or not the configuration is established, and the determination result is displayed on an external display means.

【0015】また、排他的論理和または排他的否定論理
和それぞれの一方の入力端子を経路とする前記負帰還ル
ープであって、前記負帰還ループ外である他方の入力端
子の論理レベルがクランプにより確定している場合に、
前記真理値情報に基づき前記排他的論理和または排他的
否定論理和をインバータまたはノンインバータに置き換
えて検証を行うことができる。
In the above negative feedback loop, one of the input terminals of each of the exclusive OR and the exclusive NOR is used as a path, and the logic level of the other input terminal outside the negative feedback loop is clamped. If you are certain,
Verification can be performed by replacing the exclusive OR or exclusive NOR with an inverter or a non-inverter based on the truth value information.

【0016】さらに、排他的論理和または排他的否定論
理和それぞれの一方の入力端子を経路とする前記負帰還
ループであって、前記負帰還ループ外である他方の入力
端子の論理レベルが特定の素子または特定の機能ブロッ
クにより不確定の場合は、前記負帰還ループにおける信
号極性の反転または非反転検証は行わず、前記負帰還ル
ープ外である他方の入力端子の経路における他ブロック
の検証のみを行うこともえきる。
Further, in the negative feedback loop having one input terminal of each of an exclusive OR and an exclusive NOR, a logic level of the other input terminal outside the negative feedback loop is specified. In the case of uncertainty due to an element or a specific functional block, inversion or non-inversion verification of the signal polarity in the negative feedback loop is not performed, and only verification of another block in the path of the other input terminal outside the negative feedback loop is performed. You can do it.

【0017】さらにまた、検出した前記負帰還ループの
中に更に小負帰還ループが存在する場合は、前記小負帰
還ループを予め検証するとともに、前記小負帰還ループ
内で前記ライブラリの発振停止条件を満たす値が確定し
ている場合はループ遮断後引き続きトレースを継続し、
前記小負帰還ループ外である他方の入力端子の入力値は
不確定として前記負帰還ループを遮断してトレースを継
続することもできる。
Further, when a small negative feedback loop is further present in the detected negative feedback loop, the small negative feedback loop is verified in advance, and the oscillation stop condition of the library in the small negative feedback loop is determined. If the value that satisfies is confirmed, continue tracing after loop interruption,
The input value of the other input terminal outside the small negative feedback loop may be uncertain and the negative feedback loop may be cut off to continue the trace.

【0018】また、前記ライブラリに記憶される論理反
転経路は、前記負帰還ループ内での接続経路において入
出力端子間で論理が反転する経路がどこかを定義され、
前記発振停止条件は、前記負帰還ループ外である他方の
入力端子からの信号入力値がどの値で固定されていれば
発振しないかの情報が定義されている。
The logic inversion path stored in the library is defined as a connection path in the negative feedback loop in which the logic is inverted between input and output terminals.
The oscillation stop condition defines information as to which value does not cause oscillation if the signal input value from the other input terminal outside the negative feedback loop is fixed.

【0019】さらに、前記ライブラリを参照しながら、
検証対象の全ての素子を始点として出力段をトレースし
ていき、既に訪れた素子に戻った場合その素子を前記ル
ープとして検出するループ検出処理と、前記ループに排
他的論理和または排他的否定論理和を検出したら、前記
ループ外である他方の入力端子からの入力信号レベルが
固定されているかどうかを検証し、前記真理値情報に基
づいてインバータまたはノンインバータに置き換えられ
るか否かを判断し可能なら置き換える排他的論理和また
は排他的否定論理和の処置処理と、前記ループ内の各素
子に対して前記ライブラリ内の論理反転経路との照合を
行い、前記ループ全体で反転経路がいくつ存在するかを
計算しその結果が奇数の場合は負帰還ループ、零か偶数
の場合は正帰還ループと判定する正・負帰還チェック処
理と、前記負帰還ループの場合および前記インバータま
たはノンインバータに置き換えられない場合は、前記負
帰還ループ内の各素子がループ外の他方の入力端子から
の入力信号によって出力論理が固定されるか否かをその
素子の前段の素子に遡って順次検証するループ外入力チ
ェック処理と、前記ループ外入力チェック処理で問題無
しと判定する確証が得られなかった場合に、どの素子が
ループ構成になっているかの情報を明示して、前記ルー
プに関する検証を終了する問題点表示処理と、前記ルー
プ検出処理で検出した前記ループ全てを検出したかどう
かを確認するループ検出確認処理とを備える。
Further, referring to the library,
A loop detection process of tracing the output stage starting from all the elements to be verified and detecting the element as the loop when returning to an already visited element, and performing exclusive OR or exclusive negation on the loop. When the sum is detected, it is possible to verify whether the input signal level from the other input terminal outside the loop is fixed, and determine whether or not it can be replaced with an inverter or a non-inverter based on the truth value information. Then, the processing of the exclusive OR or the exclusive OR to be replaced is performed, and each element in the loop is checked against the logical inversion path in the library, and how many inversion paths exist in the entire loop. Positive / negative feedback check processing to determine a negative feedback loop if the result is odd, and a positive feedback loop if the result is zero or even; In the case of a loop and when the inverter or the non-inverter cannot be replaced, each element in the negative feedback loop determines whether or not the output logic is fixed by an input signal from the other input terminal outside the loop. Out-of-loop input check processing for sequentially verifying the elements of the previous stage, and when the out-of-loop input check processing has not obtained confirmation that there is no problem, information on which element has a loop configuration is obtained. Specifically, there is provided a problem display process for ending the verification of the loop, and a loop detection confirmation process for confirming whether all the loops detected in the loop detection process have been detected.

【0020】さらにまた、前記ループ外入力チェック処
理において出力論理が固定されないと判断しそれ以上の
前記前段の素子に遡るトレースを行わない特定の素子ま
たは特定の機能ブロックは、順序回路、入出力回路の折
返し、アダー、パリティジェネレータの全端子接続と、
ラッチとマルチプレクサとデコーダとのイネーブル部分
の端子接続とする。
Further, a specific element or a specific functional block which determines that the output logic is not fixed in the out-of-loop input check processing and does not trace back to the preceding element is a sequential circuit, an input / output circuit. , Adder, parity generator all terminal connection,
The terminal connection of the enable part of the latch, the multiplexer and the decoder is used.

【0021】また、前記ループ外入力チェック処理にお
いて前記前段の素子に遡るトレースを実行するか否かを
任意に選択する。
Also, in the out-of-loop input check processing, it is arbitrarily selected whether or not to execute a trace going back to the preceding element.

【0022】さらに、前記ループ外入力チェック処理に
おいて前記前段トレースの段数を任意に指定し、その段
数以内で値の確定または不確定が決まらない場合は不確
定扱いにする。
Furthermore, in the input check processing outside the loop, the number of stages of the preceding trace is arbitrarily specified, and if the value is not determined or undetermined within the number of stages, it is treated as indeterminate.

【0023】さらにまた、前記排他的論理和および排他
的否定論理和の処置処理は、前記ループ検出処理で発見
された論理ループ内に排他的論理和または排他的否定論
理和が含まれるか否かを判断する第1の排他的論理和ま
たは排他的否定論理和の有無判断処理と、前段の処理で
検出された前記排他的論理和または前記排他的否定論理
和でまだ検証のされていないものを一つ選択して、その
素子に対する前記ループ外である他方の入力端子からの
入力値が固定されているかどうかを検証する入力段トレ
ース処理と、前段の処理で前段トレースを行った前記排
他的論理和または前記排他的否定論理和をインバータま
たはノンインバータに置き換えることが可能かどうかを
判定し可能であれば次へ進み不可であれば前記ループ外
入力チェック処理へ移る置き換え判断処理と、前記置き
換え判断処理の判定結果を受けて前記入力段処理で判定
をおこなった前記排他的論理和または前記排他的否定論
理和をインバータまたはノンインバータに置き換える置
き換え実行処理と、前記排他的論理和または排他的否定
論理和の有無処理で発見された前記排他的論理和または
前記排他的否定論理和が他にある場合は、それを対象に
再び前記入力段トレース処理から繰り返し、検出されな
くなると検証継続の判断を下し前記正・負帰還処理へ移
る第2の排他的論理和または排他的否定論理和の有無判
断処理とを備える。
Further, the processing of the exclusive OR and the exclusive NOR is performed by determining whether or not the exclusive OR or the exclusive NOT is included in the logical loop found in the loop detection processing. The first exclusive OR or exclusive OR operation, and the exclusive OR operation or exclusive OR operation detected in the preceding process, which has not been verified yet. An input stage tracing process for selecting whether or not an input value from the other input terminal outside the loop for the selected element is fixed, and the exclusive logic that performs a pre-stage trace in a pre-stage process. It is determined whether or not the sum or the exclusive NOR can be replaced with an inverter or a non-inverter. A replacement determination process to be shifted, a replacement execution process for replacing the exclusive OR or the exclusive NOR calculated by the input stage process in response to the determination result of the replacement determination process with an inverter or a non-inverter; If there is another exclusive OR or exclusive NOR found in the exclusive OR or exclusive NOR operation, the input stage trace processing is repeated for the exclusive OR or exclusive NOT, and the detection is performed again. When the determination is no longer made, a second exclusive-OR or exclusive-NOR presence / absence determination process for determining the continuation of the verification and proceeding to the positive / negative feedback process is provided.

【0024】また、前記入力段トレース処理で検証した
前記排他的論理和または前記排他的否定論理和に入力さ
れる前記ループ外である他方の入力端子からの入力値が
論理レベルの“1”ならインバータに、“0”ならノン
インバータに置き換えが可能と判断して次の処理へ進
み、それ以外の場合は置き換え不可と判断して前記ルー
プ外入力チェック処理へ移る。
If the input value from the other input terminal outside the loop, which is input to the exclusive OR or the exclusive NOR verified in the input stage tracing processing, is a logical level "1", If the inverter is "0", it is determined that replacement is possible with a non-inverter, and the process proceeds to the next process. In other cases, replacement is determined to be impossible and the process proceeds to the input check process outside the loop.

【0025】さらに、前記正・負帰還処理は、前記ルー
プ検証処理で検出された素子、もしくは前記排他的論路
和または排他的否定論理和の処置処理で一部変換された
ループ内の任意の素子を、検証対象素子として選択する
始点決定処理と、現在検証している素子の前記ループ内
における入出力端子間で信号極性が反転するかどうか
を、前記ライブラリで定義されている論理反転経路の接
続が前記ループ内にあるか否かで判定する反転経路通過
判定処理と、前記反転経路通過判定処理の検証の結果、
検証している素子の前記ループ内における入出力端子間
の信号極性が反転する場合に反転数を1増加し、前記正
・負帰還処理が全て終了した時にクリアされる反転数+
1処理と、検証対象素子として後段の素子を新たに選択
する次段素子選択処理と、前記次段素子選択処理で新た
に選択された素子が前記始点決定処理で選択されたもの
と同じかどうかを判定し、同一の場合は次の処理へ進み
同一でなければ前記反転経路通過判定処理に戻る始点戻
り判定処理と、前記反転経路通過判定処理から前記始点
戻り判定処理までの結果として前記反転数+1処理で記
憶された反転数が偶数の場合は正帰還と判断して前記問
題点表示処理へ移り、奇数の場合は前記ループ外入力チ
ェック処理へ移る反転結果判定処理とを備える。
Further, the positive / negative feedback processing may be any of the elements detected in the loop verification processing or an arbitrary part of the loop partially converted by the exclusive OR operation or exclusive NOR operation processing. A starting point determination process of selecting an element as an element to be verified, and whether or not a signal polarity is inverted between input / output terminals in the loop of the element currently being verified is determined by a logical inversion path defined in the library. Inversion path passage determination processing for determining whether the connection is within the loop, and verification results of the inversion path passage determination processing,
When the signal polarity between the input and output terminals in the loop of the element under verification is inverted, the number of inversions is increased by one, and the number of inversions that is cleared when the positive / negative feedback processing is completed.
1 processing, a next-stage element selection process for newly selecting a subsequent-stage device as a verification target device, and whether the newly selected device in the next-stage device selection process is the same as the one selected in the start point determination process And, if they are the same, proceed to the next processing, and if not identical, return to the inversion path passing determination processing. The start point return determination processing, and the inversion number as a result from the inversion path passage determination processing to the start point return determination processing. If the number of inversions stored in the +1 process is an even number, it is determined that the feedback is positive, and the process proceeds to the problem display process. If the number is an odd number, the process proceeds to the out-of-loop input check process.

【0026】さらにまた、前記ループ外入力チェック処
理は、前記排他的論理和または前記排他的否定論理和が
他の素子に置き換えられた前記ループ内の任意の素子を
最初に検証する素子として選択する始点決定処理と、現
在検証している素子が前記排他的論理和または前記排他
的否定論理和かどうかを判定しそれぞれ後続する定めら
れた処理へ移る排他的論理和または排他的否定論理和の
判定処理と、現在検証している素子が前記ライブラリ内
の前記発振停止条件をもつかどうかを確認し、前記発振
停止条件が無い場合は後続する次段素子選択処理へ移
り、前記発振停止条件がある場合は次段の入力段トレー
ス処理へ進む発振停止条件の有無確認処理と、前記発振
停止条件を持つ時に、現在検証している素子の前記ルー
プ外である他方の入力端子からの入力値が固定されてい
るかどうかを検証する入力段トレース処理と、前記入力
段トレース処理で得られた現在検証中の素子に対する前
記ループ外である他方の入力端子からの入力値と、前記
発振停止条件との比較を行う発振停止条件比較処理と、
前記発振停止条件比較処理で得られた判定結果が前記発
振停止条件を満たす内容であれば次段の処理へ進み、満
たさない場合は後続する処理である次段の素子選択処理
へ移る発振ループの有無確認処理と、前記発振ループの
有無確認処理で発振条件を満たすと判定された前記ルー
プ外の入力端子からの入力値がクランプで固定される場
合は現在検証しているループの検証は終了し、外部端子
の使用条件によって発振が停止する場合は次段の処理へ
進む条件有無確認処理と、前記条件有無確認処理で発振
停止に条件がある場合にその条件を外部表示で示す条件
明示処理と、現在検証している素子からは前記ループ外
である他方の入力端子の入力値で発振停止可能な確証が
得られない場合および条件付き停止の場合に、前記ルー
プ内の現在検証している素子の後段の素子を新たな検証
対象素子として選択する次段素子選択処理と、前記検証
対象素子として選択された素子が前記始点決定処理で選
択されたものと同じかどうかを判定し、同一の場合は条
件付き通過または問題有りとして前記外部表示処理へ移
動し、同一でなければ前記排他的論理和または排他的否
定論理和の判定処理に戻る検証終了確認処理とを備え
る。
Further, in the input check processing outside the loop, an arbitrary element in the loop in which the exclusive OR or the exclusive NOR is replaced with another element is selected as an element to be verified first. Starting point determination processing, and determining whether the element currently being verified is the exclusive OR or the exclusive NOR, and determining the exclusive OR or exclusive NOR to proceed to the subsequent specified processing, respectively. Processing, and confirms whether or not the element currently being verified has the oscillation stop condition in the library. If the oscillation stop condition does not exist, the process proceeds to a subsequent element selection process, and the oscillation stop condition exists. In this case, the process for confirming the presence or absence of an oscillation stop condition that proceeds to the next stage input stage tracing process is performed. An input stage tracing process for verifying whether an input value from a terminal is fixed, and an input value from the other input terminal outside the loop for a device under verification obtained at the input stage tracing process, An oscillation stop condition comparison process for comparing with the oscillation stop condition,
If the determination result obtained in the oscillation stop condition comparison process satisfies the oscillation stop condition, the process proceeds to the next stage process; otherwise, the process proceeds to a subsequent process, that is, the next stage element selection process. If the input value from the input terminal outside the loop determined to satisfy the oscillation condition in the presence / absence confirmation processing and the presence / absence confirmation processing of the oscillation loop is fixed by a clamp, the verification of the loop currently being verified ends. When the oscillation is stopped due to the use condition of the external terminal, a condition presence / absence check process for proceeding to the next stage process, and when there is a condition for oscillation stop in the condition presence / absence check process, a condition explicit process for externally displaying the condition. In the case where it is not possible to obtain the confirmation that the oscillation can be stopped by the input value of the other input terminal outside the loop from the element currently being verified and in the case of the conditional stop, the current verification in the loop is performed. Next-stage element selection processing for selecting an element at a subsequent stage of the element as a new verification target element, and determining whether the element selected as the verification target element is the same as that selected in the start point determination processing, and In the case of (2), a verification completion check process is performed in which the process is passed to the external display process as having a conditional passage or a problem, and if not the same, the process returns to the exclusive OR or exclusive OR determination process.

【0027】また、前記入力段トレース処理は、直前の
処理で検証していた素子の前記ループ外の入力端子の方
に接続されている、一つ前段の素子を新たに検証対象素
子として選択する前段の素子選択手段と、前記前段の素
子選択手段で選択した前記検証対象素子が前に訪れた素
子か否かを判定し、既に訪れている場合と初めて訪れる
素子の場合とにそれぞれ分岐する検証素子判断処理と、
前記検証素子判断処理で既に訪れている素子と判断され
た場合その経路は検証対象外としてその経路からの値は
確定しない値とする不確定値設定処理と、現在検証して
いる素子に対する前記ループ外である他方の入力端子か
らの入力値が“0”、“1”または“不確定”のいずれ
に確定するかを判定し、確定しない場合は前記前段の素
子選択処理に戻る“0”“1”“不確定”判定処理とを
備える。
In the input stage tracing process, an immediately preceding device connected to the input terminal outside the loop of the device verified in the immediately preceding process is newly selected as a device to be verified. A first element selection unit and a verification that determines whether the verification target element selected by the first element selection unit is a previously visited element, and branches into a case where the element has already visited and a case where the element is visited for the first time; Element determination processing;
If it is determined in the verification element determination processing that the element has already been visited, the path is excluded from the verification target, and the value from the path is an undetermined value setting processing. It is determined whether the input value from the other external input terminal is determined to be "0", "1", or "indeterminate". If not, the process returns to the preceding element selection processing of "0". 1 "" uncertain "determination processing.

【0028】[0028]

【発明の実施の形態】本発明は、論理ゲートによる負帰
還のループを特に検出する方法として、禁止情報のデー
タベース化と、回路ルールチェックの検証システムを構
築(論理トレース)することで、リーク電流による不良
を無くし、品質の高いチップを供給できるというもので
ある。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention, as a method of detecting a negative feedback loop caused by a logic gate in particular, makes a database of prohibition information and constructs a verification system for circuit rule check (logic tracing). This makes it possible to supply high-quality chips by eliminating defects caused by such problems.

【0029】まず、本発明の第1の実施形態を図面を参
照しながら詳細に説明する。
First, a first embodiment of the present invention will be described in detail with reference to the drawings.

【0030】本発明の第1の実施形態によるループ回路
における発振構成箇所の検出方法をフローチャートで示
した図1を参照すると、この方法は、論理検証装置(図
示せず)に適用され、プログラム制御により動作するル
ープ検出処理S1と、排他的論理和または排他的否定論
理和の処理S2(後述の図2)と、正・負帰還チェック
処理S3(後述の図3)と、ループ外入力チェック処理
S4(後述の図4)と、回路箇所を明示して問題点を表
示するためのディスプレイ処理や印刷処理などの出力処
理S5と、処理S1と処理S4からサブルーチンとして
起動される“入力段トレース”処理を示す図5の処理が
含まれる。さらに、処理S2および処理S4の制御に必
要な真理値情報11および専用のライブラリ12(後述
の図6)からなる記憶媒体も含んで構成される。
Referring to FIG. 1 which is a flowchart showing a method for detecting an oscillation component in a loop circuit according to a first embodiment of the present invention, the method is applied to a logic verification device (not shown), and , An exclusive-OR or exclusive-NOR process S2 (FIG. 2 described later), a positive / negative feedback check process S3 (FIG. 3 described later), and an out-of-loop input check process S4 (FIG. 4 to be described later), output processing S5 such as display processing and printing processing for displaying a problem by clearly indicating a circuit location, and "input stage trace" started as a subroutine from processing S1 and processing S4. The processing of FIG. 5 showing the processing is included. Further, it includes a storage medium including truth value information 11 and a dedicated library 12 (FIG. 6 described later) necessary for controlling the processes S2 and S4.

【0031】ループ検出処理S1は、既にある公知技術
を流用してループ個所を探す処理である。すなわち、全
ての素子を始点として出力段をトレースしていき、これ
までに訪れた素子に戻った場合、その素子をループとし
て検出する。
The loop detecting process S1 is a process of searching for a loop portion by using a known technique. That is, the output stage is traced starting from all the elements, and when returning to the element visited so far, the element is detected as a loop.

【0032】探索においては、目的が論理ゲートのみの
構成によるループを見つけることであること、また、経
験則よりこれらの素子が含まれていた場合発振に至るこ
とは無いことから、特定の素子(下記に記載)への接続
は検索対象から外して、他の経路の探索を行う。つま
り、その経路はループになっていないと判断する。
In the search, since the purpose is to find a loop composed of only logic gates, and from the rule of thumb, if these elements are included, oscillation does not occur. Connection described below) is excluded from the search target, and another route is searched. That is, it is determined that the route is not in a loop.

【0033】検証対象外となるループで接続される特定
素子:順序回路、LATCHとMULTIPLEXER
とDECODERとのENABLE部分、I/O折返
し、ADDERへの接続。
Specific elements connected by a loop not to be verified: sequential circuit, LATCH and MULTIPLEXER
ENABLE part between NETWORK and DECODER, I / O return, connection to ADDER.

【0034】検証対象となるループで接続される素子:
INVERTER、NON−INVERTER、OR、
NOR、AND、NAND、XOR、XNOR、複合ゲ
ート、LATCHとMULTIPLEXERとDECO
DERのデータ部分。
Elements connected by a loop to be verified:
INVERTER, NON-INVERTER, OR,
NOR, AND, NAND, XOR, XNOR, composite gate, LATCH, MULTIPLEXER, and DECO
Data part of DER.

【0035】処理3および処理4の実行に必要なライブ
ラリ(図6)内では予め個々の素子に関して、論理反
転経路発振停止条件、の2つの情報が定義されてい
る。論理反転経路は、文字どおり、ループ内での接続経
路において、“入出力端子間で論理レベルが極性反転す
る経路がどこか”を定義したものである。
In the library (FIG. 6) necessary for executing the processes 3 and 4, two pieces of information, that is, the logic inversion path oscillation stop condition, are defined in advance for each element. The logical inversion path literally defines "where is the path where the logic level is inverted between the input and output terminals" in the connection path in the loop.

【0036】また、発振停止条件は、“ループ外である
他方の入力端子からの入力値がどの値で固定されていれ
ば発振しないか”の情報が定義されている。
As the oscillation stop condition, information is defined as to what value the input value from the other input terminal outside the loop is fixed and does not oscillate.

【0037】処理S2においては、XOR/XNORが
ある場合の処理を行う。XOR/XNORはループ外で
ある他方の入力端子からの入力値によって、その入出力
端子間で信号レベルが極性反転するかしないかが変わる
ため、例外的にループ外である他方の入力端子からの入
力を最初にトレースして、ループ外からの入力値が固定
されているかどうかを検証する。
In step S2, a process is performed when there is XOR / XNOR. XOR / XNOR changes the polarity of the signal level between the input and output terminals depending on the input value from the other input terminal outside the loop, and therefore, exceptionally, from the other input terminal outside the loop, Trace the input first to verify that the input value from outside the loop is fixed.

【0038】そして、ループ外からの入力値の固定が可
能なら、これらXOR/XNORを真理値情報11に基
づいてINVERTERもしくはNON−INVERT
ERに置き換える。置き換えられない場合、そのループ
は正帰還・負帰還の判定(処理3)が出来ないため、他
のブロックのループ外入力チェック(処理4)からのみ
判定する。
If it is possible to fix the input value from outside the loop, XOR / XNOR is converted to INVERTER or NON-INVERT based on the truth value information 11.
Replace with ER. If the loop is not replaced, the loop cannot make a positive feedback / negative feedback determination (process 3), so that it is determined only from a non-loop input check (process 4) of another block.

【0039】処理S3においては、ループ内の各素子に
対してライブラリ内に貯えられた論理反転経路との照ら
し合わせを行い、ループ全体で反転経路がいくつ存在す
るかを計算する。その結果を元にループの正・負帰還を
判定する。
In the process S3, each element in the loop is compared with a logical inversion path stored in the library, and the number of inversion paths in the entire loop is calculated. The positive / negative feedback of the loop is determined based on the result.

【0040】判定結果が奇数の場合は負帰還ループ、
“0”か偶数の場合は正帰還ループと判定する。正帰還
ループの場合は回路的に発振することは無いため、その
ループに関しては問題無しと判定する。前述の様に、I
NVERTERもしくはNON−INVERTERに置
き換えの出来ないXORもしくはXNORが存在した場
合、この処理は行われない。
If the judgment result is an odd number, a negative feedback loop
If it is “0” or an even number, it is determined as a positive feedback loop. In the case of the positive feedback loop, since there is no oscillation in the circuit, it is determined that there is no problem with the loop. As mentioned above, I
If there is an XOR or XNOR that cannot be replaced with NVERTER or NON-INVERTER, this processing is not performed.

【0041】処理S4においては、ループ内の各素子が
ループ外である他方の入力端子からの入力値によって、
出力論理が固定される可能性について検証を行う。方法
としては、それら素子の前段にあたる素子を検証する。
In the process S4, each element in the loop is determined by the input value from the other input terminal outside the loop.
Verify that the output logic may be fixed. As a method, an element at the preceding stage of those elements is verified.

【0042】前段の素子が論理ゲート等であり、クラン
プまたは外部端子に接続されている時に特定の値で確定
すると判定するが、順序回路等、下記に示す素子が前段
であった場合は経験則よりその前段素子の出力が固定さ
れることはないため、その接続で値が固定することは無
いと判定する。また、それ以外の素子の場合は、さらに
前段の素子を検証する。
It is determined that the element at the preceding stage is a logic gate or the like and is determined by a specific value when connected to a clamp or an external terminal. Since the output of the preceding element is not fixed, it is determined that the value is not fixed by the connection. In the case of other elements, the preceding element is further verified.

【0043】論理レベルは固定され無いと判定して、そ
れ以上の前段トレースを行わない接続素子:順序回路、
I/O折返し、アダー、パリティジェネレータの全接
続、ラッチとマルチプレクサとデコーダーのイネーブル
部分の接続。
A connection element which determines that the logic level is not fixed and does not perform any further preceding trace: a sequential circuit,
I / O wrap, adder, all connections of parity generator, connection of latch, multiplexer and enable part of decoder.

【0044】前段トレースの結果、ループ内の素子に対
しその素子のループ外である他方の入力端子からの入力
値が固定される場合は、ライブラリ内に貯えられた発振
停止条件との照らし合わせを行い、そのループ内の素子
の出力論理レベルが固定されるかどうかを判定する。外
部端子の使用条件によっては固定される、といった場合
はその条件も明示する。
As a result of the preceding trace, when the input value from the other input terminal outside the loop of the element is fixed for the element in the loop, the oscillation stop condition stored in the library is compared with the oscillation stop condition stored in the library. Then, it is determined whether or not the output logic level of the element in the loop is fixed. If it is fixed depending on the usage conditions of the external terminal, the condition is also specified.

【0045】厳密にいえば、上述した素子/接続でも前
段トレース自体は可能なため、任意に検証をする、しな
いを選択出来る様にしてもいい。
Strictly speaking, since the former-stage trace itself is possible even with the above-described elements / connections, it may be possible to arbitrarily select whether to perform verification.

【0046】また、前段トレースにおける段数について
も、原則的には確定する、しないが明らかになるまで検
証を行うことになっているが、任意にその段数を指定し
て、その段数以内で値の確定、不確定が決まらない場合
は不確定扱いにする仕組みでもよい。
In addition, the number of steps in the preceding trace is basically determined or not, but verification is to be performed until it becomes clear. However, the number of steps is arbitrarily specified, and the value within the number of steps is specified. If the finalization or uncertainty is not determined, the system may be treated as indeterminate.

【0047】また、入力トレースを終了するもう一つの
条件として、既に訪れたことのある素子が出てきた場合
がある。こうした場合は構成的に2重ループになってお
り、そのままでは永遠に廻り続けるため、そのループに
ついてはカットする。
As another condition for terminating the input trace, there is a case where an element which has been visited has come out. In such a case, a double loop is structurally formed, and the loop is cut forever because the loop continues forever.

【0048】出力処理S5において問題無しと判定する
に足る十分な確証が得られなかった場合に、どの素子が
ループ構成になっているかの情報を外部の表示手段に明
示して、このループに関する検証を終了する。
If the output processing S5 does not provide sufficient confirmation to determine that there is no problem, information on which element is in the loop configuration is clearly displayed on an external display means, and verification of this loop is performed. To end.

【0049】明示にあたっては、個々の素子に対して回
路データ内で与えられるユニークな名前を用いて、どの
接続が実機上で発振する可能性のあるループになってい
るかを具体的に示す。
For clarification, a specific name given in the circuit data for each element is used to specifically indicate which connection is a loop that may oscillate on an actual device.

【0050】最後に処理S6で、ループ検出処理S1で
検出したループ全てを検出したかどうかを確認する。
Finally, in step S6, it is confirmed whether or not all the loops detected in loop detection processing S1 have been detected.

【0051】次に、上述した個々処理に関する詳しい説
明、条件、実施理由と、本発明の検証方法の全体のフロ
チャートを示した図1と、それぞれの処理の詳細なフロ
チャートを示した図2〜図5とを併せて参照しながら実
施形態を具体的に説明する。
Next, FIG. 1 showing a detailed description, conditions, and reasons for the above-described individual processing, and an overall flowchart of the verification method of the present invention, and FIG. 2 showing a detailed flowchart of each processing. The embodiment will be specifically described with reference to FIGS.

【0052】まず、図1内の処理について説明する。処
理S1の“ループ構成を見つける”では、ループ個所を
探す。処理S1が終わったら処理S2に移る。ループを
見つけるアルゴリズムや、その条件については前述した
内容の通りである。
First, the processing in FIG. 1 will be described. In "find loop configuration" of the process S1, a loop portion is searched. When the process S1 ends, the process moves to the process S2. The algorithm for finding the loop and its conditions are as described above.

【0053】処理S2“XOR/XNORの処理”にお
いては、処理S1で検出されたループ内にXOR/XN
ORがある場合INVERTER/NON−INVER
TERに置き換える試みを行う。XOR/XNORがあ
り、かつ置き換えが出来なかった場合、処理S3は行わ
れず処理S4に移る。それ以外は処理S3に移る。
In the processing S2 "XOR / XNOR processing", XOR / XN is added to the loop detected in the processing S1.
If there is OR INVERTER / NON-INVER
Attempt to replace with TER. If there is XOR / XNOR and replacement cannot be performed, the process proceeds to the process S4 without performing the process S3. Otherwise, the process moves to step S3.

【0054】処理S3“正・負帰還チェック”では処理
S1で発見され、場合によっては処理S2でXOR/X
NORが他のブロックに置き換えられたループが正帰還
ループか負帰還ループかを判定する。
In the process S3 "positive / negative feedback check", it is found in the process S1, and in some cases, XOR / X
It is determined whether the loop in which NOR is replaced by another block is a positive feedback loop or a negative feedback loop.

【0055】正帰還ループの場合、そのループの検証は
終了して処理S6へ移る。負帰還ループの場合は処理S
4に移る。その判定には“専用ライブラリ”に記述され
ている“論理反転経路”がループ内の接続にいくつ用い
られているかを検証することで行われる。
In the case of the positive feedback loop, the verification of the loop ends, and the process proceeds to step S6. Processing S in case of negative feedback loop
Move to 4. This determination is made by verifying how many "logical inversion paths" described in the "dedicated library" are used for connections in the loop.

【0056】処理S4“ループ外入力チェック”は、処
理S3で負帰還ループと判定された場合か、処理S2で
XOR/XNOR全てを置き換え出来なかった場合に行
われる処理である。
The process S4 "input check outside the loop" is a process performed when it is determined in the process S3 that the loop is a negative feedback loop, or when all the XOR / XNOR cannot be replaced in the process S2.

【0057】処理S1で検出されたループ、あるいは処
理S2でXOR/XNORが他の素子に置き換えられた
ループ内の各素子(XOR/XNORは除く)に対して
ループ外である他方の入力端子からの入力値によって出
力が固定されるかどうかを判定する。
From the other input terminal outside the loop for each element (excluding XOR / XNOR) in the loop detected in processing S1 or in the loop in which XOR / XNOR is replaced by another element in processing S2. It is determined whether the output is fixed by the input value of.

【0058】その結果、ループ外の入力がクランプで固
定されており、“専用ライブラリ”内で定義されている
“発振停止条件”と照らし合わせた時に普遍的に発振す
ることが無い場合は、このループの検証は終了して処理
S6へ移る。それ以外の場合、つまり、条件付きOK,
あるいは問題有りの場合は処理S5へ移る。
As a result, if the input outside the loop is fixed by the clamp and does not oscillate universally when compared with the "oscillation stop condition" defined in the "dedicated library", The verification of the loop ends, and the process proceeds to step S6. Otherwise, that is, conditional OK,
Alternatively, if there is a problem, the process proceeds to step S5.

【0059】処理S5“回路個所を明示して問題点を表
示”は処理S4の結果として、普遍的に発振しないとい
う確証が得られなかった場合に行われる。具体的には、
処理S4で検証されたループがループ外である他方の入
力端子からの入力値によって、発振停止される確証が得
られない場合と、外部端子の使い方によっては発振停止
される場合を含む。後者の場合は外部端子の使い方条件
についてもここで表示する。この処理が終わると処理S
6に移る。
The process S5 "specify the circuit location and display the problem" is performed when it cannot be confirmed that the oscillation does not occur universally as a result of the process S4. In particular,
This includes the case where it is not possible to confirm that the oscillation is stopped by the input value from the other input terminal where the loop verified in the process S4 is outside the loop, and the case where the oscillation is stopped depending on the use of the external terminal. In the latter case, the usage conditions of the external terminal are also displayed here. When this process ends, process S
Move to 6.

【0060】処理S6“他のループがあるか?”では、
回路内に検証すべき他のループがあるかを確認する。あ
る場合は再び処理S2へ移り、一連の検証が行われる。
無い場合はそのまま終了する。
In the process S6 "Is there another loop?"
Check if there is another loop to verify in the circuit. If there is, the process returns to step S2 to perform a series of verifications.
If not, the process ends.

【0061】次に、処理S1でのループ発見後に必ず行
われるフロー、すなわち、図1内における処理S2“X
OR/XNORの処理”の詳細な検証方法を示した図2
の処理について説明をする。なお、図1内の処理S1お
よびび処理S6については公知技術なので特にここでの
詳細な動作説明は省略する。
Next, a flow that is always performed after the loop is found in the process S1, that is, the process S2 “X” in FIG.
FIG. 2 showing a detailed verification method of “OR / XNOR processing”
Will be described. Since the processes S1 and S6 in FIG. 1 are well-known technologies, detailed description of the operations here is omitted.

【0062】処理S2a“XOR/XNORの有無”
は、処理S1で発見されたループ内にXOR/XNOR
が含まれるかをチェックする。一つでも含まれる場合は
処理S2bへ、そうでない場合は即図1でいうところの
処理S3へ移る。
Process S2a "XOR / XNOR presence / absence"
Is XOR / XNOR in the loop found in process S1.
Check if is included. If at least one is included, the process proceeds to step S2b; otherwise, the process immediately proceeds to step S3 in FIG.

【0063】処理S2b“入力段トレース”は、処理S
2aで発見されたXOR/XNORでまだ検証のされて
いないものを一つ選択して、その素子に対するループ外
である他方の入力端子からの入力値が固定されているか
どうかを検証する。
The process S2b "input stage trace" is a process S2b.
One of the XOR / XNORs that have not been verified yet is selected in 2a, and it is verified whether the input value from the other input terminal outside the loop for the element is fixed.

【0064】この“入力段トレース”部分の動作につい
ては、さらに詳細な検証方法を示した図5があり、この
処理については後述する。図5に示す処理を実行の結
果、返り値を得たら処理S2cへ移る。
FIG. 5 shows a more detailed verification method for the operation of the "input trace" portion, and this processing will be described later. When a return value is obtained as a result of executing the processing shown in FIG. 5, the process proceeds to processing S2c.

【0065】処理S2c“(NON−)INVERTE
Rに置き換え可?”は、処理S2bで前段トレースを行
ったXOR/XNORをINVERTER/NON−I
NVERTERに置き換えることが可能かどうかを判定
する。
Process S2c "(NON-) INVERTE
Can be replaced with R? "Inverts the XOR / XNOR traced in the preceding stage in the process S2b to INVERTER / NON-I
It is determined whether it can be replaced with NVERTER.

【0066】具体的には、処理S2bで検証したXOR
/XNORに入力される、ループ外である他方の入力端
子からの入力値が“1”ならINVERTERに置き換
えが可能、“0”ならNON−INVERTERに置き
換えが可能、と判断して処理S2dへ移る。
Specifically, the XOR verified in step S2b
If the input value from the other input terminal outside the loop input to / XNOR is "1", it can be replaced with INVERTER, and if it is "0", it can be replaced with NON-INVERTER, and the process moves to step S2d. .

【0067】それ以外(不定)の場合は、置き換え不可
と判断して、図1でいう所の処理S4へ一気に移動す
る。これは複数のXOR/XNORがある場合に一つで
も置き換え不可のものがあれば図1でいう所の処理4へ
移動するものである。
In other cases (undefined), it is determined that replacement is impossible, and the process goes to the process S4 in FIG. 1 at a stretch. This means that if there is a plurality of XOR / XNORs and there is at least one that cannot be replaced, the process moves to the process 4 in FIG.

【0068】処理S2d“置き換えを実行”は、処理S
2cの判定結果を受けて、処理S2cで判定をおこなっ
たXOR/XNORをINVERTER/NON−IN
VERTERに置き換える。
The process S2d "perform replacement" is a process S2d.
In response to the determination result of step 2c, the XOR / XNOR determined in step S2c is changed to INVERTER / NON-IN
Replace with VERTER.

【0069】この後、処理S2eへ移る。処理S2e
“他にもXOR/XNORはあるか?”では、処理S2
aで発見されたXOR/XNORが他にある場合は、そ
れを対象に再び処理S2bから処理を行う。無ければ図
1に示す処理S3に移動する。
After that, the procedure moves to the processing S2e. Processing S2e
"Is there another XOR / XNOR?"
If there is another XOR / XNOR found in a, the process is performed again from the process S2b for that XOR / XNOR. If not, the process moves to the process S3 shown in FIG.

【0070】次に、図1における処理S3について、そ
の詳細な検証方法を記載した図3を参照しながら説明す
る。この処理は、処理S2でのXOR/XNOR検証の
結果、処理S1で検出したループ内にXOR/XNOR
が存在しない場合、もしくは、XOR/XNORが存在
するが全てINVERTER/NON−INVERTE
Rに置き換えが可能だった場合に行われ、内容としては
そのループが正帰還ループか、負帰還ループかの判定を
行う。
Next, the process S3 in FIG. 1 will be described with reference to FIG. 3, which describes a detailed verification method. As a result of the XOR / XNOR verification in the processing S2, this processing includes the XOR / XNOR in the loop detected in the processing S1.
Does not exist, or XOR / XNOR exists but all INVERTER / NON-INVERTE
This is performed when R can be replaced, and the content is determined as to whether the loop is a positive feedback loop or a negative feedback loop.

【0071】処理S3a“始点を決める”では、処理S
1で発見して、場合によっては処理2で一部変換された
ループ内の任意の素子を検証素子として選択する。最終
的にはSすべての素子を同じ条件で検証することになる
ので、この選択方法は任意で問題無い。選択したら処理
S3bへ移る。
In the process S3a "determining the starting point", the process S3a
In step 1, an arbitrary element in the loop partially converted in processing 2 is selected as a verification element. Ultimately, all S elements are verified under the same conditions, so this selection method is arbitrary and does not cause any problem. After the selection, the process moves to step S3b.

【0072】処理S3b“反転経路通る?”では、現在
検証している素子のループ内における入出力端子間にお
いて、入力および出力信号の極性が反転するかどうかを
検証する。
In the process S3b "pass the inversion path?", It is verified whether or not the polarity of the input and output signals is inverted between the input / output terminals in the loop of the element currently being verified.

【0073】現在検証している素子は処理S3aで最初
に選択された素子か、後述する処理S3dで新たに検証
素子として選択された素子が対象となる。検証の方法は
ライブラリ(図6)内で定義されている“論理反転経
路”の接続がループ内にあれば、反転経路を通っている
として、処理S3cに移動する。そうでない場合は処理
S3dに移動する。
The element currently being verified is the element selected first in step S3a or the element newly selected as a verification element in step S3d described later. In the verification method, if the connection of the “logical inversion path” defined in the library (FIG. 6) is in the loop, it is determined that the connection is through the inversion path, and the process proceeds to step S3c. Otherwise, the process moves to step S3d.

【0074】処理S3c“反転数+1”は、処理S3b
の検証の結果、検証している素子のループ内における入
出力端子間において、入力および出力信号の極性が反転
する場合に行われる。
The process S3c "the number of inversions + 1" is the same as the process S3b
Is performed when the polarity of the input and output signals is inverted between the input and output terminals in the loop of the element being verified.

【0075】内部的に反転数を1増加する。内部記憶は
処理S3を終了した時にクリアされるが、それまでは保
持される。この処理終了後は処理S3dへ移る。
The number of inversions is internally increased by one. The internal memory is cleared when the process S3 is completed, but is kept until that time. After this processing ends, the flow shifts to processing S3d.

【0076】処理S3d“次段へ”では、検証している
素子を他の素子に移す。具体的には後段の素子を新たに
検証する素子として選択する。この処理の次の処理S3
eへ移る。
In the process S3d "to the next stage", the element to be verified is moved to another element. Specifically, the latter element is selected as a new element to be verified. Processing S3 following this processing
Move to e.

【0077】処理S3e“始点に戻ったか?”では、処
理S3dの実行結果、検証する素子として選択された素
子が処理S3aで選択されたものと同じかどうかを判定
する。
In the step S3e "Return to the starting point?", It is determined whether or not the element selected as the element to be verified is the same as the element selected in the step S3a as a result of the execution of the step S3d.

【0078】選択された素子が同一の場合は、ループ内
の全ての素子に対して検証したことになるので、処理S
3fへ移る。同一でなければ、処理S3bに戻り同様の
検証を行う。
If the selected elements are the same, the verification has been performed for all the elements in the loop.
Move to 3f. If they are not the same, the process returns to step S3b and the same verification is performed.

【0079】処理S3f“判定”では、処理S3b〜S
3eまでの結果として内部的に記憶された反転数が偶数
か奇数かで行う。偶数の場合は正帰還ループと判断し
て、次の移り先としては図1の中でいう所の処理S5と
なる。
In the process S3f "determination", the processes S3b to S3b
The process is performed depending on whether the inversion number internally stored as a result up to 3e is even or odd. In the case of an even number, it is determined to be a positive feedback loop, and the next transfer destination is the process S5 in FIG.

【0080】反対に奇数の場合は図1の中でいう処理S
4になる。どちらに移動するとしても、内部記憶として
保持されていた反転数はここで一度クリアされることと
なる。
On the other hand, in the case of an odd number, the processing S in FIG.
It becomes 4. Whichever direction is moved, the number of reversals held as internal memory is cleared once here.

【0081】次に、図1における処理S4について、そ
の詳細な検証方法のフローチャートを示した図4を参照
しながら説明する。
Next, the process S4 in FIG. 1 will be described with reference to FIG. 4 showing a flowchart of a detailed verification method.

【0082】この処理は、処理S3cで検証した正・負
帰還チェックの結果、負帰還ループと検証された場合、
および処理S2bのXOR/XNOR検証の結果、処理
S1で検出したループ内のXOR/XNOR全てを他の
素子に置き換えることが出来なかった場合に行われる。
This process is performed when the result of the positive / negative feedback check verified in the process S3c indicates that the process is a negative feedback loop.
Also, this is performed when it is not possible to replace all the XOR / XNOR in the loop detected in the processing S1 with another element as a result of the XOR / XNOR verification in the processing S2b.

【0083】内容としては、処理S1で検出され、場合
によっては処理S2でXOR/XNORが他の素子に置
き換えられたループ内の全ての素子に対して、ループ外
である他方の入力端子からの入力信号により出力値が固
定されるかどうかを検証する。
The contents are detected in step S1, and in some cases, XOR / XNOR is replaced by another element in step S2, and all the elements in the loop are output from the other input terminal outside the loop. Verify whether the output value is fixed by the input signal.

【0084】処理S4a“始点決める”では、処理S1
で検出され、場合によっては処理S2でXOR/XNO
Rが他の素子に置き換えられたループ内の全ての素子を
検証するにあたって、任意の素子を最初に検証する素子
として選択する。
In the process S4a "deciding the starting point", the process S1
XOR / XNO in step S2 in some cases.
In verifying all the elements in the loop in which R has been replaced by another element, an arbitrary element is selected as the element to be verified first.

【0085】最終的には全ての素子を検証することとな
るため、この素子の選択は任意で問題無い。この処理の
後、処理S4bへ移る。
Since all the elements are finally verified, the selection of the elements is arbitrary and does not cause any problem. After this processing, the procedure moves to processing S4b.

【0086】処理S4b“XOR/XNOR?”では、
現在検証している素子がXOR/XNORかどうかを判
定する。現在検証している素子とは、処理S4aで最初
に選択されたか、後述する処理S4iで新たに検証素子
として選択された素子が対象となる。
In the process S4b "XOR / XNOR?"
It is determined whether the currently verified element is XOR / XNOR. The element currently being verified is an element that is first selected in step S4a or that is newly selected as a verification element in step S4i described below.

【0087】現在検証している素子がXOR/XNOR
の場合、ループ外である他方の入力端子からの入力値が
固定されるかどうかはここに至るまでの間にすでに処理
S2bで行われている。したがって、これ以上のこの素
子に関する検証は不要のため、一気に処理4iまで移
る。それ以外の場合は通常通りの検証を行うため、処理
S4cへ移る。
The element currently being verified is XOR / XNOR
In this case, whether or not the input value from the other input terminal outside the loop is fixed has been already performed in step S2b before reaching this point. Therefore, since it is unnecessary to further verify the device, the process immediately proceeds to the process 4i. Otherwise, the process proceeds to step S4c to perform the normal verification.

【0088】処理S4c“発振停止条件有り?”では、
現在検証している素子が専用ライブラリ(図6)内で定
義されている“発振停止条件”を持つかどうかを確認す
る。
In step S4c "Oscillation stop condition?"
It is checked whether the element currently being verified has the “oscillation stop condition” defined in the dedicated library (FIG. 6).

【0089】現在検証している素子とは、処理S4aで
最初に選択されたか、後述する処理S4iで新たに検証
素子として選択された素子が対象となる。例えば、IN
VERTERの様に、入力端子が一個所しかなく、ルー
プ外から発振を停めることが出来ない素子等は、その
“発振停止条件”を持たない。
The element to be verified at present is the element selected first in step S4a or the element newly selected as a verification element in step S4i described later. For example, IN
Elements such as VERTER which have only one input terminal and cannot stop oscillation from outside the loop do not have the "oscillation stop condition".

【0090】“発振停止条件”が無い場合、ループ外で
ある他方の入力端子からの入力値で出力値が固定される
ことは無いとして、これ以上この素子に関する検証は不
要のため、処理S4iへ移る。“発振停止条件”がある
場合は処理S4dへ移る。
If there is no "oscillation stop condition", it is determined that the output value will not be fixed by the input value from the other input terminal outside the loop, and it is not necessary to further verify this element. Move on. If there is an "oscillation stop condition", the process proceeds to step S4d.

【0091】処理S4d“入力段トレース”は、現在検
証している素子のループ外からの入力値が固定されてい
るかどうかを検証する。現在検証している素子とは、処
理S4aで最初に選択されたか、後述する処理S4iで
新たに検証素子として選択された素子が対象となる。
The process S4d "input stage trace" verifies whether or not the input value from the outside of the loop of the currently verified element is fixed. The element currently being verified is an element that is first selected in step S4a or that is newly selected as a verification element in step S4i described below.

【0092】処理S4cにおいて、現在検証している素
子が専用ライブラリ(図6)内で定義されている“発振
停止条件”を持つ時に行われる。この部分の動作につい
ては、さらに詳細な検証方法を示す図5があり、この図
5については後述する。図5に示す処理の結果、返り値
を得たら処理S4eへ移る。
In step S4c, the process is performed when the element currently being verified has the "oscillation stop condition" defined in the dedicated library (FIG. 6). FIG. 5 shows a more detailed verification method for the operation of this part, and FIG. 5 will be described later. When a return value is obtained as a result of the processing shown in FIG. 5, the process proceeds to processing S4e.

【0093】処理S4e“発振停止条件と比較”は、処
理S4dで得られた現在検証している素子のループ外で
ある他方の入力端子からの入力値と、専用ライブラリ
(図6)内で“発振停止条件”として定義されている条
件を満たすかどうかの比較を行う。
The process S4e "comparison with the oscillation stop condition" is performed by comparing the input value from the other input terminal outside the loop of the element currently being verified obtained in the process S4d with the value in the dedicated library (FIG. 6). A comparison is made as to whether the condition defined as “oscillation stop condition” is satisfied.

【0094】処理S4dで得られたループ外からの入力
値が不定(X)の場合は、専用ライブラリ内(図6)の
“発振停止条件”として提示されている条件に関わらず
満たさないということになる。この後は処理S4fへ移
る。
If the input value from the outside of the loop obtained in step S4d is undefined (X), it is not satisfied regardless of the condition presented as the "oscillation stop condition" in the dedicated library (FIG. 6). become. Thereafter, the process proceeds to step S4f.

【0095】処理S4f“発振止まる?”では、処理S
4eで行った判定の結果により次の移り先が変化する。
具体的には処理S4eで得られた判定結果が、専用ライ
ブラリ内(図6)の“発振停止条件”として提示されて
いる条件を満たす、といった内容であれば、このループ
で発振することは無いとして処理S4gへ移る。
In the process S4f "Oscillation stops?"
The next destination changes according to the result of the determination made in 4e.
Specifically, if the determination result obtained in step S4e satisfies the condition presented as the "oscillation stop condition" in the dedicated library (FIG. 6), no oscillation occurs in this loop. The processing moves to S4g.

【0096】これには、“満たすが、外部端子が○○の
場合のみ”といった条件付きの場合も含まれる。満たさ
ない場合は他の素子を検証すべく処理S4iへ移る。
This includes a case with a condition such as “Satisfy, but only when the external terminal is ○”. If not, the process proceeds to step S4i to verify other elements.

【0097】処理S4g“条件有り?”は、処理S4f
で、現在検証している素子はループ外である他方の入力
端子からの入力値により発振の停止が可能な場合に行わ
れる処理である。現在検証している素子とは、処理S4
aで最初に選択されたか、後述する処理S4iで新たに
検証素子として選択された素子が対象となる。
Processing S4g "condition exists?"
This is a process that is performed when the element currently being verified can stop oscillation by an input value from the other input terminal outside the loop. The device currently being verified is the process S4
The element selected first in step a or the element newly selected as a verification element in step S4i described below is targeted.

【0098】処理S4dにおいて、ループ外からの入力
をトレースして、そのループ外からである他方の入力端
子の入力値が固定すると判定された際に、クランプで普
遍的に値が固定されるのか、外部端子の使用条件によっ
て固定されることがあるのかによって次の移り先が分岐
する。
In the process S4d, the input from outside the loop is traced, and when it is determined that the input value of the other input terminal from outside the loop is fixed, whether the value is fixed universally by the clamp. The next destination branches depending on whether the external terminal may be fixed depending on the use conditions.

【0099】クランプで普遍的に固定される場合は、現
在検証している処理S1で発見されたループはこの時点
で発振しないと判定できるため、このループの検証は終
了して、図1内でいう所の処理S6へ移る。外部端子の
使用条件によって発振が停止するかどうかが変化する場
合は処理S4hへ移る。
In the case where the loop is universally fixed by the clamp, it can be determined that the loop found in the currently verified process S1 does not oscillate at this time, so that the verification of this loop is completed and FIG. It moves on to the process S6 where it is. When it is determined whether or not the oscillation stops depending on the use condition of the external terminal, the process proceeds to step S4h.

【0100】処理S4h“条件明示”は、上述した処理
S4gで発振停止に条件がある場合にその条件を示すも
のである。この処理の後は処理S4iへ移る。
The process S4h "specify condition" indicates a condition for stopping oscillation in the process S4g described above, if any. After this processing, the procedure moves to processing S4i.

【0101】処理S4i“次段へ”の処理は、現在検証
している素子からはループ外である他方の入力端子から
の入力値で発振停止出来るという確証が得られない場
合、および、発振停止出来るが条件付きであり、普遍的
でない場合に行われる。
The processing of step S4i "to the next stage" is performed when it is not confirmed from the element to be verified that the oscillation can be stopped by the input value from the other input terminal outside the loop, and Performed when possible but conditional and not universal.

【0102】ループ内の他の素子に関しての検証を行う
ため、現在検証している素子の後段の素子を新たな現在
検証している素子として選択する。処理後は処理S4j
へ移動する。
In order to verify other elements in the loop, the element following the element currently being verified is selected as a new element currently being verified. After processing, processing S4j
Move to.

【0103】処理S4j“始点に戻ったか?”では、処
理S4gの結果、検証する素子として選択された素子が
処理S4aで選択されたものと同じかどうかを判定す
る。
In the process S4j "Return to the starting point?", It is determined whether or not the device selected as the device to be verified is the same as the device selected in the process S4a as a result of the process S4g.

【0104】同一の場合は、ループ内の全ての素子に対
して検証したことになるので、処理S4全体の検証結果
として、“条件付きOK、あるいは問題有り”という形
で、図1でいう所の処理S5へ移る。同一でなければ、
処理S4bに戻り同様の検証を行う。
If the values are the same, the verification has been performed for all the elements in the loop. Therefore, as a verification result of the entire process S4, the condition shown in FIG. Move to processing S5. If not identical,
Returning to the process S4b, the same verification is performed.

【0105】最後に、図2に処理S2bおよび図4の処
理S4dにおいてサブルーチンとして起動されている
“入力段トレース”の詳細なフローチャートを示した図
5を参照しながら説明する。
Finally, a description will be given with reference to FIG. 5 which shows a detailed flowchart of the "input stage trace" activated as a subroutine in the processing S2b and the processing S4d in FIG. 4 in FIG.

【0106】処理SRa“前段見る”では、現在検証し
ている素子の一つ前段の素子を新たに現在検証する素子
として選択する。最初にここに訪れた時は、処理S2
b、処理S4dから起動された時に検証していた素子の
ループ外である他方の入力端子から1つ前段の素子を現
在検証する素子として選択する。複数ある場合は全て選
択する形となる。その(それらの)素子に関する判定は
次の処理SRbで行う。
In the process SRa “previous stage”, an element one stage before the element currently being verified is newly selected as an element to be currently verified. When first visiting here, processing S2
(b) Select the element at the previous stage from the other input terminal outside the loop of the element being verified at the time of startup from the processing S4d as the element to be verified now. If there is more than one, all will be selected. The determination regarding the (these) elements is performed in the next process SRb.

【0107】処理SRb“前に訪れたか?”は、処理S
Raで選択した素子(群)が前に訪れた所である場合、
その経路をトレースしつづけると無限ループに陥ってし
まうため、カットする必要がある。そうした部分がある
場合は処理SRcへ移る。なければ処理SRdに直接移
る。
The processing SRb “has you visited before?”
If the element (group) selected in Ra is a previously visited element,
If you continue tracing that path, you end up in an infinite loop, so you need to cut it. If there is such a part, the process proceeds to processing SRc. If not, the process directly proceeds to processing SRd.

【0108】処理SRc“小ループをカット。値はXと
する”は、処理SRbで現在検証している素子(群)が
これまでに訪れたことのある素子であった場合は、その
経路は検証対象外として、その経路からの値は確定しな
い(X)とする。その後、処理SRdへと進む。
The processing SRc “cut small loop. The value is set to X” means that if the element (group) currently verified in the processing SRb is an element that has been visited before, the route is It is assumed that the value from the route is not determined (X) as not to be verified. Thereafter, the process proceeds to processing SRd.

【0109】処理SRd“0・1・Xいずれかに確定
?”は、現在検証している素子(群)がクランプである
場合、その種類、接続により、そこが“0”“1”に確
定すると判定する。
In the process SRd “determine to any of 0, 1, and X?”, If the element (group) currently being verified is a clamp, it is determined to be “0” or “1” depending on its type and connection. It is determined.

【0110】外部端子である場合は“0”“1”の任意
の値に確定できるとする(その場合は後からその確定す
る任意の値を条件として処理S5で表示することとな
る)。順序回路などの場合は確定しない(X)と判定す
る。それ以外の素子の場合は、判定は保留とする。
In the case of an external terminal, it is assumed that any value of "0" or "1" can be determined (in that case, the value will be displayed later in the process S5 on condition of the determined value). In the case of a sequential circuit or the like, it is determined that it is not determined (X). In the case of other elements, the determination is suspended.

【0111】個々の詳細な判定条件については前述した
通りである。ここに至るまでに得られたこれらの値が確
定する個所/しない個所/判定保留の個所より、処理S
2b/処理S4dから起動された時に検証していた素子
に対するループ外からの入力値が“0”/“1”/
“X”いずれかに確定するかを判定する。
The detailed judgment conditions are as described above. From the places where these values obtained up to this point are determined / not performed / determination pending, the processing S
2b / Input value from outside the loop to the element being verified when activated from processing S4d is “0” / “1” /
It is determined whether "X" is determined.

【0112】“0”/“1”/“X”いずれにも確定し
ない場合は再び処理SRaに戻り、そうでない場合は、
確定する値を返り値として処理S2cまたはS4eに戻
る。
If neither “0” / “1” / “X” is determined, the process returns to the processing SRa again.
The process returns to step S2c or S4e with the value to be determined as a return value.

【0113】次に、具体的な検証対象の回路例を示した
図7を参照しながら上述した検証方法を適用する第1の
実施例を説明する。
Next, a first embodiment to which the above-described verification method is applied will be described with reference to FIG. 7 showing a specific example of a circuit to be verified.

【0114】処理S1(図1):ループ構成を見つける
(この処理は公知技術の応用)一例として、図7に示す
INVERTER付きAND7a→NON−INVER
TER7b→2入力OR7c→AND7aのループが一
つだけ発見されたと仮定する。
Process S1 (FIG. 1): Finding a loop configuration (this process is an application of a known technique) As an example, AND7a with INVERTER shown in FIG. 7 → NON-INVER
Assume that only one loop of TER7b → two-input OR7c → AND7a is found.

【0115】処理S2(図1):XOR/XNOR処理
は、処理S1で見つけたループ内にXOR/XNORが
ある場合の処理を行う。
Process S2 (FIG. 1): The XOR / XNOR process is a process performed when there is an XOR / XNOR in the loop found in the process S1.

【0116】処理S2a(図2)→“ループ内にXOR
/XNORはあるか?”→無いため、“検証継続”で処
理S3へ移る。
Process S2a (FIG. 2) → “XOR in loop
Is / XNOR available? Since there is no "→", the process proceeds to the processing S3 with "verification continued".

【0117】処理S3(図1):正・負帰還チェック
は、処理S1で見つけたループが正帰還ループか負帰還
ループかを検証する。
Process S3 (FIG. 1): The positive / negative feedback check verifies whether the loop found in process S1 is a positive feedback loop or a negative feedback loop.

【0118】処理S3a(図3):検証するにあたって
の始点を処理S1で見つけたループ内で1つ決める。こ
こでは、仮にAND(図7の7a)とする。
Process S3a (FIG. 3): One starting point for verification is determined in the loop found in process S1. Here, it is assumed that the AND is 7 (7a in FIG. 7).

【0119】処理S3b(図3):AND(図7の7
a)のループ内における入出力経路(入力A→出力Y)
が論理反転かどうかを検証する。専用ライブラリ図6の
“論理反転経路”と照らし合わせ、論理反転経路を通過
しているかを判定する。
Process S3b (FIG. 3): AND (7 in FIG. 7)
Input / output path in the loop of a) (input A → output Y)
Verify that is a logical inversion. It is checked with the "logical inversion path" in FIG.

【0120】図7のAND(7a)の場合、ライブラリ
よりを参照すると、入力A→出力Yの経路は論理反転経
路に当るため、“通る”ことになり、処理S3cへ移
る。
In the case of AND (7a) in FIG. 7, when the library is referred to, the path from input A to output Y corresponds to the logical inversion path, so that the path "passes", and the process shifts to step S3c.

【0121】処理S3c(図3):内部記憶として、反
転数を+1し、処理S3dへ移る。
Process S3c (FIG. 3): The number of inversions is incremented by 1 as internal storage, and the flow advances to process S3d.

【0122】処理S3d(図3):AND7aの検証は
終わったため、別の素子の検証に移る。
Process S3d (FIG. 3): Since the verification of the AND 7a has been completed, the process proceeds to verification of another element.

【0123】後段ブロックであるNON−INVERT
ER7bへ移動する。処理S3eへ移る。
NON-INVERT in the subsequent block
Move to ER7b. Move to processing S3e.

【0124】処理S3e(図3):全ての素子を検証し
たかどうかを確認する。処理S3aで選択した始点はA
ND7aで、NON−INVERTER7bでは無いた
め、“NO”へ移動する。フロチャート上では処理S3
b(2回目)にあたる。
Process S3e (FIG. 3): It is confirmed whether all elements have been verified. The starting point selected in step S3a is A
Since the ND 7a is not the NON-INVERTER 7b, the process moves to "NO". Process S3 on the flowchart
b (second time).

【0125】処理S3b(図3)−2:INVERTE
R(図7の7b)におけるループ内の入出力経路(入力
A→出力Y)が論理反転かどうかを検証する。専用ライ
ブラリ図6の“論理反転経路”列と照らし合わせ、反転
経路を通過しているかを判定する。図7のNON−IN
VERTER7bの場合、ライブラリより反転経路は存
在しないため、“通らない”へ進み、次の処理S3dへ
移る。
Process S3b (FIG. 3) -2: INVERTE
It is verified whether the input / output path (input A → output Y) in the loop at R (7b in FIG. 7) is logically inverted. It is checked with the “logical inversion path” column of the dedicated library in FIG. NON-IN of FIG.
In the case of VERTER 7b, since there is no inversion path from the library, the process proceeds to “not pass” and proceeds to the next process S3d.

【0126】処理S3d(図3)−2:NON−INV
ERTER7bの検証が終わったたため、別の素子の検
証に移る。ここでは、後段ブロックであるOR7cへ移
動し、次の処理S3eへ移る。
Process S3d (FIG. 3) -2: NON-INV
Since the verification of the ERTER 7b has been completed, the process moves to verification of another element. Here, the process moves to the subsequent block OR7c and moves to the next process S3e.

【0127】処理S3e(図3)−2:全ての素子を検
証したかどうかを確認する。処理S3aで選択した始点
はNAND7aであり、OR7cでは無いので“NO”
へ移動する。フロチャート上では処理S3b(3回目)
にあたる。
Process S3e (FIG. 3) -2: It is confirmed whether all the elements have been verified. The starting point selected in the process S3a is the NAND 7a and not the OR 7c, so "NO"
Move to. Processing S3b on the flowchart (third time)
Hit.

【0128】処理S3b(図3)−3:OR(図7の7
c)におけるループ内の入出力経路が論理反転かどうか
を検証する。専用ライブラリ図6の“論理反転経路”と
照らし合わせ、反転経路を通過しているかを判定する。
図7のOR7cの場合、ライブラリを参照して反転経路
が存在しないので、“通らない”へ進み、次の処理S3
dへ移る。
Process S3b (FIG. 3) -3: OR (7 in FIG. 7)
Verify whether the input / output path in the loop in c) is logically inverted. It is checked with the "logical inversion path" in FIG.
In the case of OR7c in FIG. 7, since there is no inversion path with reference to the library, the process proceeds to “not pass” and the next processing S3
Move to d.

【0129】処理S3d(図3)−3:OR7cの検証
が終わったため、別の素子の検証に移る。ここでは、後
段ブロックであるAND7aへ移動し、次の処理S3e
へ移る。
Process S3d (FIG. 3) -3: Since the verification of OR7c has been completed, the operation shifts to verification of another element. Here, the process moves to the subsequent block AND7a, and the next process S3e
Move to

【0130】処理S3e(図3)−3:全ての素子を検
証したかどうかを確認する。処理S3aで選択した始点
はAND7aであり、始点に戻っているため、一連の検
証を終了して“NO”へ進み、次の処理S3fに移動す
る。
Process S3e (FIG. 3) -3: It is confirmed whether or not all elements have been verified. The starting point selected in the process S3a is the AND 7a, and has returned to the starting point. Thus, a series of verifications is completed, the process proceeds to “NO”, and the process proceeds to the next process S3f.

【0131】処理S3f(図3):判定する。内部記憶
されている総反転数は1で奇数(処理S3cで定義)で
ある。“反転数=奇数”へ進み、処理S3としては“負
帰還”を結果として返す。
Process S3f (FIG. 3): Judge. The total number of inversions stored internally is 1 and an odd number (defined in step S3c). The process proceeds to “inversion number = odd number”, and returns “negative feedback” as a result as the process S3.

【0132】再び図1の処理S3に戻った時に“負帰
還”であれば処理S4へ移動することとなる。なお、こ
の処理S1で発見したループの検証を終えた時点で内部
記憶の反転数は一度クリアされる。(0に戻る)処理S
4(図1):ループ外である他方の入力端子(B)から
の入力で発振を止められるかの検証を行う。
If "negative feedback" is returned when returning to the process S3 in FIG. 1, the process moves to the process S4. It should be noted that the number of reversals of the internal storage is cleared once when the verification of the loop found in the process S1 is completed. (Return to 0) Process S
4 (FIG. 1): Verify whether oscillation can be stopped by an input from the other input terminal (B) outside the loop.

【0133】処理S4a(図4):処理S1で見つけた
ループ内で、検証の始点とする素子を一つ任意に選択す
る。仮にAND(図7の7a)とする。
Process S4a (FIG. 4): In the loop found in process S1, one element as a verification start point is arbitrarily selected. It is assumed that AND (7a in FIG. 7) is set.

【0134】処理S4b(図4):AND7aがXOR
/XNORでないか確認(処理S2にて別方法でトレー
ス済みのため)。AND7aはXOR/XNORで無い
ため、“NO”へ進み、次の処理S4cへ移動する。
Process S4b (FIG. 4): AND 7a is XOR
/ XNOR (because it has been traced by another method in process S2). Since AND7a is not XOR / XNOR, the process proceeds to "NO" and moves to the next process S4c.

【0135】処理S4c(図4):AND7aは発振停
止条件を持つかどうかを確認する。AND7aの場合
は、図6のライブラリ参照して入力B=0で固定されて
いれば、発振を止めることが出来るため“YES”へ進
み、次の処理S4dへ移る。
Process S4c (FIG. 4): The AND 7a confirms whether or not there is an oscillation stop condition. In the case of the AND 7a, if the input B is fixed at 0 with reference to the library of FIG. 6, the oscillation can be stopped, so that the process proceeds to "YES" and proceeds to the next process S4d.

【0136】処理S4d(図4):AND7aへのルー
プ外である他方の入力端子からの入力段をトレース(サ
ブルーチン)する。
Process S4d (FIG. 4): Trace (subroutine) the input stage from the other input terminal outside the loop to AND 7a.

【0137】処理SRa(図5):AND7aの1つ前
段をトレースする。AND7aの入力Bは外部端子“I
N1”から来ている。
Process SRa (FIG. 5): Traces one stage before AND 7a. The input B of the AND 7a is connected to the external terminal "I
N1 ".

【0138】処理SRb(図5):処理SRaで見つけ
たAND7aの一つ前段の素子は前に訪れたかどうかを
確認。まだ訪れていないため“NO”へ進み、次の処理
SRcへ移る。
Process SRb (FIG. 5): Checks whether the element located one stage before AND 7a found in process SRa has visited before. Since the user has not visited yet, the process proceeds to “NO” and proceeds to the next process SRc.

【0139】処理SRc(図5):処理SRaで見つけ
たAND7aの前段入力により値が“0”/“1”/
“X”(不定)いずれかに確定するかを判定する。AN
D7aの入力Bは外部端子からの接続で、確定させるこ
とは可能である。したがって“YES”へ進み、図4の
処理S4eへ移る。
Process SRc (FIG. 5): The value is set to “0” / “1” / by the preceding stage input of AND 7a found in process SRa.
It is determined whether it is determined to be "X" (undefined). AN
The input B of D7a can be determined by connection from an external terminal. Therefore, the process proceeds to “YES” and proceeds to the process S4e in FIG.

【0140】処理S4e(図4):処理S5を通しての
帰り値と、発振停止条件と比較する。
Process S4e (FIG. 4): The return value after process S5 is compared with the oscillation stop condition.

【0141】処理S4cで得た発振停止条件より、処理
SRcで得られた外部端子が“0”で固定される限り発
振を停めることが可能である。したがって、処理S4f
へ移る。
From the oscillation stop condition obtained in step S4c, it is possible to stop oscillation as long as the external terminal obtained in step SRc is fixed at "0". Therefore, the process S4f
Move to

【0142】処理S4f(図4):処理S4eの結果よ
り、発振は止まるかどうかを判定。判定の結果、止まる
ので“YES”へ進み、次の処理S4gへ移る。
Process S4f (FIG. 4): It is determined from the result of process S4e whether oscillation stops. As a result of the determination, the operation stops, so that the processing proceeds to “YES”, and proceeds to the next processing S4g.

【0143】処理S4g(図4):処理S4eの結果よ
り、発振停止にあたっての条件があるかどうか判定す
る。処理S4eより、外部端子“IN1”が“0”で固
定という条件が存在するため“YES”へ進み、次の処
理S4hへ移る。
Process S4g (FIG. 4): Based on the result of process S4e, it is determined whether or not there is a condition for stopping oscillation. From the processing S4e, since there is a condition that the external terminal “IN1” is fixed at “0”, the processing proceeds to “YES” and proceeds to the next processing S4h.

【0144】処理S4h(図4):処理S4gで確認さ
れた条件を明示する。例えば、この例の場合は“外部端
子「IN1」が0で固定なら問題無し”。
Process S4h (FIG. 4): The condition confirmed in process S4g is specified. For example, in the case of this example, “there is no problem if the external terminal“ IN1 ”is fixed at 0”.

【0145】処理S4i(図4):AND7aの検証が
終わったため、別の素子の検証にうつる。後段ブロック
であるNON−INVERTER7bを新たに検証する
素子として選択し、処理S4jへ移る。
Process S4i (FIG. 4): Since verification of AND7a has been completed, verification of another element is performed. The subsequent block, NON-INVERTER 7b, is selected as a new element to be verified, and the process proceeds to S4j.

【0146】処理S4j(図4):現在検証している素
子であるNON−INVERTER7bで、処理S1で
発見された現在検証しているループ内の始点に戻ったか
を確認する。始点はAND7aで、現在検証している素
子はNON−INVERTER7bのため、“NO”へ
進み、次の処理S4b(2回目)へ移る。
Process S4j (FIG. 4): It is checked whether the NON-INVERTER 7b, which is the currently verified element, has returned to the start point in the currently verified loop found in process S1. The starting point is AND7a, and since the element currently being verified is NON-INVERTER7b, the process proceeds to "NO" and proceeds to the next process S4b (second time).

【0147】処理S4b(図4)−2:NON−INV
ERTER7bがXOR/XNORでないか確認(処理
S2にて別方法でトレース済みのため)。NON−IN
VERTER7bはXOR/XNORでは無いため“N
O”へ進み、次の処理S4c−2へ移動する。
Process S4b (FIG. 4) -2: NON-INV
Check whether ERTER7b is not XOR / XNOR (because it has been traced by another method in process S2). NON-IN
Since VERTER7b is not XOR / XNOR, "N
The process proceeds to O "and moves to the next process S4c-2.

【0148】処理S4c(図4)−2:NON−INV
ERTER7bが発振停止条件を持つかどうかを確認す
る。図6のライブラリを参照すると発振停止条件を持た
ないことから“NO”へ進み、処理S4i−2へ移る。
Process S4c (FIG. 4) -2: NON-INV
Check whether the ERTER 7b has an oscillation stop condition. Referring to the library of FIG. 6, since there is no oscillation stop condition, the process proceeds to “NO” and proceeds to process S4i-2.

【0149】処理S4i(図4)−2:NON−INV
ERTER7bの検証が終わったので、別の素子の検証
に移る。
Process S4i (FIG. 4) -2: NON-INV
Since the verification of the ERTER 7b has been completed, the process proceeds to verification of another element.

【0150】後段ブロックであるOR7cを新たに検証
する素子として選択し、処理S4j−2へ移る。
The subsequent block OR7c is selected as a new element to be verified, and the flow advances to step S4j-2.

【0151】処理S4j(図4)−2:現在検証してい
る素子であるOR7cで、処理S1で発見された、現在
検証しているループ内の始点に戻ったかを確認する。始
点はAND7aで、現在検証している素子はOR7cの
ため“NO”へ進み、処理S4b(3回目)へ移る。
Process S4j (FIG. 4) -2: It is checked whether or not the OR7c, which is the currently verified element, has returned to the start point in the currently verified loop found in process S1. The starting point is AND7a, and the element currently being verified is OR7c, so the process proceeds to "NO" and proceeds to processing S4b (the third time).

【0152】処理S4b(図4)−3:OR7cがXO
R/XNORでないか確認(処理S2にて別方法でトレ
ース済みのため)。OR7cはXOR/XNORで無い
ため“NO”へ進み、処理S4c−3へ移る。
Process S4b (FIG. 4) -3: OR7c is XO
Check if it is not R / XNOR (because it has been traced by another method in process S2). Since OR7c is not XOR / XNOR, the process proceeds to "NO" and proceeds to process S4c-3.

【0153】処理S4c(図4)−3:OR7cが発振
停止条件を持つかどうかを確認する。
Process S4c (FIG. 4) -3: It is checked whether OR7c has an oscillation stop condition.

【0154】図6のライブラリを参照すると入力B=1
で固定されていれば、発振を停めることが出来るため
“YES”へ進み、次の処理S4d−3へ移る。
Referring to the library in FIG. 6, input B = 1
If the value is fixed in step (1), the oscillation can be stopped, so that the process proceeds to "YES" and proceeds to the next process S4d-3.

【0155】処理S4d(図4)−3:OR7cへのル
ープ外である入力端子Bからの入力段をトレースする
(サブルーチン)。次の処理SRa−3へ移る。
Process S4d (FIG. 4) -3: Trace the input stage from input terminal B outside the loop to OR7c (subroutine). Move to the next processing SRa-3.

【0156】処理SRa(図5)−3:OR7cのルー
プ外である他方の入力端子Bからの1つ前段の素子をト
レースする。OR7cの入力Bは“0”(LOW)でク
ランプされている。次の処理SRb−3へ移る。
Process SRa (FIG. 5) -3: Traces the previous element from the other input terminal B outside the loop of OR7c. The input B of the OR 7c is clamped at "0" (LOW). Move to the next processing SRb-3.

【0157】処理SRb(図5)−3:処理SRaで見
つけたOR7cの一つ前段の素子は前に訪れたかどうか
を確認する。まだ訪れていないため“NO”へ進み、次
の処理SRc−3へ移る。
Process SRb (FIG. 5) -3: It is confirmed whether or not the element one stage before OR7c found in process SRa has visited before. Since it has not been visited yet, the process proceeds to “NO”, and proceeds to the next process SRc-3.

【0158】処理SRc(図5)−3:処理SRaで見
つけたOR7cの前段入力により、値が“0”/“1”
/“X”(不定)いずれかに確定するかを判定する。こ
の場合“0”でクランプされているため、“0”で固定
されるので“YES”へ進み、処理S4e−3へ移る。
Process SRc (FIG. 5) -3: The value is set to "0" / "1" by the preceding stage input of OR7c found in process SRa.
/ "X" (undefined) is determined. In this case, since it is clamped at "0", it is fixed at "0", so the process proceeds to "YES" and proceeds to the process S4e-3.

【0159】処理S4e(図4)−3:処理SRc−3
で得られたOR7cへのループ外である他方の入力端子
Bからの入力値“0”と発振停止条件を比較する。処理
S4c−3で得た発振停止条件より、“0”でクランプ
されていても発振停止とはならない。次の処理S4f−
3へ移る。
Process S4e (FIG. 4) -3: Process SRc-3
Is compared with the input value “0” from the other input terminal B outside the loop to the OR 7 c obtained in the above and the oscillation stop condition. According to the oscillation stop condition obtained in step S4c-3, the oscillation does not stop even if it is clamped at "0". Next processing S4f-
Move to 3.

【0160】処理S4f(図4)−3:処理S4e−3
の結果、発振が停まるか判定した結果、発振は止まらな
いので“NO”へ進み、処理S4i−3へ移る。
Process S4f (FIG. 4) -3: Process S4e-3
As a result, it is determined whether or not the oscillation stops. As a result, since the oscillation does not stop, the process proceeds to "NO" and proceeds to the process S4i-3.

【0161】処理S4i(図4)−3:OR7cの検証
が終わったため、別の素子の検証にうつる。後段ブロッ
クであるAND7aを新たに検証する素子として選択し
て処理S4j−3へ移る。
Process S4i (FIG. 4) -3: Since the verification of OR7c has been completed, the flow advances to verification of another element. The subsequent block AND7a is selected as a new element to be verified, and the process proceeds to S4j-3.

【0162】処理S4j(図4)−3:現在検証してい
る素子であるAND7aで、処理S1で発見された、現
在検証しているループ内の始点に戻ったかを確認する。
始点はAND7aで、現在検証している素子もAND7
aのため“YES”へ進み、処理S5へ移る。
Step S4j (FIG. 4) -3: It is checked whether or not the AND 7a, which is the currently verified element, has returned to the start point in the currently verified loop found in step S1.
The starting point is AND7a, and the element currently being verified is AND7a.
The process proceeds to “YES” for a, and proceeds to processing S5.

【0163】処理S5(図1):処理S1で発見された
ループ回路個所を明示して、問題点を表示する。この例
ではAND7a,NON−INVERTER7a,OR
7cを回路データ内でブロック毎に与えられたユニーク
な名前を用いて明示しつつ、実機上で発振する可能性が
あること、また、外部端子IN1=0固定で使う限りに
おいては問題無い旨明示する。
Process S5 (FIG. 1): The problem is displayed by clearly indicating the loop circuit location found in process S1. In this example, AND7a, NON-INVERTER7a, OR
7c is clearly indicated using a unique name given to each block in the circuit data, and may be oscillated on a real machine, and that there is no problem as long as the external terminal IN1 is fixed at 0. I do.

【0164】処理S6(図1):処理S1で発見された
他のループは有るか?→無いので“無”へ進む。(処理
おわり)上述したように本発明は、問題のある回路構成
を検出したり、実機上で発振状態を回避するための条件
等を予め明示することで、より良い品質の製品を供給す
ることが出来る。また、通常開発そのものの数倍〜数十
倍かかる、不良発生時の解析、発見、リカバリのTAT
を完全にカットできる。
Process S6 (FIG. 1): Is there any other loop found in process S1? → No, go to “No”. (Processing end) As described above, the present invention is to supply a product of higher quality by detecting a problematic circuit configuration and specifying conditions for avoiding an oscillation state on an actual machine in advance. Can be done. In addition, it takes several to several tens times the normal development itself.
Can be completely cut.

【0165】さらに、一つ一つの素子に対して、入出力
端子間で信号極性が反転する経路、および他の入力値に
関係無く出力値を確定させるために必要な入力条件の情
報をライブラリ化することで、回路構成に依存すること
無く、発振ループ構成になっているかどうかの判定を行
うことが出来る。
Further, for each element, information on the path where the signal polarity is inverted between the input / output terminals and the input conditions necessary to determine the output value irrespective of other input values is stored in a library. By doing so, it is possible to determine whether or not an oscillation loop configuration is provided, without depending on the circuit configuration.

【0166】さらにまた、そのライブラリそのものは、
真理値情報11を基に容易に作成、更新することが出来
る。
Further, the library itself is:
It can be easily created and updated based on the truth value information 11.

【0167】次に、具体的な検証対象の回路例を示した
図8を参照しながら前述した検証方法を適用する第2の
実施例を説明する。ここではループ部分にXORが含ま
れている場合の例である。
Next, a second embodiment to which the above-described verification method is applied will be described with reference to FIG. 8 showing a specific example of a circuit to be verified. Here, an example is shown in a case where the XOR is included in the loop portion.

【0168】上述した第1の実施例と異なる点は、XO
R/XNORが含まれている場合、ループ外である他方
の入力端子からの入力値によって、信号極性の反転、非
反転が変化するため、ループ内が正帰還ループか負帰還
ループかの判定が通常の手段では行えない点にある。
The difference from the first embodiment is that the XO
When R / XNOR is included, the inversion and non-inversion of the signal polarity change depending on the input value from the other input terminal outside the loop, so that it is determined whether the inside of the loop is a positive feedback loop or a negative feedback loop. It cannot be done by ordinary means.

【0169】本発明では、ループ外の入力がクランプに
より論理が確定している場合に関して、INVERTE
R/NON−INVERTERに置き換えることで反
転、非反転の検証を可能にしている。また、置き換えら
れない場合でも他のブロックのループ外入力チェックも
行い、疑似エラーとなる可能性を探っている。
According to the present invention, when the input outside the loop has its logic determined by the clamp, INVERTE
Replacing with R / NON-INVERTER enables inversion and non-inversion verification. In addition, even if it cannot be replaced, the input outside the loop of another block is checked, and the possibility of a pseudo error is being searched for.

【0170】処理S1(図1):ループ構成を見つける
(前述したように公知技術の応用)。
Process S1 (FIG. 1): Find a loop configuration (application of a known technique as described above).

【0171】処理S2へ進む。例として、図8に示した
様なINVERTER付きAND8a→NON−INV
ERTER8b→2入力XOR8c→INVERTER
付きAND8aによるループが一つだけ発見されたと仮
定する。
The process proceeds to step S2. As an example, AND8a with INVERTER as shown in FIG. 8 → NON-INV
ERTER8b → 2-input XOR8c → INVERTER
Assume that only one loop with AND8a has been found.

【0172】処理S2(図1):XOR/XNOR処
理。すなわち処理2aへ移る。
Process S2 (FIG. 1): XOR / XNOR process. That is, the process proceeds to processing 2a.

【0173】処理S2a(図2):処理S1で発見され
たループ内にXOR/XNORはあるか?→XOR8c
が存在するので“有り”へ進み、次の処理S2bへ移
る。
Process S2a (FIG. 2): Is XOR / XNOR in the loop found in process S1? → XOR8c
Exists, the process proceeds to “Yes”, and proceeds to the next process S2b.

【0174】処理S2b(図2):処理S2aで発見さ
れたXOR8cのループ外である他方の入力端子Bから
の入力段をトレースする。
Process S2b (FIG. 2): Trace the input stage from the other input terminal B outside the loop of XOR 8c found in process S2a.

【0175】処理SRa(図5):XOR8cのループ
外からの入力がどこからきているか、一つ前段を見る。
XOR8cのループ外である他方の入力端子Bからの入
力はLOWでクランプ(8e)されており、論理レベル
の“0”で固定されている。次の処理SRbへ移る。
Process SRa (FIG. 5): The previous stage is checked to see where the input from outside the XOR8c loop comes from.
The input from the other input terminal B outside the loop of the XOR 8c is clamped LOW (8e) and fixed at the logical level "0". Move to the next processing SRb.

【0176】処理SRb(図5):クランプ(8e)は
前に訪れたことがあるか?→訪れていないため“NO”
へ進み、次の処理SRcへ移る。
Process SRb (FIG. 5): Has the clamp (8e) been visited before? → "NO" because you have not visited
The process proceeds to the next process SRc.

【0177】処理SRc(図5):ここまでで、XOR
8cのループ外からの入力が“0”“1”“X”のいず
れかになるか確定するか?→XOR8cのループ外から
の入力はLOWクランプ(8e)なので、“0”に確定
するため“YES”へ進み、処理S2cへ移る。
Processing SRc (FIG. 5): XOR
Is it determined whether the input from outside the 8c loop is any of "0", "1", and "X"? → Since the input of the XOR 8c from the outside of the loop is the LOW clamp (8e), the process proceeds to “YES” to determine it to “0” and proceeds to the process S2c.

【0178】処理S2c(図2):処理S1で発見され
たループ内における、XOR8cはINVERTERな
どに置き換えが可能か?→処理SRcの結果から、ルー
プ外がLOW固定のため、真理値情報11よりNON−
INVERTERに置き換えが可能となり、次の処理S
2dへ移る。
Process S2c (FIG. 2): Can XOR8c in the loop found in process S1 be replaced with INVERTER or the like? → From the result of the processing SRc, since the outside of the loop is fixed at LOW, the NON-
INVERTER can be replaced, and the next processing S
Move to 2d.

【0179】処理S2d(図2):処理S1で発見され
たループ内における、XOR8cをNON−INVER
TERに置き換える。以後、内部的に置き換えられた図
9に示す回路に対して解析を行い、次の処理S2eへ移
る。
Process S2d (FIG. 2): XOR8c in the loop found in process S1 is set to NON-INVER
Replace with TER. Thereafter, the circuit shown in FIG. 9 which has been internally replaced is analyzed, and the process proceeds to the next process S2e.

【0180】処理S2e(図2):他にも処理S1で発
見されたループ内において、XOR/XNORがあるか
?→無いため“検証継続”し、処理S3へ移る。
Process S2e (FIG. 2): Does XOR / XNOR exist in the loop found in process S1? → Since there is no data, “verification continues” and the process proceeds to step S3.

【0181】処理S3(図1):処理S1で発見された
ループが正帰還ループか、負帰還ループかを判定し、処
理S3aへ移る。
Process S3 (FIG. 1): It is determined whether the loop found in process S1 is a positive feedback loop or a negative feedback loop, and the process proceeds to process S3a.

【0182】処理S3a(図3):各素子を検証するに
あたって、どの素子から検証を始めるかを任意に決め
る。仮にAND(図9の9a)とする。
Process S3a (FIG. 3): In verifying each device, it is arbitrarily determined from which device to start verification. Suppose it is AND (9a in FIG. 9).

【0183】これ以降の、処理S3内で検証する素子が
NON−INVERTER9cに移動するまでは上述し
た第1の実施例と同様であるからここでの説明は省略す
る。
[0183] Subsequent steps until the element to be verified in the process S3 moves to the NON-INVERTER 9c are the same as those in the above-described first embodiment, and thus description thereof will be omitted.

【0184】処理S3d(図3)−2:現在検証してい
る素子の検証が終わったため、次段の素子を新たに検証
する素子として選択する。後段ブロックであるNON−
INVERTER(元はXOR8c)9cへ移動し、次
の処理S3e−2へ移る。
Process S3d (FIG. 3) -2: Since the verification of the element currently being verified has been completed, the next element is selected as a new element to be verified. NON-
The process moves to INVERTER (original XOR8c) 9c and moves to the next process S3e-2.

【0185】処理S3e(図3)−2:現在検証してい
る素子が処理S1で発見されたループ上を一回りして、
始点に戻ったかどうかを確認する?→始点は9aで、9
cでは無いため“NO”へ進み、処理S3b−2へ移
る。
Process S3e (FIG. 3) -2: The element to be verified goes around the loop found in process S1.
Check if you have returned to the starting point? → The starting point is 9a, 9
Since it is not c, the process proceeds to “NO” and proceeds to the process S3b-2.

【0186】処理S3b(図3)−3:現在検証してい
る素子がループ内で接続されている経路は専用ライブラ
リ(図6)内で定義されている“論理反転経路”に含ま
れているかを判定する。図9におけるNON−INVE
RTER9cの場合、ライブラリを参照すると論理反転
経路は存在しないため、“通らない”へ進む。
Process S3b (FIG. 3) -3: Is the path to which the currently verified element is connected in the loop included in the “logical inversion path” defined in the dedicated library (FIG. 6)? Is determined. NON-INVE in FIG.
In the case of the RTER 9c, since there is no logical inversion path when the library is referred to, the process proceeds to “not pass”.

【0187】これ以降の動作は上述した第1の実施例と
同様であり、ここでの説明は省略する。
The subsequent operation is the same as that of the first embodiment described above, and the description is omitted here.

【0188】次に、具体的な検証対象の回路例を示した
図10を参照しながら前述した検証方法を適用する第3
の実施例を説明する。この例はXOR/XNORが上述
した第2の実施例の様に縮退出来ないケースについて説
明する。
Next, a third example of applying the above-described verification method with reference to FIG. 10 showing a specific example of a circuit to be verified.
An example will be described. This example describes a case where XOR / XNOR cannot be degenerated as in the above-described second embodiment.

【0189】ここでの縮退とは、冗長な個所、構成を、
より簡略化されたものに置き換えることが可能である場
合に、それに置き換えることを意味し、この例では、X
OR/XNORを回路構成よりBUFFER/INVE
RTERに置き換えることである。
Here, the degeneracy means that redundant portions and configurations are
If it is possible to replace it with a more simplified one, it means to replace it. In this example, X
OR / XNOR is changed to BUFFER / INVE from the circuit configuration.
RTER.

【0190】縮退が出来ない場合は、ループの反転・非
反転検証は行わず、他ブロックのループ外入力チェック
のみを行うものとなる。
When the degeneration cannot be performed, the inversion / non-inversion verification of the loop is not performed, and only the input outside the loop of another block is checked.

【0191】処理S1(図1):ループ構成を見つける
(公知技術の応用)例として、図10に示す様なINV
ERTER付きAND10a→NON−INVERTE
R10b→2入力XOR10c→INVERTER付き
AND10aによるループが一つだけ発見されたと仮定
する。
Process S1 (FIG. 1): As an example of finding a loop configuration (application of a known technique), an INV as shown in FIG.
AND10a with ERTER → NON-INVERTE
Assume that only one loop by R10b → two-input XOR10c → AND10a with INVERTER is found.

【0192】処理S2(図1):処理S1で発見された
ループ内におけるXOR/XNOR処理を行う。処理S
2aへ移る。
Processing S2 (FIG. 1): XOR / XNOR processing in the loop found in processing S1 is performed. Processing S
Move to 2a.

【0193】処理S2a(図2):処理S1で発見され
たループ内にXOR/XNORはあるか?→有り→処理
S2bへ移る。
Process S2a (FIG. 2): Is there XOR / XNOR in the loop found in process S1? → Yes → Move to processing S2b.

【0194】処理S2b(図2):処理S2aで発見さ
れたXOR/XNORのループ外である他方の入力端子
Bの入力段トレースを行う。すなわち、処理SRaへ移
る。
Process S2b (FIG. 2): Traces the input stage of the other input terminal B outside the XOR / XNOR loop found in process S2a. That is, the process proceeds to processing SRa.

【0195】処理SRa(図5):処理S2aで発見さ
れたXOR/XNORのループ外の前段ブロックからの
入力を見る。XOR10cのループ外からの入力値は順
序回路10eから来ており、その値が固定することは考
え難い。次の処理SRbへ移る。
Process SRa (FIG. 5): The input from the preceding block outside the XOR / XNOR loop found in process S2a is viewed. The input value from outside the loop of the XOR 10c comes from the sequential circuit 10e, and it is unlikely that the value is fixed. Move to the next processing SRb.

【0196】処理SRb(図5):順序回路10eは前
に訪れたか?→訪れていないため、“NO”へ進み、次
の処理SRcへ移る。
Processing SRb (FIG. 5): Did the sequential circuit 10e come before? → Since it has not been visited, the process proceeds to “NO” and proceeds to the next process SRc.

【0197】処理SRc(図5):順序回路10eの出
力は“0”“1”“X”いずれかに確定するか?→Xに
確定する“YES”へ進む。処理S2cへ戻る。
Processing SRc (FIG. 5): Is the output of the sequential circuit 10e determined to be "0", "1" or "X"? → Go to “YES” to confirm X. It returns to processing S2c.

【0198】処理S2c(図2):処理S2aで発見さ
れたXOR/XNORをINVERTERなどに置き換
え出来るか?→ループ外からの入力が何に固定されるか
不確定のため、置き換えも出来ない。
Process S2c (FIG. 2): Can XOR / XNOR found in process S2a be replaced with INVERTER or the like? → Since the input from outside the loop is not fixed, it cannot be replaced.

【0199】これ以降の動作は、処理S4内で検証する
素子が10cに移動するまで前述した第1の実施例と同
様であるから、ここでの説明は省略する。
The subsequent operation is the same as in the first embodiment described above until the element to be verified moves to 10c in the processing S4, and the description is omitted here.

【0200】処理S4b(図4):ループ外である他方
の入力端子からの入力値をトレースするが、XOR/X
NORに関しては既に検証済みのため、現在選択されて
いる検証対象の素子がXOR/XNORでないか確認す
る(処理S2にて別方法でトレース済みのため)。XO
Rのため“YES”へ進む。すなわち、入力段検証をス
キップし処理S4iへ移る。
Process S4b (FIG. 4): The input value from the other input terminal outside the loop is traced, but XOR / X
Since the NOR has already been verified, it is checked whether the currently selected verification target element is not XOR / XNOR (because it has been traced by another method in the process S2). XO
Go to "YES" for R. That is, the input stage verification is skipped, and the process proceeds to step S4i.

【0201】処理S4i(図4):現在検証している素
子の一つ次段の素子を新たに検証素子として選択する。
こここではAND10aを選択する。処理S4jへ移
る。
Process S4i (FIG. 4): The next element of the element currently being verified is newly selected as a verification element.
Here, AND10a is selected. Move to processing S4j.

【0202】処理S4j(図4):処理S4iで選択し
た素子で、始点に戻ったか?→始点はAND10aで
“YES”へ進む。
Process S4j (FIG. 4): Did the element selected in process S4i return to the starting point? → The starting point is AND10a and proceeds to "YES".

【0203】これ以降の動作は前述した第1の実施例と
同様であるからここでの説明は省略する。
The subsequent operation is the same as that of the first embodiment, and the description is omitted here.

【0204】次に、具体的な検証対象の回路例を示した
図11を参照しながら前述した検証方法を適用する第4
の実施例を説明する。ここでは2重ループ構成の場合の
例について説明する。
Next, a fourth example of applying the above-described verification method with reference to FIG. 11 showing a specific example of a circuit to be verified.
An example will be described. Here, an example in the case of a double loop configuration will be described.

【0205】発見したループの中にさらに小さい例えば
負帰還ループが存在する場合は、入力段トレース時にト
レースが終了しなくなってしまう。小さいループは別検
証にても可能であること、また、小さいループ内で値が
確定している場合は、ループカット後引き続きトレース
を続けることで発見が可能であるから、そうしたケース
においては、その部分におけるループ外入力値は不確定
(X)として一旦ループをカットすることでトレースを
継続する。
If a smaller loop, for example, a negative feedback loop, exists in the found loops, the tracing does not end when tracing the input stage. A small loop can be verified separately, and if the value is determined within the small loop, it can be discovered by continuing tracing after the loop cut. The input value outside the loop in the part is uncertain (X) and the trace is continued by cutting the loop once.

【0206】処理S1(図1):ループ構成を見つける
(この処理は公知技術の応用)例として、図11に示す
様なNAND11a→INVERTER11b→NAN
D11c→AND11d→NAND11aによるループ
が、数あるループの中一つとして発見されたと仮定す
る。
Process S1 (FIG. 1): As an example of finding a loop configuration (this process is an application of a known technique), as an example, a NAND 11a → INVERTER11b → NAN as shown in FIG.
It is assumed that a loop of D11c → AND11d → NAND11a is found as one of many loops.

【0207】これ以降の動作は処理S4内で検証素子が
NAND11cに移動するまで前述した第1の実施例と
同様であるからここでの説明は省略する。
The subsequent operation is the same as that of the first embodiment until the verification element moves to the NAND 11c in the processing S4, and therefore the description is omitted here.

【0208】処理S4b(図4):ループ外である他方
の入力端子からの入力値をトレースするにあたって、現
在検証している素子がXOR/XNORでないか確認す
る。上述したように、現在検証している素子はNAND
11cであり、XORでは無いため“NO”へ進み、次
の処理S4cへ移る。
Process S4b (FIG. 4): In tracing the input value from the other input terminal outside the loop, it is checked whether the element currently being verified is not XOR / XNOR. As described above, the element currently being verified is the NAND
Since it is 11c and not an XOR, the process proceeds to "NO" and proceeds to the next process S4c.

【0209】処理S4c(図4):現在検証している素
子であるNAND11cは発振停止条件を持つか?→図
6のライブラリを参照すると入力A=0で固定されてい
れば、発振を止めることが出来るため“YES”へ進
み、次の処理S4dへ移る。
Process S4c (FIG. 4): Does NAND11c, which is the element currently being verified, have an oscillation stop condition? → Referring to the library in FIG. 6, if the input A is fixed at 0, the oscillation can be stopped, so that the process proceeds to “YES” and proceeds to the next process S4d.

【0210】処理S4d(図4):素子NAND11c
のループ外である他方の入力端子Aからの入力値をトレ
ースする。
Processing S4d (FIG. 4): Element NAND 11c
The input value from the other input terminal A outside the loop is traced.

【0211】処理SRa(図5):現在検証する素子は
NAND11cだが、ループ外からの1つ前段の素子で
あるAND11dを新たに現在検証する素子として選択
し、次の処理SRbへ移る。
Process SRa (FIG. 5): The current device to be verified is the NAND 11c, but the immediately preceding device AND11d from outside the loop is newly selected as the current device to be verified, and the process proceeds to the next process SRb.

【0212】処理SRb(図5):この素子AND11
dは前に訪れたことがあるか?→訪れていないため“N
O”へ進み、次の処理SRcへ移る。
Processing SRb (FIG. 5): This element AND11
Have you visited d before? → "N
The process proceeds to O "and proceeds to the next process SRc.

【0213】処理SRc(図5):この素子AND11
dの出力値が“0”/“1”/“X”(不確定)のいず
れに確定するかを判定するが、この情報のみでは確定さ
せることは不可能であるから“NO”へ進み、次の処理
SRa(2回目)へ移る。
Processing SRc (FIG. 5): This element AND11
It is determined whether the output value of d is determined to be “0” / “1” / “X” (undefined). However, since it is impossible to determine the output value only with this information, the process proceeds to “NO”, Move to the next process SRa (second time).

【0214】処理SRa(図5)−2:現在検証する素
子はAND11dだが、さらに1つ前段の素子であるN
AND11c(入力Aから)と、NON−INVERT
ER11e(入力Bから)から来ている。その二つを新
たに検証している素子として選択し、次の処理SRb−
2へ移る。
Process SRa (FIG. 5) -2: The element to be verified is AND11d, but the element N which is one immediately preceding stage
AND11c (from input A), NON-INVERT
ER11e (from input B). The two are selected as newly verified elements, and the next processing SRb-
Move to 2.

【0215】処理SRb(図5)−2:これらの素子は
前に訪れたことがあるかを確認すると、AND11cは
前に訪れているので“YES”へ進み、次の処理SRd
−2へ移る。
Process SRb (FIG. 5) -2: When it is confirmed whether these elements have visited before, since the AND 11c has visited before, the process proceeds to "YES", and the next process SRd
Move to -2.

【0216】処理SRd(図5)−2:NAND11c
→AND11d→NAND11cとループになっている
ため、この経路はカットする。NAND11cの入力A
は不確定(X)と判定し、次の処理SRc−2へ移る。
Process SRd (FIG. 5) -2: NAND 11c
Since this is a loop of → AND11d → NAND11c, this path is cut. Input A of NAND 11c
Is determined to be indeterminate (X), and proceeds to the next process SRc-2.

【0217】処理SRc(図5)−2:処理SRd−2
より、NAND11cの入力Aは不確定(X)と判定
し、処理S4eへ戻る。
Process SRc (FIG. 5) -2: Process SRd-2
Accordingly, the input A of the NAND 11c is determined to be indeterminate (X), and the process returns to step S4e.

【0218】処理S4e(図4):最後にループ内で検
証していた素子であるNAND11cに戻って、発振停
止条件と比較する。処理S4cで得た発振停止条件は満
たしていない。次の処理S4fへ移る。
Process S4e (FIG. 4): The process returns to the NAND 11c, which is the last device verified in the loop, and compares it with the oscillation stop condition. The oscillation stop condition obtained in step S4c is not satisfied. Move to the next step S4f.

【0219】処理S4f(図4):処理S4eからの入
力値で発振は停止するとはいいきれないため“NO”へ
進み、処理S4iへ移る。
Process S4f (FIG. 4): Since oscillation cannot be stopped with the input value from process S4e, the process proceeds to "NO" and proceeds to process S4i.

【0220】処理S4i(図4):現在検証している素
子として、新たに次段であるAND11dを選択し、処
理S4jへ移る。
Process S4i (FIG. 4): The next stage, AND11d, is newly selected as the element to be verified, and the flow advances to process S4j.

【0221】処理4S4j(図4):処理S4iで選択
された素子は、初めて処理S4に入った時に、始点とし
て選択された素子か?→始点はAND11aなので“N
O”へ進み、処理S4b(2回目)へ移る。
Process 4S4j (FIG. 4): Is the element selected in process S4i the element selected as the starting point when entering process S4 for the first time? → Since the starting point is AND11a, "N
The process proceeds to O ", and proceeds to process S4b (second time).

【0222】処理S4b(図4)−2:処理S4iで選
択されたAND11dはXOR/XNORでないか確認
?→“NO”へ進み、次の処理S4c−2へ移る。
Process S4b (FIG. 4) -2: Check if AND 11d selected in process S4i is not XOR / XNOR? → The process advances to "NO", and moves to the next process S4c-2.

【0223】処理S4c(図4)−2:処理S4iで選
択されたAND11dは専用ライブラリ(図6)内で、
発振停止条件を持つか?→入力Bが“0”で固定されて
いれば発振停止するため“YES”へ進み、次の処理S
4d−2へ移る。
Process S4c (FIG. 4) -2: The AND 11d selected in process S4i is stored in the dedicated library (FIG. 6).
Is there an oscillation stop condition? → If the input B is fixed at “0”, the oscillation stops and the process proceeds to “YES”, and the next processing S
Move on to 4d-2.

【0224】処理S4d(図4)−2:処理S4iで選
択されたAND11dのループ外からの入力をトレース
するため、サブルーチンの処理SRa−3へ移る。
Process S4d (FIG. 4) -2: The process proceeds to a subroutine process SRa-3 for tracing an input from outside the loop of the AND 11d selected in the process S4i.

【0225】処理SRa(図5)−3:AND11dの
ループ外からの1つ前段の素子を確認する。AND11
dの入力Bは、NON−INVERTER11eから来
ている。次の処理SRb−3へ移る。
Process SRa (FIG. 5) -3: Check the preceding element from outside the loop of AND 11d. AND11
The input B of d comes from NON-INVERTER 11e. Move to the next processing SRb-3.

【0226】処理SRb(図5)−3:処理SRa−3
で選択されたNON−INVERTER11eが前に訪
れた素子か確認する。→訪れていないため“NO”へ進
み、次の処理SRc−3へ移る。
Process SRb (FIG. 5) -3: Process SRa-3
It is confirmed whether or not the NON-INVERTER 11e selected in step 1 has been visited before. → Since it has not been visited, the process proceeds to “NO” and proceeds to the next process SRc-3.

【0227】処理SRc(図5)−3:処理SRa−3
で選択された素子からの出力値が、“0”/“1”/
“X”(不確定)のいずれに確定するかを判定する。N
ON−INVERTER11eの出力からきており、こ
の情報のみからでは確定しているかわからない。処理S
Ra−4へ戻る。
Process SRc (FIG. 5) -3: Process SRa-3
The output value from the element selected in is “0” / “1” /
It is determined which of “X” (undefined) is to be determined. N
It comes from the output of the ON-INVERTER 11e, and it is not known from this information alone that it is determined. Processing S
Return to Ra-4.

【0228】処理SRa(図5)−4:NON−INV
ERTER11eのさらに1つ前段をトレースする。N
ON−INVERTER11eの入力AはLOW_CL
AMP(LOWでクランプ)11gから来ている。次の
処理SRb−4へ移る。
Process SRa (FIG. 5) -4: NON-INV
Trace one stage before the ERTER 11e. N
Input A of ON-INVERTER11e is LOW_CL
It comes from AMP (clamped LOW) 11g. Move to the next processing SRb-4.

【0229】処理SRb(図5)−4:処理SRa−4
で選択された素子は前に訪れたことがあるか?→訪れて
いないため“NO”へ進み、次の処理SRc−4へ移
る。
Process SRb (FIG. 5) -4: Process SRa-4
Have you visited the element selected in previous? → Since it has not been visited, the process proceeds to “NO” and proceeds to the next process SRc-4.

【0230】処理SRc(図5)−4:処理SRa−4
で選択された素子の出力値が“0”/“1”/“X”
(不確定)いずれかに確定するかを判定する。処理SR
a−4で発見されたLOW_CLAMP11gはNON
−INVERTER11eを経由して、AND11dの
入力端子Bに接続されてる。結果、AND11dからは
“0”しか出ない。
Process SRc (FIG. 5) -4: Process SRa-4
The output value of the element selected in the step is "0" / "1" / "X"
(Indeterminate) It is determined whether to determine any of them. Processing SR
LOW_CLAMP11g discovered in a-4 is NON
-Connected to input terminal B of AND 11d via INVERTER 11e. As a result, only "0" is output from the AND 11d.

【0231】これ以降の動作は前述した第1の実施例と
同様であるからここでの説明は省略する。
The subsequent operation is the same as that of the first embodiment, and the description is omitted here.

【0232】[0232]

【発明の効果】上述したように、本発明のループ回路に
おける発振構成箇所の検出方法は、内部回路における正
帰還および負帰還によるループ回路のうち禁止されてい
る負帰還ループを論理検証段階で検出するループ検出手
段として、内部回路を構成する素子それぞれの少なくと
も一方の入力端子と出力端子間で信号極性が反転する経
路と、他方の入力端子の入力値に関係無く出力値を確定
させるために必要な入力条件の情報とを、あらかじめ定
める真理値情報に基き作成および更新して論理検証装置
の記憶手段にライブラリ化するとともに、ライブラリを
引用しながら、内部回路の構成が発振ループ構成になっ
ているかどうかの判定を行ない、その判定結果を外部の
表示手段に表示するので、問題のある回路構成を検出し
たり、実機上で発振状態を回避する為の条件等を予め明
示することができ、より良い品質の製品を供給すること
が出来る。
As described above, the method for detecting an oscillation component in a loop circuit according to the present invention detects a prohibited negative feedback loop in a loop circuit by positive feedback and negative feedback in an internal circuit at a logic verification stage. As a loop detecting means, it is necessary to determine a path where the signal polarity is inverted between at least one input terminal and an output terminal of each of the elements constituting the internal circuit, and to determine an output value irrespective of an input value of the other input terminal. Information on the input conditions is created and updated based on the predetermined truth value information to make a library in the storage means of the logic verification device, and whether the internal circuit has an oscillation loop configuration while referring to the library. Is determined, and the result of the determination is displayed on an external display means, so that a problematic circuit configuration can be detected or generated on the actual machine. State can be explicitly advance the conditions of the order to avoid, it is possible to supply a better quality of products.

【0233】また、通常、開発そのものの数倍〜数十倍
かかる、不良発生時の解析、発見、リカバリのTATを
完全にカットできる。
Further, it is possible to completely cut the TAT of analysis, discovery, and recovery at the time of failure occurrence, which usually takes several to several tens times the development itself.

【0234】さらに、一つ一つの素子に対して、入出力
間で反転する経路、および、他の入力値に関係無く出力
を確定させるために必要な入力条件の情報をライブラリ
化することで、回路構成に依存すること無く、発振ルー
プ構成になっているかどうかの判定を容易に行うことが
出来る。
Furthermore, for each element, information on the path that is inverted between the input and output and the input conditions necessary to determine the output irrespective of other input values are stored in a library. It is possible to easily determine whether or not the circuit has an oscillation loop configuration without depending on the circuit configuration.

【0235】さらにまた、そのライブラリそのものは、
真理値情報を基に容易に作成、更新することが出来る。
Further, the library itself is:
It can be easily created and updated based on the truth value information.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施形態によるループ回路における発
振構成箇所の検出方法を示す全体のフローチャートであ
る。
FIG. 1 is an overall flowchart illustrating a method for detecting an oscillation configuration portion in a loop circuit according to an embodiment of the present invention.

【図2】処理S2の詳細なフローチャートである。FIG. 2 is a detailed flowchart of a process S2.

【図3】処理S3の詳細なフローチャートである。FIG. 3 is a detailed flowchart of a process S3.

【図4】処理S4の詳細なフローチャートである。FIG. 4 is a detailed flowchart of a process S4.

【図5】処理S2bおよびS4dの詳細なフローチャー
トである。
FIG. 5 is a detailed flowchart of processes S2b and S4d.

【図6】ライブラリの例を示す図である。FIG. 6 is a diagram illustrating an example of a library.

【図7】本発明の検証方法を適用する第1の実施例の回
路例を示した図である。
FIG. 7 is a diagram showing a circuit example of a first embodiment to which the verification method of the present invention is applied.

【図8】本発明の検証方法を適用する第2の実施例の回
路例を示した図である。
FIG. 8 is a diagram showing a circuit example of a second embodiment to which the verification method of the present invention is applied.

【図9】図8におけるXOR8cをNON−INVER
TER9cに置き換えた図である。
FIG. 9 shows that XOR8c in FIG.
It is the figure replaced with TER9c.

【図10】本発明の検証方法を適用する第3の実施例の
回路例を示した図である。
FIG. 10 is a diagram showing a circuit example of a third embodiment to which the verification method of the present invention is applied.

【図11】本発明の検証方法を適用する第4の実施例の
回路例を示した図である。
FIG. 11 is a diagram showing a circuit example of a fourth embodiment to which the verification method of the present invention is applied.

【図12】従来の検証方法の説明用回路例を示す図であ
る。
FIG. 12 is a diagram showing a circuit example for explanation of a conventional verification method.

【図13】シミュレーション結果の波形図を示した図で
ある。
FIG. 13 is a diagram showing a waveform diagram of a simulation result.

【図14】実機上でのNANDの入出力波形を示した図
である。
FIG. 14 is a diagram showing input / output waveforms of a NAND on an actual device.

【符号の説明】[Explanation of symbols]

11 真理値情報 12 ライブラリ 7a,8a,9a,10a INVERTER付きA
ND 7b,8b,9c,10b,11e,12b NON
−INVERTER 7c OR 8c,10c XOR 10e 順序回路 11a,11c,12a NAND 11b INVERTER 11d AND 11g LOW_CLAMP 12c HIGH_CLAMP
11 Truth information 12 Library 7a, 8a, 9a, 10a A with INVERTER
ND 7b, 8b, 9c, 10b, 11e, 12b NON
-INVERTER 7c OR 8c, 10c XOR 10e Sequential circuit 11a, 11c, 12a NAND 11b INVERTER 11d AND 11g LOW_CLAMP 12c HIGH_CLAMP

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 半導体装置の内部回路における正帰還お
よび負帰還によるループ回路のうち禁止されている負帰
還ループを論理検証段階で検出するループ検出手段とし
て、前記内部回路を構成する素子それぞれの少なくとも
一方の入力端子と出力端子間で信号極性が反転する経路
と、他方の入力端子の入力値に関係無く出力値を確定さ
せるために必要な入力条件の情報とを、あらかじめ定め
る真理値情報に基き作成および更新して論理検証装置の
記憶手段にライブラリ化するとともに、前記ライブラリ
を引用しながら、前記内部回路の構成が発振ループ構成
になっているかどうかの判定を行ない、その判定結果を
外部の表示手段に表示することを特徴とするループ回路
における発振構成箇所の検出方法。
At least one of elements constituting an internal circuit of an internal circuit of a semiconductor device, as a loop detecting means for detecting a forbidden negative feedback loop in a logic verification stage among positive and negative feedback loop circuits. Based on predetermined truth value information, a path in which the signal polarity is inverted between one input terminal and the output terminal and information on input conditions necessary to determine an output value regardless of the input value of the other input terminal are determined. A library is created in the storage means of the logic verification device by creating and updating, and it is determined whether or not the configuration of the internal circuit has an oscillation loop configuration while referring to the library, and the determination result is displayed on an external display. A method for detecting an oscillation configuration portion in a loop circuit, characterized by displaying on a means.
【請求項2】 排他的論理和または排他的否定論理和そ
れぞれの一方の入力端子を経路とする前記負帰還ループ
であって、前記負帰還ループ外である他方の入力端子の
論理レベルがクランプにより確定している場合に、前記
真理値情報に基づき前記排他的論理和または排他的否定
論理和をインバータまたはノンインバータに置き換えて
検証を行う請求項1記載のループ回路における発振構成
箇所の検出方法。
2. The negative feedback loop having one input terminal of each of an exclusive-OR and an exclusive-NOR as a path, wherein the logic level of the other input terminal outside the negative feedback loop is clamped. 2. The method according to claim 1, wherein when the determination is made, the exclusive OR or exclusive NOR is replaced with an inverter or a non-inverter based on the truth value information to perform verification.
【請求項3】 排他的論理和または排他的否定論理和そ
れぞれの一方の入力端子を経路とする前記負帰還ループ
であって、前記負帰還ループ外である他方の入力端子の
論理レベルが特定の素子または特定の機能ブロックによ
り不確定の場合は、前記負帰還ループにおける信号極性
の反転または非反転検証は行わず、前記負帰還ループ外
である他方の入力端子の経路における他ブロックの検証
のみを行う請求項1記載のループ回路における発振構成
箇所の検出方法。
3. The negative feedback loop having a path through one input terminal of each of an exclusive OR and an exclusive NOR, wherein a logic level of the other input terminal outside the negative feedback loop is a specific level. In the case of uncertainty due to an element or a specific functional block, inversion or non-inversion verification of the signal polarity in the negative feedback loop is not performed, and only verification of another block in the path of the other input terminal outside the negative feedback loop is performed. 2. A method for detecting an oscillation component in a loop circuit according to claim 1.
【請求項4】 検出した前記負帰還ループの中に更に小
負帰還ループが存在する場合は、前記小負帰還ループを
予め検証するとともに、前記小負帰還ループ内で前記ラ
イブラリの発振停止条件を満たす値が確定している場合
はループ遮断後引き続きトレースを継続し、前記小負帰
還ループ外である他方の入力端子の入力値は不確定とし
て前記負帰還ループを遮断してトレースを継続する請求
項1記載のループ回路における発振構成箇所の検出方
法。
4. If a small negative feedback loop further exists in the detected negative feedback loop, the small negative feedback loop is verified in advance, and the oscillation stop condition of the library is set in the small negative feedback loop. If the value to be satisfied is determined, the trace is continued after the loop is cut off, and the input value of the other input terminal outside the small negative feedback loop is determined to be indefinite, and the trace is continued by cutting off the negative feedback loop. Item 2. A method for detecting an oscillation component in a loop circuit according to item 1.
【請求項5】 前記ライブラリに記憶される論理反転経
路は、前記負帰還ループ内での接続経路において入出力
端子間で論理が反転する経路がどこかを定義され、前記
発振停止条件は、前記負帰還ループ外である他方の入力
端子からの信号入力値がどの値で固定されていれば発振
しないかの情報が定義されている請求項1記載のループ
回路における発振構成箇所の検出方法。
5. The logic inversion path stored in the library defines a path in which logic is inverted between input and output terminals in a connection path in the negative feedback loop, and the oscillation stop condition is: 2. The method according to claim 1, wherein information indicating which value of a signal input value from the other input terminal outside the negative feedback loop is fixed to prevent oscillation is defined.
【請求項6】 前記ライブラリを参照しながら、検証対
象の全ての素子を始点として出力段をトレースしてい
き、既に訪れた素子に戻った場合その素子を前記ループ
として検出するループ検出処理と、前記ループに排他的
論理和または排他的否定論理和を検出したら、前記ルー
プ外である他方の入力端子からの入力信号レベルが固定
されているかどうかを検証し、前記真理値情報に基づい
てインバータまたはノンインバータに置き換えられるか
否かを判断し可能なら置き換える排他的論理和または排
他的否定論理和の処置処理と、前記ループ内の各素子に
対して前記ライブラリ内の論理反転経路との照合を行
い、前記ループ全体で反転経路がいくつ存在するかを計
算しその結果が奇数の場合は負帰還ループ、零か偶数の
場合は正帰還ループと判定する正・負帰還チェック処理
と、前記負帰還ループの場合および前記インバータまた
はノンインバータに置き換えられない場合は、前記負帰
還ループ内の各素子がループ外の他方の入力端子からの
入力信号によって出力論理が固定されるか否かをその素
子の前段の素子に遡って順次検証するループ外入力チェ
ック処理と、前記ループ外入力チェック処理で問題無し
と判定する確証が得られなかった場合に、どの素子がル
ープ構成になっているかの情報を明示して、前記ループ
に関する検証を終了する問題点表示処理と、前記ループ
検出処理で検出した前記ループ全てを検出したかどうか
を確認するループ検出確認処理とを備える請求項1記載
のループ回路における発振構成箇所の検出方法。
6. A loop detection process of tracing an output stage starting from all devices to be verified while referring to the library, and detecting the device as the loop when returning to a device already visited; When an exclusive OR or exclusive NOR is detected in the loop, it is verified whether an input signal level from the other input terminal outside the loop is fixed, and an inverter or an inverter based on the truth value information is checked. Determine whether or not it can be replaced by a non-inverter, and if it is possible, perform processing of exclusive OR or exclusive NOR to replace, and compare each element in the loop with the logical inversion path in the library. The number of inversion paths existing in the entire loop is calculated, and if the result is odd, it is determined as a negative feedback loop, and if the result is zero or even, it is determined as a positive feedback loop. In the case of the negative feedback loop and when the inverter is not replaced with the inverter or the non-inverter, each element in the negative feedback loop is controlled by an input signal from the other input terminal outside the loop. Out-of-loop input check processing for sequentially verifying whether or not the output logic is fixed retroactively to the element at the preceding stage of the element, and when it is not confirmed that there is no problem in the out-of-loop input check processing, A problem display process for ending the verification of the loop by explicitly indicating information on which element has a loop configuration, and a loop detection confirmation for confirming whether all the loops detected in the loop detection process have been detected 2. The method according to claim 1, further comprising the steps of:
【請求項7】 前記ループ外入力チェック処理において
出力論理が固定されないと判断しそれ以上の前記前段の
素子に遡るトレースを行わない特定の素子または特定の
機能ブロックは、順序回路、入出力回路の折返し、アダ
ー、パリティジェネレータの全端子接続と、ラッチとマ
ルチプレクサとデコーダとのイネーブル部分の端子接続
とする請求項6記載のループ回路における発振構成箇所
の検出方法。
7. A specific element or a specific functional block which determines that output logic is not fixed in the out-of-loop input check processing and does not trace back to the preceding element is a sequential circuit or an input / output circuit. 7. The method according to claim 6, wherein all terminal connections of the return, adder and parity generators and terminal connections of an enable portion of the latch, multiplexer and decoder are provided.
【請求項8】 前記ループ外入力チェック処理において
前記前段の素子に遡るトレースを実行するか否かを任意
に選択する請求項6記載のループ回路における発振構成
箇所の検出方法。
8. The method according to claim 6, wherein in the out-of-loop input check processing, it is arbitrarily selected whether or not to execute a trace going back to the preceding element.
【請求項9】 前記ループ外入力チェック処理において
前記前段トレースの段数を任意に指定し、その段数以内
で値の確定または不確定が決まらない場合は不確定扱い
にする請求項6記載のループ回路における発振構成箇所
の検出方法。
9. The loop circuit according to claim 6, wherein in the input check processing outside the loop, the number of stages of the preceding trace is arbitrarily specified, and if the value is not determined or undetermined within the number of stages, the loop circuit is treated as indeterminate. Method of detecting the oscillation configuration part in.
【請求項10】 前記排他的論理和および排他的否定論
理和の処置処理は、前記ループ検出処理で発見された論
理ループ内に排他的論理和または排他的否定論理和が含
まれるか否かを判断する第1の排他的論理和または排他
的否定論理和の有無判断処理と、前段の処理で検出され
た前記排他的論理和または前記排他的否定論理和でまだ
検証のされていないものを一つ選択して、その素子に対
する前記ループ外である他方の入力端子からの入力値が
固定されているかどうかを検証する入力段トレース処理
と、前段の処理で前段トレースを行った前記排他的論理
和または前記排他的否定論理和をインバータまたはノン
インバータに置き換えることが可能かどうかを判定し可
能であれば次へ進み不可であれば前記ループ外入力チェ
ック処理へ移る置き換え判断処理と、前記置き換え判断
処理の判定結果を受けて前記入力段処理で判定をおこな
った前記排他的論理和または前記排他的否定論理和をイ
ンバータまたはノンインバータに置き換える置き換え実
行処理と、前記排他的論理和または排他的否定論理和の
有無処理で発見された前記排他的論理和または前記排他
的否定論理和が他にある場合は、それを対象に再び前記
入力段トレース処理から繰り返し、検出されなくなると
検証継続の判断を下し前記正・負帰還処理へ移る第2の
排他的論理和または排他的否定論理和の有無判断処理と
を備える請求項1記載のループ回路における発振構成箇
所の検出方法。
10. The exclusive OR and exclusive OR processing includes determining whether an exclusive OR or exclusive NOT is included in a logical loop found in the loop detection processing. Determining whether there is a first exclusive OR or exclusive OR, and comparing the exclusive OR or the exclusive NOR detected in the preceding process, which has not been verified yet, with one Input stage tracing process for selecting whether an input value from the other input terminal outside the loop for the element is fixed, and the exclusive OR obtained by performing a previous stage trace in a previous stage process Alternatively, it is determined whether or not the exclusive NOR can be replaced with an inverter or a non-inverter. If it is possible, the process proceeds to the next step. A replacement determination process, a replacement execution process that replaces the exclusive OR or the exclusive NOR determined by the input stage process in response to the determination result of the replacement determination process with an inverter or a non-inverter, If there is another exclusive OR or exclusive NOR found in the presence / absence processing of the exclusive OR or exclusive NOT, the input stage tracing process is repeated again for the exclusive OR or the exclusive NOR, and the detected 2. The detection of an oscillation component in a loop circuit according to claim 1, further comprising a second exclusive OR or an exclusive negative OR presence / absence determination process for determining whether to continue verification and moving to the positive / negative feedback process when the error is exhausted. Method.
【請求項11】 前記入力段トレース処理で検証した前
記排他的論理和または前記排他的否定論理和に入力され
る前記ループ外である他方の入力端子からの入力値が論
理レベルの“1”ならインバータに、“0”ならノンイ
ンバータに置き換えが可能と判断して次の処理へ進み、
それ以外の場合は置き換え不可と判断して前記ループ外
入力チェック処理へ移る請求項10記載のループ回路に
おける発振構成箇所の検出方法。
11. If the input value from the other input terminal outside the loop, which is input to the exclusive OR or the exclusive NOR verified in the input stage tracing processing, is a logic level “1” If the inverter is "0", it is determined that it can be replaced with a non-inverter, and the process proceeds to the next process.
11. The method according to claim 10, wherein it is determined that replacement is impossible and the process proceeds to the input check processing outside the loop.
【請求項12】 前記正・負帰還処理は、前記ループ検
証処理で検出された素子、もしくは前記排他的論路和ま
たは排他的否定論理和の処置処理で一部変換されたルー
プ内の任意の素子を、検証対象素子として選択する始点
決定処理と、現在検証している素子の前記ループ内にお
ける入出力端子間で信号極性が反転するかどうかを、前
記ライブラリで定義されている論理反転経路の接続が前
記ループ内にあるか否かで判定する反転経路通過判定処
理と、前記反転経路通過判定処理の検証の結果、検証し
ている素子の前記ループ内における入出力端子間の信号
極性が反転する場合に反転数を1増加し、前記正・負帰
還処理が全て終了した時にクリアされる反転数+1処理
と、検証対象素子として後段の素子を新たに選択する次
段素子選択処理と、前記次段素子選択処理で新たに選択
された素子が前記始点決定処理で選択されたものと同じ
かどうかを判定し、同一の場合は次の処理へ進み同一で
なければ前記反転経路通過判定処理に戻る始点戻り判定
処理と、前記反転経路通過判定処理から前記始点戻り判
定処理までの結果として前記反転数+1処理で記憶され
た反転数が偶数の場合は正帰還と判断して前記問題点表
示処理へ移り、奇数の場合は前記ループ外入力チェック
処理へ移る反転結果判定処理とを備える請求項1記載の
ループ回路における発振構成箇所の検出方法。
12. The positive / negative feedback processing may include an element detected in the loop verification processing, or an arbitrary part in a loop partially converted in the processing of the exclusive logical sum or the exclusive negative logical sum. A starting point determination process of selecting an element as an element to be verified, and whether or not a signal polarity is inverted between input / output terminals in the loop of the element currently being verified is determined by a logical inversion path defined in the library. As a result of the inversion path passage determination processing for determining whether the connection is within the loop and the verification of the inversion path passage determination processing, the signal polarity between the input / output terminals of the element being verified in the loop is inverted. In this case, the number of inversions is increased by one, and the number of inversions + 1 is cleared when all of the positive / negative feedback processing is completed, and the next-stage element selection processing for newly selecting a subsequent element as a verification target element; It is determined whether or not the element newly selected in the next-stage element selection processing is the same as the element selected in the start point determination processing. If they are the same, the process proceeds to the next processing. When the inversion number stored in the inversion number + 1 processing is an even number as a result from the inversion path passage determination processing to the start point return determination processing, it is determined that the feedback is positive, and the problem display is performed. 2. The method according to claim 1, further comprising an inversion result determination process that proceeds to a process, and in the case of an odd number, proceeds to the out-of-loop input check process.
【請求項13】 前記ループ外入力チェック処理は、前
記排他的論理和または前記排他的否定論理和が他の素子
に置き換えられた前記ループ内の任意の素子を最初に検
証する素子として選択する始点決定処理と、現在検証し
ている素子が前記排他的論理和または前記排他的否定論
理和かどうかを判定しそれぞれ後続する定められた処理
へ移る排他的論理和または排他的否定論理和の判定処理
と、現在検証している素子が前記ライブラリ内の前記発
振停止条件をもつかどうかを確認し、前記発振停止条件
が無い場合は後続する次段素子選択処理へ移り、前記発
振停止条件がある場合は次段の入力段トレース処理へ進
む発振停止条件の有無確認処理と、前記発振停止条件を
持つ時に、現在検証している素子の前記ループ外である
他方の入力端子からの入力値が固定されているかどうか
を検証する入力段トレース処理と、前記入力段トレース
処理で得られた現在検証中の素子に対する前記ループ外
である他方の入力端子からの入力値と、前記発振停止条
件との比較を行う発振停止条件比較処理と、前記発振停
止条件比較処理で得られた判定結果が前記発振停止条件
を満たす内容であれば次段の処理へ進み、満たさない場
合は後続する処理である次段の素子選択処理へ移る発振
ループの有無確認処理と、前記発振ループの有無確認処
理で発振条件を満たすと判定された前記ループ外の入力
端子からの入力値がクランプで固定される場合は現在検
証しているループの検証は終了し、外部端子の使用条件
によって発振が停止する場合は次段の処理へ進む条件有
無確認処理と、前記条件有無確認処理で発振停止に条件
がある場合にその条件を外部表示で示す条件明示処理
と、現在検証している素子からは前記ループ外である他
方の入力端子の入力値で発振停止可能な確証が得られな
い場合および条件付き停止の場合に、前記ループ内の現
在検証している素子の後段の素子を新たな検証対象素子
として選択する次段素子選択処理と、前記検証対象素子
として選択された素子が前記始点決定処理で選択された
ものと同じかどうかを判定し、同一の場合は条件付き通
過または問題有りとして前記外部表示処理へ移動し、同
一でなければ前記排他的論理和または排他的否定論理和
の判定処理に戻る検証終了確認処理とを備える請求項1
記載のループ回路における発振構成箇所の検出方法。
13. The start point for selecting an arbitrary element in the loop in which the exclusive OR or the exclusive NOR is replaced with another element as an element to be verified first. Determination processing, and processing for determining whether the element currently being verified is the exclusive OR or the exclusive NOR, and proceeding to a subsequent specified processing, respectively, for determining the exclusive OR or exclusive NOR And whether or not the element currently being verified has the oscillation stop condition in the library.If the oscillation stop condition does not exist, the process proceeds to the subsequent element selection process, and if the oscillation stop condition exists. Is a process for confirming the presence or absence of an oscillation stop condition that proceeds to the next input stage trace process, and when the oscillation stop condition is satisfied, the other input terminal outside the loop of the element currently being verified is An input stage tracing process for verifying whether an input value of the input stage is fixed, an input value from the other input terminal outside the loop for a device under verification obtained by the input stage tracing process, and the oscillation Oscillation stop condition comparison processing for comparing with the stop condition, and if the determination result obtained in the oscillation stop condition comparison processing satisfies the oscillation stop condition, the process proceeds to the next stage; otherwise, the process proceeds. The process of checking for the presence or absence of an oscillation loop that moves to the next element selection process, which is the process, and the input value from the input terminal outside the loop determined to satisfy the oscillation condition in the process of checking the presence or absence of the oscillation loop is fixed by a clamp. In this case, the verification of the loop currently being verified is completed, and if the oscillation is stopped due to the use condition of the external terminal, the processing for confirming the presence or absence of the condition proceeds to the next stage processing, and the processing for confirming the presence or absence of the condition If there is a condition for stopping the oscillation, the condition is explicitly displayed to indicate the condition on an external display, and it cannot be confirmed from the element currently being verified that the oscillation can be stopped with the input value of the other input terminal outside the loop. In the case and in the case of conditional stop, a next-stage element selection process of selecting a subsequent element of the element currently being verified in the loop as a new verification target element, and the element selected as the verification target element is It is determined whether or not it is the same as the one selected in the start point determination processing. If it is the same, the processing proceeds to the external display processing as a conditional passage or a problem, and if not, the exclusive OR or exclusive NOR is determined. And a verification end confirmation process returning to the determination process of (1).
A method for detecting an oscillation configuration portion in the loop circuit described above.
【請求項14】 前記入力段トレース処理は、直前の処
理で検証していた素子の前記ループ外の入力端子の方に
接続されている、一つ前段の素子を新たに検証対象素子
として選択する前段の素子選択手段と、前記前段の素子
選択手段で選択した前記検証対象素子が前に訪れた素子
か否かを判定し、既に訪れている場合と初めて訪れる素
子の場合とにそれぞれ分岐する検証素子判断処理と、前
記検証素子判断処理で既に訪れている素子と判断された
場合その経路は検証対象外としてその経路からの値は確
定しない値とする不確定値設定処理と、現在検証してい
る素子に対する前記ループ外である他方の入力端子から
の入力値が“0”、“1”または“不確定”のいずれに
確定するかを判定し、確定しない場合は前記前段の素子
選択処理に戻る“0”“1”“不確定”判定処理とを備
える請求項10または13記載のループ回路における発
振構成箇所の検出方法。
14. The input stage tracing process newly selects an immediately preceding device connected to an input terminal outside the loop of the device verified in the immediately preceding process as a device to be verified. A first element selection unit and a verification that determines whether the verification target element selected by the first element selection unit is a previously visited element, and branches into an already visited element and a first visited element, respectively. The element determination process, an uncertain value setting process in which, if it is determined that the device has already been visited in the verification device determination process, the route is excluded from the verification target, and the value from the route is not determined. It is determined whether the input value from the other input terminal outside the loop for the element is determined to be “0”, “1”, or “indeterminate”. Return “0” 14. The method according to claim 10 or 13, further comprising "" 1 """uncertain" determination processing.
JP2000367338A 2000-12-01 2000-12-01 Logic verification device Expired - Fee Related JP3703390B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000367338A JP3703390B2 (en) 2000-12-01 2000-12-01 Logic verification device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000367338A JP3703390B2 (en) 2000-12-01 2000-12-01 Logic verification device

Publications (2)

Publication Number Publication Date
JP2002169852A true JP2002169852A (en) 2002-06-14
JP3703390B2 JP3703390B2 (en) 2005-10-05

Family

ID=18837778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000367338A Expired - Fee Related JP3703390B2 (en) 2000-12-01 2000-12-01 Logic verification device

Country Status (1)

Country Link
JP (1) JP3703390B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012098896A (en) * 2010-11-01 2012-05-24 Fujitsu Ltd Connection verification method, recording medium therefor, and connection verification apparatus
JP2019531535A (en) * 2016-08-05 2019-10-31 ザイリンクス インコーポレイテッドXilinx Incorporated Binary neural network on programmable integrated circuit
CN117250480A (en) * 2023-11-08 2023-12-19 英诺达(成都)电子科技有限公司 Loop detection method, device, equipment and storage medium of combinational logic circuit

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012098896A (en) * 2010-11-01 2012-05-24 Fujitsu Ltd Connection verification method, recording medium therefor, and connection verification apparatus
US8782579B2 (en) 2010-11-01 2014-07-15 Fujitsu Limited Connection verification method, recording medium thereof, and connection verification apparatus
JP2019531535A (en) * 2016-08-05 2019-10-31 ザイリンクス インコーポレイテッドXilinx Incorporated Binary neural network on programmable integrated circuit
JP7012073B2 (en) 2016-08-05 2022-01-27 ザイリンクス インコーポレイテッド Binary neural network on programmable integrated circuit
CN117250480A (en) * 2023-11-08 2023-12-19 英诺达(成都)电子科技有限公司 Loop detection method, device, equipment and storage medium of combinational logic circuit
CN117250480B (en) * 2023-11-08 2024-02-23 英诺达(成都)电子科技有限公司 Loop detection method, device, equipment and storage medium of combinational logic circuit

Also Published As

Publication number Publication date
JP3703390B2 (en) 2005-10-05

Similar Documents

Publication Publication Date Title
US5515383A (en) Built-in self-test system and method for self test of an integrated circuit
US5390193A (en) Test pattern generation
JPH04148882A (en) Indicating fault position of logic integrated circuit
JP2607029B2 (en) Signal transition propagation detection method
JP3246865B2 (en) Static timing analyzer and method
JP2002169852A (en) Method for detecting oscillation part in loop circuit
JPH11250119A (en) Method and device for searching delay route of logical circuit and machine-readable recording medium recorded with program
US5528604A (en) Test pattern generation for an electronic circuit using a transformed circuit description
JP2001021618A (en) Method and device for failure propagation path estimation, and record medium
US5528165A (en) Logic signal validity verification apparatus
JPH08184647A (en) Design of semiconductor integrated circuit
Ferrandi et al. Symbolic optimization of interacting controllers based on redundancy identification and removal
Bonifácio et al. Complete test suites for input/output systems
Pramanick Delay testing and design for testability for delay faults in combinational logic circuits
US20020194233A1 (en) Bit search device and bit search method
JPH11328237A (en) Formal verification device and method for sequential circuit
JP2003028935A (en) Inferring system for failure transmission route
JPH0915305A (en) Test pattern generation system for logical circuit
JP2005221457A (en) Method for analyzing failure in logic circuit
Hierons Minimizing the cost of fault location when testing from a finite state machine
JP2778556B2 (en) Test pattern selection system
JPH02224070A (en) Analyzing device for delay time of logic circuit
JP2780685B2 (en) Fault location estimation method for sequential circuits
JPH0784817A (en) Method for generating test pattern of combination circuit
JP2001034651A (en) Logic simulator and logic simulation method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050530

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: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050719

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees