JP2003330991A - ハードウェアモデリング方法 - Google Patents

ハードウェアモデリング方法

Info

Publication number
JP2003330991A
JP2003330991A JP2002138584A JP2002138584A JP2003330991A JP 2003330991 A JP2003330991 A JP 2003330991A JP 2002138584 A JP2002138584 A JP 2002138584A JP 2002138584 A JP2002138584 A JP 2002138584A JP 2003330991 A JP2003330991 A JP 2003330991A
Authority
JP
Japan
Prior art keywords
hardware
model
abstraction
state
data
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.)
Pending
Application number
JP2002138584A
Other languages
English (en)
Inventor
Tomoaki Katano
智明 片野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002138584A priority Critical patent/JP2003330991A/ja
Publication of JP2003330991A publication Critical patent/JP2003330991A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】ハードウェアの動作をプログラム言語によりモ
デリングする際に、モデルの抽象度に合わせてモデル記
述を変更することを不要にし、複数の抽象度の選択がで
き、選択した抽象度の動作基準の時間概念で動作させ
る。 【解決手段】モデリング対象のハードウェアで実行され
る処理を小さな処理単位に分割してそれぞれの処理単位
をオブジェクトとして作成し、選択した抽象度の動作基
準毎にステートが遷移するステートマシンによりモデリ
ング対象のハードウェアの動作を表現し、このステート
マシンの各ステートで実行される処理に対応するオブジ
ェクトを各ステートに組み込むことにより選択した抽象
度の動作基準の時間概念で動作するハードウェアモデル
を作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ハードウェアのモ
デルをCPUやバス等を含むシステムのモデルに組み込
み、システム全体のシミュレーションを行う際に用いる
ハードウェアモデルを作成するハードウェアモデリング
方法に関する。
【0002】
【従来の技術】既存のCPUやバスを含んで構成された
シミュレーション環境にハードウェアのモデルを組み込
んでシステムシミュレーションを行う際、組み込むハー
ドウェアのモデルは周辺のCPUやバスの抽象度に合わ
せてその都度記述を変更する必要があった。
【0003】例えば、時間概念のない機能のみを記述し
たハードウェアモデルからバスプロトコルやクロックの
概念がある環境に組み込むハードウェアモデルを作成す
る場合、クロックの時間概念やバスプロトコルといった
外部とのインターフェースを手作業にて組み込んでいく
必要がある。逆にRTLなどの既存のHDLで書かれた
ハードウェアモデルからハードウェアの機能のみに特化
したモデルを作成する場合は手作業により複数の処理を
合併する等の抽象化が必要であった。
【0004】また、RTLで記述されたハードウェアモ
デルからプロセッサの入出力命令の動作レベルに抽象化
する抽象化手段を備えることで、RTLで記述されたハ
ードウェアモデルを用いてソフトウェア検証を効率よく
行う技術として、特開平10−187789号公報に記
載されたものがある。
【0005】
【発明が解決しようとする課題】上記、手作業による時
間概念の組込みはハードウェアの記述を作成するモデル
の抽象度に合わせて記述変更する必要があり、抽象度毎
に固有のモデルとなるためモデルの再利用が難しく、モ
デル開発にかかる工数が大きかった。また、上記RTL
で記述されたハードウェアモデルを抽象化する手段を備
える技術は、ソフトウェア検証においては有用である
が、複数の時間概念の抽象度を選択することはできな
い。
【0006】本発明は上記事情に鑑みてなされたもの
で、ハードウェアの動作をプログラム言語によりモデリ
ングする際に、モデルの抽象度に合わせてモデル記述を
変更することを不要にし、複数の抽象度の選択ができ、
選択した抽象度の動作基準の時間概念で動作させること
が可能なハードウェアモデリング方法を提供することを
目的とする。
【0007】
【課題を解決するための手段】この課題を解決するため
に、本発明の請求項1に係るハードウェアモデリング方
法は、ハードウェアの動作をプログラム言語によりモデ
リングするハードウェアモデリング方法であって、モデ
リング対象のハードウェアで実行される処理を小さな処
理単位に分割してそれぞれの処理単位をオブジェクトと
して作成し、選択した抽象度の動作基準毎にステートが
遷移するステートマシンによりモデリング対象のハード
ウェアの動作を表現し、このステートマシンの各ステー
トで実行される処理に対応するオブジェクトを各ステー
トに組み込むことにより選択した抽象度の動作基準毎に
動作するハードウェアモデルを作成するものである。
【0008】上記構成によれば、従来、周辺回路の抽象
度に合わせてモデリングしていたハードウェアを、選択
した抽象度に応じたステートマシンの記述と、そのステ
ートマシンの各ステートで実行するオブジェクトの組合
せにより作成することができるようになり、オブジェク
トの再利用が可能となるため、ハードウェアモデル作成
作業の効率を向上させることができ、ハードウェアモデ
ル開発期間を短縮することができる。
【0009】また、ステートマシンとオブジェクトの組
合せにより、さまざまな抽象度のハードウェアモデリン
グが可能となり、プロセッサやバスや周辺機器の抽象度
に応じた時間概念で動作するハードウェアモデルを作成
することが可能となる。
【0010】本発明の請求項2に係るハードウェアモデ
リング方法は、請求項1記載のハードウェアモデリング
方法において、前記抽象度の動作基準はクロックサイク
ルであるような抽象度の選択が可能なものである。
【0011】上記構成によれば、特に、プロセッサやバ
スや周辺機器の抽象度に応じた時間概念としてクロック
サイクルで動作するハードウェアモデルを作成すること
ができる。
【0012】本発明の請求項3に係るハードウェアモデ
リング方法は、請求項1記載のハードウェアモデリング
方法において、動作基準とは別途、パラメータによりハ
ードウェアモデルの処理時間を計算することが可能なも
のである。
【0013】上記構成によれば、動作基準とは別途、パ
ラメータにより与えられた場合でも、処理時間を計算す
るオブジェクトを用いることでハードウェアモデルの処
理時間を計算することが可能になる。
【0014】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら詳細に説明する。ここでは本発明
の一実施の形態に係るハードウェアモデリング方法を適
用する対象ハードウェア例として、64ビットのデータ
を入力として受け取り、ハードウェアの内部でデータ変
換1、データ変換2、データ変換3の処理によりデータ
を変換し、32ビットのデータを出力するデータ変換装
置のハードウェアモデルを用いて説明する。
【0015】図1はシステムの構成と時間の概念を抽象
化したシミュレーション環境を示すモデル構成図であ
る。図1において、1はメモリとCPUを合併したモデ
ル、2は上記データ変換装置のハードウェアモデルであ
る。この構成でのモデリングを抽象度1とする。
【0016】図1のデータ変換装置のハードウェアモデ
ルは、ソフトウェアからの起動により64ビットの入力
データをCPUモデルから受け取り、データ変換処理を
行い、32ビット出力データをCPUモデルへ渡す。
【0017】図2はクロックレベルで動作するシミュレ
ーション環境を示すモデル構成図である。図2におい
て、3はCPUモデル、4はDMAコントローラ、5は
前記データ変換装置のハードウェアモデル、6は共有の
メモリ、7は32ビットバスである。この構成でのモデ
リングを抽象度2とする。
【0018】図3は抽象度1の前記データ変換装置のハ
ードウェアモデルにおける入出力ポートを示す図であ
り、図4はこのデータ変換装置のハードウェアモデルを
実現する処理オブジェクトとその処理を実行するステー
トの対応表である。さらに、図5はこのデータ変換装置
のハードウェアモデルのステートマシンと処理オブジェ
クトの状態遷移図である。
【0019】図6は抽象度2の前記データ変換装置のハ
ードウェアモデルにおける入出力ポートを示す図であ
り、図7はこのデータ変換装置のハードウェアモデルを
実現する処理オブジェクトとその処理を実行するステー
トの対応表である。さらに、図8はこのデータ変換装置
のハードウェアモデルのステートマシンと処理オブジェ
クトの状態遷移図である。
【0020】まず、図1のように構成されたシステムに
おけるデータ変換装置のハードウェアの動作をモデル化
する場合について図3から図5を参照して説明する。こ
の構成ではバスの概念がないためアドレス取得や制御信
号取得は考慮しないものとする。
【0021】データ変換装置のハードウェアは初期状態
として起動待ちとなっておりステートS10の状態にい
る。S10では起動待ちのオブジェクトを実行する。ハ
ードウェアが起動されるとステートはS11に遷移し、
データ入力オブジェクト10を実行して全入力データを
受け取り、全入力データに対してデータ変換1、データ
変換2、データ変換3のオブジェクト11、12、13
を実行して出力データを生成し、データ出力オブジェク
ト14によりデータを出力し、動作パラメータ計算のオ
ブジェクト15により処理時間等を計算する。
【0022】この抽象度1のハードウェアの状態遷移を
図9のフロー図に示す。このステートマシンではステー
トS10で起動がかかると、次のステートS11でデー
タ入力、データ変換、データ出力を全て行い、処理時間
等の情報は動作パラメータ計算で計算する。
【0023】また、この抽象度1のハードウェアモデル
のステートマシン部をC言語で実現した例を図11に示
す。この記述において、ステートの対応、および関数と
オブジェクトの対応は次の通りである。
【0024】 IDLE S10 EXE S11 関数wait_start 起動待ちオブジェクト 関数data_input データ入力オブジェクト 関数exe1 データ変換1オブジェクト 関数exe2 データ変換2オブジェクト 関数exe3 データ変換3オブジェクト 関数data_out データ出力オブジェクト 関数time_count_exe 動作パラメータ計算オブジェク
【0025】次に、図2のように構成されたハードウェ
アの動作をモデル化する場合について図6から図8を参
照して説明する。この構成では32ビットのバスにハー
ドウェアが接続されているため、データ入力は32ビッ
トずつ2度に分けて行う必要がある。またデータ転送は
メモリからのDMA転送により行うものとする。その
際、ソフトウェアからのハードウェア起動によりDMA
転送で最初の32ビットデータを入力し、2度目の入力
はハードウェアの内部処理によりDMAコントローラに
割り込みを出すものとする。
【0026】データ変換装置のハードウェアは初期状態
として起動待ちとなっておりステートS20の状態にい
る。S20では起動待ちのオブジェクト9を実行する。
ハードウェアが起動されるとステートはS21に遷移
し、アドレスのデコードと制御信号の取得を行うオブジ
ェクト17、18を実行する。その後ステートS22へ
遷移し、1度目の入力データを取得するオブジェクト1
0を実行する。
【0027】その後ステートS23へ遷移して入力デー
タに対してデータ変換1、データ変換2、データ変換3
のオブジェクト11、12、13を実行し、次の入力デ
ータの有無を確認し、次の入力データがある場合はステ
ートS24へ遷移してDMAコントローラへ入力データ
の転送用に割込みを発生するオブジェクト19を実行す
る。その後再度S22へ遷移して次のデータを受け取り
S23での処理を行う。
【0028】S23にて全入力データに対してデータ変
換処理1、2、3を行うと、ステートS25に遷移して
DMAコントローラに出力用の割込みを起すオブジェク
ト20を実行し、ステートS26でデータを出力するオ
ブジェクト14を実行し、ステートS27でCPUにハ
ードウェアの全処理終了の割込みを起すオブジェクト2
1を実行してS20に戻る。このステートの評価をクロ
ック毎に行うようにしてサイクル精度で動作するハード
ウェアモデルが実現できる。なお、図5のオブジェクト
9からオブジェクト14までを図8で再利用している。
【0029】この抽象度2のハードウェアの状態遷移を
図10のフロー図に示す。また、この抽象度2のハード
ウェアモデルのステートマシン部をC言語で実現した例
を図12に示す。この記述において、ステートの対応、
および関数とオブジェクトの対応は次の通りである。
【0030】 IDLE S20 DECODE S21 INPUT S22 EXE S23 DMA_IN_INT S24 DMA_OUT_INT S25 OUTPUT S26 CPU_INT S27 関数wait_start 起動待ちオブジェクト 関数address_decode アドレス取得オブジェクト 関数control_check 制御信号取得オブジェクト 関数data_input データ入力オブジェクト 関数exe1 データ変換1オブジェクト 関数exe2 データ変換2オブジェクト 関数exe3 データ変換3オブジェクト 関数dma_in_int DMAC入力割込みオブジェクト 関数dma_out_int DMAC出力割込みオブジェクト 関数data_out データ出力オブジェクト 関数cpu_int CPU割込みオブジェクト
【0031】
【発明の効果】以上説明したように、本発明によれば、
従来、周辺回路の抽象度に合わせてモデリングしていた
ハードウェアを、選択した抽象度に応じたステートマシ
ンの記述と、そのステートマシンの各ステートで実行す
るオブジェクトの組合せにより作成することができるよ
うになり、オブジェクトの再利用が可能となるため、ハ
ードウェアモデル作成作業の効率を向上させることがで
き、ハードウェアモデル開発期間を短縮することができ
る。
【0032】さらに本発明によれば、ステートマシンと
オブジェクトの組合せにより、さまざまな抽象度のハー
ドウェアモデリングが可能となり、プロセッサやバスや
周辺機器の抽象度に応じた時間概念で動作するハードウ
ェアモデルを作成することが可能となる。
【0033】さらに本発明によれば、抽象度に応じた動
作基準を外部からパラメータで与えることにより、すで
に作成されたハードウェアモデルに対して任意に時間概
念を与えることができる。また、この場合に処理時間を
計算するオブジェクトを用いることでハードウェアモデ
ルの処理時間を計算することが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るハードウェアモデ
リング方法を適用した、システムの構成と時間の概念を
抽象化した抽象度1のシミュレーション環境を示すモデ
ル例の構成図である。
【図2】本発明の一実施の形態に係るハードウェアモデ
リング方法を適用した、クロックレベルで動作する抽象
度2のシミュレーション環境を示すモデル例の構成図で
ある。
【図3】抽象度1のハードウェアモデル例における入出
力ポートを示す図である。
【図4】抽象度1のハードウェアモデル例を実現する処
理オブジェクトとその処理を実行するステートの対応表
である。
【図5】抽象度1のハードウェアモデル例のステートマ
シンと処理オブジェクトの状態遷移図である。
【図6】抽象度2のハードウェアモデル例における入出
力ポートを示す図である。
【図7】抽象度2のハードウェアモデル例を実現する処
理オブジェクトとその処理を実行するステートの対応表
である。
【図8】抽象度2のハードウェアモデル例のステートマ
シンと処理オブジェクトの状態遷移図である。
【図9】抽象度1のハードウェアの状態遷移を示すフロ
ー図である。
【図10】抽象度2のハードウェアの状態遷移を示すフ
ロー図である。
【図11】抽象度1のハードウェアモデル例のステート
マシン部をC言語で実現した記述例を示す図である。
【図12】抽象度2のハードウェアモデル例のステート
マシン部をC言語で実現した記述例を示す図である。
【符号の説明】
1 CPUとメモリを合併したシミュレーションモデル 2、5 データ変換装置のハードウェアモデル 3 CPUモデル 4 DMAコントローラモデル 6 共有メモリモデル 7 32ビットバスモデル 8 抽象度1におけるハードウェアモデルの入出力ポー
ト 9 起動待ちオブジェクト 10 データ入力オブジェクト 11 データ変換1オブジェクト 12 データ変換2オブジェクト 13 データ変換3オブジェクト 14 データ出力オブジェクト 15 動作パラメータ計算オブジェクト 16 抽象度2のハードウェアモデルの入出力ポート 17 アドレス取得オブジェクト 18 制御信号取得オブジェクト 19 DMAコントローラ入力割込みオブジェクト 20 DMAコントローラ出力割込みオブジェクト 21 CPU割込みオブジェクト S10、S11、S20〜S27 ステート

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ハードウェアの動作をプログラム言語に
    よりモデリングするハードウェアモデリング方法であっ
    て、 モデリング対象のハードウェアで実行される処理を小さ
    な処理単位に分割してそれぞれの処理単位をオブジェク
    トとして作成し、選択した抽象度の動作基準毎にステー
    トが遷移するステートマシンにより前記ハードウェアの
    動作を表現し、前記ステートマシンの各ステートで実行
    される処理に対応する前記オブジェクトを各ステートに
    組み込むことにより前記抽象度の動作基準毎に動作する
    ハードウェアモデルを作成することを特徴とするハード
    ウェアモデリング方法。
  2. 【請求項2】 前記抽象度の動作基準はクロックサイク
    ルであるような抽象度の選択が可能なことを特徴とする
    請求項1記載のハードウェアモデリング方法。
  3. 【請求項3】 動作基準とは別途、パラメータによりハ
    ードウェアモデルの処理時間を計算することが可能なこ
    とを特徴とする請求項1記載のハードウェアモデリング
    方法。
  4. 【請求項4】 請求項1から請求項3のうちいずれか1
    項記載のハードウェアモデリング方法で作成したハード
    ウェアモデル。
JP2002138584A 2002-05-14 2002-05-14 ハードウェアモデリング方法 Pending JP2003330991A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002138584A JP2003330991A (ja) 2002-05-14 2002-05-14 ハードウェアモデリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002138584A JP2003330991A (ja) 2002-05-14 2002-05-14 ハードウェアモデリング方法

Publications (1)

Publication Number Publication Date
JP2003330991A true JP2003330991A (ja) 2003-11-21

Family

ID=29699986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002138584A Pending JP2003330991A (ja) 2002-05-14 2002-05-14 ハードウェアモデリング方法

Country Status (1)

Country Link
JP (1) JP2003330991A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461187C (zh) * 2004-02-26 2009-02-11 松下电器产业株式会社 模拟装置和设计半导体集成电路的方法
KR101089010B1 (ko) 2004-02-25 2011-12-01 파나소닉 주식회사 기기 제어 장치, 기기 제어 방법 및 기기 제어 프로그램을기록한 컴퓨터 판독 가능한 기록 매체
WO2013179439A1 (ja) * 2012-05-31 2013-12-05 三菱電機株式会社 データ処理装置及びデータ処理システム及びシミュレーション方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101089010B1 (ko) 2004-02-25 2011-12-01 파나소닉 주식회사 기기 제어 장치, 기기 제어 방법 및 기기 제어 프로그램을기록한 컴퓨터 판독 가능한 기록 매체
CN100461187C (zh) * 2004-02-26 2009-02-11 松下电器产业株式会社 模拟装置和设计半导体集成电路的方法
WO2013179439A1 (ja) * 2012-05-31 2013-12-05 三菱電機株式会社 データ処理装置及びデータ処理システム及びシミュレーション方法及びプログラム

Similar Documents

Publication Publication Date Title
Wolf A decade of hardware/software codesign
CN114879829B (zh) 功耗管理方法、装置、电子设备、图形处理器及存储介质
Wiangtong et al. Hardware/software codesign: a systematic approach targeting data-intensive applications
JP2007048280A (ja) バスモニタリングのための集積回路装置及びその方法
JP2003330991A (ja) ハードウェアモデリング方法
JP2005018623A (ja) シミュレーション装置およびシミュレーション方法
Acquaviva et al. Semi-automatic generation of device drivers for rapid embedded platform development
JP3776058B2 (ja) システムlsi、システムlsiの設計方法、及び、記録媒体
JP2001256048A (ja) データ処理装置のシミュレーション
JP2004310568A (ja) シミュレータ装置、シミュレーション方法および性能解析方法
JP2828590B2 (ja) マイクロプログラム検証方法
Ranga ParrotPiton and ZynqParrot: FPGA Enablements for the BlackParrot RISC-V Processor
Puhm et al. Development of a flexible gateway platform for automotive networks
US9442788B2 (en) Bus protocol checker, system on chip including the same, bus protocol checking method
Saghir et al. Modeling computer hardware platforms using DEVS and HLA simulation
JP2009217720A (ja) プログラム生成装置およびプログラム生成方法
JP2003233403A (ja) 制御装置およびプログラミング装置
JP2001084161A (ja) データ処理装置
Vijaya Ranga ParrotPiton and ZynqParrot: FPGA Enablements for the BlackParrot RISC-V Processor
JPH10340251A (ja) バス調停シミュレーション方法、最適バス調停方式決定方法、バス調停シミュレーションプログラムを記録したコンピュータ読み取り可能な記録媒体、及び最適バス調停方式決定プログラムを記録したコンピュータ読み取り可能な記録媒体
Madl et al. Cross-abstraction functional verification and performance analysis of chip multiprocessor designs
Yuan et al. A Flexible FPGA-Based ISA Configurable SoC platform
JP2016063727A (ja) 電源rcpシステム
Best Real-Time Operating System Hardware Extension Core for System-on-Chip Designs
CN117172168A (zh) 在仿真中实现回调的方法、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050506

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060324

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071121

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080528