JP5942417B2 - シミュレーション装置、シミュレーション方法及びシミュレーションプログラム - Google Patents

シミュレーション装置、シミュレーション方法及びシミュレーションプログラム Download PDF

Info

Publication number
JP5942417B2
JP5942417B2 JP2011280643A JP2011280643A JP5942417B2 JP 5942417 B2 JP5942417 B2 JP 5942417B2 JP 2011280643 A JP2011280643 A JP 2011280643A JP 2011280643 A JP2011280643 A JP 2011280643A JP 5942417 B2 JP5942417 B2 JP 5942417B2
Authority
JP
Japan
Prior art keywords
circuit
data
clock
simulation
input
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.)
Active
Application number
JP2011280643A
Other languages
English (en)
Other versions
JP2013131088A (ja
Inventor
弘樹 成田
弘樹 成田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011280643A priority Critical patent/JP5942417B2/ja
Priority to US13/674,468 priority patent/US20130166269A1/en
Publication of JP2013131088A publication Critical patent/JP2013131088A/ja
Application granted granted Critical
Publication of JP5942417B2 publication Critical patent/JP5942417B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、シミュレーション装置、シミュレーション方法及びシミュレーションプログラムに関する。
半導体装置の内部回路についての論理検証の作業においては、一般的に、論理シミュレーションが行われる。論理シミュレーションの方式は、イベント・ドリブン型とサイクル・ベース型とに大別される。
イベント・ドリブン型シミュレーションにおいては、論理回路の間で信号「1」又は「0」が伝播されると共に、伝播における遅延時間が算出される。従って、イベント・ドリブン型シミュレーションは、正確なシミュレーションが可能である。一方、サイクル・ベース型シミュレーションにおいては、論理回路の状態がクロックのサイクルを単位として得ることができ、その中間の論理回路の状態や遅延時間等は算出されない。従って、高速なシミュレーションが可能である。
例えば大規模なLSI(Large Scale Integrated circuit)等についての論理検証のためのシミュレーションにおいては、短時間で可能な限り多くの動作や状態の検証を行うことが求められる場合がある。そこで、単位時間当たりにより多くの動作や状態の検証を行うことができるサイクル・ベース型シミュレーションによる論理検証を行うことが求められる場合がある。
なお、入力端子でデータ信号を受取るステップと、システムクロック周波数を有するシステムクロック信号を受取るステップと、システムクロック周波数から分割された周波数を有する位相クロック信号を受取るステップとを含む方法であって、データ信号が、位相クロック信号が活性であるとき出力端子に移され、かつ位相クロック信号が活性であるときにシステムクロック信号のエッジ遷移が発生すると、ラッチされ、位相クロック信号が不活性になると、ラッチされたデータ信号はシステムクロック信号のエッジ遷移の発生の際再びラッチされ、ラッチされたデータ信号は、位相クロック信号が不活性になると、出力端子に移される方法が提案されている。
特開平8−262104号公報
サイクル・ベース型シミュレーションにおいては、遅延が正確に表現できず、また、シミュレーション対象とすることができる論理回路が制限される等の制限がある。このため、サイクル・ベース型シミュレーションにより論理検証を行おうとしても、論理検証ができない場合がある。
本発明は、シミュレーション対象とすることができる論理回路の制限を少なくすることが可能なシミュレーション装置を提供することを目的とする。
開示されるシミュレーション装置は、記憶部と、回路データ生成部と、シミュレーション部とを含む。記憶部は、クロックと第1のラッチ回路の出力データとに従って制御信号を出力する制御回路と、制御信号に従って入力データを保持又は出力する第1のラッチ回路とを含むクロックゲーティング回路が含まれる回路データを格納する。回路データ生成部は、記憶部から読み出した回路データにおいて、クロックゲーティング回路における第1のラッチ回路を、制御回路の出力する制御信号に従って入力データ又は第2のラッチ回路の出力データのいずれか一方を選択的に出力する選択回路と、選択回路の出力をデータ入力端子に入力され、参照クロックをクロック入力端子に入力され、参照クロックに従って、選択回路の出力をデータ出力端子から出力データとして出力する第2のラッチ回路とにより置換することにより、置換回路データを生成する。シミュレーション部は、参照クロックに従って、参照クロックと予め定められた関係にあるパルスの予め定められた周期を入力データの取り込み期間又はホールド期間に割り当て、パルスをクロックとして制御回路に入力し、参照クロックを第2のラッチ回路に入力することにより、生成した置換回路データについてのシミュレーションを行う。
開示されるシミュレーション装置によれば、シミュレーション対象とすることができる論理回路の制限を少なくすることができ、より多くの論理回路についてサイクル・ベース型シミュレーションにより論理検証を行うことができる。
シミュレーション装置の一例を示す図である。 シミュレーション装置のハードウェア構成の一例を示す図である。 回路データ変換の説明図である。 回路データ変換の説明図である。 回路データ変換の説明図である。 シミュレーションの説明図である。 シミュレーションの説明図である。 シミュレーションの説明図である。 シミュレーションの一例を示す図である。 シミュレーションの他の一例を示す図である。 シミュレーションの一例を示す図である。 シミュレーション処理フローチャートである。 クロックゲーティング回路の説明図である。 本発明者が検討したクロックゲーティング回路のシミュレーションの説明図である。
図13は、クロックゲーティング回路の説明図である。
図13に示すクロックゲーティング回路は、D型フリップフロップ(以下、FFという)151と組み合わせ回路152とを含む。クロックゲーティング回路は、組み合わせ回路152によりFF151に供給されるクロックを停止することにより、FF151における消費電力を抑え、結果として、半導体装置全体としての消費電力を抑える。FF151は、クロック入力端子CKに入力された制御信号に従って、データ入力端子Dに入力された入力データを保持又は出力するラッチ回路である。FF151の出力は、データ出力端子Qから出力される。組み合わせ回路152は、クロックに従ってFF151の制御信号を出力する制御回路である。組み合わせ回路152により、FF151へのクロックの送出が停止される。
図14は、本発明者が検討したクロックゲーティング回路のシミュレーションの説明図である。
クロックゲーティング回路においては、図13に示すように、FF151の出力が、組み合わせ回路152を経由して、FF151のクロック入力端子CKに入力される。このため、サイクル・ベース型シミュレーション装置は、FF151のデータ出力端子Qからクロック入力端子CKへのフィードバックループを検出する。しかし、サイクル・ベース型シミュレーション装置においては、入力データの取り込みのタイミングを保障することができないので、ある論理回路の出力をその論理回路のクロック入力に与えるフィードバックループを含む回路をシミュレーション対象とすることは、禁止されている。従って、このままではサイクル・ベース型シミュレーションができない。
そこで、クロックゲーティング回路を含む論理回路についてサイクル・ベース型シミュレーションをする場合は、シミュレーション装置が、図14(B)に示すように、クロック入力端子CKへのフィードバックループにバッファFF153を挿入する。そして、シミュレーション装置は、バッファFF153を挿入したクロックゲーティング回路について、サイクル・ベース型シミュレーションを行う。バッファFF153は、シミュレーションのためにシミュレーション用の回路データ上で挿入され、実際に製造される半導体装置の回路には挿入されない。なお、FF151’は、FF151の前段のクロックゲーティング回路に含まれる論理回路である。
バッファFF153は、シミュレーション装置のシステムクロックで駆動される。従って、FF151の出力は最初のシステムクロックに同期して一旦バッファFF153に保持され、その後、後続のシステムクロックに同期してバッファFF153の出力がクロック入力端子CKへ入力される。これにより、図14(B)のループル#R1に点線で示すような、クロック入力端子CKへのフィードバックループは解消される。従って、クロックゲーティング回路を含む論理回路について、サイクル・ベース型シミュレーションを実行することができる。
しかし、FF151の出力を最初のシステムクロックに同期してバッファFF153に保持し、その後、後続のシステムクロックに同期してバッファFF153の出力を組み合わせ回路152及びクロック入力端子CKへ入力することが、新たに必要となる。換言すれば、クロックゲーティング回路で使用するクロックの「1サイクル」内において、バッファFF153がFF151の出力を取り込む第1のサイクルと、バッファFF153の出力を組み合わせ回路152及びクロック入力端子CKへ入力する第2のサイクルとを、別々のサイクルとして分離することが求められる。
このために、図14(A)に示すように、クロックゲーティング回路で使用するクロックの「1サイクル」に対して、シミュレーションのためのシステムクロックが「複数のサイクル」必要となる。図14(A)において、「クロックサイクル数」は組み合わせ回路152に入力されるクロックのサイクル数を表し、「シミュレータのサイクル数」はシミュレーション装置のシステムクロックのサイクル数を表す。前述したように、1個の「クロックサイクル数」内で、前半において前述の第1のサイクルが実行され、後半において前述の第2のサイクルが実行される。
図14(A)に示すように、「シミュレータのサイクル数」が「クロックサイクル数」の2倍となる。換言すれば、「シミュレータのサイクル数」が「クロックサイクル数」が2:1となる。従って、クロックの「1サイクル」の分をシミュレーションするために、「1サイクル」の2倍である「2サイクル」のシステムクロックを必要とする。換言すれば、シミュレーションの速度が、例えば1/2になる。このように、クロックゲーティング回路の動作に必要なクロックのサイクル数に比べ、シミュレーションのために必要なシステムクロックのサイクル数が増加し、結果としてシミュレーション装置における計算効率が悪化する。
開示されるシミュレーション装置によれば、シミュレーション装置におけるシミュレーションの効率を低下させることなく、クロックゲーティング回路を含む論理回路について、サイクル・ベース型シミュレーションを実行することができる。
図1は、シミュレーション装置の一例を示す図である。
シミュレーション装置1は、回路データ変換部11と、シミュレーション部12と、回路データ格納部13と、ライブラリ14と、置換回路データ格納部15と、パルス生成部16と、参照クロック生成部17と、入出力部18とを含む。
回路データ格納部13は、回路データを格納する記憶部である。回路データは、例えば、シミュレーションに先立って、シミュレーション装置1以外のコンピュータにより生成され、入出力部18を介して、回路データ格納部13に格納される。回路データは、実際に製造される半導体装置の回路を表すデータである。回路データには、後述するように、制御回路とラッチ回路とを含むクロックゲーティング回路が含まれる。
ライブラリ14は、クロックゲーティング回路におけるラッチ回路を置換するべき、選択回路とラッチ回路との対を格納する。ライブラリ14は、シミュレーションに先立って、予め生成される。
回路データ変換部11は、回路データ格納部13から読み出した回路データに基づいて、置換回路データを生成する回路データ生成部である。置換回路データは、読み出した回路データにおいて、クロックゲーティング回路におけるラッチ回路を、選択回路とラッチ回路とを含む置換回路5により置換することにより生成される。回路データ変換部11は、選択回路とラッチ回路とを含む置換回路5をライブラリ14から読み出して、読み出した選択回路とラッチ回路とを含む置換回路5によりクロックゲーティング回路におけるラッチ回路を置換する。生成された置換回路データは、置換回路データ格納部15に格納される。
置換回路データ格納部15は、置換回路データを格納する記憶部であり、回路データ変換部11により生成された置換回路データを格納する。置換回路データは、回路データに基づいて生成された回路データと等価なデータである。置換回路データは、実際に製造される半導体装置の回路を表すデータではなく、シミュレーション用に生成されシミュレーションに用いられるデータである。
シミュレーション部12は、置換回路データについてサイクル・ベース型シミュレーションを行う。これにより、置換回路データは回路データと等価であるので、回路データについてのサイクル・ベース型シミュレーションが行われたことになる。シミュレーション部12は、パルスをクロックとして制御回路に入力し、参照クロックをラッチ回路に入力することにより、生成した置換回路データについてのシミュレーションを行う。パルスは、参照クロックと予め定められた関係にある。
パルス生成部16は、パルスを生成して、シミュレーション部12に供給する。シミュレーション部12は、供給されたパルスを、クロックとして制御回路に入力する。パルスは、実際には、クロックであっても良く、図3に示す置換後のクロックゲーティング回路4の組み合わせ回路6に入力される信号を、図3に示す置換前のクロックゲーティング回路3の組み合わせ回路6に入力されるクロックと区別するために、「パルス」ということとする。
置換前のクロックゲーティング回路3の組み合わせ回路6に入力されるクロックは、実際に製造される半導体装置において、クロックゲーティング回路3に実際に動作用クロックとして供給される信号である。置換後のクロックゲーティング回路4の組み合わせ回路6に入力されるパルスは、シミュレーション用の置換回路データにおいて存在するクロックゲーティング回路4に、シミュレーションのために供給される信号である。
参照クロック生成部17は、参照クロックを生成して、シミュレーション部12に供給する。参照クロックは、パルスと等しい周波数又は整数倍の周波数とされる。参照クロックとしては、例えば、シミュレーション装置1において最も周波数が高いクロック、換言すれば、シミュレーション装置1のシステムクロックが用いられる。これにより、サイクル・ベース型シミュレーションを最も良い効率で実行することができる。システムクロックは、シミュレーション装置1にシステム動作をさせる場合の基本クロックである。なお、参照クロックとして、システムクロック以外のクロックを用いるようにしても良い。
入出力部18は、シミュレーション部12におけるサイクル・ベース型シミュレーションを実行するシミュレータのサイクル数を指定する指示を、シミュレーション部12に入力する。これにより、シミュレーション部12は、予め指定された数のサイクルのシミュレーションを実行する。サイクル数は、図9の例では、参照クロックのサイクル数、換言すれば、シミュレーション装置1のシステムクロックのサイクル数である。例えば「100」のように指定される。これにより、図6の検証対象論理回路2にシステムクロックが100サイクルだけ入力され、その時点での検証対象論理回路2の状態がシミュレーション結果として得られる。
また、入出力部18は、シミュレーション12におけるシミュレーションの結果を、例えば表示画面上に出力する。シミュレーションの結果は、ファイルとして出力するようにしても良い。
図2は、シミュレーション装置のハードウェア構成の一例を示す図である。
CPU101は、ROM102に格納された制御プログラムに従って、シミュレーション装置1を制御する。CPU101は、例えば主メモリであるRAM103上のシミュレーションプログラムを実行する。これにより、回路データ変換部11及びシミュレーション部12が実現される。シミュレーションプログラムは、例えば、CD−ROMやDVD等の記録媒体109に格納され、記録媒体109からCD−ROMドライブやDVDドライブ等を介してハードディスク106に入力され、ハードディスク106からRAM103にロードされる。
回路データ格納部13及び置換回路データ格納部15は、例えばハードディスク106に設けられる。換言すれば、データは、例えばハードディスク106に格納される。回路データは、例えば、CD−ROMやDVD等の記録媒体109に格納され、記録媒体109からCD−ROMドライブやDVDドライブ等を介してハードディスク106に入力され、必要に応じてハードディスク106からRAM103にロードされ、回路データ変換部11及びシミュレーション部12により処理される。
入力装置104は、例えばキーボードであり、マウス等を含んでも良い。出力装置105は、例えばディスプレイであり、プリンタ等の出力装置を含んでも良い。入出力部8は入力装置104及び出力装置105を含む。CPU101、ROM102、RAM103、入力装置104、出力装置105、及び、ハードディスク106、ネットワーク接続部107は、バス108を介して、相互に接続される。
ネットワーク接続部107は、例えば、送受信装置であり、ネットワークに接続され、ネットワークを介して他のコンピュータに接続される。これにより、シミュレーション装置1は、他のコンピュータとの間で通信を行う。
以下、回路データ変換部11が実行する回路データ変換処理について、図3〜図5を参照して、詳細に説明する。
図3は、回路データ変換の説明図である。
図3において、クロックゲーティング回路3は、回路データ格納部13から読み出した回路データに含まれる回路、換言すれば、置換前のクロックゲーティング回路である。クロックゲーティング回路3は、実際に設計され製造される半導体装置に含まれる回路である。クロックゲーティング回路4は、回路データ変換部11により生成される置換回路データに含まれる回路、換言すれば、置換後のクロックゲーティング回路である。クロックゲーティング回路4は、シミュレーションのためにシミュレーション用の置換回路データにおいて存在する回路である。クロックゲーティング回路4は、後述するように、クロックゲーティング回路3と等価の回路であり、クロックゲーティング回路3におけるクロック系信号とデータ系信号とを分離した回路である。
回路データ変換部11は、前述したように、回路データ格納部13から読み出した回路データにおいて、ラッチ回路51Aを検出する。そして、回路データ変換部11は、検出したラッチ回路51Aを、図3に示すように、選択回路52とラッチ回路51とを含む置換回路5により置換する。これにより、置換回路データが生成される。
選択回路52は、第1のデータ入力端子Aに入力データを入力し、第2のデータ入力端子Bにラッチ回路51の出力データを入力し、制御信号入力端子Sに組み合わせ回路6の出力する制御信号を入力するマルチプレクサである。選択回路52は、組み合わせ回路6の出力する制御信号に従って、入力データ又はラッチ回路51の出力データのいずれか一方を、データ出力端子Zから選択的に出力する。組み合わせ回路6は、入力されるクロック又はパルスに基づいて、クロックゲーティング回路を制御する制御回路である。
ラッチ回路51は、選択回路52の出力をデータ入力端子Dに入力し、参照クロックをクロック入力端子CKに入力される。ラッチ回路51は、参照クロックに従って、選択回路52の出力を、データ出力端子Qから出力データとして出力する。また、ラッチ回路51は、リセット信号が入力されるリセット端子Rを含む。
組み合わせ回路6の出力は、FF51のクロック入力端子CKから切断され、選択回路52の制御信号入力端子Sに入力される。選択回路52の入力には、入力データと、FF51の値を保持するためにFF51の出力Qが入力される。選択回路52の出力ZがFF51のデータ入力端子Dに接続される。
ラッチ回路51のデータ出力端子Qから出力される信号は、組み合わせ回路6に入力され、これとは別に、選択回路52の入力端子Bに入力され、更に、ラッチ回路51のデータ入力端子Dに入力される。選択回路52は、データ入力端子Dに接続されるので、データ系の回路である。従って、ラッチ回路51の出力は、クロック系の回路である組み合わせ回路6と、データ系の回路である選択回路52とに分離して入力される。これにより、図14のバッファFF153を不要とすることができる。また、後述するように、置換前後のクロックゲーティング回路3及び4において等価な論理を保ち、かつ、参照クロック、換言すれば、シミュレーション装置1のシステムクロックのサイクル数を削減することができる。
ここで、ラッチ回路51Aの検出の条件は、以下の通りである。検出されるラッチ回路51Aは、クロック入力端子CKに入力される信号に同期して動作する同期型の論理回路、換言すれば、デジタル回路である。また、検出されるラッチ回路51Aは、クロック入力端子CKに入力される信号の立ち上がりエッジ又は立ち下がりエッジを検出して、これをトリガとして例えばデータ入力端子Dに入力される信号を取り込む回路である。このようにエッジ動作する回路としては、例えばD型フリップフロップ(以下、FFという)がある。更に、検出されるラッチ回路51Aのクロック入力端子CKに入力される信号は単一の極性であり、かつ、検出されるラッチ回路51Aは単一のエッジで駆動される。単一の極性とは、例えば、クロックが正の信号であり、負の信号ではないことをいう。単一のエッジとは、例えば、立ち上がりエッジで動作し、立ち下がりエッジでは動作しないことをいう。
具体的には、ラッチ回路51Aとして、FF51Aが検出される。この時、FF51Aが組み合わせ回路6と共にクロックゲーティング回路を構成するか否かは、検出の条件とされない。換言すれば、クロックゲーティング回路に含まれないFF51Aも検出される。従って、クロックゲーティング回路に含まれるFF51A及びクロックゲーティング回路に含まれないFF51A、換言すれば、回路データに含まれる全てのFF51Aが、検出され置換の対象とされる。後述するように、FF51Aと選択回路52とラッチ回路51との置換回路5とは論理的に等価であるので、シミュレーションのための置換回路データにおいて、FF51Aを選択回路52とラッチ回路51との置換回路5により置換しても、シミュレーションに支障は無い。
従って、置換回路データに含まれる全てのFF51は、参照クロックを基準クロックとして動作する。FF51は、参照クロックの立ち上がりエッジを検出して動作する。参照クロックの周波数は、置換回路データにおいて使用する周波数のうち、最も高い周波数と等しいかより高い周波数とされる。
FF51Aは、回路データにおいて、例えば回路名が「FF」であることにより検出される。回路名は、回路データにおいて、FFのような回路の種類を一意に特定する識別情報である。
検出されたFF51Aは、選択回路52とFF51との置換回路5により置換される。選択回路52とFF51との置換回路5は、例えばラッチ回路51Aの検出の後に置換処理に先立って、ライブラリ14から読み出される。
図4は、回路データ変換の説明図であり、特に、図4(A)は図3に示す置換前のクロックゲーティング回路3の論理テーブルを示し、図4(B)は図3に示す置換後のクロックゲーティング回路4の論理テーブルを示す。
図4(A)及び図4(B)において、FF51A又はFF51のリセット端子Rへの入力、換言すれば、リセット信号の値は、「0」又は「1」とされる。例えば、リセット信号の「0」は「0(V)」であり、「1」は予め定められた値の「負電圧」である。リセット信号が「0」の場合にはFF51A又はFF51はリセットされ、リセット信号が「1」の場合にはFF51A又はFF51はリセットされない。
図4(A)の置換前のクロックゲーティング回路3の論理テーブルにおいて、リセット端子Rへの入力を信号R、データ入力端子Dへの入力を信号D、クロック入力端子CKへの入力を信号CK、データ出力端子Qからの出力を信号Qということとする。
図4(A)の置換前のクロックゲーティング回路3の論理テーブルにおいて、信号Rが「0」である場合、FF51Aはリセットされる。従って、信号D及び信号CKは「X(ドントケア)」であり、信号Qの値は「0」である。この状態を第1の状態ということとする。
信号Rが「1」である場合において、信号Dが「0」であり、信号CKが「立ち上がりのエッジR」であれば、入力「0」が取り込まれるので、信号Qは「0」である。この状態を第2の状態ということとする。信号Rが「1」である場合において、信号Dが「1」であり、信号CKが「立ち上がりのエッジR」であれば、入力「1」が取り込まれるので、信号Qは「1」である。この状態を第3の状態ということとする。信号Rが「1」である場合において、信号CKが「立ち下がりのエッジF」であれば、入力は取り込まれないので、信号Dは「X(ドントケア)」であり、信号Qは「Q」であり、それまでの出力を維持する。この状態を第4の状態ということとする。
図4(B)の置換後のクロックゲーティング回路4の論理テーブルにおいて、リセット端子Rへの入力を信号IR、入力端子Aへの入力を信号ID、制御信号入力端子Sへの入力を信号S、データ出力端子Zからの出力を信号Z、データ入力端子Dへの入力を信号D、クロック入力端子CKへの入力を信号CK、データ出力端子Qからの出力を信号Qということとする。
信号Qは、入力端子Bへの入力である。信号IRは、リセット信号であり、信号Rに等しい。信号IDは入力データであり、FF51Aのデータ入力端子Dではなく、選択回路の入力端子Aに入力される。信号CKとしては参照クロックが用いられる。
図4(B)の置換後のクロックゲーティング回路4の論理テーブルにおいて、信号IRが「0」である場合、FF51はリセットされる。従って、信号ID、信号S、信号Z、信号D及び信号CKは「X(ドントケア)」であり、信号Qの値は「0」である。この状態は第1の状態に相当する。
信号IRが「1」である場合において、信号Sが「0」であると、入力端子Aへの入力が選択される。そこで、信号IDが「0」であるとすると、信号Zは入力端子Aへの入力「0」となる。この時、信号CKが「立ち上がりのエッジR」であれば、信号Z、換言すれば、入力端子Aへの入力「0」が取り込まれるので、信号Qは「0」である。この状態は第2の状態に相当する。
信号IRが「1」である場合において、信号Sが「0」であり、信号IDが「1」であると、信号Zは入力端子Aへの入力「1」となる。この時、信号CKが「立ち上がりのエッジR」であれば、信号Z、換言すれば、入力端子Aへの入力「1」が取り込まれるので、信号Qは「1」である。この状態は第3の状態に相当する。
信号IRが「1」である場合において、信号Sが「1」であると、入力端子Bへの入力が選択される。従って、信号IDは「X(ドントケア)」となり、信号Zは入力端子Bへの入力「Q」となる。この時、信号CKが「立ち上がりのエッジR」であれば、信号Z、換言すれば、入力端子Bへの入力「Q」が取り込まれるので、信号Qは「Q」であり、それまでの出力を維持する。この状態は、第1〜第4の状態のいずれにも該当しない第5の状態である。第5の状態により、値Qを保持するサイクルを実現することができる。
信号IRが「1」である場合において、信号CKが「立ち下がりのエッジF」であれば、入力は取り込まれないので、信号ID、信号S、信号Z及び信号Dは「X(ドントケア)」であり、信号Qは「Q」であり、それまでの出力を維持する。この状態は第4の状態に相当する。
以上から、置換後のクロックゲーティング回路4は、置換前のクロックゲーティング回路3と等価であり、かつ、値Qを保持するサイクルを有することが判る。
図5は、回路データ変換の説明図であり、置換後のクロックゲーティング回路4を含む置換回路データの一例を示す。
置換回路データにおいては、クロックゲーティング回路3に含まれるFF51Aが、FF51と選択回路52との置換回路5により置換されている。選択回路52の入力端子Aには、前段のクロックゲーティング回路4に含まれるFF51’からの信号が、入力データとして入力される。選択回路52の制御信号入力端子Sには、組み合わせ回路6からの信号が、制御信号として入力される。
組み合わせ回路6は、例えばORゲート61、ANDゲート62を含む。ANDゲート62に入力される「他の信号」とデータ出力端子Qからの信号とが共にハイレベルである場合に、組み合わせ回路6から「1」が出力される。これにより、FF51へのパルスの供給が停止され、FF51にデータがホールドされる。組み合わせ回路6は、図5に示す構成以外の種々の構成を採ることができる。
次に、シミュレーション部12が実行するシミュレーション処理について、図6〜図11を参照して、詳細に説明する。
図6は、シミュレーションの説明図である。
シミュレーション部12は、置換回路データ格納部15から読み出した置換回路データに基づいて、シミュレーションモデルとして、検証対象論理回路2を構築する。例えば、シミュレーション部12は、置換回路データにより表される論理回路を、ハードウェア及びソフトウェアにより検証対象論理回路2として実現したエミュレータである。
検証対象論理回路2は、複数の置換回路5を含む。全ての置換回路5には、参照クロック生成部17からシミュレーション部12に供給された参照クロックが、入力される。予め定められた置換回路5には、パルス生成部16からシミュレーション部12に供給されたパルスAがクロック用配線を介して入力され、また、予め定められた他の置換回路5には、パルス生成部16からシミュレーション部12に供給されたパルスBがクロック用配線を介して入力される。例えば、パルスAは2GHzの周波数であり、パルスBは1GHzの周波数である。
図7は、シミュレーションの説明図である。
置換回路5は、図7(B)に示すように、FF51と選択回路52とを含む。参照クロックは、FF51のクロック入力端子CKに入力される。パルスは、組み合わせ回路6に入力される。FF51は、参照クロックの立ち上がりエッジを検出して動作する。選択回路52は、制御信号入力端子Sへの入力がロウレベルの場合に入力端子Aに入力された信号を選択して出力し、制御信号入力端子Sへの入力がハイレベルの場合に入力端子Bに入力された信号、換言すれば、FF51の出力データを選択して出力する。
また、選択回路52の入力端子Aには、前段のクロックゲーティング回路4に含まれるFF51’からの信号が、入力データとして入力される。選択回路52の入力端子Bには、FF51の出力が入力される。FF51の出力は、選択回路52への入力とは別に、組み合わせ回路6に入力される。選択回路52の制御信号入力端子Sには、組み合わせ回路6からの信号が、制御信号として入力される。選択回路52の出力がFF51のデータ入力端子Dに入力される。
以上のように、FF51のデータ出力端子Qからクロック入力端子CKへのフィードバックループが解消される。従って、サイクル・ベース型シミュレーションを実行することができ、また、図14のバッファFF153の挿入を不要とすることができる。
更に、バッファFF153の挿入を不要としたことにより、図14(A)に示すように、クロックゲーティング回路で使用するクロックの「1サイクル」内において、バッファFF153がFF151の出力を取り込む第1のサイクルと、バッファFF153の出力を組み合わせ回路152及びクロック入力端子CKへ入力する第2のサイクルとを、別々のサイクルとして分離する必要がなくなる。
従って、図7(A)に示すように、クロックゲーティング回路で使用するクロックの「1サイクル」と、シミュレーションのためのシステムクロックの「1サイクル」とを等しくすることができる。換言すれば、「シミュレータのサイクル数」と「クロックサイクル数」が1:1となる。図7(A)において、「制御されるサイクル数」は組み合わせ回路152に入力されるパルスのサイクル数を表し、「シミュレータのサイクル数」はシミュレーション装置のシステムクロックのサイクル数を表す。
このように、クロックゲーティング回路の動作に必要なクロックのサイクル数に比べ、シミュレーションのために必要なシステムクロックのサイクル数が増加しないので、結果としてシミュレーション装置における計算効率が悪化することを防止することができる。
図8は、シミュレーションの説明図である。
図8において、前述したように、「シミュレータのサイクル数」と「クロックサイクル数」が1:1であるので、「サイクル数」として表される。クロックは、図3の置換前のクロックゲーティング回路3に入力されるクロックである。パルスは、図3の置換後のクロックゲーティング回路4に入力されるパルスである。
図8においては、「サイクル数」により表されるサイクルと、参照クロックのサイクルとは一致しない。シミュレーション部12は、参照クロックと予め定められた関係にあるパルスをクロックとして組み合わせ回路6に入力し、参照クロックをFF51に入力する。これにより、生成した置換回路データについてのシミュレーションが行われる。
図8において、パルスは、参照クロックに基づいて、FF51の入力データ取り込み期間とデータホールド期間とを定める。入力データ取り込み期間とデータホールド期間との割合は、予め定められる。
シミュレーション部12は、参照クロックに従って、パルスの予め定められた周期を入力データの取り込み期間又はホールド期間に割り当てる。期間T11〜期間T14は、パルスにより定められるタイミングである。具体的には、期間T11及び期間T13はデータホールド期間であり、期間T12及び期間T14はデータ取り込み期間である。クロックの波形及び参照クロックの波形において、立ち上がりエッジに重ねて示される矢印は、FF51が駆動されるタイミングとなるエッジを表す。
パルスは、前述したように、組み合わせ回路6を介して、選択回路52の制御信号入力端子Sに入力される。従って、パルスが「1」である期間T11及び期間T13は、図4(B)の論理テーブルにおいて、信号Sが「1」である場合に相当する。信号Sが「1」である場合、信号CKである参照クロックが「立ち上がりのエッジR」のタイミングで、入力端子Bへの入力「Q」が取り込まれ、それまでの出力Qがホールドされる。
一方、パルスが「0」である期間T12及び期間T14は、図4(B)の論理テーブルにおいて、信号Sが「0」である場合に相当する。信号Sが「0」である場合、信号CKである参照クロックが「立ち上がりのエッジR」のタイミングで、入力端子Aへの入力「ID」が取り込まれる。具体的には、入力IDの「0」又は「1」が、取り込まれ、出力される。
以上のように、FF51は、参照クロックとパルスにより制御され状態遷移する。換言すれば、FF51の状態は、選択回路52の出力Zと、参照クロックの立ち上がりエッジとにより制御される。データホールド期間T11及び期間T13と、データ取り込み期間T12及び期間T14との割当は、予め定められる。換言すれば、期間T11〜期間T14を実現するように、パルス及び他の信号が供給される。
図9は、シミュレーションの一例を示す図であり、図6のパルスAによるシミュレーションについて示す。パルスAとして、参照クロックの周波数2GHzと等しい、周波数2GHzのパルスが用いられる。
参照クロックの立ち上がりエッジのタイミングでは、パルスAは、ロウレベルであり、選択回路52の制御信号入力端子Sにロウレベルが入力されている。従って、入力データは、最初の参照クロックの立ち上がりエッジに応じて、FF51に取り込まれる。取り込まれた入力データは、次の参照クロックの立ち上がりエッジに応じて、FF51から出力データとして出力される。
パルスAがハイレベルである期間T21は、選択回路52の制御信号入力端子Sにハイレベルが入力されるので、データホールド期間となる。パルスAがロウレベルである期間T22は、選択回路52の制御信号入力端子Sにロウレベルが入力されるので、データ取り込み期間となる。以後、参照クロックのサイクル毎に、データホールド期間T21とデータ取り込み期間T22とが繰り返される。
予め定められたタイミングである期間T23において、組み合わせ回路6の出力がハイレベルとされる。これにより、クロックゲーティング回路4の選択回路52へのパルスの供給が停止され、また、データがホールドされる。従って、期間T23は、パルスが停止された、データホールド期間である。
なお、期間T23において、図5のANDゲートに入力される「他の信号」と、FF51の出力Qとは、最初の参照クロックから6番目の参照クロックの立ち上がりエッジの検出のタイミングにおいては、ハイレベルである。このハイレベルが選択回路52に取り込まれるので、データがホールドされ、FF51が状態遷移する。
パルスAは、検証対象論理回路2内で最も高い周波数2GHzであり、2GHzの参照クロックと一致し、シミュレーション装置1のシステムクロックとも一致する。パルスAと参照クロックとシミュレーション装置1のシステムクロックとが一致している場合には、前述したように、参照クロックの立ち上がりエッジの検出のタイミングにおいては、パルスAはロウレベルである。
図10は、シミュレーションの他の一例を示す図であり、図6のパルスAによる他のシミュレーションについて示す。パルスAとして、参照クロックの周波数2GHzと等しい、周波数2GHzのパルスが用いられる。
図10においても、図9と同様に、パルスAは、検証対象論理回路2内で最も高い周波数2GHzであり、2GHzの参照クロックと一致し、シミュレーション装置1のシステムクロックとも一致する。パルスAと参照クロックとシミュレーション装置1のシステムクロックとが一致している場合には、図10に示すような波形のパルスA’を用いるようにしても良い。
参照クロックの立ち上がりエッジの検出のタイミングにおいては、ロウレベルが連続するパルスA’はロウレベルであり、選択回路52の制御信号入力端子Sにロウレベルが入力されている。従って、入力データは、最初の参照クロックの立ち上がりエッジに応じて、FF51に取り込まれる。取り込まれた入力データは、次の参照クロックの立ち上がりエッジに応じて、FF51から出力データとして出力される。
パルスA’がロウレベルである期間T31〜期間T35は、選択回路52の制御信号入力端子Sにロウレベルが入力されるので、データ取り込み期間となる。予め定められたタイミングである期間T36において、組み合わせ回路6の出力がハイレベルとされる。これにより、クロックゲーティング回路4の選択回路52へのパルスの供給が停止され、また、データがホールドされる。従って、期間T36は、パルスが停止された、データホールド期間である。
なお、期間T36において、図5のANDゲートに入力される「他の信号」と、FF51の出力Qとは、最初の参照クロックから6番目の参照クロックの立ち上がりエッジの検出のタイミングにおいては、ハイレベルである。このハイレベルが選択回路52に取り込まれるので、データがホールドされ、FF51が状態遷移する。
図11は、シミュレーションの一例を示す図であり、図6のパルスBによるシミュレーションについて示す。パルスBとして、参照クロックの周波数2GHzの半分の周波数1GHzのパルスが用いられる。
最初の参照クロックの立ち上がりエッジのタイミングでは、パルスBは、ロウレベルであり、選択回路52の制御信号入力端子Sにロウレベルが入力されている。従って、入力データは、最初の参照クロックの立ち上がりエッジに応じて、FF51に取り込まれる。
パルスBがハイレベルである期間T41は、選択回路52の制御信号入力端子Sにハイレベルが入力されるので、データホールド期間となる。パルスBがロウレベルである期間T42は、選択回路52の制御信号入力端子Sにロウレベルが入力されるので、データ取り込み期間となる。以後、パルスBのサイクル毎に、データホールド期間T41とデータ取り込み期間T42とが繰り返される。
取り込まれた入力データは、最初の参照クロックから2番目の参照クロックの立ち上がりエッジに応じて、FF51から出力データとして出力される。
予め定められたタイミングである期間T43において、組み合わせ回路6の出力がハイレベルとされる。これにより、クロックゲーティング回路4の選択回路52へのパルスの供給が停止され、また、データがホールドされる。従って、期間T43は、パルスが停止された、データホールド期間である。
なお、期間T43において、図5のANDゲートに入力される「他の信号」と、FF51の出力Qとは、最初の参照クロックから5番目と6番目の参照クロックの立ち上がりエッジの検出のタイミングにおいては、ハイレベルである。このハイレベルが選択回路52に取り込まれるので、データがホールドされ、FF51が状態遷移する。
図12は、シミュレーション処理フローチャートである。
回路データ変換部11は、回路データ格納部13から回路データを読み出す(ステップS11)。シミュレーションの開始に先立って、回路データは、回路データ格納部13に格納される。
回路データ変換部11は、読み出した回路データに含まれるFF51を検出する(ステップS12)。FF51は、例えば複数検出される。
この後、回路データ変換部11は、ライブラリ14から、FF51Aを置換するべき、選択回路52とFF51との置換回路5を読み出す。そして、回路データ変換部11は、検出したFF51Aを、各々、選択回路52とFF51との置換回路5により置換する(ステップS13)。これにより、置換回路データが生成される。回路データ変換部11は、生成した置換回路データを置換回路データ格納部15に格納する(ステップS14)。
この後、シミュレーション部12は、置換回路データ格納部15から置換回路データを読み出す(ステップS15)。また、パルス生成部16は、パルスを生成してシミュレーション部12に供給し(ステップS16)、参照クロック生成部17は、参照クロックを生成してシミュレーション部12に供給する(ステップS17)。
この後、シミュレーション部12は、供給されたパルスと参照クロックを用いて、予め指定されたサイクルの数だけサイクル・ベース型シミュレーションを実行し(ステップS18)、シミュレーションの結果を入出力部18から出力する(ステップS19)。これにより、シミュレーション装置1のユーザは、サイクル・ベース型シミュレーションの結果を知ることができる。
1 シミュレーション装置
11 回路データ変換部
12 シミュレーション部
13 回路データ格納部
14 ライブラリ
15 置換回路データ格納部
16 パルス生成部
17 参照クロック生成部
18 入出力部

Claims (6)

  1. クロックと第1のラッチ回路の出力データとに従って制御信号を出力する制御回路と、前記制御信号に従って入力データを保持又は出力する前記第1のラッチ回路とを含むクロックゲーティング回路が含まれる回路データを格納する記憶部と、
    前記記憶部から読み出した前記回路データにおいて、前記クロックゲーティング回路における前記第1のラッチ回路を、前記制御回路の出力する前記制御信号に従って前記入力データ又は第2のラッチ回路の出力データのいずれか一方を選択的に出力する選択回路と、前記選択回路の出力をデータ入力端子に入力され、参照クロックをクロック入力端子に入力され、前記参照クロックに従って、前記選択回路の出力をデータ出力端子から前記出力データとして出力する前記第2のラッチ回路とにより置換することにより、置換回路データを生成する回路データ生成部と、
    前記参照クロックに従って、前記参照クロックと予め定められた関係にあるパルスの予め定められた周期を前記入力データの取り込み期間又はホールド期間に割り当て、記パルスを前記クロックとして前記制御回路に入力し、前記参照クロックを前記第2のラッチ回路に入力することにより、生成した前記置換回路データについてのシミュレーションを行うシミュレーション部とを含む
    ことを特徴とするシミュレーション装置。
  2. 前記シミュレーション装置が、更に、
    前記パルスを生成して、前記シミュレーション部に供給するパルス生成部と、
    前記パルスと等しい周波数又は整数倍の周波数の前記参照クロックを生成して、前記シミュレーション部に供給する前記参照クロック生成部とを含む
    ことを特徴とする請求項1に記載のシミュレーション装置。
  3. 前記シミュレーション部において実行されるシミュレーションは、サイクル・ベース型シミュレーションであり、
    前記シミュレーション部は、予め指定された数のサイクルのシミュレーションを実行する
    ことを特徴とする請求項1に記載のシミュレーション装置。
  4. 前記第2のラッチ回路は、前記クロック入力端子に入力される信号に同期して動作し、前記クロック入力端子に入力される信号の立ち上がりエッジ又は立ち下がりエッジを検出して前記データ入力端子に入力される信号を取り込むD型フリップフロップである
    ことを特徴とする請求項に記載のシミュレーション装置。
  5. 回路データ生成部が、記憶部に格納された回路データであって、クロックと第1のラッチ回路の出力データとに従って制御信号を出力する制御回路と、前記制御信号に従って入力データを保持又は出力する前記第1のラッチ回路とを含むクロックゲーティング回路が含まれる回路データを、前記記憶部から読み出し、
    前記回路データ生成部が、読み出した前記回路データにおいて、前記クロックゲーティング回路における前記第1のラッチ回路を、前記制御回路の出力する前記制御信号に従って前記入力データ又は第2のラッチ回路の出力データのいずれか一方を選択的に出力する選択回路と、前記選択回路の出力をデータ入力端子に入力され、参照クロックをクロック入力端子に入力され、前記参照クロックに従って、前記選択回路の出力をデータ出力端子から前記出力データとして出力する前記第2のラッチ回路とにより置換することにより、置換回路データを生成し、
    シミュレーション部が、前記参照クロックに従って、前記参照クロックと予め定められた関係にあるパルスの予め定められた周期を前記入力データの取り込み期間又はホールド期間に割り当て、記パルスを前記クロックとして前記制御回路に入力し、前記参照クロックを前記第2のラッチ回路に入力することにより、生成した前記置換回路データについてのシミュレーションを行う
    ことを特徴とするシミュレーション方法。
  6. シミュレーションプログラムであって、
    前記プログラムは、コンピュータに、
    記憶部に格納された回路データであって、クロックと第1のラッチ回路の出力データとに従って制御信号を出力する制御回路と、前記制御信号に従って入力データを保持又は出力する前記第1のラッチ回路とを含むクロックゲーティング回路が含まれる回路データを、前記記憶部から読み出す処理と、
    読み出した前記回路データにおいて、前記クロックゲーティング回路における前記第1のラッチ回路を、前記制御回路の出力する前記制御信号に従って前記入力データ又は第2のラッチ回路の出力データのいずれか一方を選択的に出力する選択回路と、前記選択回路の出力をデータ入力端子に入力され、参照クロックをクロック入力端子に入力され、前記参照クロックに従って、前記選択回路の出力をデータ出力端子から前記出力データとして出力する前記第2のラッチ回路とにより置換することにより、置換回路データを生成する処理と、
    前記参照クロックに従って、前記参照クロックと予め定められた関係にあるパルスの予め定められた周期を前記入力データの取り込み期間又はホールド期間に割り当て、記パルスを前記クロックとして前記制御回路に入力し、前記参照クロックを前記第2のラッチ回路に入力することにより、生成した前記置換回路データについてのシミュレーションを行う処理とを実行させる
    ことを特徴とするシミュレーションプログラム。
JP2011280643A 2011-12-22 2011-12-22 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム Active JP5942417B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011280643A JP5942417B2 (ja) 2011-12-22 2011-12-22 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
US13/674,468 US20130166269A1 (en) 2011-12-22 2012-11-12 Simulation apparatus, simulation method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011280643A JP5942417B2 (ja) 2011-12-22 2011-12-22 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Publications (2)

Publication Number Publication Date
JP2013131088A JP2013131088A (ja) 2013-07-04
JP5942417B2 true JP5942417B2 (ja) 2016-06-29

Family

ID=48655404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011280643A Active JP5942417B2 (ja) 2011-12-22 2011-12-22 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Country Status (2)

Country Link
US (1) US20130166269A1 (ja)
JP (1) JP5942417B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10796048B1 (en) * 2017-06-16 2020-10-06 Synopsys, Inc. Adding delay elements to enable mapping a time division multiplexing circuit on an FPGA of a hardware emulator

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3357813B2 (ja) * 1997-04-01 2002-12-16 株式会社東芝 ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
JP3394888B2 (ja) * 1997-06-11 2003-04-07 株式会社東芝 論理回路検証装置、論理回路検証方法及び論理回路検証プログラムを格納したコンピュータ読み取り可能な記録媒体
JPH1185810A (ja) * 1997-09-09 1999-03-30 Mitsubishi Electric Corp 半導体集積回路の論理回路検証装置および論理回路検証装置における論理回路検証方法
JP2003503791A (ja) * 1999-06-26 2003-01-28 セイ−ヤン ヤン、 入出力探針装置及びこれを用いた入出力探針方法と、これを基盤とする混合エミュレーション/シミュレーション方法
US7210082B1 (en) * 2004-06-01 2007-04-24 Syntest Technologies, Inc. Method for performing ATPG and fault simulation in a scan-based integrated circuit
JP4575795B2 (ja) * 2005-01-31 2010-11-04 パナソニック株式会社 クロック供給回路、半導体システムおよびその設計方法

Also Published As

Publication number Publication date
US20130166269A1 (en) 2013-06-27
JP2013131088A (ja) 2013-07-04

Similar Documents

Publication Publication Date Title
JP5410414B2 (ja) 回路エミュレーションの入力及び遅延入力のマルチプレクシング
JP5432127B2 (ja) 自動回路設計及びシミュレーションに使用するための技術
JP5432126B2 (ja) 自動回路設計及びシミュレーションに使用するための技術
JP5405451B2 (ja) 自動回路設計及びシミュレーションに使用するための技術
US7484196B2 (en) Method for asynchronous clock modeling in an integrated circuit simulation
US10185794B2 (en) Overlaying of clock and data propagation in emulation
US20060117285A1 (en) Method for designing semiconductor integrated circuit, semiconductor integrated circuit and program for designing same
US9405877B1 (en) System and method of fast phase aligned local generation of clocks on multiple FPGA system
US20220018902A1 (en) Multi-capture at-speed scan test based on a slow clock signal
US8060847B2 (en) Clock model for formal verification of a digital circuit description
KR20210065964A (ko) 에뮬레이션 및 프로토타이핑에서 오버레이된 클록 및 데이터 전파의 코히어런트 관찰가능성 및 제어가능성
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
Takizawa et al. A design support tool set for asynchronous circuits with bundled-data implementation on FPGAs
JP5942417B2 (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
US12073159B2 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
JP5104356B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP2005277909A (ja) 論理回路設計システム、論理回路、論理回路設計方法およびそのプログラム
US20110320160A1 (en) Integrated circuit, simulation apparatus and simulation method
US9960771B2 (en) Hum generation using representative circuitry
US20240118339A1 (en) System, method for circuit validation, and system and method for facilitating circuit validation
US11892504B1 (en) Method and system for debugging metastability in digital circuits
JP2013061229A (ja) 半導体集積回路、半導体集積回路の設計支援方法、及び設計支援プログラム
JP2013036960A (ja) 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法
JPH11259554A (ja) 論理回路のタイミング解析方法ならびに同方法を用いた論理合成システム、及び同方法がプログラムされ記録される記録媒体
Gao FPGA of acceleration of stochastic simulation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160509

R150 Certificate of patent or registration of utility model

Ref document number: 5942417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150