JP2003067438A - シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体 - Google Patents
シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体Info
- Publication number
- JP2003067438A JP2003067438A JP2002182246A JP2002182246A JP2003067438A JP 2003067438 A JP2003067438 A JP 2003067438A JP 2002182246 A JP2002182246 A JP 2002182246A JP 2002182246 A JP2002182246 A JP 2002182246A JP 2003067438 A JP2003067438 A JP 2003067438A
- Authority
- JP
- Japan
- Prior art keywords
- description
- clock
- model
- level
- simulation
- 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.)
- Granted
Links
Abstract
ベルのシミュレーションを可能にする。その言語の提
供。 【解決手段】資源の制約下、アルゴリズム記述3をクロ
ックレベル記述8に低位化する。アルゴリズム記述3の
複数機能を単位クロックの中で動作が可能である部分機
能に分解し、その複数機能を回復するためにその部分機
能を組み立てる。複数機能は、クロックレベル記述であ
るクロックレベルシミュレータ8として、レジスタを変
数とする言語により表現されている。レジスタを変数と
する言語は、クロック単位で動作するプログラミングの
言語として最適であり、この言語は、アルゴリズムレベ
ルより下位であり、RTレベルよりも上位の未発見言語
であった。
Description
方法、シミュレーションモデル、これらに対応する記録
媒体、それらの記述の生成方法に関し、特に、アルゴリ
ズム記述とRTレベル記述との間でシミュレーションを
適宜に切り換えて高速度で所望の段階でシミュレーショ
ンモデルを生成してアルゴリズムを高速に又は詳細にシ
ミュレートするシミュレーション方法、シミュレーショ
ンモデル、それらに対応する記録媒体、それらの記述の
生成方法に関する。
される。自動設計装置の設計フローは、C言語のような
汎用プログラム言語、専用の動作レベル記述言語により
所望の動作フローが記述された最高位レベル記述をレジ
スタ、加算器のようなハードウエア資源を用いてよりハ
ードウエア化されるRTレベル記述のような低位レベル
記述に書き下すステップを有している。このようにレベ
ルが異なる抽象度の複数のシミュレーションモデルのシ
ミュレーションは、図13(a),(b)に示されるよ
うに、抽象度が高い動作レベルシミュレーションモデル
101では、初めから終わりまでこれだけがシミュレー
トされ、そのシミュレーションの途中で、RTレベルシ
ミュレーションモデル102のシミュレーションは行わ
れえず、また、抽象度が低いRTレベルシミュレーショ
ンモデル102では、初めから終わりまでこれだけがシ
ミュレートされ、そのシミュレーションの途中で、動作
レベルシミュレーションモデル101のシミュレーショ
ンは行われなかった。
モデル101とRTレベルシミュレーションモデル10
2は、互いに独立していて別個のものとして扱われ、シ
ミュレーションの途中で一方のシステムシミュレーショ
ンから他方のシステムシミュレーションに切り換えるこ
とは不可能であった。一般的には、速度が重要な局面で
は高速な上位シミュレーションモデルが用いられ、精度
が重要な局面ではRTレベル、精度が更に細かく要求さ
れる局面ではレベルが更に低い他の低位シミュレーショ
ンモデルがそれぞれに用いられていた。
う場合、ある時刻t1から他のある時刻t2の間を特に
詳しく調べたいという要望がある。そのような場合にも
時刻t0から時刻t2までの検証のために高精度のシミ
ュレータを使用すると、機能検査に多大な時間がかかっ
てしまう。
なる抽象度の複数・シミュレーションモデルの間で切り
換えを行うようにしたミックス・シミュレーション技術
が、特開平5−61934号、論文「並列論理シミュレ
ータWIZDOM」(情報処理学会第57回全国大会、
1998)で知られている。ここで開示されている切り
換えは、命令レベルシミュレーションモデルとハードウ
エアシミュレータ、RTレベルシミュレーションモデル
のような抽象度が異なるシミュレーションモデルとの間
の切り換えである。このような切り換えが可能になって
いる根拠は、双方のモデルがレジスタ等で共通する構造
を持っていることにある。また、ゲートレベルと電子回
路レベルの間でのシミュレーション切り換えが行われる
技術が、特開平7−110826号で知られている。こ
の切り換えで双方の情報のトランスファーは、ゲート回
路の端子と電子回路の端子が1対1に対応していること
を利用することにより、回路端子のレベルのアナログ・
ディジタル変換によって行っている。また、特開平10
−261002号は、ある回路記述形式を用いてその回
路の動きを詳しい定義モデルと粗い定義モデルとで表現
し、そのモデルの間での切り換えを開示している。この
ような1対1対応の高低レベル間の切り換え、詳細度の
異なるものの共通の記述形式を用いた同一レベル間の切
り換えが知られている。
のプログラム言語記述レベルと下位記述レベルであるR
Tレベルの間では、シミュレーション状態を保持する構
造が1対1に対応しておらず、両レベル間でデータの受
け渡しができないため、従来、これらのレベル間の切り
換えシミュレーションが不可能であった。シミュレーシ
ョンをより適正に高速化し且つ詳細化するために、この
ように1対1に対応する記述がなされていないレベル間
のシミュレーションモデルの切換技術の確立が特に望ま
れた。
に、論理回路の処理フローを記述した動作レベル記述を
機能合成ツールによりRTレベル記述に変換し、その動
作レベル記述とRTレベル記述をそれぞれに対応するコ
ンパイラに入力して動作レベルシミュレーションモデル
構造とRTレベルシミュレーションモデル構造を生成
し、動作レベルシミュレーションモデル構造とRTレベ
ルシミュレーションモデル構造の対応手段を生成し、動
作レベルシミュレーションモデル構造とRTレベルシミ
ュレーションモデル構造に基づいて動作レベルシミュレ
ーションとRTレベルシミュレーションを対応手段を介
して切り換えて実行するように、両レベル間でレジスタ
の変数値を共有させるようにしたシミュレーション方法
を提案している(参照:特願平11−057040
号)。
ミュレーションの実行過程で、本発明者は、動作モデル
である最高位の抽象度を持つアルゴリズム記述から自動
生成される従来のRTレベル記述は、ソースであるアル
ゴリズム記述から遠くかけ離れ、両記述の間に大きな抽
象度の落差が存在していることに気づいた。両記述の間
に潜み両記述のそれぞれの抽象度の中間にある抽象度の
記述の発見が望まれ、その記述により、アルゴリズム記
述より抽象度が低くRTレベルより抽象度が高い言語レ
ベルでシミュレーションモデルを動作レベルより精細に
且つRTレベルより高速にシミュレートすることが望ま
れる。
ゴリズムレベルより抽象度が高くRTレベルよりも抽象
度が低いレベルの言語を用いてそれに基づくシミュレー
ションモデル、その記述とその生成の方法を提供するこ
とにある。
より抽象度が高くRTレベルよりも抽象度が低い記述に
基づいて、アルゴリズム記述のシミュレーションよりも
より精細に、且つ、RTレベル記述のシミュレーション
よりもより高速にシミュレートすることができるシミュ
レーションモデル、その記述とその生成の方法を提供す
ることにある。
ンモデルの生成方法では、機能合成部とクロックレベル
検証部とを具備するシミュレーション装置において、資
源の制約の下で、前記機能合成部が、回路モジュールを
表現するアルゴリズム記述から状態遷移制御モデルと対
応テーブルを生成し、前記クロックレベル検証部が、前
記状態遷移制御モデルと前記対応テーブルからクロック
レベル記述のクロックレベルアルゴリズムモデルを生成
する。前記クロックレベル記述は、単位クロックでの前
記資源の各々の動作を記述し、前記クロックレベルアル
ゴリズムモデルは、前記回路モジュールの前記クロック
レベル記述であり、前記状態遷移制御モデルは前記資源
の各々の状態遷移を制御し、前記対応テーブルは、前記
資源、及び前記単位クロック毎の前記アルゴリズム記述
内の変数と前記資源の対応関係を表す。
は、前記単位クロック毎の前記資源の動作を制御するデ
ータパス記述部とを有する。
生成方法では、機能合成部とクロックレベル検証部とを
具備するシミュレーション装置において、資源の制約の
下で、前記機能合成部が、回路モジュールを表現するア
ルゴリズム記述から状態遷移制御モデルと対応テーブル
を生成し、前記クロックレベル検証部が、前記状態遷移
制御モデル、前記対応テーブル、及び外部とのインター
フェイス情報からクロックレベル記述のクロックレベル
アルゴリズムモデルを生成してもよい。前記クロックレ
ベル記述は、単位クロックでの前記資源の各々の動作を
記述し、前記クロックレベルアルゴリズムモデルは、前
記回路モジュールの前記クロックレベル記述であり、前
記状態遷移制御モデルは前記資源の各々の状態遷移を制
御し、前記対応テーブルは、前記資源、及び前記単位ク
ロック毎の前記アルゴリズム記述内の変数と前記資源の
対応関係を表す。
は、データを入出力するI/O部と、前記単位クロック
毎の前記資源の動作を制御するデータパス記述部とを有
してもよい。
では、前記資源のうちの1つが前記複数の変数により共
有されることが好ましい。
クロックレベル検証部が、前記単位クロックに基づい
て、請求項1乃至5のいずれかに記載される前記クロッ
クレベルアルゴリズムモデルを含むシミュレーションモ
デルをシミュレーションしてもよい。このとき、前記シ
ミュレーションモデルは、CPUの動作に対応するクロ
ックレベルCPUモデルを含んでもよい。
シミュレーションの結果に基づいて、前記資源の前記状
態と前記アルゴリズム記述とを対応づけ、前記アルゴリ
ズム記述の記述行毎の前記資源の使用状況を表示すこと
が好ましい。また、前記クロックレベル検証部が、前記
シミュレーションモデルに含まれる前記クロックレベル
記述と、前記資源の使用状況を示す資源使用対応表とを
用いて、前記アルゴリズム記述と当該シミュレーション
により得られる変数値の対応を表示することが好まし
い。
ックレベル検証部が、前記クロックレベル記述の前記単
位クロックの状態遷移が起これば前記状態遷移が起こっ
た前記アルゴリズム記述の前記記述行と前記資源の使用
状況を表示し、前記変数値の対応の表示では、前記クロ
ックレベル検証部が、前記クロックレベル記述の前記単
位クロックの状態遷移が起これば前記状態遷移が起こっ
た前記レジスタ記述の前記記述行と前記変数値を表示す
ることが好ましい。前記変数値は、前記資源のうちのレ
ジスタ又はメモリの値である。
の制約の下で、回路モジュールを表現するアルゴリズム
記述から状態遷移制御モデルと対応テーブルを生成する
機能合成部と、前記状態遷移制御モデル、前記対応テー
ブル、及び外部とのインターフェイス情報からクロック
レベル記述のクロックレベルアルゴリズムモデルを生成
するクロックレベル検証部とを具備する。前記状態遷移
制御モデルは前記資源の各々の状態遷移を制御し、前記
対応テーブルは、前記資源、及び前記単位クロック毎の
前記アルゴリズム記述内の変数と前記資源の対応関係を
表し、前記クロックレベル記述は、前記単位クロックで
の前記資源の各々の動作を記述し、前記クロックレベル
アルゴリズムモデルは、前記回路モジュールの前記クロ
ックレベル記述である。
備してもよく、前記クロックレベル検証部は、前記シミ
ュレーションの結果に基づいて、前記資源の前記状態と
前記アルゴリズム記述とを対応づけ、前記アルゴリズム
記述の記述行毎の前記資源の使用状況を前記表示部に表
示し、前記クロックレベルシミュレーションモデルに含
まれる前記クロックレベル記述と前記資源使用対応表と
を用いて、前記アルゴリズム記述の前記記述行と当該シ
ミュレーションにより得られる変数値の対応を前記表示
部に表示する。前記クロックレベル検証部は、前記クロ
ックレベル記述の前記クロック単位の状態遷移が起これ
ば前記状態遷移が起こった前記アルゴリズム記述の前記
記述行と前記資源の使用状況を前記表示部に表示し、前
記クロックレベル記述の前記クロック単位の前記状態遷
移が起これば前記状態遷移が起こった前記レジスタ記述
の前記記述行と前記変数値を表示することが好ましい。
論理動作を表すハードウエアモデルを含む、前記回路の
アルゴリズムレベルシミュレーションモデルをシミュレ
ーションするアルゴリズムレベル検証部と、資源の制約
の下、前記ハードウエアモデルから生成されたクロック
レベルアルゴリズムモデルを含むクロックレベルシミュ
レーションモデルをシミュレーションするクロックレベ
ル検証部と、前記クロックレベルアルゴリズムモデル
は、単位クロックでの前記資源の各々の動作を表し、前
記資源の制約の下、前記ハードウエアモデルから生成さ
れた前記回路のRTレベルアルゴリズムモデルを含むR
Tレベルシミュレーションモデルをシミュレーションす
るRTレベル検証部とを具備する。
モデルは、前記回路内のCPUの動作を表すCPUモデ
ルを含み、前記クロックレベルシミュレーションモデル
は、単位クロック毎の前記CPUの動作を表すクロック
レベルCPUモデルを含み、前記RTレベルシミュレー
ションモデルは、RTレベルで前記CPUの動作を表す
RTレベルCPUモデルを含んでもよい。前記クロック
レベルシミュレーションモデルのシミュレーション時間
は、前記RTレベルシミュレーションモデルのシミュレ
ーション時間より短い。シミュレーション装置は、更
に、表示部を具備し、前記クロックレベル検証部は、前
記クロックレベルアルゴリズムモデルと前記クロックレ
ベルCPUモデルのシミュレーションの結果に基づい
て、前記資源の前記状態と前記アルゴリズム記述とを対
応づけ、前記アルゴリズム記述の記述行毎の前記資源の
使用状況を前記表示部に表示し、資源の使用状況を表す
資源使用対応表とを用いて、前記アルゴリズム記述の前
記記述行と当該シミュレーションにより得られる変数値
の対応を前記表示部に表示する。
デルの記述生成方法は、資源の制約の下で、アルゴリズ
ム記述(3)をクロックレベル記述(8)に低位化する
ことを含み、その低位化することは、アルゴリズム記述
(3)の複数機能を単位クロックの中で動作が可能であ
る部分機能に分解することと、その複数機能を回復する
ためにその部分機能を組み立てることとを備える。その
ような複数機能は、クロックレベル記述であるクロック
レベルシミュレータ(8)として、後述されるレジスタ
を変数とする言語により表現されている。レジスタを変
数とする言語は、本発明者により発見された低位プログ
ラミング記述言語である。
レジスタの内のある1つのレジスタを異なる複数単位ク
ロックのうちで動作させる記述を備える。このようなク
ロック間でレジスタの共有化が行われ、レジスタが変数
として言語化される。
更に、既述のこのようなシミュレーションモデルの記述
生成方法により記述されたクロックレベル記述(8)
と、そのクロックレベル記述に対応するアルゴリズム記
述(3)とが対応する対応表(22,23)とを含む。
のようなシミュレーションモデルを用いて単位クロック
で部分機能を動作させることにより複数機能をシミュレ
ートすることを含み、更に、そのようにシミュレートす
ることの結果に基づいて、アルゴリズム記述(3)をデ
バッグすることを含む。更には、シミュレーションモデ
ルに含まれるクロックレベル記述と対応表とを用いて、
アルゴリズム記述の行数とシミュレーションにより得ら
れる変数値の対応を表示することを含む。
成方法は、資源の制約の下で、アルゴリズム記述(3)
をクロックレベル記述(8)に低位化することを含み、
その低位化することは、アルゴリズム記述(3)の複数
機能を単位クロックの中で動作が可能である部分機能に
分解することと、複数機能を回復するためにその部分機
能を組み立てることとを備え、クロックレベル記述
(8)は、その資源のうちの複数レジスタの内のある1
つのレジスタを異なるクロックのうちでそれぞれに動作
させる記述を備え、更に、クロックレベル記述(8)と
クロックレベル記述(8)のうちのレジスタ(Reg1
〜5)に関するレジスタ記述との対応表(22,23)
を作成することと、クロックレベル記述(8)のクロッ
ク単位の状態遷移が起こればその状態遷移が起こったア
ルゴリズム記述部分を表示することと、クロックレベル
記述(8)のクロック単位の状態遷移が起こればその状
態遷移が起こったレジスタ記述部分のレジスタ(Reg
1〜5)の変数値(R)を表示することとを含む。この
ような対応表の作成によって、両レベル間の移行が可能
である。このようなシミュレーションモデルの生成方法
に含まれる全記述がコンピュータにより読み取り可能で
あることは当然であり、それは記録媒体化されて利用に
供される。
アルゴリズム記述(3)と、アルゴリズム記述(3)よ
りも抽象度が低いRTレベル記述(17)と、アルゴリ
ズム記述(3)よりも抽象度が低く、且つ、RTレベル
記述(17)よりも抽象度が高いクロックレベル記述
(8)を含み、クロックレベル記述(8)はアルゴリズ
ム記述(3)からクロック単位で自動生成される記述で
あり、アルゴリズム記述(3)と、クロックレベル記述
(8)と、RTレベル記述(17)とは、クロックレベ
ル記述(8)に含まれて記述されるレジスタ(Reg1
〜5)の変数値(R)を共有する。このような共有によ
り、3つのレベル間で移行が可能である。
リズム記述(3)と、アルゴリズム記述(3)よりも抽
象度が低いクロックレベル記述(8)を含み、クロック
レベル記述(8)は、時間軸に直交する単位クロックご
との断面上で記述されるレジスタの演算記述である。こ
こで、断面とは、1単位クロック内で同時的に動作が進
行する一連の記述の連鎖である。アルゴリズム記述より
も抽象度が低く、且つ、時間軸に直交する単位クロック
ごとの断面上でレジスタに関して記述される言語は、コ
ンピュータにより読み取り可能に表現されて記録媒体化
され得る。このような媒体をコピーすることにより、同
時並行的に多様なシミュレーションが可能である。アル
ゴリズム記述よりも抽象度が低く、且つ、時間軸に直交
する単位クロックごとの断面上でレジスタに関して記述
されるシミュレーションモデル用記述言語は、Reg1
+Reg2のように複数レジスタが用語として多変数化
されている。アルゴリズム記述(3)は数の演算を含ん
でいる場合には、その演算を時間軸上で進行するクロッ
クの単位の中で実行する関数の変数がレジスタになって
表現されている。
は、レジスタの動作がクロック単位で現れる変数が潜ん
でいる。
レーションモデルの実施の形態は、アルゴリズム検証部
とRTレベル検証部との間で、新たにクロックレベル検
証部が設けられていることを特徴としている。そのアル
ゴリズム検証部1は、図1に示されるように、アルゴリ
ズムシステム2から形成されている。アルゴリズムシス
テム2は、最も抽象度が高いH/Wモデルであるアルゴ
リズム記述3と、C言語で記述されS/Wモデルである
C−プログラム4とを備えている。アルゴリズムシステ
ム2は、C−コンパイラによりアルゴリズムシミュレー
タ5に変換される。アルゴリズムシステム2は、アルゴ
リズムシミュレータ5によりシミュレートされる。
レベルシステム7から形成されている。クロックレベル
システム7は、クロックレベル記述であるクロックレベ
ルシミュレーションモデル8と、クロックレベルCPU
モデル9とを備えている。クロックレベルシステム7
は、組込用Cコンパイラ11により自動生成されて記述
変換され、その記述変換には、慣用の機能合成ツール1
2が持つツールであるレジスタが用語(単語又は一次変
数)として用いられる。アルゴリズム記述3は、機能合
成ツール12で記述されるツールを持つモデル変換ツー
ル13によりクロックレベルシミュレーションモデル8
に記述変換される。クロックレベルCPUモデル9は、
組込用Cコンパイラ11によりC−プログラム4から自
動生成される。クロックベースシミュレータ14は、ク
ロックレベルシミュレーションモデル8とクロックレベ
ルCPUモデル9とから形成されている。
システム16から形成されている。RTレベルシステム
16は、RTL−HDL17と、RTレベルCPUモデ
ル18とを備えている。RTL−HDL17は、機能合
成ツール12によりアルゴリズム記述3から自動生成さ
れる。HDLシミュレータ19は、RTL−HDL17
とRTレベルCPUモデル18とから形成されている。
モデル8を自動生成するモデル作成のツール構成とその
作成フローを示している。機能合成ツール12は、定
数、変数の最適化機能と、スケジューリング機能と、ア
ロケーション機能と、レジスタシェアリング機能と、H
DL生成機能とを有している。レジスタシェアリング機
能は、下記3つの作成を実行する機能を有している: (1)資源制約下で用いられる複数レジスタ資源の状態
遷移の繰返しをデータパス制御により制御するFSM/
DataPathモデル21の作成 (2)変数とレジスタと状態位置との対応である変数/
レジスタ/状態位置対応表22の作成 (3)アルゴリズム記述のソース行とその状態位置との
対応であるソース行/状態位置対応表23の作成 モデルI/F情報24は、機能合成ツール12とモデル
変換ツール13に入力される。モデル変換ツール13
は、モデルI/F情報24とFSM/DataPath
モデル21と変数/レジスタ/状態位置対応表22とに
基づいて動作し、アルゴリズム記述3をクロックレベル
シミュレーションモデル8に記述変換して、クロックレ
ベルシミュレーションモデル8を自動生成する。モデル
変換ツール13には、その自動生成のために、モデル機
能ライブラリのデバッグ機能ライブラリ25とモデルI
/Fライブラリ26からそれらのライブラリ情報が入力
される。
モデル8の記述構造を示している。クロックレベルシミ
ュレーションモデル8は、Busシミュレーションモデ
ル31を備えている。Busシミュレーションモデル3
1は、モジュールIO部32とデータパス記述部33と
から形成されている。モジュールIO部32には、複数
IOレジスタ34と複数IOメモリー35とが記述さ
れ、モデルI/F情報24から作成され、当該シミュレ
ーションモデルの入出力端子を通して組込ソフトウエア
から読み書きされるIOレジスタ構造と、IOメモリー
構造を有している。クロックレベルシミュレーションモ
デル8は、モジュールIO部を介して、他のモジュール
と信号伝達を行う。データパス記述部33は、後述され
るように、複数IOレジスタと複数演算子との関係を記
述するデータパスと、その演算のクロック単位の動作を
制御する制御構造とを有している。
ンコントローラ36が接続している。シミュレーション
コントローラ36は、シミュレータ本体からクロック入
力37を受けてデータパス記述部33のクロックを1つ
ずつ進める演算動作遷移38の循環歩進制御(FSM制
御)を行う。シミュレーションコントローラ36から出
力されるFSM制御信号39は、データパス記述部33
に入力される。
ーラ41に接続している。データパス記述部33は、レ
ジスタ値Rと演算遷移位置である状態位置値Sとを出力
する。レジスタ値Rと状態位置値Sとは、GUIコント
ローラ41に入力される。リセット信号がシミュレーシ
ョンコントローラ36に入力されると、データパス記述
部33のレジスタ値Rと状態位置値Sとは初期化され
る。
態位置のレジスタとアルゴリズムレベル記述による変数
との対応を図2に示される変数/レジスタ/状態位置対
応表22から得ることができる。GUIコントローラ4
1は、更に、現在の遷移状態位置のアルゴリズムレベル
記述によるソース行をソース行/状態位置対応表23か
ら得ることができる。
レベル記述変数値表示ウインドウ42と、アルゴリズム
レベル記述ソース実行行表示ウインドウ43に接続して
いる。アルゴリズムレベル記述変数値表示ウインドウ4
2には、レジスタのレジスタ値Rが、その遷移状態位置
で、アルゴリズムレベル記述変数値として変数/レジス
タ/状態位置対応表22に基づく対応関係が与えられて
表示される。複数レジスタが部分的に異なる遷移状態間
で共有されることにより一時的にレジスタとの対応が消
えてしまうアルゴリズムレベル記述変数の値は、GUI
コントローラ41に保持されることにより、アルゴリズ
ムレベル記述変数値表示ウインドウ42には、常に最新
の遷移状態の最新の変数値が表示される。
行行表示ウインドウ43には、現在の状態遷移位置に対
応するアルゴリズムレベル記述のソース行位置値Sが、
現在の遷移状態位置で、ソース行/状態位置対応表23
に基づく対応関係が与えられて、ハイライト表示され
る。更に、GUIコントローラ41は、アルゴリズム記
述変数、及び、レジスタ、クロック単位の変化の回数、
状態遷移の各状態に遷移した回数、遷移元、遷移先が、
シミュレーション中に計測されることにより、変数、レ
ジスタ変化、状態変化の網羅率が測定される。このよう
な網羅率は、テストパタンによりどれ程網羅的な検証が
行われ得たかの指標になる。
ハードウエアモデルとソフトウエアモデルは、共にプロ
グラミング言語で記述されている。そのハードウエアモ
デルは、ハードウエアのアルゴリズムを表現し、そのソ
フトウエアモデルは組み込みソフロウエアを表現してい
る。これらのプログラミング言語記述をCコンパイラに
かけることにより、アルゴリズムレベルのシミュレータ
が作成される。ハードウエアに関する情報がないアルゴ
リズムレベルで検証可能な項目は、下記(1),(2)
に示されるように、純粋に論理的な動作のみであるが、
そのシミュレーションは非常に高速である。 (1)各モジュールの論理的な動作の検証 (2)システムの論理的な動作の検証
のアルゴリズム記述を機能合成ツール、モデル変換ツー
ルで処理することにより、クロックレベルのシミュレー
ションモデルが作成される。ソフトウエアモデルは、C
PUのシミュレーションモデル上に組込ソフトウエアと
して読み込まれ、実際のCPUと同等な動作タイミング
を実現する。これらのハードウエア、ソフトウエアモデ
ルは、クロックレベルで実際のLSIシステムと同等の
タイミング精度を持つため、クロックレベルシミュレー
タ上でシミュレーションを行うことにより、下記のよう
な項目の見積もり、検証が可能である。 (1)各モジュールのクロックレベルの動作タイミング
検証 (2)各モジュールのインターフェースの概略検証(I
Oレジスタ、IOメモリ、IO端子の構成、名称、ビッ
ト幅等) (3)各モジュール、バスの動作クロックの周波数見積
もり (4)キャッシュアクセスの見積もり(キャッシュヒッ
ト率、アクセス率、ライトバック回数等) (5)アクセスの見積もり(バスの占有率、バスのトラ
ンザクションごとのAdrs、Data、Maste
r、Slave、Read/Write、Comman
d、語数、占有時間等) (6)Bus、Arbiterのアルゴリズムの検証 (7)メモリ/IFのトラフィックの見積もり (8)データ処理のThrough Putの見積もり
(モジュール毎、バス毎、システム全体) (9)バッファ、スタックサイズの見積もり (10)画質、音質の見積もり (11)アドレスマップ、端子、bit幅等モジュール
間接続I/Fの整合性の検証 (12)浮動小数点を固定小数点に変換した場合の見積
もり (13)組み込みソフトウエアの開発、デバッグ (14)消費電力の概略見積もり
能合成ツールが作成するRTL−HDLモデルが用いら
れる。このモデルは、クロックレベルよりも詳細に非同
期的動作を含むタイミングの精度を持つ。ソフトウエア
モデルは、クロックレベルシミュレーションと同様にC
PUのシミュレーションモデル上に組み込みソフトウエ
アとして読み込まれる。これらのRTL−HDLモデル
とCPUモデルをHDLシミュレータ上でシミュレート
することにより、以下のような項目の検証と見積もりを
行うことができる。 (1)各モジュールのインターフェースの詳細検証(制
御、アドレス、データ端子のタイミング動作) (2)各モジュールの詳細タイミングの検証 (3)消費電力の詳細見積もり (4)テスタ向けパタン作成
デル作成方法の実施の形態を示している。図10に示す
フロー図にそって、図4に示されるアルゴリズム記述か
ら後述するFSM/DataPathモデル記述及び図
8に示される変数/レジスタ/状態位置対応表、図9に
示されるソース行/状態位置対応表を作成し、クロック
レベルシミュレーションモデルを作成する方法を以下に
述べる。
を例示している。機能合成ツール12は、このアルゴリ
ズム記述及び回路を構成する資源の制約条件を入力とす
る。この場合の資源制約条件は、下記の通りとする。 レジスタ:5個 加算器 :1個 図4に示されるアルゴリズム記述中に、変数はa、b、
c、d、Xの5個、加算は3個が含まれる。資源制約条
件から同時に使うことができる加算器は1つであるた
め、演算処理は時分割され、図5に示されるようにな
る。図5のClock1ではaとbの加算を行い、その
結果をXに代入する。Clock2では、Clock1
と同じ加算器を用いて、cとdの加算を行い、その加算
結果を一時的に保持するために、変数t2を新たに作成
して代入する。更に、Clock3ではClock1,
2と同じ加算器を用いてX及びt2の加算を行い、その
加算結果をXに代入する。このような処理を演算器のス
ケジューリングと呼ぶ(ステップS2)。
ルゴリズム記述で示される処理を加算器1個の制約下で
実現するためには、3クロックを要し、変数はa,b,
c,d,X,t2の6個を要することが分かる。レジス
タに関する資源制約によれば、同時に利用できるレジス
タは5個までとなっているため、レジスタについても共
有化を行う必要がある。レジスタ共有化では、まずCl
ock1の変数a,b及びClock2の変数X,c,
dにレジスタ制約で許されるReg1からReg5まで
を割り当てる。Clock3の変数t2については、R
eg1からReg5のうちのどれかを使い回す必要があ
る。Clock1で変数a,bに割り当てられていたR
eg1、Reg2は、Clock2のXが得られれば、
その内容を保持する必要がないため、Clock2以降
であれば使い回すことが可能である。ここでは、Clo
ck3の変数t2に割り当てるためReg2を用いるこ
とにする。最後の演算結果変数Xについても同様にCl
ock3以降で使い回しができるReg5を割り当て
る。このようにして与えられたレジスタ制約の元でレジ
スタの共有を行う(ステップS3)。図4のアルゴリズ
ム記述にステップS1、ステップS2、ステップS3の
処理を行った結果得られるモデルをプログラミング言語
で記述したものが下記に示されFSM/DataPat
hモデルとなる。
22を示している。変数/レジスタ/状態位置対応表2
2は、図5に示される変数と、Clockの対応、及
び、図6に示されるレジスタとクロックの対応から作成
される。図5及び図6のClock1かClock3
は、図8の状態1〜3に対応する。図8の状態1即ち図
5、図6のClock1では、レジスタReg1は変数
aの値を持ち、レジスタReg2は変数bの値を持つ。
状態2では、レジスタReg3は変数X、レジスタRe
g4はc、レジスタReg5はdの値を持つ。状態3で
は、レジスタReg2はt2、レジスタReg3はX、
状態4では、レジスタReg5はXの値を持つ。更に、
初期状態として全てのレジスタに変数の割り当てがない
状態0を作成する。このように各状態(即ちCloc
k)における変数とレジスタの対応を示したのが変数/
レジスタ/状態位置対応表22である(ステップS
5)。
示している。Clock1における変数aとbの加算
は、図4のアルゴリズム記述では3行目に当たる。Cl
ock2における変数cとdの加算は、図4のアルゴリ
ズム記述では4行目に当たる。Clock3における変
数Xとt2の加算も4行目に当たる。最終の演算結果X
が得られる状態は、図4のアルゴリズム記述の5行目に
当たる。図8と同様に図9の状態1〜3は、図5、図6
のClock1〜3に対応する。このようにして得られ
るアルゴリズム記述中の行位置と状態の対応関係を示し
たのが、ソース行/状態位置対応表23である。モデル
変換ツール13にモデルI/F情報24、FSM/Da
taPathモデル21、変数/レジスタ/状態位置対
応表22、ソース行/状態位置対応表23から、クロッ
クレベルシミュレーションモデル8が作成される(ステ
ップS7)。ここで、モデルI/F情報24は、アルゴ
リズム記述3で表現される回路モジュールと外部とのイ
ンターフェースを定義する情報を持つ。その内容として
はバスからアクセス可能なコマンドレジスタや状態レジ
スタ、データメモリの構成、更には、他のモジュールと
の間のデータ転送路のビット幅、同期方式などが含まれ
る。
L−HDL17は、図7に示されるように、機能合成ツ
ール12により自動生成される。公知ツールによりこの
ように自動生成されるハードウエア構成は、5つのレジ
スタ1〜5と、7つのマルチプレクサ1〜7と、5つの
スイッチSW1〜5とから形成される。クロックレベル
記述モデルよりも抽象度が低いこのようなハードウエア
モデルでは、レジスタの値を保持するためにレジスタの
出力をデータ入力にフィードバックさせるフィードバッ
ク機能とマルチプレクサとが必要であり、更に、全ての
レジスタに常にクロック信号を供給するためのクロック
制御と、各マルチプレクサを制御する制御信号44とが
必要であり、更に、演算器の共有化のために入力となる
複数のレジスタから1つのレジスタを選択するためにも
マルチプレクサが必要である。ハードウエアモデルは、
後述されるように、その他の各種多様なハード部品とそ
れを制御する制御信号線が必要である。
は、クロック単位で動作する言語として論理レベルの記
述言語であるクロックレベル記述が下記ようになされ
る。 int DataPath (int a,b,c,d, rest) { static int FSM position; static int Reg1, Reg2, Reg3, Reg4, Reg5; if ( rest = = 1 ){ FSM position = 0; return (0); } switch (FSM position) { case 0: Reg1 = a; Reg2 = b; Reg3 = Reg1 + Reg2; FSM position = 1; break; case 1: Reg4 = c; Reg5 = d; Reg2 = Reg4 + Reg5; FSM position = 2; break; case 2: Reg5 = a; Reg3 + Reg2; FSM position = 3; break; case3: X = Reg5; FSM position = 0; break; Case1はクロック1のステップに一致し、Case
2はクロック2のステップに一致し、Case3はクロ
ック3のステップに一致している。このようにクロック
単位で、レジスタ1〜5が分割されて使用されるクロッ
クレベル記述が生成される。このクロックレベル記述
は、図4に示されるアルゴリズム記述による表現よりも
表現がより詳細になっているが、後記されるRTレベル
記述から見れば、簡素化されている。そのアルゴリズム
の内容によるが、アルゴリズム記述のシミュレーション
時間はクロックレベル記述のシミュレーション時間に比
べて概ね500分の1であり、クロックレベル記述の動
作時間はRTレベル記述の動作時間に比べて概ね500
分の1であることが本発明者により確認されている。
めに下記に記載される。 RTハードウエア記述1:
れていない。RTハードウエア記述14の最初の6行は
FFレジスタに関する記述部分であり、その次の6行は
マルチプレクサに関する記述部分であり、更にその次の
記述はadderによる加算に関する記述部分である。
両レベルの記述の両分量は、概ね、両レベルのシミュレ
ーションにかかる時間の長さに対応している。
実行行表示ウインドウ43にアルゴリズム記述ソースを
表示する方法を示している。状態遷移が起こる毎に(ス
テップS11)、GUIコントロール部41は、現在の
状態位置をFSM/DataPath部33に問い合わ
せる(ステップS12)。例えば、現在の状態位置が状
態2であった場合、ソース行/状態位置対応表23か
ら、対応するソースファイルがfile1.cで行数が
4行目であることが分かる(ステップS13)。このよ
うにして得られたソースファイルをGUI上で表示し、
更に現在の状態位置に対応する行をハイライト表示する
ことにより、ユーザーはアルゴリズムレベル記述上での
現在の実行位置を示すことができる(ステップS1
4)。
ルゴリズムレベル記述変数値表示ウインドウ42に表示
する方法を示している。状態遷移が起こる毎に(ステッ
プS21)、GUIコントロール部41は、現在の状態
位置をFSM/DataPath部33に問い合わせる
(ステップS22)。例えば、現在の状態位置が状態3
であった場合、変数/レジスタ/状態位置対応表22か
ら、状態3で使われる変数はt2とXであり、対応する
レジスタがそれぞれReg2とReg3であることが分
かる(ステップS23)。GUIコントローラ部41
は、Reg2とReg3の値をFSM/DataPat
h部33から得て、開けられている。アルゴリズム記述
変数表示ウインドウ42にはそれぞれt2及びXの値と
して表示する(ステップS24)。これにより、ユーザ
ーはレジスタ共有が行われていても、GUI上ではクロ
ックレベルシミュレーションモデル中のレジスタ値の変
化をアルゴリズムレベル記述上の変数の値の変化として
観測することが可能になる。
は、図7の構造を持つRTL−HDLモデルに比べて、
以下のシミュレーションが省略される。 (1)RTL−HDLモデルは、レジスタ値を保持して
それを出力するためのフィードバックとマルチプレクサ
が必要であるが、プログラミング言語で実現されるクロ
ックレベルシミュレーションモデルでは変数値の保持は
代入が起こらない限りにおいて、フィードバックとマル
チプレクサが不要である。 (2)RTL−HDLモデルは、全てのレジスタに常に
クロック信号が供給されるためレジスタ値は新しいデー
タ入力値又はそのレジスタが保持していた値に常に更新
されるようになるが、クロックレベルシミュレーション
モデルでは新しいデータ入力があった変数のみが更新さ
れるため、不要な更新処理がなくシミュレーションが高
速化され得る。 (3)RTL−HDLモデルは、演算器の共有が行われ
るため、入力となる複数のレジスタから1つのレジスタ
を選択するマルチプレクサが必要であるが、クロックレ
ベルシミュレーションモデルでは演算器に制限がなくそ
のような共有化が不要であり、演算器の入力を選択する
マルチプレクサが不要である。 (4)クロックレベルシミュレーションモデルでは演算
器共有化のためのマルチプレクサが不要であるので、マ
ルチプレクサに必要であった制御入力を作成する回路が
不要である。 (5)RTL−HDLモデルは、全レジスタに非同期リ
セット信号がつくが、クロックレベルシミュレーション
モデルではクロック周期単位の動作のみを扱うので、非
同期的な動作を行う必要がない。 (6)RTL−HDLモデルは、レジスタ、マルチプレ
クサ、演算器等のサブモジュールを利用した構造を持
ち、そのサブモジュールは端子を持ち、その内部には信
号線、制御機構等も持っているが、クロックレベルシミ
ュレーションモデルでは、レジスタはプログラミング言
語の変数に、マルチプレクサは条件文に、演算器は演算
子で表現されるため、シミュレーション処理は大幅に簡
略化される。 (7)RTL−HDLモデルは、実際のハードウエア通
りに束線のビット位置の昇降順、符号のありなし、整数
型/ビットベクタ型等の信号型の区別、又は、これらの
間の変換を厳密に表現する必要があるが、このような区
別は、クロックレベルシミュレーションモデルでは厳密
に行われない。 (8)RTL−HDLモデル内にある各サブモジュール
間の動作の並列性は厳密に表現されるが、クロックレベ
ルシミュレーションモデルでは各サブモジュールの厳密
な動作タイミングの差に基づいた検証は行われないた
め、並列性を厳密に表現する必要がない。 (9)RTL−HDLモデルは、クロックの変化タイミ
ング以外にも例えばリセット信号が変化した時点の動作
を厳密に表現するが、クロックレベルシミュレーション
モデルではクロック単位の動作のみを扱うので、非同期
的な動作に対する処理を簡略化することができる。
その記述とその生成の方法は、アルゴリズムレベルより
抽象度が低くRTレベルよりも抽象度が高いレベルの言
語の発見により、中間レベルのシミュレーションが可能
になる。アルゴリズムレベルより抽象度が低くRTレベ
ルよりも抽象度が高い記述に基づいて、アルゴリズム記
述のシミュレーションよりもより精細に、且つ、RTレ
ベル記述のシミュレーションよりもより高速にシミュレ
ートすることができる。一般的には、より物理的であり
より詳細に記述されるハード部品のシミュレーション言
語を論理化してハード部品を変数とするプログラミング
言語を作成することが可能であり、公知の複数レベルの
記述の中間言語を作成することができる。
ステムの実施の形態を示すシステム図である。
生成方法の実施の形態を示すブロックフロー図である。
論理ブロック図である。
式である。
しめす動作時間表である。
す動作時間表である。
である。
応を示すテーブルである。
示すテーブルである。
ン方法の動作の実施の形態を示すフローチャートであ
る。
ン方法の他の動作を示すフローチャートである。
ン方法の更に他の動作を示すフローチャートである。
を示すシステムフロー図である。
ョンモデル) 22,23…対応表 22…変数/レジスタ/状態位置対応表 23…ソース行/状態位置対応表 17…RTレベル記述 R…変数値 Reg1〜5…レジスタ
Claims (20)
- 【請求項1】機能合成部とクロックレベル検証部とを具
備するシミュレーション装置において、 資源の制約の下で、前記機能合成部が、回路モジュール
を表現するアルゴリズム記述から状態遷移制御モデルと
対応テーブルを生成するステップと、 前記クロックレベル検証部が、前記状態遷移制御モデル
と前記対応テーブルからクロックレベル記述のクロック
レベルアルゴリズムモデルを生成するステップと具備
し、 前記クロックレベル記述は、単位クロックでの前記資源
の各々の動作を記述し、前記クロックレベルアルゴリズ
ムモデルは、前記回路モジュールの前記クロックレベル
記述であり、前記状態遷移制御モデルは前記資源の各々
の状態遷移を制御し、前記対応テーブルは、前記資源、
及び前記単位クロック毎の前記アルゴリズム記述内の変
数と前記資源の対応関係を表すシミュレーションモデル
の生成方法。 - 【請求項2】前記クロックレベルアルゴリズムモデル
は、前記単位クロック毎の前記資源の動作を制御するデ
ータパス記述部とを有する請求項1に記載のシミュレー
ションモデルの生成方法。 - 【請求項3】機能合成部とクロックレベル検証部とを具
備するシミュレーション装置において、 資源の制約の下で、前記機能合成部が、回路モジュール
を表現するアルゴリズム記述から状態遷移制御モデルと
対応テーブルを生成するステップと、 前記クロックレベル検証部が、前記状態遷移制御モデ
ル、前記対応テーブル、及び外部とのインターフェイス
情報からクロックレベル記述のクロックレベルアルゴリ
ズムモデルを生成するステップと具備し、 前記クロックレベル記述は、単位クロックでの前記資源
の各々の動作を記述し、前記クロックレベルアルゴリズ
ムモデルは、前記回路モジュールの前記クロックレベル
記述であり、前記状態遷移制御モデルは前記資源の各々
の状態遷移を制御し、前記対応テーブルは、前記資源、
及び前記単位クロック毎の前記アルゴリズム記述内の変
数と前記資源の対応関係を表すシミュレーションモデル
の生成方法。 - 【請求項4】前記クロックレベルアルゴリズムモデル
は、データを入出力するI/O部と、前記単位クロック
毎の前記資源の動作を制御するデータパス記述部とを有
する請求項3に記載のシミュレーションモデルの生成方
法。 - 【請求項5】前記クロックレベル記述では、前記資源の
うちの1つが前記複数の変数により共有される請求項1
乃至4のいずれかに記載のシミュレーションモデルの生
成方法。 - 【請求項6】請求項1乃至5のいずれかに記載のシミュ
レーションモデルの生成方法を実現するための、計算機
により実行可能なプログラムが記録された記録媒体。 - 【請求項7】前記クロックレベル検証部が、前記単位ク
ロックに基づいて、請求項1乃至5のいずれかに記載さ
れる前記クロックレベルアルゴリズムモデルを含むシミ
ュレーションモデルをシミュレーションするステップを
含むシミュレーション方法。 - 【請求項8】前記シミュレーションモデルは、CPUの
動作に対応するクロックレベルCPUモデルを含む請求
項7に記載のシミュレーション方法。 - 【請求項9】前記クロックレベル検証部が、前記シミュ
レーションの結果に基づいて、前記資源の前記状態と前
記アルゴリズム記述とを対応づけ、前記アルゴリズム記
述の記述行毎の前記資源の使用状況を表示するステップ
を更に具備する請求項7又は8に記載のシミュレーショ
ン方法。 - 【請求項10】前記クロックレベル検証部が、前記シミ
ュレーションモデルに含まれる前記クロックレベル記述
と、前記資源の使用状況を示す資源使用対応表とを用い
て、前記アルゴリズム記述と当該シミュレーションによ
り得られる変数値の対応を表示するステップを更に具備
する請求項9に記載のシミュレーション方法。 - 【請求項11】前記資源の使用状況を表示するステップ
は、前記クロックレベル検証部が、前記クロックレベル
記述の前記単位クロックの状態遷移が起これば前記状態
遷移が起こった前記アルゴリズム記述の前記記述行と前
記資源の使用状況を表示するステップを具備し、 前記変数値の対応を表示するステップは、前記クロック
レベル検証部が、前記クロックレベル記述の前記単位ク
ロックの状態遷移が起これば前記状態遷移が起こった前
記レジスタ記述の前記記述行と前記変数値を表示するス
テップを具備する請求項9又は10に記載のシミュレー
ション方法。 - 【請求項12】前記変数値は、前記資源のうちのレジス
タ又はメモリの値である請求項11に記載のシミュレー
ション方法。 - 【請求項13】請求項7乃至12のいずれか一項に記載
のシミュレーション方法を実現するための、計算機によ
り実行可能なプログラムが記録された記録媒体。 - 【請求項14】資源の制約の下で、回路モジュールを表
現するアルゴリズム記述から状態遷移制御モデルと対応
テーブルを生成する機能合成部と、前記状態遷移制御モ
デルは前記資源の各々の状態遷移を制御し、前記対応テ
ーブルは、前記資源、及び前記単位クロック毎の前記ア
ルゴリズム記述内の変数と前記資源の対応関係を表し、 前記状態遷移制御モデル、前記対応テーブル、及び外部
とのインターフェイス情報からクロックレベル記述のク
ロックレベルアルゴリズムモデルを生成するクロックレ
ベル検証部とを具備し、前記クロックレベル記述は、前
記単位クロックでの前記資源の各々の動作を記述し、前
記クロックレベルアルゴリズムモデルは、前記回路モジ
ュールの前記クロックレベル記述であるシミュレーショ
ン装置。 - 【請求項15】表示部を更に具備し、 前記クロックレベル検証部は、前記シミュレーションの
結果に基づいて、前記資源の前記状態と前記アルゴリズ
ム記述とを対応づけ、前記アルゴリズム記述の記述行毎
の前記資源の使用状況を前記表示部に表示し、前記クロ
ックレベルシミュレーションモデルに含まれる前記クロ
ックレベル記述と前記資源使用対応表とを用いて、前記
アルゴリズム記述の前記記述行と当該シミュレーション
により得られる変数値の対応を前記表示部に表示する請
求項14に記載のシミュレーション装置。 - 【請求項16】前記クロックレベル検証部は、前記クロ
ックレベル記述の前記クロック単位の状態遷移が起これ
ば前記状態遷移が起こった前記アルゴリズム記述の前記
記述行と前記資源の使用状況を前記表示部に表示し、前
記クロックレベル記述の前記クロック単位の前記状態遷
移が起これば前記状態遷移が起こった前記レジスタ記述
の前記記述行と前記変数値を表示する請求項15に記載
のシミュレーション装置。 - 【請求項17】回路の論理動作を表すハードウエアモデ
ルを含む、前記回路のアルゴリズムレベルシミュレーシ
ョンモデルをシミュレーションするアルゴリズムレベル
検証部と、 資源の制約の下、前記ハードウエアモデルから生成され
たクロックレベルアルゴリズムモデルを含むクロックレ
ベルシミュレーションモデルをシミュレーションするク
ロックレベル検証部と、前記クロックレベルアルゴリズ
ムモデルは、単位クロックでの前記資源の各々の動作を
表し、 前記資源の制約の下、前記ハードウエアモデルから生成
された前記回路のRTレベルアルゴリズムモデルを含む
RTレベルシミュレーションモデルをシミュレーション
するRTレベル検証部とを具備するシミュレーション装
置。 - 【請求項18】前記アルゴリズムレベルシミュレーショ
ンモデルは、前記回路内のCPUの動作を表すCPUモ
デルを含み、 前記クロックレベルシミュレーションモデルは、単位ク
ロック毎の前記CPUの動作を表すクロックレベルCP
Uモデルを含み、 前記RTレベルシミュレーションモデルは、RTレベル
で前記CPUの動作を表すRTレベルCPUモデルを含
む請求項17に記載のシミュレーション装置。 - 【請求項19】前記クロックレベルシミュレーションモ
デルのシミュレーション時間は、前記RTレベルシミュ
レーションモデルのシミュレーション時間より短い請求
項17に記載のシミュレーション装置。 - 【請求項20】更に、表示部を具備し、 前記クロックレベル検証部は、 前記クロックレベルアルゴリズムモデルと前記クロック
レベルCPUモデルのシミュレーションの結果に基づい
て、前記資源の前記状態と前記アルゴリズム記述とを対
応づけ、前記アルゴリズム記述の記述行毎の前記資源の
使用状況を前記表示部に表示し、資源の使用状況を表す
資源使用対応表とを用いて、前記アルゴリズム記述の前
記記述行と当該シミュレーションにより得られる変数値
の対応を前記表示部に表示する請求項18または19に
記載のシミュレーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002182246A JP3779651B2 (ja) | 2002-06-21 | 2002-06-21 | シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002182246A JP3779651B2 (ja) | 2002-06-21 | 2002-06-21 | シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29027699A Division JP2001109788A (ja) | 1999-10-12 | 1999-10-12 | シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003067438A true JP2003067438A (ja) | 2003-03-07 |
JP3779651B2 JP3779651B2 (ja) | 2006-05-31 |
Family
ID=19195346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002182246A Expired - Fee Related JP3779651B2 (ja) | 2002-06-21 | 2002-06-21 | シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3779651B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007310801A (ja) * | 2006-05-22 | 2007-11-29 | Nec Electronics Corp | 検証網羅性抽出回路及び方法と半導体装置並びにエミュレーションシステム |
CN100461187C (zh) * | 2004-02-26 | 2009-02-11 | 松下电器产业株式会社 | 模拟装置和设计半导体集成电路的方法 |
US7523030B2 (en) | 2004-09-30 | 2009-04-21 | Nec Electronics Corporation | Simulation system and computer program |
JP2010146359A (ja) * | 2008-12-19 | 2010-07-01 | Nec Corp | 動作合成システム、動作合成方法、及び動作合成用プログラム |
WO2011007640A1 (ja) * | 2009-07-15 | 2011-01-20 | 日本電気株式会社 | 動作合成装置、動作合成方法、ならびに、記録媒体 |
JP2011108164A (ja) * | 2009-11-20 | 2011-06-02 | Nec Corp | 動作合成システム及び動作合成方法並びに動作合成プログラム |
-
2002
- 2002-06-21 JP JP2002182246A patent/JP3779651B2/ja not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461187C (zh) * | 2004-02-26 | 2009-02-11 | 松下电器产业株式会社 | 模拟装置和设计半导体集成电路的方法 |
US7523030B2 (en) | 2004-09-30 | 2009-04-21 | Nec Electronics Corporation | Simulation system and computer program |
JP2007310801A (ja) * | 2006-05-22 | 2007-11-29 | Nec Electronics Corp | 検証網羅性抽出回路及び方法と半導体装置並びにエミュレーションシステム |
JP2010146359A (ja) * | 2008-12-19 | 2010-07-01 | Nec Corp | 動作合成システム、動作合成方法、及び動作合成用プログラム |
WO2011007640A1 (ja) * | 2009-07-15 | 2011-01-20 | 日本電気株式会社 | 動作合成装置、動作合成方法、ならびに、記録媒体 |
JP5110206B2 (ja) * | 2009-07-15 | 2012-12-26 | 日本電気株式会社 | 動作合成装置、動作合成方法、ならびに、プログラム |
JP2011108164A (ja) * | 2009-11-20 | 2011-06-02 | Nec Corp | 動作合成システム及び動作合成方法並びに動作合成プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3779651B2 (ja) | 2006-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001109788A (ja) | シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体 | |
Coelho | The VHDL handbook | |
US6871331B1 (en) | Combined waveform and data entry apparatus and method for facilitating fast behavioral verification of digital hardware designs | |
KR100992025B1 (ko) | 멀티-사이클 클록 게이팅 방법 | |
US8527972B2 (en) | Method for forming a parallel processing system | |
JPH06208602A (ja) | 可検査性設計規則の検証方法 | |
US20120151424A1 (en) | Conversion of circuit description to an abstract model of the circuit | |
KR20130081354A (ko) | 분산 병렬 시뮬레이션에서의 통신 방법 | |
JP2000132416A (ja) | 半導体集積回路設計検証装置 | |
JP3896177B2 (ja) | エミュレーションシステム | |
US20230120227A1 (en) | Method and apparatus having a scalable architecture for neural networks | |
JP3173729B2 (ja) | 論理シミュレーション方法及びそのシステム | |
Zeidman | Verilog designer's library | |
US7228513B2 (en) | Circuit operation verification device and method | |
US11023635B1 (en) | Sequence of frames generated by emulation and waveform reconstruction using the sequence of frames | |
JP2003067438A (ja) | シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体 | |
US6810508B1 (en) | Method for automatically-remapping an HDL netlist to provide compatibility with pre-synthesis behavioral test benches | |
JPH05101141A (ja) | 高位合成装置 | |
US7703054B2 (en) | Circuit emulation and debugging method | |
KR20020069468A (ko) | 초대규모급 설계 검증을 위한 하드웨어적으로 구현된대규모 디지털 시스템과 시뮬레이션을 이용하는 디버깅장치 및 이를 이용한 디버깅 방법 | |
KR100824503B1 (ko) | 신속한 입출력탐침 장치 및 이를 이용한 입출력탐침방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션방법 | |
WO2001035283A2 (en) | System for performing parallel circuit simulation in a high level description language | |
CN116670677A (zh) | 时钟感知仿真向量处理器 | |
CN111338427B (zh) | 一种实现SystemC半实物仿真时间同步的方法 | |
US20240028812A1 (en) | Waveform capture using multicycle path properties |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051102 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051228 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060302 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140310 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |