(57)【要約】【課題】シミュレーションの高速化、リソースの低減が可能となる論理データ作成方法及び論理シミュレータを提供する。【解決手段】ハードウェア記述言語によって予め作成された論理データを読み出す第１のステップと、読み出した論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別する第２のステップと、識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第３のステップと、を備える。【選択図】  図１
2005301498.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア記述言語によって予め作成された論理データを読み出す第１のステップと、
前記読み出した論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別する第２のステップと、
前記識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第３のステップと、を備えることを特徴とする論理データ作成方法。
【請求項２】
ハードウェア記述言語によって示される機能単位情報と、当該機能単位情報に対応するハードウェア記述言語によって示される定義済みの機能の記述と、を含んで構成される機能対応テーブルを備え、
前記第２のステップは、前記読み出した論理データと前記機能対応テーブルとの比較結果に基づいて、前記論理データのうち機能対応テーブルに記録されている機能単位を識別し、
前記第３のステップは、前記識別された機能単位を、前記機能対応テーブルに記録されているハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成することを特徴とする請求項１に記載の論理データ作成方法。
【請求項３】
ハードウェア記述言語によって予め作成された論理データを読み出す第１のステップと、
前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別する第２のステップと、
前記識別された少なくとも二つの機能単位を、少なくとも一つの機能単位に置き換えることで論理データを作成する第３のステップと、を備えることを特徴とする論理データ作成方法。
【請求項４】
前記第２のステップは、前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別すると共に、前記識別された少なくとも二つの機能単位を、当該機能単位の入出力信号の一覧としてまとめ、
前記第３のステップは、前記一覧としてまとめられた少なくとも二つの機能単位の入出力信号を、予め設定されている雛形に代入することで少なくとも一つの機能単位に置き換え、論理データを作成することを特徴とする請求項３に記載の論理データ作成方法。
【請求項５】
ハードウェア記述言語によって予め作成された論理データを読み出す第１のステップと、
ハードウェア記述言語によって示される機能単位情報及び当該機能単位情報に対応するハードウェア記述言語によって示される定義済みの機能の記述を含む機能対応テーブルと、前記読み出した論理データとの比較結果に基づいて、前記論理データのうち機能対応テーブルに記録されている機能単位を識別する第２のステップと、
前記識別された機能単位を、前記機能対応テーブルに記録されているハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第３のステップと、
前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別すると共に、前記識別された少なくとも二つの機能単位を、当該機能単位の入出力信号の一覧としてまとめる第４のステップと、
前記一覧としてまとめられた少なくとも二つの機能単位の入出力信号を、予め設定されている雛形に代入することで少なくとも一つの機能単位に置き換え、論理データを作成する第５のステップとを備えることを特徴とする論理データ作成方法。
【請求項６】
入力装置によって入力されたハードウェア記述言語によって作成される論理データを記憶する記憶装置と、前記論理データを用いて論理シミュレーションを行う制御部と、を備える論理シミュレータにおいて、
前記制御部は、
前記記憶装置に記憶された論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別し、
前記識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする論理シミュレータ。
【請求項７】
前記記憶装置は、ハードウェア記述言語によって示される機能単位情報と、当該機能単位情報に対応するハードウェア記述言語によって示される定義済みの機能の記述と、を含んで構成される機能対応テーブルを備え、
前記制御部は、
前記記憶装置に記憶された論理データと、前記機能対応テーブルと、の比較結果に基づいて、前記論理データのうち機能対応テーブルに記録されている機能単位を識別し、
前記識別された機能単位を、前記機能対応テーブルに記録されているハードウェア記述言語によって示される機能の記述に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする請求項６に記載の論理シミュレータ。
【請求項８】
入力装置によって入力されたハードウェア記述言語によって作成される論理データを記憶する記憶装置と、前記論理データを用いて論理シミュレーションを行う制御部と、を備えた論理シミュレータにおいて、
前記制御部は、
前記記憶装置に記憶された論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別し、
前記識別された少なくとも二つの機能単位を、少なくとも一つの機能単位に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする論理シミュレータ。
【請求項９】
前記制御部は、
前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別すると共に、前記識別された少なくとも二つの機能単位を、当該機能単位の入出力信号の一覧としてまとめ、
前記一覧としてまとめられた少なくとも二つの機能単位の入出力信号を、予め設定されている雛形に代入することで少なくとも一つの機能単位に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする請求項８に記載の論理シミュレータ。
【請求項１０】
入力装置によって入力されたハードウェア記述言語によって作成される論理データを記憶する記憶装置と、前記論理データを用いて論理シミュレーションを行う制御部と、を備えた論理シミュレータにおいて、
前記記憶装置は、ハードウェア記述言語によって示される機能単位情報と、当該機能単位情報に対応するハードウェア記述言語によって示される定義済みの機能の記述と、を含んで構成される機能対応テーブルを備え、
前記制御部は、
前記記憶装置に記憶された論理データと、前記機能対応テーブルと、の比較結果に基づいて、前記論理データのうち機能対応テーブルに記録されている機能単位を識別し、
前記識別された機能単位を、前記機能対応テーブルに記録されているハードウェア記述言語によって示される機能の記述に置き換え、
前記読み出した論理データに含まれる定義済みの機能単位のうち、少なくとも一つの機能単位に置き換え可能である少なくとも二つの機能単位を識別すると共に、前記識別された少なくとも二つの機能単位を、当該機能単位の入出力信号の一覧としてまとめ、
前記一覧としてまとめられた少なくとも二つの機能単位の入出力信号を、予め設定されている雛形に代入することで少なくとも一つの機能単位に置き換え、
前記置き換えられた論理データを用いて、当該論理データの矛盾の有無及び正当性を検証することを特徴とする論理シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理装置の設計検証を目的としたシミュレーションに用いられる論理データの作成方法に関し、特に、シミュレーションの高速化、リソースの低減が可能となる論理データ作成方法及び論理シミュレータに関する。
【背景技術】
【０００２】
ＬＳＩ等の回路を設計する場合、ＶＨＤＬ（VHSIC Hardware Description Language）やＶｅｒｉｌｏｇなどのハードウェア記述言語を用いて、論理回路をテキストデータとして記述する手法が広く用いられている。ハードウェア記述言語によって記述された論理回路のシミュレーションを行うことで設計された論理の正しさや機能の正当性を検証することができる。
【０００３】
しかし、ハードウェア記述言語で回路を記述する場合は、論理回路のイメージを直感的に把握することが難しい。そこで、論理回路図をＣＡＤ等によって図形イメージとして入力し、入力した図形イメージの回路図から、ＶＨＤＬ言語やＶｅｒｉｌｏｇ言語に変換する回路入力システムも知られている。この場合、基本機能を図形化し、図形化した機能を組み合わせて論理回路図を記述する。記述された論理回路図は、ハードウェア記述言語に変換され、変換されたハードウェア記述言語に対してシミュレーションを実施する。
【０００４】
このようなシステムの例として、ＣＲＴモニターの画面上に表示された図形や表や文字等を用いて、機能図エディター部により、論理回路の動作を表現する機能図がＣＲＴモニターの画面上において作成され、作成された機能図は、その矛盾の有無を機能図チェック部により検証され、機能図に矛盾がない場合には、この機能図に対して、機能シミュレーション部により機能検証が行なわれる機能設計支援装置が知られている（例えば、特許文献１参照。）。
【特許文献１】特開平７−２２５７８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述した特許文献１のようなシステムでは、ＣＲＴモニターから入力した回路図からハードウェア記述言語に変換する際の最適化は実施されるが、変換されたハードウェア記述言語はシミュレーションを行う際の最適化は考慮されていない。
【０００６】
前記のように、論理回路の入力方法には、論理をハードウェア記述言語によるテキストデータとして記述する方法と、基本機能を図形化し図形化した機能を組み合わせて論理を記述する方法とがある。
【０００７】
この二つの方法を比較した場合、図形による入カシステムの方が、大規模な論理回路を入力する場合は簡単に入力でき、入力ミスの確認も容易である。しかし、図形による入力システムによって作成した論理回路をシミュレーションする場合は、シミュレーションを行う際の最適化は考慮されていないため、テキストデータとして記述した場合と比較すると、シミュレーション速度が遅くなるばかりでなく、シミュレーションシステムが使用するメモリ容量等のリソースも増大する。例えば、ある機能ブロックが複数の基本図形に含まれている場合、これをハードウェア記述言語に変換した場合は、当該機能ブロックは各々の基本図形の記述式それぞれに含まれる。そのため、同一の機能にもかかわらず複数の処理としてシミュレーションが実行されるので、シミュレーションの処理が複雑化し、シミュレーションシステムが必要とするメモリ容量も多くなる。
【０００８】
本発明は上記の問題点に鑑みてなされたものであり、論理回路を図形による入力を行うシステムにおいて、シミュレーションの高速化、シミュレーションシステムのリソースの低減が可能となるような論理データ作成方法及び論理シミュレータを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、ハードウェア記述言語によって予め作成された論理データを読み出す第１のステップと、前記読み出した論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別する第２のステップと、前記識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えることで論理データを作成する第３のステップと、を備える。
【発明の効果】
【００１０】
本発明によると、論理データに含まれる定義済みの機能単位のうち、当該定義によって示される機能の記述に置き換え可能である機能単位を識別し、当該識別された機能単位を、ハードウェア記述言語によって示される機能の記述に置き換えるので、機能単位によって入力された論理データがより平易となり、当該論理データによって示される論理回路の論理シミュレーションを実施する場合、そのシミュレーション速度、および、シミュレーション実行に必要となるメモリ量を低減することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明の実施の形態を図面を参照して説明する。
【００１２】
図１は、本発明の実施の形態の論理シミュレーションシステム（論理シミュレータ）を示すブロック図である。
【００１３】
本発明の実施の形態の論理シミュレーションシステムは、ＣＲＴディスプレイ等で構成される出力装置４０１、マウスやキーボード等から構成される入力装置４０２を備え、生成されたデータ（図形データ、ハードウェア記述言語データ）等を記憶する記憶装置４０５、図形データからハードウェア記述言語に変換するプログラムやハードウェア記述言語のシミュレーションを行うプログラム等を備えるメモリ装置４０４、当該プログラムを実行させる制御装置（ＣＰＵ）４０３、を備える。これらは内部バス４１０を介してそれぞれ接続されている。なお、本実施の形態では、ハードウェア記述言語はＶＨＤＬ（VHSIC Hardware Description Language）として説明するが、Ｖｅｒｉｌｏｇ等の他の言語を用いてもよい。
【００１４】
図２は、本発明による論理回路のシミュレーションの処理を示すフローチャートである。
【００１５】
まず、論理シミュレーションシステムにおいて、オペレータが、論理回路を入力装置４０２から入力する。図形による論理回路の入力には、基本的な機能を図形化した基本図形を組み合わせて行う。各基本図形には入出力信号ピンが備えられており、入出力信号ピンをお互い接続していくことで論理回路が形成される。入力された論理回路は、逐次的に又は論理回路の入力が終了した時点で、ハードウェア記述言語（ＶＨＤＬ）データ１０１に変換される。変換されたＶＨＤＬデータ１０１は記憶装置４０５に記憶される（ステップ１００１）。
【００１６】
なお、ＶＨＤＬの記述では、基本図形のうち、外部とのインターフェース（入出力信号ピン等）を示す機能単位の記述をエンティティと呼び、内部の動作や構造を定義する機能の記述をアーキテクチャと呼ぶ。また、そのように定義されたアーキテクチャを部品として参照する場合、参照された実体をインスタンスと呼ぶ。アーキテクチャは階層構造を持つことが可能であり、下位構造中に同一のアーキテクチャを持つインスタンスを複数、持つこともある。
【００１７】
次に、記憶されたＶＨＤＬデータ１０１から、インスタンス化された階層の削除や複数の共通なアーキテクチャを持つインスタンスの統合処理（階層削除・統合処理）を行う。この処理によって、ＶＨＤＬデータ１０１は、インスタンスの階層構造が削除されたり共通のアーキテクチャが統合されたＶＨＤＬデータ１０３に変換される。変換されたＶＨＤＬデータ１０３は記憶装置に記憶される（ステップ１００２）。
【００１８】
そして、当該変換されたＶＨＤＬデータを用いて、論理シミュレーションを実施する（ステップ１００３）。論理シミュレーションは、前述した特許文献１のような方法によって行われる。すなわち、生成されたＶＨＤＬデータの論理の矛盾の有無をまず検証し、その後、入力ピンへの信号の入力と出力ピンからの信号の出力結果から、当該ＶＨＤＬデータの機能の正当性を検証する。
【００１９】
図３は、図２のステップ１００２の階層削除・統合処理を示すフローチャートである。
【００２０】
この階層削除・統合処理は、論理シミュレーションを行う前段階の処理として実行され、入力されたＶＨＤＬデータ１０１に基づいて、論理シミュレーションを行うのに適したＶＨＤＬデータ１０３に変換する処理を行う。
【００２１】
まず、記憶されたＶＨＤＬデータ１０１を読み込む（ステップ２００１）。そして、読み込んだＶＨＤＬデータ１０１に存在する全てのアーキテクチャについて本フローチャートの処理が終了したか否かを判定する。全てのアーキテクチャについて処理が終了した場合はＶＨＤＬ終了と判定する（ステップ２００２）。ＶＨＤＬ終了と判定した場合、ステップ２００９に移行し、処理の完了したＶＨＤＬデータを記憶装置４０５に記憶させ、本フローチャートを終了する。
【００２２】
ＶＨＤＬ終了ではないと判定した場合、すなわち、未処理のアーキテクチャがあると判定した場合は、まず、未処理のアーキテクチャのうち一つを選択する（ステップ２００３）。
【００２３】
次に、選択したアーキテクチャに含まれている全てのインスタンスについて、階層削除処理（ステップ２００６）及び統合処理１（ステップ２００７）が終了したか否かを判定する（ステップ２００４）。全ての当該アーキテクチャについての処理が終了したと判定した場合は、ステップ２００８に移行する。一方、まだ処理の終了していないアーキテクチャが存在していると判定した場合は、ステップ２００５に移行する。
【００２４】
ステップ２００５では、選択されたアーキテクチャに含まれるインスタンスのうち、未処理のインスタンスを一つ選択する。
【００２５】
次に、選択したインスタンスについて、削除情報テーブル２０１を用いて、当該インスタンスの階層を削除する階層削除処理を実行する（ステップ２００６）。この処理の詳細は後述する（図４〜図６）。
【００２６】
次に、階層構造を削除処理したインスタンスについて、統合情報テーブル２０２を用いて、統合可能なインスタンスかの判定を行い、統合インスタンス情報テーブル２０３を生成する統合処理１を実行する（ステップ２００７）。この処理の詳細は後述する（図７、図８）。
【００２７】
そして、選択したアーキテクチャに含まれる全てのインスタンスについて、階層削除処理（ステップ２００６）及び統合処理１（ステップ２００７）が終了したと判定した場合は、ステップ２００８に移行し、生成した統合インスタンス情報テーブル２０３から、当該インスタンスを統合したＶＨＤＬを生成する統合処理２を実行する。そして、全てのアーキテクチャについて、ステップ２００３〜ステップ２００８を繰り返す。
【００２８】
図４は、階層削除処理（図３のステップ２００６）の詳細を示すフローチャートである。
【００２９】
アーキテクチャはインスタンスの集合として階層的に記述され、下位のインスタンスは別にＶＨＤＬ記述として定義済みである。そのため、論理シミュレーション時には、インスタンス毎に定義済みのアーキテクチャを取得して定義に基づいたＶＨＤＬ記述の展開が必要となり、処理が複雑化する。そこで、本発明の実施の形態では、予め、アーキテクチャに含まれている階層的なインスタンスを、可能な範囲でＶＨＤＬ記述として展開しておく。こうすることで、論理シミュレーション時の処理が簡素化される。
【００３０】
まず、削除情報テーブル２０１を参照して、図３のステップ２００５において選択したインスタンスについて、削除対象か否かを判定する（ステップ３００１）。この削除情報テーブル２０１（図５）は、エンティティと当該エンティティに定義されているＶＨＤＬの記述（ブール式）とを対応づけた表である。
【００３１】
選択したインスタンスが削除対象でないと判定した場合は、当該インスタンスについては階層削除処理を行うことなく階層削除処理を終了し、図３のフローチャートに戻る。
【００３２】
一方、選択したインスタンスを削除対象と判定した場合は、まず、当該インスタンスの接続信号の情報を取得する（ステップ３００２）。そして、取得した接続信号と削除情報テーブル２０１とから、当該インスタンスをＶＨＤＬの記述（ブール式）に変換する（ステップ３００３）。具体的には、取得したインスタンスの接続信号を削除情報テーブル２０１にある定義済みのブール式に代入することで、当該インスタンスをブール式化する。結果として、削除対象のインスタンスは削除され、ブール式化したデータのみがＶＨＤＬデータとして置き換わる。ステップ３００３の処理が完了すると、図３のフローチャートに戻る。
【００３３】
図５は、削除情報テーブル２０１の一例を示す表である。
【００３４】
削除情報テーブル２０１は、インスタンスのエンティティと当該エンティティに定義づけられた機能を示すＶＨＤＬ記述（ブール式）とを対応づけた表であり、予めエンティティを設定して、論理シミュレーションシステムの記憶装置等に保存しておく。
【００３５】
図５において、例えば、「ＡＮＤ２」という名前のエンティティは、
＄Ｚ  ＜＝  ＄Ａ０  ａｎｄ  ＄Ａ１；
として定義されており、「＄信号名」が入出力信号を示す記述となっている。ここで、入力信号を示す「＄Ａ０」、「＄Ａ１」、及び、出力信号を示す「＄Ｚ１」に、図４のステップ３００２で取得したインスタンスの接続信号を埋め込む（代入する）ことで、ブール式化が完了する。
【００３６】
図６は、削除情報テーブル２０１によるインスタンスの削除を具体的に示す説明図である。
【００３７】
図６（ａ）は、インスタンス名「Ｃ１」は「ＡＮＤ３」というエンティティであり、その接続信号は、ポート「Ａ０」には「Ｉ０」が、ポート「Ａ１」には「Ｉ１」が、ポート「Ａ２」には「Ｉ２」がそれぞれ入力され、ポート「Ｚ」からは「ＯＵＴ」信号が出力されることが示されている。
【００３８】
ここで、エンティティ「ＡＮＤ３」は、図５に示すように、
＄Ｚ  ＜＝  ＄Ａ０  ａｎｄ  ＄Ａ１  ａｎｄ  ＄Ａ２；
として削除情報テーブルに登録されている。この各＄信号名を図６（ａ）の接続信号に置き換えると、図６（ｂ）に示すように、
ＯＵＴ  ＜＝  Ｉ０  ａｎｄ  Ｉ１  ａｎｄ  Ｉ２；
というブール式に変換される。変換されたブール式は、元のインスタンス（図６（ａ））と置き換えられる。
【００３９】
図７は、統合処理１（図３のステップ２００７）の詳細を示すフローチャートである。
【００４０】
同一のエンティティである複数のインスタンスが共通の入出力信号をもっていたとしても論理シミュレーションの時には別個のものとして処理されるためシミュレーション処理が複雑化する。そこで本発明の実施の形態では、予め、この複数のインスタンスを論理的に可能な範囲で統合したＶＨＤＬ記述としておく。こうすることで、論理シミュレーション時の処理が簡素化される。
【００４１】
まず、図３のステップ２００６において削除処理の完了したインスタンスについて、統合情報テーブル２０２を参照して、当該インスタンスのエンティティが統合情報テーブル２０２に含まれるものであるか否かを判定する（ステップ４００１）。この統合情報テーブル２０２（図８参照）は、予め、統合可能なエンティティについての入出力信号の情報を記録した表である。インスタンスのエンティティが統合情報テーブル２０２に含まれていないと判定した場合は、当該インスタンスは統合処理を行うことなしに処理を終了し、図３のフローチャートに戻る。
【００４２】
一方、インスタンスのエンティティが統合情報テーブル２０２に含まれているものであると判定した場合は、当該インスタンスの接続信号の情報を取得し、取得した情報を統合インスタンス情報テーブル２０３（図９参照）に登録する（ステップ４００２）。具体的には、インスタンス名、エンティティ名及びインスタンスの各入出力信号の一覧を取得し、インスタンス毎に登録する。登録が完了すると、処理を終了し、図３のフローチャートに戻る。
【００４３】
図８は、統合情報テーブル２０２の一例を示す表である。
【００４４】
統合情報テーブル２０２は、予め、統合可能なエンティティについて、当該エンティティの入出力信号の情報を記録しておくものであり、記憶装置等に記録される。図８の例では、フリップフロップが示されており、エンティティ名「ＦＦ１」は、クロック信号、リセット信号、データ入力信号、出力信号、を備えた、タイプが「Ａ」のフリップフロップであることが示されている。また、同様にエンティティ名「ＦＦ２」はクロック信号、セット信号、出力信号、データ信号、を備えた、タイプが「Ａ」のフリップフロップであることが示されている。なお、タイプが共通であるエンティティは、統合することができる。
【００４５】
図９は、統合インスタンス情報テーブル２０３の一例を示す表である。
【００４６】
統合インスタンス情報テーブル２０３は、前述した統合処理１のステップ４００２において、インスタンス名、当該インスタンスのエンティティの各入出力信号の一覧として生成され、各エンティティ毎に記憶装置等に登録される。図９の例は、図８と同様にフリップフロップについての例であり、インスタンス名「Ｃ２」は、クロック信号名「ＣＬＫ」、リセット信号名「ＲＥＳＥＴ１」、出力信号名「ＯＵＴ１」、データ信号名「ＤＡＴＡ１」によって構成されるエンティティ名「ＦＦ１」のフリップフロップで構成されていることが示される。
【００４７】
図１０は、統合処理２（図３のステップ２００８）の詳細を示すフローチャートである。
【００４８】
まず、統合インスタンス情報テーブル２０３を参照し、登録されたインスタンスについて、エンティティ名及び入出力信号名が同一であるものをグループ化する（ステップ５００１）。
【００４９】
次に、グループ化を行った複数のインスタンス（ここでは「インスタンス群」と呼ぶ）から、対応するＶＨＤＬを生成する（ステップ５００２）。ＶＨＤＬを作成するには、予め各エンティティのタイプ毎に雛形を用意しておき、インスタンス群の入出力信号の情報を、その雛形に埋め込む。
【００５０】
このグループ化処理を、図９に示す統合インスタンス情報テーブル２０３の例で説明する。登録されているインスタンスＣ２、Ｃ３、Ｃ４のエンティティ名、クロック信号名、セット信号名は全て共通である。一方、インスタンスＣ２、Ｃ３のリセット信号はＲＥＳＥＴ１であるのに対し、インスタンスＣ４のリセット信号はＲＥＳＥＴ２である。クロック信号、セット信号及びリセット信号が共通のフリップフロップは、共通のトリガ信号によって入力データに対する出力が定義されるので一つの記述式として統合することができる。従って、この場合は、
（Ｃ２、Ｃ３）、（Ｃ４）
のようにグループ化される。この場合、Ｃ２及びＣ３は、ハードウェア記述言語において一つの論理記述（プロセス文）として置き換えられる。
【００５１】
図１１は、グループ化処理の具体的な例を示す説明図であり、図１２は、エンティティの雛形の具体的な例を示す説明図である。
【００５２】
図１１（ａ）は、エンティティ名「ＦＦ１」が含まれているインスタンスのＶＨＤＬ記述式であり、図９の統合インスタンス情報テーブル２０３と対応している。例えば、インスタンス名「Ｃ２」はエンティティ名「ＦＦ１」を含んでいる。このインスタンスＣ２のエンティティは、クロック信号「ＣＫ」に「ＣＬＫ」、データ信号「Ｄ」に「ＤＡＴＡ１」、リセット信号「Ｒ」に「ＲＥＳＥＴ１」の各信号が入力され、出力信号「Ｚ」に「ＯＵＴ１」という出力が得られることが定義されている。
【００５３】
一方、図１２に示す雛形は、フリップフロップＦＦ１に対して定義されたＶＨＤＬによる記述（プロセス文）である。
【００５４】
「＄ポート名（＄Ｃｌｏｃｋ、＄Ｒｅｓｅｔ）」及び「＄＄ポート名（＄＄Ｏｕｔ、＄＄Ｄａｔａ）」は当該プロセスの入出力信号を示す。この雛形を用いて、＄ポート名を対応する信号で置き換え、＄＄ポート名は対応する全ての信号で置き換える。
【００５５】
これを図１１（ａ）に当てはめると、インスタンスＣ２及びＣ３は、＄Ｃｌｏｃｋは「ＣＬＫ」、＄Ｒｅｓｅｔは「ＲＥＳＥＴ１」の各信号で置き換え、＄＄Ｏｕｔは「ＯＵＴ１」及び「ＯＵＴ２」で、＄＄Ｄａｔａは「ＤＡＴＡ１」及び「ＤＡＴＡ２」で置き換える。また、＄Ｓｅｔは対応する信号がないので関連するプロセス文は削除する。図１２では４、５行目が削除対象となる。
【００５６】
このようにして、図１１（ａ）のプロセス文をこの図１２の雛形を用いて図１１（ｂ）に示すプロセス文が生成される。
【００５７】
このように、インスタンスＣ２とインスタンスＣ３は、入力される共通の信号から共通の信号を出力するので一つのインスタンスとして統合することができる。こうすることで、回路構成がより平易となり、論理シミュレーション時の処理が簡素化される。
【００５８】
以上のように構成された本発明の実施の形態では、基本的な機能を図形化した基本図形を組み合わせることで作成されるＶＨＤＬデータ１０１の論理シミュレーションを行う前段階の処理として、ＶＨＤＬデータの階層構造を削除し、インスタンスの統合を行うことで、ＶＨＤＬ式の構造を平易化し、論理シミュレーション実行における、高速化、必要なリソースの低減を行うことができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態の論理シミュレーションシステムを示すブロック図である。
【図２】本発明の実施の形態の論理回路のシミュレーションの処理を示すフローチャートである。
【図３】本発明の実施の形態の階層削除・統合処理を示すフローチャートである。
【図４】本発明の実施の形態の階層削除処理の詳細を示すフローチャートである。
【図５】本発明の実施の形態の削除情報テーブル２０１の一例を示す表である。
【図６】本発明の実施の形態の削除情報テーブル２０１によるエンティティの削除を示す説明図である。
【図７】本発明の実施の形態の統合処理１の詳細を示すフローチャートである。
【図８】本発明の実施の形態の統合情報テーブル２０２の一例を示す表である。
【図９】本発明の実施の形態の統合インスタンス情報テーブル２０３の一例を示す表である。
【図１０】本発明の実施の形態の統合処理２の詳細を示すフローチャートである。
【図１１】本発明の実施の形態のグループ化処理前後の具体的な例を示す説明図である。
【図１２】本発明の実施の形態のエンティティの雛形の具体的な例を示す説明図である。
【符号の説明】
【００６０】
１０１、１０３  ＶＨＤＬデータ
２０１        削除情報テーブル
２０２        統合情報テーブル
２０３        統合インスタンス情報テーブル
【図１】
2005301498.tif 000003
【図２】
2005301498.tif 000004
【図３】
2005301498.tif 000005
【図４】
2005301498.tif 000006
【図５】
2005301498.tif 000007
【図６】
2005301498.tif 000008
【図７】
2005301498.tif 000009
【図８】
2005301498.tif 000010
【図９】
2005301498.tif 000011
【図１０】
2005301498.tif 000012
【図１１】
2005301498.tif 000013
【図１２】
2005301498.tif 000014