JP2006155083A - 論理回路機能検証支援方法及び論理回路機能検証支援装置 - Google Patents
論理回路機能検証支援方法及び論理回路機能検証支援装置 Download PDFInfo
- Publication number
- JP2006155083A JP2006155083A JP2004342855A JP2004342855A JP2006155083A JP 2006155083 A JP2006155083 A JP 2006155083A JP 2004342855 A JP2004342855 A JP 2004342855A JP 2004342855 A JP2004342855 A JP 2004342855A JP 2006155083 A JP2006155083 A JP 2006155083A
- Authority
- JP
- Japan
- Prior art keywords
- logic circuit
- simulation
- time
- test pattern
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】 複数のテストパターンをシミュレーションする際に適切にシミュレーションを省略して、機能検証の効率を上げれる論理回路機能検証支援方法及び装置を提供する。 【解決手段】 複数のテストパターン21を入力として、複数のテストパターン21についてのシミュレーションの実行順序を決定して、シミュレーション実行順序情報22を出力する(S1)。1番目にシミュレーションが実行されるテストパターン21の論理回路内記憶素子の内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターン21の論理回路内記憶素子の内容を読み出す時間を決定して、それらの保存/読み出し時間情報23を出力する(S2)。複数のテストパターン21、シミュレーション実行順序情報22、及び、保存/読み出し時間情報23に基づいて、シミュレーションを実行する(S3)。
【選択図】 図2
【選択図】 図2
Description
本発明は、論理回路の機能検証支援システムに関し、特に複数のテストパターンを用いたシミュレーションにおける機能検証の効率を上げることができる論理回路機能検証支援方法及び論理回路機能検証支援装置に関する。
通常、HDL(Hardware Description Language)等のハードウェア記述言語で設計された論理回路の機能検証はコンピュータ上のシミュレーションにより行われる。論理回路が設計仕様通りに動作しているか否かの機能検証は、論理回路にテストパターンを入力として与えてシミュレーションを実行し、論理回路から得られる出力(実行結果)と、予め用意された論理回路の正しい出力結果である期待値とが一致するか否かを確認することによって行われる。
近年、設計する論理回路の規模が大きくなるに従って検証すべき項目が増加し、その結果テストパターン長及びテストパターン数が増加している。一方、シミュレーションはコンピュータ上で膨大な量の演算によって行われるため、実際に論理回路を動作させるのに比べて非常に時間がかかる特徴がある。つまり、論理回路の大規模化、テストパターン長及びテストパターン数の増加はシミュレーションにかかる時間を大幅に増加させており、機能検証にかかるコストが問題となっている。
このようなシミュレーション時間の増加を解決する従来技術としては、特許文献1に記載されている「システム検証方法及びシステム検証装置」が挙げられる。この方法では、シミュレーション中に適宜論理回路内記憶素子の内容を保存し、必要に応じて保存した論理回路内記憶素子の内容を読み出してシミュレーションを途中から再開することにより、シミュレーションにかかる時間の短縮を図っている。このことを図13を用いて説明する。
図13は機能Aについてテストを行うためのテストパターンAの内容を図示したものであり、機能Aのテストが「初期化」→「ROM読み出し」→「レジスタ設定」→「機能Aのテスト」の順に進行していくことを意味する。このような場合、従来技術の方法ではテストパターンAを初めてシミュレーションする際に時間T2、T3、T4で論理回路内記憶素子の内容を保存しておく。そして、もし「ROM読み出し」で問題が生じた場合にはROM読み出しのテストパターンを変更し、時間T2での論理回路内記憶素子の内容を読み出してシミュレーションを途中から再開するため、時間T1〜T2のシミュレーションを省略することができる。同様に、もし「機能Aのテスト」で問題が生じた場合には時間T4での論理回路内記憶素子の内容を読み出してシミュレーションを途中から再開するため、時間T1〜T4のシミュレーションを省略することができる。つまり、2度目以降のシミュレーションではデバッグに不必要な部分のシミュレーションを省略することによって、機能検証の効率を上げることが可能となる。
特開平11−249930号公報
しかしながら、従来技術では下記のような問題があった。単一のテストパターンを対象に考案された手法であるために、テストパターン長の増加に対しては効果が大きいが、テストパターン数の増加には対応できていない。このことを図14を用いて説明する。
図14は機能A、B及びCのテストを行うためのテストパターンA、B及びCの内容を図示したものであり、機能Aのテストが「初期化」→「ROM読み出し」→「レジスタ設定α」→「機能Aのテスト」、機能Bのテストが「初期化」→「ROM読み出し」→「レジスタ設定α」→「機能Bのテスト」、機能Cのテストが「初期化」→「ROM読み出し」→「レジスタ設定β」→「機能Cのテスト」の順に進行していくことを意味する。このような複数のテストパターンが存在する場合、従来技術の方法ではテストパターンA、テストパターンB及びテストパターンCのそれぞれに対して、図13の場合と同様な処理が繰り返されることになり、それぞれのテストパターンについて必ず1度は最初から最後までシミュレーションが実行されることになる。しかし、実際には時間T3まではテストパターンA、テストパターンB及びテストパターンCは何れもその内容が共通であり、また時間T4まではテストパターンA及びテストパターンBで内容が共通であるため、テストパターン間の共通部分のシミュレーションが冗長となっている。この問題は検証項目が増加し、それに伴ってテストパターン数が増加するほど顕著に現れるため、機能検証の効率を落としている。
本発明は斯かる事情に鑑みてなされたものであり、複数のテストパターンをシミュレーションする際に適切にシミュレーションを省略することにより、テストパターン長の増加及びテストパターン数の増加の何れにも対応して機能検証の効率を上げることができる論理回路機能検証支援方法及び論理回路機能検証支援装置を提供することを目的とする。
本発明の他の目的は、機能検証の効率を上げるべくシミュレーションを省略しても、各テストパターンに対して正確なシミュレーションを行える論理回路機能検証支援方法及び論理回路機能検証支援装置を提供することにある。
本発明に係る論理回路機能検証支援方法は、複数のテストパターンを用いたシミュレーションにより論理回路の機能検証を行うための論理回路機能検証支援方法において、前記複数のテストパターンのシミュレーション実行順序を決定する第1ステップと、1番目にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を読み出す時間を決定する第2ステップと、前記複数のテストパターンのシミュレーションにより前記論理回路の機能を検証する第3ステップとを有することを特徴とする。
本発明に係る論理回路機能検証支援装置は、複数のテストパターンを用いたシミュレーションによる論理回路の機能検証のために用いられる論理回路機能検証支援装置において、前記複数のテストパターンのシミュレーション実行順序を決定する第1決定手段と、1番目にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を読み出す時間を決定する第2決定手段と、前記複数のテストパターンのシミュレーションにより前記論理回路の機能を検証する検証手段とを備えることを特徴とする。
本発明にあっては、まず、複数のテストパターンのシミュレーション実行順序を決定する。続いて、1番目にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を読み出す時間を決定する。そして、これらの決定した実行順序、記憶内容を保存する/読み出す時間情報に基づいて、シミュレーションを実行して論理回路の機能を検証する。よって、複数のテストパターンを用いるシミュレーションを適切に省略できるため、機能検証の効率は向上する。
本発明に係る論理回路機能検証支援方法は、前記第1ステップでは、前記複数のテストパターンの中でパターンの開始時点からの共通部分を抽出して、共通部分が多いものから優先的に実行順序を割り付けることを特徴とする。
本発明に係る論理回路機能検証支援装置は、前記第1決定手段は、前記複数のテストパターンの中でパターンの開始時点からの共通部分を抽出して、共通部分が多いものから優先的に実行順序を割り付けるように構成してあることを特徴とする。
本発明にあっては、複数のテストパターンのシミュレーション実行順序を決定する際に、複数のテストパターンの中でパターンの開始時点からの共通部分を抽出して、共通部分が多いものから優先的に実行順序を割り付ける。よって、無駄がない順序で複数のテストパターンのシミュレーションを実行できるため、機能検証の効率は更に向上する。
本発明に係る論理回路機能検証支援方法は、前記第2ステップでは、前記複数のテストパターンの中でパターンの開始時点からの共通部分を抽出した結果から、1番目にシミュレーションが実行されるテストパターンに対してシミュレーション中に論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンに対して論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始する時間を決定することを特徴とする。
本発明に係る論理回路機能検証支援装置は、前記第2決定手段は、前記複数のテストパターンの中でパターンの開始時点からの共通部分を抽出した結果から、1番目にシミュレーションが実行されるテストパターンに対してシミュレーション中に論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンに対して論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始する時間を決定するように構成してあることを特徴とする。
本発明にあっては、1番目にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を読み出す時間を決定する際に、複数のテストパターンの中でパターンの開始時点からの共通部分を抽出した結果から、1番目にシミュレーションが実行されるテストパターンに対してシミュレーション中に論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンに対して論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始する時間を決定する。よって、各テストパターンについて、無駄な時間をかけることなく、正確なシミュレーションを実行できるため、機能検証の効率は更に向上する。
本発明に係る論理回路機能検証支援方法は、前記第3ステップでは、決定された順序で前記複数のテストパターンをシミュレーションし、かつ、決定された時間で論理回路内記憶素子の記憶内容を保存し、または、決定された時間で論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始するように制御することを特徴とする。
本発明に係る論理回路機能検証支援装置は、前記検証手段は、決定された順序で前記複数のテストパターンをシミュレーションし、かつ、決定された時間で論理回路内記憶素子の記憶内容を保存し、または、決定された時間で論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始すべく制御するように構成してあることを特徴とする。
本発明にあっては、シミュレーションにより論理回路を検証する際に、決定された順序で複数のテストパターンをシミュレーションし、かつ、決定された時間で論理回路内記憶素子の記憶内容を保存し、または、決定された時間で論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始するように制御する。よって、シミュレーションを省略しても正しいシミュレーションを実行できる。
本発明では、複数のテストパターンをシミュレーションする際にシミュレーションを省略するようにしたので、機能検証の効率を上げることができ、機能検証に要する時間及びコストを大幅に削減することができる。
本発明では、適切にシミュレーションを省略するようにしたので、各テストパターンに対して正確なシミュレーションを行うことができ、機能検証の高効率化と正確な検証結果の取得との両立が可能となる。
以下、本発明をその実施の形態を示す図面を参照して具体的に説明する。図1は、本発明の論理回路機能検証支援装置の一例の構成を示すブロック図である。この論理回路機能検証支援装置10は、CPU(Central Processing Unit)1と、ROM(Read Only Memory)2と、RAM(Random Access Memory)3と、外部記憶装置4と、入力装置5と、表示装置6とを備えている。そして、CPU1、ROM2、RAM3、外部記憶装置4、入力装置5及び表示装置6は、バスライン7を介して相互に接続されている。
CPU1は、バスライン7を介して論理回路機能検証支援装置10の上述したようなハードウェア各部と接続されていて、それらを制御すると共に、ROM2に格納された制御プログラムに従って、種々のソフトウェア的機能(シミュレーションの実行順序決定など)を実行する。ROM2は、論理回路機能検証支援装置10の動作に必要な種々のソフトウェアの制御プログラム(論理回路内記憶素子の内容を保存する時間、及び、論理回路内記憶素子の内容を読み出す時間を決定するためのプログラムなど)を格納している。RAM3は、ソフトウェアの実行時に発生する一時的なデータを記憶するとともに、CPU1が演算時に使用する作業記憶領域として用いられる。外部記憶装置4は、論理回路内記憶素子の内容等の必要な情報を蓄える。入力装置5は、キーボード、マウス等から構成され、テストパターン等の必要な情報を入力するために使用される。表示装置6は、例えば液晶表示装置から構成され、シミュレーション結果等を表示する。
次に、本発明の論理回路機能検証支援方法の動作について説明する。図2は、この動作の概略を示す図である。
まず複数のテストパターン21を入力として、複数のテストパターン21についてのシミュレーションの実行順序を決定して、シミュレーション実行順序情報22を出力する(ステップS1)。図3は、このシミュレーション実行順序の決定動作、つまりステップS1のサブルーチンを示すフローチャートである。
まず、複数のテストパターン21に関して、最初のサイクル(T1サイクル)での入力パターンに応じてグループ分けする(ステップS11)。次に、各グループ毎で、T1サイクルから等価な入力パターンが何サイクルまで続くかを各テストパターン21毎に計算し、その計算値から各テストパターン21毎に優先度を算出する(ステップS12)。全てのグループについて優先度の算出を終了したか否かを判断し(ステップS13)、終了していない場合には(S13:NO)、S12に動作が戻って、次のグループ内での処理を行う。全てのグループについて優先度の算出を終了した場合(S13:YES)、各グループ毎で、算出した優先度に従ってシミュレーションの実行順序を決定して、シミュレーション実行順序情報22を出力する(ステップS14)。
続いて、1番目にシミュレーションが実行されるテストパターン21の論理回路内記憶素子の内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターン21の論理回路内記憶素子の内容を読み出す時間を決定して、それらの保存/読み出し時間情報23を出力する(ステップS2)。図4は、この保存時間/読み出し時間の決定動作、つまりステップS2のサブルーチンを示すフローチャートである。
各グループで優先度が最も高いテストパターン21(即ち、1番目にシミュレーションが実行されるテストパターン21)に対して、論理回路内記憶素子の内容を保存する時間を決定する(ステップS21)。次に、各グループ内で優先度が2番目以降のテストパターン21(即ち、2番目以降にシミュレーションが実行されるテストパターン21)に対して、論理回路内記憶素子の内容を読み出す時間を決定する(ステップS22)。全てのグループについてこれらの時間の決定を終了したか否かを判断し(ステップS23)、終了していない場合には(S23:NO)、S21に動作が戻って、次のグループ内での処理を行う。全てのグループについて保存時間/読み出し時間の決定を終了した場合(S23:YES)、テストパターン毎に決定した保存/読み出し時間情報23を出力する(ステップS24)。
続いて、複数のテストパターン21、シミュレーション実行順序情報22、及び、テストパターン毎の保存/読み出し時間情報23に基づいて、シミュレーションを実行する(ステップS3)。この際のシミュレーションでは、1番目に実行されるテストパターン21の論理回路内記憶素子の内容24が入力データまたは出力データとして使用される。
以下、本発明の具体的な適用例を挙げて、更に詳細に本発明を説明する。
(第1の実施例)
この第1の実施例は、図5に示すような波形で表される5本のテストパターンに対する適用例である。
(第1の実施例)
この第1の実施例は、図5に示すような波形で表される5本のテストパターンに対する適用例である。
まず、シミュレーションの実行順序を決定する(図2のS1)。図6は、この実行順序決定の内容を示す図である。最初にT1サイクルでの入力パターンのグループ分けを行って(図3のS11)、T1サイクルで入力が等価なテストパターンを同じグループとする。つまり、T1サイクルで入力が" 1" であるテストパターンA,C,Eのグループと、入力が" 0" であるテストパターンB,Dのグループとの2つに分ける。
続いて、それぞれのグループ内でテストパターンが他のテストパターンに対して何サイクルまで入力が等価かを計算し、その計算値から各テストパターン毎に優先度を算出することを全てのグループに対して実行する(図3のS12,S13)。優先度は各パターンの等価であるサイクル数を加算することで得られる。例えばテストパターンAについては3+3=6、テストパターンCについては3+5=8と優先度を算出する。このようにして得られた算出結果が図6(a)(グループ1)及び(b)(グループ2)となる。そして、これらの優先度に従ってそれが高い順にシミュレーションの実行順序を決定する(図3のS14)。得られるシミュレーション実行順序情報22が図6(c)となる。なお、グループ間の実行順に制約はないため、図6(c)の代わりに図6(d)としても良い。
次に、全テストパターンの中でパターンの開始時点からの共通部分を抽出した結果に基づいて、1番目に実行されるテストパターンに対して、シミュレーション中に論理回路内記憶素子の内容を保存する時間、及び、2番目以降に実行されるテストパターンに対して、論理回路内記憶素子の内容を読み出してシミュレーションを開始する時間を決定する(図2のS2)。
各グループで優先度が一番高いテストパターンに対して論理回路内記憶素子の内容を保存する時間を決定する(図4のS21)。図6(a)ではテストパターンCが一番優先度が高いため、このパターンに対して他のパターンと共通にシミュレーションが可能な時間、つまりT3、T5サイクルで保存すると決定する。続いて、各グループで優先度が2番目以降のテストパターンに対して論理回路内記憶素子の内容を読み出す時間を決定する(図4のS22)。図6(a)ではテストパターンE,テストパターンAがこれに該当し、優先度が一番高いテストパターンと共通にシミュレーションが可能な時間を読み出し時間として決定する。つまり、テストパターンEに対してはT5、テストパターンAに対してはT3で読み出すと決定する。以上の処理を全てのグループに対し実行する(図4のS21〜S23)。得られる各テストパターン毎の保存/読み出し時間情報23は、図7のようになる。
最後に、シミュレーション実行順序情報22(テストパターンのシミュレーション実行順序)、並びに、保存/読み出し時間情報23(1番目に実行されるテストパターンの論理回路内記憶素子の内容を保存する時間、及び、2番目以降に実行されるテストパターンの論理回路内記憶素子の内容を読み出す時間)に基づいて、シミュレーションを実行する(図2のS3)。
シミュレーションはシミュレーション実行順序情報22(図6(c))の順番に実行され、1番目に実行されるテストパターンの論理回路内記憶素子の内容を保存する時間、及び2番目以降に実行されるテストパターンの論理回路内記憶素子の内容を読み出す時間を示す保存/読み出し時間情報23(図7)に従って論理回路内記憶素子内容の保存、読み出しが行われる。
具体的には、まず、テストパターンCのシミュレーションが実行され、実行中にはT3、T5サイクルで論理回路内記憶素子内容の保存が行われる。続いて、テストパターンCのT5サイクルでの論理回路内記憶素子内容の読み出しが行われ、T6サイクルからテストパターンEのシミュレーションが行われる。続いて、テストパターンCのT3サイクルでの論理回路内記憶素子内容の読み出しが行われ、T4サイクルからテストパターンAのシミュレーションが行われる。続いて、テストパターンBのシミュレーションが実行され、実行中にはT1サイクルで論理回路内記憶素子内容の保存が行われる。最後に、テストパターンBのT1サイクルでの論理回路内記憶素子内容の読み出しが行われ、T2サイクルからテストパターンDのシミュレーションが行われる。
以上の手順を踏むことによって、テストパターンAのT1〜T3サイクル、テストパターンDのT1サイクル、テストパターンEのT1〜T5サイクルの各シミュレーションを省略することができ、機能検証の効率を上げることができる。
(第2の実施例)
この第2の実施例は、図8に示す論理回路(n個の入力端子31,出力端子32間に2種類の組み合わせ回路33,34とフリップフロップ35とを交互に設けた構成)の機能検証に用いる図9で表されるような波形の組み合わせを有する10本の機能検証パターンに対する適用例である。図9のアルファベットは図8の入力端子31へ印加されるdata_in_1〜data_in_n波形の組み合わせを意味し、例えばテストパターンAを波形表示すると図10のようになる。つまり、テストパターンAのT1サイクルでの" a" はdata_in_1=’1’,data_in_2=’0’,・・・,data_in_n=’1’の組み合わせ、T2サイクルでの" c" はdata_in_1=’0’,data_in_2=’0’,・・・,data_in_n=’0’の組み合わせを表現している。
この第2の実施例は、図8に示す論理回路(n個の入力端子31,出力端子32間に2種類の組み合わせ回路33,34とフリップフロップ35とを交互に設けた構成)の機能検証に用いる図9で表されるような波形の組み合わせを有する10本の機能検証パターンに対する適用例である。図9のアルファベットは図8の入力端子31へ印加されるdata_in_1〜data_in_n波形の組み合わせを意味し、例えばテストパターンAを波形表示すると図10のようになる。つまり、テストパターンAのT1サイクルでの" a" はdata_in_1=’1’,data_in_2=’0’,・・・,data_in_n=’1’の組み合わせ、T2サイクルでの" c" はdata_in_1=’0’,data_in_2=’0’,・・・,data_in_n=’0’の組み合わせを表現している。
まず、第1の実施例と同様に、シミュレーションの実行順序を決定する(図2のS1)。図11は、この実行順序決定の内容を示す図である。最初にT1サイクルでの入力パターンのグループ分けを行って(図3のS11)、T1サイクルで入力が等価なテストパターンを同じグループとする。つまり、T1サイクルで入力の組み合わせが" a" であるテストパターンA,B,C,D,F,Gのグループと、入力の組み合わせが" x" であるテストパターンE,H,Jのグループと、入力の組み合わせが" y" であるテストパターンIのグループとの3つに分ける。
続いて、それぞれのグループ内でテストパターンが他のテストパターンに対して何サイクルまで入力が等価かを計算し、その計算値から各テストパターン毎に優先度を算出することを全てのグループに対して実行する(図3のS12,S13)。優先度は各パターンの等価であるサイクル数の加算により、例えばテストパターンAについては1+1+1+1+1=5、テストパターンBについては1+3+3+2+3=12と算出される。このようにして得られた算出結果が図11(a)(グループ1),(b)(グループ2)及び(c)(グループ3)となる。そして、これらの優先度に従ってそれが高い順にシミュレーションの実行順序を決定する(図3のS14)。得られるシミュレーション実行順序情報22が図11(d)となる。
次に、第1の実施例と同様に、全テストパターンの中でパターンの開始時点からの共通部分を抽出した結果に基づいて、1番目に実行されるテストパターンに対して、シミュレーション中に論理回路内記憶素子の内容を保存する時間、及び、2番目以降に実行されるテストパターンに対して、論理回路内記憶素子の内容を読み出してシミュレーションを開始する時間を決定する(図2のS2)。
各グループで優先度が一番高いテストパターンに対して論理回路内記憶素子の内容を保存する時間を決定する(図4のS21)。図11(a)ではテストパターンCが一番優先度が高いため、このパターンに対して他のパターンと共通にシミュレーションが可能な時間、つまりT1,T2,T3,T5サイクルで保存すると決定する。続いて、各グループで優先度が2番目以降のテストパターンに対して論理回路内記憶素子の内容を読み出す時間を決定する(図4のS22)。図11(a)ではテストパターンA,テストパターンB,テストパターンD,テストパターンF,テストパターンGがこれに該当し、優先度が一番高いテストパターンと共通にシミュレーションが可能な時間を読み出し時間として決定する。つまり、テストパターンAに対してはT1、テストパターンBに対してはT3、テストパターンDに対してはT5、テストパターンFに対してはT2、テストパターンGに対してはT3で読み出すと決定する。以上の処理を全てのグループに対し実行する(図4のS21〜S23)。得られる各テストパターン毎の保存/読み出し時間情報23は、図12のようになる。
最後に、第1の実施例と同様に、シミュレーション実行順序情報22(テストパターンのシミュレーション実行順序)、並びに、保存/読み出し時間情報23(1番目に実行されるテストパターンの論理回路内記憶素子の内容を保存する時間、及び、2番目以降に実行されるテストパターンの論理回路内記憶素子の内容を読み出す時間)に基づいて、シミュレーションを実行する(図2のS3)。
シミュレーションはシミュレーション実行順序情報22(図11(d))の順番に実行され、1番目に実行されるテストパターンの論理回路内記憶素子の内容を保存する時間、及び2番目以降に実行されるテストパターンの論理回路内記憶素子の内容を読み出す時間を示す保存/読み出し時間情報23(図12)に従って論理回路内記憶素子内容の保存、読み出しが行われる。
具体的には、まず、テストパターンCのシミュレーションが実行され、実行中にはT1,T2,T3,T5サイクルで論理回路内記憶素子内容の保存が行われる。続いて、テストパターンCのT5サイクルでの論理回路内記憶素子内容の読み出しが行われ、T6サイクルからテストパターンDのシミュレーションが行われる。続いて、テストパターンCのT3サイクルでの論理回路内記憶素子内容の読み出しが行われ、T4サイクルからテストパターンBのシミュレーションが行われる。続いて、テストパターンCのT3サイクルでの論理回路内記憶素子内容の読み出しが行われ、T4サイクルからテストパターンGのシミュレーションが行われる。続いて、テストパターンCのT2サイクルでの論理回路内記憶素子内容の読み出しが行われ、T3サイクルからテストパターンFのシミュレーションが行われる。続いて、テストパターンCのT1サイクルでの論理回路内記憶素子内容の読み出しが行われ、T2サイクルからテストパターンAのシミュレーションが行われる。
続いて、テストパターンHのシミュレーションが実行され、実行中にはT2,T6サイクルで論理回路内記憶素子内容の保存が行われる。続いて、テストパターンHのT6サイクルでの論理回路内記憶素子内容の読み出しが行われ、T7サイクルからテストパターンJのシミュレーションが行われる。続いて、テストパターンHのT2サイクルでの論理回路内記憶素子内容の読み出しが行われ、T3サイクルからテストパターンEのシミュレーションが行われる。最後に、テストパターンIのシミュレーションが行われる。
以上の手順を踏むことによって、テストパターンAのT1サイクル、テストパターンBのT1〜T3サイクル、テストパターンDのT1〜T5サイクル、テストパターンEのT1〜T2、テストパターンFのT1〜T2サイクル、テストパターンGのT1〜T3サイクル、テストパターンJのT1〜T6サイクルの各シミュレーションを省略することができ、機能検証の効率を上げることができる。
1 CPU
2 ROM
3 RAM
4 外部記憶装置
5 入力装置
6 表示装置
7 バスライン
10 論理回路機能検証支援装置
21 複数のテストパターン
22 シミュレーション実行順序情報
23 保存/読み出し時間情報
24 論理回路内記憶素子の内容
2 ROM
3 RAM
4 外部記憶装置
5 入力装置
6 表示装置
7 バスライン
10 論理回路機能検証支援装置
21 複数のテストパターン
22 シミュレーション実行順序情報
23 保存/読み出し時間情報
24 論理回路内記憶素子の内容
Claims (8)
- 複数のテストパターンを用いたシミュレーションにより論理回路の機能検証を行うための論理回路機能検証支援方法において、前記複数のテストパターンのシミュレーション実行順序を決定する第1ステップと、1番目にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を読み出す時間を決定する第2ステップと、前記複数のテストパターンのシミュレーションにより前記論理回路の機能を検証する第3ステップとを有することを特徴とする論理回路機能検証支援方法。
- 前記第1ステップでは、前記複数のテストパターンの中でパターンの開始時点からの共通部分を抽出して、共通部分が多いものから優先的に実行順序を割り付けることを特徴とする請求項1に記載の論理回路機能検証支援方法。
- 前記第2ステップでは、前記複数のテストパターンの中でパターンの開始時点からの共通部分を抽出した結果から、1番目にシミュレーションが実行されるテストパターンに対してシミュレーション中に論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンに対して論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始する時間を決定することを特徴とする請求項1または2に記載の論理回路機能検証支援方法。
- 前記第3ステップでは、決定された順序で前記複数のテストパターンをシミュレーションし、かつ、決定された時間で論理回路内記憶素子の記憶内容を保存し、または、決定された時間で論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始するように制御することを特徴とする請求項1乃至3のいずれか一つに記載の論理回路機能検証支援方法。
- 複数のテストパターンを用いたシミュレーションによる論理回路の機能検証のために用いられる論理回路機能検証支援装置において、前記複数のテストパターンのシミュレーション実行順序を決定する第1決定手段と、1番目にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンにおける論理回路内記憶素子の記憶内容を読み出す時間を決定する第2決定手段と、前記複数のテストパターンのシミュレーションにより前記論理回路の機能を検証する検証手段とを備えることを特徴とする論理回路機能検証支援装置。
- 前記第1決定手段は、前記複数のテストパターンの中でパターンの開始時点からの共通部分を抽出して、共通部分が多いものから優先的に実行順序を割り付けるように構成してあることを特徴とする請求項5に記載の論理回路機能検証支援装置。
- 前記第2決定手段は、前記複数のテストパターンの中でパターンの開始時点からの共通部分を抽出した結果から、1番目にシミュレーションが実行されるテストパターンに対してシミュレーション中に論理回路内記憶素子の記憶内容を保存する時間、及び、2番目以降にシミュレーションが実行されるテストパターンに対して論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始する時間を決定するように構成してあることを特徴とする請求項5または6に記載の論理回路機能検証支援装置。
- 前記検証手段は、決定された順序で前記複数のテストパターンをシミュレーションし、かつ、決定された時間で論理回路内記憶素子の記憶内容を保存し、または、決定された時間で論理回路内記憶素子の記憶内容を読み出してシミュレーションを開始すべく制御するように構成してあることを特徴とする請求項5乃至7のいずれか一つに記載の論理回路機能検証支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004342855A JP2006155083A (ja) | 2004-11-26 | 2004-11-26 | 論理回路機能検証支援方法及び論理回路機能検証支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004342855A JP2006155083A (ja) | 2004-11-26 | 2004-11-26 | 論理回路機能検証支援方法及び論理回路機能検証支援装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006155083A true JP2006155083A (ja) | 2006-06-15 |
Family
ID=36633332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004342855A Pending JP2006155083A (ja) | 2004-11-26 | 2004-11-26 | 論理回路機能検証支援方法及び論理回路機能検証支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006155083A (ja) |
-
2004
- 2004-11-26 JP JP2004342855A patent/JP2006155083A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7673288B1 (en) | Bypassing execution of a software test using a file cache | |
TW201331775A (zh) | 用於硬體描述語言環境之全域時鐘處理常式物件 | |
JPH0773037A (ja) | プロセッサの制御機構検証用命令列の自動生成方法及び装置 | |
JP4182202B2 (ja) | シミュレーション用カバレッジ算出装置及びシミュレーション用カバレッジ算出方法 | |
JP2004086838A (ja) | システムの検証装置および検証方法 | |
JP2007052640A (ja) | 非同期回路の検証装置、非同期回路の検証方法およびその検証プログラム | |
CN115906730A (zh) | 验证逻辑系统设计的方法、设备及存储介质 | |
JP2006155083A (ja) | 論理回路機能検証支援方法及び論理回路機能検証支援装置 | |
US6813751B2 (en) | Creating standard VHDL test environments | |
US7058557B2 (en) | Method for functional verification of hardware design | |
JP5387521B2 (ja) | 論理検証シナリオ生成装置、及び、論理検証シナリオ生成プログラム | |
JP4952317B2 (ja) | 退避データ判別方法、退避データ判別プログラムおよび退避データ判別装置 | |
CN111142891A (zh) | 一种数据烧录的验证方法、装置、电子设备及介质 | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム | |
JP2004280279A (ja) | トップダウン設計装置およびトップダウン設計プログラム | |
JP3028589B2 (ja) | 論理回路検証装置のエラー検出制御方法 | |
JP2012033091A (ja) | 半導体回路およびそのテスト方法 | |
JPH07253909A (ja) | マイクロプログラム検証方法 | |
JP5469106B2 (ja) | コンピュータシステム、試験装置、試験方法、及び試験プログラム | |
JP6949440B2 (ja) | ベクタ生成装置及びベクタ生成用プログラム | |
JP2002041595A (ja) | バックアノテーション装置およびその方法 | |
JP5928128B2 (ja) | デジタル回路用シミュレーション方法 | |
JP2924080B2 (ja) | 論理シミュレーション支援システム | |
JP4967948B2 (ja) | 回路シミュレーション方法、回路シミュレーションプログラムおよび回路解析装置 | |
CN116861829A (zh) | 用于定位逻辑系统设计中错误的方法、电子设备 |