(57)【要約】【課題】ハードウェアモデルのシミュレーション装置において、抽象度の異なる複数のモデルを事前に用意することなく、シミュレーションの演算量を低減させ、シミュレーションを高速化する。【解決手段】シミュレーション対象となるハードウェアを記述した設計データを読み込むハードウェアデザイン読込み部１０１と、読み込まれた設計データを解析してシミュレーション実行可能なモジュールを生成する処理部１０３〜１０７と、読み込まれた設計データにおける選択された機能ブロックの記述を抽象度の高い記述に変換する抽象度変換部１０２とを備えたシミュレーション装置において、抽象度変換部１０２に内蔵する機能記述の変換表のアルゴリズムに基づいて、指定された機能階層の組合せ回路部に対してゲートレベルからＲＴＬもしくは動作モデルへの変換を実施する。【選択図】  図１
2006163559.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーション対象となるハードウェアを記述した設計データを読み込むハードウェアデザイン読込み部と、読み込まれた前記設計データを解析してシミュレーション実行可能なモジュールを生成する処理部とを備えて構成されるハードウェアモデルのシミュレーション装置であって、読み込まれた前記設計データにおける選択された機能ブロックの記述を抽象度の高い記述に変換する抽象度変換部を有するシミュレーション装置。
【請求項２】
前記抽象度変換部は、シミュレーション実行時にテキスト情報変換により抽象度を変換させる機能を有する請求項１記載のシミュレーション装置。
【請求項３】
前記抽象度変換部は、シミュレーション実行時に外部より抽象度変換の対象ブロックを指定する機能を有する請求項１記載のシミュレーション装置。
【請求項４】
前記抽象度変換部は、シミュレーション実行時に動作クロックで同期化されているレジスタ間に挿入されている組合せ回路を機能記述に変換する機能を有する請求項１記載のシミュレーション装置。
【請求項５】
前記抽象度変換部は、抽象度を変換するための機能記述の変換表を備える請求項１記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は設計検証を行うためのハードウェアモデルのシミュレーション装置に関し、特にシミュレーションを高速化する技術に関する。
【背景技術】
【０００２】
近年、ＬＳＩの設計対象ハードウェアの大規模化に伴い、設計効率の向上を目的として機能設計のような設計の上位工程から設計を支援するシステムが開発されている。これらの設計支援システムにおいては、設計対象ハードウェアを記述する入力データとしてソフトウェアのプログラム言語に類似したハードウェア記述言語（ＨＤＬ）が用いられる。
【０００３】
設計者はＨＤＬで記述したデータを設計支援システムに入力し、シミュレーションによって設計を検証することができる。単一のＨＤＬにより複数の記述レベルや記述方式でモデル記述を行い、それらを結合して検証することができるため、この設計支援システムは多くの設計で利用されている。
【０００４】
ＨＤＬによるシミュレーションにおいては、一般にＬＳＩ設計の後工程に進むに連れてハードウェアモデルの抽象度を下げてシミュレーションを行う。すなわち、ハードウェアをＲＴＬ（レジスタトランスファレベル）で記述したモデル、これを論理合成によりゲートレベル記述に変換したモデル、配置配線後に実遅延値がゲートレベルのモデルに付加されたモデルの各段階で、シミュレーション対象モデルの抽象度を順に低くしてシミュレーションを行うことで詳細な検証を行うことができる。
【０００５】
ハードウェアモデルのシミュレーションでは回路規模が大きくなると急速にシミュレーション時間が増大するが、それに加えて抽象度が低下する度にシミュレーションの演算量が増大するため、特に回路規模が大きな対象ハードウェアについて抽象度を下げてシミュレーションを行う場合にはシミュレーション時間の増大が大きな問題となる。
【０００６】
従来、上記問題に対処するためのシミュレーション高速化手法として、抽象度の異なる複数のモデルをシミュレーション実行者が用意し、シミュレーション実行時に状況に応じて複数のモデルを使い分けることで無駄な演算時間を減らし、シミュレーションの高速化を図っているものがある。(例えば、特許文献１参照)。
【０００７】
この手法においては、例えば簡略な検証モデルと詳細な検証モデルを用意し、指定した時刻までは簡略な検証モデルを用いて粗いシミュレーションを行い、指定した時刻になると詳細な検証モデルを用いて細かい動作を検証するようにしている。
【特許文献１】特開平１０−２６１００２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記従来のシミュレーション高速化手法は、抽象度の異なる複数のモデルを事前に用意する必要があり、さらに抽象度の異なるハードウェアモデルが混在することで、両者のインターフェースを新たに設計する必要が生じる等の問題がある。
【０００９】
本発明は、ハードウェアモデルのシミュレーション装置において、抽象度の異なる複数のモデルを事前に用意することなく、シミュレーションの演算量を低減させ、シミュレーションを高速化することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、シミュレーション対象となるハードウェアを記述した設計データを読み込むハードウェアデザイン読込み部と、読み込まれた前記設計データを解析してシミュレーション実行可能なモジュールを生成する処理部とを備えて構成されるハードウェアモデルのシミュレーション装置であって、読み込まれた前記設計データにおける選択された機能ブロックの記述を抽象度の高い記述に変換する抽象度変換部を有する。
【００１１】
本発明において、前記抽象度変換部はシミュレーション実行時にテキスト情報変換により抽象度を変換させる機能を有する。
【００１２】
本発明において、前記抽象度変換部はシミュレーション実行時に外部より抽象度変換の対象ブロックを指定する機能を有する。
【００１３】
本発明において、前記抽象度変換部はシミュレーション実行時に動作クロックで同期化されているレジスタ間に挿入されている組合せ回路を機能記述に変換する機能を有する。
【００１４】
本発明において、前記抽象度変換部は抽象度を変換するための機能記述の変換表を備える。
【００１５】
上記構成によれば、シミュレーション対象ハードウェアモデルにおいて、シミュレーションの解析対象としない機能階層ブロックを選択し、同期設計情報を崩すことなく選択された機能ブロックの組合せ回路の抽象度を擬似的に向上させることができるため、シミュレーション実行時の演算量を低減させることでシミュレーションの高速化を図ることができる。
【発明の効果】
【００１６】
本発明によれば、ＬＳＩ設計における論理シミュレーションにおいて、解析対象外の回路ブロックの抽象度を向上させることで大幅に演算量を低減させることが可能となり、同期設計のタイミング情報を損なうことなくシミュレーション実行時間を短縮することが可能となり、ＬＳＩ開発における検証時間を短縮することができる。
【発明を実施するための最良の形態】
【００１７】
図１は本発明の一実施の形態に係るシミュレーション装置の構成を示すブロック図である。図１において、高速シミュレーション装置１００は、ハードウェアデザイン読み込み部１０１、抽象度変換部１０２、文法解析部１０３、構文解析部１０４、コンパイラ１０５、リンカ１０６、ビルド部１０７、シミュレーション実行部１０８を備える。
【００１８】
ハードウェアデザイン読み込み部１０１は、例えばＶｅｒｉｌｏｇ−ＨＤＬ等のハードウェア記述言語で記述されたハードウェアモデル１１１、ハードウェア記述言語の動作記述で構成されたテストベンチ１１２、および記憶素子や論理セルのライブラリ１１３を読み込む。
【００１９】
抽象度変換部１０２は本発明の特徴とする構成要件であり、図示を省略した指定に従い、読み込まれたハードウェアモデルの指定された記述部分の抽象度を変換する。具体的には、指定された機能階層の組合せ回路部に対して、ゲートレベルの記述からＲＴＬへの変換もしくは動作モデルへの変換を所定のアルゴリズムに基づいて実施する。
【００２０】
文法解析部１０３ではハードウェア記述言語の文法解析が行われ、構文解析部１０４からリンカ１０６までの処理を経て、ビルド部１０７によりシミュレーション実行可能なオブジェクトであるシミュレーション実行体１１４が生成され、これがシミュレーション実行部１０８で実行される。
【００２１】
次に、抽象度変換部１０２による抽象度変換方法を説明する。図２は本実施の形態における抽象度変換方法を示すフロー図である。また、図３はシミュレーション対象ハードウェアモデルに対する抽象度指定を説明する図である。
【００２２】
図２において、ハードウェアデザイン読み込み部１０１で読み込まれたハードウェアモデル１１１に対して、まずステップ２０１で抽象度の指定を行う。抽象度の指定はシミュレーション対象ハードウェアモデルに対して機能階層レベルで選択的に行う。例えば図３に示すようなハードウェアモデルにおいて機能ブロックＡを選択して変換後の抽象度を指定する。
【００２３】
次にステップ２０２において、抽象度変換指定された階層に対してテキスト変換による抽象度変換を実施する。図４は具体的な論理ゲートレベルのハードウェアモデルにおける抽象度変換の一例を説明する図である。ここでは、読み込んだハードウェアモデルの指定された機能ブロックに対して、ゲートレベルで記述された箇所をテキスト変換により抽象度の高い機能記述に置換する。
【００２４】
図４において、４０１は変換対象となる論理ゲートライブラリの変換アルゴリズムを記述した論理ゲート機能記述変換テーブルであり、抽象度変換部１０２に内蔵される。また、４０２はゲートレベルで記述された機能ブロック、４０３は抽象度の高い機能記述に変換された機能ブロックである。
【００２５】
すなわち、抽象度変換部１０２はゲートレベルで記述された機能ブロック４０２に対して論理ゲート機能記述変換テーブル４０１に基づいて抽象度を向上させる抽象度変換を実施し、機能変換後の機能ブロック４０３を生成する。
【００２６】
抽象度変換の対象となる機能ブロックと対象外の機能ブロックとの動作クロックに基づくタイミング情報を損なわせないために、クロックに同期して動作するレジスタは機能記述への変換を行わず、組合せ回路のみを変換する。
【００２７】
抽象度変換がなされた後は、ステップ２０３において変換後のハードウェアモデルが生成され、その後は図１のシミュレーションフローに従い、文法解析、構文解析、コンパイルおよびリンクが実行され、シミュレーション実行可能なオブジェクトとしてシミュレーション実行体１１４が生成される。
【００２８】
この方法によると、シミュレーションの解析対象としない機能階層ブロックのレジスタ間に挿入されている組合せ回路の抽象度を上げることができるため、シミュレーション実行時の演算量を低減させることができ、ＬＳＩ開発における検証時間を短縮することができる。
【産業上の利用可能性】
【００２９】
本発明のシミュレーション装置は、ＬＳＩ設計における論理シミュレーションにおいて、解析対象外の回路ブロックの抽象度を向上させることで大幅に演算量を低減させることが可能となり、同期設計のタイミング情報を損なうことなくシミュレーション実行時間を短縮することが可能となり、ＬＳＩ開発における検証時間を短縮することができるという効果を有し、シミュレーションの高速化技術等として有用である。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施の形態に係るシミュレーション装置の構成を示すブロック図。
【図２】本発明の一実施の形態における抽象度変換方法を示すフロー図。
【図３】シミュレーション対象ハードウェアモデルに対する抽象度指定を説明する図。
【図４】論理ゲートレベルのハードウェアモデルにおける抽象度変換例を説明する図。
【符号の説明】
【００３１】
１００  高速シミュレーション装置
１０１  ハードウェアデザイン読み込み部
１０２  抽象度変換部
１０３  文法解析部
１０４  構文解析部
１０５  コンパイラ
１０６  リンカ
１０７  ビルド部
１０８  シミュレーション実行部
１１１  ハードウェアモデル
１１２  テストベンチ
１１３  ライブラリ
１１４  シミュレーション実行体
２０１  抽象度指定ステップ
２０２  抽象度変換ステップ
２０３  ハードウェア生成ステップ
４０１  論理ゲート機能記述変換テーブル
４０２  ゲートレベルで記述された機能ブロック
４０３  抽象度の高い機能記述に変換された機能ブロック
【図１】
2006163559.tif 000003
【図２】
2006163559.tif 000004
【図３】
2006163559.tif 000005
【図４】
2006163559.tif 000006