JP2005301498A - 論理データ作成方法及び論理シミュレータ - Google Patents
論理データ作成方法及び論理シミュレータ Download PDFInfo
- Publication number
- JP2005301498A JP2005301498A JP2004114185A JP2004114185A JP2005301498A JP 2005301498 A JP2005301498 A JP 2005301498A JP 2004114185 A JP2004114185 A JP 2004114185A JP 2004114185 A JP2004114185 A JP 2004114185A JP 2005301498 A JP2005301498 A JP 2005301498A
- Authority
- JP
- Japan
- Prior art keywords
- logical data
- functional unit
- functional
- description language
- hardware description
- 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
【課題】シミュレーションの高速化、リソースの低減が可能となる論理データ作成方法及び論理シミュレータを提供する。
【解決手段】ハードウェア記述言語によって予め作成された論理データを読み出す第1のステップと、読み出した論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別する第2のステップと、識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第3のステップと、を備える。
【選択図】 図1
【解決手段】ハードウェア記述言語によって予め作成された論理データを読み出す第1のステップと、読み出した論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別する第2のステップと、識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第3のステップと、を備える。
【選択図】 図1
Description
本発明は、論理装置の設計検証を目的としたシミュレーションに用いられる論理データの作成方法に関し、特に、シミュレーションの高速化、リソースの低減が可能となる論理データ作成方法及び論理シミュレータに関する。
LSI等の回路を設計する場合、VHDL(VHSIC Hardware Description Language)やVerilogなどのハードウェア記述言語を用いて、論理回路をテキストデータとして記述する手法が広く用いられている。ハードウェア記述言語によって記述された論理回路のシミュレーションを行うことで設計された論理の正しさや機能の正当性を検証することができる。
しかし、ハードウェア記述言語で回路を記述する場合は、論理回路のイメージを直感的に把握することが難しい。そこで、論理回路図をCAD等によって図形イメージとして入力し、入力した図形イメージの回路図から、VHDL言語やVerilog言語に変換する回路入力システムも知られている。この場合、基本機能を図形化し、図形化した機能を組み合わせて論理回路図を記述する。記述された論理回路図は、ハードウェア記述言語に変換され、変換されたハードウェア記述言語に対してシミュレーションを実施する。
このようなシステムの例として、CRTモニターの画面上に表示された図形や表や文字等を用いて、機能図エディター部により、論理回路の動作を表現する機能図がCRTモニターの画面上において作成され、作成された機能図は、その矛盾の有無を機能図チェック部により検証され、機能図に矛盾がない場合には、この機能図に対して、機能シミュレーション部により機能検証が行なわれる機能設計支援装置が知られている(例えば、特許文献1参照。)。
特開平7−225783号公報
しかしながら、前述した特許文献1のようなシステムでは、CRTモニターから入力した回路図からハードウェア記述言語に変換する際の最適化は実施されるが、変換されたハードウェア記述言語はシミュレーションを行う際の最適化は考慮されていない。
前記のように、論理回路の入力方法には、論理をハードウェア記述言語によるテキストデータとして記述する方法と、基本機能を図形化し図形化した機能を組み合わせて論理を記述する方法とがある。
この二つの方法を比較した場合、図形による入カシステムの方が、大規模な論理回路を入力する場合は簡単に入力でき、入力ミスの確認も容易である。しかし、図形による入力システムによって作成した論理回路をシミュレーションする場合は、シミュレーションを行う際の最適化は考慮されていないため、テキストデータとして記述した場合と比較すると、シミュレーション速度が遅くなるばかりでなく、シミュレーションシステムが使用するメモリ容量等のリソースも増大する。例えば、ある機能ブロックが複数の基本図形に含まれている場合、これをハードウェア記述言語に変換した場合は、当該機能ブロックは各々の基本図形の記述式それぞれに含まれる。そのため、同一の機能にもかかわらず複数の処理としてシミュレーションが実行されるので、シミュレーションの処理が複雑化し、シミュレーションシステムが必要とするメモリ容量も多くなる。
本発明は上記の問題点に鑑みてなされたものであり、論理回路を図形による入力を行うシステムにおいて、シミュレーションの高速化、シミュレーションシステムのリソースの低減が可能となるような論理データ作成方法及び論理シミュレータを提供することを目的とする。
本発明は、ハードウェア記述言語によって予め作成された論理データを読み出す第1のステップと、前記読み出した論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別する第2のステップと、前記識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第3のステップと、を備える。
本発明によると、論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別し、当該識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えるので、機能単位によって入力された論理データがより平易となり、当該論理データによって示される論理回路の論理シミュレーションを実施する場合、そのシミュレーション速度、および、シミュレーション実行に必要となるメモリ量を低減することが可能となる。
以下に、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態の論理シミュレーションシステム(論理シミュレータ)を示すブロック図である。
本発明の実施の形態の論理シミュレーションシステムは、CRTディスプレイ等で構成される出力装置401、マウスやキーボード等から構成される入力装置402を備え、生成されたデータ(図形データ、ハードウェア記述言語データ)等を記憶する記憶装置405、図形データからハードウェア記述言語に変換するプログラムやハードウェア記述言語のシミュレーションを行うプログラム等を備えるメモリ装置404、当該プログラムを実行させる制御装置(CPU)403、を備える。これらは内部バス410を介してそれぞれ接続されている。なお、本実施の形態では、ハードウェア記述言語はVHDL(VHSIC Hardware Description Language)として説明するが、Verilog等の他の言語を用いてもよい。
図2は、本発明による論理回路のシミュレーションの処理を示すフローチャートである。
まず、論理シミュレーションシステムにおいて、オペレータが、論理回路を入力装置402から入力する。図形による論理回路の入力には、基本的な機能を図形化した基本図形を組み合わせて行う。各基本図形には入出力信号ピンが備えられており、入出力信号ピンをお互い接続していくことで論理回路が形成される。入力された論理回路は、逐次的に又は論理回路の入力が終了した時点で、ハードウェア記述言語(VHDL)データ101に変換される。変換されたVHDLデータ101は記憶装置405に記憶される(ステップ1001)。
なお、VHDLの記述では、基本図形のうち、外部とのインターフェース(入出力信号ピン等)を示す機能単位の記述をエンティティと呼び、内部の動作や構造を定義する機能の記述をアーキテクチャと呼ぶ。また、そのように定義されたアーキテクチャを部品として参照する場合、参照された実体をインスタンスと呼ぶ。アーキテクチャは階層構造を持つことが可能であり、下位構造中に同一のアーキテクチャを持つインスタンスを複数、持つこともある。
次に、記憶されたVHDLデータ101から、インスタンス化された階層の削除や複数の共通なアーキテクチャを持つインスタンスの統合処理(階層削除・統合処理)を行う。この処理によって、VHDLデータ101は、インスタンスの階層構造が削除されたり共通のアーキテクチャが統合されたVHDLデータ103に変換される。変換されたVHDLデータ103は記憶装置に記憶される(ステップ1002)。
そして、当該変換されたVHDLデータを用いて、論理シミュレーションを実施する(ステップ1003)。論理シミュレーションは、前述した特許文献1のような方法によって行われる。すなわち、生成されたVHDLデータの論理の矛盾の有無をまず検証し、その後、入力ピンへの信号の入力と出力ピンからの信号の出力結果から、当該VHDLデータの機能の正当性を検証する。
図3は、図2のステップ1002の階層削除・統合処理を示すフローチャートである。
この階層削除・統合処理は、論理シミュレーションを行う前段階の処理として実行され、入力されたVHDLデータ101に基づいて、論理シミュレーションを行うのに適したVHDLデータ103に変換する処理を行う。
まず、記憶されたVHDLデータ101を読み込む(ステップ2001)。そして、読み込んだVHDLデータ101に存在する全てのアーキテクチャについて本フローチャートの処理が終了したか否かを判定する。全てのアーキテクチャについて処理が終了した場合はVHDL終了と判定する(ステップ2002)。VHDL終了と判定した場合、ステップ2009に移行し、処理の完了したVHDLデータを記憶装置405に記憶させ、本フローチャートを終了する。
VHDL終了ではないと判定した場合、すなわち、未処理のアーキテクチャがあると判定した場合は、まず、未処理のアーキテクチャのうち一つを選択する(ステップ2003)。
次に、選択したアーキテクチャに含まれている全てのインスタンスについて、階層削除処理(ステップ2006)及び統合処理1(ステップ2007)が終了したか否かを判定する(ステップ2004)。全ての当該アーキテクチャについての処理が終了したと判定した場合は、ステップ2008に移行する。一方、まだ処理の終了していないアーキテクチャが存在していると判定した場合は、ステップ2005に移行する。
ステップ2005では、選択されたアーキテクチャに含まれるインスタンスのうち、未処理のインスタンスを一つ選択する。
次に、選択したインスタンスについて、削除情報テーブル201を用いて、当該インスタンスの階層を削除する階層削除処理を実行する(ステップ2006)。この処理の詳細は後述する(図4〜図6)。
次に、階層構造を削除処理したインスタンスについて、統合情報テーブル202を用いて、統合可能なインスタンスかの判定を行い、統合インスタンス情報テーブル203を生成する統合処理1を実行する(ステップ2007)。この処理の詳細は後述する(図7、図8)。
そして、選択したアーキテクチャに含まれる全てのインスタンスについて、階層削除処理(ステップ2006)及び統合処理1(ステップ2007)が終了したと判定した場合は、ステップ2008に移行し、生成した統合インスタンス情報テーブル203から、当該インスタンスを統合したVHDLを生成する統合処理2を実行する。そして、全てのアーキテクチャについて、ステップ2003〜ステップ2008を繰り返す。
図4は、階層削除処理(図3のステップ2006)の詳細を示すフローチャートである。
アーキテクチャはインスタンスの集合として階層的に記述され、下位のインスタンスは別にVHDL記述として定義済みである。そのため、論理シミュレーション時には、インスタンス毎に定義済みのアーキテクチャを取得して定義に基づいたVHDL記述の展開が必要となり、処理が複雑化する。そこで、本発明の実施の形態では、予め、アーキテクチャに含まれている階層的なインスタンスを、可能な範囲でVHDL記述として展開しておく。こうすることで、論理シミュレーション時の処理が簡素化される。
まず、削除情報テーブル201を参照して、図3のステップ2005において選択したインスタンスについて、削除対象か否かを判定する(ステップ3001)。この削除情報テーブル201(図5)は、エンティティと当該エンティティに定義されているVHDLの記述(ブール式)とを対応づけた表である。
選択したインスタンスが削除対象でないと判定した場合は、当該インスタンスについては階層削除処理を行うことなく階層削除処理を終了し、図3のフローチャートに戻る。
一方、選択したインスタンスを削除対象と判定した場合は、まず、当該インスタンスの接続信号の情報を取得する(ステップ3002)。そして、取得した接続信号と削除情報テーブル201とから、当該インスタンスをVHDLの記述(ブール式)に変換する(ステップ3003)。具体的には、取得したインスタンスの接続信号を削除情報テーブル201にある定義済みのブール式に代入することで、当該インスタンスをブール式化する。結果として、削除対象のインスタンスは削除され、ブール式化したデータのみがVHDLデータとして置き換わる。ステップ3003の処理が完了すると、図3のフローチャートに戻る。
図5は、削除情報テーブル201の一例を示す表である。
削除情報テーブル201は、インスタンスのエンティティと当該エンティティに定義づけられた機能を示すVHDL記述(ブール式)とを対応づけた表であり、予めエンティティを設定して、論理シミュレーションシステムの記憶装置等に保存しておく。
図5において、例えば、「AND2」という名前のエンティティは、
$Z <= $A0 and $A1;
として定義されており、「$信号名」が入出力信号を示す記述となっている。ここで、入力信号を示す「$A0」、「$A1」、及び、出力信号を示す「$Z1」に、図4のステップ3002で取得したインスタンスの接続信号を埋め込む(代入する)ことで、ブール式化が完了する。
$Z <= $A0 and $A1;
として定義されており、「$信号名」が入出力信号を示す記述となっている。ここで、入力信号を示す「$A0」、「$A1」、及び、出力信号を示す「$Z1」に、図4のステップ3002で取得したインスタンスの接続信号を埋め込む(代入する)ことで、ブール式化が完了する。
図6は、削除情報テーブル201によるインスタンスの削除を具体的に示す説明図である。
図6(a)は、インスタンス名「C1」は「AND3」というエンティティであり、その接続信号は、ポート「A0」には「I0」が、ポート「A1」には「I1」が、ポート「A2」には「I2」がそれぞれ入力され、ポート「Z」からは「OUT」信号が出力されることが示されている。
ここで、エンティティ「AND3」は、図5に示すように、
$Z <= $A0 and $A1 and $A2;
として削除情報テーブルに登録されている。この各$信号名を図6(a)の接続信号に置き換えると、図6(b)に示すように、
OUT <= I0 and I1 and I2;
というブール式に変換される。変換されたブール式は、元のインスタンス(図6(a))と置き換えられる。
$Z <= $A0 and $A1 and $A2;
として削除情報テーブルに登録されている。この各$信号名を図6(a)の接続信号に置き換えると、図6(b)に示すように、
OUT <= I0 and I1 and I2;
というブール式に変換される。変換されたブール式は、元のインスタンス(図6(a))と置き換えられる。
図7は、統合処理1(図3のステップ2007)の詳細を示すフローチャートである。
同一のエンティティである複数のインスタンスが共通の入出力信号をもっていたとしても論理シミュレーションの時には別個のものとして処理されるためシミュレーション処理が複雑化する。そこで本発明の実施の形態では、予め、この複数のインスタンスを論理的に可能な範囲で統合したVHDL記述としておく。こうすることで、論理シミュレーション時の処理が簡素化される。
まず、図3のステップ2006において削除処理の完了したインスタンスについて、統合情報テーブル202を参照して、当該インスタンスのエンティティが統合情報テーブル202に含まれるものであるか否かを判定する(ステップ4001)。この統合情報テーブル202(図8参照)は、予め、統合可能なエンティティについての入出力信号の情報を記録した表である。インスタンスのエンティティが統合情報テーブル202に含まれていないと判定した場合は、当該インスタンスは統合処理を行うことなしに処理を終了し、図3のフローチャートに戻る。
一方、インスタンスのエンティティが統合情報テーブル202に含まれているものであると判定した場合は、当該インスタンスの接続信号の情報を取得し、取得した情報を統合インスタンス情報テーブル203(図9参照)に登録する(ステップ4002)。具体的には、インスタンス名、エンティティ名及びインスタンスの各入出力信号の一覧を取得し、インスタンス毎に登録する。登録が完了すると、処理を終了し、図3のフローチャートに戻る。
図8は、統合情報テーブル202の一例を示す表である。
統合情報テーブル202は、予め、統合可能なエンティティについて、当該エンティティの入出力信号の情報を記録しておくものであり、記憶装置等に記録される。図8の例では、フリップフロップが示されており、エンティティ名「FF1」は、クロック信号、リセット信号、データ入力信号、出力信号、を備えた、タイプが「A」のフリップフロップであることが示されている。また、同様にエンティティ名「FF2」はクロック信号、セット信号、出力信号、データ信号、を備えた、タイプが「A」のフリップフロップであることが示されている。なお、タイプが共通であるエンティティは、統合することができる。
図9は、統合インスタンス情報テーブル203の一例を示す表である。
統合インスタンス情報テーブル203は、前述した統合処理1のステップ4002において、インスタンス名、当該インスタンスのエンティティの各入出力信号の一覧として生成され、各エンティティ毎に記憶装置等に登録される。図9の例は、図8と同様にフリップフロップについての例であり、インスタンス名「C2」は、クロック信号名「CLK」、リセット信号名「RESET1」、出力信号名「OUT1」、データ信号名「DATA1」によって構成されるエンティティ名「FF1」のフリップフロップで構成されていることが示される。
図10は、統合処理2(図3のステップ2008)の詳細を示すフローチャートである。
まず、統合インスタンス情報テーブル203を参照し、登録されたインスタンスについて、エンティティ名及び入出力信号名が同一であるものをグループ化する(ステップ5001)。
次に、グループ化を行った複数のインスタンス(ここでは「インスタンス群」と呼ぶ)から、対応するVHDLを生成する(ステップ5002)。VHDLを作成するには、予め各エンティティのタイプ毎に雛形を用意しておき、インスタンス群の入出力信号の情報を、その雛形に埋め込む。
このグループ化処理を、図9に示す統合インスタンス情報テーブル203の例で説明する。登録されているインスタンスC2、C3、C4のエンティティ名、クロック信号名、セット信号名は全て共通である。一方、インスタンスC2、C3のリセット信号はRESET1であるのに対し、インスタンスC4のリセット信号はRESET2である。クロック信号、セット信号及びリセット信号が共通のフリップフロップは、共通のトリガ信号によって入力データに対する出力が定義されるので一つの記述式として統合することができる。従って、この場合は、
(C2、C3)、(C4)
のようにグループ化される。この場合、C2及びC3は、ハードウェア記述言語において一つの論理記述(プロセス文)として置き換えられる。
(C2、C3)、(C4)
のようにグループ化される。この場合、C2及びC3は、ハードウェア記述言語において一つの論理記述(プロセス文)として置き換えられる。
図11は、グループ化処理の具体的な例を示す説明図であり、図12は、エンティティの雛形の具体的な例を示す説明図である。
図11(a)は、エンティティ名「FF1」が含まれているインスタンスのVHDL記述式であり、図9の統合インスタンス情報テーブル203と対応している。例えば、インスタンス名「C2」はエンティティ名「FF1」を含んでいる。このインスタンスC2のエンティティは、クロック信号「CK」に「CLK」、データ信号「D」に「DATA1」、リセット信号「R」に「RESET1」の各信号が入力され、出力信号「Z」に「OUT1」という出力が得られることが定義されている。
一方、図12に示す雛形は、フリップフロップFF1に対して定義されたVHDLによる記述(プロセス文)である。
「$ポート名($Clock、$Reset)」及び「$$ポート名($$Out、$$Data)」は当該プロセスの入出力信号を示す。この雛形を用いて、$ポート名を対応する信号で置き換え、$$ポート名は対応する全ての信号で置き換える。
これを図11(a)に当てはめると、インスタンスC2及びC3は、$Clockは「CLK」、$Resetは「RESET1」の各信号で置き換え、$$Outは「OUT1」及び「OUT2」で、$$Dataは「DATA1」及び「DATA2」で置き換える。また、$Setは対応する信号がないので関連するプロセス文は削除する。図12では4、5行目が削除対象となる。
このようにして、図11(a)のプロセス文をこの図12の雛形を用いて図11(b)に示すプロセス文が生成される。
このように、インスタンスC2とインスタンスC3は、入力される共通の信号から共通の信号を出力するので一つのインスタンスとして統合することができる。こうすることで、回路構成がより平易となり、論理シミュレーション時の処理が簡素化される。
以上のように構成された本発明の実施の形態では、基本的な機能を図形化した基本図形を組み合わせることで作成されるVHDLデータ101の論理シミュレーションを行う前段階の処理として、VHDLデータの階層構造を削除し、インスタンスの統合を行うことで、VHDL式の構造を平易化し、論理シミュレーション実行における、高速化、必要なリソースの低減を行うことができる。
101、103 VHDLデータ
201 削除情報テーブル
202 統合情報テーブル
203 統合インスタンス情報テーブル
201 削除情報テーブル
202 統合情報テーブル
203 統合インスタンス情報テーブル
Claims (10)
- ハードウェア記述言語によって予め作成された論理データを読み出す第1のステップと、
前記読み出した論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別する第2のステップと、
前記識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第3のステップと、を備えることを特徴とする論理データ作成方法。 - ハードウェア記述言語によって示される機能単位情報と、当該機能単位情報に対応するハードウェア記述言語によって示される定義済みの機能の記述と、を含んで構成される機能対応テーブルを備え、
前記第2のステップは、前記読み出した論理データと前記機能対応テーブルとの比較結果に基づいて、前記論理データのうち機能対応テーブルに記録されている機能単位を識別し、
前記第3のステップは、前記識別された機能単位を、前記機能対応テーブルに記録されているハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成することを特徴とする請求項1に記載の論理データ作成方法。 - ハードウェア記述言語によって予め作成された論理データを読み出す第1のステップと、
前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別する第2のステップと、
前記識別された少なくとも二つの機能単位を、少なくとも一つの機能単位に置き換えることで論理データを作成する第3のステップと、を備えることを特徴とする論理データ作成方法。 - 前記第2のステップは、前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別すると共に、前記識別された少なくとも二つの機能単位を、当該機能単位の入出力信号の一覧としてまとめ、
前記第3のステップは、前記一覧としてまとめられた少なくとも二つの機能単位の入出力信号を、予め設定されている雛形に代入することで少なくとも一つの機能単位に置き換え、論理データを作成することを特徴とする請求項3に記載の論理データ作成方法。 - ハードウェア記述言語によって予め作成された論理データを読み出す第1のステップと、
ハードウェア記述言語によって示される機能単位情報及び当該機能単位情報に対応するハードウェア記述言語によって示される定義済みの機能の記述を含む機能対応テーブルと、前記読み出した論理データとの比較結果に基づいて、前記論理データのうち機能対応テーブルに記録されている機能単位を識別する第2のステップと、
前記識別された機能単位を、前記機能対応テーブルに記録されているハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第3のステップと、
前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別すると共に、前記識別された少なくとも二つの機能単位を、当該機能単位の入出力信号の一覧としてまとめる第4のステップと、
前記一覧としてまとめられた少なくとも二つの機能単位の入出力信号を、予め設定されている雛形に代入することで少なくとも一つの機能単位に置き換え、論理データを作成する第5のステップとを備えることを特徴とする論理データ作成方法。 - 入力装置によって入力されたハードウェア記述言語によって作成される論理データを記憶する記憶装置と、前記論理データを用いて論理シミュレーションを行う制御部と、を備える論理シミュレータにおいて、
前記制御部は、
前記記憶装置に記憶された論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別し、
前記識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする論理シミュレータ。 - 前記記憶装置は、ハードウェア記述言語によって示される機能単位情報と、当該機能単位情報に対応するハードウェア記述言語によって示される定義済みの機能の記述と、を含んで構成される機能対応テーブルを備え、
前記制御部は、
前記記憶装置に記憶された論理データと、前記機能対応テーブルと、の比較結果に基づいて、前記論理データのうち機能対応テーブルに記録されている機能単位を識別し、
前記識別された機能単位を、前記機能対応テーブルに記録されているハードウェア記述言語によって示される機能の記述に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする請求項6に記載の論理シミュレータ。 - 入力装置によって入力されたハードウェア記述言語によって作成される論理データを記憶する記憶装置と、前記論理データを用いて論理シミュレーションを行う制御部と、を備えた論理シミュレータにおいて、
前記制御部は、
前記記憶装置に記憶された論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別し、
前記識別された少なくとも二つの機能単位を、少なくとも一つの機能単位に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする論理シミュレータ。 - 前記制御部は、
前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別すると共に、前記識別された少なくとも二つの機能単位を、当該機能単位の入出力信号の一覧としてまとめ、
前記一覧としてまとめられた少なくとも二つの機能単位の入出力信号を、予め設定されている雛形に代入することで少なくとも一つの機能単位に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする請求項8に記載の論理シミュレータ。 - 入力装置によって入力されたハードウェア記述言語によって作成される論理データを記憶する記憶装置と、前記論理データを用いて論理シミュレーションを行う制御部と、を備えた論理シミュレータにおいて、
前記記憶装置は、ハードウェア記述言語によって示される機能単位情報と、当該機能単位情報に対応するハードウェア記述言語によって示される定義済みの機能の記述と、を含んで構成される機能対応テーブルを備え、
前記制御部は、
前記記憶装置に記憶された論理データと、前記機能対応テーブルと、の比較結果に基づいて、前記論理データのうち機能対応テーブルに記録されている機能単位を識別し、
前記識別された機能単位を、前記機能対応テーブルに記録されているハードウェア記述言語によって示される機能の記述に置き換え、
前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別すると共に、前記識別された少なくとも二つの機能単位を、当該機能単位の入出力信号の一覧としてまとめ、
前記一覧としてまとめられた少なくとも二つの機能単位の入出力信号を、予め設定されている雛形に代入することで少なくとも一つの機能単位に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする論理シミュレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004114185A JP2005301498A (ja) | 2004-04-08 | 2004-04-08 | 論理データ作成方法及び論理シミュレータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004114185A JP2005301498A (ja) | 2004-04-08 | 2004-04-08 | 論理データ作成方法及び論理シミュレータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005301498A true JP2005301498A (ja) | 2005-10-27 |
Family
ID=35332981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004114185A Pending JP2005301498A (ja) | 2004-04-08 | 2004-04-08 | 論理データ作成方法及び論理シミュレータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005301498A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157194A (ja) * | 2009-01-05 | 2010-07-15 | Ricoh Co Ltd | シミュレーション用ネットリスト生成装置 |
-
2004
- 2004-04-08 JP JP2004114185A patent/JP2005301498A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157194A (ja) * | 2009-01-05 | 2010-07-15 | Ricoh Co Ltd | シミュレーション用ネットリスト生成装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3027009B2 (ja) | 設計取り込みシステム | |
US9361415B1 (en) | Method, system, and computer program product for implementing a multi-fabric electronic design spanning across multiple design fabrics | |
US9064068B1 (en) | Debuggable opaque IP | |
US6366874B1 (en) | System and method for browsing graphically an electronic design based on a hardware description language specification | |
US7206967B1 (en) | Chip debugging using incremental recompilation and register insertion | |
US20100058272A1 (en) | Compiler for Closed-Loop 1xN VLSI Design | |
US6230305B1 (en) | Methods and apparatus for configuring schematic diagrams | |
US11238202B2 (en) | Verifying glitches in reset path using formal verification and simulation | |
US20100107130A1 (en) | 1xn block builder for 1xn vlsi design | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
US9047424B1 (en) | System and method for analog verification IP authoring and storage | |
US10846449B1 (en) | Conversion of block model-based circuit designs into circuit implementations | |
US10437946B1 (en) | Using implemented core sources for simulation | |
US7904856B2 (en) | Arrangement handling commands as control system behaviors and data system behaviors | |
US8555228B2 (en) | Tool for glitch removal | |
US7086017B1 (en) | Method of post-implementation simulation of a HDL design | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
JP4881769B2 (ja) | 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム | |
US10878164B1 (en) | Methods, systems, and computer program product for interactively probing a multi-fabric electronic design | |
US7275223B2 (en) | Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach | |
JP2005301498A (ja) | 論理データ作成方法及び論理シミュレータ | |
US10094875B1 (en) | Methods, systems, and articles of manufacture for graph-driven verification and debugging of an electronic design | |
JP4006120B2 (ja) | 論理合成装置 | |
US8881096B2 (en) | Computer product, IP model generating apparatus, and IP model generating method | |
US20230110701A1 (en) | Techniques for design verification of domain crossings |