JP3173729B2 - 論理シミュレーション方法及びそのシステム - Google Patents

論理シミュレーション方法及びそのシステム

Info

Publication number
JP3173729B2
JP3173729B2 JP5704099A JP5704099A JP3173729B2 JP 3173729 B2 JP3173729 B2 JP 3173729B2 JP 5704099 A JP5704099 A JP 5704099A JP 5704099 A JP5704099 A JP 5704099A JP 3173729 B2 JP3173729 B2 JP 3173729B2
Authority
JP
Japan
Prior art keywords
level
simulation
description
model structure
simulation model
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.)
Expired - Fee Related
Application number
JP5704099A
Other languages
English (en)
Other versions
JP2000259683A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP5704099A priority Critical patent/JP3173729B2/ja
Priority to US09/517,604 priority patent/US6816828B1/en
Publication of JP2000259683A publication Critical patent/JP2000259683A/ja
Application granted granted Critical
Publication of JP3173729B2 publication Critical patent/JP3173729B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理シミュレーシ
ョン方法及びそのシステムに関し、特に、プログラム言
語により記述されているプログラム記述レベルとこれに
対して下位で記述されている下位記述レベルとの間でシ
ミュレーションを適宜に切り換えて高速度で論理回路を
シミュレートするための論理シミュレーション方法及び
そのシステムに関する。
【0002】
【従来の技術】大規模回路は、自動設計装置により設計
される。自動設計装置の設計フローは、C言語のような
汎用プログラム言語、専用の動作レベル記述言語により
所望の動作フローが記述された最高位レベル記述をレジ
スタ、加算器のようなハードウエア資源を用いてよりハ
ードウエア化されるRTレベル記述のような低位レベル
記述に書き下すステップを有している。このようにレベ
ルが異なる抽象度の複数のシミュレーションモデルのシ
ミュレーションは、図17(a),(b)に示されるよ
うに、抽象度が高い動作レベルシミュレーションモデル
101では、初めから終わりまでこれだけがシミュレー
トされ、そのシミュレーションの途中で、RTレベルシ
ミュレーションモデル102のシミュレーションは行わ
れえず、抽象度が低いRTレベルシミュレーションモデ
ル102では、初めから終わりまでこれだけがシミュレ
ートされ、そのシミュレーションの途中で、動作レベル
シミュレーションモデル101のシミュレーションは行
われて来なかった。
【0003】このように、動作レベルシミュレーション
モデル101とRTレベルシミュレーションモデル10
2は、互いに独立していて別個のものとして扱われ、シ
ミュレーションの途中で一方のシステムシミュレーショ
ンから他方のシステムシミュレーションに切り換えるこ
とは不可能であった。一般的には、速度が重要な局面で
は高速な上位シミュレーションモデルが用いられ、精度
が重要な局面ではRTレベル、精度が更に細かく要求さ
れる局面ではレベルが更に低い他の低位シミュレーショ
ンモデルがそれぞれに用いられていた。
【0004】しかし、機能検証のシミュレーションを行
う場合、ある時刻(t1)から他のある時刻(t2)の
間を特に詳しく調べたいという要望がある。そのような
場合にも時刻(0)から時刻t2までの検証のために高
精度のシミュレータを使用すると、機能検査に多大な時
間がかかってしまう。
【0005】このような問題を解決する技術として、異
なる抽象度の複数・シミュレーションモデルの間で切り
換えを行うようにしたミックス・シミュレーション技術
が、特開平5−61934号、論文「並列論理シミュレ
ータWIZDOM」(情報処理学会第57回全国大会、
1998)で知られている。ここで開示されている切り
換えは、命令レベルシミュレーションモデルとハードウ
エアシミュレータ、RTレベルシミュレーションモデル
のような抽象度が異なるシミュレーションモデルとの間
の切り換えである。このような切り換えが可能になって
いる根拠は、双方のモデルがレジスタ等で共通する構造
を持っていることにある。また、ゲートレベルと電子回
路レベルの間でのシミュレーション切り換えが行われる
技術が、特開平7−110826号で知られている。こ
の切り換で双方の情報のトランスファーは、ゲート回路
の端子と電子回路の端子が1対1に対応していることを
利用することにより、回路端子のレベルのアナログ・デ
ィジタル変換によって行っている。また、特開平10−
261002号は、ある回路記述形式を用いてその回路
の動きを詳しい定義モデルと粗い定義モデルとで表現
し、そのモデルの間での切り換えを開示している。この
ような1対1対応の高低レベル間の切り換え、詳細度の
異なるものの共通の記述形式を用いた同一レベル間の切
り換えが知られている。
【0006】しかし、動作記述レベルといわれる最高位
のプログラム言語記述レベルと下位記述レベルであるR
Tレベルの間では、シミュレーション状態を保持する構
造が1対1に対応しておらず、両レベル間でデータの受
け渡しができないため、従来、これらのレベル間の切り
換えシミュレーションが不可能であった。シミュレーシ
ョンをより適正に高速化し且つ詳細化するために、この
ように1対1に対応する記述がなされていないレベル間
のシミュレーションモデルの切換技術の確立が特に望ま
れる。
【0007】
【発明が解決しようとする課題】本発明の課題は、記述
が1対1に対応していない高位・低位モデル間でそれら
のシミュレーションを切換えることができる論理シミュ
レーション方法及びそのシステムを提供することにあ
る。
【0008】
【課題を解決するための手段】その課題を解決するため
の手段が、下記のように表現される。その表現中の請求
項対応の技術的事項には、括弧()つきで、番号、記号
等が添記されている。その番号、記号等は、請求項対応
の技術的事項と実施の複数・形態のうちの少なくとも1
つの形態の技術的事項との一致・対応関係を明白にして
いるが、その請求項対応の技術的事項が実施の形態の技
術的事項に限定されることを示すためのものではない。
【0009】本願発明による論理シミュレーションシス
テムは、論理回路の処理フローを記述した動作レベル記
述を機能合成ツールによりRTレベル記述に変換する変
換ユニットと、動作レベル記述およびRTレベル記述を
各々対応するコンパイラに入力して動作レベルシミュレ
ーションモデル構造とRTレベルシミュレーションモデ
ル構造を生成する生成ユニットと、動作レベルシミュレ
ーションモデル構造とRTレベルシミュレーションモデ
ル構造の対応手段を生成する生成ユニットと、動作レベ
ルシミュレーションモデル構造とRTレベルシミュレー
ションモデル構造に基づいて動作レベルシミュレーショ
ンとRTレベルシミュレーションを対応手段を介して切
り換えて実行する実行ユニットとを有している。その対
応手段は、機能合成ツールにより生成される状態遷移情
報(図15)およびCDFG(図14)を用いて生成さ
れ、動作レベルシミュレーションモデル構造の変数とR
Tレベルシミュレーションモデル構造のレジスタ情報と
のマッピングを行う(図13)。このような機能を持つ
対応手段により、動作記述レベルと言われる最高位のプ
ログラム言語記述レベルと、下位記述レベルであるRT
レベルの間で、レベル切り換えシミュレーションが可能
になる。RTレベル記述とこれより下位にあるゲートレ
ベルとの間では、最高位の動作レベルと次の階層にある
RTレベルの間の切り換えシミュレーションに階層的に
対応して、既述の対応手段が用いら、動作レベルシミュ
レーションモデル構造とゲートレベルシミュレーション
モデル構造に基づいて動作レベルシミュレーションとゲ
ートレベルシミュレーションをその対応手段を介して切
り換えて実行することが可能になる。本発明は、ステッ
プで記述されれば、高位記述モデル(53)の高位側遷
移位置(HSn)とその高位側遷移位置(HSn)の高
位側変数値とを対応させて記録するためのステップと、
低位記述モデルの高位側遷移位置(HSn)に対応する
低位側遷移位置(LSn)の高位側変数値に対応する低
位側変数(LV、Rn)にその高位側変数値を代入する
ためのステップを有する。
【0010】低位記述モデル(4)に含まれるが高位記
述モデル(53)に含まれない記述としては、レジスタ
に関する記述が例示される。一般的には、低位側になれ
ばなるほど、物理度が高い記述(例:電圧、抵抗値)が
現れる。
【0011】更に、低位記述モデル(4)の低位側遷移
位置(LSn)と低位側遷移位置(LSn)の低位側変
数値とを対応させて記録するためのステップと、高位記
述モデル(53)の低位側遷移位置(LSn)に対応す
る高位側遷移位置(HSn)の低位側変数値に対応する
高位側変数(HV、x,a)に低位側変数値を代入する
ためのステップとからなる。これらのステップスの追加
により、シミュレーションの切り換えは双方向になる。
その代入するためのステップは、高位記述モデル(5
3)と低位記述モデル(4)の動作が切り換えられる時
の遷移位置(Hsn,Lsn)で実行される。
【0012】本発明による論理シミュレーションシステ
ムは、高位記述モデル(53)と、高位記述モデル(5
3)が機能合成ツールにより書き下された低位記述モデ
ル(4)と、高位記述モデル(53)の高位側実行によ
り得られる高位側変数値をその高位側実行位置(HS
n)に対応させて保持する対応装置(33)と、低位記
述モデル(4)の高位側実行位置(HSn)に対応する
低位側位置(LSn)の高位側変数値に対応する低位側
変数(LV,Rn)に高位側変数値を代入制御するため
のシミュレーション制御装置(27)とを有している。
【0013】更に、低位記述モデル(4)の低位側実行
により得られる低位側変数値をその低位側実行位置に対
応させて保持する対応装置(33)と、高位記述モデル
(53)の低位側実行位置(LSn)に対応する高位側
位置の低位側変数値に対応する高位側変数(HV,x,
a)に低位側変数値を代入制御する役割のシミュレーシ
ョン制御装置を有している。この追加により、シミュレ
ーションの切り換えが双方向になる。
【0014】対応装置(33)は、変数値を実行位置
(HSn,LSn)に対応さて保持するテーブル(3
4)を備える。対応装置(33,34)は、遷移位置
(HSn,LSn)とその遷移位置のレジスタ(Rn)
とから形成されるマトリックスの要素であるレジスタ値
を保持するためのテーブル(34)を備える。
【0015】本発明による論理シミュレーションシステ
ムは、更に連鎖構造が与えられ、上位記述と、中位記述
と、低位記述と、上位記述と中位記述との間で互いの変
数に互いの変数値を代入するための第1代入装置と、中
位記述と低位記述との間で互いの変数に互いの変数値を
代入するための第2代入装置とからなり、中位記述には
上位記述に含まれていない記述が含まれ、下位記述には
中位記述に含まれていない記述が含まれている。このよ
うな連鎖構造により、最高位から最低位までのシミュレ
ーションの切り換えが可能であり、更には、同位間での
切り換えを行う公知技術を取り込んだシミュレータを製
作することができる。
【0016】
【発明の実施の形態】図1に一致対応して、本発明によ
る論理シミュレーションシステムの実施の形態は、自動
設計装置としての単一のシミュレーションモデル1をシ
ミュレートするためのシステムシミュレータ2が設計さ
れている。システムシミュレータ2は、通常のシミュレ
ーションモデルであるモジュールA,B,Cを含んでい
る。シミュレーションモデル1の単一性は、複数階層の
シミュレーションモデルがそのシミュレーションのステ
ップ(状態)ごとにそのステップでのデータが共有化し
得るように互いに従属関係にあることをいう。ここで、
データは主として乗算・足し算等の計算が行われる際の
関数の変数値である。変数値は、状態ごとに変わるパラ
メータを含む。
【0017】図2は、LSIのような電子回路を自動設
計するための自動設計装置である論理設計フローととも
に設けられるシミュレーションモデルを示している。論
理設計フローは、プログラミング言語6であるC言語、
専用の動作レベル記述言語3により回路の動作レベル記
述を行うことから始まる。この動作レベル記述は、最高
位に抽象化された最高抽象度の記述であり、図3にはC
言語を用いた場合の簡単な計算プログラムとして例示さ
れている。
【0018】動作レベル記述には、ハード部品は全くな
い。動作レベル記述は、よりハード化される言語により
その抽象度が落とされて、RT(レジスタトランスファ
ー)レベル記述4に書き下される。その書き下しのため
の道具表現として機能合成ツール5が用いられる。機能
合成ツール5には、動作レベル記述言語3やプログラミ
ング言語6で表現された動作レベル記述が入力され、更
には、動作レベル記述をRTレベルに展開する時の資料
として、図4に示されるハードウエア資源7が入力され
る。
【0019】ハードウエア資源7は、この例では、4個
のレジスタRn(n=1〜4)、1個の加算器12、1
個の乗算器13、1個の除算器14、マルチプレッサ1
5から形成されている。機能合成ツール5には、ハード
ウエアの制約条件として、ハードウエア資源7及び回路
のクロック周期が設定されたうえで、動作レベル記述が
入力される。機能合成ツール5は、動作レベル記述をR
Tレベル記述に変換するために必要な後述する状態遷移
情報(図5)の作成、変数をRTレベルのレジスタに割
り当てるスケジューリングに必要なCDFGを生成し
て、RTレベル記述4を出力する。このレジスタの割り
当ての過程で1つのレジスタが時刻によって、動作レベ
ル記述の中の異なる変数値を持ち得る構造になり得る。
このように、動作レベル記述表現さたプログラム変数が
RTレベル記述4に割り当てられる。また、RTレベル
記述4は、図2に示されるように、論理合成ツール8
(例示せず)が用いられて、より低位レベルのゲートレ
ベル記述9に更に書き下される。
【0020】シミュレーションモデル10は、3つのシ
ミュレーションモデルを含む。その3つのシミュレーシ
ョンモデルは、動作レベル構造モデル21、RTレベル
構造モデル22、ゲートレベル構造モデル23とであ
る。
【0021】動作レベル構造モデル21は、汎用のプロ
グラミング言語6であるC言語や専用の動作レベル記述
言語3により記述される動作レベル記述が、コンパイラ
24により形成される。RTレベル構造モデル22は、
RTコンパイラ25によりRTレベル記述4から得られ
る。ゲートレベル構造モデル23は、ゲートコンパイラ
26によりゲートレベル記述9から生成される。これら
の構造シミュレーションモデル21,22,23は、公
知のプログラミング言語コンパイラ、HDLシミュレー
タのようなコンパイラ技術の流用により作成され得る。
【0022】シミュレーションモデル10は、シミュレ
ーション制御機構27を含んでいる。シミュレーション
制御機構27は、どのレベルのシミュレーション構造を
持つかという情報を各コンパイラ24,25,26から
得る制御機構作成ツール28により作成される。シミュ
レーション制御機構27は、外部へシミュレーション結
果を出力し(信号29)、ユーザーにより選択されるシ
ミュレーションの抽象度が抽象度選択信号31により入
力され、この信号に基づいて選択された抽象度でシミュ
レーションが実行される。
【0023】図2中で、太い矢印線はモデル作成時の流
れを示し、細い矢印線は後述するシミュレーション時の
流れを示している。そのシミュレーション時の流れが、
図6に詳細に示されている。図6では、ゲートレベル構
造モデル23は省略されている。シミュレーションモデ
ル10は、更に、対応装置33を含んでいる。
【0024】対応装置33は、動作レベル構造モデル2
1の高位モデル推移状態HSnとその高位モデル推移状
態HSnの変数値HVとの間の高位対応を保持する。高
位モデル推移状態HSnは、動作レベル構造モデル21
のシミュレーションの推移位置であるシミュレーション
ステップ又はその遷移位置である。対応装置33は、更
に、RTレベル構造モデル22の低位モデル推移状態L
Snとその低位モデル推移状態LSnの変数値LVとの
間の低位対応を保持する。低位モデル推移状態LSn
は、RTレベル構造モデル22のシミュレーションの推
移位置であるシミュレーションステップ又はその遷移位
置である。
【0025】高位モデル推移状態HSnの状態位置nと
低位モデル推移状態LSnの状態位置n、高位モデル推
移状態HSnの変数値HVと低位モデル推移状態LSn
の変数値LVは、動作レベル構造モデル21とRTレベ
ル構造モデル22とで共有化されうるように、これらが
同一時刻で同一値として対応装置33に保持され、又
は、それらが一方から他方へ再現され得る状態でシミュ
レーション制御機構の制御に基づいて保持される。又
は、シミュレーションの切換えが行われる時点で、変位
側と低位側の変数値対応を取るように制御されてもよ
い。低位モデル推移状態LSnの状態位置と高位モデル
推移状態HSnは、以下では共通にSnで表現される。
高位モデル推移状態HSnに対応する変数値HVと低位
モデル推移状態LSnに対応する変数値LVは、以下で
は共通にVで表現される。
【0026】変数値Vは、レジスタRnに対応する。変
数値VとレジスタRnの対応を、レジスタ/変数対応と
いう。対応装置33は、状態位置Snをレジスタ/変数
対応に対応させて保持する状態位置・レジスタ/変数対
応マップテーブル34を備えている。対応装置33とシ
ミュレーション制御機構27との間で、状態位置・レジ
スタ/変数対応信号35が交換される。
【0027】動作レベル構造モデル21とシミュレーシ
ョン制御機構27との間に、高位変数テーブル36と状
態遷移図37が介設されている。この表現は、動作レベ
ル構造モデル21は高位変数テーブル36と状態遷移図
37を含む、という表現に置き換えることができる。機
能合成ツール5から得られる高位変数テーブル36は、
動作レベルのシミュレーション時の動作レベル構造モデ
ル21の変数値を格納する。機能合成ツール5から得ら
れる状態遷移図37は、動作レベルのシミュレーション
時の状態位置Snを常時に把握している。
【0028】RTレベル構造モデル22とシミュレーシ
ョン制御機構27との間に、低位(RT)変数テーブル
38とレジスタテーブル39が介設されている。機能合
成ツール5から得られる低位変数テーブル38は、RT
レベルのシミュレーション時のRTレベル構造モデル2
2のレジスタの値、即ち、状態位置・レジスタ/変数対
応マップテーブル34の遷移位置から得られる動作レベ
ル構造21の変数値に相当する値を格納している。レジ
スタテーブル39は、RTレベルのシミュレーション時
のRTレベル構造モデル22のレジスタ値を格納してい
る。
【0029】高位変数テーブル36の変数値Vは、シミ
ュレーション制御機構27を介して低位変数テーブル3
8とRTレベル構造モデル22に転送され、更に、レジ
スタ対応値としてレジスタテーブル39に転送される。
状態遷移図37の状態位置Snは、シミュレーション制
御機構27を介して低位変数テーブル38とRTレベル
構造モデル22に転送される。RTレベル構造モデル2
2の状態位置Snは、シミュレーション制御機構27を
介して状態遷移図37に転送される。
【0030】高位変数テーブル36の変数値Vと状態遷
移図37の状態位置Snの対は、シミュレーション制御
機構27を介して、対応装置33に転送されそこで保持
される。RTレベル構造モデル22の状態位置Snと低
位変数テーブル38の変数値Vとの対は、シミュレーシ
ョン制御機構27を介して対応装置33に転送されそこ
に保持される。図6中で、細い点線矢印線は動作レベル
からRTレベルへの切換時のデータの流れを示し、太い
実線矢印線はRTレベルから動作レベルへの切換時のデ
ータの流れを示している。
【0031】図7は、動作レベルシミュレーション方法
を示している。動作レベルがユーザーにより選択される
と、動作レベルシミュレーションが実行される(ステッ
プST1)。動作レベルシミュレーションの各状態位置
の変数値Vが、高位変数テーブル36上で更新され(ス
テップST2)、続いて、その状態位置Snが状態遷移
図37上で更新される(ステップST3)。このような
更新が動作レベルシミュレーションの実行中に繰り返さ
れる。
【0032】図8は、動作レベルシミュレーションから
RTレベルシミュレーションへ切り換えるための切換方
法を示している。ユーザーにより抽象度選択信号31が
入力されて切換動作が開始される(ステップST4)。
対応装置33は、高位変数テーブル36からシミュレー
ション制御機構27を介して変数値Vを獲得し(ステッ
プST5)、続いて、対応装置33は、状態遷移図37
からシミュレーション制御機構27を介して状態位置S
nを獲得する(ステップST6)。
【0033】対応装置33は、その状態位置・レジスタ
/変数対応マップテーブル34により、現状態位置での
レジスタ値を再現する(ステップST7)。このように
再現したレジスタ値をシミュレーション制御機構27を
介してレジスタテーブル39に転送する(ステップST
8)。現在の状態位置Snが、RTレベル構造モデル2
2に転送される(ステップST9)。高位変数テーブル
36の変数値Vが低位変数テーブル38に転送される
(ステップST10)。
【0034】このように、RTレベル構造モデル22
は、動作レベル構造モデル21が有していた状態位置の
変数値に対応したレジスタにセットする(代入する)レ
ジスタ値を獲得する。このデータの獲得は、RTレベル
のシミュレーションの開始のための必要条件であり、こ
れにより動作レベルシミュレーションで得られた情報を
RTレベルのシミュレーションが受け継いでシミュレー
ションが続行される(ステップST11)。対応装置3
3はこのような情報引継の機能を備えている。対応装置
33の動作によるシミュレーションの遅延は、実質的に
ない。
【0035】図9は、RTレベルシミュレーション方法
を示している。シミュレーションモードは、動作レベル
からRTレベルに既に切り替わっている。RTレベルシ
ミュレーションが実行される(ステップST12)。R
Tレベルシミュレーションの各状態のレジスタ値がレジ
スタテーブル39上で更新される(ステップST1
3)。続いて、その状態位置Snが対応装置33上で更
新される(ステップST14)。対応装置33の状態位
置・レジスタ/変数対応マップテーブル34上で、現在
の状態位置での変数値Vが再現される(ステップST1
5)。このように再現された変数値Vが、レジスタテー
ブル39に格納される(ステップST16)。状態の遷
移の度に、ステップST12〜16が繰り返されて実行
される。
【0036】図10は、RTレベルシミュレーションか
ら動作レベルシミュレーションへ切り換えるための切換
方法を示している。ユーザーにより抽象度選択信号31
が入力されて切換動作が開始される(ステップST1
7)。低位変数テーブル38の変数値Vが高位変数テー
ブル36に転送される(ステップST18)。RTレベ
ル構造モデル22の現在の状態位置Snが状態遷移図3
7に転送される(ステップST19)。シミュレーショ
ンは、動作レベルシミュレーションとして継続される。
この情報の変換(再現)は、対応装置33により行われ
ることは、既述の動作レベルシミュレーションからRT
レベルシミュレーションへの切り換えと同様である。
【0037】上述したシステムについて、図3に示した
動作レベル記述53を使用して具体的な動作の説明をす
る。動作レベル記述53は、次のような具体的な実施例
として示され、C言語により記述されている。 x=a+b,y=c+d. tmp1=x/y、tmp2=x・y. sが1であれば、z=tmp1=(a+b)/(c+
d),sが1でなければ、 z=tmp2=(a+b)・(c+d).
【0038】上述の動作レベル記述53と図4に示され
る利用可能なハードウエア資源を機能合成ツール5に入
力すると、機能合成ツール5は、入力された動作レベル
記述に対応して、図5に示すRTレベル記述を生成する
共に、図14に示されるコントロールデータフローグラ
フ(CDFG)及び図15に示すような状態遷移情報
(図)を生成する。図15は、動作レベル記述53にお
ける複数・状態遷移と各状態遷移に関与する変数の関係
を示すものであり、一方、図14は上述の動作レベル記
述53の各状態をどのようにRTレベル記述に割り付け
るか決めるものであり、動作レベル記述53とRTレベ
ル記述との間の橋渡しを行うものである。
【0039】機能合成ツールにより生成されるこれらの
状態遷移情報、既述のCDFGを利用して、動作レベル
構造モデルを用いたシミュレーション推移とRTレベル
構造モデルを使用したシミュレーション推移との間の情
報交換伝達手段である図13に示される状態位置と変数
/レジスタマップテーブル34が作成される。図11
は、高位側の高位変数テーブル36、これが低位側で共
有化される低位変数テーブル38を示している。図12
は、RTレベル構造モデルで使用するレジスタテーブル
を示している。
【0040】図11は、既述の通り、高位変数テーブル
36又は低位変数テーブル38の具体例を示している。
変数名はa〜zとして一般的に表現されているが、具体
的には、図3に示されるように、a,b,c,d、s、
x、y、tmp1、tmp2、zであるから、a〜jで
ある。高位変数テーブル36のテーブル構成は、これが
低位側で共有化される低位変数テーブル38のテーブル
構成に基本的に同じである。ハードウエア資源は、図3
の動作を行うために必要なレジスタの個数は、図14に
示されるフローから理解されるように、4個で十分であ
り、この4個が図4に示されている。
【0041】図12は、このような4個のレジスタに関
して具体的にそのレジスタに代入されている値とレジス
タ名R1〜R4の対応が生成されるレジスタテーブルを
示している。例えば、図3の変数c,dが4,5であれ
ば、レジスタR1の具体値は4であり、レジスタR4の
具体値は9(4+5)である。このような値が、状態遷
移の度にそれらのレジスタに代入(登録)され、その代
入状態はステップ番号である状態位置に時間軸上で対応
している。
【0042】従って、レジスタ値は、状態位置Sn
(t)の遷移の度に置換されて変動する。ここで時間
は、時間列として表現され得る。そのような状態位置が
図3の動作レベル記述53に一致して図13に示されて
いる。変数が変動するために遷移する状態位置の個数
は、初期状態位置S0を含めて、図14に示されるよう
に6であり、このような6状態が、図13に対応装置の
中味のデータとして示されている。図13に示される対
応装置の中味であるマトリックスとして、リアルタイム
にその時の状態位置の具体値がレジスタR1〜R4に登
録される。従って、対応装置33は、6つの状態位置S
n(n=1〜6)と4つのレジスタRn(n=1〜4)
とのマトリックスで記述されるレジスタ・変数マップテ
ーブルとして記述(構成)されている。
【0043】図14,15は、既述の通り、制御データ
流れと状態遷移をそれぞれに示している。状態位置零S
0では、変数Vは現れない。図14,15に表現される
データの流れ構造が、機能合成ツール5により作成され
ていて、この流れ構造がシミュレーションモデルの作成
のために利用されている。図16は、状態位置がフロー
中と遷移中で、位置数として保持されていることを示し
ている。保持された各変数aと変数bの加算が加算器1
2により実行される状態位置S1では、それらの変数
a,bは、レジスタR1、R2にそれぞれに代入されて
いる。この状態位置S1は、図5に示されるRTレベル
記述4の中の状態1に対応している。
【0044】この状態で、シミュレーションモードが切
り換えられる場合には、対応装置33で、変数値a,b
と状態位置S1のマップが形成され、そのマップで再現
されるレジスタ値a,bがレジスタテーブル39に転送
され、その変数a、bは低位変数テーブル38に転送さ
れる。レジスタ値a,bが、RTレベル記述4の状態1
のR1,R2に代入される。この代入により、RTレベ
ル記述4のシミュレーションが開始され、状態2に遷移
して、レジスタR3にその加算値(a+b)が代入さ
れ、以降、RTレベルのシミュレーションが続行され得
る。
【0045】動作レベル記述53のシミュレーションで
ある次の加算(y=c+d)が実行されてここでモード
が切り換えられれば、状態2のRTレベル記述4のレジ
スタR1,R2に変数c,dが代入され、状態2のレジ
スタR4にその加算値(c+d)が代入される。動作レ
ベル記述53のシミュレーションである次の計算である
乗算と除算(x・y、x/y)が実行されてここでモー
ドが切り換えられれば、状態3のRTレベル記述4のレ
ジスタR3,R4に変数x,yが代入され、その乗算値
とその除算値が、レジスタR1,R2に代入され、RT
レベルのシミュレーションが続行される。
【0046】動作レベル記述53のシミュレーションで
ある更に次の論理計算が実行されてここでシミュレーシ
ョンモデルが切り換えられれば、RTレベル記述4の状
態4,5でレジスタR1,R2のレジスタ値のいずれか
がレジスタR4に代入される。変数sが動作レベル記述
53で決定されて動作レベル記述53の最終値zが計算
されここでシミュレーションモデルが切り換えられれ
ば、RTレベル記述4の状態6の変数zに選択されたレ
ジスタR1のレジスタ値である乗算値が変数zに代入さ
れ、RTレベルのシミュレーションが完了する。逆に辿
ることにより、レジスタ値と状態位置とから動作レベル
記述53の変数値が求まり、動作レベル記述のシミュレ
ーションを実行することができる。
【0047】図3の動作レベル記述53と図5のRTレ
ベル記述4は、その記述のみによれば、動作レベル記述
53とRTレベル記述4との間には連結性は全くなく互
いに全く無関係であり、両レベル間で移行は起こり得な
い。変数値とレジスタ値との間を状態位置で対応させる
対応関係が、動作レベル記述53とRTレベル記述4の
間の相互の移行を可能にしている。
【0048】図3の変数として、次の値が与えられたと
する。a=2、b=3、c=4、d=5。図3の動作レ
ベル記述53で、y=c+d、の状態位置S2でシミュ
レーションの切り換えが起こったときは、動作レベル記
述53はその推移がそこで停止する。この停止状態S2
では、この場合、x=5、c=4、d=5。この停止位
置では、図14に示されるように、R3=x=5,R1
=c=4、R2=d=5。状態位置S2とその状態位置
S2の各レジスタとの対応が、図13に示されるように
作成される。
【0049】図13に示される状態位置と変数/レジス
タマップテーブル34には、その状態2の3変数x,
c,dに具体値である4,5,5が登録され、レジスタ
R1,R2,R3の状態数は5,5,4になっている。
図5に示されるRT記述レベルは、図14に完全に対応
するように作成されているが、動作が停止しているの
で、図5の状態1のレジスタR1,R2の値は不知であ
り、且つ、図5の状態2のレジスタR3の値は不知であ
る。既述の切り換えフローにより動作を開始する図5に
示されるRT記述レベル状態2のレジスタR1,R2,
R3に、すでに既知になっている図13のテーブルの状
態2の値4,5,5が、代入される。
【0050】このような値の確定は、コンピュータの動
作開始条件である。コンピュータの動作を記述している
RT動作レベル記述4の状態2のレジスタR1,R2,
R3にこのように確定されている具体値4,5,5が代
入されると、動作開始条件が充足され、図5の状態2の
動作が開始する。RT動作レベル記述は、状態2が動作
を開始すれば、再びシミュレーション切り換え指示がな
ければ、引き続き状態3〜状態6が実行される。逆の切
り換えの説明は省略する。
【0051】既述の対応装置33は、次に示される実施
の形態にも適用され得る。本発明による論理シミュレー
ションシステムは、既述の通り、高位変数と、状態遷移
図と対応装置33との間の双方向関係と、対応装置33
とRTのレジスタテーブル39との双方向関係との間
で、データ変換のパスができあがった。一方、RTレベ
ルでのレジスタテーブルとゲートレベルでのレジスタテ
ーブルは、図2にも示されているように、従来からそれ
らの記述間で1対1に対応し、それらの間のシミュレー
ションの切り換えは公知である。
【0052】従って、動作レベルとゲートレベルとの間
の切り換えも、対応手段33を介して行うことができる
ようになった。即ち、図2に示される動作レベル記述→
機能合成ツール→機能合成ツール→RTレベル記述→論
理合成ツール→ゲートレベル記述のフローで各ステップ
での回路記述を自動生成し、それら得られた記述を対応
するコンパイラに入力すれば、各レベルでのシミュレー
ションモデル構造が得られる。そして、動作レベル構造
とゲートレベル構造の変換手段33を介して、RTレベ
ルのレジスタテーブルを生成すれば、これはゲートレベ
ルでのレジスタテーブルと1対1に対応するので、動作
レベルとゲートレベルの間で、そのシミュレーションの
切り換えが可能である。このような切り換え命令は、シ
ミュレーション制御機構27に入力される信号31によ
り行うことができる。
【0053】このように、動作レベルとゲートレベルを
切り換えることができるので、非常に大きいシステム全
体の中で、ゲートレベルのシミュレーションを行うこと
ができるようになる。ゲートレベルのシミュレーション
により、全体の動作を考慮してゲートレベルでのタイミ
ング検証が可能となり、設計の早い段階で回路の不具合
を高速に検出することができる。
【0054】
【発明の効果】本発明による論理シミュレーション方法
及びそのシステムは、抽象度が異なりそれらの記述のみ
では因果関係が全くない高低レベルの両記述間の状態位
置で変数間接続を現実化したので、高低間のシュミレー
ションの切り換えが随意の状態位置で可能である。本発
明によれば、あらゆる階層で順次にシミュレーションの
切り換えを行うことができる。このような切り換えによ
り、動作レベルをよりハード化されているハードレベル
に落とす時の最適な利用資源の見積もりを高速に行うこ
とができる。更に、非常に大きなシステムレベルに対し
ても詳細な機能検証を行うことができるようになった。
【0055】また、一般には汎用プログラム言語のコン
パイラはオブジェクトプログラム生成の最適化機能がつ
いている。この最適化機能の進歩は、RTレベルやゲー
トレベルでの高速化の進歩よりも速いのがこれまでの経
験として知られている。従って、この最適化機能を利用
すれば、非常に高速な動作レベルシミュレーションが可
能であるので、動作レベルとそれより下位のシミュレー
タをリンクできたことは、システムレベルでの機能検証
を非常に高速に行うことができることを意味している。
【図面の簡単な説明】
【図1】図1は、本発明による論理シミュレーションシ
ステムの実施の形態を示すシステム図である。
【図2】図2は、本発明による論理シミュレーションシ
ステムの実施の形態を示す記述ユニット図である。
【図3】図3は、動作レベルのプログラムを示す論理表
現である。
【図4】図4は、ハードウエア資源を示す表現表であ
る。
【図5】図5は、RTレベルのプログラムを示す論理表
現である。
【図6】図6は、図2の一部を詳細に示す記述ユニット
図である。
【図7】図7は、本発明による論理シミュレーション方
法の実施の形態を示すフローチャートである。
【図8】図8は、本発明による論理シミュレーション方
法の実施の他の形態を示すフローチャートである。
【図9】図9は、本発明による論理シミュレーション方
法の実施の更に他の形態を示すフローチャートである。
【図10】図10は、本発明による論理シミュレーショ
ン方法の実施の更に他の形態を示すフローチャートであ
る。
【図11】図11は、本発明による論理シミュレーショ
ン方法の実施例のテーブルを示す表の表現である。
【図12】図12は、本発明による論理シミュレーショ
ン方法の実施例の他のテーブルを示す表の表現である。
【図13】図13は、本発明による論理シミュレーショ
ンシステムの実施例の更に他のテーブルを示す表の表現
である。
【図14】図14は、本発明による論理シミュレーショ
ンシステムの実施例の論理移行を示すチャートである。
【図15】図15は、本発明による論理シミュレーショ
ンシステムの実施例の状態遷移を示すチャートである。
【図16】図16は、本発明による論理シミュレーショ
ンシステムの実施例の状態位置の保持を示す表現であ
る。
【図17】図17は、公知のシミュレータを示すユニッ
ト図である。
【符号の説明】
21…高位記述(モデル) 22…低位記述(モデル) 27…シミュレーション制御装置 33…対応装置 34…状態・変数値保持装置 38…変数値保持装置 HSn…高位モデル推移状態 LSn…低位モデル推移状態 HV…(高位)変数値 LV…(低位)変数値 Rn…レジスタ
フロントページの続き (56)参考文献 特開 平3−134774(JP,A) 特開 平8−287134(JP,A) 特開 平5−258002(JP,A) 特開 平5−225277(JP,A) 特開 平5−108748(JP,A) 特開 平4−309178(JP,A) Sumit Ghosh,”Dyna mic multi−level si mulation of digita l hardware design s”,Simulation,SCS, 昭和62年6月,Vol.48,No.6, p.247〜252 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 664 JICSTファイル(JOIS)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】論理回路の処理フローを記述した動作レベ
    ル記述を機能合成ツールによりRTレベル記述に変換す
    変換ユニットと、 前記動作レベル記述およびRTレベル記述を各々対応す
    るコンパイラに入力して動作レベルシミュレーションモ
    デル構造とRTレベルシミュレーションモデル構造を生
    成する生成ユニットと、 前記動作レベルシミュレーションモデル構造と前記RT
    レベルシミュレーションモデル構造の対応手段を生成す
    生成ユニットと、 前記動作レベルシミュレーションモデル構造と前記RT
    レベルシミュレーションモデル構造に基づいて動作レベ
    ルシミュレーションとRTレベルシミュレーションを前
    記対応手段を介して切り換えて実行する実行ユニットと
    を有し、 前記対応手段は、前記機能合成ツールにより生成される
    状態遷移情報およびCDFGを用いて生成され、前記動
    作レベルシミュレーションモデル構造の変数と前記RT
    レベルシミュレーションモデル構造のレジスタ情報との
    マッピングを行う 論理シミュレーションシステム。
  2. 【請求項2】論理回路の処理フローを記述した動作レベ
    ル記述を機能合成ツールによりRTレベル記述に変換す
    変換ユニットと、 前記動作レベル記述およびRTレベル記述を各々対応す
    るコンパイラに入力して動作レベルシミュレーションモ
    デル構造とRTレベルシミュレーションモデル構造を生
    成する生成ユニットと、 前記動作レベルシミュレーションモデル構造と前記RT
    レベルシミュレーションモデル構造の対応手段を生成す
    生成ユニットと、 前記RTレベル記述から論理合成ツールによりゲートレ
    ベル記述を生成しそれを対応するコンパイラにかけてゲ
    ートレベルシミュレーション構造を生成する生成ユニッ
    と、 前記動作レベルシミュレーションモデル構造と前記ゲー
    トレベルシミュレーションモデル構造に基づいて動作レ
    ベルシミュレーションとゲートレベルシミュレーション
    を前記対応手段を介して切り換えて実行する実行ユニッ
    トとを有し、 前記対応手段は、前記機能合成ツールにより生成される
    状態遷移情報およびCDFGを用いて生成され、前記動
    作レベルシミュレーションモデル構造の変数と前記RT
    レベルシミュレーションモデル構造のレジスタ情報との
    マッピングを行う 論理シミュレーションシステム。
JP5704099A 1999-03-04 1999-03-04 論理シミュレーション方法及びそのシステム Expired - Fee Related JP3173729B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5704099A JP3173729B2 (ja) 1999-03-04 1999-03-04 論理シミュレーション方法及びそのシステム
US09/517,604 US6816828B1 (en) 1999-03-04 2000-03-02 Logic simulation method in which simulation is dynamically switchable between models

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5704099A JP3173729B2 (ja) 1999-03-04 1999-03-04 論理シミュレーション方法及びそのシステム

Publications (2)

Publication Number Publication Date
JP2000259683A JP2000259683A (ja) 2000-09-22
JP3173729B2 true JP3173729B2 (ja) 2001-06-04

Family

ID=13044342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5704099A Expired - Fee Related JP3173729B2 (ja) 1999-03-04 1999-03-04 論理シミュレーション方法及びそのシステム

Country Status (2)

Country Link
US (1) US6816828B1 (ja)
JP (1) JP3173729B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4153732B2 (ja) * 2002-06-19 2008-09-24 株式会社東芝 ハードウェア動作記述変換方法及びそのためのプログラム
US7194705B1 (en) * 2003-03-14 2007-03-20 Xilinx, Inc. Simulation of integrated circuitry within a high-level modeling system using hardware description language circuit descriptions
DE102004033339A1 (de) * 2004-07-09 2006-02-02 Infineon Technologies Ag Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen
US7127691B2 (en) 2004-09-29 2006-10-24 International Business Machines Corporation Method and apparatus for manufacturing test generation
JP2006285865A (ja) * 2005-04-04 2006-10-19 Nec Electronics Corp レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム
US7830386B1 (en) * 2005-06-17 2010-11-09 Nvidia Corporation Register transfer level simulation using a graphics processor
US8781808B2 (en) * 2005-10-10 2014-07-15 Sei Yang Yang Prediction-based distributed parallel simulation method
US8543367B1 (en) 2006-02-16 2013-09-24 Synopsys, Inc. Simulation with dynamic run-time accuracy adjustment
US7899661B2 (en) * 2006-02-16 2011-03-01 Synopsys, Inc. Run-time switching for simulation with dynamic run-time accuracy adjustment
JP4756002B2 (ja) * 2007-02-19 2011-08-24 株式会社リコー 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体
US20090265156A1 (en) * 2008-04-18 2009-10-22 Microsoft Corporation Dynamically varying simulation precision
JP5163308B2 (ja) * 2008-06-23 2013-03-13 富士通セミコンダクター株式会社 Ipモデル生成装置、ipモデル生成方法、およびipモデル生成プログラム
JP2012159977A (ja) * 2011-01-31 2012-08-23 Renesas Electronics Corp 動作合成装置、動作合成方法及び動作合成プログラム
KR102160251B1 (ko) * 2013-10-23 2020-09-25 삼성전자주식회사 복수의 프로세서들을 병렬적으로 이용하여 시뮬레이션을 수행하는 방법 및 장치
JP5842255B2 (ja) * 2013-12-12 2016-01-13 国立大学法人東京工業大学 プログラミング言語による論理回路記述から論理回路を生成するための装置及び方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870308A (en) * 1990-04-06 1999-02-09 Lsi Logic Corporation Method and system for creating and validating low-level description of electronic design
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5544067A (en) * 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
US5701439A (en) 1992-03-30 1997-12-23 Boeing North American, Inc. Combined discrete-event and continuous model simulation and analysis tool
JP3176482B2 (ja) * 1993-07-07 2001-06-18 富士通株式会社 論理シミュレーション装置
US6044211A (en) * 1994-03-14 2000-03-28 C.A.E. Plus, Inc. Method for graphically representing a digital device as a behavioral description with data and control flow elements, and for converting the behavioral description to a structural description
US5910898A (en) * 1995-12-14 1999-06-08 Viewlogic Systems, Inc. Circuit design methods and tools
US6120550A (en) 1996-10-28 2000-09-19 Altera Corporation Design file templates for implementation of logic designs

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sumit Ghosh,"Dynamic multi−level simulation of digital hardware designs",Simulation,SCS,昭和62年6月,Vol.48,No.6,p.247〜252

Also Published As

Publication number Publication date
US6816828B1 (en) 2004-11-09
JP2000259683A (ja) 2000-09-22

Similar Documents

Publication Publication Date Title
JP3173729B2 (ja) 論理シミュレーション方法及びそのシステム
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US9171114B2 (en) Managing the configuration and functionality of a semiconductor design
US6026226A (en) Local compilation in context within a design hierarchy
JP2862886B2 (ja) Asic用計算機支援設計システム
US8020124B2 (en) Various methods and apparatuses for cycle accurate C-models of components
US5594741A (en) Method for control of random test vector generation
CN112949233B (zh) Fpga芯片的自动化开发方法及装置、电子设备
JP2001109788A (ja) シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体
US5912819A (en) Method for designing an architectural system
JP2014154173A (ja) ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法
Lavagno et al. Design of embedded systems
Darringer et al. Early analysis tools for system-on-a-chip design
WO2006078436A2 (en) Methods and systems for modeling concurrent behavior
US20050229170A1 (en) Optimized system-level simulation
Huggi et al. Design and verification of memory elements using python
US20050228627A1 (en) System-level simulation of devices having diverse timing
JP3779651B2 (ja) シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体
US20050228628A1 (en) System-level simulation of interconnected devices
JP2001209664A (ja) 高位合成方法並びに高位合成方法の実施に使用される記録媒体
US6339751B1 (en) Circuit design support apparatus and a method
JP4006120B2 (ja) 論理合成装置
JP2004310568A (ja) シミュレータ装置、シミュレーション方法および性能解析方法
JP3302547B2 (ja) 論理シミュレータにおけるテストベクタの作成方法およびシステム
Gajski System-level design methodology

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010302

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080330

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090330

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees