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
Application number
JP2002182246A
Other languages
English (en)
Other versions
JP3779651B2 (ja
Inventor
Hiroyuki Ikegami
裕之 池上
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 JP2002182246A priority Critical patent/JP3779651B2/ja
Publication of JP2003067438A publication Critical patent/JP2003067438A/ja
Application granted granted Critical
Publication of JP3779651B2 publication Critical patent/JP3779651B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】アルゴリズム記述とRTレベル記述の中間のレ
ベルのシミュレーションを可能にする。その言語の提
供。 【解決手段】資源の制約下、アルゴリズム記述3をクロ
ックレベル記述8に低位化する。アルゴリズム記述3の
複数機能を単位クロックの中で動作が可能である部分機
能に分解し、その複数機能を回復するためにその部分機
能を組み立てる。複数機能は、クロックレベル記述であ
るクロックレベルシミュレータ8として、レジスタを変
数とする言語により表現されている。レジスタを変数と
する言語は、クロック単位で動作するプログラミングの
言語として最適であり、この言語は、アルゴリズムレベ
ルより下位であり、RTレベルよりも上位の未発見言語
であった。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、シミュレーション
方法、シミュレーションモデル、これらに対応する記録
媒体、それらの記述の生成方法に関し、特に、アルゴリ
ズム記述とRTレベル記述との間でシミュレーションを
適宜に切り換えて高速度で所望の段階でシミュレーショ
ンモデルを生成してアルゴリズムを高速に又は詳細にシ
ミュレートするシミュレーション方法、シミュレーショ
ンモデル、それらに対応する記録媒体、それらの記述の
生成方法に関する。
【0002】
【従来の技術】大規模回路は、自動設計装置により設計
される。自動設計装置の設計フローは、C言語のような
汎用プログラム言語、専用の動作レベル記述言語により
所望の動作フローが記述された最高位レベル記述をレジ
スタ、加算器のようなハードウエア資源を用いてよりハ
ードウエア化されるRTレベル記述のような低位レベル
記述に書き下すステップを有している。このようにレベ
ルが異なる抽象度の複数のシミュレーションモデルのシ
ミュレーションは、図13(a),(b)に示されるよ
うに、抽象度が高い動作レベルシミュレーションモデル
101では、初めから終わりまでこれだけがシミュレー
トされ、そのシミュレーションの途中で、RTレベルシ
ミュレーションモデル102のシミュレーションは行わ
れえず、また、抽象度が低いRTレベルシミュレーショ
ンモデル102では、初めから終わりまでこれだけがシ
ミュレートされ、そのシミュレーションの途中で、動作
レベルシミュレーションモデル101のシミュレーショ
ンは行われなかった。
【0003】このように、動作レベルシミュレーション
モデル101とRTレベルシミュレーションモデル10
2は、互いに独立していて別個のものとして扱われ、シ
ミュレーションの途中で一方のシステムシミュレーショ
ンから他方のシステムシミュレーションに切り換えるこ
とは不可能であった。一般的には、速度が重要な局面で
は高速な上位シミュレーションモデルが用いられ、精度
が重要な局面ではRTレベル、精度が更に細かく要求さ
れる局面ではレベルが更に低い他の低位シミュレーショ
ンモデルがそれぞれに用いられていた。
【0004】しかし、機能検証のシミュレーションを行
う場合、ある時刻t1から他のある時刻t2の間を特に
詳しく調べたいという要望がある。そのような場合にも
時刻t0から時刻t2までの検証のために高精度のシミ
ュレータを使用すると、機能検査に多大な時間がかかっ
てしまう。
【0005】このような問題を解決する技術として、異
なる抽象度の複数・シミュレーションモデルの間で切り
換えを行うようにしたミックス・シミュレーション技術
が、特開平5−61934号、論文「並列論理シミュレ
ータWIZDOM」(情報処理学会第57回全国大会、
1998)で知られている。ここで開示されている切り
換えは、命令レベルシミュレーションモデルとハードウ
エアシミュレータ、RTレベルシミュレーションモデル
のような抽象度が異なるシミュレーションモデルとの間
の切り換えである。このような切り換えが可能になって
いる根拠は、双方のモデルがレジスタ等で共通する構造
を持っていることにある。また、ゲートレベルと電子回
路レベルの間でのシミュレーション切り換えが行われる
技術が、特開平7−110826号で知られている。こ
の切り換えで双方の情報のトランスファーは、ゲート回
路の端子と電子回路の端子が1対1に対応していること
を利用することにより、回路端子のレベルのアナログ・
ディジタル変換によって行っている。また、特開平10
−261002号は、ある回路記述形式を用いてその回
路の動きを詳しい定義モデルと粗い定義モデルとで表現
し、そのモデルの間での切り換えを開示している。この
ような1対1対応の高低レベル間の切り換え、詳細度の
異なるものの共通の記述形式を用いた同一レベル間の切
り換えが知られている。
【0006】しかし、動作記述レベルといわれる最高位
のプログラム言語記述レベルと下位記述レベルであるR
Tレベルの間では、シミュレーション状態を保持する構
造が1対1に対応しておらず、両レベル間でデータの受
け渡しができないため、従来、これらのレベル間の切り
換えシミュレーションが不可能であった。シミュレーシ
ョンをより適正に高速化し且つ詳細化するために、この
ように1対1に対応する記述がなされていないレベル間
のシミュレーションモデルの切換技術の確立が特に望ま
れた。
【0007】本発明者は、そのような技術の確立のため
に、論理回路の処理フローを記述した動作レベル記述を
機能合成ツールによりRTレベル記述に変換し、その動
作レベル記述とRTレベル記述をそれぞれに対応するコ
ンパイラに入力して動作レベルシミュレーションモデル
構造とRTレベルシミュレーションモデル構造を生成
し、動作レベルシミュレーションモデル構造とRTレベ
ルシミュレーションモデル構造の対応手段を生成し、動
作レベルシミュレーションモデル構造とRTレベルシミ
ュレーションモデル構造に基づいて動作レベルシミュレ
ーションとRTレベルシミュレーションを対応手段を介
して切り換えて実行するように、両レベル間でレジスタ
の変数値を共有させるようにしたシミュレーション方法
を提案している(参照:特願平11−057040
号)。
【0008】このようなシミュレーション方法によるシ
ミュレーションの実行過程で、本発明者は、動作モデル
である最高位の抽象度を持つアルゴリズム記述から自動
生成される従来のRTレベル記述は、ソースであるアル
ゴリズム記述から遠くかけ離れ、両記述の間に大きな抽
象度の落差が存在していることに気づいた。両記述の間
に潜み両記述のそれぞれの抽象度の中間にある抽象度の
記述の発見が望まれ、その記述により、アルゴリズム記
述より抽象度が低くRTレベルより抽象度が高い言語レ
ベルでシミュレーションモデルを動作レベルより精細に
且つRTレベルより高速にシミュレートすることが望ま
れる。
【0009】
【発明が解決しようとする課題】本発明の課題は、アル
ゴリズムレベルより抽象度が高くRTレベルよりも抽象
度が低いレベルの言語を用いてそれに基づくシミュレー
ションモデル、その記述とその生成の方法を提供するこ
とにある。
【0010】本発明の他の課題は、アルゴリズムレベル
より抽象度が高くRTレベルよりも抽象度が低い記述に
基づいて、アルゴリズム記述のシミュレーションよりも
より精細に、且つ、RTレベル記述のシミュレーション
よりもより高速にシミュレートすることができるシミュ
レーションモデル、その記述とその生成の方法を提供す
ることにある。
【0011】
【課題を解決するための手段】本発明のシミュレーショ
ンモデルの生成方法では、機能合成部とクロックレベル
検証部とを具備するシミュレーション装置において、資
源の制約の下で、前記機能合成部が、回路モジュールを
表現するアルゴリズム記述から状態遷移制御モデルと対
応テーブルを生成し、前記クロックレベル検証部が、前
記状態遷移制御モデルと前記対応テーブルからクロック
レベル記述のクロックレベルアルゴリズムモデルを生成
する。前記クロックレベル記述は、単位クロックでの前
記資源の各々の動作を記述し、前記クロックレベルアル
ゴリズムモデルは、前記回路モジュールの前記クロック
レベル記述であり、前記状態遷移制御モデルは前記資源
の各々の状態遷移を制御し、前記対応テーブルは、前記
資源、及び前記単位クロック毎の前記アルゴリズム記述
内の変数と前記資源の対応関係を表す。
【0012】前記クロックレベルアルゴリズムモデル
は、前記単位クロック毎の前記資源の動作を制御するデ
ータパス記述部とを有する。
【0013】また、本発明のシミュレーションモデルの
生成方法では、機能合成部とクロックレベル検証部とを
具備するシミュレーション装置において、資源の制約の
下で、前記機能合成部が、回路モジュールを表現するア
ルゴリズム記述から状態遷移制御モデルと対応テーブル
を生成し、前記クロックレベル検証部が、前記状態遷移
制御モデル、前記対応テーブル、及び外部とのインター
フェイス情報からクロックレベル記述のクロックレベル
アルゴリズムモデルを生成してもよい。前記クロックレ
ベル記述は、単位クロックでの前記資源の各々の動作を
記述し、前記クロックレベルアルゴリズムモデルは、前
記回路モジュールの前記クロックレベル記述であり、前
記状態遷移制御モデルは前記資源の各々の状態遷移を制
御し、前記対応テーブルは、前記資源、及び前記単位ク
ロック毎の前記アルゴリズム記述内の変数と前記資源の
対応関係を表す。
【0014】前記クロックレベルアルゴリズムモデル
は、データを入出力するI/O部と、前記単位クロック
毎の前記資源の動作を制御するデータパス記述部とを有
してもよい。
【0015】いずれの場合も、前記クロックレベル記述
では、前記資源のうちの1つが前記複数の変数により共
有されることが好ましい。
【0016】本発明のシミュレーション方法では、前記
クロックレベル検証部が、前記単位クロックに基づい
て、請求項1乃至5のいずれかに記載される前記クロッ
クレベルアルゴリズムモデルを含むシミュレーションモ
デルをシミュレーションしてもよい。このとき、前記シ
ミュレーションモデルは、CPUの動作に対応するクロ
ックレベルCPUモデルを含んでもよい。
【0017】また、前記クロックレベル検証部が、前記
シミュレーションの結果に基づいて、前記資源の前記状
態と前記アルゴリズム記述とを対応づけ、前記アルゴリ
ズム記述の記述行毎の前記資源の使用状況を表示すこと
が好ましい。また、前記クロックレベル検証部が、前記
シミュレーションモデルに含まれる前記クロックレベル
記述と、前記資源の使用状況を示す資源使用対応表とを
用いて、前記アルゴリズム記述と当該シミュレーション
により得られる変数値の対応を表示することが好まし
い。
【0018】前記資源の使用状況の表示では、前記クロ
ックレベル検証部が、前記クロックレベル記述の前記単
位クロックの状態遷移が起これば前記状態遷移が起こっ
た前記アルゴリズム記述の前記記述行と前記資源の使用
状況を表示し、前記変数値の対応の表示では、前記クロ
ックレベル検証部が、前記クロックレベル記述の前記単
位クロックの状態遷移が起これば前記状態遷移が起こっ
た前記レジスタ記述の前記記述行と前記変数値を表示す
ることが好ましい。前記変数値は、前記資源のうちのレ
ジスタ又はメモリの値である。
【0019】本発明のシミュレーション装置では、資源
の制約の下で、回路モジュールを表現するアルゴリズム
記述から状態遷移制御モデルと対応テーブルを生成する
機能合成部と、前記状態遷移制御モデル、前記対応テー
ブル、及び外部とのインターフェイス情報からクロック
レベル記述のクロックレベルアルゴリズムモデルを生成
するクロックレベル検証部とを具備する。前記状態遷移
制御モデルは前記資源の各々の状態遷移を制御し、前記
対応テーブルは、前記資源、及び前記単位クロック毎の
前記アルゴリズム記述内の変数と前記資源の対応関係を
表し、前記クロックレベル記述は、前記単位クロックで
の前記資源の各々の動作を記述し、前記クロックレベル
アルゴリズムモデルは、前記回路モジュールの前記クロ
ックレベル記述である。
【0020】シミュレーション装置は、表示部を更に具
備してもよく、前記クロックレベル検証部は、前記シミ
ュレーションの結果に基づいて、前記資源の前記状態と
前記アルゴリズム記述とを対応づけ、前記アルゴリズム
記述の記述行毎の前記資源の使用状況を前記表示部に表
示し、前記クロックレベルシミュレーションモデルに含
まれる前記クロックレベル記述と前記資源使用対応表と
を用いて、前記アルゴリズム記述の前記記述行と当該シ
ミュレーションにより得られる変数値の対応を前記表示
部に表示する。前記クロックレベル検証部は、前記クロ
ックレベル記述の前記クロック単位の状態遷移が起これ
ば前記状態遷移が起こった前記アルゴリズム記述の前記
記述行と前記資源の使用状況を前記表示部に表示し、前
記クロックレベル記述の前記クロック単位の前記状態遷
移が起これば前記状態遷移が起こった前記レジスタ記述
の前記記述行と前記変数値を表示することが好ましい。
【0021】また、シミュレーション装置では、回路の
論理動作を表すハードウエアモデルを含む、前記回路の
アルゴリズムレベルシミュレーションモデルをシミュレ
ーションするアルゴリズムレベル検証部と、資源の制約
の下、前記ハードウエアモデルから生成されたクロック
レベルアルゴリズムモデルを含むクロックレベルシミュ
レーションモデルをシミュレーションするクロックレベ
ル検証部と、前記クロックレベルアルゴリズムモデル
は、単位クロックでの前記資源の各々の動作を表し、前
記資源の制約の下、前記ハードウエアモデルから生成さ
れた前記回路のRTレベルアルゴリズムモデルを含むR
Tレベルシミュレーションモデルをシミュレーションす
るRTレベル検証部とを具備する。
【0022】前記アルゴリズムレベルシミュレーション
モデルは、前記回路内のCPUの動作を表すCPUモデ
ルを含み、前記クロックレベルシミュレーションモデル
は、単位クロック毎の前記CPUの動作を表すクロック
レベルCPUモデルを含み、前記RTレベルシミュレー
ションモデルは、RTレベルで前記CPUの動作を表す
RTレベルCPUモデルを含んでもよい。前記クロック
レベルシミュレーションモデルのシミュレーション時間
は、前記RTレベルシミュレーションモデルのシミュレ
ーション時間より短い。シミュレーション装置は、更
に、表示部を具備し、前記クロックレベル検証部は、前
記クロックレベルアルゴリズムモデルと前記クロックレ
ベルCPUモデルのシミュレーションの結果に基づい
て、前記資源の前記状態と前記アルゴリズム記述とを対
応づけ、前記アルゴリズム記述の記述行毎の前記資源の
使用状況を前記表示部に表示し、資源の使用状況を表す
資源使用対応表とを用いて、前記アルゴリズム記述の前
記記述行と当該シミュレーションにより得られる変数値
の対応を前記表示部に表示する。
【0023】
【発明の実施の形態】本発明によるシミュレーションモ
デルの記述生成方法は、資源の制約の下で、アルゴリズ
ム記述(3)をクロックレベル記述(8)に低位化する
ことを含み、その低位化することは、アルゴリズム記述
(3)の複数機能を単位クロックの中で動作が可能であ
る部分機能に分解することと、その複数機能を回復する
ためにその部分機能を組み立てることとを備える。その
ような複数機能は、クロックレベル記述であるクロック
レベルシミュレータ(8)として、後述されるレジスタ
を変数とする言語により表現されている。レジスタを変
数とする言語は、本発明者により発見された低位プログ
ラミング記述言語である。
【0024】クロックレベル記述は、資源のうちの複数
レジスタの内のある1つのレジスタを異なる複数単位ク
ロックのうちで動作させる記述を備える。このようなク
ロック間でレジスタの共有化が行われ、レジスタが変数
として言語化される。
【0025】本発明によるシミュレーションモデルは、
更に、既述のこのようなシミュレーションモデルの記述
生成方法により記述されたクロックレベル記述(8)
と、そのクロックレベル記述に対応するアルゴリズム記
述(3)とが対応する対応表(22,23)とを含む。
【0026】本発明によるシミュレーション方法は、こ
のようなシミュレーションモデルを用いて単位クロック
で部分機能を動作させることにより複数機能をシミュレ
ートすることを含み、更に、そのようにシミュレートす
ることの結果に基づいて、アルゴリズム記述(3)をデ
バッグすることを含む。更には、シミュレーションモデ
ルに含まれるクロックレベル記述と対応表とを用いて、
アルゴリズム記述の行数とシミュレーションにより得ら
れる変数値の対応を表示することを含む。
【0027】本発明によるシミュレーションモデルの生
成方法は、資源の制約の下で、アルゴリズム記述(3)
をクロックレベル記述(8)に低位化することを含み、
その低位化することは、アルゴリズム記述(3)の複数
機能を単位クロックの中で動作が可能である部分機能に
分解することと、複数機能を回復するためにその部分機
能を組み立てることとを備え、クロックレベル記述
(8)は、その資源のうちの複数レジスタの内のある1
つのレジスタを異なるクロックのうちでそれぞれに動作
させる記述を備え、更に、クロックレベル記述(8)と
クロックレベル記述(8)のうちのレジスタ(Reg1
〜5)に関するレジスタ記述との対応表(22,23)
を作成することと、クロックレベル記述(8)のクロッ
ク単位の状態遷移が起こればその状態遷移が起こったア
ルゴリズム記述部分を表示することと、クロックレベル
記述(8)のクロック単位の状態遷移が起こればその状
態遷移が起こったレジスタ記述部分のレジスタ(Reg
1〜5)の変数値(R)を表示することとを含む。この
ような対応表の作成によって、両レベル間の移行が可能
である。このようなシミュレーションモデルの生成方法
に含まれる全記述がコンピュータにより読み取り可能で
あることは当然であり、それは記録媒体化されて利用に
供される。
【0028】本発明によるシミュレーションモデルは、
アルゴリズム記述(3)と、アルゴリズム記述(3)よ
りも抽象度が低いRTレベル記述(17)と、アルゴリ
ズム記述(3)よりも抽象度が低く、且つ、RTレベル
記述(17)よりも抽象度が高いクロックレベル記述
(8)を含み、クロックレベル記述(8)はアルゴリズ
ム記述(3)からクロック単位で自動生成される記述で
あり、アルゴリズム記述(3)と、クロックレベル記述
(8)と、RTレベル記述(17)とは、クロックレベ
ル記述(8)に含まれて記述されるレジスタ(Reg1
〜5)の変数値(R)を共有する。このような共有によ
り、3つのレベル間で移行が可能である。
【0029】更に、シミュレーションモデルは、アルゴ
リズム記述(3)と、アルゴリズム記述(3)よりも抽
象度が低いクロックレベル記述(8)を含み、クロック
レベル記述(8)は、時間軸に直交する単位クロックご
との断面上で記述されるレジスタの演算記述である。こ
こで、断面とは、1単位クロック内で同時的に動作が進
行する一連の記述の連鎖である。アルゴリズム記述より
も抽象度が低く、且つ、時間軸に直交する単位クロック
ごとの断面上でレジスタに関して記述される言語は、コ
ンピュータにより読み取り可能に表現されて記録媒体化
され得る。このような媒体をコピーすることにより、同
時並行的に多様なシミュレーションが可能である。アル
ゴリズム記述よりも抽象度が低く、且つ、時間軸に直交
する単位クロックごとの断面上でレジスタに関して記述
されるシミュレーションモデル用記述言語は、Reg1
+Reg2のように複数レジスタが用語として多変数化
されている。アルゴリズム記述(3)は数の演算を含ん
でいる場合には、その演算を時間軸上で進行するクロッ
クの単位の中で実行する関数の変数がレジスタになって
表現されている。
【0030】このように、中間レベルの抽象度の言語に
は、レジスタの動作がクロック単位で現れる変数が潜ん
でいる。
【0031】図1に一致対応して、本発明によるシミュ
レーションモデルの実施の形態は、アルゴリズム検証部
とRTレベル検証部との間で、新たにクロックレベル検
証部が設けられていることを特徴としている。そのアル
ゴリズム検証部1は、図1に示されるように、アルゴリ
ズムシステム2から形成されている。アルゴリズムシス
テム2は、最も抽象度が高いH/Wモデルであるアルゴ
リズム記述3と、C言語で記述されS/Wモデルである
C−プログラム4とを備えている。アルゴリズムシステ
ム2は、C−コンパイラによりアルゴリズムシミュレー
タ5に変換される。アルゴリズムシステム2は、アルゴ
リズムシミュレータ5によりシミュレートされる。
【0032】そのクロックレベル検証部6は、クロック
レベルシステム7から形成されている。クロックレベル
システム7は、クロックレベル記述であるクロックレベ
ルシミュレーションモデル8と、クロックレベルCPU
モデル9とを備えている。クロックレベルシステム7
は、組込用Cコンパイラ11により自動生成されて記述
変換され、その記述変換には、慣用の機能合成ツール1
2が持つツールであるレジスタが用語(単語又は一次変
数)として用いられる。アルゴリズム記述3は、機能合
成ツール12で記述されるツールを持つモデル変換ツー
ル13によりクロックレベルシミュレーションモデル8
に記述変換される。クロックレベルCPUモデル9は、
組込用Cコンパイラ11によりC−プログラム4から自
動生成される。クロックベースシミュレータ14は、ク
ロックレベルシミュレーションモデル8とクロックレベ
ルCPUモデル9とから形成されている。
【0033】そのRTレベル検証部15は、RTレベル
システム16から形成されている。RTレベルシステム
16は、RTL−HDL17と、RTレベルCPUモデ
ル18とを備えている。RTL−HDL17は、機能合
成ツール12によりアルゴリズム記述3から自動生成さ
れる。HDLシミュレータ19は、RTL−HDL17
とRTレベルCPUモデル18とから形成されている。
【0034】図2は、クロックレベルシミュレーション
モデル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からそれらのライブラリ情報が入力
される。
【0035】図3は、クロックレベルシミュレーション
モデル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レジスタと複数演算子との関係を記
述するデータパスと、その演算のクロック単位の動作を
制御する制御構造とを有している。
【0036】データパス記述部33に、シミュレーショ
ンコントローラ36が接続している。シミュレーション
コントローラ36は、シミュレータ本体からクロック入
力37を受けてデータパス記述部33のクロックを1つ
ずつ進める演算動作遷移38の循環歩進制御(FSM制
御)を行う。シミュレーションコントローラ36から出
力されるFSM制御信号39は、データパス記述部33
に入力される。
【0037】データパス記述部33は、GUIコントロ
ーラ41に接続している。データパス記述部33は、レ
ジスタ値Rと演算遷移位置である状態位置値Sとを出力
する。レジスタ値Rと状態位置値Sとは、GUIコント
ローラ41に入力される。リセット信号がシミュレーシ
ョンコントローラ36に入力されると、データパス記述
部33のレジスタ値Rと状態位置値Sとは初期化され
る。
【0038】GUIコントローラ41は、現在の遷移状
態位置のレジスタとアルゴリズムレベル記述による変数
との対応を図2に示される変数/レジスタ/状態位置対
応表22から得ることができる。GUIコントローラ4
1は、更に、現在の遷移状態位置のアルゴリズムレベル
記述によるソース行をソース行/状態位置対応表23か
ら得ることができる。
【0039】GUIコントローラ41は、アルゴリズム
レベル記述変数値表示ウインドウ42と、アルゴリズム
レベル記述ソース実行行表示ウインドウ43に接続して
いる。アルゴリズムレベル記述変数値表示ウインドウ4
2には、レジスタのレジスタ値Rが、その遷移状態位置
で、アルゴリズムレベル記述変数値として変数/レジス
タ/状態位置対応表22に基づく対応関係が与えられて
表示される。複数レジスタが部分的に異なる遷移状態間
で共有されることにより一時的にレジスタとの対応が消
えてしまうアルゴリズムレベル記述変数の値は、GUI
コントローラ41に保持されることにより、アルゴリズ
ムレベル記述変数値表示ウインドウ42には、常に最新
の遷移状態の最新の変数値が表示される。
【0040】他方で、アルゴリズムレベル記述ソース実
行行表示ウインドウ43には、現在の状態遷移位置に対
応するアルゴリズムレベル記述のソース行位置値Sが、
現在の遷移状態位置で、ソース行/状態位置対応表23
に基づく対応関係が与えられて、ハイライト表示され
る。更に、GUIコントローラ41は、アルゴリズム記
述変数、及び、レジスタ、クロック単位の変化の回数、
状態遷移の各状態に遷移した回数、遷移元、遷移先が、
シミュレーション中に計測されることにより、変数、レ
ジスタ変化、状態変化の網羅率が測定される。このよう
な網羅率は、テストパタンによりどれ程網羅的な検証が
行われ得たかの指標になる。
【0041】アルゴリズム検証:システム内に含まれる
ハードウエアモデルとソフトウエアモデルは、共にプロ
グラミング言語で記述されている。そのハードウエアモ
デルは、ハードウエアのアルゴリズムを表現し、そのソ
フトウエアモデルは組み込みソフロウエアを表現してい
る。これらのプログラミング言語記述をCコンパイラに
かけることにより、アルゴリズムレベルのシミュレータ
が作成される。ハードウエアに関する情報がないアルゴ
リズムレベルで検証可能な項目は、下記(1),(2)
に示されるように、純粋に論理的な動作のみであるが、
そのシミュレーションは非常に高速である。 (1)各モジュールの論理的な動作の検証 (2)システムの論理的な動作の検証
【0042】クロックレベル検証:ハードウエアモデル
のアルゴリズム記述を機能合成ツール、モデル変換ツー
ルで処理することにより、クロックレベルのシミュレー
ションモデルが作成される。ソフトウエアモデルは、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)消費電力の概略見積もり
【0043】RTレベル検証:ハードウエアモデルは機
能合成ツールが作成するRTL−HDLモデルが用いら
れる。このモデルは、クロックレベルよりも詳細に非同
期的動作を含むタイミングの精度を持つ。ソフトウエア
モデルは、クロックレベルシミュレーションと同様にC
PUのシミュレーションモデル上に組み込みソフトウエ
アとして読み込まれる。これらのRTL−HDLモデル
とCPUモデルをHDLシミュレータ上でシミュレート
することにより、以下のような項目の検証と見積もりを
行うことができる。 (1)各モジュールのインターフェースの詳細検証(制
御、アドレス、データ端子のタイミング動作) (2)各モジュールの詳細タイミングの検証 (3)消費電力の詳細見積もり (4)テスタ向けパタン作成
【0044】
【実施例】図10は、本発明によるシミュレーションモ
デル作成方法の実施の形態を示している。図10に示す
フロー図にそって、図4に示されるアルゴリズム記述か
ら後述するFSM/DataPathモデル記述及び図
8に示される変数/レジスタ/状態位置対応表、図9に
示されるソース行/状態位置対応表を作成し、クロック
レベルシミュレーションモデルを作成する方法を以下に
述べる。
【0045】図4は、アルゴリズム記述3(図2参照)
を例示している。機能合成ツール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)。
【0046】演算器のスケジューリングにより図4のア
ルゴリズム記述で示される処理を加算器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モデルとなる。
【0047】図8は、変数/レジスタ/状態位置対応表
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)。
【0048】図9は、ソース行/状態位置対応表23を
示している。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で表現される回路モジュールと外部とのイ
ンターフェースを定義する情報を持つ。その内容として
はバスからアクセス可能なコマンドレジスタや状態レジ
スタ、データメモリの構成、更には、他のモジュールと
の間のデータ転送路のビット幅、同期方式などが含まれ
る。
【0049】公知慣用のRTレベルシステム16のRT
L−HDL17は、図7に示されるように、機能合成ツ
ール12により自動生成される。公知ツールによりこの
ように自動生成されるハードウエア構成は、5つのレジ
スタ1〜5と、7つのマルチプレクサ1〜7と、5つの
スイッチSW1〜5とから形成される。クロックレベル
記述モデルよりも抽象度が低いこのようなハードウエア
モデルでは、レジスタの値を保持するためにレジスタの
出力をデータ入力にフィードバックさせるフィードバッ
ク機能とマルチプレクサとが必要であり、更に、全ての
レジスタに常にクロック信号を供給するためのクロック
制御と、各マルチプレクサを制御する制御信号44とが
必要であり、更に、演算器の共有化のために入力となる
複数のレジスタから1つのレジスタを選択するためにも
マルチプレクサが必要である。ハードウエアモデルは、
後述されるように、その他の各種多様なハード部品とそ
れを制御する制御信号線が必要である。
【0050】クロックレベルシミュレーションモデル8
は、クロック単位で動作する言語として論理レベルの記
述言語であるクロックレベル記述が下記ようになされ
る。 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であることが本発明者により確認されている。
【0051】図7に対応するVHDL記述が、参考のた
めに下記に記載される。 RTハードウエア記述1:
【0052】
【数1】 RTハードウエア記述2:
【0053】
【数2】 RTハードウエア記述3:
【0054】
【数3】 RTハードウエア記述4:
【0055】
【数4】 RTハードウエア記述5:
【0056】
【数5】 RTハードウエア記述6:
【0057】
【数6】 RTハードウエア記述7:
【0058】
【数7】 RTハードウエア記述8:
【0059】
【数8】 RTハードウエア記述9:
【0060】
【数9】 RTハードウエア記述10:
【0061】
【数10】 RTハードウエア記述11:
【0062】
【数11】 RTハードウエア記述12:
【0063】
【数12】 RTハードウエア記述13:
【0064】
【数13】 RTハードウエア記述14:
【0065】
【数14】 このような記述には、コントローラに関する記述は含ま
れていない。RTハードウエア記述14の最初の6行は
FFレジスタに関する記述部分であり、その次の6行は
マルチプレクサに関する記述部分であり、更にその次の
記述はadderによる加算に関する記述部分である。
両レベルの記述の両分量は、概ね、両レベルのシミュレ
ーションにかかる時間の長さに対応している。
【0066】図11は、アルゴリズムレベル記述ソース
実行行表示ウインドウ43にアルゴリズム記述ソースを
表示する方法を示している。状態遷移が起こる毎に(ス
テップS11)、GUIコントロール部41は、現在の
状態位置をFSM/DataPath部33に問い合わ
せる(ステップS12)。例えば、現在の状態位置が状
態2であった場合、ソース行/状態位置対応表23か
ら、対応するソースファイルがfile1.cで行数が
4行目であることが分かる(ステップS13)。このよ
うにして得られたソースファイルをGUI上で表示し、
更に現在の状態位置に対応する行をハイライト表示する
ことにより、ユーザーはアルゴリズムレベル記述上での
現在の実行位置を示すことができる(ステップS1
4)。
【0067】図12は、アルゴリズム記述中の変数をア
ルゴリズムレベル記述変数値表示ウインドウ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上ではクロ
ックレベルシミュレーションモデル中のレジスタ値の変
化をアルゴリズムレベル記述上の変数の値の変化として
観測することが可能になる。
【0068】クロックレベルシミュレーションモデル
は、図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モデルは、クロックの変化タイミ
ング以外にも例えばリセット信号が変化した時点の動作
を厳密に表現するが、クロックレベルシミュレーション
モデルではクロック単位の動作のみを扱うので、非同期
的な動作に対する処理を簡略化することができる。
【0069】
【発明の効果】本発明によるシミュレーションモデル、
その記述とその生成の方法は、アルゴリズムレベルより
抽象度が低くRTレベルよりも抽象度が高いレベルの言
語の発見により、中間レベルのシミュレーションが可能
になる。アルゴリズムレベルより抽象度が低くRTレベ
ルよりも抽象度が高い記述に基づいて、アルゴリズム記
述のシミュレーションよりもより精細に、且つ、RTレ
ベル記述のシミュレーションよりもより高速にシミュレ
ートすることができる。一般的には、より物理的であり
より詳細に記述されるハード部品のシミュレーション言
語を論理化してハード部品を変数とするプログラミング
言語を作成することが可能であり、公知の複数レベルの
記述の中間言語を作成することができる。
【図面の簡単な説明】
【図1】図1は、本発明による論理シミュレーションシ
ステムの実施の形態を示すシステム図である。
【図2】図2は、本発明によるシミュレーションモデル
生成方法の実施の形態を示すブロックフロー図である。
【図3】図3は、2レベル間の移行のための対応を示す
論理ブロック図である。
【図4】図4は、アルゴリズム記述の実施例を示す論理
式である。
【図5】図5は、クロックレベルのスケジューリングを
しめす動作時間表である。
【図6】図6は、クロックレベルのレジスタの動作を示
す動作時間表である。
【図7】図7は、公知のハードウエア記述を示す回路図
である。
【図8】図8は、状態遷移位置数とレジスタ変数値の対
応を示すテーブルである。
【図9】図9は、状態遷移位置数とソース行との対応を
示すテーブルである。
【図10】図10は、本発明による論理シミュレーショ
ン方法の動作の実施の形態を示すフローチャートであ
る。
【図11】図11は、本発明による論理シミュレーショ
ン方法の他の動作を示すフローチャートである。
【図12】図12は、本発明による論理シミュレーショ
ン方法の更に他の動作を示すフローチャートである。
【図13】図13は、公知の論理シミュレーション方法
を示すシステムフロー図である。
【符号の説明】
3…アルゴリズム記述 8…クロックレベル記述(クロックレベルシミュレーシ
ョンモデル) 22,23…対応表 22…変数/レジスタ/状態位置対応表 23…ソース行/状態位置対応表 17…RTレベル記述 R…変数値 Reg1〜5…レジスタ

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】機能合成部とクロックレベル検証部とを具
    備するシミュレーション装置において、 資源の制約の下で、前記機能合成部が、回路モジュール
    を表現するアルゴリズム記述から状態遷移制御モデルと
    対応テーブルを生成するステップと、 前記クロックレベル検証部が、前記状態遷移制御モデル
    と前記対応テーブルからクロックレベル記述のクロック
    レベルアルゴリズムモデルを生成するステップと具備
    し、 前記クロックレベル記述は、単位クロックでの前記資源
    の各々の動作を記述し、前記クロックレベルアルゴリズ
    ムモデルは、前記回路モジュールの前記クロックレベル
    記述であり、前記状態遷移制御モデルは前記資源の各々
    の状態遷移を制御し、前記対応テーブルは、前記資源、
    及び前記単位クロック毎の前記アルゴリズム記述内の変
    数と前記資源の対応関係を表すシミュレーションモデル
    の生成方法。
  2. 【請求項2】前記クロックレベルアルゴリズムモデル
    は、前記単位クロック毎の前記資源の動作を制御するデ
    ータパス記述部とを有する請求項1に記載のシミュレー
    ションモデルの生成方法。
  3. 【請求項3】機能合成部とクロックレベル検証部とを具
    備するシミュレーション装置において、 資源の制約の下で、前記機能合成部が、回路モジュール
    を表現するアルゴリズム記述から状態遷移制御モデルと
    対応テーブルを生成するステップと、 前記クロックレベル検証部が、前記状態遷移制御モデ
    ル、前記対応テーブル、及び外部とのインターフェイス
    情報からクロックレベル記述のクロックレベルアルゴリ
    ズムモデルを生成するステップと具備し、 前記クロックレベル記述は、単位クロックでの前記資源
    の各々の動作を記述し、前記クロックレベルアルゴリズ
    ムモデルは、前記回路モジュールの前記クロックレベル
    記述であり、前記状態遷移制御モデルは前記資源の各々
    の状態遷移を制御し、前記対応テーブルは、前記資源、
    及び前記単位クロック毎の前記アルゴリズム記述内の変
    数と前記資源の対応関係を表すシミュレーションモデル
    の生成方法。
  4. 【請求項4】前記クロックレベルアルゴリズムモデル
    は、データを入出力するI/O部と、前記単位クロック
    毎の前記資源の動作を制御するデータパス記述部とを有
    する請求項3に記載のシミュレーションモデルの生成方
    法。
  5. 【請求項5】前記クロックレベル記述では、前記資源の
    うちの1つが前記複数の変数により共有される請求項1
    乃至4のいずれかに記載のシミュレーションモデルの生
    成方法。
  6. 【請求項6】請求項1乃至5のいずれかに記載のシミュ
    レーションモデルの生成方法を実現するための、計算機
    により実行可能なプログラムが記録された記録媒体。
  7. 【請求項7】前記クロックレベル検証部が、前記単位ク
    ロックに基づいて、請求項1乃至5のいずれかに記載さ
    れる前記クロックレベルアルゴリズムモデルを含むシミ
    ュレーションモデルをシミュレーションするステップを
    含むシミュレーション方法。
  8. 【請求項8】前記シミュレーションモデルは、CPUの
    動作に対応するクロックレベルCPUモデルを含む請求
    項7に記載のシミュレーション方法。
  9. 【請求項9】前記クロックレベル検証部が、前記シミュ
    レーションの結果に基づいて、前記資源の前記状態と前
    記アルゴリズム記述とを対応づけ、前記アルゴリズム記
    述の記述行毎の前記資源の使用状況を表示するステップ
    を更に具備する請求項7又は8に記載のシミュレーショ
    ン方法。
  10. 【請求項10】前記クロックレベル検証部が、前記シミ
    ュレーションモデルに含まれる前記クロックレベル記述
    と、前記資源の使用状況を示す資源使用対応表とを用い
    て、前記アルゴリズム記述と当該シミュレーションによ
    り得られる変数値の対応を表示するステップを更に具備
    する請求項9に記載のシミュレーション方法。
  11. 【請求項11】前記資源の使用状況を表示するステップ
    は、前記クロックレベル検証部が、前記クロックレベル
    記述の前記単位クロックの状態遷移が起これば前記状態
    遷移が起こった前記アルゴリズム記述の前記記述行と前
    記資源の使用状況を表示するステップを具備し、 前記変数値の対応を表示するステップは、前記クロック
    レベル検証部が、前記クロックレベル記述の前記単位ク
    ロックの状態遷移が起これば前記状態遷移が起こった前
    記レジスタ記述の前記記述行と前記変数値を表示するス
    テップを具備する請求項9又は10に記載のシミュレー
    ション方法。
  12. 【請求項12】前記変数値は、前記資源のうちのレジス
    タ又はメモリの値である請求項11に記載のシミュレー
    ション方法。
  13. 【請求項13】請求項7乃至12のいずれか一項に記載
    のシミュレーション方法を実現するための、計算機によ
    り実行可能なプログラムが記録された記録媒体。
  14. 【請求項14】資源の制約の下で、回路モジュールを表
    現するアルゴリズム記述から状態遷移制御モデルと対応
    テーブルを生成する機能合成部と、前記状態遷移制御モ
    デルは前記資源の各々の状態遷移を制御し、前記対応テ
    ーブルは、前記資源、及び前記単位クロック毎の前記ア
    ルゴリズム記述内の変数と前記資源の対応関係を表し、 前記状態遷移制御モデル、前記対応テーブル、及び外部
    とのインターフェイス情報からクロックレベル記述のク
    ロックレベルアルゴリズムモデルを生成するクロックレ
    ベル検証部とを具備し、前記クロックレベル記述は、前
    記単位クロックでの前記資源の各々の動作を記述し、前
    記クロックレベルアルゴリズムモデルは、前記回路モジ
    ュールの前記クロックレベル記述であるシミュレーショ
    ン装置。
  15. 【請求項15】表示部を更に具備し、 前記クロックレベル検証部は、前記シミュレーションの
    結果に基づいて、前記資源の前記状態と前記アルゴリズ
    ム記述とを対応づけ、前記アルゴリズム記述の記述行毎
    の前記資源の使用状況を前記表示部に表示し、前記クロ
    ックレベルシミュレーションモデルに含まれる前記クロ
    ックレベル記述と前記資源使用対応表とを用いて、前記
    アルゴリズム記述の前記記述行と当該シミュレーション
    により得られる変数値の対応を前記表示部に表示する請
    求項14に記載のシミュレーション装置。
  16. 【請求項16】前記クロックレベル検証部は、前記クロ
    ックレベル記述の前記クロック単位の状態遷移が起これ
    ば前記状態遷移が起こった前記アルゴリズム記述の前記
    記述行と前記資源の使用状況を前記表示部に表示し、前
    記クロックレベル記述の前記クロック単位の前記状態遷
    移が起これば前記状態遷移が起こった前記レジスタ記述
    の前記記述行と前記変数値を表示する請求項15に記載
    のシミュレーション装置。
  17. 【請求項17】回路の論理動作を表すハードウエアモデ
    ルを含む、前記回路のアルゴリズムレベルシミュレーシ
    ョンモデルをシミュレーションするアルゴリズムレベル
    検証部と、 資源の制約の下、前記ハードウエアモデルから生成され
    たクロックレベルアルゴリズムモデルを含むクロックレ
    ベルシミュレーションモデルをシミュレーションするク
    ロックレベル検証部と、前記クロックレベルアルゴリズ
    ムモデルは、単位クロックでの前記資源の各々の動作を
    表し、 前記資源の制約の下、前記ハードウエアモデルから生成
    された前記回路のRTレベルアルゴリズムモデルを含む
    RTレベルシミュレーションモデルをシミュレーション
    するRTレベル検証部とを具備するシミュレーション装
    置。
  18. 【請求項18】前記アルゴリズムレベルシミュレーショ
    ンモデルは、前記回路内のCPUの動作を表すCPUモ
    デルを含み、 前記クロックレベルシミュレーションモデルは、単位ク
    ロック毎の前記CPUの動作を表すクロックレベルCP
    Uモデルを含み、 前記RTレベルシミュレーションモデルは、RTレベル
    で前記CPUの動作を表すRTレベルCPUモデルを含
    む請求項17に記載のシミュレーション装置。
  19. 【請求項19】前記クロックレベルシミュレーションモ
    デルのシミュレーション時間は、前記RTレベルシミュ
    レーションモデルのシミュレーション時間より短い請求
    項17に記載のシミュレーション装置。
  20. 【請求項20】更に、表示部を具備し、 前記クロックレベル検証部は、 前記クロックレベルアルゴリズムモデルと前記クロック
    レベルCPUモデルのシミュレーションの結果に基づい
    て、前記資源の前記状態と前記アルゴリズム記述とを対
    応づけ、前記アルゴリズム記述の記述行毎の前記資源の
    使用状況を前記表示部に表示し、資源の使用状況を表す
    資源使用対応表とを用いて、前記アルゴリズム記述の前
    記記述行と当該シミュレーションにより得られる変数値
    の対応を前記表示部に表示する請求項18または19に
    記載のシミュレーション装置。
JP2002182246A 2002-06-21 2002-06-21 シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体 Expired - Fee Related JP3779651B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 動作合成システム及び動作合成方法並びに動作合成プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
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