Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3698413B2 - Digital circuit verification apparatus and verification method - Google Patents
[go: Go Back, main page]

JP3698413B2 - Digital circuit verification apparatus and verification method - Google Patents

Digital circuit verification apparatus and verification method Download PDF

Info

Publication number
JP3698413B2
JP3698413B2 JP2001035523A JP2001035523A JP3698413B2 JP 3698413 B2 JP3698413 B2 JP 3698413B2 JP 2001035523 A JP2001035523 A JP 2001035523A JP 2001035523 A JP2001035523 A JP 2001035523A JP 3698413 B2 JP3698413 B2 JP 3698413B2
Authority
JP
Japan
Prior art keywords
circuit
state
digital circuit
determination
digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001035523A
Other languages
Japanese (ja)
Other versions
JP2002236713A (en
Inventor
健吉 平野
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001035523A priority Critical patent/JP3698413B2/en
Publication of JP2002236713A publication Critical patent/JP2002236713A/en
Application granted granted Critical
Publication of JP3698413B2 publication Critical patent/JP3698413B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、クロック同期のデジタル回路を検証するためのデジタル回路検証装置及び検証方法に関する。
【0002】
【従来の技術】
現在、デジタル回路の設計において、ハードウェア記述言語(HDL)を用いたレジスタトランスレベル(RTL)設計が行われている。また、設計データを検証する際も、同様にHDLや専用言語などでシミュレーション用パターンを作成し検証を行っている。HDLや専用言語などでシミュレーション用パターンを作成し検証を行う場合の利点は、回路内部の信号をトレースできることにある。しかし、半導体集積回路の集積度の飛躍的な増加に伴い、回路が大規模化、複雑化し、検証を行う上で後述のような問題が発生している。
【0003】
すなわち、シミュレーション用パターンを作成するのが検証者であった場合、1.人が作成するため非常に時間がかかる、2.検証者が意図しない入力パターンが存在し検証項目漏れが発生する、3.実際のソフトウェアを作成するソフトウェア開発者と検証者が別であるためソフトウェアの設定順番と入力パターンの順番が異なり、検証もれ、さらには誤動作の原因となる場合がある、4.入力パターンのタイミングによって正常に動作できない場合がある、などの様々な課題がある。
【0004】
また、シミュレーション用パターンを作成を自動パターン生成ツールで行った場合、5.パターンをランダムに発生しても検証ができたことにならない、6.全ての組合せを行うことは非常に時間がかかり現実的ではない、などの課題がある。
【0005】
このように、検証者、自動パターン生成ツールのどちらでシミュレーションパターンを作成して検証したとしても、完全な検証というものは非常に難しい。しかし実際には、回路検証において全ての組合せを無限大に行う必要はなく、検証すべき部分は組合せ回路のごく一部分である。そのため、検証者がパターンを作成した方が、必要な機能検証のみを正確に行うことができる。また、検証者は設計された回路の外部仕様書の中でデジタル回路の設定順序となる入力パターンを明記することで、ソフトウェア設計者もシミュレーションパターンと同様なソフトウェアを作成することができ、検証者が意図しない入力パターンが発生することを避けることができる。
【0006】
【発明が解決しようとする課題】
上述のように自動パターン生成ツールを利用するよりも検証者がシミュレーションパターンを作成する方に利点がある。しかし、検証者がシミュレーションパターンを作成する場合には、先に述べたように、入力パターンのタイミングによってはいくら検証しても正常に動作できない場合がある。これは検証対象となるデジタル回路(以下、ターゲット回路と記す)の内部状態を検証者が意識せずに、ターゲット回路をブラックボックス化してパターンを作成するためである。
【0007】
そこで、本発明は検証者がシミュレーションパターンを作成する際に生じるタイミングに関する問題を解決し、ターゲット回路を確実に検証することができるデジタル回路検証装置及び検証方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、順序素子(フリップフロップ)及び組合せ回路部分を有するクロック同期のデジタル回路の入力状態及び前記順序素子の出力状態を保持し、それぞれについて現在の状態と比較し前記デジタル回路の内部状態を判定し、判定結果に応じて前記デジタル回路を検証するためのパターンを所定タイミングで前記デジタル回路に入力する。
【0009】
デジタル回路において、ターゲット回路の状態を考えた場合、ターゲット回路への入力信号とターゲット回路内部の順序回路によって1つの状態を表わすことができる。ターゲット回路の状態とは、ターゲット回路へクロック信号が入力され、他の入力信号が変化しない場合、ある一定時間が経過することで、状態が全く変化しない安定な状態(無変化安定状態)若しくはある周期的規則をもち、変化し続ける状態(周期的安定状態)である。
【0010】
例えば、ポート制御回路のように、CPUからターゲット回路内部のレジスタへ設定値を書き込むことでターゲット回路から設定値を出力する場合、レジスタへ設定した後、数クロック以内に状態が全く変化しない無変化安定状態となる。また、アップカウンタ回路のように、CPUからターゲット回路内部のレジスタへアップカウンタ動作許可を設定すると、カウンタが0からカウントアップを開始し、カウンタが最大値に達すると、また、0からカウントアップを行うため、周期的規則を持ち変化する周期的安定状態となる。
【0011】
無変化安定状態では、ターゲット回路への入力信号がどのタイミングで発生したとしても、ターゲット回路からの出力信号は入力信号のタイミングによって遅れて出力されるとしても、同じ結果を得ることができる。また、周期的安定状態では、ターゲット回路への入力信号が同じ周期に発生すれば、ターゲット回路からの出力信号は周期に合わせて遅く出力されるとしても、同じ結果を得ることができる。
【0012】
上記理由により、無変化安定状態、周期的安定状態を検証者が知ることができれば、無変化安定状態、周期的安定状態以降に入力信号を変化させるようなタイミングの検証パターンを作ることはなくなる。
【0013】
デジタル回路検証手法のモデル(以下、デジタル回路検証モデルと記す)として、以下の回路を必要とする。状態判定回路はターゲット回路の入力状態とターゲット回路内部の順序回路の状態を保持するために、クロック信号の立ち上がりエッジ毎に状態を保持できるフリップフロップ回路と、現在の状態と1クロック前の状態を比較するための比較回路及び入力状態とターゲット回路内部の順序回路の状態が現在の状態と1クロック前の状態に変化があるか否かを判定するための判定回路で構成され、判定回路からの出力を判定結果信号として検証のためのパターンを発生する入力信号発生回路に渡す。入力信号発生回路は実際にターゲット回路に接続されるデバイス(ホスト回路)のアクセスサイクル毎に発生できるようにパターンをタスク化し、タスクの実行条件の中に判定結果信号によってタスクの実行を許可/禁止する制御を行う。
【0014】
【発明の実施の形態】
(第1の実施形態)
以下、本発明の第1の実施形態について図面を参照しながら説明する。
図1はデジタル回路検証モデルを示す構成図である。図1に示されるように、デジタル回路検証モデルは、ターゲット回路110と、ターゲット回路に入力するシミュレーションパターンを発生する入力信号発生回路100と、ターゲット回路110の内部状態を判定する状態判定回路120とで構成される。
【0015】
ターゲット回路110は無変化安定状態となるデジタル回路のみとし、ターゲット回路110の内部は順序回路として1系統のクロック信号で動作するフリップフロップ回路113、114、115と、組合せ回路111、112とで構成される。
【0016】
入力信号発生回路100は、クロック発生回路103と実行順番毎に並べたタスク101と、タスク101の実行を許可/禁止制御するタスク実行許可禁止制御回路102とで構成される。
【0017】
図2はタスクの発生タイミングを示すもので、例えば、入力信号1、2、3を発生するタスクを仮定する。タスクはHDLでシミュレーションを行う際、入力信号のまとまり毎に作成することができる。タスクを作成する場合、まず、外部デバイスのアクセスサイクルに合った基本となる基本タスクを作成する。タスクを利用する場合、基本タスクを呼び出し、基本タスクの中の変化する入力信号値のみを与えることで、ターゲット回路100に対し外部デバイスと同様のタイミング入力を行うことができる。図示例のように、タスクが実行されない部分は入力信号1、2、3が全て“1”、タスクの実行期間中は入力信号1、2が“0”、入力信号3が“1”又は“0”となるような基本タスクを仮定する。
【0018】
タスク実行許可禁止制御回路102は、例えば、状態判定回路120からの判定結果信号が“1”であればタスクの実行を許可し、次のタスクを実行するものとする。また、判定結果信号が“0”であればタスクの実行を禁止し、次のタスクの実行を待つものとする。
【0019】
状態判定回路120には、入力信号発生回路100からターゲット回路110への入力信号及びデジタル回路内部のフリップフロップ回路113、114、115からの出力信号が入力される。状態判定回路120は、1クロック前の状態を保持するためのフリップフロップ回路121と、1クロック前の状態と現在の状態を比較するための比較回路122と、比較回路122からの出力結果を入力とする判定回路123とで構成される。比較回路122は例えば排他的論理積回路(以下、EX−NOR回路と記す)で構成することができる。EX−NOR回路で比較回路を構成した場合、1クロック前の状態と現在の状態が一致していれば“1”が出力され、一致していなければ“0”が出力される。判定回路123は例えば論理積回路(以下、AND回路と記す)で構成することができる。AND回路で判定回路を構成した場合、比較回路122からの出力結果が全て“1”であれば“1”が出力され、1つでも“0”があれば“0”が出力される。以後、比較回路にはEX−NOR回路を用い、比較回路にはAND回路を用いたものとして説明する。
【0020】
図3は上記構成のデジタル回路検証モデルの動作を説明するタイミング図である。シミュレーション開始時、必ずターゲット回路110への入力信号とターゲット回路内部のフリップフロップ回路113、114、115が確定した値となるように初期設定を行う。ターゲット回路内部のフリップフロップ113、114、115を初期化するには通常ターゲット回路110への入力信号としてリセット信号を用いることで初期化できる。この初期設定により、状態判定回路120の比較回路122は確定した値を比較することができる。
【0021】
ターゲット回路110が無変化安定状態の回路であれば、クロック信号のみ変化させ、ある一定時間が経過すれば、状態が全く変わらない安定状態となる。つまり、1クロック前の状態と現在の状態を比較すると全ての信号が一致し、全ての比較回路122からの比較結果が“1”となる。また判定回路123の判定結果も“1”となり、入力信号発生回路100のタスク実行許可禁止制御回路102はタスク実行を許可し、これによりタスク1が実行される。
【0022】
タスク1が実行されると、状態判定回路120の判定結果信号が“0”となり、タスク実行許可禁止制御回路102はタスク2の実行を待つ、つまりタスク実行を禁止する。タスク1が実行された後、ある一定時間が経過すれば、また無変化安定状態となり、状態判定回路120の判定結果信号も“1”となる。タスク実行許可禁止制御回路102はタスク実行を許可し、これによりタスク2が実行される。
【0023】
タスクが全て実行され、各タスクの実行時間を記録することによって、無変化安定状態になるまでの時間を検証者は知ることができる。タイミング的に問題となる部分は各タスクの無変化安定状態になるまでの期間であるから、無変化安定状態になるまでの期間以内に次のタスクを実行するシミュレーションパターンを作成することにより問題を解決することができる。
【0024】
(第2の実施形態)
以下、本発明の第2の実施形態について図面を参照しながら説明する。
図4はデジタル回路検証モデルを示す構成図である。図1に示されるように、デジタル回路検証モデルは、ターゲット回路410と、入力信号発生回路100と、状態判定回路420とで構成される。先の図1に示したデジタル回路検証モデルと異なる点は、ターゲット回路410が周期的安定動作を行う回路を有する場合に、状態判定回路420が、状態判定を一定期間内に終了させるためのタイムアウト時間が設定された判定期間タイムアウト回路424を備える点にある。
【0025】
第1の実施形態ではターゲット回路410に周期的安定状態となる回路が内蔵されている場合、ターゲット回路410が周期的安定状態に遷移すると、判定ターゲット回路410内部のフリップフロップ回路413、414、415のいずれか1個以上が1クロック前の状態と異なる。このため、判定結果信号が常に“0”となり、次のタスクを実行できない。
【0026】
判定期間タイムアウト回路424は、アップカウンタを内蔵し、タスク実行後、“0”からカウントアップする。アップカウンタが最大値となると、判定回路423の結果に関わらず、判定結果信号を“1”に設定し、タスク実行を許可する。アップカウンタの最大値は、ターゲット回路410のフリップフロップ回路の個数をNとすれば、2N で示すことができる。その理由は、入力信号が変化しない場合、ターゲット回路410の状態はターゲット回路内部のフリップフロップ回路の個数分の状態しか存在せず、また、フリップフロップ回路は“0”又は“1”の2つの状態しか存在しないため、ターゲット回路410は2N個の状態しか存在しないからである。アップカウンタが2N回数えている間に必ず同じ状態が発生し、周期的安定状態になる。
【0027】
図5は以上構成のデジタル回路検証モデルの動作を説明するためのタイミング図である。ターゲット回路410への入力信号とターゲット回路内部のフリップフロップ413、414、415が確定した値となるように初期設定を行った後、タスク1が実行され、これによりタスク実行信号がアクティブになる。タスク実行信号により、状態判定回路420内の判定期間タイムアウト回路423のカウンタがカウント動作を開始する。周期的安定回路であるターゲット回路410は、ターゲット回路内部のフリップフロップ回路413、414、415が常に変化するため、状態判定回路420内の比較回路422は必ず1つは不一致となる。判定期間タイムアウト回路424が最大値をカウントすると、1クロック分のタイムアウト信号がアクティブになる。これにより、判定結果信号は比較回路422からの信号に関わらず“1”となり、次のタスクを実行する。
【0028】
周期的安定状態が発生しなかった場合は、ある一定期間を経過すれば無変化安定状態となるため、比較回路422からの比較結果信号が全て“1”となり、判定回路423の判定結果信号が“1”となるため、次のタスクを実行することができる。
【0029】
タスクが全て実行され、各タスクの実行時間を記録することによって、無変化安定状態になるまでの時間を検証者は知ることができる。また、どのタスクにより、周期的安定状態になるか判断することができる。検証者は無変化安定状態又は周期的安定状態になるまでの期間以内に次のタスクを実行するシミュレーションパターンを作成することにより問題を解決することができる。
【0030】
(第3の実施形態)
以下、本発明の第3の実施形態について図面を参照しながら説明する。
図6はデジタル回路検証モデルを示す構成図である。図6に示されるように、デジタル回路検証モデルは、ターゲット回路610と、入力信号発生回路600と、状態判定回路620とで構成される。先の図4に示したデジタル回路検証モデルと同様に周期的安定動作を行う回路を有する場合を考慮するが、図4に示したデジタル回路検証モデルと異なる点は、ターゲット回路610が周期的安定動作を行う回路を複数有する場合に、状態判定回路620が、周期的安定動作を行う回路毎に判定状態を一定期間内に終了させるためのタイムアウト時間が設定された判定期間タイムアウト回路624を備える点にある。
【0031】
具体的には、ターゲット回路610において、周期的安定状態となるフリップフロップ回路を周期フリップフロップ回路群613、614に分類し、分類毎に周期的安定状態を示す周期発生トリガ信号を発生するフリップフロップ回路615、616も分類する。周期フリップフロップ回路群は一方の動作が他の周期フリップフロップ回路群に影響を及ぼすことはない。
【0032】
判定期間タイムアウト回路624には、予め周期フリップフロップ回路群毎に判定期間のタイムアウト時間が設定されており、周期発生トリガ信号により”0”からカウントアップする。アップカウンタが設定されたタイムアウト時間に達すると、判定回路623の結果に関わらず、判定結果信号を”1”に設定し、タスク実行を許可する。
【0033】
【発明の効果】
以上のように本発明によれば、順序回路(フリップフロップ)及び組合せ回路を有するクロック同期のデジタル回路の入力状態及び前記順序回路の出力状態を保持し、それぞれについて現在の状態と比較し前記デジタル回路の内部状態を判定し、判定結果に応じて前記デジタル回路を検証するためのパターンを所定タイミングで前記デジタル回路に入力するためのデジタル回路検証モデルを構築することで、検証者がシミュレーションパターンを作成する際に生じる問題となる安定状態を認識し、安定状態にあるタイミングを外してターゲット回路にパターンを入力することができるため、ターゲット回路を確実に検証することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るデジタル回路検証モデルを示す構成図。
【図2】基本タスクとなる入力信号を示すタイミング図。
【図3】第1の実施形態に係るデジタル回路検証モデルの動作を示すタイミング図。
【図4】本発明の第2の実施形態に係るデジタル回路検証モデルを示す構成図。
【図5】第2の実施形態に係るデジタル回路検証モデルの動作を示すタイミング図。
【図6】本発明の第3の実施形態に係るデジタル回路検証モデルを示す構成図。
【符号の説明】
100,400,600 入力信号発生回路
101,401,601 タスク
102,402,602 タスク実行許可禁止制御回路
103,403,603 クロック発生回路
110,410,610 ターゲット回路
111,112,411,412,611,612 組合せ回路
113,114,115,413,414,415 フリップフロップ回路(内部)
120,420,620 状態判定回路
121,421,621 フリップフロップ回路(1クロック前の状態保持)
122,422,622 比較回路
123,423,623 判定回路
424,624 判定期間タイムアウト回路
613 周期Aフリップフロップ回路群
614 周期Bフリップフロップ回路群
615 周期A発生トリガフリップフロップ回路
616 周期B発生トリガフリップフロップ回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital circuit verification apparatus and verification method for verifying a clock-synchronized digital circuit.
[0002]
[Prior art]
Currently, register translevel (RTL) design using hardware description language (HDL) is performed in the design of digital circuits. Similarly, when verifying design data, a simulation pattern is created and verified using HDL, a dedicated language, or the like. An advantage of creating and verifying a simulation pattern in HDL or a dedicated language is that the signal inside the circuit can be traced. However, with the dramatic increase in the degree of integration of semiconductor integrated circuits, the circuit becomes larger and more complicated, and the following problems occur when performing verification.
[0003]
That is, when the verifier creates the simulation pattern: 1. It takes a very long time for human creation. 2. An input pattern that is not intended by the verifier exists and a verification item is missing. 3. Since the software developer and verifier who create the actual software are different, the software setting order and input pattern order are different, which may result in verification failure and even cause malfunction. There are various problems such as a case where the operation cannot be normally performed depending on the timing of the input pattern.
[0004]
In addition, when a pattern for simulation is created by an automatic pattern generation tool, 5. 5. Even if a pattern is generated randomly, it does not mean that the verification has been completed. All combinations are very time consuming and unrealistic.
[0005]
As described above, even if a verification pattern is created and verified by either a verifier or an automatic pattern generation tool, complete verification is very difficult. However, in practice, it is not necessary to perform all combinations infinitely in circuit verification, and the part to be verified is a very small part of the combinational circuit. Therefore, if the verifier creates a pattern, only necessary function verification can be accurately performed. In addition, by specifying the input pattern that is the setting sequence of the digital circuit in the external specification of the designed circuit, the verifier can also create software similar to the simulation pattern. Can prevent an unintended input pattern from occurring.
[0006]
[Problems to be solved by the invention]
As described above, there is an advantage in that the verifier creates a simulation pattern rather than using the automatic pattern generation tool. However, when the verifier creates a simulation pattern, as described above, depending on the timing of the input pattern, it may not be able to operate normally no matter how much it is verified. This is because the verifier does not consider the internal state of a digital circuit to be verified (hereinafter referred to as a target circuit) and creates a pattern by making the target circuit into a black box.
[0007]
Therefore, an object of the present invention is to provide a digital circuit verification apparatus and a verification method that can solve a problem relating to timing that occurs when a verifier creates a simulation pattern and can reliably verify a target circuit.
[0008]
[Means for Solving the Problems]
The present invention holds an input state of a clock-synchronized digital circuit having a sequential element (flip-flop) and a combinational circuit portion and an output state of the sequential element , and compares the internal state of the digital circuit with each of the current state and the current state. A pattern for verifying and verifying the digital circuit according to the determination result is input to the digital circuit at a predetermined timing.
[0009]
In the digital circuit, when the state of the target circuit is considered, one state can be represented by an input signal to the target circuit and a sequential circuit inside the target circuit. The state of the target circuit is a stable state (no change stable state) in which the state does not change at all after a certain time elapses when a clock signal is input to the target circuit and other input signals do not change. This is a state that has a periodic rule and keeps changing (periodic stable state).
[0010]
For example, when a setting value is output from the target circuit by writing the setting value from the CPU to a register inside the target circuit, such as a port control circuit, the state does not change at all within a few clocks after setting to the register. It becomes a stable state. Also, like the up counter circuit, when the up counter operation permission is set from the CPU to the register in the target circuit, the counter starts counting up from 0, and when the counter reaches the maximum value, the counting up from 0 is started. In order to do so, it becomes a periodically stable state that changes with periodic rules.
[0011]
In the unchanged stable state, the same result can be obtained even if the input signal to the target circuit is generated at any timing, even if the output signal from the target circuit is output delayed by the timing of the input signal. In the periodic stable state, if the input signal to the target circuit is generated in the same cycle, the same result can be obtained even if the output signal from the target circuit is output later in time with the cycle.
[0012]
For the above reason, if the verifier can know the unchanged stable state and the periodic stable state, a verification pattern of timing that changes the input signal after the unchanged stable state and the periodic stable state is not created.
[0013]
The following circuit is required as a digital circuit verification method model (hereinafter referred to as a digital circuit verification model). The state determination circuit holds the input state of the target circuit and the state of the sequential circuit inside the target circuit, a flip-flop circuit that can hold the state at every rising edge of the clock signal, and the current state and the state one clock before Comparing circuit for comparison and a determination circuit for determining whether the input state and the state of the sequential circuit in the target circuit are changed between the current state and the state one clock before, from the determination circuit The output is passed as a determination result signal to an input signal generation circuit that generates a pattern for verification. The input signal generation circuit makes a pattern a task so that it can be generated every access cycle of the device (host circuit) that is actually connected to the target circuit, and the execution of the task is permitted / prohibited by the judgment result signal in the task execution condition Control.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a digital circuit verification model. As shown in FIG. 1, the digital circuit verification model includes a target circuit 110, an input signal generation circuit 100 that generates a simulation pattern to be input to the target circuit, a state determination circuit 120 that determines an internal state of the target circuit 110, and Consists of.
[0015]
The target circuit 110 is only a digital circuit that is in an unchanged stable state, and the target circuit 110 includes a flip-flop circuit 113, 114, 115 that operates with a single clock signal as a sequential circuit, and a combinational circuit 111, 112. Is done.
[0016]
The input signal generation circuit 100 includes a clock generation circuit 103, a task 101 arranged in the execution order, and a task execution permission prohibition control circuit 102 that permits / inhibits execution of the task 101.
[0017]
FIG. 2 shows the task generation timing. For example, a task that generates input signals 1, 2, and 3 is assumed. Tasks can be created for each set of input signals when HDL simulation is performed. When creating a task, first, a basic task that is basic to the access cycle of the external device is created. When using a task, it is possible to perform the same timing input as that of an external device to the target circuit 100 by calling the basic task and giving only a changing input signal value in the basic task. As shown in the example, the input signals 1, 2 and 3 are all “1” when the task is not executed, the input signals 1 and 2 are “0” and the input signal 3 is “1” or “ Assume a basic task that is 0 ".
[0018]
For example, if the determination result signal from the state determination circuit 120 is “1”, the task execution permission prohibition control circuit 102 permits the task execution and executes the next task. If the determination result signal is “0”, the execution of the task is prohibited and the execution of the next task is awaited.
[0019]
The state determination circuit 120 receives an input signal from the input signal generation circuit 100 to the target circuit 110 and an output signal from the flip-flop circuits 113, 114, and 115 inside the digital circuit. The state determination circuit 120 receives a flip-flop circuit 121 for holding the state one clock before, a comparison circuit 122 for comparing the state one clock before and the current state, and an output result from the comparison circuit 122. And a determination circuit 123. The comparison circuit 122 can be configured by, for example, an exclusive logical product circuit (hereinafter referred to as an EX-NOR circuit). When the comparison circuit is configured by the EX-NOR circuit, “1” is output if the state one clock before matches the current state, and “0” is output if they do not match. The determination circuit 123 can be composed of, for example, an AND circuit (hereinafter referred to as an AND circuit). When the determination circuit is configured by an AND circuit, “1” is output if all the output results from the comparison circuit 122 are “1”, and “0” is output if any one is “0”. In the following description, it is assumed that an EX-NOR circuit is used for the comparison circuit and an AND circuit is used for the comparison circuit.
[0020]
FIG. 3 is a timing chart for explaining the operation of the digital circuit verification model configured as described above. At the start of the simulation, the initial setting is always performed so that the input signal to the target circuit 110 and the flip-flop circuits 113, 114, and 115 in the target circuit have fixed values. In order to initialize the flip-flops 113, 114, and 115 in the target circuit, it can be usually initialized by using a reset signal as an input signal to the target circuit 110. By this initial setting, the comparison circuit 122 of the state determination circuit 120 can compare the determined values.
[0021]
If the target circuit 110 is a non-change stable circuit, only the clock signal is changed, and after a certain time has passed, a stable state is obtained in which the state does not change at all. That is, when the state one clock before and the current state are compared, all the signals match, and the comparison results from all the comparison circuits 122 become “1”. The determination result of the determination circuit 123 is also “1”, and the task execution permission prohibition control circuit 102 of the input signal generation circuit 100 permits task execution, whereby task 1 is executed.
[0022]
When the task 1 is executed, the determination result signal of the state determination circuit 120 becomes “0”, and the task execution permission prohibition control circuit 102 waits for the execution of the task 2, that is, prohibits the task execution. If a certain period of time elapses after the task 1 is executed, the stable state remains unchanged, and the determination result signal of the state determination circuit 120 also becomes “1”. The task execution permission prohibition control circuit 102 permits task execution, whereby task 2 is executed.
[0023]
By verifying the execution time of each task and recording the execution time of each task, the verifier can know the time until the unchanged stable state is reached. Since the part that is problematic in terms of time is the period until each task reaches the unchanged stable state, the problem can be solved by creating a simulation pattern that executes the next task within the period until it reaches the unchanged stable state. Can be solved.
[0024]
(Second Embodiment)
Hereinafter, a second embodiment of the present invention will be described with reference to the drawings.
FIG. 4 is a block diagram showing a digital circuit verification model. As shown in FIG. 1, the digital circuit verification model includes a target circuit 410, an input signal generation circuit 100, and a state determination circuit 420. A difference from the digital circuit verification model shown in FIG. 1 is that a time-out for the state determination circuit 420 to finish the state determination within a certain period when the target circuit 410 has a circuit that performs a periodic stable operation. The determination period timeout circuit 424 is provided with a set time.
[0025]
In the first embodiment, when the target circuit 410 includes a circuit that is in a periodically stable state, when the target circuit 410 transitions to the periodically stable state, the flip-flop circuits 413, 414, and 415 in the determination target circuit 410 are included. Any one or more of these is different from the state one clock before. For this reason, the determination result signal is always “0”, and the next task cannot be executed.
[0026]
The determination period timeout circuit 424 includes an up counter, and counts up from “0” after executing the task. When the up counter reaches the maximum value, the determination result signal is set to “1” regardless of the result of the determination circuit 423, and task execution is permitted. The maximum value of the up counter can be represented by 2 N, where N is the number of flip-flop circuits in the target circuit 410. The reason is that when the input signal does not change, the target circuit 410 has only the number of states of the flip-flop circuits in the target circuit, and the flip-flop circuits have two states of “0” or “1”. This is because only 2 N states exist in the target circuit 410 because there are only states. The same condition always occurs while the up-counter is counting 2 N times, resulting in a periodic stable state.
[0027]
FIG. 5 is a timing diagram for explaining the operation of the digital circuit verification model configured as described above. After the initial setting is performed so that the input signal to the target circuit 410 and the flip-flops 413, 414, and 415 in the target circuit have fixed values, the task 1 is executed, and thereby the task execution signal becomes active. In response to the task execution signal, the counter of the determination period timeout circuit 423 in the state determination circuit 420 starts a count operation. In the target circuit 410 that is a periodic stable circuit, the flip-flop circuits 413, 414, and 415 in the target circuit always change, so that one of the comparison circuits 422 in the state determination circuit 420 is always inconsistent. When the determination period timeout circuit 424 counts the maximum value, the timeout signal for one clock becomes active. As a result, the determination result signal becomes “1” regardless of the signal from the comparison circuit 422, and the next task is executed.
[0028]
When the periodic stable state does not occur, the constant change stable state is reached after a certain period of time, so that the comparison result signals from the comparison circuit 422 are all “1”, and the determination result signal of the determination circuit 423 is Since it is “1”, the next task can be executed.
[0029]
By verifying the execution time of each task and recording the execution time of each task, the verifier can know the time until the unchanged stable state is reached. In addition, it is possible to determine which task causes the periodic stable state. The verifier can solve the problem by creating a simulation pattern that performs the next task within the period until the unchanged stable state or the periodic stable state is reached.
[0030]
(Third embodiment)
Hereinafter, a third embodiment of the present invention will be described with reference to the drawings.
FIG. 6 is a block diagram showing a digital circuit verification model. As shown in FIG. 6, the digital circuit verification model includes a target circuit 610, an input signal generation circuit 600, and a state determination circuit 620. Considering the case of having a circuit that performs periodic stable operation similarly to the digital circuit verification model shown in FIG. 4, the difference from the digital circuit verification model shown in FIG. 4 is that the target circuit 610 is periodically stable. When there are a plurality of circuits that perform the operation, the state determination circuit 620 includes a determination period timeout circuit 624 in which a timeout period is set for ending the determination state within a certain period for each circuit that performs the periodically stable operation. It is in.
[0031]
Specifically, in the target circuit 610, flip-flop circuits that are in a periodically stable state are classified into periodic flip-flop circuit groups 613 and 614, and a flip-flop that generates a periodic generation trigger signal indicating the periodic stable state for each classification is generated. Circuits 615 and 616 are also classified. One operation of the periodic flip-flop circuit group does not affect the other periodic flip-flop circuit group.
[0032]
The determination period timeout circuit 624 is preset with a determination period timeout period for each periodic flip-flop circuit group, and counts up from “0” by a period generation trigger signal. When the up counter reaches the set time-out time, the determination result signal is set to “1” regardless of the result of the determination circuit 623, and task execution is permitted.
[0033]
【The invention's effect】
As described above, according to the present invention, the input state of the clock-synchronized digital circuit having the sequential circuit (flip-flop) and the combinational circuit and the output state of the sequential circuit are held, and the digital state is compared with the current state for each. By constructing a digital circuit verification model for determining the internal state of the circuit and inputting a pattern for verifying the digital circuit to the digital circuit at a predetermined timing according to the determination result, the verifier can set the simulation pattern. Since a stable state that becomes a problem that occurs during creation can be recognized, and the timing in the stable state can be removed and a pattern can be input to the target circuit, the target circuit can be reliably verified.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a digital circuit verification model according to a first embodiment of the present invention.
FIG. 2 is a timing chart showing input signals that are basic tasks.
FIG. 3 is a timing chart showing the operation of the digital circuit verification model according to the first embodiment.
FIG. 4 is a configuration diagram showing a digital circuit verification model according to a second embodiment of the present invention.
FIG. 5 is a timing chart showing the operation of the digital circuit verification model according to the second embodiment.
FIG. 6 is a configuration diagram showing a digital circuit verification model according to a third embodiment of the present invention.
[Explanation of symbols]
100, 400, 600 Input signal generation circuit 101, 401, 601 Task 102, 402, 602 Task execution permission prohibition control circuit 103, 403, 603 Clock generation circuit 110, 410, 610 Target circuit 111, 112, 411, 412, 611 , 612 Combinational circuit 113, 114, 115, 413, 414, 415 Flip-flop circuit (internal)
120, 420, 620 State determination circuit 121, 421, 621 Flip-flop circuit (holds state one clock before)
122, 422, 622 Comparison circuit 123, 423, 623 Determination circuit 424, 624 Determination period timeout circuit 613 Period A flip-flop circuit group 614 Period B flip-flop circuit group 615 Period A generation trigger flip-flop circuit 616 Period B generation trigger flip-flop circuit

Claims (3)

順序素子及び組合せ回路部分を有するクロック同期のデジタル回路を検証するためのデジタル回路検証装置において、前記デジタル回路の入力状態及び前記順序素子の出力状態を保持し、それぞれについて現在の状態と比較し前記デジタル回路の内部状態を判定する状態判定回路と、前記状態判定回路の判定結果に応じて前記デジタル回路を検証するためのパターンを所定タイミングで前記デジタル回路に入力する入力信号発生回路と、を具備したことを特徴とするデジタル回路検証装置。In a digital circuit verification apparatus for verifying a clock-synchronized digital circuit having a sequential element and a combinational circuit part , the input state of the digital circuit and the output state of the sequential element are held, and each of them is compared with the current state. A state determination circuit that determines an internal state of the digital circuit; and an input signal generation circuit that inputs a pattern for verifying the digital circuit in accordance with a determination result of the state determination circuit to the digital circuit at a predetermined timing. A digital circuit verification device characterized by that. 前記デジタル回路内に周期的動作を行う回路が1つ存在する場合、前記状態判定回路が状態判定を一定期間内に終了させるためのタイムアウト時間が設定された判定期間タイムアウト回路を有することを特徴とする請求項1に記載のデジタル回路検証装置。 When one circuit that performs a periodic operation exists in the digital circuit, the state determination circuit includes a determination period time-out circuit in which a time-out time is set for ending the state determination within a certain period. The digital circuit verification apparatus according to claim 1. 前記デジタル回路内に周期的動作を行う回路が複数存在する場合、前記状態判定回路が状態判定を一定期間内に終了させるためのタイムアウト時間が各回路毎に設定された判定期間タイムアウト回路を有することを特徴とする請求項1に記載のデジタル回路検証装置。 When there are a plurality of circuits that perform a periodic operation in the digital circuit, the state determination circuit has a determination period timeout circuit in which a timeout period is set for each circuit to finish the state determination within a certain period. The digital circuit verification apparatus according to claim 1.
JP2001035523A 2001-02-13 2001-02-13 Digital circuit verification apparatus and verification method Expired - Fee Related JP3698413B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001035523A JP3698413B2 (en) 2001-02-13 2001-02-13 Digital circuit verification apparatus and verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001035523A JP3698413B2 (en) 2001-02-13 2001-02-13 Digital circuit verification apparatus and verification method

Publications (2)

Publication Number Publication Date
JP2002236713A JP2002236713A (en) 2002-08-23
JP3698413B2 true JP3698413B2 (en) 2005-09-21

Family

ID=18898955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001035523A Expired - Fee Related JP3698413B2 (en) 2001-02-13 2001-02-13 Digital circuit verification apparatus and verification method

Country Status (1)

Country Link
JP (1) JP3698413B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4631493B2 (en) * 2005-03-25 2011-02-16 ヤマハ株式会社 Simulation device

Also Published As

Publication number Publication date
JP2002236713A (en) 2002-08-23

Similar Documents

Publication Publication Date Title
US6077304A (en) Verification system for simulator
CN108780469B (en) Dynamic parameter manipulation of FPGA
US5579510A (en) Method and structure for use in static timing verification of synchronous circuits
WO1999059079A1 (en) System and method for identifying finite state machines and verifying circuit designs
US20150214933A1 (en) Metastability glitch detection
US9954534B2 (en) Methods and circuits for preventing hold time violations
CN112632882A (en) Device and method for verifying arbiter based on formal verification
US7840924B2 (en) Apparatus, method, and program for verifying logic circuit operating with multiple clock signals
JP3698413B2 (en) Digital circuit verification apparatus and verification method
US7139673B1 (en) Method of and circuit for verifying a data transfer protocol
US6598191B1 (en) Verification of asynchronous boundary behavior
Nacif et al. The Chip is Ready. Am I done? On-chip Verification using Assertion Processors.
GB2597475A (en) Methods and systems for verifying a property of an integrated circuit hardware design using quiescent state
US7533011B2 (en) Simulating and verifying signal glitching
JP4316158B2 (en) Formal verification method
US20070258300A1 (en) Functional verification of synchronized signals using random delays
Lu et al. A semi-formal verification methodology
US10230374B1 (en) Methods and circuits for preventing hold violations
Liu Multi-clocked ASIC exploration of verification strategy
JPH05181930A (en) Determination of characteristic of sequential circuit
JP3394888B2 (en) Logic circuit verification device, logic circuit verification method, and computer-readable recording medium storing logic circuit verification program
JP6949440B2 (en) Vector generator and vector generator program
JP3317231B2 (en) Skew verification method
Lundgren et al. Converging SPI_S Designs: An Evaluation of Configurable IP Development
CN120688411A (en) Chip verification method, device, equipment and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100715

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees