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
Links
Abstract
デリングする際に、モデルの抽象度に合わせてモデル記
述を変更することを不要にし、複数の抽象度の選択がで
き、選択した抽象度の動作基準の時間概念で動作させ
る。 【解決手段】モデリング対象のハードウェアで実行され
る処理を小さな処理単位に分割してそれぞれの処理単位
をオブジェクトとして作成し、選択した抽象度の動作基
準毎にステートが遷移するステートマシンによりモデリ
ング対象のハードウェアの動作を表現し、このステート
マシンの各ステートで実行される処理に対応するオブジ
ェクトを各ステートに組み込むことにより選択した抽象
度の動作基準の時間概念で動作するハードウェアモデル
を作成する。
Description
デルをCPUやバス等を含むシステムのモデルに組み込
み、システム全体のシミュレーションを行う際に用いる
ハードウェアモデルを作成するハードウェアモデリング
方法に関する。
シミュレーション環境にハードウェアのモデルを組み込
んでシステムシミュレーションを行う際、組み込むハー
ドウェアのモデルは周辺のCPUやバスの抽象度に合わ
せてその都度記述を変更する必要があった。
たハードウェアモデルからバスプロトコルやクロックの
概念がある環境に組み込むハードウェアモデルを作成す
る場合、クロックの時間概念やバスプロトコルといった
外部とのインターフェースを手作業にて組み込んでいく
必要がある。逆にRTLなどの既存のHDLで書かれた
ハードウェアモデルからハードウェアの機能のみに特化
したモデルを作成する場合は手作業により複数の処理を
合併する等の抽象化が必要であった。
デルからプロセッサの入出力命令の動作レベルに抽象化
する抽象化手段を備えることで、RTLで記述されたハ
ードウェアモデルを用いてソフトウェア検証を効率よく
行う技術として、特開平10−187789号公報に記
載されたものがある。
間概念の組込みはハードウェアの記述を作成するモデル
の抽象度に合わせて記述変更する必要があり、抽象度毎
に固有のモデルとなるためモデルの再利用が難しく、モ
デル開発にかかる工数が大きかった。また、上記RTL
で記述されたハードウェアモデルを抽象化する手段を備
える技術は、ソフトウェア検証においては有用である
が、複数の時間概念の抽象度を選択することはできな
い。
で、ハードウェアの動作をプログラム言語によりモデリ
ングする際に、モデルの抽象度に合わせてモデル記述を
変更することを不要にし、複数の抽象度の選択ができ、
選択した抽象度の動作基準の時間概念で動作させること
が可能なハードウェアモデリング方法を提供することを
目的とする。
に、本発明の請求項1に係るハードウェアモデリング方
法は、ハードウェアの動作をプログラム言語によりモデ
リングするハードウェアモデリング方法であって、モデ
リング対象のハードウェアで実行される処理を小さな処
理単位に分割してそれぞれの処理単位をオブジェクトと
して作成し、選択した抽象度の動作基準毎にステートが
遷移するステートマシンによりモデリング対象のハード
ウェアの動作を表現し、このステートマシンの各ステー
トで実行される処理に対応するオブジェクトを各ステー
トに組み込むことにより選択した抽象度の動作基準毎に
動作するハードウェアモデルを作成するものである。
度に合わせてモデリングしていたハードウェアを、選択
した抽象度に応じたステートマシンの記述と、そのステ
ートマシンの各ステートで実行するオブジェクトの組合
せにより作成することができるようになり、オブジェク
トの再利用が可能となるため、ハードウェアモデル作成
作業の効率を向上させることができ、ハードウェアモデ
ル開発期間を短縮することができる。
合せにより、さまざまな抽象度のハードウェアモデリン
グが可能となり、プロセッサやバスや周辺機器の抽象度
に応じた時間概念で動作するハードウェアモデルを作成
することが可能となる。
リング方法は、請求項1記載のハードウェアモデリング
方法において、前記抽象度の動作基準はクロックサイク
ルであるような抽象度の選択が可能なものである。
スや周辺機器の抽象度に応じた時間概念としてクロック
サイクルで動作するハードウェアモデルを作成すること
ができる。
リング方法は、請求項1記載のハードウェアモデリング
方法において、動作基準とは別途、パラメータによりハ
ードウェアモデルの処理時間を計算することが可能なも
のである。
ラメータにより与えられた場合でも、処理時間を計算す
るオブジェクトを用いることでハードウェアモデルの処
理時間を計算することが可能になる。
て図面を参照しながら詳細に説明する。ここでは本発明
の一実施の形態に係るハードウェアモデリング方法を適
用する対象ハードウェア例として、64ビットのデータ
を入力として受け取り、ハードウェアの内部でデータ変
換1、データ変換2、データ変換3の処理によりデータ
を変換し、32ビットのデータを出力するデータ変換装
置のハードウェアモデルを用いて説明する。
化したシミュレーション環境を示すモデル構成図であ
る。図1において、1はメモリとCPUを合併したモデ
ル、2は上記データ変換装置のハードウェアモデルであ
る。この構成でのモデリングを抽象度1とする。
ルは、ソフトウェアからの起動により64ビットの入力
データをCPUモデルから受け取り、データ変換処理を
行い、32ビット出力データをCPUモデルへ渡す。
ーション環境を示すモデル構成図である。図2におい
て、3はCPUモデル、4はDMAコントローラ、5は
前記データ変換装置のハードウェアモデル、6は共有の
メモリ、7は32ビットバスである。この構成でのモデ
リングを抽象度2とする。
ードウェアモデルにおける入出力ポートを示す図であ
り、図4はこのデータ変換装置のハードウェアモデルを
実現する処理オブジェクトとその処理を実行するステー
トの対応表である。さらに、図5はこのデータ変換装置
のハードウェアモデルのステートマシンと処理オブジェ
クトの状態遷移図である。
ードウェアモデルにおける入出力ポートを示す図であ
り、図7はこのデータ変換装置のハードウェアモデルを
実現する処理オブジェクトとその処理を実行するステー
トの対応表である。さらに、図8はこのデータ変換装置
のハードウェアモデルのステートマシンと処理オブジェ
クトの状態遷移図である。
おけるデータ変換装置のハードウェアの動作をモデル化
する場合について図3から図5を参照して説明する。こ
の構成ではバスの概念がないためアドレス取得や制御信
号取得は考慮しないものとする。
として起動待ちとなっておりステートS10の状態にい
る。S10では起動待ちのオブジェクトを実行する。ハ
ードウェアが起動されるとステートはS11に遷移し、
データ入力オブジェクト10を実行して全入力データを
受け取り、全入力データに対してデータ変換1、データ
変換2、データ変換3のオブジェクト11、12、13
を実行して出力データを生成し、データ出力オブジェク
ト14によりデータを出力し、動作パラメータ計算のオ
ブジェクト15により処理時間等を計算する。
図9のフロー図に示す。このステートマシンではステー
トS10で起動がかかると、次のステートS11でデー
タ入力、データ変換、データ出力を全て行い、処理時間
等の情報は動作パラメータ計算で計算する。
のステートマシン部をC言語で実現した例を図11に示
す。この記述において、ステートの対応、および関数と
オブジェクトの対応は次の通りである。
ト
アの動作をモデル化する場合について図6から図8を参
照して説明する。この構成では32ビットのバスにハー
ドウェアが接続されているため、データ入力は32ビッ
トずつ2度に分けて行う必要がある。またデータ転送は
メモリからのDMA転送により行うものとする。その
際、ソフトウェアからのハードウェア起動によりDMA
転送で最初の32ビットデータを入力し、2度目の入力
はハードウェアの内部処理によりDMAコントローラに
割り込みを出すものとする。
として起動待ちとなっておりステートS20の状態にい
る。S20では起動待ちのオブジェクト9を実行する。
ハードウェアが起動されるとステートはS21に遷移
し、アドレスのデコードと制御信号の取得を行うオブジ
ェクト17、18を実行する。その後ステートS22へ
遷移し、1度目の入力データを取得するオブジェクト1
0を実行する。
タに対してデータ変換1、データ変換2、データ変換3
のオブジェクト11、12、13を実行し、次の入力デ
ータの有無を確認し、次の入力データがある場合はステ
ートS24へ遷移してDMAコントローラへ入力データ
の転送用に割込みを発生するオブジェクト19を実行す
る。その後再度S22へ遷移して次のデータを受け取り
S23での処理を行う。
換処理1、2、3を行うと、ステートS25に遷移して
DMAコントローラに出力用の割込みを起すオブジェク
ト20を実行し、ステートS26でデータを出力するオ
ブジェクト14を実行し、ステートS27でCPUにハ
ードウェアの全処理終了の割込みを起すオブジェクト2
1を実行してS20に戻る。このステートの評価をクロ
ック毎に行うようにしてサイクル精度で動作するハード
ウェアモデルが実現できる。なお、図5のオブジェクト
9からオブジェクト14までを図8で再利用している。
図10のフロー図に示す。また、この抽象度2のハード
ウェアモデルのステートマシン部をC言語で実現した例
を図12に示す。この記述において、ステートの対応、
および関数とオブジェクトの対応は次の通りである。
従来、周辺回路の抽象度に合わせてモデリングしていた
ハードウェアを、選択した抽象度に応じたステートマシ
ンの記述と、そのステートマシンの各ステートで実行す
るオブジェクトの組合せにより作成することができるよ
うになり、オブジェクトの再利用が可能となるため、ハ
ードウェアモデル作成作業の効率を向上させることがで
き、ハードウェアモデル開発期間を短縮することができ
る。
オブジェクトの組合せにより、さまざまな抽象度のハー
ドウェアモデリングが可能となり、プロセッサやバスや
周辺機器の抽象度に応じた時間概念で動作するハードウ
ェアモデルを作成することが可能となる。
作基準を外部からパラメータで与えることにより、すで
に作成されたハードウェアモデルに対して任意に時間概
念を与えることができる。また、この場合に処理時間を
計算するオブジェクトを用いることでハードウェアモデ
ルの処理時間を計算することが可能になる。
リング方法を適用した、システムの構成と時間の概念を
抽象化した抽象度1のシミュレーション環境を示すモデ
ル例の構成図である。
リング方法を適用した、クロックレベルで動作する抽象
度2のシミュレーション環境を示すモデル例の構成図で
ある。
力ポートを示す図である。
理オブジェクトとその処理を実行するステートの対応表
である。
シンと処理オブジェクトの状態遷移図である。
力ポートを示す図である。
理オブジェクトとその処理を実行するステートの対応表
である。
シンと処理オブジェクトの状態遷移図である。
ー図である。
ロー図である。
マシン部をC言語で実現した記述例を示す図である。
マシン部をC言語で実現した記述例を示す図である。
ト 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】 ハードウェアの動作をプログラム言語に
よりモデリングするハードウェアモデリング方法であっ
て、 モデリング対象のハードウェアで実行される処理を小さ
な処理単位に分割してそれぞれの処理単位をオブジェク
トとして作成し、選択した抽象度の動作基準毎にステー
トが遷移するステートマシンにより前記ハードウェアの
動作を表現し、前記ステートマシンの各ステートで実行
される処理に対応する前記オブジェクトを各ステートに
組み込むことにより前記抽象度の動作基準毎に動作する
ハードウェアモデルを作成することを特徴とするハード
ウェアモデリング方法。 - 【請求項2】 前記抽象度の動作基準はクロックサイク
ルであるような抽象度の選択が可能なことを特徴とする
請求項1記載のハードウェアモデリング方法。 - 【請求項3】 動作基準とは別途、パラメータによりハ
ードウェアモデルの処理時間を計算することが可能なこ
とを特徴とする請求項1記載のハードウェアモデリング
方法。 - 【請求項4】 請求項1から請求項3のうちいずれか1
項記載のハードウェアモデリング方法で作成したハード
ウェアモデル。
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)
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 | 三菱電機株式会社 | データ処理装置及びデータ処理システム及びシミュレーション方法及びプログラム |
-
2002
- 2002-05-14 JP JP2002138584A patent/JP2003330991A/ja active Pending
Cited By (3)
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 |