JP2001229211A - Method of verifying asynchronous circuit - Google Patents

Method of verifying asynchronous circuit

Info

Publication number
JP2001229211A
JP2001229211A JP2000037936A JP2000037936A JP2001229211A JP 2001229211 A JP2001229211 A JP 2001229211A JP 2000037936 A JP2000037936 A JP 2000037936A JP 2000037936 A JP2000037936 A JP 2000037936A JP 2001229211 A JP2001229211 A JP 2001229211A
Authority
JP
Japan
Prior art keywords
circuit
value
metastable state
logic circuit
asynchronous
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
JP2000037936A
Other languages
Japanese (ja)
Other versions
JP3953250B2 (en
Inventor
Hiromichi Yamane
弘道 山根
Yoji Tachibana
陽司 橘
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 JP2000037936A priority Critical patent/JP3953250B2/en
Publication of JP2001229211A publication Critical patent/JP2001229211A/en
Application granted granted Critical
Publication of JP3953250B2 publication Critical patent/JP3953250B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a method of verifying asynchronous circuit which simplifies the verification operation in a function simulation on a language level and also shortens its verification TAT. SOLUTION: The method of verifying asynchronous circuit defines the metastable state of output data according to whether or not the input data of a logic circuit is different from a value held by the logic circuit when the clock signal of the logic circuit is active, generates a prescribed value accompanying the metastable state and outputs the prescribed value from the logic circuit only for a fixed period in the case of verifying the operation of an asynchronous logic circuit.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、非同期で動作する
電子回路を検証する方法に関し、特に、異なる周期のク
ロック信号によって複数の順序回路が動作する場合に、
各順序回路の出力データが組み合わされて相互に別の順
序回路の入力データとなる非同期回路の検証方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for verifying an asynchronously operated electronic circuit, and more particularly to a method for verifying a plurality of sequential circuits operated by clock signals having different periods.
The present invention relates to a method for verifying an asynchronous circuit in which output data of each sequential circuit is combined and becomes input data of another sequential circuit.

【0002】[0002]

【従来の技術】ゲートアレイなどの実デバイスの機能を
試験する場合に、同じ機種の実デバイスでも個々の特性
が一般にばらついていた。このため、実デバイスの機能
テスタでは、テスタ内部のFF(フリップフロップ)
が、前記特性のばらつきに伴って異なる動作をしてしま
うことがあった。そこで、このテスタの誤動作を誘発さ
せるために、わざと入力信号どうしのタイミングをずら
すテスタ回路があった。
2. Description of the Related Art When a function of an actual device such as a gate array is tested, individual characteristics of the actual device of the same model generally vary. Therefore, in a functional tester of an actual device, an FF (flip-flop) inside the tester is used.
However, different operations may be performed due to the variation in the characteristics. Therefore, there has been a tester circuit which intentionally shifts the timing of input signals in order to induce a malfunction of the tester.

【0003】たとえば、特開平5−189517号公報
に開示された従来例のテスタ回路がある。この従来例
は、実デバイスの機能試験を前提としたテスタのシミュ
レーション回路であり、テスタのFFモデルにおけるセ
ットアップおよびデータホールド特性を変化させ、実デ
バイスの出力特性のパラメータと比較する目的を有して
いた。このため、実デバイスからの入力信号とテスタの
動作クロックとを別々の遅延素子を介してテスタのFF
に導き入れた構成にしてある。
For example, there is a conventional tester circuit disclosed in Japanese Patent Application Laid-Open No. 5-189517. This conventional example is a tester simulation circuit on the premise of a functional test of an actual device, and has the purpose of changing the setup and data hold characteristics in an FF model of the tester and comparing it with parameters of the output characteristics of the actual device. Was. Therefore, the input signal from the actual device and the operation clock of the tester are connected to the FF of the tester through separate delay elements.
It has a configuration that has been introduced.

【0004】この構成によって、入力信号に対する動作
クロックの同期タイミングを任意の時間だけ前後にずら
し、実デバイスを対象としたテスタのデータホールド機
能をシミュレートしていた。つまり、これは同期回路に
おける誤動作を検証したものであった。ところが実際に
は、もともと異なる同期タイミングを有した非同期回路
を対象とし、実用的な機能シミュレーションを行う場合
が多かった。
With this configuration, the synchronization timing of the operation clock with respect to the input signal is shifted back and forth by an arbitrary time to simulate a data hold function of a tester for an actual device. That is, this was to verify a malfunction in the synchronous circuit. In practice, however, practical functional simulations are often performed for asynchronous circuits having different synchronization timings.

【0005】一般に、非同期回路の検証方法としては、
ゲートレベルのネットリストを用いた方法がある。この
方法では、各クロック信号のタイミングを考慮したシミ
ュレーションが行われ、これにより各順序回路のセット
アップやホールドのタイミングが検証される。また、近
年では、HDLなどのハードウェア記述言語が用いら
れ、電子回路の設計手法を機能設計から行えるようにな
った。
In general, as a method of verifying an asynchronous circuit,
There is a method using a gate-level netlist. In this method, a simulation is performed in consideration of the timing of each clock signal, and thereby the setup and hold timing of each sequential circuit is verified. In recent years, hardware description languages such as HDL have been used, and it has become possible to design electronic circuits from functional design.

【0006】このため、非同期回路を検証する場合に
も、言語レベルにおける機能シミュレーションを行う必
要がある。この要請に応える非同期回路の検証方法とし
ては、その機能シミュレーション上で複数のクロック信
号の周期や位相の条件を様々に変更しながらシミュレー
ションを行う方法がある。これによれば、検証対象とな
る電子回路の動作において不具合の発生確率を意図的に
高めることができた。
Therefore, it is necessary to perform functional simulation at the language level even when verifying an asynchronous circuit. As a method of verifying an asynchronous circuit that meets this demand, there is a method of performing a simulation while variously changing the conditions of the periods and phases of a plurality of clock signals in a functional simulation. According to this, it is possible to intentionally increase the probability of occurrence of a defect in the operation of the electronic circuit to be verified.

【0007】図4は、一従来例による非同期回路の検証
方法のフローチャートである。この従来例は、順序回路
におけるクロック信号のアクティブエッジ検出処理B
1、この順序回路への入力データの保持処理S7、これ
による保持データの出力処理S8を行っている。
FIG. 4 is a flowchart of a method of verifying an asynchronous circuit according to a conventional example. In this conventional example, an active edge detection process B of a clock signal in a sequential circuit is performed.
1. A process S7 for holding the input data to the sequential circuit and a process S8 for outputting the held data.

【0008】[0008]

【発明が解決しようとする課題】しかし、このような従
来例による非同期回路の検証方法を用い、言語レベルで
各順序回路の機能シミュレーションを行う場合、次のよ
うな技術的な課題を解決しておく必要があった。
However, when the function simulation of each sequential circuit is performed at the language level by using such a conventional method of verifying an asynchronous circuit, the following technical problems are solved. Had to be kept.

【0009】一般に、順序回路には、その出力データの
論理が定まらないメタステーブル状態が生じてしまうこ
とがある。ところが、前述したフローチャートによれ
ば、このような状態を一定期間にわたって保ち続ける処
理が設けられていなかった。このため、次段に構成した
各順序回路ごとに、異なるクロック信号の周期と位相の
条件を様々に組み合せて用い、非同期回路に生じるかも
しれない動作の不具合をシミュレーションさせていた。
In general, a sequential circuit may have a metastable state in which the logic of the output data is not determined. However, according to the above-described flowchart, there is no process for maintaining such a state for a certain period. For this reason, for each sequential circuit configured in the next stage, conditions of different clock signal periods and phases are used in various combinations to simulate an operation failure that may occur in an asynchronous circuit.

【0010】したがって、従来の非同期回路の検証方法
では、クロック信号に関する条件を必然的に多く組み合
せた言語レベルでの機能シミュレーションが必要であっ
た。その結果、順序回路個々の動作のシミュレーション
に必要なテストベンチの記述が煩雑になり、検証方法に
よる機能シミュレーションの全体が複雑化してしまう傾
向があった。
Therefore, in the conventional method for verifying an asynchronous circuit, it is necessary to perform a functional simulation at a language level in which a large number of conditions relating to clock signals are inevitably combined. As a result, the description of the test bench required for the simulation of the operation of each sequential circuit is complicated, and the entire functional simulation by the verification method tends to be complicated.

【0011】さらに、このようにしてクロック信号に関
する多様な条件を組み合せてシミュレーションを行う
と、各順序回路で動作ごとのシミュレーション時間が長
期化してしまう。このため、機能シミュレーション全体
で検証TATが増大することにもなり、これら種々の技
術的な課題を一括して解決しておくことがきわめて重要
であった。
Further, when a simulation is performed by combining various conditions relating to the clock signal in this way, the simulation time for each operation of each sequential circuit becomes longer. For this reason, the verification TAT increases in the entire function simulation, and it is extremely important to collectively solve these various technical problems.

【0012】したがって、本発明の目的は、機能シミュ
レーションにおける検証動作を言語レベルで単純化させ
るとともに、その検証TATを短縮化させた非同期回路
の検証方法を提供することにある。
Accordingly, an object of the present invention is to provide a method of verifying an asynchronous circuit in which a verification operation in a functional simulation is simplified at a language level and a verification TAT is shortened.

【0013】[0013]

【課題を解決するための手段】上記目的を達成するため
の本発明の請求項1に係る非同期回路の検証方法は、非
同期の論理回路の動作を検証する非同期回路の検証方法
において、論理回路のクロック信号がアクティブなとき
に、論理回路の入力データがその論理回路の保持された
値と異なるか否かによって、出力データがメタステーブ
ル状態であると定義する処理と、このメタステーブル状
態が定義されると、これに伴う所定の値を発生して一定
期間だけ出力させる処理とを有した構成としてある。
According to a first aspect of the present invention, there is provided an asynchronous circuit verification method for verifying the operation of an asynchronous logic circuit. When the clock signal is active, the process of defining that the output data is in a metastable state depending on whether the input data of the logic circuit is different from the held value of the logic circuit, and this metastable state is defined. Then, a process for generating a predetermined value and outputting it for a certain period is provided.

【0014】この非同期回路の検証方法によれば、クロ
ック信号のアクティブエッジを論理回路で検出したとき
に、その入力データの値が一周期前の値から変化してい
れば、論理回路の動作がメタステーブル状態であると定
義される。そして、そのメタステーブル状態による所定
値が形成されて論理回路の出力データとして出力され
る。また、入力データの値が変化していなければ、その
まま一周期前の値による出力データが出力される。
According to this asynchronous circuit verification method, when the active edge of the clock signal is detected by the logic circuit, if the value of the input data has changed from the value one cycle before, the operation of the logic circuit is reduced. Defined to be metastable. Then, a predetermined value based on the metastable state is formed and output as output data of the logic circuit. If the value of the input data has not changed, the output data with the value one cycle before is output as it is.

【0015】本発明の請求項2に係る非同期回路の検証
方法は、論理回路が、一つまたは複数の順序回路を有す
る構成としてある。これによれば、多様な論理回路に汎
用される。
According to a second aspect of the present invention, there is provided a method for verifying an asynchronous circuit, wherein the logic circuit has one or a plurality of sequential circuits. According to this, it is widely used for various logic circuits.

【0016】本発明の請求項3に係る非同期回路の検証
方法は、論理回路が、メタステーブル状態を示すフラグ
を併有する構成としてある。これによれば、フラグによ
ってメタステーブル状態が判定される。
According to a third aspect of the present invention, there is provided a method for verifying an asynchronous circuit, wherein the logic circuit has a flag indicating a metastable state. According to this, the metastable state is determined by the flag.

【0017】本発明の請求項4に係る非同期回路の検証
方法は、出力させる処理が、フラグを検査した結果に基
づいてメタステーブル状態を発生する構成としてある。
これによれば、汎用的なプログラミング手法により実現
できる。
In a method for verifying an asynchronous circuit according to a fourth aspect of the present invention, the output processing generates a metastable state based on a result of checking a flag.
According to this, it can be realized by a general-purpose programming method.

【0018】本発明の請求項5に係る非同期回路の検証
方法は、出力させる処理が、メタステーブル状態の発生
によって入力データを保持する構成としてある。これに
よれば、メタステーブル状態を引き起こした入力データ
の値が保持される。
According to a fifth aspect of the present invention, there is provided a method for verifying an asynchronous circuit, wherein the output process holds input data when a metastable state occurs. According to this, the value of the input data that caused the metastable state is held.

【0019】本発明の請求項6に係る非同期回路の検証
方法は、出力させる処理が、一定期間の経過後に入力デ
ータを出力する構成としてある。これによれば、メタス
テーブル状態を引き起こした入力データの値が出力され
る。
According to a sixth aspect of the present invention, in the method of verifying an asynchronous circuit, the output process is configured to output input data after a lapse of a predetermined period. According to this, the value of the input data that has caused the metastable state is output.

【0020】[0020]

【発明の実施の形態】以下、本発明に係る実施の形態に
ついて、図面を参照しながら詳細に説明する。なお、前
述した従来例と同じ部分については、同一の符号を付し
て詳しい説明を省略してある。
Embodiments of the present invention will be described below in detail with reference to the drawings. The same parts as those in the above-described conventional example are denoted by the same reference numerals, and detailed description is omitted.

【0021】図1は、本発明の一実施形態に係る非同期
回路の検証方法を順序回路を含む非同期回路に適用した
一構成例を図示したフローチャートである。この実施形
態には、はじめの処理の後で、順序回路に供給したクロ
ック信号のアクティブエッジを検出する処理B1、この
アクティブエッジで順序回路への入力データの値が変化
したことを検出する処理B2、順序回路がメタステーブ
ル状態であるか否かを検出する処理B3、メタステーブ
ル状態でなければフラグをtrueに設定する処理S5、メ
タステーブル状態であればフラグをfalseに設定する処
理S1を設けてある。
FIG. 1 is a flowchart illustrating an example of a configuration in which a method for verifying an asynchronous circuit according to an embodiment of the present invention is applied to an asynchronous circuit including a sequential circuit. This embodiment includes a process B1 for detecting an active edge of a clock signal supplied to a sequential circuit after an initial process, and a process B2 for detecting that a value of input data to the sequential circuit has changed at the active edge. A process B3 for detecting whether or not the sequential circuit is in a metastable state, a process S5 for setting a flag to true if not in a metastable state, and a process S1 for setting a flag to false in a metastable state. is there.

【0022】さらに、これらフラグを設定する各処理S
1、S5に続けて、入力データの値を変数dに保持させ
る処理S2、また、順序回路のメタステーブル状態の所
定値を発生させて変数metaに保持させる処理S3、保持
した所定値を変数Qoutに移す処理S4を有している。
Further, each processing S for setting these flags is performed.
Following S1, S5, a process S2 for storing the value of the input data in the variable d, a process S3 for generating a predetermined value of the metastable state of the sequential circuit and storing it in the variable meta, and storing the stored predetermined value in the variable Qout To step S4.

【0023】また、入力データの変化を検出する処理B
2で変化を検出しなかったときに、順序回路がメタステ
ーブル状態にならないためフラグをfalseに設定する処
理S6、前述した処理S2と同様に入力データの値をd
に保持させる処理S7を有している。また、クロック信
号のアクティブエッジを検出する処理B1でアクティブ
エッジを検出しないときに、前述した処理S6と同様に
フラグをfalseに設定する処理S9を有している。さら
に、これらの処理S7、S9に続けて、保持しておいた
保持データの値をdからQoutに移す処理S8を有して
いる。なお、初めの処理は開始処理を、また、終りの処
理は終了処理である。
Processing B for detecting a change in input data
When no change is detected in step S2, the sequential circuit does not enter the metastable state, so that the flag is set to false in step S6.
Is provided in step S7. Further, when the active edge is not detected in the process B1 for detecting the active edge of the clock signal, a process S9 for setting the flag to false is provided similarly to the process S6 described above. Further, following the processes S7 and S9, there is a process S8 for moving the value of the held data from d to Qout. The first process is a start process, and the last process is a finish process.

【0024】図2は、図1に示す検証方法を適用する非
同期回路の一例の回路図であり、それぞれの順序回路な
どにおける動作を図2を参照しながら説明する。この非
同期回路は、加算器ALU1および前後段の順序回路F
F1、FF2を順に配置して構成され、順序回路FF1
からの出力データQ1が、その値を加算器ALU1で+
1されてから順序回路FF1への入力データD1として
入力される。また、順序回路FF1の出力データQ1
が、順序回路FF2への入力データD2として入力され
る。
FIG. 2 is a circuit diagram of an example of an asynchronous circuit to which the verification method shown in FIG. 1 is applied. The operation of each sequential circuit will be described with reference to FIG. This asynchronous circuit includes an adder ALU1 and a sequential circuit F in the preceding and following stages.
F1 and FF2 are sequentially arranged, and the sequential circuit FF1
Output data Q1 from the adder ALU1
After that, it is input as input data D1 to the sequential circuit FF1. Also, the output data Q1 of the sequential circuit FF1
Is input as input data D2 to the sequential circuit FF2.

【0025】順序回路FF1には、そのメタステーブル
状態を示すフラグMF1が、また、順序回路FF2に
は、その別のメタステーブル状態を示す別のフラグMF
2がそれぞれ併設されている。このとき、周期が異なる
二つのクロック信号CLK1、CLK2のうち、順序回
路FF1にはクロック信号CLK1が、また、順序回路
FF2には別のクロック信号CLK2が供給される。
The sequential circuit FF1 has a flag MF1 indicating its metastable state, and the sequential circuit FF2 has another flag MF indicating its other metastable state.
2 are provided side by side. At this time, of the two clock signals CLK1 and CLK2 having different periods, the clock signal CLK1 is supplied to the sequential circuit FF1, and another clock signal CLK2 is supplied to the sequential circuit FF2.

【0026】〔実施例による動作の説明〕以下、本実施
形態による実施例の動作の一例について説明する。ま
ず、図1および2を参照しながら非同期回路の検証方法
について述べる。この場合に、クロック信号CLK1、
入力データD1により順序回路FF1が動作を行って出
力データQ1を出力し、また、クロック信号CLK2、
入力データD2により順序回路FF2が動作を行って出
力データQ2を出力する。
[Explanation of Operation According to Embodiment] An example of the operation of the embodiment according to the present embodiment will be described below. First, a method of verifying an asynchronous circuit will be described with reference to FIGS. In this case, the clock signals CLK1,
The sequential circuit FF1 operates according to the input data D1, outputs the output data Q1, and outputs the clock signals CLK2,
The sequential circuit FF2 operates according to the input data D2 and outputs the output data Q2.

【0027】まず、前記した処理B1において、クロッ
ク信号CLK1、CLK2のエッジを検出する。このエ
ッジが検出された場合(Yes)には、処理B2に移る
が、これが検出されない場合(No)には、フラグMF
1、MF2を処理S9でfalseに変更する。また、エッ
ジが検出された場合には、処理B2において、入力デー
タD1、D2の値(Din)が変化したか否かを検出す
る。この値(Din)の変化が検出された場合(Yes)
には処理B3に移るが、これが検出されない場合(N
o)には、フラグMF1、MF2を処理S6でfalseに
変更する。
First, in the process B1, the edges of the clock signals CLK1 and CLK2 are detected. When this edge is detected (Yes), the process proceeds to processing B2. When this edge is not detected (No), the flag MF is set.
1. In step S9, MF2 is changed to false. When an edge is detected, it is detected in process B2 whether the value (Din) of the input data D1, D2 has changed. When a change in this value (Din) is detected (Yes)
Moves to processing B3, but if this is not detected (N
In o), the flags MF1 and MF2 are changed to false in step S6.

【0028】このように、各処理S9、S6では、フラ
グMF1、MF2の値をメタステーブル状態でない状態
(false)に設定する。続いて、処理S7において、値
(Din)を変数(d)として保持しておく。そして、処
理S8において、この変数(d)を変数(Qout)に移
して出力データQ1、Q2の値とし、順序回路FF1、
FF2から出力する。
As described above, in the processes S9 and S6, the values of the flags MF1 and MF2 are set to a state that is not a metastable state (false). Subsequently, in step S7, the value (Din) is stored as a variable (d). Then, in a process S8, the variable (d) is moved to a variable (Qout) to obtain the values of the output data Q1, Q2, and the sequential circuits FF1,
Output from FF2.

【0029】これらの一連の処理S6、S7、S8によ
って、クロック信号CLK1、CLK2がアクティブで
あって値(Din)が一周期前から変化していない場合の
動作を行える。また処理S9、S8によって、非アクテ
ィブな場合の動作を行える。これにより、順序回路FF
1、FF2がメタステーブル状態の所定値を出力した後
で、続く一周期後の出力動作において保持データを出力
することができる。
By a series of these processes S6, S7 and S8, an operation can be performed when the clock signals CLK1 and CLK2 are active and the value (Din) has not changed from one cycle before. In addition, by the processes S9 and S8, the operation in the inactive state can be performed. Thereby, the sequential circuit FF
1. After the FF 2 outputs the predetermined value in the metastable state, the held data can be output in the output operation one cycle later.

【0030】処理B2で入力データD1、D2の変化し
たことを検出した場合、処理B3においてフラグMF
1、MF2の値をチェックする。そして、フラグMF
1、MF2がtrueになっていれば処理S1でfalseに変
更し、処理S2において入力データD1、D2を保持し
た後で、メタステーブル状態を処理S3で発生させる。
最後に、処理S4においてメタステーブル状態の所定値
を出力データQ1、Q2の値とし、順序回路FF1、F
F2から出力する。また、処理B3でフラグMF1、M
F2がfalseになっていれば、処理S5でtrueに変更し
た後に、前述した処理S2、S3、S4を順に行う。
When the change of the input data D1 and D2 is detected in the process B2, the flag MF
1. Check the value of MF2. Then, the flag MF
1. If MF2 is true, change to false in step S1, and after holding input data D1, D2 in step S2, generate a metastable state in step S3.
Finally, in step S4, the predetermined value in the metastable state is set as the value of the output data Q1, Q2, and the sequential circuits FF1, F2
Output from F2. In processing B3, the flags MF1, M
If F2 is false, after changing to true in step S5, the above-described steps S2, S3, and S4 are sequentially performed.

【0031】これらの一連の処理S2、S3、S4によ
って、本発明の特徴であるクロック信号CLK1、CL
K2がアクティブであって入力データD1、D2が一周
期前とは変化していた場合に、メタステーブル状態を出
力させることができる。つまり、一つのクロック信号
(たとえばCLK1)のアクティブエッジから、前述し
た機能上のアルゴリズムによって、入力データ(たとえ
ばD1)の変化に伴うメタステーブル状態を言語レベル
で定義できる。
The series of processing S2, S3, S4 allows the clock signals CLK1, CL, which are a feature of the present invention.
When K2 is active and the input data D1 and D2 have changed from one cycle before, a metastable state can be output. In other words, the metastable state accompanying the change of the input data (for example, D1) can be defined at the language level from the active edge of one clock signal (for example, CLK1) by the above-described functional algorithm.

【0032】さらに、2系統のクロック信号CLK1、
CLK2どうしに位相差が生じると、やはりアルゴリズ
ムに伴って、基本となる1サイクルタイムの時間内で連
鎖的に誤動作を引き起こさせる。これらアルゴリズムの
各処理により、それぞれのテストベンチの記述や機能シ
ミュレーション全体を複雑化させることなく、非同期回
路の機能を多面的にシミュレーションして短時間のうち
に検証することができる。
Further, two clock signals CLK1,
When a phase difference occurs between CLK2s, malfunctions are successively caused within the basic one cycle time in accordance with the algorithm. Through the processing of each of these algorithms, the functions of the asynchronous circuit can be simulated in many aspects and verified in a short time without complicating the description of each test bench and the entire function simulation.

【0033】 たとえば、処理S2において、変数(d)
が取り得るランダムな値を発生させ、変数(d)に保持
される値(Din)と比較し、この値(Din)とは異
なる値を変数(meta)に保持させてメタステーブル
状態の所定値とすることにより、非同期回路のメタステ
ーブル状態を発生し、その誤動作を検証できるようにす
る。
[0033] For example, in the process S2, the variable (d)
Generates a random value that can be taken and stores it in variable (d)
The value (Din) is compared with the
Is stored in a variable (meta)
By setting the state to a predetermined value, the metast
Cable state and verify its malfunction.
You.

【0034】図3は、図2に示す非同期回路による動作
のタイミングチャートである。図1〜3を参照しなが
ら、本実施形態による動作のタイミングについて説明す
る。以下、図2に示す順序回路FF1では、クロック信
号CLK1が3サイクルごとに変化し、順序回路FF2
では、クロック信号CLK2が4サイクルごとに変化す
るものとする。
FIG. 3 is a timing chart of the operation of the asynchronous circuit shown in FIG. The operation timing according to the present embodiment will be described with reference to FIGS. Hereinafter, in the sequential circuit FF1 shown in FIG. 2, the clock signal CLK1 changes every three cycles, and the sequential circuit FF2
Here, it is assumed that the clock signal CLK2 changes every four cycles.

【0035】順序回路FF1への入力データD1の値
(Din)は、初期状態のときの順序回路FF1からの出
力データQ1の値(Qout)に対し、加算器ALU1で
+1した値(=1)である。第3周期でのクロック信号
CLK1の立ち上がりエッジで、入力データD1が順序
回路FF1に入力される。この値(Din)は、続く一周
期である第4周期において出力データQ1の値(Qou
t)となり値(=1)が出力される。
The value (Din) of the input data D1 to the sequential circuit FF1 is obtained by adding +1 (= 1) to the value (Qout) of the output data Q1 from the sequential circuit FF1 in the initial state by the adder ALU1. It is. At the rising edge of the clock signal CLK1 in the third cycle, the input data D1 is input to the sequential circuit FF1. This value (Din) is equal to the value (Qou) of the output data Q1 in the fourth period, which is one subsequent period.
t) and the value (= 1) is output.

【0036】続いて、第3周期において、クロック信号
CLK1がアクティブな状態のときに、値(Din)が一
周期前の値から変化している。このため、フラグMF1
の値がtrue(=1)になり、出力データQ1の値(Qo
ut)がメタステーブル状態の所定値(=6)として出力
される。また、第4周期では、クロック信号CLK1が
非アクティブな状態になるため、その1周期前に値(D
in)として入力し保持した値、すなわち第3周期におけ
る入力データD1の値(=1)が出力データQ1として
出力される。
Subsequently, in the third cycle, when the clock signal CLK1 is in the active state, the value (Din) changes from the value one cycle before. Therefore, the flag MF1
Becomes true (= 1), and the value of output data Q1 (Qo
ut) is output as a predetermined value (= 6) in the metastable state. In the fourth cycle, the clock signal CLK1 is in an inactive state, so the value (D
The value input and held as in), that is, the value (= 1) of the input data D1 in the third cycle is output as output data Q1.

【0037】同様に、第9、第10、第15、第16、
および第21、第22の各周期において、1サイクルの
期間内でフラグMF1の値がtrue(セット)になる。そ
して、値Qoutとしてメタステーブル状態の各所定値を
出力した後で、その1周期前に値(Din)として入力し
保持した各値が出力される。
Similarly, the ninth, tenth, fifteenth, sixteenth,
In each of the 21st and 22nd cycles, the value of the flag MF1 becomes true (set) within one cycle. Then, after outputting each predetermined value in the metastable state as the value Qout, each value input and held as the value (Din) one cycle earlier is output.

【0038】また、順序回路FF2では、その入力デー
タD2の値(Din)として順序回路FF1からの出力デ
ータQ1の値(Dout)が入力される。そして、第4周
期でのクロック信号CLK2の立ち上がりエッジにおい
て、入力データD2の値(Din)として値(=6)が取
り込まれた後で、続く一周期である第5周期において、
出力データQ2の値(Qout)となり値(=6)が出力
される。
In the sequential circuit FF2, the value (Dout) of the output data Q1 from the sequential circuit FF1 is input as the value (Din) of the input data D2. After the value (= 6) is taken in as the value (Din) of the input data D2 at the rising edge of the clock signal CLK2 in the fourth cycle,
The value (Qout) of the output data Q2 becomes the value (= 6).

【0039】このとき、順序回路FF1と同様に、第4
周期においてクロック信号CLK2がアクティブなとき
に、入力データD2の値(Din)が一周期前の値、すな
わち順序回路FF2が初期状態のときの値から変化して
いる。このため、順序回路FF2のフラグMF2の値が
trueになり、メタステーブル状態の所定値(=3)が
出力データQ2の値(Qout)として出力される。ま
た、第5周期において、クロック信号CLK2が非アク
ティブになるため、その1周期前に値(Din)として保
持した値、すなわち第4周期における値(=6)が値Q
outとして出力される。
At this time, like the sequential circuit FF1, the fourth
When the clock signal CLK2 is active in the cycle, the value (Din) of the input data D2 changes from the value one cycle before, that is, the value when the sequential circuit FF2 is in the initial state. Therefore, the value of the flag MF2 of the sequential circuit FF2 becomes true, and the predetermined value (= 3) in the metastable state is output as the value (Qout) of the output data Q2. Further, since the clock signal CLK2 becomes inactive in the fifth cycle, the value held as the value (Din) one cycle before, that is, the value (= 6) in the fourth cycle is the value Q.
Output as out.

【0040】同様にして、第12、第13、および第2
0、第21の各周期において、1サイクル内にフラグM
F2の値がtrueになり、メタステーブル状態の各所定
値を値Qoutとして出力する。その後、その1周期前に
値(Din)として保持した各値が出力される。
Similarly, the twelfth, thirteenth, and second
0, in each of the 21st cycles, the flag M
The value of F2 becomes true, and each predetermined value in the metastable state is output as the value Qout. Thereafter, each value held as a value (Din) one cycle before that is output.

【0041】このとき、第4周期における順序回路FF
2の入力データD2の値(Din)として取り込まれた値
(=6)は、順序回路FF1で発生させたメタステーブ
ル状態の値である。このため、順序回路FF2には、本
来の期待される入力データD2の値(Din)、すなわち
第4周期における順序回路FF1の出力データQ1の値
(=1)と異なる値が入力される。したがって、第5周
期から第12周期までは、この非同期回路の動作が不具
合を起こすことになる。
At this time, the sequential circuit FF in the fourth cycle
The value (= 6) taken as the value (Din) of the input data D2 of No. 2 is a value in the metastable state generated by the sequential circuit FF1. Therefore, a value (Din) of the originally expected input data D2, that is, a value different from the value (= 1) of the output data Q1 of the sequential circuit FF1 in the fourth cycle is input to the sequential circuit FF2. Therefore, the operation of this asynchronous circuit causes a problem from the fifth cycle to the twelfth cycle.

【0042】このことから、第3周期におけるクロック
信号CLK1の変化と、第4周期におけるクロック信号
CLK2の変化とが、この非同期回路の動作に対して不
具合を起こすタイミングとなったことが分かる。
From this, it can be seen that the change in the clock signal CLK1 in the third cycle and the change in the clock signal CLK2 in the fourth cycle are timings that cause problems with the operation of the asynchronous circuit.

【0043】なお、上記実施例では、クロック信号のア
クティブエッジを立ち上がりの変化としたが、この他に
も立ち下がりの変化とした場合にも同様である。また、
非同期回路の構成として、クロック信号のアクティブエ
ッジが立ち上がり変化の順序回路と立ち下がり変化のも
のとを混在させても同様な効果が得られる。
In the above embodiment, the active edge of the clock signal is set to a rising change. However, the same applies to a case where the falling edge changes. Also,
The same effect can be obtained by combining a sequential circuit in which the active edge of the clock signal rises and a circuit in which the active edge of the clock signal falls as the configuration of the asynchronous circuit.

【0044】[0044]

【発明の効果】以上に述べたように、本発明の効果は、
クロック信号のアクティブエッジごとに強制的なメタス
テーブル状態を発生させ、この状態を一周期の間だけ論
理回路に保ち続けさせるアルゴリズムが実現できる。こ
のため、クロック信号の多様な条件を記述して動作確認
の検証をする必要がない。また、その動作タイミングを
考慮した従来の機能シミュレーションと同様に、論理回
路における動作の不具合を再現できる。したがって、言
語レベルでの機能シミュレーションに必要なテストベン
チの記述や検証作業を単純化でき、また、その検証TA
Tを結果的に短縮化させることができる。
As described above, the effects of the present invention are as follows.
An algorithm can be realized in which a forced metastable state is generated for each active edge of the clock signal, and this state is maintained in the logic circuit for one cycle. For this reason, it is not necessary to verify the operation check by describing various conditions of the clock signal. In addition, similarly to the conventional function simulation in consideration of the operation timing, it is possible to reproduce the malfunction of the operation in the logic circuit. Therefore, description and verification work of a test bench required for functional simulation at a language level can be simplified, and the verification TA
T can be shortened as a result.

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

【図1】本発明の一実施形態に係る非同期回路の検証方
法の一構成例を図示したフローチャート。
FIG. 1 is a flowchart illustrating a configuration example of a method for verifying an asynchronous circuit according to an embodiment of the present invention.

【図2】図1に示す検証方法を適用させた非同期回路の
一例の回路図。
FIG. 2 is a circuit diagram of an example of an asynchronous circuit to which the verification method shown in FIG. 1 is applied.

【図3】図2に示す非同期回路における動作の一例のタ
イミングチャート。
FIG. 3 is a timing chart showing an example of an operation in the asynchronous circuit shown in FIG. 2;

【図4】一従来例による非同期回路の検証方法のフロー
チャート。
FIG. 4 is a flowchart of an asynchronous circuit verification method according to a conventional example.

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

ALU1 加算器 B1〜B3、S1〜S9 処理 CLK1、CLK2 クロック信号 D1、D2 入力データ FF1、FF2 順序回路 Q1、Q2 出力データ ALU1 Adders B1 to B3, S1 to S9 Processing CLK1, CLK2 Clock signals D1, D2 Input data FF1, FF2 Sequential circuit Q1, Q2 Output data

フロントページの続き (72)発明者 橘 陽司 神奈川県川崎市中原区小杉町一丁目403番 53 日本電気アイシーマイコンシステム株 式会社内 Fターム(参考) 5B046 JA04 Continuation of the front page (72) Inventor Yoji Tachibana 1-403, Kosugi-cho, Nakahara-ku, Kawasaki-shi, Kanagawa 53 F-term in NEC Ic Microcomputer System Co., Ltd. 5B046 JA04

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 非同期の論理回路による動作を検証する
非同期回路の検証方法において、 論理回路のクロック信号がアクティブなときに、論理回
路の入力データがその論理回路に保持された値と異なる
か否かによって、出力データがメタステーブル状態であ
ると定義する処理と、このメタステーブル状態が定義さ
れると、これに伴う所定の値を発生して一定期間だけ出
力させる処理とを有したことを特徴とする非同期回路の
検証方法。
In an asynchronous circuit verification method for verifying operation of an asynchronous logic circuit, when a clock signal of the logic circuit is active, it is determined whether input data of the logic circuit is different from a value held in the logic circuit. Thus, there is a process of defining that the output data is in a metastable state, and a process of generating a predetermined value associated with the metastable state and outputting it for a certain period of time when the metastable state is defined. Verification method for asynchronous circuits.
【請求項2】 前記論理回路が、 一つまたは複数の順序回路を有することを特徴とする請
求項1記載の装置。
2. The apparatus of claim 1, wherein said logic circuit comprises one or more sequential circuits.
【請求項3】 前記論理回路が、 メタステーブル状態を示すフラグを併有することを特徴
とする請求項1記載の装置。
3. The apparatus according to claim 1, wherein the logic circuit has a flag indicating a metastable state.
【請求項4】 前記出力させる処理が、 フラグを検査した結果に基づいてメタステーブル状態を
発生することを特徴とする請求項3記載の装置。
4. The apparatus according to claim 3, wherein said outputting step generates a metastable state based on a result of checking a flag.
【請求項5】 前記出力させる処理が、 メタステーブル状態の発生によって入力データを保持す
ることを特徴とする請求項1記載の装置。
5. The apparatus according to claim 1, wherein said output processing retains input data when a metastable state occurs.
【請求項6】 前記出力させる処理が、 一定期間の経過後に入力データを出力させることを特徴
とする請求項1記載の装置。
6. The apparatus according to claim 1, wherein the outputting process causes the input data to be output after a predetermined period has elapsed.
JP2000037936A 2000-02-16 2000-02-16 Asynchronous circuit verification method Expired - Fee Related JP3953250B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000037936A JP3953250B2 (en) 2000-02-16 2000-02-16 Asynchronous circuit verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000037936A JP3953250B2 (en) 2000-02-16 2000-02-16 Asynchronous circuit verification method

Publications (2)

Publication Number Publication Date
JP2001229211A true JP2001229211A (en) 2001-08-24
JP3953250B2 JP3953250B2 (en) 2007-08-08

Family

ID=18561751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000037936A Expired - Fee Related JP3953250B2 (en) 2000-02-16 2000-02-16 Asynchronous circuit verification method

Country Status (1)

Country Link
JP (1) JP3953250B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059024A (en) * 2007-08-30 2009-03-19 Toshiba Corp Verification device for semiconductor integrated circuit
JP2010108120A (en) * 2008-10-29 2010-05-13 Fujitsu Ltd Logic simulation program, logic simulation apparatus, and logic simulation method
US7840924B2 (en) 2007-02-20 2010-11-23 Fujitsu Semiconductor Limited Apparatus, method, and program for verifying logic circuit operating with multiple clock signals
US7930609B2 (en) 2007-09-18 2011-04-19 Renesas Electronics Corporation Apparatus and method for verifying target circuit
US7945882B2 (en) 2007-02-27 2011-05-17 Fujitsu Semiconductor Limited Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840924B2 (en) 2007-02-20 2010-11-23 Fujitsu Semiconductor Limited Apparatus, method, and program for verifying logic circuit operating with multiple clock signals
US7945882B2 (en) 2007-02-27 2011-05-17 Fujitsu Semiconductor Limited Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
JP2009059024A (en) * 2007-08-30 2009-03-19 Toshiba Corp Verification device for semiconductor integrated circuit
JP4585559B2 (en) * 2007-08-30 2010-11-24 株式会社東芝 Semiconductor integrated circuit verification device
US8135557B2 (en) 2007-08-30 2012-03-13 Kabushiki Kaisha Toshiba Apparatus for testing semiconductor integrated circuit and method for testing semiconductor integrated circuit
US7930609B2 (en) 2007-09-18 2011-04-19 Renesas Electronics Corporation Apparatus and method for verifying target circuit
JP2010108120A (en) * 2008-10-29 2010-05-13 Fujitsu Ltd Logic simulation program, logic simulation apparatus, and logic simulation method
US8160859B2 (en) 2008-10-29 2012-04-17 Fujitsu Limited Medium storing logic simulation program, logic simulation apparatus, and logic simulation method

Also Published As

Publication number Publication date
JP3953250B2 (en) 2007-08-08

Similar Documents

Publication Publication Date Title
US20070271536A1 (en) Clock model for formal verification of a digital circuit description
US20070129923A1 (en) Dynamic synchronizer simulation
US7328117B2 (en) Apparatus, method and program for verifying asynchronous circuit
JP2001229211A (en) Method of verifying asynchronous circuit
US7912693B1 (en) Verifying configuration memory of a programmable logic device
JP3759051B2 (en) Asynchronous circuit verification method and program thereof
WO2003009184A2 (en) Multi-clock system simulation
JP2004145712A (en) Equivalence verification method of motion description in semiconductor design
US7072821B1 (en) Device and method for synchronizing an asynchronous signal in synthesis and simulation of a clocked circuit
JP2972499B2 (en) Logic circuit delay simulator
JP2001255357A (en) Method and apparatus for verification of validity of test pattern
JP2830579B2 (en) Logic simulation equipment
JP3077617B2 (en) Delay simulator
JP3135357B2 (en) Delay simulation device
JP2797955B2 (en) Expected value collation apparatus and method
JP2002083007A (en) Device and method for verifying logic of event-driven simulator
JPH05151301A (en) Device and method for verifying delay time
JP3012546B2 (en) Simulation apparatus and method
JPH04256070A (en) Logical verification system
JP2003162561A (en) Method of analyzing timing
JPH10319090A (en) Converting method and converting device of test bench
JPH1078975A (en) Logic verification device
JPH06215062A (en) Alignment device for simulation data
JPH02112037A (en) Logic simulating method
JP2000206209A (en) Test system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040601

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040730

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040812

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040910

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070424

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees