JP2006163559A - シミュレーション装置 - Google Patents
シミュレーション装置 Download PDFInfo
- Publication number
- JP2006163559A JP2006163559A JP2004350854A JP2004350854A JP2006163559A JP 2006163559 A JP2006163559 A JP 2006163559A JP 2004350854 A JP2004350854 A JP 2004350854A JP 2004350854 A JP2004350854 A JP 2004350854A JP 2006163559 A JP2006163559 A JP 2006163559A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- abstraction
- abstraction level
- hardware
- level
- 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
Abstract
【課題】ハードウェアモデルのシミュレーション装置において、抽象度の異なる複数のモデルを事前に用意することなく、シミュレーションの演算量を低減させ、シミュレーションを高速化する。
【解決手段】シミュレーション対象となるハードウェアを記述した設計データを読み込むハードウェアデザイン読込み部101と、読み込まれた設計データを解析してシミュレーション実行可能なモジュールを生成する処理部103〜107と、読み込まれた設計データにおける選択された機能ブロックの記述を抽象度の高い記述に変換する抽象度変換部102とを備えたシミュレーション装置において、抽象度変換部102に内蔵する機能記述の変換表のアルゴリズムに基づいて、指定された機能階層の組合せ回路部に対してゲートレベルからRTLもしくは動作モデルへの変換を実施する。
【選択図】 図1
【解決手段】シミュレーション対象となるハードウェアを記述した設計データを読み込むハードウェアデザイン読込み部101と、読み込まれた設計データを解析してシミュレーション実行可能なモジュールを生成する処理部103〜107と、読み込まれた設計データにおける選択された機能ブロックの記述を抽象度の高い記述に変換する抽象度変換部102とを備えたシミュレーション装置において、抽象度変換部102に内蔵する機能記述の変換表のアルゴリズムに基づいて、指定された機能階層の組合せ回路部に対してゲートレベルからRTLもしくは動作モデルへの変換を実施する。
【選択図】 図1
Description
本発明は設計検証を行うためのハードウェアモデルのシミュレーション装置に関し、特にシミュレーションを高速化する技術に関する。
近年、LSIの設計対象ハードウェアの大規模化に伴い、設計効率の向上を目的として機能設計のような設計の上位工程から設計を支援するシステムが開発されている。これらの設計支援システムにおいては、設計対象ハードウェアを記述する入力データとしてソフトウェアのプログラム言語に類似したハードウェア記述言語(HDL)が用いられる。
設計者はHDLで記述したデータを設計支援システムに入力し、シミュレーションによって設計を検証することができる。単一のHDLにより複数の記述レベルや記述方式でモデル記述を行い、それらを結合して検証することができるため、この設計支援システムは多くの設計で利用されている。
HDLによるシミュレーションにおいては、一般にLSI設計の後工程に進むに連れてハードウェアモデルの抽象度を下げてシミュレーションを行う。すなわち、ハードウェアをRTL(レジスタトランスファレベル)で記述したモデル、これを論理合成によりゲートレベル記述に変換したモデル、配置配線後に実遅延値がゲートレベルのモデルに付加されたモデルの各段階で、シミュレーション対象モデルの抽象度を順に低くしてシミュレーションを行うことで詳細な検証を行うことができる。
ハードウェアモデルのシミュレーションでは回路規模が大きくなると急速にシミュレーション時間が増大するが、それに加えて抽象度が低下する度にシミュレーションの演算量が増大するため、特に回路規模が大きな対象ハードウェアについて抽象度を下げてシミュレーションを行う場合にはシミュレーション時間の増大が大きな問題となる。
従来、上記問題に対処するためのシミュレーション高速化手法として、抽象度の異なる複数のモデルをシミュレーション実行者が用意し、シミュレーション実行時に状況に応じて複数のモデルを使い分けることで無駄な演算時間を減らし、シミュレーションの高速化を図っているものがある。(例えば、特許文献1参照)。
この手法においては、例えば簡略な検証モデルと詳細な検証モデルを用意し、指定した時刻までは簡略な検証モデルを用いて粗いシミュレーションを行い、指定した時刻になると詳細な検証モデルを用いて細かい動作を検証するようにしている。
特開平10−261002号公報
上記従来のシミュレーション高速化手法は、抽象度の異なる複数のモデルを事前に用意する必要があり、さらに抽象度の異なるハードウェアモデルが混在することで、両者のインターフェースを新たに設計する必要が生じる等の問題がある。
本発明は、ハードウェアモデルのシミュレーション装置において、抽象度の異なる複数のモデルを事前に用意することなく、シミュレーションの演算量を低減させ、シミュレーションを高速化することを目的とする。
本発明は、シミュレーション対象となるハードウェアを記述した設計データを読み込むハードウェアデザイン読込み部と、読み込まれた前記設計データを解析してシミュレーション実行可能なモジュールを生成する処理部とを備えて構成されるハードウェアモデルのシミュレーション装置であって、読み込まれた前記設計データにおける選択された機能ブロックの記述を抽象度の高い記述に変換する抽象度変換部を有する。
本発明において、前記抽象度変換部はシミュレーション実行時にテキスト情報変換により抽象度を変換させる機能を有する。
本発明において、前記抽象度変換部はシミュレーション実行時に外部より抽象度変換の対象ブロックを指定する機能を有する。
本発明において、前記抽象度変換部はシミュレーション実行時に動作クロックで同期化されているレジスタ間に挿入されている組合せ回路を機能記述に変換する機能を有する。
本発明において、前記抽象度変換部は抽象度を変換するための機能記述の変換表を備える。
上記構成によれば、シミュレーション対象ハードウェアモデルにおいて、シミュレーションの解析対象としない機能階層ブロックを選択し、同期設計情報を崩すことなく選択された機能ブロックの組合せ回路の抽象度を擬似的に向上させることができるため、シミュレーション実行時の演算量を低減させることでシミュレーションの高速化を図ることができる。
本発明によれば、LSI設計における論理シミュレーションにおいて、解析対象外の回路ブロックの抽象度を向上させることで大幅に演算量を低減させることが可能となり、同期設計のタイミング情報を損なうことなくシミュレーション実行時間を短縮することが可能となり、LSI開発における検証時間を短縮することができる。
図1は本発明の一実施の形態に係るシミュレーション装置の構成を示すブロック図である。図1において、高速シミュレーション装置100は、ハードウェアデザイン読み込み部101、抽象度変換部102、文法解析部103、構文解析部104、コンパイラ105、リンカ106、ビルド部107、シミュレーション実行部108を備える。
ハードウェアデザイン読み込み部101は、例えばVerilog−HDL等のハードウェア記述言語で記述されたハードウェアモデル111、ハードウェア記述言語の動作記述で構成されたテストベンチ112、および記憶素子や論理セルのライブラリ113を読み込む。
抽象度変換部102は本発明の特徴とする構成要件であり、図示を省略した指定に従い、読み込まれたハードウェアモデルの指定された記述部分の抽象度を変換する。具体的には、指定された機能階層の組合せ回路部に対して、ゲートレベルの記述からRTLへの変換もしくは動作モデルへの変換を所定のアルゴリズムに基づいて実施する。
文法解析部103ではハードウェア記述言語の文法解析が行われ、構文解析部104からリンカ106までの処理を経て、ビルド部107によりシミュレーション実行可能なオブジェクトであるシミュレーション実行体114が生成され、これがシミュレーション実行部108で実行される。
次に、抽象度変換部102による抽象度変換方法を説明する。図2は本実施の形態における抽象度変換方法を示すフロー図である。また、図3はシミュレーション対象ハードウェアモデルに対する抽象度指定を説明する図である。
図2において、ハードウェアデザイン読み込み部101で読み込まれたハードウェアモデル111に対して、まずステップ201で抽象度の指定を行う。抽象度の指定はシミュレーション対象ハードウェアモデルに対して機能階層レベルで選択的に行う。例えば図3に示すようなハードウェアモデルにおいて機能ブロックAを選択して変換後の抽象度を指定する。
次にステップ202において、抽象度変換指定された階層に対してテキスト変換による抽象度変換を実施する。図4は具体的な論理ゲートレベルのハードウェアモデルにおける抽象度変換の一例を説明する図である。ここでは、読み込んだハードウェアモデルの指定された機能ブロックに対して、ゲートレベルで記述された箇所をテキスト変換により抽象度の高い機能記述に置換する。
図4において、401は変換対象となる論理ゲートライブラリの変換アルゴリズムを記述した論理ゲート機能記述変換テーブルであり、抽象度変換部102に内蔵される。また、402はゲートレベルで記述された機能ブロック、403は抽象度の高い機能記述に変換された機能ブロックである。
すなわち、抽象度変換部102はゲートレベルで記述された機能ブロック402に対して論理ゲート機能記述変換テーブル401に基づいて抽象度を向上させる抽象度変換を実施し、機能変換後の機能ブロック403を生成する。
抽象度変換の対象となる機能ブロックと対象外の機能ブロックとの動作クロックに基づくタイミング情報を損なわせないために、クロックに同期して動作するレジスタは機能記述への変換を行わず、組合せ回路のみを変換する。
抽象度変換がなされた後は、ステップ203において変換後のハードウェアモデルが生成され、その後は図1のシミュレーションフローに従い、文法解析、構文解析、コンパイルおよびリンクが実行され、シミュレーション実行可能なオブジェクトとしてシミュレーション実行体114が生成される。
この方法によると、シミュレーションの解析対象としない機能階層ブロックのレジスタ間に挿入されている組合せ回路の抽象度を上げることができるため、シミュレーション実行時の演算量を低減させることができ、LSI開発における検証時間を短縮することができる。
本発明のシミュレーション装置は、LSI設計における論理シミュレーションにおいて、解析対象外の回路ブロックの抽象度を向上させることで大幅に演算量を低減させることが可能となり、同期設計のタイミング情報を損なうことなくシミュレーション実行時間を短縮することが可能となり、LSI開発における検証時間を短縮することができるという効果を有し、シミュレーションの高速化技術等として有用である。
100 高速シミュレーション装置
101 ハードウェアデザイン読み込み部
102 抽象度変換部
103 文法解析部
104 構文解析部
105 コンパイラ
106 リンカ
107 ビルド部
108 シミュレーション実行部
111 ハードウェアモデル
112 テストベンチ
113 ライブラリ
114 シミュレーション実行体
201 抽象度指定ステップ
202 抽象度変換ステップ
203 ハードウェア生成ステップ
401 論理ゲート機能記述変換テーブル
402 ゲートレベルで記述された機能ブロック
403 抽象度の高い機能記述に変換された機能ブロック
101 ハードウェアデザイン読み込み部
102 抽象度変換部
103 文法解析部
104 構文解析部
105 コンパイラ
106 リンカ
107 ビルド部
108 シミュレーション実行部
111 ハードウェアモデル
112 テストベンチ
113 ライブラリ
114 シミュレーション実行体
201 抽象度指定ステップ
202 抽象度変換ステップ
203 ハードウェア生成ステップ
401 論理ゲート機能記述変換テーブル
402 ゲートレベルで記述された機能ブロック
403 抽象度の高い機能記述に変換された機能ブロック
Claims (5)
- シミュレーション対象となるハードウェアを記述した設計データを読み込むハードウェアデザイン読込み部と、読み込まれた前記設計データを解析してシミュレーション実行可能なモジュールを生成する処理部とを備えて構成されるハードウェアモデルのシミュレーション装置であって、読み込まれた前記設計データにおける選択された機能ブロックの記述を抽象度の高い記述に変換する抽象度変換部を有するシミュレーション装置。
- 前記抽象度変換部は、シミュレーション実行時にテキスト情報変換により抽象度を変換させる機能を有する請求項1記載のシミュレーション装置。
- 前記抽象度変換部は、シミュレーション実行時に外部より抽象度変換の対象ブロックを指定する機能を有する請求項1記載のシミュレーション装置。
- 前記抽象度変換部は、シミュレーション実行時に動作クロックで同期化されているレジスタ間に挿入されている組合せ回路を機能記述に変換する機能を有する請求項1記載のシミュレーション装置。
- 前記抽象度変換部は、抽象度を変換するための機能記述の変換表を備える請求項1記載のシミュレーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004350854A JP2006163559A (ja) | 2004-12-03 | 2004-12-03 | シミュレーション装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004350854A JP2006163559A (ja) | 2004-12-03 | 2004-12-03 | シミュレーション装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006163559A true JP2006163559A (ja) | 2006-06-22 |
Family
ID=36665537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004350854A Withdrawn JP2006163559A (ja) | 2004-12-03 | 2004-12-03 | シミュレーション装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006163559A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010097493A (ja) * | 2008-10-17 | 2010-04-30 | Fujitsu Ltd | 設計支援プログラム、設計支援装置、およびシミュレーションモデル |
-
2004
- 2004-12-03 JP JP2004350854A patent/JP2006163559A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010097493A (ja) * | 2008-10-17 | 2010-04-30 | Fujitsu Ltd | 設計支援プログラム、設計支援装置、およびシミュレーションモデル |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4994393B2 (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
US20070277144A1 (en) | Conversion of circuit description to an abstract model of the circuit | |
Rupnow et al. | A study of high-level synthesis: Promises and challenges | |
EP1913410B1 (en) | Method and system for debug and test using replicated logic | |
US7350180B1 (en) | Search algorithm for inheriting clock contexts in hardware description language translation tools | |
JP3803561B2 (ja) | 論理回路設計方法 | |
US9235669B2 (en) | Method and an apparatus for automatic processor design and verification | |
US7617469B2 (en) | Assertion description conversion device, method and computer program product | |
JP2005141624A (ja) | 検証装置、検証方法およびプログラム | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
CN113569524A (zh) | 芯片设计中基于综合网表提取时钟树的方法及应用 | |
EP0867820A2 (en) | A design environment and a method for generating an implementable description of a digital system | |
Atat et al. | Simulink-based MPSoC design: new approach to bridge the gap between algorithm and architecture design | |
JP2006163559A (ja) | シミュレーション装置 | |
JP4152659B2 (ja) | データ処理システムおよび設計システム | |
JP5843449B2 (ja) | 電子回路最適化方法、電子回路最適化装置、及びプログラム | |
JP4177851B2 (ja) | 論理回路設計方法 | |
JP2020144765A (ja) | 記述変換方法、シミュレーション方法及び記述変換プログラム | |
Atat et al. | Automatic code generation for MPSOC platform starting from SIMULINK/MATLAB: New approach to bridge the gap between algorithm and architecture design | |
JP4556629B2 (ja) | データ処理システム検証装置と方法およびプログラム | |
JP2010257003A (ja) | 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 | |
JP3735723B1 (ja) | ハードウエア記述言語合成ツール及びそれを利用した集積回路の設計方法 | |
JP2011090518A (ja) | 高位合成装置、高位合成方法、及び高位合成プログラム | |
JP2007241836A (ja) | マルチサイクルパス検証方法 | |
Hamada et al. | A behavioral synthesis system for asynchronous circuits with bundled-data implementation |
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: 20080205 |