JP2004062522A - 回路検証装置、回路検証プログラム、回路検証方法 - Google Patents
回路検証装置、回路検証プログラム、回路検証方法 Download PDFInfo
- Publication number
- JP2004062522A JP2004062522A JP2002219887A JP2002219887A JP2004062522A JP 2004062522 A JP2004062522 A JP 2004062522A JP 2002219887 A JP2002219887 A JP 2002219887A JP 2002219887 A JP2002219887 A JP 2002219887A JP 2004062522 A JP2004062522 A JP 2004062522A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- signal
- verified
- verification
- under 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318342—Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
- G01R31/318357—Simulation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318364—Generation of test inputs, e.g. test vectors, patterns or sequences as a result of hardware simulation, e.g. in an HDL environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Abstract
【課題】ソフトウェアによる回路検証において、回路の論理を変えずにキュー回路等の蓄積回路が飽和状態に遷移する確率を増加させると共に、回路検証の時間を短縮することができる回路検証装置、回路検証プログラム、回路検証方法を提供することを目的とする。
【解決手段】キュー回路記述動作部45が飽和状態になった場合の動作の検証を行う回路検証装置であって、被検証回路の動作を行う被検証回路記述動作部40と、被検証回路記述動作部40の動作において動作速度を制御するための動作制御信号を付与するテスト制御部31と、動作制御信号を操作してキュー回路記述動作部45を飽和状態に遷移させる遅延処理部34と、被検証回路記述動作部40の動作においてキュー回路記述動作部45が飽和状態へ遷移したことを表す確認信号を監視する確認信号監視部33を備えた。
【選択図】 図1
【解決手段】キュー回路記述動作部45が飽和状態になった場合の動作の検証を行う回路検証装置であって、被検証回路の動作を行う被検証回路記述動作部40と、被検証回路記述動作部40の動作において動作速度を制御するための動作制御信号を付与するテスト制御部31と、動作制御信号を操作してキュー回路記述動作部45を飽和状態に遷移させる遅延処理部34と、被検証回路記述動作部40の動作においてキュー回路記述動作部45が飽和状態へ遷移したことを表す確認信号を監視する確認信号監視部33を備えた。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、ソフトウェアで設計された回路を、ソフトウェアとして動作させることにより、その回路の動作の検証を行う回路検証装置、回路検証プログラム、回路検証方法に関するものであり、特に、蓄積回路を含む回路の検証において、蓄積回路が飽和状態になった場合の回路の動作の検証を行う回路検証装置、回路検証プログラム、回路検証方法に関するものである。
【0002】
【従来の技術】
近年、回路設計はコンピュータ上のソフトウェアを用いて行われている。すなわち、ハードウェアはソフトウェアとして記述され、設計される。そして、ソフトウェアの状態で検証が行われ、実際にハードウェアを製作する前に、その回路の論理が正しいか否かの確認を行うことができる。ソフトウェアによる回路検証は、回路の変更等があった場合にはソフトウェアの手直しのみを行えばよく、手間をかけずに検証できるというメリットがある。
【0003】
例えば、特開平8−329121号公報には、LSI等の回路シミュレーションを行う回路シミュレーション方式において、そのシミュレーション対象回路に対し、擬似的に入力信号を与えるモデルにおいて、そのモデルによって定まる一意的な入力条件に対し、別に定義する進み、遅れ時間を対応付けることにより、モデルによって定める入力信号の発生タイミングに対して自動的にばらつきを持たせる機能を備え、シミュレーションごとに進み、遅れ時間の範囲内の任意の時間で入力信号を発生すること等を可能とした技術が開示されている。この様な技術によれば、LSI等の回路シミュレーションにおいて、モデルより与えられる擬似入力信号を時間幅で離散的又は順次的に変化させることが可能となり、シミュレーション検証を現実的な回路検証に近づけることが可能となり信頼性が高まる。
【0004】
ところで、本発明に関連する回路検証装置について図3を用いて説明する。図3に示すように、この回路検証装置10は、入力部11と、記憶部12と、演算部13と、出力部14から構成される。記憶部12は、回路検証プログラムを格納している。回路検証プログラムは、回路検証機能の他に、ソフトウェアで記述された被検証回路を含む。入力部11は、ユーザからの回路検証機能や被検証回路に関する設定等を受け付ける。演算部13は、被検証回路におけるテストプログラムを実行して回路検証を行い、その結果を出力部14へ出力する。出力部14がユーザへ回路検証の結果を出力することにより、ユーザは被検証回路の論理が正しいか否かを確認することができる。
【0005】
次に、回路検証装置10で検証する被検証回路の構成の一例について図4を用いて説明する。図4に示すように、この被検証回路20は、メモリ回路21と、A回路22と、B回路23から構成される。メモリ回路21は、被検証回路を動作させるテストプログラム27を備える。A回路22は、検証の対象となる部分であり、B回路23は、検証の対象としない部分である。ここでは、例としてA回路22がキュー回路を持つ場合について説明する。A回路22は、高速回路24とキュー回路25と通常回路26から構成される。
【0006】
ここで、A回路22がある演算を行う場合の動作について説明する。高速回路24は、キュー回路25からアクセプト信号が入力されている場合に、外部から演算に用いるデータを取得し、キュー回路25へ出力する。キュー回路25は、高速回路24から入力されたデータをスタックする。キュー回路25は、データをスタックできる場合にはアクセプト信号を、キューフル状態になりデータをスタックできない場合にはキューフル信号を、高速回路24へ出力する。キュー回路25は、通常回路26からコンプリート信号が入力された場合、スタックした順番にデータを通常回路26へ出力する。通常回路26は、キュー回路25から入力されたデータを用いて演算を行い、演算が終了したらコンプリート信号をキュー回路25へ出力する。
【0007】
以上のような動作を行うA回路22において、例えばキューフル状態における高速回路24の動作を検証する場合、キュー回路25がキューフル状態に遷移する確率は極めて小さいことから、検証が困難であった。
【0008】
そこで従来は、第1の方法として、キューフル状態に遷移する可能性のある条件をできるだけ多く作成するとともに、実際のハードウェアの回路における様々な動作タイミングを考慮して、作成した条件と動作タイミングとの組み合わせによるテストを、回路検証装置により、キューフル状態に遷移するまで順番に行うという方法が行われていた。また、第2の方法として、キュー回路25自体の論理を変えることによりキューフル状態に遷移する確率を増加させるという方法が行われていた。例えば、実際のキュー回路25は4段スタックであるのに対して、2段スタックに変えることによりキューフル状態に遷移する確率を増加させていた。
【0009】
【発明が解決しようとする課題】
しかしながら、第1の方法によると、キューフル状態に遷移する可能性のある条件が数多く考えられる上に、実際のハードウェアの回路における様々な動作タイミングを考慮すると、テストの数は天文学的な組み合わせとなる。一方で、キューフル状態に遷移する確率は極めて小さいことから、キューフル状態に遷移するまでにかかる時間が非常に長くなる、あるいは、確実にキューフル状態に遷移するとは限らない、という問題があった。
【0010】
また、第2の方法によると、たとえ2段スタックのキュー回路に論理を変更したA回路22が正常に動作したとしても、実際の4段スタックのキュー回路に論理を戻したときにA回路22が正常に動作するかどうかわからないという問題が生じる。すなわち、実際の論理と異なる回路を検証することになるという問題があった。
【0011】
更に別の問題として、回路検証では、ハードウェア上で起こりうる状態全てについて検証することが理想である。しかし、回路検証装置でソフトウェアにより行われるシミュレーション速度は、実機と比較して10の6乗倍程度遅いため、できるだけ似たような検証は行わないようにして、効率よく回路を検証するようにする必要があり、このため、全ての状態について検証することができなかったり、或いは効率良く検証するための工夫に労力を必要としていた。
【0012】
本発明は上述した課題に鑑みてなされたものであり、ソフトウェアによる回路検証において、回路の論理を変えずにキュー回路等の蓄積回路が飽和状態に遷移する確率を増加させると共に、回路検証の時間を短縮することができる回路検証装置、回路検証プログラム、回路検証方法を提供することを目的とする。
【0013】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証装置であって、前記被検証回路の動作が記述され、前記被検証回路の動作を行う被検証回路記述動作手段と、前記被検証回路記述動作手段の動作において該動作速度を制御するための動作制御信号を付与する動作制御信号付与手段と、前記動作制御信号を操作して前記蓄積回路を飽和状態に遷移させる信号操作手段と、前記被検証回路記述動作手段の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視する確認信号監視手段とを備えたことを特徴とするものである。
【0014】
このような構成によれば、動作制御信号を操作することにより、検証回路記述動作手段の蓄積回路が飽和状態に遷移する確率を増加させると共に、確認信号を監視することにより、被検証回路記述動作手段の検証が完了したか否かを判断することができる。なお、実施の形態において、被検証回路記述動作手段は被検証回路記述動作部40で構成され、蓄積回路はキュー回路記述動作部45で構成され、動作制御信号付与手段はテスト制御部31で構成され、信号操作手段は遅延処理部34で構成され、確認信号監視手段は確認信号監視部33で構成される。
【0015】
また、本発明に係る回路検証装置において、前記信号操作手段は、前記被検証回路に対して付与される前記動作制御信号に対して、前記確認信号監視手段により、確認信号が一定期間検出されない場合に、前記動作制御信号の操作量を更新することを特徴とするものである。
【0016】
このような構成によれば、一定期間確認信号が検出されない場合に動作制御信号の操作量を更新することにより、被検証回路記述動作手段の蓄積回路部分が飽和状態に遷移する確率を増加させることができる。
【0017】
また、本発明に係る回路検証装置において、前記信号操作手段は、前記蓄積回路の動作結果を利用する蓄積後段回路に付与される前記動作制御信号を操作し、前記蓄積後段回路の動作を遅延させる遅延手段により構成されることを特徴とするものである。
【0018】
このような構成によれば、被検証回路記述動作手段のうち蓄積後段回路部分の動作を遅延させることにより、被検証回路記述動作手段の蓄積回路部分が飽和状態に遷移する確率を増加させることができる。なお、実施の形態において、蓄積後段回路は通常回路記述動作部46で構成され、遅延手段は遅延処理部34で構成される。
【0019】
また、本発明に係る回路検証装置において、前記確認信号に関する情報と、前記確認信号を発生させる要因となる関与信号に関する情報と、前記関与信号を制御するための操作量に関する情報との組を複数格納する格納手段を備えると共に、前記被検証回路記述動作手段には、テストプログラムを記憶したメモリ回路の動作が記述されて前記メモリ回路の動作を行うメモリ回路記述動作手段を備え、更に前記テストプログラムにより指示される確認信号に関する情報に基づいて、前記格納手段から前記関与信号及び前記操作量に関する情報を抽出し、前記信号操作手段に設定する信号設定手段を備えることを特徴とすることができ、このような構成によれば、信号設定手段が、テストプログラムにより指示された確認信号に関する情報に従って、関与信号に関する情報と操作量に関する情報を格納手段から検索することにより、回路検証に必要な信号に関する情報や操作量に関する情報を得ることができる。なお、実施の形態において、格納手段はライブラリファイル35で構成され、信号設定手段は信号設定部32で構成される。
【0020】
また、本発明に係る回路検証装置において、前記信号操作手段は、前記関与信号に関する情報に基づいて、前記動作制御信号を操作する対象が前記蓄積後段回路であると認識することを特徴とすることができ、このような構成によれば、信号操作手段は、関与信号を出力する蓄積後段回路に与える動作制御信号を操作することができる。
【0021】
また、本発明に係る回路検証装置において、前記蓄積回路は、キュー回路、バッファ回路、パイプライン回路、又はキャッシュ回路のいずれかであることを特徴とすることができ、このような構成によれば、キュー回路やバッファ回路やパイプライン回路やキャッシュ回路が飽和状態に遷移する確率を増加させ、検証の確実性を向上させることができる。
【0022】
さらに、本発明は、被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された回路検証プログラムであって、記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップとをコンピュータに実行させることを特徴とするものである。
【0023】
このような構成によれば、動作制御信号を操作することにより、検証回路記述動作手段の蓄積回路が飽和状態に遷移する確率を増加させると共に、確認信号を監視することにより、被検証回路記述動作手段の検証が完了したか否かを判断することができる。なお、本発明において、上記コンピュータにより読取り可能な媒体は、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【0024】
さらに、本発明は、被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証方法であって、記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップとを備えたことを特徴とするものである。
【0025】
このような構成によれば、動作制御信号を操作することにより、検証回路記述動作手段の蓄積回路が飽和状態に遷移する確率を増加させると共に、確認信号を監視することにより、被検証回路記述動作手段の検証が完了したか否かを判断することができる。
【0026】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。本実施の形態では、通常では極めて確率の低い特定の状態遷移を監視する仕組みとその特定の状態を意図的に作り出す仕組みを、回路の論理を変えることなく、既存技術を利用して実現する。既存技術としては、市販されているテストベンチと、テストベンチの機能であるアサーションチェッカーを利用する。なお、本実施の形態では、特定の状態としてキューフル状態を例に挙げて説明する。本実施の形態では、図3に示した回路検証装置10と同様のものを使用するが、記憶部12に格納される回路検証プログラムが従来とは異なる。また、本実施の形態における被検証回路は、図4に示した回路である。
【0027】
次に、本発明の回路検証装置上で動作する回路検証プログラムについて図1を用いて説明する。図1に示すように、この回路検証プログラムは、検証部30と被検証回路記述動作部40から構成される。検証部30は、被検証回路の検証を行う部分であり、テスト制御部31と、信号設定部32と、確認信号監視部33と、遅延処理部34と、ライブラリファイル35から構成される。テスト制御部31は、市販されているテストベンチを利用する。また、信号設定部32と確認信号監視部33とライブラリファイル35は、アサーションチェッカーを利用する。テスト制御部31は、被検証回路記述動作部40の入力信号や被検証回路記述動作部40の動作に必要な動作制御信号を与えるとともに、被検証回路記述動作部40の出力信号の監視を行う。本実施の形態における動作制御信号は、クロックである。
【0028】
また、被検証回路記述動作部40とは、検証部30により検証される部分であり、図4に示した被検証回路をソフトウェアで記述したものである。被検証回路記述動作部40は、メモリ回路記述動作部41と、A回路記述動作部42と、B回路記述動作部43から構成される。メモリ回路記述動作部41は被検証回路記述動作部40を動作させるテストプログラム47を備え、A回路記述動作部42は高速回路記述動作部44とキュー回路記述動作部45と通常回路記述動作部46を備える。
【0029】
次に、回路検証プログラムの動作について、図2のフローチャートを用いて説明する。ここでは一例として、キュー回路記述動作部45がキューフル状態になる場合の、A回路記述動作部42の動作のテストについて説明する。
【0030】
まず、テスト制御部31がメモリ回路記述動作部41におけるテストプログラム47の開始の指示を行うと、テストプログラム47はテスト宣言を信号設定部32へ出力する(S1)。テストプログラム47の開始時において、テスト制御部31は、テストプログラム47を開始させるためのレジスターなどの初期設定等を行う。また、テスト宣言とは、どんなテストを行うかの宣言であり、監視する対象となる確認信号の識別子を含む。確認信号とは、状態遷移したことを表す信号であり、本実施の形態における確認信号は、キュー回路記述動作部45がキューフル状態となったときに発生するキューフル信号である。また、本実施の形態におけるテスト宣言の内容は、キュー回路記述動作部45がキューフル状態になる場合の、A回路記述動作部42の動作のテストである。
【0031】
次に、信号設定部32は、テスト宣言を受け取り、確認信号の識別子をもとにライブラリファイル35からIDとDATAの検索を行う(S2)。ここで、ライブラリファイル35とは、確認信号の識別子と、確認信号に対応するIDと、各IDに対応するDATAとの組を複数格納するデータベースのことである。IDとは、確認信号を発生させる要因となる関与信号の識別子であり、DATAとは、関与信号を操作する操作量のことである。信号設定部32は、確認信号の識別子とIDとDATAをテスト制御部31へ出力する。ここで、関与信号は、通常回路記述動作部46からキュー回路記述動作部45へ出力されるコンプリート信号であり、操作量は、遅延処理部34が通常回路を遅延させる遅延時間である。
【0032】
次に、テスト制御部31は、確認信号の識別子を確認信号監視部33へ出力する。確認信号監視部33は、確認信号の識別子に示された確認信号の監視を開始するために、確認信号フラグをリセットする(S3)。確認信号フラグとは、確認信号が発生したことを示すフラグである。
【0033】
次に、テスト制御部31は、被検証回路記述動作部40の動作に必要な動作制御信号を遅延処理部34へ与えるとともに、IDとDATAを遅延処理部34へ設定する(S4)。本実施の形態における動作制御信号は、クロックである。遅延処理部34は、IDで示されたコンプリート信号を出力する通常回路記述動作部46に対して、DATAで示された操作量だけ動作を遅延させる。すなわち、被検証回路記述動作部40の動作に用いるクロックを、操作量に従って通常回路記述動作部46に与えないことにより、通常回路記述動作部46の動作は遅延し、コンプリート信号が遅延する。
【0034】
次に、テストプログラム47は実行される(S5)。次に、確認信号監視部33は、キュー回路記述動作部45から高速回路記述動作部44へ出力される信号が確認信号、すなわちキューフル信号ならば、確認信号監視部33は確認信号フラグをONとし、テスト制御部31へ出力する。
【0035】
テスト制御部31は、確認信号フラグがONか否かの判断を行い(S6)、確認信号フラグがONであれば(S6,Y)、テストプログラム47を終了してこのフローは終了する。もし、他のテストプログラムがあれば、次のテストプログラムを開始する。
【0036】
一方、確認信号フラグがOFFであれば(S6,N)、テスト制御部31は、DATAの更新を行う(S7)。すなわち予め定められた分だけ操作量を増加させ、通常回路記述動作部46の動作の遅延が増加した状態となる。その後、処理S5へ戻り、再度テストプログラムは実行される。このように、通常回路記述動作部46の動作の遅延をキューフル状態になるまで増加させることで、コンプリート信号は遅延することとなり、結果としてキュー回路記述動作部45にはデータが次々にスタックされ、キューフル状態が作り出される。
【0037】
以上の処理を行うことにより、従来のように、キューフル状態に遷移する可能性のある条件と動作タイミングによる数多くのテストを実行させることなく、キューフル状態に遷移する確率を増加させるため、効率的なテストが実現される。
【0038】
なお、本実施の形態においては、データをスタックする回路としてキュー回路を例に挙げて説明したが、キュー回路の代わりにバッファ回路やパイプライン回路やキャッシュ回路などを用いた場合においても、本発明を適用することができる。また、本実施の形態においては、テスト制御部が遅延時間を更新するとしたが、回路検証装置の入力部において遅延時間の入力を行うようにしても良い。更に本実施の形態において、信号操作手段は遅延手段として動作制御信号を遅延させる場合について説明したが、逆に蓄積回路の前段側の処理を高速化するように動作制御信号を操作するようにしても良い。
【0039】
(付記1)被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証装置であって、
前記被検証回路の動作が記述され、前記被検証回路の動作を行う被検証回路記述動作手段と、
前記被検証回路記述動作手段の動作において該動作速度を制御するための動作制御信号を付与する動作制御信号付与手段と、
前記動作制御信号を操作して前記蓄積回路を飽和状態に遷移させる信号操作手段と、
前記被検証回路記述動作手段の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視する確認信号監視手段と、
を備えたことを特徴とする回路検証装置。
(付記2)付記1に記載の回路検証装置であって、
前記信号操作手段は、前記被検証回路に対して付与される前記動作制御信号に対して、前記確認信号監視手段により、確認信号が一定期間検出されない場合に、前記動作制御信号の操作量を更新することを特徴とする回路検証装置。
(付記3)付記1または付記2に記載の回路検証装置において、
前記信号操作手段は、前記蓄積回路の動作結果を利用する蓄積後段回路に付与される前記動作制御信号を操作し、前記蓄積後段回路の動作を遅延させる遅延手段により構成されることを特徴とする回路検証装置。
(付記4)付記1乃至付記3のいずれかに記載の回路検証装置において、
前記確認信号に関する情報と、前記確認信号を発生させる要因となる関与信号に関する情報と、前記関与信号を制御するための操作量に関する情報との組を複数格納する格納手段を備えると共に、前記被検証回路記述動作手段には、テストプログラムを記憶したメモリ回路の動作が記述されて前記メモリ回路の動作を行うメモリ回路記述動作手段を備え、
更に前記テストプログラムにより指示される確認信号に関する情報に基づいて、前記格納手段から前記関与信号及び前記操作量に関する情報を抽出し、前記信号操作手段に設定する信号設定手段を備えることを特徴とする回路検証装置。
(付記5)付記4に記載の回路検証装置において、
前記信号操作手段は、前記関与信号に関する情報に基づいて、前記動作制御信号を操作する対象が前記蓄積後段回路であると認識することを特徴とする回路検証装置。
(付記6)付記1乃至付記5のいずれかに記載の回路検証装置において、
前記蓄積回路は、キュー回路であることを特徴とする回路検証装置。
(付記7)付記1乃至付記5のいずれかに記載の回路検証装置において、
前記蓄積回路は、バッファ回路であることを特徴とする回路検証装置。
(付記8)付記1乃至付記5のいずれかに記載の回路検証装置において、
前記蓄積回路は、パイプライン回路であることを特徴とする回路検証装置。
(付記9)付記1乃至付記5のいずれかに記載の回路検証装置において、
前記蓄積回路は、キャッシュ回路であることを特徴とする回路検証装置。
(付記10)被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された回路検証プログラムであって、
記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、
前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、
記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップと、
をコンピュータに実行させることを特徴とする回路検証プログラム。
(付記11)被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証方法であって、
記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、
前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、
記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップと、
を備えたことを特徴とする回路検証方法。
【0040】
【発明の効果】
以上に詳述したように本発明によれば、ソフトウェアによる回路検証において、回路の論理を変えずにキュー回路等の蓄積回路が飽和状態に遷移する確率を増加させると共に、回路検証の時間を短縮することができる回路検証装置、回路検証プログラム、回路検証方法を提供することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の回路検証装置上で動作する回路検証プログラムの構成の一例を示すブロック図である。
【図2】キューフル状態を作り出す回路検証プログラムの動作の一例を示すフローチャートである。
【図3】回路検証装置の構成の一例を示すブロック図である。
【図4】被検証回路の構成の一例を示すブロック図である。
【符号の説明】
30 検証部、31 テスト制御部、32 信号設定部、33 確認信号監視部、34 遅延処理部、35 ライブラリファイル、40 被検証回路記述動作部、41 メモリ回路記述動作部、42 A回路記述動作部、43 B回路記述動作部、44 高速回路記述動作部、45 キュー回路記述動作部、46 通常回路記述動作部、47 テストプログラム。
【発明の属する技術分野】
本発明は、ソフトウェアで設計された回路を、ソフトウェアとして動作させることにより、その回路の動作の検証を行う回路検証装置、回路検証プログラム、回路検証方法に関するものであり、特に、蓄積回路を含む回路の検証において、蓄積回路が飽和状態になった場合の回路の動作の検証を行う回路検証装置、回路検証プログラム、回路検証方法に関するものである。
【0002】
【従来の技術】
近年、回路設計はコンピュータ上のソフトウェアを用いて行われている。すなわち、ハードウェアはソフトウェアとして記述され、設計される。そして、ソフトウェアの状態で検証が行われ、実際にハードウェアを製作する前に、その回路の論理が正しいか否かの確認を行うことができる。ソフトウェアによる回路検証は、回路の変更等があった場合にはソフトウェアの手直しのみを行えばよく、手間をかけずに検証できるというメリットがある。
【0003】
例えば、特開平8−329121号公報には、LSI等の回路シミュレーションを行う回路シミュレーション方式において、そのシミュレーション対象回路に対し、擬似的に入力信号を与えるモデルにおいて、そのモデルによって定まる一意的な入力条件に対し、別に定義する進み、遅れ時間を対応付けることにより、モデルによって定める入力信号の発生タイミングに対して自動的にばらつきを持たせる機能を備え、シミュレーションごとに進み、遅れ時間の範囲内の任意の時間で入力信号を発生すること等を可能とした技術が開示されている。この様な技術によれば、LSI等の回路シミュレーションにおいて、モデルより与えられる擬似入力信号を時間幅で離散的又は順次的に変化させることが可能となり、シミュレーション検証を現実的な回路検証に近づけることが可能となり信頼性が高まる。
【0004】
ところで、本発明に関連する回路検証装置について図3を用いて説明する。図3に示すように、この回路検証装置10は、入力部11と、記憶部12と、演算部13と、出力部14から構成される。記憶部12は、回路検証プログラムを格納している。回路検証プログラムは、回路検証機能の他に、ソフトウェアで記述された被検証回路を含む。入力部11は、ユーザからの回路検証機能や被検証回路に関する設定等を受け付ける。演算部13は、被検証回路におけるテストプログラムを実行して回路検証を行い、その結果を出力部14へ出力する。出力部14がユーザへ回路検証の結果を出力することにより、ユーザは被検証回路の論理が正しいか否かを確認することができる。
【0005】
次に、回路検証装置10で検証する被検証回路の構成の一例について図4を用いて説明する。図4に示すように、この被検証回路20は、メモリ回路21と、A回路22と、B回路23から構成される。メモリ回路21は、被検証回路を動作させるテストプログラム27を備える。A回路22は、検証の対象となる部分であり、B回路23は、検証の対象としない部分である。ここでは、例としてA回路22がキュー回路を持つ場合について説明する。A回路22は、高速回路24とキュー回路25と通常回路26から構成される。
【0006】
ここで、A回路22がある演算を行う場合の動作について説明する。高速回路24は、キュー回路25からアクセプト信号が入力されている場合に、外部から演算に用いるデータを取得し、キュー回路25へ出力する。キュー回路25は、高速回路24から入力されたデータをスタックする。キュー回路25は、データをスタックできる場合にはアクセプト信号を、キューフル状態になりデータをスタックできない場合にはキューフル信号を、高速回路24へ出力する。キュー回路25は、通常回路26からコンプリート信号が入力された場合、スタックした順番にデータを通常回路26へ出力する。通常回路26は、キュー回路25から入力されたデータを用いて演算を行い、演算が終了したらコンプリート信号をキュー回路25へ出力する。
【0007】
以上のような動作を行うA回路22において、例えばキューフル状態における高速回路24の動作を検証する場合、キュー回路25がキューフル状態に遷移する確率は極めて小さいことから、検証が困難であった。
【0008】
そこで従来は、第1の方法として、キューフル状態に遷移する可能性のある条件をできるだけ多く作成するとともに、実際のハードウェアの回路における様々な動作タイミングを考慮して、作成した条件と動作タイミングとの組み合わせによるテストを、回路検証装置により、キューフル状態に遷移するまで順番に行うという方法が行われていた。また、第2の方法として、キュー回路25自体の論理を変えることによりキューフル状態に遷移する確率を増加させるという方法が行われていた。例えば、実際のキュー回路25は4段スタックであるのに対して、2段スタックに変えることによりキューフル状態に遷移する確率を増加させていた。
【0009】
【発明が解決しようとする課題】
しかしながら、第1の方法によると、キューフル状態に遷移する可能性のある条件が数多く考えられる上に、実際のハードウェアの回路における様々な動作タイミングを考慮すると、テストの数は天文学的な組み合わせとなる。一方で、キューフル状態に遷移する確率は極めて小さいことから、キューフル状態に遷移するまでにかかる時間が非常に長くなる、あるいは、確実にキューフル状態に遷移するとは限らない、という問題があった。
【0010】
また、第2の方法によると、たとえ2段スタックのキュー回路に論理を変更したA回路22が正常に動作したとしても、実際の4段スタックのキュー回路に論理を戻したときにA回路22が正常に動作するかどうかわからないという問題が生じる。すなわち、実際の論理と異なる回路を検証することになるという問題があった。
【0011】
更に別の問題として、回路検証では、ハードウェア上で起こりうる状態全てについて検証することが理想である。しかし、回路検証装置でソフトウェアにより行われるシミュレーション速度は、実機と比較して10の6乗倍程度遅いため、できるだけ似たような検証は行わないようにして、効率よく回路を検証するようにする必要があり、このため、全ての状態について検証することができなかったり、或いは効率良く検証するための工夫に労力を必要としていた。
【0012】
本発明は上述した課題に鑑みてなされたものであり、ソフトウェアによる回路検証において、回路の論理を変えずにキュー回路等の蓄積回路が飽和状態に遷移する確率を増加させると共に、回路検証の時間を短縮することができる回路検証装置、回路検証プログラム、回路検証方法を提供することを目的とする。
【0013】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証装置であって、前記被検証回路の動作が記述され、前記被検証回路の動作を行う被検証回路記述動作手段と、前記被検証回路記述動作手段の動作において該動作速度を制御するための動作制御信号を付与する動作制御信号付与手段と、前記動作制御信号を操作して前記蓄積回路を飽和状態に遷移させる信号操作手段と、前記被検証回路記述動作手段の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視する確認信号監視手段とを備えたことを特徴とするものである。
【0014】
このような構成によれば、動作制御信号を操作することにより、検証回路記述動作手段の蓄積回路が飽和状態に遷移する確率を増加させると共に、確認信号を監視することにより、被検証回路記述動作手段の検証が完了したか否かを判断することができる。なお、実施の形態において、被検証回路記述動作手段は被検証回路記述動作部40で構成され、蓄積回路はキュー回路記述動作部45で構成され、動作制御信号付与手段はテスト制御部31で構成され、信号操作手段は遅延処理部34で構成され、確認信号監視手段は確認信号監視部33で構成される。
【0015】
また、本発明に係る回路検証装置において、前記信号操作手段は、前記被検証回路に対して付与される前記動作制御信号に対して、前記確認信号監視手段により、確認信号が一定期間検出されない場合に、前記動作制御信号の操作量を更新することを特徴とするものである。
【0016】
このような構成によれば、一定期間確認信号が検出されない場合に動作制御信号の操作量を更新することにより、被検証回路記述動作手段の蓄積回路部分が飽和状態に遷移する確率を増加させることができる。
【0017】
また、本発明に係る回路検証装置において、前記信号操作手段は、前記蓄積回路の動作結果を利用する蓄積後段回路に付与される前記動作制御信号を操作し、前記蓄積後段回路の動作を遅延させる遅延手段により構成されることを特徴とするものである。
【0018】
このような構成によれば、被検証回路記述動作手段のうち蓄積後段回路部分の動作を遅延させることにより、被検証回路記述動作手段の蓄積回路部分が飽和状態に遷移する確率を増加させることができる。なお、実施の形態において、蓄積後段回路は通常回路記述動作部46で構成され、遅延手段は遅延処理部34で構成される。
【0019】
また、本発明に係る回路検証装置において、前記確認信号に関する情報と、前記確認信号を発生させる要因となる関与信号に関する情報と、前記関与信号を制御するための操作量に関する情報との組を複数格納する格納手段を備えると共に、前記被検証回路記述動作手段には、テストプログラムを記憶したメモリ回路の動作が記述されて前記メモリ回路の動作を行うメモリ回路記述動作手段を備え、更に前記テストプログラムにより指示される確認信号に関する情報に基づいて、前記格納手段から前記関与信号及び前記操作量に関する情報を抽出し、前記信号操作手段に設定する信号設定手段を備えることを特徴とすることができ、このような構成によれば、信号設定手段が、テストプログラムにより指示された確認信号に関する情報に従って、関与信号に関する情報と操作量に関する情報を格納手段から検索することにより、回路検証に必要な信号に関する情報や操作量に関する情報を得ることができる。なお、実施の形態において、格納手段はライブラリファイル35で構成され、信号設定手段は信号設定部32で構成される。
【0020】
また、本発明に係る回路検証装置において、前記信号操作手段は、前記関与信号に関する情報に基づいて、前記動作制御信号を操作する対象が前記蓄積後段回路であると認識することを特徴とすることができ、このような構成によれば、信号操作手段は、関与信号を出力する蓄積後段回路に与える動作制御信号を操作することができる。
【0021】
また、本発明に係る回路検証装置において、前記蓄積回路は、キュー回路、バッファ回路、パイプライン回路、又はキャッシュ回路のいずれかであることを特徴とすることができ、このような構成によれば、キュー回路やバッファ回路やパイプライン回路やキャッシュ回路が飽和状態に遷移する確率を増加させ、検証の確実性を向上させることができる。
【0022】
さらに、本発明は、被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された回路検証プログラムであって、記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップとをコンピュータに実行させることを特徴とするものである。
【0023】
このような構成によれば、動作制御信号を操作することにより、検証回路記述動作手段の蓄積回路が飽和状態に遷移する確率を増加させると共に、確認信号を監視することにより、被検証回路記述動作手段の検証が完了したか否かを判断することができる。なお、本発明において、上記コンピュータにより読取り可能な媒体は、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【0024】
さらに、本発明は、被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証方法であって、記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップとを備えたことを特徴とするものである。
【0025】
このような構成によれば、動作制御信号を操作することにより、検証回路記述動作手段の蓄積回路が飽和状態に遷移する確率を増加させると共に、確認信号を監視することにより、被検証回路記述動作手段の検証が完了したか否かを判断することができる。
【0026】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。本実施の形態では、通常では極めて確率の低い特定の状態遷移を監視する仕組みとその特定の状態を意図的に作り出す仕組みを、回路の論理を変えることなく、既存技術を利用して実現する。既存技術としては、市販されているテストベンチと、テストベンチの機能であるアサーションチェッカーを利用する。なお、本実施の形態では、特定の状態としてキューフル状態を例に挙げて説明する。本実施の形態では、図3に示した回路検証装置10と同様のものを使用するが、記憶部12に格納される回路検証プログラムが従来とは異なる。また、本実施の形態における被検証回路は、図4に示した回路である。
【0027】
次に、本発明の回路検証装置上で動作する回路検証プログラムについて図1を用いて説明する。図1に示すように、この回路検証プログラムは、検証部30と被検証回路記述動作部40から構成される。検証部30は、被検証回路の検証を行う部分であり、テスト制御部31と、信号設定部32と、確認信号監視部33と、遅延処理部34と、ライブラリファイル35から構成される。テスト制御部31は、市販されているテストベンチを利用する。また、信号設定部32と確認信号監視部33とライブラリファイル35は、アサーションチェッカーを利用する。テスト制御部31は、被検証回路記述動作部40の入力信号や被検証回路記述動作部40の動作に必要な動作制御信号を与えるとともに、被検証回路記述動作部40の出力信号の監視を行う。本実施の形態における動作制御信号は、クロックである。
【0028】
また、被検証回路記述動作部40とは、検証部30により検証される部分であり、図4に示した被検証回路をソフトウェアで記述したものである。被検証回路記述動作部40は、メモリ回路記述動作部41と、A回路記述動作部42と、B回路記述動作部43から構成される。メモリ回路記述動作部41は被検証回路記述動作部40を動作させるテストプログラム47を備え、A回路記述動作部42は高速回路記述動作部44とキュー回路記述動作部45と通常回路記述動作部46を備える。
【0029】
次に、回路検証プログラムの動作について、図2のフローチャートを用いて説明する。ここでは一例として、キュー回路記述動作部45がキューフル状態になる場合の、A回路記述動作部42の動作のテストについて説明する。
【0030】
まず、テスト制御部31がメモリ回路記述動作部41におけるテストプログラム47の開始の指示を行うと、テストプログラム47はテスト宣言を信号設定部32へ出力する(S1)。テストプログラム47の開始時において、テスト制御部31は、テストプログラム47を開始させるためのレジスターなどの初期設定等を行う。また、テスト宣言とは、どんなテストを行うかの宣言であり、監視する対象となる確認信号の識別子を含む。確認信号とは、状態遷移したことを表す信号であり、本実施の形態における確認信号は、キュー回路記述動作部45がキューフル状態となったときに発生するキューフル信号である。また、本実施の形態におけるテスト宣言の内容は、キュー回路記述動作部45がキューフル状態になる場合の、A回路記述動作部42の動作のテストである。
【0031】
次に、信号設定部32は、テスト宣言を受け取り、確認信号の識別子をもとにライブラリファイル35からIDとDATAの検索を行う(S2)。ここで、ライブラリファイル35とは、確認信号の識別子と、確認信号に対応するIDと、各IDに対応するDATAとの組を複数格納するデータベースのことである。IDとは、確認信号を発生させる要因となる関与信号の識別子であり、DATAとは、関与信号を操作する操作量のことである。信号設定部32は、確認信号の識別子とIDとDATAをテスト制御部31へ出力する。ここで、関与信号は、通常回路記述動作部46からキュー回路記述動作部45へ出力されるコンプリート信号であり、操作量は、遅延処理部34が通常回路を遅延させる遅延時間である。
【0032】
次に、テスト制御部31は、確認信号の識別子を確認信号監視部33へ出力する。確認信号監視部33は、確認信号の識別子に示された確認信号の監視を開始するために、確認信号フラグをリセットする(S3)。確認信号フラグとは、確認信号が発生したことを示すフラグである。
【0033】
次に、テスト制御部31は、被検証回路記述動作部40の動作に必要な動作制御信号を遅延処理部34へ与えるとともに、IDとDATAを遅延処理部34へ設定する(S4)。本実施の形態における動作制御信号は、クロックである。遅延処理部34は、IDで示されたコンプリート信号を出力する通常回路記述動作部46に対して、DATAで示された操作量だけ動作を遅延させる。すなわち、被検証回路記述動作部40の動作に用いるクロックを、操作量に従って通常回路記述動作部46に与えないことにより、通常回路記述動作部46の動作は遅延し、コンプリート信号が遅延する。
【0034】
次に、テストプログラム47は実行される(S5)。次に、確認信号監視部33は、キュー回路記述動作部45から高速回路記述動作部44へ出力される信号が確認信号、すなわちキューフル信号ならば、確認信号監視部33は確認信号フラグをONとし、テスト制御部31へ出力する。
【0035】
テスト制御部31は、確認信号フラグがONか否かの判断を行い(S6)、確認信号フラグがONであれば(S6,Y)、テストプログラム47を終了してこのフローは終了する。もし、他のテストプログラムがあれば、次のテストプログラムを開始する。
【0036】
一方、確認信号フラグがOFFであれば(S6,N)、テスト制御部31は、DATAの更新を行う(S7)。すなわち予め定められた分だけ操作量を増加させ、通常回路記述動作部46の動作の遅延が増加した状態となる。その後、処理S5へ戻り、再度テストプログラムは実行される。このように、通常回路記述動作部46の動作の遅延をキューフル状態になるまで増加させることで、コンプリート信号は遅延することとなり、結果としてキュー回路記述動作部45にはデータが次々にスタックされ、キューフル状態が作り出される。
【0037】
以上の処理を行うことにより、従来のように、キューフル状態に遷移する可能性のある条件と動作タイミングによる数多くのテストを実行させることなく、キューフル状態に遷移する確率を増加させるため、効率的なテストが実現される。
【0038】
なお、本実施の形態においては、データをスタックする回路としてキュー回路を例に挙げて説明したが、キュー回路の代わりにバッファ回路やパイプライン回路やキャッシュ回路などを用いた場合においても、本発明を適用することができる。また、本実施の形態においては、テスト制御部が遅延時間を更新するとしたが、回路検証装置の入力部において遅延時間の入力を行うようにしても良い。更に本実施の形態において、信号操作手段は遅延手段として動作制御信号を遅延させる場合について説明したが、逆に蓄積回路の前段側の処理を高速化するように動作制御信号を操作するようにしても良い。
【0039】
(付記1)被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証装置であって、
前記被検証回路の動作が記述され、前記被検証回路の動作を行う被検証回路記述動作手段と、
前記被検証回路記述動作手段の動作において該動作速度を制御するための動作制御信号を付与する動作制御信号付与手段と、
前記動作制御信号を操作して前記蓄積回路を飽和状態に遷移させる信号操作手段と、
前記被検証回路記述動作手段の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視する確認信号監視手段と、
を備えたことを特徴とする回路検証装置。
(付記2)付記1に記載の回路検証装置であって、
前記信号操作手段は、前記被検証回路に対して付与される前記動作制御信号に対して、前記確認信号監視手段により、確認信号が一定期間検出されない場合に、前記動作制御信号の操作量を更新することを特徴とする回路検証装置。
(付記3)付記1または付記2に記載の回路検証装置において、
前記信号操作手段は、前記蓄積回路の動作結果を利用する蓄積後段回路に付与される前記動作制御信号を操作し、前記蓄積後段回路の動作を遅延させる遅延手段により構成されることを特徴とする回路検証装置。
(付記4)付記1乃至付記3のいずれかに記載の回路検証装置において、
前記確認信号に関する情報と、前記確認信号を発生させる要因となる関与信号に関する情報と、前記関与信号を制御するための操作量に関する情報との組を複数格納する格納手段を備えると共に、前記被検証回路記述動作手段には、テストプログラムを記憶したメモリ回路の動作が記述されて前記メモリ回路の動作を行うメモリ回路記述動作手段を備え、
更に前記テストプログラムにより指示される確認信号に関する情報に基づいて、前記格納手段から前記関与信号及び前記操作量に関する情報を抽出し、前記信号操作手段に設定する信号設定手段を備えることを特徴とする回路検証装置。
(付記5)付記4に記載の回路検証装置において、
前記信号操作手段は、前記関与信号に関する情報に基づいて、前記動作制御信号を操作する対象が前記蓄積後段回路であると認識することを特徴とする回路検証装置。
(付記6)付記1乃至付記5のいずれかに記載の回路検証装置において、
前記蓄積回路は、キュー回路であることを特徴とする回路検証装置。
(付記7)付記1乃至付記5のいずれかに記載の回路検証装置において、
前記蓄積回路は、バッファ回路であることを特徴とする回路検証装置。
(付記8)付記1乃至付記5のいずれかに記載の回路検証装置において、
前記蓄積回路は、パイプライン回路であることを特徴とする回路検証装置。
(付記9)付記1乃至付記5のいずれかに記載の回路検証装置において、
前記蓄積回路は、キャッシュ回路であることを特徴とする回路検証装置。
(付記10)被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された回路検証プログラムであって、
記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、
前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、
記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップと、
をコンピュータに実行させることを特徴とする回路検証プログラム。
(付記11)被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証方法であって、
記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、
前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、
記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップと、
を備えたことを特徴とする回路検証方法。
【0040】
【発明の効果】
以上に詳述したように本発明によれば、ソフトウェアによる回路検証において、回路の論理を変えずにキュー回路等の蓄積回路が飽和状態に遷移する確率を増加させると共に、回路検証の時間を短縮することができる回路検証装置、回路検証プログラム、回路検証方法を提供することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の回路検証装置上で動作する回路検証プログラムの構成の一例を示すブロック図である。
【図2】キューフル状態を作り出す回路検証プログラムの動作の一例を示すフローチャートである。
【図3】回路検証装置の構成の一例を示すブロック図である。
【図4】被検証回路の構成の一例を示すブロック図である。
【符号の説明】
30 検証部、31 テスト制御部、32 信号設定部、33 確認信号監視部、34 遅延処理部、35 ライブラリファイル、40 被検証回路記述動作部、41 メモリ回路記述動作部、42 A回路記述動作部、43 B回路記述動作部、44 高速回路記述動作部、45 キュー回路記述動作部、46 通常回路記述動作部、47 テストプログラム。
Claims (5)
- 被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証装置であって、
前記被検証回路の動作が記述され、前記被検証回路の動作を行う被検証回路記述動作手段と、
前記被検証回路記述動作手段の動作において該動作速度を制御するための動作制御信号を付与する動作制御信号付与手段と、
前記動作制御信号を操作して前記蓄積回路を飽和状態に遷移させる信号操作手段と、
前記被検証回路記述動作手段の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視する確認信号監視手段と、
を備えたことを特徴とする回路検証装置。 - 請求項1に記載の回路検証装置であって、
前記信号操作手段は、前記被検証回路に対して付与される前記動作制御信号に対して、前記確認信号監視手段により、確認信号が一定期間検出されない場合に、前記動作制御信号の操作量を更新することを特徴とする回路検証装置。 - 請求項1または請求項2に記載の回路検証装置において、
前記信号操作手段は、前記蓄積回路の動作結果を利用する蓄積後段回路に付与される前記動作制御信号を操作し、前記蓄積後段回路の動作を遅延させる遅延手段により構成されることを特徴とする回路検証装置。 - 被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証をコンピュータに実行させるために、コンピュータにより読取可能な媒体に記憶された回路検証プログラムであって、
記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、
前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、
記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップと、
をコンピュータに実行させることを特徴とする回路検証プログラム。 - 被検証回路に含まれる蓄積回路が飽和状態になった場合の動作の検証を行う回路検証方法であって、
記述された被検証回路の動作において、前記被検証回路の動作速度を制御するための動作制御信号を付与しつつ前記被検証回路を動作させるステップと、
前記動作制御信号を操作して前記蓄積回路の出力が利用される蓄積後段回路の動作を遅延させるステップと、
記述された前記被検証回路の動作において前記蓄積回路が前記飽和状態へ遷移したことを表す確認信号を監視するステップと、
を備えたことを特徴とする回路検証方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002219887A JP2004062522A (ja) | 2002-07-29 | 2002-07-29 | 回路検証装置、回路検証プログラム、回路検証方法 |
US10/336,828 US20040019863A1 (en) | 2002-07-29 | 2003-01-06 | Circuit verification apparatus, circuit verification program, and circuit verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002219887A JP2004062522A (ja) | 2002-07-29 | 2002-07-29 | 回路検証装置、回路検証プログラム、回路検証方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004062522A true JP2004062522A (ja) | 2004-02-26 |
Family
ID=30768005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002219887A Withdrawn JP2004062522A (ja) | 2002-07-29 | 2002-07-29 | 回路検証装置、回路検証プログラム、回路検証方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040019863A1 (ja) |
JP (1) | JP2004062522A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156728A (ja) * | 2005-12-02 | 2007-06-21 | Hitachi Information & Communication Engineering Ltd | 論理検証方法及び論理検証システム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EA201290541A1 (ru) | 2009-12-21 | 2013-05-30 | Амбркс, Инк. | Модифицированные бычьи соматотропиновые полипептиды и их применение |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815688A (en) * | 1996-10-09 | 1998-09-29 | Hewlett-Packard Company | Verification of accesses in a functional model of a speculative out-of-order computer system |
US6606588B1 (en) * | 1997-03-14 | 2003-08-12 | Interuniversitair Micro-Elecktronica Centrum (Imec Vzw) | Design apparatus and a method for generating an implementable description of a digital system |
US6513144B1 (en) * | 1999-04-22 | 2003-01-28 | Synopsys, Inc. | Method and apparatus for random stimulus generation |
US6701491B1 (en) * | 1999-06-26 | 2004-03-02 | Sei-Yang Yang | Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it |
US6871298B1 (en) * | 1999-11-12 | 2005-03-22 | Obsidian Software, Inc. | Method and apparatus that simulates the execution of paralled instructions in processor functional verification testing |
US6594804B1 (en) * | 1999-11-22 | 2003-07-15 | Averant, Inc. | Determining verification coverage using circuit properties |
US6810508B1 (en) * | 2000-05-04 | 2004-10-26 | Xilinx, Inc. | Method for automatically-remapping an HDL netlist to provide compatibility with pre-synthesis behavioral test benches |
US6813599B1 (en) * | 2000-07-17 | 2004-11-02 | Silicon Graphics, Inc. | Efficient memory structure simulation for sequential circuit design verification |
US6718521B1 (en) * | 2000-08-14 | 2004-04-06 | International Business Machines Corporation | Method and system for measuring and reporting test coverage of logic designs |
TW478255B (en) * | 2000-12-13 | 2002-03-01 | Via Tech Inc | Circuit static timing analysis method using generated clock |
US6457161B1 (en) * | 2001-03-27 | 2002-09-24 | Benoit Nadeau-Dostie | Method and program product for modeling circuits with latch based design |
US6742166B2 (en) * | 2001-07-20 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | System and method for evaluating functional coverage linked to a verification test plan |
US6820243B1 (en) * | 2001-09-19 | 2004-11-16 | Nassda Corporation | Hybrid system of static analysis and dynamic simulation for circuit design |
US6594805B1 (en) * | 2001-11-13 | 2003-07-15 | Lsi Logic Corporation | Integrated design system and method for reducing and avoiding crosstalk |
US6668361B2 (en) * | 2001-12-10 | 2003-12-23 | International Business Machines Corporation | Method and system for use of a field programmable function within a chip to enable configurable I/O signal timing characteristics |
US6782518B2 (en) * | 2002-03-28 | 2004-08-24 | International Business Machines Corporation | System and method for facilitating coverage feedback testcase generation reproducibility |
-
2002
- 2002-07-29 JP JP2002219887A patent/JP2004062522A/ja not_active Withdrawn
-
2003
- 2003-01-06 US US10/336,828 patent/US20040019863A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156728A (ja) * | 2005-12-02 | 2007-06-21 | Hitachi Information & Communication Engineering Ltd | 論理検証方法及び論理検証システム |
Also Published As
Publication number | Publication date |
---|---|
US20040019863A1 (en) | 2004-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255851B1 (en) | Method and system for timing design | |
JP2005122298A (ja) | タイミング解析装置、タイミング解析方法及びプログラム | |
JP2006018413A (ja) | プロセッサおよびパイプライン再構成制御方法 | |
JP5040758B2 (ja) | シミュレーション装置、シミュレーション方法及びプログラム | |
WO2006033357A1 (ja) | 試験シミュレータ、試験シミュレーションプログラム、及び記録媒体 | |
JP2002163127A (ja) | トレース制御回路 | |
US8321825B2 (en) | Method and system for synthesizing relative timing constraints on an integrated circuit design to facilitate timing verification | |
US7840924B2 (en) | Apparatus, method, and program for verifying logic circuit operating with multiple clock signals | |
JP2004062522A (ja) | 回路検証装置、回路検証プログラム、回路検証方法 | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US7080335B2 (en) | Methods for modeling latch transparency | |
JP2006318121A (ja) | 遅延付加rtl論理シミュレーション方法および装置 | |
JP2004145712A (ja) | 半導体設計における動作記述の等価性検証方法 | |
KR100439073B1 (ko) | 기능 평가 기능을 구비한 반도체 장치 | |
JP6949440B2 (ja) | ベクタ生成装置及びベクタ生成用プログラム | |
JP2005277909A (ja) | 論理回路設計システム、論理回路、論理回路設計方法およびそのプログラム | |
JP2006146332A (ja) | データ処理システム検証装置と方法およびプログラム | |
JP2008117110A (ja) | 機能検証方法及び機能検証装置 | |
JP4351961B2 (ja) | シミュレータプログラム及び記憶媒体 | |
JP2009187119A (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
US20060282250A1 (en) | Logic simulation method and system | |
US20020072888A1 (en) | Method and system for efficiently overriding net values in a logic simulator machine | |
JPH11232131A (ja) | データ処理装置のテスト方法 | |
JP2006163600A (ja) | 内部信号監視方法及び論理シミュレーション装置 | |
JP3678656B2 (ja) | インタフェース回路、論理回路検証方法、論理装置、情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20051004 |