JP5691890B2 - Verification device, verification program, and verification method - Google Patents
Verification device, verification program, and verification method Download PDFInfo
- Publication number
- JP5691890B2 JP5691890B2 JP2011148377A JP2011148377A JP5691890B2 JP 5691890 B2 JP5691890 B2 JP 5691890B2 JP 2011148377 A JP2011148377 A JP 2011148377A JP 2011148377 A JP2011148377 A JP 2011148377A JP 5691890 B2 JP5691890 B2 JP 5691890B2
- Authority
- JP
- Japan
- Prior art keywords
- measurement
- assertion
- unit
- verification
- 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.)
- Expired - Fee Related
Links
Images
Description
本件は、検証対象を検証する検証装置、検証プログラム、および、検証方法に関する。 This case relates to a verification apparatus, a verification program, and a verification method for verifying a verification target.
非同期パスを含む回路の検証方法として、非同期パス遅延およびクロックジッターを付与した条件下で、検証対象のシミュレーション(非同期シミュレーションとも称す)を行う方法がある。この方法では、検証のもれを抑制するため、非同期シミュレーション実行時に非同期回路(非同期パスおよび非同期パスの影響を受ける回路)が活性化されていることを確認する必要がある。 As a method for verifying a circuit including an asynchronous path, there is a method of performing a simulation to be verified (also referred to as an asynchronous simulation) under a condition where an asynchronous path delay and clock jitter are added. In this method, it is necessary to confirm that an asynchronous circuit (an asynchronous path and a circuit affected by the asynchronous path) is activated at the time of executing an asynchronous simulation in order to suppress verification leakage.
これを確認する方法としては、非同期シミュレーションを実行する前に、非同期パス遅延およびクロックジッターを含まない条件下で、検証対象のシミュレーションを行い、非同期回路の活性化回数を測定する方法がある。しかし、この方法では、非同期シミュレーションにおいて、非同期パス遅延およびクロックジッターの影響により、非同期回路の活性化回数が、事前に測定した回数から変化してしまう可能性がある。 As a method for confirming this, there is a method of performing a simulation to be verified and measuring the number of times of activation of the asynchronous circuit under a condition that does not include the asynchronous path delay and clock jitter before executing the asynchronous simulation. However, in this method, in the asynchronous simulation, the number of times of activation of the asynchronous circuit may change from the number of times measured in advance due to the influence of asynchronous path delay and clock jitter.
これに対して、非同期シミュレーション実行時の非同期回路の活性化回数を直接測定するため、非同期シミュレーション実行中に、シミュレータのコードカバレッジ機能を用いて、非同期回路の活性化回数を測定する方法がある。 On the other hand, in order to directly measure the number of times of activation of the asynchronous circuit during execution of the asynchronous simulation, there is a method of measuring the number of times of activation of the asynchronous circuit using the code coverage function of the simulator during execution of the asynchronous simulation.
しかしながら、非同期シミュレーション実行中に、シミュレータのコードカバレッジ機能を用いて、非同期回路の活性化回数を測定する方法では、非同期回路だけではなく、回路中の全てのブロックを測定対象としているため、データ量が膨大となり、非同期シミュレーションに係る時間が大幅に増大してしまう可能性がある。 However, in the method of measuring the number of activations of an asynchronous circuit using the code coverage function of the simulator during execution of asynchronous simulation, not only the asynchronous circuit but all blocks in the circuit are measured, so the amount of data May become enormous, and the time for asynchronous simulation may increase significantly.
発明の一観点によれば、以下のような検証装置が提供される。
この検証装置は、論理式で表現した回路データである検証対象から非同期パスの構造タイプを抽出する抽出部と、抽出部が抽出した非同期パスの構造タイプに基づいて、検証対象に対する第1および第2の測定箇所を含む複数の測定箇所を特定する特定部と、特定部が特定した第1および第2の測定箇所間の信号伝播所要サイクル数を検証対象から検出する検出部と、検出部が検出した信号伝播所要サイクル数に基づくタイミングで、特定部が特定した複数の測定箇所の活性化回数を測定する、アサーションを生成するアサーション生成部と、非同期パス遅延およびクロックジッターを付与した条件下で実行される検証対象のシミュレーションの実行中、アサーション生成部が生成したアサーションを用いて、特定部が特定した複数の測定箇所の活性化回数を測定する測定部と、測定部による測定結果を期待値と比較する比較部と、を有する。
According to one aspect of the invention, the following verification device is provided.
The verification apparatus extracts an asynchronous path structure type from a verification target, which is circuit data expressed by a logical expression, and first and second verification targets for the verification target based on the asynchronous path structure type extracted by the extraction unit. A detection unit that detects a plurality of measurement points including two measurement points, a detection unit that detects the number of required cycles of signal propagation between the first and second measurement points specified by the specification unit, and a detection unit; at a timing based on the detected signal propagation required number of cycles, to measure the number of times of activation of a plurality of measurement points in which the identifying unit has identified, and the assertion generating unit that generates an assertion, under the conditions applying asynchronous path delay and clock jitter During the execution of the simulation to be verified executed in step (b), a plurality of measurement points identified by the identification unit are identified using the assertions generated by the assertion generation unit. Having a measurement unit for measuring the number of times of activation, and a comparator for comparing the expected value of the measurement result by the measuring unit.
開示の検証装置によれば、非同期回路の活性化回数を選択的に測定することができ、検証時間を短縮することが可能となる。 According to the disclosed verification apparatus, the number of times of activation of the asynchronous circuit can be selectively measured, and the verification time can be shortened.
以下、実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係る検証装置の一例を示す図である。
Hereinafter, embodiments will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating an example of a verification apparatus according to the first embodiment.
検証装置1は、検証対象2を検証する装置であり、抽出部1aと、特定部1bと、検出部1cと、アサーション生成部1dと、測定部1eと、比較部1fとを有している。
なお、検証対象2は、例えば、LSI(Large Scale Integration)などの集積回路を、レジスタ・トランスファ・レベル(RTL:Resistor Transfer Level)と呼ばれる論理式で表現した回路データである。検証対象2は、複数のクロックドメイン間をまたぐ非同期パスを含んでいる。
The
The
抽出部1aは、検証対象2から非同期パスの構造タイプを抽出する。例えば、非同期パスの構造タイプとしては、2DFF,1DFF、コンビネーション(Combination)、リコンバージェンス、DMUXがある。特定部1bは、抽出部1aが抽出した非同期パスの構造タイプに基づいて、検証対象2に対する測定箇所を特定する。
The
検出部1cは、特定部1bが特定した測定箇所間の信号伝播所要サイクル数を検証対象2から検出する。アサーション生成部1dは、検出部1cが検出した信号伝播所要サイクル数を用いて、特定部1bが特定した測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成する。
The detection unit 1c detects from the
測定部1eは、非同期パス遅延およびクロックジッターを付与した条件下で実行される検証対象2のシミュレーション(非同期シミュレーションとも称す)の実行中、アサーション生成部1dが生成したアサーションを用いて、特定部1bが特定した測定箇所の活性化回数を測定する。比較部1fは、測定部1eによる測定結果を期待値と比較する。
The
次に、検証装置1による検証手順について説明する。
まず、抽出部1aが、検証対象2から、非同期パスの構造タイプを抽出する。
次に、特定部1bが、抽出部1aが抽出した非同期パスの構造タイプに基づいて、検証対象2に対する測定箇所を特定する。
Next, a verification procedure by the
First, the
Next, the specifying unit 1b specifies a measurement location for the
次に、検出部1cが、特定部1bが特定した測定箇所間の信号伝播所要サイクル数を検出する。
次に、アサーション生成部1dが、検出部1cが検出した信号伝播所要サイクル数を用いて、特定部1bが特定した測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成する。
Next, the detection unit 1c detects the required number of signal propagation cycles between the measurement points specified by the specification unit 1b.
Next, the
そして、検証対象2の非同期シミュレーションが実行されると、測定部1eが、非同期シミュレーションの実行中、アサーション生成部1dが生成したアサーションを用いて、特定部1bが特定した測定箇所の活性化回数を測定する。
Then, when the asynchronous simulation of the
次に、比較部1fが、測定部1eによる測定結果を期待値と比較する。このようにして、検証対象2の検証が行われる。
このように、検証装置1は、非同期パスの構造タイプに基づいて検証対象2に対する測定箇所を特定し、特定した測定箇所間の信号伝播所要サイクル数を検出し、さらに、検出した信号伝播所要サイクル数を用いて、特定した測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成する。さらに、検証装置1は、非同期シミュレーションの実行中、生成したアサーションを用いて、特定した測定箇所の活性化回数を測定する。
Next, the
Thus, the
これによれば、非同期回路(非同期パスおよび非同期パスの影響を受ける回路)の活性化回数を選択的に測定することができ、検証時間を短縮することが可能となる。
[第2の実施の形態]
次に、第1の実施の形態の検証装置1をより具体的にした実施の形態を、第2の実施の形態として説明する。
According to this, the number of activations of the asynchronous circuit (the asynchronous path and the circuit affected by the asynchronous path) can be selectively measured, and the verification time can be shortened.
[Second Embodiment]
Next, a more specific embodiment of the
図2は、第2の実施の形態に係る検証装置のハードウェアの一例を示す図である。
検証装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
FIG. 2 is a diagram illustrating an example of hardware of the verification apparatus according to the second embodiment.
The
RAM102は、検証装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
The
バス108に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
Peripheral devices connected to the
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、コンピュータ100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
The
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
A monitor 11 is connected to the
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 12 and a
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
通信インタフェース107は、ネットワーク10に接続されている。通信インタフェース107は、ネットワーク10を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、検証装置100の処理機能を、複数の検証装置によって実現するようにしてもよい。
The processing functions of the second embodiment can be realized by the hardware as described above. Note that the processing function of the
次に、検証装置100の機能について説明する。
図3は、第2の実施の形態に係る検証装置の機能の一例を示す図である。
検証装置100は、検証対象格納部111と、非同期パス抽出部112と、非同期リスト格納部113と、アサーション抽出生成部114と、アサーション生成用リスト格納部114aと、テンプレート格納部114bと、アサーション格納部115とを有している。
Next, functions of the
FIG. 3 is a diagram illustrating an example of a function of the verification apparatus according to the second embodiment.
The
さらに、検証装置100は、シナリオ調整用シミュレーション実行部116と、固定シナリオ格納部117と、回数基準値格納部118と、非同期シミュレーション実行部119と、回数測定結果格納部120と、判定部121と、判定結果リスト格納部122とを有している。
Furthermore, the
検証対象格納部111には、LSIなどの集積回路を、レジスタ・トランスファ・レベルと呼ばれる論理式で表現した回路データが、検証対象として格納されている。検証対象には、非同期パスが含まれている。ここで、検証対象は、DUT(Design Under Test)とも称される。
The verification
非同期パス抽出部112は、検証対象格納部111に格納された検証対象から、非同期パスの信号および非同期パスの構造タイプを抽出して、非同期リストに格納する。非同期リスト格納部113は、非同期リストを格納する。
The asynchronous
アサーション抽出生成部114は、非同期パスの構造タイプに基づいて、検証対象に対する測定箇所を特定する。さらに、アサーション抽出生成部114は、特定した測定箇所間の信号伝播所要サイクル数を検証対象から検出する。
The assertion
そして、アサーション抽出生成部114は、特定した測定箇所および検出した信号伝播所要サイクル数をアサーション生成用リストに格納する。ここで、アサーション生成用リストは、アサーション生成用リスト格納部114aに格納される。
And the assertion extraction production |
さらに、アサーション抽出生成部114は、アサーション生成用リストに格納された測定箇所および信号伝播所要サイクル数を、アサーション生成用のテンプレートに埋め込むことで、特定した測定箇所の活性化回数(信号変化回数)を所定のタイミングで測定するアサーションを生成する。そして、アサーション抽出生成部114は、生成したアサーションを、アサーション格納部115に格納する。
Furthermore, the assertion
なお、アサーションの記述には、例えば、SVA(System Verilog Assertion)、PSL(Property Specification Language)などのアサーション記述言語、または、System Verilog, System C, Verilogなどのテストベンチ記述言語が用いられる。 For the description of the assertion, for example, an assertion description language such as SVA (System Verilog Assertion) or PSL (Property Specification Language) or a test bench description language such as System Verilog, System C, or Verilog is used.
ここで、アサーション生成用のテンプレートは、測定箇所別に用意されている。また、非同期パスの後段がFSM(Finite State Machine)またはカウンタである場合と、そうではない場合とで、それぞれ別に用意されている。アサーション生成用のテンプレートは、テンプレート格納部114bに格納されている。
Here, templates for generating assertions are prepared for each measurement location. In addition, a case where the latter stage of the asynchronous path is an FSM (Finite State Machine) or a counter and a case where it is not so are prepared separately. The template for generating the assertion is stored in the
シナリオ調整用シミュレーション実行部116は、非同期リスト、および、調整用シナリオを用いて、非同期パス遅延およびクロックジッターを付与しない条件下で、検証対象のシミュレーションを実行する。そして、シナリオ調整用シミュレーション実行部116は、シミュレーション結果に基づいて、調整用シナリオを調整してより精度の高い検証が可能な固定シナリオを生成し、生成した固定シナリオを固定シナリオ格納部117に格納する。
The scenario adjustment
また、シナリオ調整用シミュレーション実行部116は、シミュレーション実行中、アサーション格納部115に格納されたアサーションを用いて、アサーション抽出生成部114が特定した測定箇所の活性化回数を測定する。そして、シナリオ調整用シミュレーション実行部116は、測定結果を回数基準値として回数基準値格納部118に格納する。
In addition, the scenario adjustment
非同期シミュレーション実行部119は、非同期リスト、および、固定シナリオ格納部117に格納された固定シナリオを用いて、非同期パス遅延およびクロックジッターをランダムに付与した条件下で、検証対象のシミュレーション(非同期シミュレーションとも称す)を所定回数(例えば、1000回)実行する。
The asynchronous
また、非同期シミュレーション実行部119は、非同期シミュレーション実行中、アサーション格納部115に格納されたアサーションを用いて、アサーション抽出生成部114が特定した測定箇所の活性化回数を測定する。そして、非同期シミュレーション実行部119は、測定結果を回数測定結果として回数測定結果格納部120に格納する。測定結果は、1回の非同期シミュレーションの実行につき、1つ得られるものである。
Further, the asynchronous
判定部121は、回数測定結果格納部120に格納された回数測定結果と、回数基準値格納部118に格納された回数基準値とを比較する。そして、判定部121は、有意な差がある測定箇所がない場合には、回数測定結果を「OK」と判定し、有意な差がある測定箇所がある場合には、回数測定結果を「ERROR」と判定する。そして、判定部121は、判定結果を判定結果リストにリストアップする。判定結果リスト格納部122は、判定結果リストを格納する。
The
次に、非同期リスト格納部113に格納される非同期リストのデータ構造について説明する。
図4は、第2の実施の形態に係る非同期リストの一例を示す図である。
Next, the data structure of the asynchronous list stored in the asynchronous
FIG. 4 is a diagram illustrating an example of the asynchronous list according to the second embodiment.
非同期リスト130には、非同期パス毎に、送信側フリップフロップ(FF:Flip Flop)回路の出力信号131と、送信側フリップフロップ回路のクロック132と、受信側フリップフロップ回路の出力信号133と、受信側フリップフロップ回路のクロック134と、リコンバージェンス(Reconvergence)信号135と、非同期パスの構造タイプ136とが格納されている。
The
非同期パスの構造タイプとしては、2DFF,1DFF、コンビネーション、リコンバージェンス、DMUXがある。ここで、コンビネーションとは、非同期パスの送信側フリップフロップ回路と受信側フリップフロップ回路との間に、組合せ論理回路が接続されている構造である。 As the structure type of the asynchronous path, there are 2DFF, 1DFF, combination, reconvergence, and DMUX. Here, the combination is a structure in which a combinational logic circuit is connected between a transmission-side flip-flop circuit and a reception-side flip-flop circuit in an asynchronous path.
リコンバージェンスとは、複数の非同期パスの出力先が、1つのフリップフロップ回路に収斂している構造である。DMUXは、多ビット信号の非同期パス(データパスとも称す)と、シングルビット信号の非同期パス(制御パスとも称す)の組合せであり、制御パスの受信側フリップフロップ回路が、データパスの受信側フリップフロップ回路の入力の制御に用いられている構造である。 Reconvergence is a structure in which output destinations of a plurality of asynchronous paths are converged on one flip-flop circuit. DMUX is a combination of an asynchronous path (also referred to as a data path) of a multi-bit signal and an asynchronous path (also referred to as a control path) of a single bit signal, and a reception side flip-flop circuit of the control path is a reception side flip-flop of the data path. This is a structure used to control the input of a circuit.
次に、アサーション生成用リスト格納部114aに格納されるアサーション生成用リストのデータ構造について説明する。
図5は、第2の実施の形態に係るアサーション生成用リストの一例を示す図である。
Next, the data structure of the assertion generation list stored in the assertion generation
FIG. 5 is a diagram illustrating an example of an assertion generation list according to the second embodiment.
アサーション生成用リスト140には、非同期パス毎に、測定箇所「A」、「B」、「D」、「E」、「H」を示す信号141〜145と、測定箇所「A」、「B」のクロック146,147と、測定箇所「B−D」間(「D−E」間)の信号伝播所要サイクル数148と、非同期パスの後段がFSMまたはカウンタであることを示すフラグ149とが格納されている。
The
次に、テンプレート格納部114bに格納されるアサーション生成用のテンプレートについて説明する。
図6は、第2の実施の形態に係るアサーション生成用のテンプレートの一例を示す図である。
Next, an assertion generation template stored in the
FIG. 6 is a diagram illustrating an example of an assertion generation template according to the second embodiment.
テンプレート150は、測定箇所「A」および「D」に対応したものである。テンプレート150中の下線部分は、情報の埋め込み欄である。例えば、テンプレート150には、測定箇所が埋め込まれる埋め込み欄151〜153と、信号伝播所要サイクル数が埋め込まれる埋め込み欄154とが含まれている。
The
次に、アサーション格納部115に格納されるアサーションについて説明する。
図7は、第2の実施の形態に係るアサーションの一例を示す図である。
アサーション160は、図6に示したテンプレート150に対応したものである。
Next, the assertion stored in the
FIG. 7 is a diagram illustrating an example of an assertion according to the second embodiment.
The
次に、判定結果リスト格納部122に格納される判定結果リストについて説明する。
図8は、第2の実施の形態に係る判定結果リストの一例を示す図である。
判定結果リスト170には、実施されたシミュレーション毎に、「OK」または「ERROR」の判定結果171が格納されている。
Next, the determination result list stored in the determination result
FIG. 8 is a diagram illustrating an example of a determination result list according to the second embodiment.
The
次に、検証装置100による検証手順について説明する。
図9は、第2の実施の形態に係る検証手順の一例を示すフローチャートである。
[ステップS11]非同期パス抽出部112が、検証対象格納部111に格納された検証対象から、非同期パスの信号および非同期パスの構造タイプを抽出して、非同期リストに格納する。
Next, a verification procedure performed by the
FIG. 9 is a flowchart illustrating an example of a verification procedure according to the second embodiment.
[Step S11] The asynchronous
[ステップS12]アサーション抽出生成部114が、検証対象に対する測定箇所を特定し、特定した測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成し、生成したアサーションをアサーション格納部115に格納する。
[Step S12] The assertion
[ステップS13]シナリオ調整用シミュレーション実行部116が、非同期リスト、および、調整用シナリオを用いて、非同期パス遅延およびクロックジッターを付与しない条件下で、検証対象のシミュレーションを実行する。
[Step S13] The scenario adjustment
そして、シナリオ調整用シミュレーション実行部116は、シミュレーション結果に基づいて、固定シナリオを生成し、生成した固定シナリオを固定シナリオ格納部117に格納する。
Then, the scenario adjustment
また、シナリオ調整用シミュレーション実行部116は、シミュレーション実行中、アサーション格納部115に格納されたアサーションを用いて、アサーション抽出生成部114が特定した測定箇所の活性化回数を測定する。そして、シナリオ調整用シミュレーション実行部116は、測定結果を回数基準値として回数基準値格納部118に格納する。
In addition, the scenario adjustment
[ステップS14]非同期シミュレーション実行部119が、非同期リスト、および、固定シナリオ格納部117に格納された固定シナリオを用いて、非同期シミュレーションを所定回数実行する。
[Step S14] The asynchronous
また、非同期シミュレーション実行部119は、非同期シミュレーション実行中、アサーション格納部115に格納されたアサーションを用いて、アサーション抽出生成部114が特定した測定箇所の活性化回数を測定する。そして、非同期シミュレーション実行部119は、測定結果を回数測定結果として回数測定結果格納部120に格納する。
Further, the asynchronous
[ステップS15]判定部121が、回数測定結果格納部120に格納された回数測定結果と、回数基準値格納部118に格納された回数基準値とを比較する。そして、判定部121は、判定結果を判定結果リストに格納して処理を終了する。
[Step S <b> 15] The
次に、図9のステップS12のアサーション生成手順について詳細に説明する。
図10、図11は、第2の実施の形態に係るアサーション生成手順の一例を示すフローチャートである。まず、図10を用いて説明する。
Next, the assertion generation procedure in step S12 of FIG. 9 will be described in detail.
10 and 11 are flowcharts illustrating an example of an assertion generation procedure according to the second embodiment. First, it demonstrates using FIG.
[ステップS21]アサーション抽出生成部114が、非同期リスト格納部113の非同期リストから非同期パスを1つ選択する。
[ステップS22]アサーション抽出生成部114が、選択した非同期パスに対応する送信側フリップフロップ回路の出力信号を非同期リストから抽出し、測定箇所「A」としてアサーション生成用リストに格納する。
[Step S <b> 21] The assertion
[Step S22] The assertion extraction /
[ステップS23]アサーション抽出生成部114が、選択した非同期パスに対応する受信側フリップフロップ回路の出力信号を非同期リストから抽出し、測定箇所「B」としてアサーション生成用リストに格納する。
[Step S23] The assertion extraction /
[ステップS24]アサーション抽出生成部114が、測定箇所「B」を起点として、出力先信号抽出処理を実行し、終点および起点−終点信号伝播所要サイクル数を検出する。
[Step S24] The assertion extraction /
[ステップS25]アサーション抽出生成部114が、出力先信号抽出処理により検出した終点を、測定箇所「D」としてアサーション生成用リストに格納する。
[ステップS26]アサーション抽出生成部114が、出力先信号抽出処理により検出した起点−終点信号伝播所要サイクル数を、測定箇所「B−D」間の信号伝播所要サイクル数としてアサーション生成用リストに格納する。
[Step S25] The assertion extraction /
[Step S26] The number of required start-end signal propagation cycles detected by the output signal extraction process by the assertion extraction /
[ステップS27]アサーション抽出生成部114が、測定箇所「D」に対して、FSM有無の判定処理を実行する。
[ステップS28]アサーション抽出生成部114が、選択した非同期パスの構造タイプを非同期リストから抽出し、抽出した構造タイプがコンビネーションであるかどうかを判定する。コンビネーションである場合、アサーション抽出生成部114は、処理をステップS29に進める。コンビネーションではない場合、アサーション抽出生成部114は、処理をステップS30に進める。
[Step S <b> 27] The assertion extraction /
[Step S28] The assertion extraction /
[ステップS29]アサーション抽出生成部114が、測定箇所「H」の抽出処理を実行する。
[ステップS30]アサーション抽出生成部114が、測定箇所「D」に対して、リコンバージェンスレジスタ判定処理を実行する。
[Step S29] The assertion extraction /
[Step S30] The assertion extraction /
ここからは、図11を用いて説明を行う。
[ステップS41]アサーション抽出生成部114が、リコンバージェンスレジスタ判定処理の結果、リコンバージェンスレジスタと判定されたかどうかを判定する。リコンバージェンスレジスタと判定された場合、アサーション抽出生成部114は、処理をステップS42に進める。リコンバージェンスレジスタと判定されなかった場合、アサーション抽出生成部114は、処理をステップS46に進める。
From here, it demonstrates using FIG.
[Step S41] The assertion
[ステップS42]アサーション抽出生成部114が、測定箇所「D」を起点として、出力先信号抽出処理を実行し、終点および起点−終点信号伝播所要サイクル数を検出する。
[Step S42] The assertion extraction /
[ステップS43]アサーション抽出生成部114が、出力先信号抽出処理により検出した終点を、測定箇所「E」としてアサーション生成用リストに格納する。
[ステップS44]アサーション抽出生成部114が、出力先信号抽出処理により検出した起点−終点信号伝播所要サイクル数を、測定箇所「D−E」間の信号伝播所要サイクル数としてアサーション生成用リストに格納する。
[Step S43] The assertion extraction /
[Step S44] The number of required start-end signal propagation cycles detected by the output signal extraction process by the assertion extraction /
[ステップS45]アサーション抽出生成部114が、測定箇所「E」に対して、FSM有無の判定処理を実行する。
[ステップS46]アサーション抽出生成部114が、非同期リストから非同期パスを全て選択したかどうかを判定する。全て選択した場合、アサーション抽出生成部114は、処理をステップS47に進める。全て選択していない場合、アサーション抽出生成部114は、処理をステップS21に戻す。
[Step S <b> 45] The assertion extraction /
[Step S46] The assertion
[ステップS47]アサーション抽出生成部114が、アサーション生成用リストに格納された測定箇所および信号伝播所要サイクル数を、テンプレート格納部114bに格納されたアサーション生成用のテンプレートに埋め込むことで、アサーションを生成し、生成したアサーションをアサーション格納部115に格納する。
[Step S47] The assertion extraction /
[ステップS48]アサーション抽出生成部114が、アサーション生成用リストに情報が格納された非同期パスの全てについて、アサーションを生成したかどうかを判定する。非同期パスの全てについてアサーションを生成した場合、アサーション抽出生成部114は、処理を終了する。アサーションを生成していない非同期パスがある場合、アサーション抽出生成部114は、処理をステップS47に戻す。
[Step S48] The assertion extraction /
次に、図10のステップS24および図11のステップS42の出力先信号抽出処理について詳細に説明する。
図12は、第2の実施の形態に係る出力信号抽出処理の一例を示すフローチャートである。
Next, the output destination signal extraction processing in step S24 in FIG. 10 and step S42 in FIG. 11 will be described in detail.
FIG. 12 is a flowchart illustrating an example of an output signal extraction process according to the second embodiment.
[ステップS51]アサーション抽出生成部114が、検証対象を解析し、起点の次段に接続されているフリップフロップ回路および出力端子の出力信号を、終点として検出する。
[Step S51] The assertion extraction /
[ステップS52]アサーション抽出生成部114が、検出した終点の1つを選択する。
[ステップS53]アサーション抽出生成部114が、選択した終点が出力端子の出力信号かどうかを判定する。出力端子の出力信号である場合、アサーション抽出生成部114は、処理をステップS57に進める。出力端子の出力信号ではない場合、アサーション抽出生成部114は、処理をステップS54に進める。
[Step S52] The assertion extraction /
[Step S53] The assertion
[ステップS54]アサーション抽出生成部114が、検証対象を解析し、起点から選択した終点に至る信号経路に接続されている組合せ論理回路を抽出する。
[ステップS55]アサーション抽出生成部114が、起点から選択した終点に至る信号経路に組合せ論理回路が抽出されたかどうかを判定する。組合せ論理回路が抽出された場合、アサーション抽出生成部114は、処理をステップS57に進める。組合せ論理回路が抽出されなかった場合、アサーション抽出生成部114は、処理をステップS56に進める。
[Step S54] The assertion extraction /
[Step S55] The assertion extraction /
[ステップS56]アサーション抽出生成部114が、選択した終点を起点にして、検証対象を解析し、起点の次段に接続されているフリップフロップ回路および出力端子の出力信号を、終点として検出し、処理をステップS52に戻す。
[Step S56] The assertion extraction /
[ステップS57]アサーション抽出生成部114が、検証対象を解析し、起点から選択した終点に至る信号経路に接続されているフリップフロップ回路の数をカウントし、カウント結果を、起点−終点信号伝播所要サイクル数として検出する。
[Step S57] The assertion extraction /
[ステップS58]アサーション抽出生成部114が、検出した全ての終点を選択したかどうかを判定する。全ての終点を選択した場合、アサーション抽出生成部114は、処理を終了する。選択していない終点がある場合、アサーション抽出生成部114は、処理をステップS52に戻す。
[Step S58] The assertion
次に、図10のステップS27および図11のステップS45のFSM有無の判定処理について詳細に説明する。
測定箇所D,Eについては、対応するフリップフロップ回路が、FSMまたはカウンタであるかどうかを判定する必要がある。測定箇所D,Eに対応するフリップフロップ回路がFSMまたはカウンタの場合、非同期パスから出力された信号に起因して、どのステートからどのステートに変化したかが重要である。
Next, the FSM presence / absence determination processing in step S27 in FIG. 10 and step S45 in FIG. 11 will be described in detail.
For measurement points D and E, it is necessary to determine whether the corresponding flip-flop circuit is an FSM or a counter. When the flip-flop circuit corresponding to the measurement points D and E is an FSM or a counter, it is important which state is changed from which state due to the signal output from the asynchronous path.
それは、どのステートをとるかによって、後段の動作する回路が異なってくるため、ただ「何らかの変化をした」という見方ではなく、「○○ステートから△△ステートへ変化した」という見方をしないと、意図した動作が発生したのか把握できないためである。なお、カウンタはFSMの一種として扱うことができる。 The circuit that operates in the subsequent stage differs depending on which state is taken, so it is not just a view that "changed something", but a view that "changed from XX state to △△ state" This is because it is impossible to grasp whether the intended operation has occurred. The counter can be handled as a kind of FSM.
図13は、第2の実施の形態に係るFSM有無の判定処理の一例を示すフローチャートである。
[ステップS61]アサーション抽出生成部114が、測定箇所の1つを選択する。
FIG. 13 is a flowchart illustrating an example of the FSM presence / absence determination process according to the second embodiment.
[Step S61] The assertion extraction /
[ステップS62]アサーション抽出生成部114が、選択した測定箇所の信号ビット幅を、検証対象から抽出する。
[ステップS63]アサーション抽出生成部114が、抽出した信号ビット幅が2以上であるかどうかを判定する。信号ビット幅が2以上である場合、アサーション抽出生成部114は、処理をステップS64に進める。信号ビット幅が2以上ではない場合、アサーション抽出生成部114は、処理をステップS68に進める。
[Step S62] The assertion extraction /
[Step S63] The
[ステップS64]アサーション抽出生成部114が、検証対象を解析し、選択した測定箇所の次段に接続されているフリップフロップ回路の出力信号を抽出する。
[ステップS65]アサーション抽出生成部114が、抽出した出力信号に、選択した測定箇所が含まれているかどうかを判定する。選択した測定箇所が含まれている場合、アサーション抽出生成部114は、処理をステップS66に進める。選択した測定箇所が含まれていない場合、アサーション抽出生成部114は、処理をステップS68に進める。
[Step S64] The
[Step S65] The assertion extraction /
[ステップS66]アサーション抽出生成部114が、選択した測定箇所に対応するフリップフロップ回路は、FSMであると判定する。
[ステップS67]アサーション抽出生成部114が、アサーション生成用リストに、非同期パスの後段がFSMまたはカウンタであることを示すフラグとして「True」を格納する。
[Step S66] The assertion extraction /
[Step S67] The assertion extraction /
[ステップS68]アサーション抽出生成部114が、選択した測定箇所に対応するフリップフロップ回路は、FSMではないと判定する。
[ステップS69]アサーション抽出生成部114が、アサーション生成用リストに、非同期パスの後段がFSMまたはカウンタではないことを示すフラグとして「False」を格納する。
[Step S68] The assertion extraction /
[Step S69] The assertion extraction /
[ステップS70]アサーション抽出生成部114が、全ての測定箇所を選択したかどうかを判定する。全ての測定箇所を選択した場合、アサーション抽出生成部114は、処理を終了する。選択していない測定箇所がある場合、アサーション抽出生成部114は、処理をステップS61に戻す。
[Step S70] The assertion
次に、図10のステップS29の測定箇所「H」の抽出処理について詳細に説明する。
図14は、第2の実施の形態に係る測定箇所の抽出処理の一例を示すフローチャートである。
Next, the measurement point “H” extraction process in step S29 of FIG. 10 will be described in detail.
FIG. 14 is a flowchart illustrating an example of the measurement location extraction processing according to the second embodiment.
[ステップS81]アサーション抽出生成部114が、検証対象を解析し、測定箇所「A」と測定箇所「B」との間に接続されている組合せ論理回路の入力信号を抽出する。
[ステップS82]アサーション抽出生成部114が、抽出した入力信号の1つを選択する。
[Step S81] The assertion extraction /
[Step S82] The
[ステップS83]アサーション抽出生成部114が、選択した入力信号が測定箇所「A」であるかどうかを判定する。測定箇所「A」である場合、アサーション抽出生成部114は、処理をステップS88に進める。測定箇所「A」ではない場合、アサーション抽出生成部114は、処理をステップS84に進める。
[Step S83] The
[ステップS84]アサーション抽出生成部114が、選択した入力信号が、フリップフロップ回路または入力端子の出力信号であるかどうかを判定する。フリップフロップ回路または入力端子の出力信号である場合、アサーション抽出生成部114は、処理をステップS85に進める。フリップフロップ回路または入力端子の出力信号ではない場合、アサーション抽出生成部114は、処理をステップS86に進める。
[Step S84] The assertion
[ステップS85]アサーション抽出生成部114が、選択した入力信号を、測定箇所「H」として、アサーション生成用リストに格納する。
[ステップS86]アサーション抽出生成部114が、検証対象を解析し、選択した入力信号の前段に接続されているフリップフロップ回路および入力端子の出力信号を抽出する。
[Step S85] The assertion extraction /
[Step S86] The assertion extraction /
[ステップS87]アサーション抽出生成部114が、抽出したフリップフロップ回路および入力端子の出力信号を測定箇所「H」として、アサーション生成用リストに格納する。
[Step S87] The assertion
[ステップS88]アサーション抽出生成部114が、全ての入力信号を選択したかどうかを判定する。全ての入力信号を選択した場合、アサーション抽出生成部114は、処理を終了する。選択していない入力信号がある場合、アサーション抽出生成部114は、処理をステップS82に戻す。
[Step S88] The
次に、図10のステップS30のリコンバージェンスレジスタ判定処理について詳細に説明する。
図15は、第2の実施の形態に係るリコンバージェンスレジスタ判定処理の一例を示すフローチャートである。
Next, the reconvergence register determination process in step S30 of FIG. 10 will be described in detail.
FIG. 15 is a flowchart illustrating an example of the reconvergence register determination process according to the second embodiment.
[ステップS91]アサーション抽出生成部114が、測定箇所「D」の1つを選択する。
[ステップS92]アサーション抽出生成部114が、検証対象を解析し、測定箇所「D」に対応するフリップフロップ回路の前段に接続されているフリップフロップ回路および入力端子の出力信号を抽出する。
[Step S91] The
[Step S92] The assertion extraction /
[ステップS93]アサーション抽出生成部114が、抽出した出力信号と一致する受信側フリップフロップ回路の出力信号があるかどうか、非同期リストを検索する。
[ステップS94]非同期リストを検索した結果、一致する受信側フリップフロップ回路の出力信号が存在した場合、アサーション抽出生成部114は、処理をステップS95に進める。一致するリコンバージェンス信号が存在しなかった場合、アサーション抽出生成部114は、処理をステップS96に進める。
[Step S93] The assertion extraction /
[Step S94] As a result of searching the asynchronous list, if there is a matching output signal from the flip-flop circuit on the receiving side, the
[ステップS95]アサーション抽出生成部114が、選択した測定箇所「D」に対応するフリップフロップ回路を、リコンバージェンスレジスタと判定する。
[ステップS96]アサーション抽出生成部114が、全ての測定箇所「D」を選択したかどうかを判定する。全ての測定箇所「D」を選択した場合、アサーション抽出生成部114は、処理を終了する。選択していない測定箇所「D」がある場合、アサーション抽出生成部114は、処理をステップS91に戻す。
[Step S95] The assertion extraction /
[Step S96] The assertion extraction /
次に、図9のステップS15の判定の手順について詳細に説明する。
図16は、第2の実施の形態に係る判定の手順の一例を示すフローチャートである。
[ステップS101]判定部121が、回数測定結果格納部120に格納された回数測定結果の1つを選択する。
Next, the determination procedure in step S15 in FIG. 9 will be described in detail.
FIG. 16 is a flowchart illustrating an example of a determination procedure according to the second embodiment.
[Step S <b> 101] The
[ステップS102]判定部121が、選択した回数測定結果を、回数基準値格納部118に格納された回数基準値と、「t」検定などの統計処理を用いて比較する。
[ステップS103]判定部121が、回数測定結果を回数基準値と比較した結果、有意な差を含む測定箇所があるかどうかを判定する。有意な差を含む測定箇所がある場合、判定部121は、処理をステップS105に進める。有意な差を含む測定箇所が全くない場合、判定部121は、処理をステップS104に進める。
[Step S102] The
[Step S103] As a result of comparing the number measurement result with the number reference value, the
[ステップS104]判定部121が、判定結果リストに、判定結果として「OK」を格納する。
[ステップS105]判定部121が、判定結果リストに、判定結果として「ERROR」を格納する。
[Step S104] The
[Step S105] The
[ステップS106]判定部121が、回数測定結果格納部120に格納された全ての回数測定結果を選択したかどうかを判定する。全ての回数測定結果を選択した場合、判定部121は、処理を終了する。選択していない回数測定結果がある場合、判定部121は、処理をステップS101に戻す。
[Step S <b> 106] The
次に、アサーション抽出生成部114が特定する検証対象に対する測定箇所について、具体例1〜5を用いて説明する。
図17は、第2の実施の形態に係る具体例1の回路ブロックを示す図である。
Next, measurement points for the verification target specified by the assertion extraction /
FIG. 17 is a diagram illustrating a circuit block of specific example 1 according to the second embodiment.
回路ブロック210は、2DFFまたは1DFFの構造タイプを備える非同期パスを含む回路ブロックである。回路ブロック210は、異なるクロックドメインに属する、送信側フリップフロップ回路(sig0_s)と、受信側フリップフロップ回路(sig0_d)とを有している。
The
受信側フリップフロップ回路(sig0_d)の後段には、組合せ論理回路211を介してフリップフロップ回路(sig0_d_1)が接続されている。さらに、受信側フリップフロップ回路(sig0_d)の後段には、組合せ論理回路212を介してフリップフロップ回路(sig0_d_2)が接続されている。
The flip-flop circuit (sig0_d_1) is connected to the subsequent stage of the reception-side flip-flop circuit (sig0_d) via the
さらに、受信側フリップフロップ回路(sig0_d)の後段には、組合せ論理回路を介さずにフリップフロップ回路(sig0_d_3)が接続されている。フリップフロップ回路(sig0_d_3)の後段には、組合せ論理回路213を介してフリップフロップ回路(sig0_d_4)が接続されている。
Further, the flip-flop circuit (sig0_d_3) is connected to the subsequent stage of the reception-side flip-flop circuit (sig0_d) without passing through the combinational logic circuit. A flip-flop circuit (sig0_d_4) is connected to the subsequent stage of the flip-flop circuit (sig0_d_3) through a
回路ブロック210では、送信側フリップフロップ回路(sig0_s)の出力信号214が測定箇所「A」とされ、受信側フリップフロップ回路(sig0_d)の出力信号215が測定箇所「B」とされる。さらに、回路ブロック210では、フリップフロップ回路(sig0_d_1)、(sig0_d_2)、(sig0_d_4)の出力信号216〜218が測定箇所「D」とされる。
In the
また、出力信号216における測定箇所「B−D」間の信号伝播所要サイクル数は、「1」であり、出力信号217における測定箇所「B−D」間の信号伝播所要サイクル数は、「1」であり、出力信号218における測定箇所「B−D」間の信号伝播所要サイクル数は、「2」である。
Further, the required number of signal propagation cycles between measurement points “BD” in the
なお、回路ブロック210は、DMUXを構成しないマルチビット信号も含む。この場合、測定箇所「A」は、ビット毎に分割して定義される。
図18は、第2の実施の形態に係る具体例2の回路ブロックを示す図である。
Note that the
FIG. 18 is a diagram illustrating a circuit block of a specific example 2 according to the second embodiment.
回路ブロック220は、コンビネーションの構造タイプを備える非同期パスを含む回路ブロックである。回路ブロック220は、異なるクロックドメインに属する、送信側フリップフロップ回路(sig1_s)と、受信側フリップフロップ回路(sig1_d)とを有している。
The
送信側フリップフロップ回路(sig1_s)と受信側フリップフロップ回路(sig1_d)との間には、組合せ論理回路221が接続されている。組合せ論理回路221の前段には、送信側フリップフロップ回路(sig1_s)とは異なるクロックドメインに属するフリップフロップ回路(comb1)、(comb2)が接続されている。
A
受信側フリップフロップ回路(sig1_d)の後段には、組合せ論理回路222を介してフリップフロップ回路(sig1_d_1)が接続されている。さらに、受信側フリップフロップ回路(sig1_d)の後段には、組合せ論理回路223を介してフリップフロップ回路(sig1_d_2)が接続されている。
The flip-flop circuit (sig1_d_1) is connected to the subsequent stage of the reception-side flip-flop circuit (sig1_d) via the
さらに、受信側フリップフロップ回路(sig1_d)の後段には、組合せ論理回路を介さずにフリップフロップ回路(sig1_d_3)が接続されている。フリップフロップ回路(sig1_d_3)の後段には、組合せ論理回路224を介してフリップフロップ回路(sig1_d_4)が接続されている。
Further, the flip-flop circuit (sig1_d_3) is connected to the subsequent stage of the reception-side flip-flop circuit (sig1_d) without passing through the combinational logic circuit. A flip-flop circuit (sig1_d_4) is connected to the subsequent stage of the flip-flop circuit (sig1_d_3) through a
回路ブロック220では、送信側フリップフロップ回路(sig1_s)の出力信号225が測定箇所「A」とされ、受信側フリップフロップ回路(sig1_d)の出力信号226が測定箇所「B」とされる。さらに、フリップフロップ回路(sig1_d_1)、(sig1_d_2)、(sig1_d_4)の出力信号227〜229が測定箇所「D」とされる。さらに、フリップフロップ回路(comb1)、(comb2)の出力信号230,231が測定箇所「H」とされる。
In the
また、出力信号227における測定箇所「B−D」間の信号伝播所要サイクル数は、「1」であり、出力信号228における測定箇所「B−D」間の信号伝播所要サイクル数は、「1」であり、出力信号229における測定箇所「B−D」間の信号伝播所要サイクル数は、「2」である。
Further, the required number of signal propagation cycles between the measurement points “BD” in the
なお、回路ブロック220では、アサーションの生成において、測定箇所「H」の変化も含めてカバーアサーションを生成する。
図19は、第2の実施の形態に係る具体例3の回路ブロックを示す図である。
In the
FIG. 19 is a diagram illustrating a circuit block of a specific example 3 according to the second embodiment.
回路ブロック240は、リコンバージェンスの構造タイプを備える非同期パスを含む回路ブロックである。回路ブロック240は、異なるクロックドメインに属する、送信側フリップフロップ回路(sig2_s)と、受信側フリップフロップ回路(sig2_d)とを有している。
The
さらに、受信側フリップフロップ回路(sig2_d)の後段には、組合せ論理回路241を介してフリップフロップ回路(sig4)が接続されている。組合せ論理回路241の前段には、他の非同期パスの受信側フリップフロップ回路(sig3_d)および送信側フリップフロップ回路(sig3_s)が接続されている。
Further, the flip-flop circuit (sig4) is connected to the subsequent stage of the reception-side flip-flop circuit (sig2_d) via the
さらに、フリップフロップ回路(sig4)の後段には、組合せ論理回路242を介してフリップフロップ回路(sig4_d_1)が接続されている。さらに、フリップフロップ回路(sig4)の後段には、組合せ論理回路243を介してフリップフロップ回路(sig4_d_2)が接続されている。
Further, a flip-flop circuit (sig4_d_1) is connected to the subsequent stage of the flip-flop circuit (sig4) through a
さらに、フリップフロップ回路(sig4)の後段には、組合せ論理回路を介さずにフリップフロップ回路(sig4_d_3)が接続されている。フリップフロップ回路(sig4_d_3)の後段には、組合せ論理回路244を介してフリップフロップ回路(sig4_d_4)が接続されている。
Further, the flip-flop circuit (sig4_d_3) is connected to the subsequent stage of the flip-flop circuit (sig4) without passing through the combinational logic circuit. A flip-flop circuit (sig4_d_4) is connected to the subsequent stage of the flip-flop circuit (sig4_d_3) through a
回路ブロック240では、フリップフロップ回路(sig4)が、リコンバージェンスレジスタとされる。さらに、回路ブロック240では、送信側フリップフロップ回路(sig2_s)、(sig3_s)の出力信号245,246が測定箇所「A」とされ、受信側フリップフロップ回路(sig2_d),(sig3_d)の出力信号247,248が測定箇所「B」とされる。
In the
さらに、フリップフロップ回路(sig4)の出力信号249が測定箇所「D」とされる。さらに、フリップフロップ回路(sig4_d_1)、(sig4_d_2)、(sig4_d_4)の出力信号250〜252が測定箇所「E」とされる。
Further, the
また、出力信号250における測定箇所「D−E」間の信号伝播所要サイクル数は、「1」であり、出力信号251における測定箇所「D−E」間の信号伝播所要サイクル数は、「1」であり、出力信号252における測定箇所「D−E」間の信号伝播所要サイクル数は、「2」である。
Further, the required number of signal propagation cycles between the measurement points “DE” in the
図20は、第2の実施の形態に係る具体例4の回路ブロックを示す図である。
回路ブロック260は、DMUXの構造タイプを備える非同期パスを含む回路ブロックである。回路ブロック260は、多ビット信号の非同期パスに含まれる、異なるクロックドメインに属する、送信側フリップフロップ回路(data_s)と、受信側フリップフロップ回路(data_d)とを有している。
FIG. 20 is a diagram illustrating a circuit block of a specific example 4 according to the second embodiment.
The
さらに、回路ブロック260は、シングルビット信号の非同期パスに含まれる、異なるクロックドメインに属する、送信側フリップフロップ回路(ctrl_s)と、受信側フリップフロップ回路(ctrl_d)とを有している。受信側フリップフロップ回路(ctrl_d)は、受信側フリップフロップ回路(data_d)の入力の制御に用いられている。
Further, the
受信側フリップフロップ回路(data_d)の後段には、組合せ論理回路261を介してフリップフロップ回路(data_d_1)が接続されている。受信側フリップフロップ回路(ctrl_d)の後段には、フリップフロップ回路(ctrl_d_1)が接続されている。さらに、フリップフロップ回路(ctrl_d_1)の後段には、組合せ論理回路262を介してフリップフロップ回路(ctrl_d_2)が接続されている。
A flip-flop circuit (data_d_1) is connected to the subsequent stage of the reception-side flip-flop circuit (data_d) through a
回路ブロック260では、送信側フリップフロップ回路(data_s)、(ctrl_s)の出力信号263,264が測定箇所「A」とされる。さらに、受信側フリップフロップ回路(data_d)、(ctrl_d)の出力信号265,266が測定箇所「B」とされる。また、出力信号265は、測定箇所「D」ともされる。さらに、フリップフロップ回路(data_d_1)、(ctrl_d_2)の出力信号267,268が測定箇所「D」とされる。
In the
また、出力信号265における測定箇所「B−D」間の信号伝播所要サイクル数は、「1」であり、出力信号267における測定箇所「B−D」間の信号伝播所要サイクル数は、「1」であり、出力信号268における測定箇所「B−D」間の信号伝播所要サイクル数は、「2」である。
Further, the required number of signal propagation cycles between the measurement points “BD” in the
図21は、第2の実施の形態に係る具体例5の回路ブロックを示す図である。
回路ブロック270は、異なるクロックドメインに属する、送信側フリップフロップ回路(sig5_s)と、受信側フリップフロップ回路(sig5_d)とを有している。さらに、受信側フリップフロップ回路(sig5_d)の後段には、組合せ論理回路271を介してフリップフロップ回路(sig5_d_1)が接続されている。フリップフロップ回路(sig5_d_1)の出力信号274は多ビット信号であり、組合せ論理回路271を経由して、フリップフロップ回路(sig5_d_1)に再び入力されている。
FIG. 21 is a diagram illustrating a circuit block of a specific example 5 according to the second embodiment.
The
回路ブロック270では、送信側フリップフロップ回路(sig5_s)の出力信号272が測定箇所「A」とされ、受信側フリップフロップ回路(sig5_d)の出力信号273が測定箇所「B」とされる。さらに、回路ブロック270では、フリップフロップ回路(sig5_d_1)の出力信号274が測定箇所「D」とされる。また、測定箇所「D」は、FSMであるとされる。
In the
以上説明してきたように、検証装置100は、非同期パスの構造タイプに基づいて検証対象に対する測定箇所を特定し、特定した測定箇所間の信号伝播所要サイクル数を検出する。さらに、検出した信号伝播所要サイクル数を用いて、特定した測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成する。検証装置100は、非同期シミュレーションの実行中、生成したアサーションを用いて、特定した測定箇所の活性化回数を測定する。
As described above, the
これによれば、非同期回路の活性化回数を選択的に測定することができ、検証時間を短縮することが可能となる。
さらに、検証装置100は、測定箇所別に用意されたアサーション生成用のテンプレートに、特定した測定箇所および検出した信号伝播所要サイクル数を埋め込むことで、測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成する。
According to this, the number of times of activation of the asynchronous circuit can be selectively measured, and the verification time can be shortened.
Furthermore, the
これによれば、測定箇所に応じたテンプレートを選択することでアサーションを生成することができるため、複雑な処理を施すことなくアサーションを生成することが可能となる。 According to this, since an assertion can be generated by selecting a template corresponding to a measurement location, it is possible to generate an assertion without performing complicated processing.
さらに、検証装置100は、回数測定結果を、統計処理を用いて回数基準値と比較する。これによれば、判定の精度を向上させることが可能となる。
すなわち、非同期シミュレーション中、非同期パス遅延およびクロックジッターの影響で、パスの変化回数が多少変化する(ゆらぐ)ことがあるが、シナリオの意図から外れた動作になっていない場合もある。ここで、シナリオの意図から外れるとは、シミュレーションで動かすつもりであった機能が、動かなかったことを指す。
Furthermore, the
That is, during the asynchronous simulation, the number of path changes may slightly change (fluctuate) due to the influence of the asynchronous path delay and clock jitter, but the operation may not be out of the scenario. Here, deviating from the intention of the scenario means that the function that was intended to move in the simulation did not move.
回数測定結果を回数基準値と単純に一致比較する方法では、このようなシナリオの意図から外れた動作になっていない場合であっても、パスの変化回数が多少変化していれば、「ERROR」と判定されてしまう。しかしながら、検証装置100では、回数測定結果を統計処理を用いて回数基準値と比較するので、パスの変化回数が多少変化していても、シナリオの意図から外れた動作になっていない場合には、「OK」と判定することが可能となる。
In the method of simply comparing the number measurement result with the number reference value, even if the operation is not deviated from the intention of such a scenario, if the number of times the path changes slightly changes, “ERROR”. Is determined. However, since the
[第3の実施の形態]
次に、第1の実施の形態の検証装置1をより具体的にした他の実施の形態を、第3の実施の形態として説明する。
[Third Embodiment]
Next, another embodiment in which the
図22は、第3の実施の形態に係る検証装置の機能の一例を示す図である。
検証装置100aは、第1の実施の形態の検証装置100に対して、シナリオ調整用シミュレーション実行部116、固定シナリオ格納部117、回数基準値格納部118、判定部121、判定結果リスト格納部122を削除し、回数目標値設定部180、ランダムシナリオ格納部181、回数目標値格納部182、シナリオ網羅性チェック部183、グループ平均値格納部184、網羅性判定結果リスト格納部185を追加したものに相当する。
FIG. 22 is a diagram illustrating an example of functions of the verification apparatus according to the third embodiment.
The
回数目標値設定部180は、アサーション抽出生成部114が特定した測定箇所に対して、回数目標値を設定し、回数目標値格納部182に格納する。回数目標値は、非同期シミュレーションにおいて期待する最低限の変化回数である。回数目標値は、例えば、「1回」と設定される。また、回数目標値は、外部から設定することもできる。
The number-of-times target
ランダムシナリオ181には、ランダムシナリオが格納されている。非同期シミュレーション実行部119は、このランダムシナリオを用いて、検証対象の非同期シミュレーションを実行する。
The
シナリオ網羅性チェック部183は、回数測定結果格納部120に格納された回数測定結果を、活性化回数に基づいて複数のグループに分類し、各グループの回数測定結果の平均値を、回数目標値182に格納された回数目標値と比較する。各グループの回数測定結果の平均値は、グループ平均値格納部184に格納される。
The scenario
そして、シナリオ網羅性チェック部183は、測定箇所のそれぞれについて、複数のグループのうち少なくとも1つのグループの回数測定結果の平均値が、回数目標値を満たしているかどうかを判定する。さらに、シナリオ網羅性チェック部183は、判定結果を網羅性判定結果リストに格納する。網羅性判定結果リストは、網羅性判定結果リスト格納部185に格納される。
Then, the scenario
なお、検証装置100aの処理機能は、図2に示したハードウェアにより実現することができる。
次に、網羅性判定結果リストのデータ構造について説明する。
The processing function of the
Next, the data structure of the comprehensiveness determination result list will be described.
図23は、第3の実施の形態に係る網羅性判定結果リストの一例を示す図である。
網羅性判定結果リスト280には、非同期パス毎に、測定箇所「B」、「D」、「E」を示す信号281〜283と、測定箇所「B」のクロック284と、非同期パスの後段がFSMまたはカウンタであることを示すフラグ285と、FSMまたはカウンタの遷移状態286とが格納されている。
FIG. 23 is a diagram illustrating an example of a completeness determination result list according to the third embodiment.
In the comprehensiveness
さらに、網羅性判定結果リスト280には、各測定箇所に対して、回数目標値287と、各グループの回数測定結果の平均値288,289と、各グループの判定結果290,291と、全グループの判定結果をマージした判定結果292とが格納されている。なお、図中の「ERR」は、「ERROR」を意図する。
Further, the comprehensiveness
次に、シナリオ網羅性チェック部183による判定手順について説明する。
図24、図25は、第3の実施の形態に係る判定手順の一例を示すフローチャートである。まず、図24を用いて説明を行う。
Next, the determination procedure by the scenario
24 and 25 are flowcharts illustrating an example of a determination procedure according to the third embodiment. First, description will be made with reference to FIG.
[ステップS111]シナリオ網羅性チェック部183が、回数測定結果格納部120から、回数測定結果の1つを選択する。
[ステップS112]シナリオ網羅性チェック部183が、N(作成済みグループ数)が、「0」であるかどうかを判定する。「0」である場合、シナリオ網羅性チェック部183は、処理をステップS113に進める。「0」ではない場合、シナリオ網羅性チェック部183は、処理をステップS114に進める。
[Step S <b> 111] The scenario
[Step S112] The scenario
[ステップS113]シナリオ網羅性チェック部183が、選択した回数測定結果を、グループ「1」の平均値とする。
[ステップS114]シナリオ網羅性チェック部183が、n(グループ番号)を「1」とする。
[Step S113] The scenario
[Step S114] The scenario
[ステップS115]シナリオ網羅性チェック部183が、選択した回数測定結果を、測定箇所毎に、グループnの平均値と比較する。比較には、例えば、t検討などの統計処理が用いられる。
[Step S115] The scenario
[ステップS116]選択した回数測定結果をグループnの平均値と比較した結果、有意な差がある測定箇所がある場合、シナリオ網羅性チェック部183は、処理をステップS118に進める。有意な差がある測定箇所が全くない場合、シナリオ網羅性チェック部183は、処理をステップS117に進める。
[Step S116] As a result of comparing the selected count measurement result with the average value of group n, if there is a measurement location with a significant difference, the scenario
[ステップS117]シナリオ網羅性チェック部183が、選択した回数測定結果をグループnの回数測定結果に加えた上で、グループnの回数測定結果の平均値を算出し、算出した平均値を、グループnの平均値とする。
[Step S117] The scenario
[ステップS118]シナリオ網羅性チェック部183が、nがNであるかどうかを判定する。Nである場合、シナリオ網羅性チェック部183は、処理をステップS120に進める。Nではない場合、シナリオ網羅性チェック部183は、処理をステップS119に進める。
[Step S118] The scenario
[ステップS119]シナリオ網羅性チェック部183が、nを「n+1」として、処理をステップS115に戻す。
[ステップS120]シナリオ網羅性チェック部183が、選択した回数測定結果を、グループ「N+1」の平均値とする。
[Step S119] The scenario
[Step S120] The scenario
[ステップS121]シナリオ網羅性チェック部183が、回数測定結果を全て選択したかどうかを判定する。全て選択した場合、シナリオ網羅性チェック部183は、処理をステップS131に進める。選択していない回数測定結果がある場合、シナリオ網羅性チェック部183は、処理をステップS111に戻す。
[Step S121] The scenario
ここからは、図25を用いて説明を進める。
[ステップS131]シナリオ網羅性チェック部183が、nを「1」とする。
[ステップS132]シナリオ網羅性チェック部183が、グループnの回数測定結果の平均値を、測定箇所毎に、回数目標値以上であるかを比較する。
From here, description will be given with reference to FIG.
[Step S131] The scenario
[Step S132] The scenario
[ステップS133]シナリオ網羅性チェック部183が、nがNであるかどうかを判定する。Nである場合、シナリオ網羅性チェック部183は、処理をステップS135に進める。Nではない場合、シナリオ網羅性チェック部183は、処理をステップS134に進める。
[Step S133] The scenario
[ステップS134]シナリオ網羅性チェック部183が、nを「n+1」として、処理をステップS132に戻す。
[ステップS135]シナリオ網羅性チェック部183が、測定箇所のそれぞれについて、複数のグループのうち少なくとも1つのグループの回数測定結果の平均値が、回数目標値以上であるかどうかを判定して処理を終了する。
[Step S134] The scenario
[Step S135] The scenario
以上説明してきたように、検証装置100aでは、回数測定結果を複数のグループに分類し、測定箇所のそれぞれに対して、複数のグループのうち少なくとも1つのグループの回数測定結果の平均値が、回数目標値以上であるかどうかを判定する。これによれば、測定箇所が活性されたかどうかを網羅的にチェックすることが可能となる。
As described above, the
また、検証装置100aは、第2の実施の形態の検証装置100と同様に、非同期回路の活性化回数を選択的に測定することができ、検証時間を短縮することが可能となる。また、検証装置100aは、測定箇所に応じたテンプレートを選択することでアサーションを生成することができるため、複雑な処理を施すことなくアサーションを生成することが可能となる。
In addition, the
なお、第1〜第3の実施の形態の上記の処理機能は、コンピュータによって実現することができる。その場合、検証装置1,100,100aが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
Note that the processing functions of the first to third embodiments can be realized by a computer. In that case, a program describing the processing contents of the functions that the
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。 The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。 In addition, at least a part of the above processing functions can be realized by an electronic circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device).
以上説明した第1〜第3の実施の形態を含む実施の形態に関し、さらに以下の付記を開示する。
(付記1) 検証対象から非同期パスの構造タイプを抽出する抽出部と、
前記抽出部が抽出した非同期パスの構造タイプに基づいて、前記検証対象に対する第1および第2の測定箇所を含む複数の測定箇所を特定する特定部と、
前記特定部が特定した前記第1および第2の測定箇所間の信号伝播所要サイクル数を前記検証対象から検出する検出部と、
前記検出部が検出した信号伝播所要サイクル数を用いて、前記特定部が特定した前記複数の測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成するアサーション生成部と、
非同期パス遅延およびクロックジッターを付与した条件下で実行される前記検証対象のシミュレーションの実行中、前記アサーション生成部が生成したアサーションを用いて、前記特定部が特定した前記複数の測定箇所の活性化回数を測定する測定部と、
前記測定部による測定結果を期待値と比較する比較部と、
を有することを特徴とする検証装置。
The following additional notes are further disclosed with respect to the embodiments including the first to third embodiments described above.
(Supplementary Note 1) An extraction unit that extracts the structure type of the asynchronous path from the verification target;
Based on the structure type of the asynchronous path extracted by the extraction unit, a specifying unit that specifies a plurality of measurement locations including the first and second measurement locations for the verification target;
A detection unit for detecting the number of required signal propagation cycles between the first and second measurement points specified by the specifying unit from the verification target;
Using the number of required signal propagation cycles detected by the detection unit, an assertion generation unit for generating an assertion for measuring the number of times of activation of the plurality of measurement locations specified by the specification unit at a predetermined timing;
Activation of the plurality of measurement points specified by the specification unit using the assertion generated by the assertion generation unit during execution of the simulation to be verified, which is executed under the condition of providing asynchronous path delay and clock jitter A measuring unit for measuring the number of times;
A comparison unit for comparing a measurement result by the measurement unit with an expected value;
The verification apparatus characterized by having.
(付記2) 前記アサーション生成部は、測定箇所別に用意されたアサーション生成用のテンプレートに、前記特定部が特定した前記複数の測定箇所および前記検出部が検出した信号伝播所要サイクル数を埋め込むことで、前記特定部が特定した前記複数の測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成する、
ことを特徴とする付記1記載の検証装置。
(Additional remark 2) The said assertion production | generation part embeds the signal measurement required cycle number which the said several measurement location which the said specific part specified, and the said detection part detected in the template for assertion generation prepared for every measurement location. , Generating an assertion for measuring the number of times of activation of the plurality of measurement points specified by the specifying unit at a predetermined timing;
The verification apparatus according to
(付記3) 前記比較部は、前記測定部による測定結果を、統計処理を用いて期待値と比較する、
ことを特徴とする付記1または2記載の検証装置。
(Additional remark 3) The said comparison part compares the measurement result by the said measurement part with an expected value using a statistical process,
The verification apparatus according to
(付記4) 前記比較部は、前記測定部による測定結果を複数のグループに分類し、各グループの測定結果の平均値を、期待値と比較する、
ことを特徴とする付記1〜3のいずれか1つに記載の検証装置。
(Additional remark 4) The said comparison part classifies the measurement result by the said measurement part into a some group, and compares the average value of the measurement result of each group with an expected value,
The verification device according to any one of
(付記5) 前記比較部は、前記特定部が特定した前記複数の測定箇所のそれぞれに対して、前記複数のグループのうち少なくとも1つのグループの測定結果の平均値が、期待値以上であるかどうかを判定する、
ことを特徴とする付記4記載の検証装置。
(Supplementary Note 5) Whether the comparison unit has an average value of measurement results of at least one group out of the plurality of groups equal to or higher than an expected value for each of the plurality of measurement locations specified by the specifying unit. To determine whether
The verification device according to
(付記6) 前記特定部が特定した前記第1の測定箇所は、前記抽出部が構造タイプを抽出した非同期パスの受信側フリップフロップ回路の出力信号であり、
前記特定部が特定した前記第2の測定箇所は、前記抽出部が構造タイプを抽出した非同期パスの送信側フリップフロップ回路の次段に組合せ論理回路を介して接続されたフリップフロップ回路の出力信号であり、
さらに、前記特定部は、前記抽出部が構造タイプを抽出した非同期パスの送信側フリップフロップ回路の出力信号を、第3の測定箇所に特定する、
ことを特徴とする付記1〜5のいずれか1つに記載の検証装置。
(Additional remark 6) The said 1st measurement location which the said specific part specified is the output signal of the receiving side flip-flop circuit of the asynchronous path | route which the said extraction part extracted the structure type,
The second measurement location specified by the specifying unit is an output signal of a flip-flop circuit connected via a combinational logic circuit to the next stage of the transmission-side flip-flop circuit of the asynchronous path from which the extraction unit has extracted the structure type. And
Further, the specifying unit specifies the output signal of the transmission-side flip-flop circuit of the asynchronous path from which the extraction unit has extracted the structure type as a third measurement location.
The verification device according to any one of
(付記7) 前記特定部は、
前記抽出部が抽出した非同期パスの構造タイプがコンビネーションの場合、
前記抽出部が構造タイプを抽出した非同期パスの送信側フリップフロップ回路と受信側フリップフロップ回路との間に接続されている組合せ論理回路の入力信号のうち、前記第1の測定箇所に特定している信号を除いた信号を、第4の測定箇所に特定する、
ことを特徴とする付記6記載の検証装置。
(Supplementary note 7)
When the asynchronous path structure type extracted by the extraction unit is a combination,
Among the input signals of the combinational logic circuit connected between the transmission-side flip-flop circuit and the reception-side flip-flop circuit of the asynchronous path from which the extraction unit has extracted the structure type, specify the first measurement location The signal excluding the existing signal is specified as the fourth measurement point.
The verification device according to
(付記8) 前記特定部は、
前記抽出部が抽出した非同期パスの構造タイプがリコンバージェンスの場合、
特定した前記第2の測定箇所の次段に組合せ論理回路を介して接続されたフリップフロップ回路の出力信号を、第5の測定箇所に特定する、
ことを特徴とする付記6または7記載の検証装置。
(Additional remark 8) The said specific part is
When the structure type of the asynchronous path extracted by the extraction unit is reconvergence,
An output signal of a flip-flop circuit connected to the next stage of the identified second measurement location via a combinational logic circuit is identified as a fifth measurement location;
The verification device according to
(付記9) コンピュータに、
検証対象から非同期パスの構造タイプを抽出し、
抽出した非同期パスの構造タイプに基づいて、前記検証対象に対する第1および第2の測定箇所を含む複数の測定箇所を特定し、
特定した前記第1および第2の測定箇所間の信号伝播所要サイクル数を前記検証対象から検出し、
検出した信号伝播所要サイクル数を用いて、特定した前記複数の測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成し、
非同期パス遅延およびクロックジッターを付与した条件下で実行される前記検証対象のシミュレーションの実行中、生成したアサーションを用いて、特定した前記複数の測定箇所の活性化回数を測定し、
測定結果を期待値と比較する、
処理を実行させることを特徴とする検証プログラム。
(Supplementary note 9)
Extract the asynchronous path structure type from the verification target,
Based on the extracted asynchronous path structure type, identify a plurality of measurement locations including the first and second measurement locations for the verification target,
Detecting the required number of signal propagation cycles between the identified first and second measurement points from the verification target;
Using the detected number of required signal propagation cycles, generate an assertion that measures the number of times of activation of the plurality of specified measurement locations at a predetermined timing,
During the execution of the simulation to be verified that is executed under a condition with asynchronous path delay and clock jitter, the generated assertion is used to measure the number of activation times of the plurality of specified measurement points,
Compare the measurement results with expected values,
A verification program characterized by causing processing to be executed.
(付記10) コンピュータが、
検証対象から非同期パスの構造タイプを抽出し、
抽出した非同期パスの構造タイプに基づいて、前記検証対象に対する第1および第2の測定箇所を含む複数の測定箇所を特定し、
特定した前記第1および第2の測定箇所間の信号伝播所要サイクル数を前記検証対象から検出し、
検出した信号伝播所要サイクル数を用いて、特定した前記複数の測定箇所の活性化回数を所定のタイミングで測定するアサーションを生成し、
非同期パス遅延およびクロックジッターを付与した条件下で実行される前記検証対象のシミュレーションの実行中、生成したアサーションを用いて、特定した前記複数の測定箇所の活性化回数を測定し、
測定結果を期待値と比較する、
ことを特徴とする検証方法。
(Appendix 10) The computer
Extract the asynchronous path structure type from the verification target,
Based on the extracted asynchronous path structure type, identify a plurality of measurement locations including the first and second measurement locations for the verification target,
Detecting the required number of signal propagation cycles between the identified first and second measurement points from the verification target;
Using the detected number of required signal propagation cycles, generate an assertion that measures the number of times of activation of the plurality of specified measurement locations at a predetermined timing,
During the execution of the simulation to be verified that is executed under a condition with asynchronous path delay and clock jitter, the generated assertion is used to measure the number of activation times of the plurality of specified measurement points,
Compare the measurement results with expected values,
A verification method characterized by that.
1,100,100a 検証装置
1a 抽出部
1b 特定部
1c 検出部
1d アサーション生成部
1e 測定部
1f 比較部
2 検証対象
111 検証対象格納部
112 非同期パス抽出部
113 非同期リスト格納部
114 アサーション抽出生成部
114a アサーション生成用リスト格納部
114b テンプレート格納部
115 アサーション格納部
116 シナリオ調整用シミュレーション実行部
117 固定シナリオ格納部
118 回数基準値格納部
119 非同期シミュレーション実行部
120 回数測定結果格納部
121 判定部
122 判定結果リスト格納部
180 回数目標値設定部
181 ランダムシナリオ格納部
182 回数目標値格納部
183 シナリオ網羅性チェック部
184 グループ平均値格納部
185 網羅性判定結果リスト格納部
1,100,100a
Claims (7)
前記抽出部が抽出した非同期パスの構造タイプに基づいて、前記検証対象に対する第1および第2の測定箇所を含む複数の測定箇所を特定する特定部と、
前記特定部が特定した前記第1および第2の測定箇所間の信号伝播所要サイクル数を前記検証対象から検出する検出部と、
前記検出部が検出した信号伝播所要サイクル数に基づくタイミングで、前記特定部が特定した前記複数の測定箇所の活性化回数を測定する、アサーションを生成するアサーション生成部と、
非同期パス遅延およびクロックジッターを付与した条件下で実行される前記検証対象のシミュレーションの実行中、前記アサーション生成部が生成したアサーションを用いて、前記特定部が特定した前記複数の測定箇所の活性化回数を測定する測定部と、
前記測定部による測定結果を期待値と比較する比較部と、
を有することを特徴とする検証装置。 An extraction unit that extracts a structure type of an asynchronous path from a verification target that is circuit data expressed by a logical expression ;
Based on the structure type of the asynchronous path extracted by the extraction unit, a specifying unit that specifies a plurality of measurement locations including the first and second measurement locations for the verification target;
A detection unit for detecting the number of required signal propagation cycles between the first and second measurement points specified by the specifying unit from the verification target;
The detection unit at a timing based on the signal propagation required number of cycles has been detected, to measure the number of times of activation of the plurality of measurement points in which the identifying unit has identified, and the assertion generating unit that generates an assertion,
Activation of the plurality of measurement points specified by the specification unit using the assertion generated by the assertion generation unit during execution of the simulation to be verified, which is executed under the condition of providing asynchronous path delay and clock jitter A measuring unit for measuring the number of times;
A comparison unit for comparing a measurement result by the measurement unit with an expected value;
The verification apparatus characterized by having.
ことを特徴とする請求項1記載の検証装置。 The assertion generation unit embeds the plurality of measurement locations specified by the specification unit and the number of required signal propagation cycles detected by the detection unit in an assertion generation template prepared for each measurement location. There generating an assertion of measuring the number of times of activation of the specified plurality of measurement points in said timing,
The verification apparatus according to claim 1.
ことを特徴とする請求項1または2記載の検証装置。 The comparison unit compares the measurement result by the measurement unit with an expected value using statistical processing.
The verification apparatus according to claim 1 or 2, wherein
ことを特徴とする請求項1〜3のいずれか1項に記載の検証装置。 The comparison unit classifies the measurement results by the measurement unit into a plurality of groups, and compares the average value of the measurement results of each group with an expected value.
The verification apparatus according to any one of claims 1 to 3, wherein
ことを特徴とする請求項4記載の検証装置。 The comparison unit determines whether an average value of measurement results of at least one group among the plurality of groups is equal to or higher than an expected value for each of the plurality of measurement locations specified by the specifying unit. ,
The verification apparatus according to claim 4, wherein:
論理式で表現した回路データである検証対象から非同期パスの構造タイプを抽出し、
抽出した非同期パスの構造タイプに基づいて、前記検証対象に対する第1および第2の測定箇所を含む複数の測定箇所を特定し、
特定した前記第1および第2の測定箇所間の信号伝播所要サイクル数を前記検証対象から検出し、
検出した信号伝播所要サイクル数に基づくタイミングで、特定した前記複数の測定箇所の活性化回数を測定する、アサーションを生成し、
非同期パス遅延およびクロックジッターを付与した条件下で実行される前記検証対象のシミュレーションの実行中、生成したアサーションを用いて、特定した前記複数の測定箇所の活性化回数を測定し、
測定結果を期待値と比較する、
処理を実行させることを特徴とする検証プログラム。 On the computer,
Extract the asynchronous path structure type from the verification target, which is the circuit data expressed by the logical expression ,
Based on the extracted asynchronous path structure type, identify a plurality of measurement locations including the first and second measurement locations for the verification target,
Detecting the required number of signal propagation cycles between the identified first and second measurement points from the verification target;
At a timing based on the detected signal propagation required number of cycles, to measure the number of times of activation of the specified plurality of measurement points, and generates an assertion,
During the execution of the simulation to be verified that is executed under a condition with asynchronous path delay and clock jitter, the generated assertion is used to measure the number of activation times of the plurality of specified measurement points,
Compare the measurement results with expected values,
A verification program characterized by causing processing to be executed.
論理式で表現した回路データである検証対象から非同期パスの構造タイプを抽出し、
抽出した非同期パスの構造タイプに基づいて、前記検証対象に対する第1および第2の測定箇所を含む複数の測定箇所を特定し、
特定した前記第1および第2の測定箇所間の信号伝播所要サイクル数を前記検証対象から検出し、
検出した信号伝播所要サイクル数に基づくタイミングで、特定した前記複数の測定箇所の活性化回数を測定する、アサーションを生成し、
非同期パス遅延およびクロックジッターを付与した条件下で実行される前記検証対象のシミュレーションの実行中、生成したアサーションを用いて、特定した前記複数の測定箇所の活性化回数を測定し、
測定結果を期待値と比較する、
ことを特徴とする検証方法。
Computer
Extract the asynchronous path structure type from the verification target, which is the circuit data expressed by the logical expression ,
Based on the extracted asynchronous path structure type, identify a plurality of measurement locations including the first and second measurement locations for the verification target,
Detecting the required number of signal propagation cycles between the identified first and second measurement points from the verification target;
At a timing based on the detected signal propagation required number of cycles, to measure the number of times of activation of the specified plurality of measurement points, and generates an assertion,
During the execution of the simulation to be verified that is executed under a condition with asynchronous path delay and clock jitter, the generated assertion is used to measure the number of activation times of the plurality of specified measurement points,
Compare the measurement results with expected values,
A verification method characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011148377A JP5691890B2 (en) | 2011-07-04 | 2011-07-04 | Verification device, verification program, and verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011148377A JP5691890B2 (en) | 2011-07-04 | 2011-07-04 | Verification device, verification program, and verification method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013016025A JP2013016025A (en) | 2013-01-24 |
JP5691890B2 true JP5691890B2 (en) | 2015-04-01 |
Family
ID=47688658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011148377A Expired - Fee Related JP5691890B2 (en) | 2011-07-04 | 2011-07-04 | Verification device, verification program, and verification method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5691890B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309592B (en) * | 2019-07-01 | 2023-04-07 | 成都奥卡思微电科技有限公司 | Method, system, storage medium and terminal for extracting and visualizing activity conditions in attribute synthesis |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5026A (en) * | 1847-03-20 | Cut-off valve | ||
JP4271067B2 (en) * | 2004-03-29 | 2009-06-03 | 富士通マイクロエレクトロニクス株式会社 | Asynchronous circuit verification method and asynchronous circuit verification program |
JP5310036B2 (en) * | 2009-01-30 | 2013-10-09 | 富士通株式会社 | Verification support program and verification support apparatus |
-
2011
- 2011-07-04 JP JP2011148377A patent/JP5691890B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013016025A (en) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7698674B2 (en) | System and method for efficient analysis of point-to-point delay constraints in static timing | |
US8543966B2 (en) | Test path selection and test program generation for performance testing integrated circuit chips | |
JP2011138183A (en) | Verification support program and verification support device | |
US9218447B2 (en) | Automatic test pattern generation (ATPG) considering crosstalk effects | |
US20080263489A1 (en) | Method to identify and generate critical timing path test vectors | |
US7888971B2 (en) | Verification support system and method | |
US20060045226A1 (en) | System and method for analyzing jitter of signals | |
US10482207B2 (en) | Verification support apparatus and design verification support method | |
US7996802B2 (en) | Method of verifying circuit and computer-readable storage medium for storing computer program | |
JP5691890B2 (en) | Verification device, verification program, and verification method | |
JP4861734B2 (en) | Failure analysis program, recording medium recording the program, failure analysis method, and failure analysis apparatus | |
US20110077893A1 (en) | Delay Test Apparatus, Delay Test Method and Delay Test Program | |
JP2005257654A (en) | Method and device for judging quality of circuit, program for judging quality of circuit, and medium recorded with the program | |
JP5567322B2 (en) | Test flow presentation computer program, test flow presentation computer system | |
US8015523B2 (en) | Method and system for sequential netlist reduction through trace-containment | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
US10896275B2 (en) | Verification apparatus and method for verifying operation of integrated circuit | |
JP5707921B2 (en) | Activation path extraction program, activation path extraction apparatus, and activation path extraction method | |
US8341579B2 (en) | Method, apparatus, and system for analyzing operation of semiconductor integrated circuits | |
JP2010249662A (en) | Delay fault diagnosis program | |
US7689399B1 (en) | Automatic extraction of design properties | |
JP5408052B2 (en) | Integrated circuit, simulation apparatus, and simulation method | |
KR100901522B1 (en) | Scan chain diagnosis method and apparatus using symbolic simulation | |
US20120253712A1 (en) | Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program | |
Lin et al. | Speed binning with high-quality structural patterns from functional timing analysis (FTA) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140327 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141209 |
|
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: 20150106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150119 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5691890 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |