JPH10187789A - ハードウェア/ソフトウェア協調シミュレーション装置、ハードウェア/ソフトウェア協調シミュレーション方法及びハードウェア/ソフトウェア協調シミュレーションプログラムを記録した機械読み取り可能な記録媒体 - Google Patents
ハードウェア/ソフトウェア協調シミュレーション装置、ハードウェア/ソフトウェア協調シミュレーション方法及びハードウェア/ソフトウェア協調シミュレーションプログラムを記録した機械読み取り可能な記録媒体Info
- Publication number
- JPH10187789A JPH10187789A JP8348532A JP34853296A JPH10187789A JP H10187789 A JPH10187789 A JP H10187789A JP 8348532 A JP8348532 A JP 8348532A JP 34853296 A JP34853296 A JP 34853296A JP H10187789 A JPH10187789 A JP H10187789A
- Authority
- JP
- Japan
- Prior art keywords
- hardware
- description
- level
- software
- abstraction
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design 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)
- Debugging And Monitoring (AREA)
Abstract
体として高速な協調シミュレーションを行うことがで
き、効率よくソフトウェアの検証を行うことである。 【解決手段】 RTレベルのプロセッサモデルからハー
ドウェアの検証を目的としたシミュレーションを行うハ
ードウェア検証部13,14と、RTレベルのプロセッ
サモデルのハードウェア記述をプロセッサの入出力命令
の動作レベルに抽象化して抽象化記述を生成する抽象化
手段15と、抽象化記述を含む命令レベルのプロセッサ
モデルからソフトウェアの検証を目的としたシミュレー
ションを行うソフトウェア検証部18,19と、を具備
するようにしてある。
Description
フトウェア協調シミュレーション装置、ハードウェア/
ソフトウェア協調シミュレーション方法及びハードウェ
ア/ソフトウェア協調シミュレーションプログラムを記
録した機械読み取り可能な記録媒体に関し、特に、ハー
ドウェア検証及びソフトウェア検証の全体として高速な
協調シミュレーションを行うことができ、効率よくソフ
トウェアの検証を行う技術に関する。
ェアの協調シミュレーション装置を示すブロック図であ
る。図示の如く、従来のハードウェア/ソフトウェアの
協調シミュレーションにおいては、ハードウェア(H
W)部分の検証目的には、RT(Register Translatio
n) レベルの精度が必要であるため、ソフトウェア箇所
は小規模プログラム11を用いてRTレベルソフトウェ
アシミュレータ13によりシミュレーションを行う。こ
こで、小規模ソフトウェアとは、検証するソフトウェア
のうち、基本動作のみが記述されたソフトウェアであ
り、外部との入出力までの動作等は記述されていないソ
フトウェアであって、例えば、ドライバプログラムが含
まれる。また、ハードウェア箇所は、ハードウェアが1
システムクロックでどのような動作をするかを記述した
RTレベルのハードウェア記述12を用いてRTレベル
ハードウェアシミュレータ14により、シミュレーショ
ンを行う。これらRTレベルソフトウェアシミュレータ
13及びRTレベルハードウェアシミュレータ14が協
調しつつシミュレーションを行うことによりHW検証結
果20を得ることができる。このHW検証結果20を用
いることでハードウェアの検証を行うことができる。
Tレベルの情報が得られるためハードウェアの検証向き
であるが、プロセッサ部分もRTレベルであるため、シ
ミュレーションには膨大な時間がかかってしまう。ソフ
トウェアシミュレータ側の入力が小規模ソフトウェアと
なっているのはこの理由であり、この構成はソフトウェ
アの検証には向いていない。
的には、小規模ソフトウェアの他に、外部との入出力等
の動作までをも包含したアプリケーションソフトウェア
16を用いて命令レベルのソフトウェアシミュレータ1
8によりソフトウェア箇所のシミュレーションを行う。
また、ハードウェア箇所は、命令の1単位でどのような
動作をするかを記述した命令レベルのハードウェア記述
23を用いて、命令レベルのハードウェアシミュレータ
19によりシミュレーションを行う。
タ18及び命令レベルハードウェアシミュレータ19が
協調しつつシミュレーションを行うことによりSW検証
結果21を得ることで、ソフトウェア部分の検証を行う
ことができる。
ア部分のシミュレーションをプロセッサの命令レベルに
対応する抽象度でシミュレーションしても精度としては
十分であり、精度を落とす分シミュレーションの高速化
が期待できる。そのような記述としては、ビヘイビアレ
ベル等の記述が考えられる。
Tレベルの記述データしか作成しないという問題点があ
る。RTレベルの記述しか作成しない理由は、現在の設
計手法がRTレベル以下で自動化されているためであ
る。つまり、例えば、ビヘイビアレベルの記述データを
作成することは、ハードウェア設計者にとって余分な作
業であり、また、仮にビヘイビアレベルの記述データを
作成したとしても、RTレベルの記述データとの等価性
を保証しなければならず、そのために更に余計な作業が
発生してしまうからである。
シミュレータが開示されている。この協調シミュレータ
は、ソフトウェア検証及びハードウェア検証共に、ソフ
トウェア部分は、アプリケーションソフトウェア16を
用いて、命令レベルソフトウェアシミュレータ18によ
り命令レベルのソフトウェアシミュレーションを行う。
一方、ハードウェア部分は、RTレベルハードウェア記
述12を用いて、RTレベルハードウェアシミュレータ
14によりRTレベルのハードウェアシミュレーション
を行うようにしてある。
18とRTレベルハードウェアシミュレータは14は、
レベルが相違するため協調シミュレーションをおこなう
ことができない。このため、レベルを変換して協調させ
るためのレベル変換手段24を設けるようにしてある。
このレベル変換手段24は、アプリケーションソフトウ
ェア16とRTレベルハードウェア記述12の対応関係
を表したデータブック25を検索して、一方の動作を他
方の動作に変換して出力するようにしてある。これによ
り命令レベルのハードウェアシミュレータを作成しなく
ても協調シミュレーションを行うことができる。
の協調シミュレーションでは、シミュレーション間にレ
ベル変換手段24を設けているため、ソフトウェア側は
命令レベル、また、ハードウェア側はRTレベルの精度
で同時にシミュレーションを行う必要がある。
は、ソフトウェアシミュレータが高速に処理するため問
題はないが、ソフトウェア側の開発者からすれば、ハー
ドウェア側がRTレベルの低速なシミュレーションであ
るため、ソフトウェアのデバッグの効率を低下させてし
まうという問題点がある。
あり、その目的とするところは、ハードウェア検証及び
ソフトウェア検証について全体として高速な協調シミュ
レーションを行うことができ、効率よくソフトウェアの
検証を行うことができるハードウェア/ソフトウェア協
調シミュレーション装置、ハードウェア/ソフトウェア
協調シミュレーション方法及びハードウェア/ソフトウ
ェア協調シミュレーションプログラムを記録した機械読
み取り可能な記録媒体を提供することにある。
ドウェア/ソフトウェア協調シミュレーションを高速に
行うためには、ソフトウェアの検証を目的とする協調シ
ミュレーションを命令レベルで行うことが不可欠である
と考えた。一方で、設計者は、RTレベルのハードウェ
ア記述のみを作成し、命令レベルのハードウェア記述を
作成しないのが一般的であるため、上記のような問題点
があることに気がついた。
ルのハードウェア記述を抽象化して命令レベルに変換す
ることにより、上記目的が達成することができることに
気がついた。本発明者は、慎重な研究を重ねた結果、以
下のような発明をすることができた。
ウェア協調シミュレーション装置であって、RTレベル
のプロセッサモデルからハードウェアの検証を目的とし
たシミュレーションを行うハードウェア検証部と、前記
RTレベルのプロセッサモデルのハードウェア記述をプ
ロセッサの入出力命令の動作レベルに抽象化して命令レ
ベルのハードウェア記述である抽象化記述を生成する抽
象化手段と、前記抽象化記述を含む命令レベルのプロセ
ッサモデルからソフトウェアの検証を目的としたシミュ
レーションを行うソフトウェア検証部と、を具備するこ
とを特徴とする。
抽象化手段は、前記RTレベルのプロセッサモデルのハ
ードウェア記述をプロセッサの入出力命令の動作レベル
に1つのプロセスとして抽象化して抽象化記述を生成す
ることを特徴とする。
抽象化手段は、前記RTレベルのプロセッサモデルのハ
ードウェア記述を解析し、状態遷移グラフを作成する手
段と、前記状態グラフの初期状態を先頭にして、状態を
一列に並べて序列を作る手段と、前記状態グラフの入出
力動作の絡むループは切断する手段と、各状態の動作記
述を序列の順番に並べ、内部信号の削除を行って1つの
プロセスとしてまとめる手段と、ループの切断個所にフ
ラグをセットする文とそれ以降の処理をスキップする文
を挿入して抽象化記述を生成する手段と、を具備するこ
とを特徴とする。
抽象化手段は、前記RTレベルのプロセッサモデルのハ
ードウェア記述をプロセッサの入出力命令の動作レベル
に複数のプロセスに分割して抽象化し、抽象化記述を生
成することを特徴とする。
抽象化手段は、前記RTレベルのプロセッサモデルのハ
ードウェア記述を解析し、状態遷移グラフを作成する手
段と、前記状態グラフの初期状態を先頭にして、状態を
一列に並べて序列を作る手段と、前記作った序列の前方
に戻る状態遷移を残すか否かを判定する手段と、前記残
すと判定した状態遷移の遷移先状態で序列を分割する手
段と、前記求めた分割毎に動作記述を1つのプロセスに
まとめ、抽象化記述を生成する手段と、を具備すること
を特徴とする。
は、ハードウェア/ソフトウェア協調シミュレーション
方法であって、RTレベルのプロセッサモデルからハー
ドウェアの検証を目的としたシミュレーションを行い、
前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに抽象化して命
令レベルのハードウェア記述である抽象化記述を生成
し、前記抽象化記述を含む命令レベルのプロセッサモデ
ルからソフトウェアの検証を目的としたシミュレーショ
ンを行うことを特徴とする。
抽象化記述を生成する際に、前記RTレベルのプロセッ
サモデルのハードウェア記述をプロセッサの入出力命令
の動作レベルに1つのプロセスとして抽象化して抽象化
記述を生成することを特徴とする。
抽象化記述を生成する際に、前記RTレベルのプロセッ
サモデルのハードウェア記述を解析し、状態遷移グラフ
を作成し、前記状態グラフの初期状態を先頭にして、状
態を一列に並べて序列を作り、前記状態グラフの入出力
動作の絡むループは切断し、各状態の動作記述を序列の
順番に並べ、内部信号の削除を行って1つのプロセスと
してまとめ、ループの切断個所にフラグをセットする文
とそれ以降の処理をスキップする文を挿入して抽象化記
述を生成することを特徴とする。
抽象化記述を生成する際に、前記RTレベルのプロセッ
サモデルのハードウェア記述をプロセッサの入出力命令
の動作レベルに複数のプロセスに分割して抽象化し、抽
象化記述を生成することを特徴とする。
る抽象化記述を生成する際に、前記RTレベルのプロセ
ッサモデルのハードウェア記述を解析し、状態遷移グラ
フを作成し、前記状態グラフの初期状態を先頭にして、
状態を一列に並べて序列を作り、前記作った序列の前方
に戻る状態遷移を残すか否かを判定し、前記残すと判定
した状態遷移の遷移先状態で序列を分割し、前記求めた
分割毎に動作記述を1つのプロセスにまとめ、抽象化記
述を生成することを特徴とする。
明は、ハードウェア/ソフトウェア協調シミュレーショ
ンプログラムを記録した機械読み取り可能な記録媒体で
あって、RTレベルのプロセッサモデルからハードウェ
アの検証を目的としたシミュレーションを行うハードウ
ェア検証処理と、前記RTレベルのプロセッサモデルの
ハードウェア記述をプロセッサの入出力命令の動作レベ
ルに抽象化して命令レベルのハードウェア記述である抽
象化記述を生成する抽象化処理と、前記抽象化記述を含
む命令レベルのプロセッサモデルからソフトウェアの検
証を目的としたシミュレーションを行うソフトウェア検
証処理と、を具備することを特徴とする。
ける前記抽象化処理は、前記RTレベルのプロセッサモ
デルのハードウェア記述をプロセッサの入出力命令の動
作レベルに1つのプロセスとして抽象化して抽象化記述
を生成することを特徴とする。
ける抽象化処理は、前記RTレベルのプロセッサモデル
のハードウェア記述を解析し、状態遷移グラフを作成す
る処理と、前記状態グラフの初期状態を先頭にして、状
態を一列に並べて序列を作る処理と、前記状態グラフの
入出力動作の絡むループは切断する処理と、各状態の動
作記述を序列の順番に並べ、内部信号の削除を行って1
つのプロセスとしてまとめる処理と、ループの切断個所
にフラグをセットする文とそれ以降の処理をスキップす
る文を挿入して抽象化記述を生成する処理と、を具備す
ることを特徴とする。
ける抽象化処理は、前記RTレベルのプロセッサモデル
のハードウェア記述をプロセッサの入出力命令の動作レ
ベルに複数のプロセスに分割して抽象化し、抽象化記述
を生成することを特徴とする。
ける抽象化処理は、前記RTレベルのプロセッサモデル
のハードウェア記述を解析し、状態遷移グラフを作成す
る処理と、前記状態グラフの初期状態を先頭にして、状
態を一列に並べて序列を作る処理と、前記作った序列の
前方に戻る状態遷移を残すか否かを判定する処理と、前
記残すと判定した状態遷移の遷移先状態で序列を分割す
る処理と、前記求めた分割毎に動作記述を1つのプロセ
スにまとめ、抽象化記述を生成する処理と、を具備する
ことを特徴とする。
/ソフトウェア協調シミュレーション装置、ハードウェ
ア/ソフトウェア協調シミュレーション方法及びハード
ウェア/ソフトウェア協調シミュレーションプログラム
を記録した機械読み取り可能な記録媒体の実施形態につ
いて、図面を参照しながら説明する。
シミュレーション装置を示すブロック図である。本実施
形態によるハードウェア/ソフトウェア協調シミュレー
ション装置は、RTレベルのプロセッサモデルからハー
ドウェアの検証を目的としたシミュレーションを行うハ
ードウェア検証部13,14と、RTレベルのプロセッ
サモデルのハードウェア記述をプロセッサの入出力命令
の動作レベルに抽象化して抽象化記述を生成する抽象化
手段15と、抽象化記述を含む命令レベルのプロセッサ
モデルからソフトウェアの検証を目的としたシミュレー
ションを行うソフトウェア検証部18,19とを具備す
る。
ルにはRTレベルのハードウェア記述12が含まれる。
また、上記命令レベルのプロセッサモデルには、抽象化
手段15にてRTレベルのハードウェア記述を抽象化し
た抽象化記述17が含まれる。図1に示した小規模ソフ
トウェア11とは、検証するソフトウェアのうち、基本
動作のみが記述されたソフトウェアであり、外部との入
出力までの動作等は記述されていないソフトウェアであ
って、例えば、ドライバプログラムが含まれる。また、
アプリケーションソフトウェア16は、小規模ソフトウ
ェアの他に、外部との入出力等の動作までをも包含した
ソフトウェアである。
ーションを行う際には、まず、RTレベルソフトウェア
シミュレータ13と、RTレベルハードウェアシミュレ
ータ14とを用いて、ハードウェア検証を目的とした協
調シミュレーションを行う。次に、抽象化手段15によ
って、RTレベルのハードウェア記述12をプロセッサ
の入出力命令の動作レベルに抽象化して抽象化記述17
を生成する。そして、命令レベルソフトウェアシミュレ
ータ18と、命令レベルハードウェアシミュレータ19
とを用いて、ソフトウェア検証を目的とした協調シミュ
レーションを行うようにする。
フローチャートである。まず、ステップ110でRTレ
ベルのハードウェア記述12を解析して、状態遷移グラ
フを作成する。次に、ステップ120で初期状態を先頭
にして、状態を一列に並べて序列を作る。次に、ステッ
プ130で入出力動作の絡まないループはループとして
残し、入出力動作の絡むループは切断する。次に、ステ
ップ140で、各状態の動作記述を序列の順番に並べ、
内部信号の削除を行って1つのプロセスとしてまとめ
る。次に、ステップ150でループの切断個所にフラグ
をセットする文とそれ以降の処理をスキップする文を挿
入する。最後に、ステップ160で抽象化されたハード
ウェア記述を生成する。
べる処理のアルゴリズムを示すフローチャートである。
ここで示すアルゴリズムは、深さ方向を優先して並べて
いるが、本発明においては、このアルゴリズムに限定さ
れるものではない。このアルゴリズムは、まず、ステッ
プ121で初期設定として、状態番号なる変数を導入
し、この状態番号に1をセットする。次に、ステップ1
22にて、初期状態に状態番号、すなわち、1を付与す
る。そして、状態番号をインクリメントする。続いて、
ステップ123にて、次に遷移する状態の中に状態番号
の付与されていないものがあるか否かを判定する。この
判定により、状態番号が付与されていないものがある場
合には、ステップ124にて、その1つを選び状態番号
を付与する。また、その残りはスタックに格納し、状態
番号をインクリメントする。引き続き、ステップ123
に戻って、その次に遷移する状態の中に状態番号の付与
されていないものがあるか否かの判定を行い、次に遷移
する状態の中に状態番号が付与されていないものがなく
なるまで繰り返す。
態番号が付与された場合には、ステップ125に進み、
スタックに状態が格納されているか否かを判定する。状
態が格納されている場合には、ステップ126にてスタ
ックから1つ状態を取り出し、ステップ127にてその
状態に状態番号が付与されているか否かを判定する。こ
の判定により状態番号が付与されていなければ、ステッ
プ124に戻って、ステップ126にて取り出された状
態に状態番号を付与し、また、その残りはスタックに格
納し、状態番号をインクリメントする。引き続き、ステ
ップ123に戻って、判定を行い、その次に遷移する状
態の中に状態番号が付与されていないものがなくなるま
で繰り返し、再びステップ125に進む。一方、ステッ
プ127にてその状態に状態番号が付与されている場合
にはステップ125に戻って再びスタックに状態が格納
されているか否かを判定する。以上の処理を施し、スタ
ックに状態がなくなるまで処理を行う。
ハードウェア記述12を示したものである。この記述
は、紙面の都合上、図面に向かって左列上段から記述が
開始され、右段下段で記述が終了するように示した。こ
のRTレベルのハードウェア記述12は、状態の宣言部
41と、動作記述部42と、状態遷移記述部43とを有
するものである。以下では、図4に示したRTレベルの
ハードウェア記述をもとにして、図2に示した抽象化手
段15のアルゴリズムの動作を詳細に説明する。
述12の状態の宣言部41からS1乃至S8の8つの状
態があることが分かる。この8つの状態に対して状態遷
移記述部43の状態遷移の動作記述を用いてステップ1
10の処理を行うと図5に示す如くになる。この状態遷
移グラフは状態を表すノード51と、状態間の遷移関係
を示すエッジ52とから構成されている。このエッジの
矢印方向へ状態が遷移することを意味する。
期状態を先頭にして、全ての状態を一列に並べて序列を
作るステップ120の処理を行う。図6は、ステップ1
20で図5に示す状態遷移グラフに図3に示したアルゴ
リズムを適用し、状態を1列に並べた結果の例を示して
いる。
ープの切断の要否を判定するステップ130の処理を行
う。図7は、ステップ130で、ループを切断するか否
かを判定した後の状態遷移グラフを示している。ループ
を切断するか否かの判定は、ループ中に入出力動作があ
る時はループを切断すると判定し、入出力動作がない時
はループは切断しないと判定する。図7では、状態遷移
71〜75がループであるが、図4の状態遷移記述部4
3から状態S2と状態S3に入力動作があるため、ルー
プ71,72,73,75は切断されることになる。ル
ープ74は入出力動作を含まないため切断しない。な
お、入出力動作は、外部入力ピンを右辺に含む信号代入
文あるいは外部出力ピンを左辺に含む信号代入文として
表現されているため、入出力動作の有無は、これらの信
号代入文の有無で判定できる。
状態の動作記述を序列の順番に並べ、内部信号を削除し
て、一つのプロセスを作成するステップ140の処理を
行う。ステップ140により処理された状態遷移グラフ
に対し、ループ切断箇所に状態フラグセット文と、それ
以降の処理をスキップする文を挿入するステップ150
の処理を行う。図8は、ステップ150でループを切断
すると判定した箇所にフラグをセットする文とこれ以降
の処理をスキップする文とを挿入した後の様子を模式的
に示している。例えば、図7のループ71を削除し、そ
の代わりにフラグFLGを2にセットする。なお、ルー
プが切断されない個所にはloop文やwhile文等
適切な繰り返し文を挿入しておく。この処理により図8
の点線に示す如く1つのプロセスにまとめられたものと
する。
ードウェア記述を生成するステップ160により抽象化
されたハードウェア記述を出力する。図9は、ステップ
160で生成される抽象化記述の例を示している。
る抽象化記述は、全体が1つのプロセスとしてまとめら
れているため、1回のイベント処理で全ての状態が正し
い順序で実行される。このため、元のRTレベルのハー
ドウェア記述が、複数回のイベント処理で全ての状態が
実行されるのに比べ、シミュレーションが高速に実行さ
れることになる。また、プロセッサとの間でデータ交換
が必要となる部分では、一旦、処理が中断でき、その後
の処理もフラグを適切に設定することによって正しく実
行されるようになっている。
ェア/ソフトウェア協調シミュレーション装置における
抽象化手段15の第2の実施形態を説明する。
すフローチャートである。ここで、第2の実施形態の抽
象化手段15の動作について説明する。まず、ステップ
210で、RTレベルのハードウェア記述12を解析し
て状態遷移グラフを作成する。図5に作成された状態遷
移グラフを示す。この処理は、前述の第1の実施形態と
同様でもよいので、その説明は省略する。次に、ステッ
プ220で、初期状態を先頭とし、すべての状態を一列
に並べた序列を作る。この時の状態のならべ方は、図3
に示したアルゴリズムと同じで良いので、その説明は省
略する。図11に作成された序列を示す。
る状態遷移のそれぞれについて、当該状態遷移を残すか
否かを判定する。判定方法は、前方に戻る状態遷移によ
って構成される閉ループ内に入出力動作が含まれる時、
当該状態遷移を残すと判定し、閉ループ内に入出力動作
が含まれない時は、当該状態を残さないと判定する。図
11を使って具体的に説明する。図11で、序列の前方
に戻る状態遷移はe1,e2,e3,e4,e5の5つ
ある。この内、e1,e2,e3,e4は、それによっ
て構成される閉ループ内に入出力動作を行う状態S2な
いし状態S3を含むため、状態遷移を残すと判定され、
e4は、閉ループ内に入出力動作を行う状態を含まない
ので、状態遷移を残さないと判定されることになる。図
12は、このようにして判定された結果を示す。次に、
ステップ240で、ステップ230で残すと判定された
状態遷移の遷移先状態で序列を分割する。序列を分割し
た例を図13に示す。
0で求めた各分割毎に、その分割に含まれる状態の動作
記述を1つのプロセスとしてまとめ、抽象化記述を生成
する。図14は、抽象化記述の状態遷移関係を表す図で
あり、図15は、抽象化記述の例を示す。
述は、プロセッサとの間の入出力動作、つまり、ソフト
ウェアシミュレータとの間でデータ転送を要する部分以
外の動作を1回のイベント処理でシミュレーションでき
るようになっており、元のRTレベルのハードウェア記
述では、複数回のイベント処理が必要になるのに比べ、
シミュレーションが高速に実行できる。また、第1の実
施の形態に示した抽象化手段に比べ、状態遷移を実現す
るために余分なステートメントを追加する必要もないの
で、シミュレーションするハードウェアの状態遷移が複
雑な場合、第1の実施形態に示した抽象化手段よりも更
に効率の良いシミュレーションが可能な記述が生成でき
る。
ア協調シミュレーション方法を実現するためのプログラ
ムは記録媒体に保存することができる。この記録媒体を
コンピュータシステムによって読み込ませ、前記プログ
ラムを実行してコンピュータを制御しながら上述したハ
ードウェア/ソフトウェア協調シミュレーション方法を
実現することができる。ここで、前記記録媒体とは、メ
モリ装置、磁気ディスク装置、光ディスク装置等、プロ
グラムを記録することができるような装置が含まれる。
ハードウェア/ソフトウェア協調シミュレーション装
置、ハードウェア/ソフトウェア協調シミュレーション
方法及びハードウェア/ソフトウェア協調シミュレーシ
ョンプログラムを記録した機械読み取り可能な記録媒体
によれば、RTレベルのハードウェア記述を抽象化して
命令レベルの記述を生成することにより、ハードウェア
側のシミュレーションも命令レベルで行うことにより、
ソフトウェアの検証を目的とする協調シミュレーション
を行う際に、高速なシミュレーションが可能となる。従
って、ハードウェア検証及びソフトウェア検証について
全体として高速な協調シミュレーションを行うことがで
き、効率よくソフトウェアの検証を行うことができる。
を示すフローチャートである。
の処理を示すフローチャートである。
ハードウェア記述である。
の処理結果を示す図である。
の図である。
ウェア記述を示す図である。
示すフローチャートである。
0の処理結果を示す図である。
ある。
めの図である。
ドウェア記述を示す図である。
ション装置の第1の従来例を示すブロック図である。
ション装置の第2の従来例を示すブロック図である。
Claims (15)
- 【請求項1】 RTレベルのプロセッサモデルからハー
ドウェアの検証を目的としたシミュレーションを行うハ
ードウェア検証部と、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに抽象化して命
令レベルのハードウェア記述である抽象化記述を生成す
る抽象化手段と、 前記抽象化記述を含む命令レベルのプロセッサモデルか
らソフトウェアの検証を目的としたシミュレーションを
行うソフトウェア検証部と、 を具備することを特徴とするハードウェア/ソフトウェ
ア協調シミュレーション装置。 - 【請求項2】 前記抽象化手段は、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに1つのプロセ
スとして抽象化して抽象化記述を生成することを特徴と
する請求項1記載のハードウェア/ソフトウェア協調シ
ミュレーション装置。 - 【請求項3】 前記抽象化手段は、 前記RTレベルのプロセッサモデルのハードウェア記述
を解析し、状態遷移グラフを作成する手段と、 前記状態グラフの初期状態を先頭にして、状態を一列に
並べて序列を作る手段と、 前記状態グラフの入出力動作の絡むループは切断する手
段と、 各状態の動作記述を序列の順番に並べ、内部信号の削除
を行って1つのプロセスとしてまとめる手段と、 ループの切断個所にフラグをセットする文とそれ以降の
処理をスキップする文を挿入して抽象化記述を生成する
手段と、 を具備することを特徴とする請求項1記載のハードウェ
ア/ソフトウェア協調シミュレーション装置。 - 【請求項4】 前記抽象化手段は、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに複数のプロセ
スに分割して抽象化し、抽象化記述を生成することを特
徴とする請求項1記載のハードウェア/ソフトウェア協
調シミュレーション装置。 - 【請求項5】 前記抽象化手段は、 前記RTレベルのプロセッサモデルのハードウェア記述
を解析し、状態遷移グラフを作成する手段と、 前記状態グラフの初期状態を先頭にして、状態を一列に
並べて序列を作る手段と、 前記作った序列の前方に戻る状態遷移を残すか否かを判
定する手段と、 前記残すと判定した状態遷移の遷移先状態で序列を分割
する手段と、 前記求めた分割毎に動作記述を1つのプロセスにまと
め、抽象化記述を生成する手段と、 を具備することを特徴とする請求項1記載のハードウェ
ア/ソフトウェア協調シミュレーション装置。 - 【請求項6】 RTレベルのプロセッサモデルからハー
ドウェアの検証を目的としたシミュレーションを行い、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに抽象化して命
令レベルのハードウェア記述である抽象化記述を生成
し、 前記抽象化記述を含む命令レベルのプロセッサモデルか
らソフトウェアの検証を目的としたシミュレーションを
行うことを特徴とするハードウェア/ソフトウェア協調
シミュレーション方法。 - 【請求項7】 前記抽象化記述を生成する際に、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに1つのプロセ
スとして抽象化して抽象化記述を生成することを特徴と
する請求項6記載のハードウェア/ソフトウェア協調シ
ミュレーション方法。 - 【請求項8】 前記抽象化記述を生成する際に、 前記RTレベルのプロセッサモデルのハードウェア記述
を解析し、状態遷移グラフを作成し、 前記状態グラフの初期状態を先頭にして、状態を一列に
並べて序列を作り、 前記状態グラフの入出力動作の絡むループは切断し、 各状態の動作記述を序列の順番に並べ、内部信号の削除
を行って1つのプロセスとしてまとめ、 ループの切断個所にフラグをセットする文とそれ以降の
処理をスキップする文を挿入して抽象化記述を生成する
ことを特徴とする請求項6記載のハードウェア/ソフト
ウェア協調シミュレーション方法。 - 【請求項9】 前記抽象化記述を生成する際に、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに複数のプロセ
スに分割して抽象化し、抽象化記述を生成することを特
徴とする請求項6記載のハードウェア/ソフトウェア協
調シミュレーション方法。 - 【請求項10】 前記抽象化記述を生成する際に、 前記RTレベルのプロセッサモデルのハードウェア記述
を解析し、状態遷移グラフを作成し、 前記状態グラフの初期状態を先頭にして、状態を一列に
並べて序列を作り、 前記作った序列の前方に戻る状態遷移を残すか否かを判
定し、 前記残すと判定した状態遷移の遷移先状態で序列を分割
し、 前記求めた分割毎に動作記述を1つのプロセスにまと
め、抽象化記述を生成すすることを特徴とする請求項6
記載のハードウェア/ソフトウェア協調シミュレーショ
ン方法。 - 【請求項11】 RTレベルのプロセッサモデルからハ
ードウェアの検証を目的としたシミュレーションを行う
ハードウェア検証処理と、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに抽象化して命
令レベルのハードウェア記述である抽象化記述を生成す
る抽象化処理と、 前記抽象化記述を含む命令レベルのプロセッサモデルか
らソフトウェアの検証を目的としたシミュレーションを
行うソフトウェア検証処理と、 を具備することを特徴とするハードウェア/ソフトウェ
ア協調シミュレーションプログラムを記録した機械読み
取り可能な記録媒体。 - 【請求項12】 前記抽象化処理は、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに1つのプロセ
スとして抽象化して抽象化記述を生成することを特徴と
する請求項11記載のハードウェア/ソフトウェア協調
シミュレーションプログラムを記録した機械読み取り可
能な記録媒体。 - 【請求項13】 前記抽象化処理は、 前記RTレベルのプロセッサモデルのハードウェア記述
を解析し、状態遷移グラフを作成する処理と、 前記状態グラフの初期状態を先頭にして、状態を一列に
並べて序列を作る処理と、 前記状態グラフの入出力動作の絡むループは切断する処
理と、 各状態の動作記述を序列の順番に並べ、内部信号の削除
を行って1つのプロセスとしてまとめる処理と、 ループの切断個所にフラグをセットする文とそれ以降の
処理をスキップする文を挿入して抽象化記述を生成する
処理と、 を具備することを特徴とする請求項11記載のハードウ
ェア/ソフトウェア協調シミュレーションプログラムを
記録した機械読み取り可能な記録媒体。 - 【請求項14】 前記抽象化処理は、 前記RTレベルのプロセッサモデルのハードウェア記述
をプロセッサの入出力命令の動作レベルに複数のプロセ
スに分割して抽象化し、抽象化記述を生成することを特
徴とする請求項11記載のハードウェア/ソフトウェア
協調シミュレーションプログラムを記録した機械読み取
り可能な記録媒体。 - 【請求項15】 前記抽象化処理は、 前記RTレベルのプロセッサモデルのハードウェア記述
を解析し、状態遷移グラフを作成する処理と、 前記状態グラフの初期状態を先頭にして、状態を一列に
並べて序列を作る処理と、 前記作った序列の前方に戻る状態遷移を残すか否かを判
定する処理と、 前記残すと判定した状態遷移の遷移先状態で序列を分割
する処理と、 前記求めた分割毎に動作記述を1つのプロセスにまと
め、抽象化記述を生成する処理と、 を具備することを特徴とする請求項11記載のハードウ
ェア/ソフトウェア協調シミュレーションプログラムを
記録した機械読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34853296A JP3904645B2 (ja) | 1996-12-26 | 1996-12-26 | ハードウェア/ソフトウェア協調シミュレーション装置 |
US08/997,166 US5960182A (en) | 1996-12-26 | 1997-12-23 | Hardware-software co-simulation system, hardware-software co-simulation method, and computer-readable memory containing a hardware-software co-simulation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34853296A JP3904645B2 (ja) | 1996-12-26 | 1996-12-26 | ハードウェア/ソフトウェア協調シミュレーション装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10187789A true JPH10187789A (ja) | 1998-07-21 |
JP3904645B2 JP3904645B2 (ja) | 2007-04-11 |
Family
ID=34225004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34853296A Expired - Fee Related JP3904645B2 (ja) | 1996-12-26 | 1996-12-26 | ハードウェア/ソフトウェア協調シミュレーション装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5960182A (ja) |
JP (1) | JP3904645B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100368546B1 (ko) * | 2000-01-18 | 2003-01-24 | 한국 Mds (주) | 실제 프로세서를 이용한 낙관적 실행에 의한하드웨어-소프트웨어 통합 검증방법 |
US6760889B2 (en) | 2001-07-02 | 2004-07-06 | Matsushita Electric Industrial Co., Ltd. | Method for converting a logic circuit model |
JP2010528363A (ja) * | 2007-05-24 | 2010-08-19 | パロ・アルト・リサーチ・センター・インコーポレーテッド | メタ解析による動的ドメイン抽出 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6188975B1 (en) * | 1998-03-31 | 2001-02-13 | Synopsys, Inc. | Programmatic use of software debugging to redirect hardware related operations to a hardware simulator |
US6272451B1 (en) * | 1999-07-16 | 2001-08-07 | Atmel Corporation | Software tool to allow field programmable system level devices |
US6470481B2 (en) * | 1999-07-29 | 2002-10-22 | Michael C. Brouhard | State management in a co-verification system |
US6230114B1 (en) | 1999-10-29 | 2001-05-08 | Vast Systems Technology Corporation | Hardware and software co-simulation including executing an analyzed user program |
US7107202B1 (en) * | 2000-01-31 | 2006-09-12 | Intel Corporation | Method and apparatus for hardware and software co-simulation |
US7366650B2 (en) * | 2001-04-12 | 2008-04-29 | Arm Limited | Software and hardware simulation |
CA2704252C (en) | 2001-07-26 | 2011-09-27 | Irise | System and process for interacting with a user to define a behavior of a portion of an interactive presentation |
US7017097B1 (en) | 2002-09-24 | 2006-03-21 | Cypress Semiconductor Corp. | Simultaneously driving a hardware device and a software model during a test |
ITSV20020056A1 (it) * | 2002-11-14 | 2004-05-15 | Alstom Transp Spa | Dispositivo e metodo di verifica di motori software logici di comando di impianti ferroviari, in particolare di impianti di stazione |
JP3951925B2 (ja) * | 2003-01-31 | 2007-08-01 | セイコーエプソン株式会社 | ハードウェア/ソフトウェア協調検証方法 |
US7830386B1 (en) * | 2005-06-17 | 2010-11-09 | Nvidia Corporation | Register transfer level simulation using a graphics processor |
US20070043548A1 (en) * | 2005-07-29 | 2007-02-22 | International Business Machines Corporation | Verifying a simulated hardware environment for a simulated device under test |
US7562001B2 (en) | 2005-07-29 | 2009-07-14 | International Business Machines Corporation | Creating a behavioral model of a hardware device for use in a simulation environment |
US8265917B1 (en) * | 2008-02-25 | 2012-09-11 | Xilinx, Inc. | Co-simulation synchronization interface for IC modeling |
KR20100084036A (ko) * | 2009-01-15 | 2010-07-23 | 삼성전자주식회사 | 소프트웨어의 에러 검출 장치 및 방법 |
US8910143B2 (en) | 2010-09-20 | 2014-12-09 | General Electric Company | Conversion system and method for use in upgrading a monitoring system |
EP2625606A4 (en) | 2010-10-08 | 2014-11-26 | Irise | SYSTEM AND METHOD FOR EXTENDING A VISUALIZATION PLATFORM |
US8287290B2 (en) | 2011-02-08 | 2012-10-16 | General Electric Company | Device, system and method of an interface connector |
US9996637B2 (en) * | 2015-07-30 | 2018-06-12 | International Business Machines Corporation | Method for verifying hardware/software co-designs |
CN111124700B (zh) * | 2018-10-31 | 2023-07-18 | 百度在线网络技术(北京)有限公司 | 仿真软件模型的接入方法和装置 |
JP7282616B2 (ja) * | 2019-06-27 | 2023-05-29 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
US20230170098A1 (en) * | 2020-04-22 | 2023-06-01 | The Fourth Paradigm (Beijing) Tech Co Ltd | Simulation system and simulation method, and epidemic deduction simulation system and simulation method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US5493672A (en) * | 1994-05-16 | 1996-02-20 | Sun Microsystems, Inc. | Concurrent simulation of host system at instruction level and input/output system at logic level with two-way communication deadlock resolution |
US5809283A (en) * | 1995-09-29 | 1998-09-15 | Synopsys, Inc. | Simulator for simulating systems including mixed triggers |
US5784593A (en) * | 1995-09-29 | 1998-07-21 | Synopsys, Inc. | Simulator including process levelization |
-
1996
- 1996-12-26 JP JP34853296A patent/JP3904645B2/ja not_active Expired - Fee Related
-
1997
- 1997-12-23 US US08/997,166 patent/US5960182A/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100368546B1 (ko) * | 2000-01-18 | 2003-01-24 | 한국 Mds (주) | 실제 프로세서를 이용한 낙관적 실행에 의한하드웨어-소프트웨어 통합 검증방법 |
US6760889B2 (en) | 2001-07-02 | 2004-07-06 | Matsushita Electric Industrial Co., Ltd. | Method for converting a logic circuit model |
JP2010528363A (ja) * | 2007-05-24 | 2010-08-19 | パロ・アルト・リサーチ・センター・インコーポレーテッド | メタ解析による動的ドメイン抽出 |
Also Published As
Publication number | Publication date |
---|---|
US5960182A (en) | 1999-09-28 |
JP3904645B2 (ja) | 2007-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3904645B2 (ja) | ハードウェア/ソフトウェア協調シミュレーション装置 | |
US5862361A (en) | Sliced synchronous simulation engine for high speed simulation of integrated circuit behavior | |
JP2002183234A (ja) | デジタル回路の共同シミュレーション方法 | |
JP2009522652A (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
JP2003016122A (ja) | 論理回路設計方法 | |
JPH11184896A (ja) | 高位合成装置及び高位合成方法、並びに高位合成プログラムを記録した記録媒体 | |
CN115705446A (zh) | 集成电路的后仿真方法和装置 | |
US7949509B2 (en) | Method and tool for generating simulation case for IC device | |
US7197445B1 (en) | Atomic transaction processing for logic simulation | |
JP4393450B2 (ja) | 論理回路モデル変換装置及び論理回路モデル変換プログラム | |
JP4370335B2 (ja) | Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法 | |
JP3930255B2 (ja) | システム仕様情報処理装置、システム仕様情報処理方法及びプログラム | |
US6816826B1 (en) | Fully exhibiting asynchronous behavior in a logic network simulation | |
Densmore et al. | Microarchitecture development via metropolis successive platform refinement | |
JP5104356B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
JP2853649B2 (ja) | 論理シミュレーション用モデルの作成方法 | |
JP2007241836A (ja) | マルチサイクルパス検証方法 | |
JP2007018313A (ja) | 回路設計プログラム、回路設計装置、回路設計方法 | |
JP4448048B2 (ja) | 構造解析プログラム | |
JPH06337903A (ja) | 論理回路のシミュレ−ション方法 | |
JP2723805B2 (ja) | シミュレーションプログラム生成方式 | |
JP2001022808A (ja) | 論理回路削減装置ならびに論理シミュレーション方法および装置 | |
JP2008129921A (ja) | 論理機能検証装置及び論理機能検証方法 | |
JP5288124B2 (ja) | 論理シミュレーションシステム、論理シミュレーション方法及び論理シミュレーションプログラム | |
JP2990882B2 (ja) | 機能シミュレーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040405 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040802 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040818 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20041029 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050603 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070110 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |