(57)【要約】  【課題】  共通のハードウェア構成を有する複数の製品の検証をするシミュレータにおいて、流用が可能な周辺ハードウェアはハードウェアで構成し、それ以外の周辺ハードウェアをソフトウェアシミュレータで構成するシミュレータ、シミュレーション方法を提供する。  【解決手段】  少なくともＣＰＵとＯＳが単体で動ける範囲での周辺ハードウェア構成を有するハードウェア部と、ハードウェア部を構成するハードウェア以外の周辺ハードウェアの動作を周辺ハードウェアモデルとしてシミュレートするソフトウェア部と、前記ハードウェア部と前記ソフトウェア部を接続するインターフェイスボードとを備えた。  【選択図】  図１
2008282314.tif 000002
【特許請求の範囲】
【請求項１】
少なくともＣＰＵとＯＳが単体で動ける範囲での周辺ハードウェア構成を有するハードウェア部と、
ハードウェア部を構成するハードウェア以外の周辺ハードウェアの動作を周辺ハードウェアモデルとしてシミュレートするソフトウェア部と、
前記ハードウェア部と前記ソフトウェア部を接続するインターフェイスボードと
を備えるシミュレータ。
【請求項２】
請求項１に記載のシミュレータにおいて、
前記インターフェイスボードは前記ソフトウェア部とＰＣＩバス接続することを特徴とするシミュレータ。
【請求項３】
請求項１または請求項２に記載のシミュレータにおいて、
前記インターフェイスボードは前記ハードウェア部とバス接続することを特徴とするシミュレータ。
【請求項４】
少なくともＣＰＵとＯＳが単体で動ける範囲での周辺ハードウェア構成を有するハードウェア部と、
ハードウェア部を構成するハードウェア以外の周辺ハードウェアの動作を周辺ハードウェアモデルとしてシミュレートするソフトウェア部とを、
インターフェイスボードで接続してシミュレーションを行なうシミュレーション方法。
【請求項５】
請求項４に記載のシミュレーション方法において、
前記インターフェイスボードは前記ソフトウェア部とＰＣＩバス接続することを特徴とするシミュレーション方法。
【請求項６】
請求項４または請求項５に記載のシミュレーション方法において、
前記インターフェイスボードは前記ハードウェア部とバス接続することを特徴とするシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通のハードウェア構成を有する複数の製品の検証をするシミュレータにおいて、流用が可能な周辺ハードウェアはハードウェアで構成し、それ以外の周辺ハードウェアをソフトウェアシミュレータで構成するシミュレータ、シミュレーション方法に関する。
【背景技術】
【０００２】
製品化するターゲット製品の動作を検証する場合、ターゲット製品そのままの構成を製造し検証することが望ましいが、製造費、製造工数の都合で、ターゲット製品のシミュレータで動作検証が行なわれる場合が多い。低コストでなされるターゲット製品の検証において、ターゲット製品のハードウェア構成の一部をエミュレートするハードウェアエミュレータとターゲット製品の他のハードウェア構成をシミュレートするソフトウェアシミュレータからなるシミュレータが知られている。
【０００３】
また、シミュレーション対象のハードウェアロジックをＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）に書き込み、ＦＰＧＡ上で実行させるハードウェア・アクセラレーション・システムが知られている（例えば特許文献１）。
【特許文献１】特開２００３−２２３４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ハードウェアエミュレータとソフトウェアシミュレータからなるシミュレータはターゲット製品のハードウェア構成が変わる毎にハードウェアエミュレータを変更する必要があり、ハードウェアエミュレータを再利用できず、効率的な低コスト化が図れないという問題がある。
【０００５】
また、特許文献１のハードウェア・アクセラレーション・システムもターゲット製品のハードウェア構成が変わる毎にそのハードウェア構成全てのハードウェアロジックをＦＰＧＡに書き込む必要がある。
【０００６】
本発明は上述した課題を解決するためになされたものであり、共通のハードウェア構成を有する複数の製品の検証をするシミュレータにおいて、流用が可能な周辺ハードウェアはハードウェアで構成し、それ以外の周辺ハードウェアをソフトウェアシミュレータで構成するシミュレータ、シミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するため、本発明に係るシミュレータは、少なくともＣＰＵとＯＳが単体で動ける範囲での周辺ハードウェア構成を有するハードウェア部と、ハードウェア部を構成するハードウェア以外の周辺ハードウェアの動作を周辺ハードウェアモデルとしてシミュレートするソフトウェア部と、前記ハードウェア部と前記ソフトウェア部を接続するインターフェイスボードとを備えるものである。
【０００８】
また、上述のシミュレータにおいて、前記インターフェイスボードは前記ソフトウェア部とＰＣＩバス接続することを特徴とする。
【０００９】
また、上述のシミュレータにおいて、前記インターフェイスボードは前記ハードウェア部とバス接続することを特徴とする。
【００１０】
また、上述した課題を解決するため、本発明に係るシミュレーション方法は、少なくともＣＰＵとＯＳが単体で動ける範囲での周辺ハードウェア構成を有するハードウェア部と、ハードウェア部を構成するハードウェア以外の周辺ハードウェアの動作を周辺ハードウェアモデルとしてシミュレートするソフトウェア部とを、インターフェイスボードで接続してシミュレーションを行なうものである。
【００１１】
また、上述のシミュレーション方法において、前記インターフェイスボードは前記ソフトウェア部とＰＣＩバス接続することを特徴とする。
【００１２】
また、上述のシミュレーション方法において、前記インターフェイスボードは前記ハードウェア部とバス接続することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、共通のハードウェア構成を有する複数の製品の検証をするシミュレータにおいて、流用が可能な周辺ハードウェアはハードウェアで構成し、それ以外の周辺ハードウェアをソフトウェアシミュレータで構成することによって、低コストでシミュレーションを行うことが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面を参照しつつ説明する。また、本実施の形態では、無圧縮の画像データに対しＪＰＥＧ圧縮を行う装置を想定したシミュレータとして説明する。
【００１５】
まず、本実施の形態におけるシミュレータの構成図を図１に示す。
【００１６】
シミュレータ５は、ＣＰＵボード１０（ハードウェア部）、インターフェイスボードとしてＰＣＩボード２０、周辺ハードウェアの動作をシミュレートする周辺ハードウェアシミュレータとしてＰＣ３０（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ、ソフトウェア部）とを備える。
【００１７】
ＣＰＵボード１０は、プリント基板上に少なくともＣＰＵを備えたボードである。本実施の形態におけるＣＰＵボードは、可能な限り最小限の機器構成として、ＣＰＵ１０１、メモリ１０２（ＲＡＭ、ＲＯＭ）、時間管理を行うタイマーコントローラ１０４、ＣＰＵ１０１に対し割り込み要求信号を発生させる割り込みコントローラ１０３、位相同期回路であるＰＬＬ、およびリセット回路であるＲＳＥＴを備える。
【００１８】
ＰＣＩボード１は、ＣＰＵボードとＰＣ３０とを接続するため、かつＣＰＵボードとＰＣ３０との中間バッファとなるためのインターフェイスボードである。またＰＣＩボード１は、ＣＰＵボード１０からもＰＣ３０からもアクセスできるデュアルポートメモリ２０を備える。またデュアルポートメモリ２０の内部構成は、レジスタ２０１、制御回路２０２、ＤＭＡＣ２０３、送受信バッファ２０４となっている。
【００１９】
ＰＣ３０は、画像データに対しＪＰＥＧ圧縮を実施する周辺ハードウェアモデル３０１（図１ではＨ／Ｗモデルと表記）、環境設定ファイル３０３を備え、これらが１つのセットとして周辺ハードウェアとしてシミュレートされる（図１では、周辺Ｈ／Ｗ  Ａ、周辺Ｈ／Ｗ  Ｂ、・・・と表記）。また、ＰＣ３０は全てのシミュレートされた周辺ハードウェアのデータの入出力とＰＣＩボード２０の制御を行なうドライバ３０２を備える。
【００２０】
また、本実施の形態におけるレジスタ２０１には、割り込みイベント発生レジスタ、および割り込み／ＷＡＩＴイベント発生レジスタとしての２つの機能を有する。次に、これらのレジスタにアクセスされた場合の動作について説明する。
【００２１】
レジスタ２０１の割り込みイベント発生レジスタとして設定されたアドレス範囲にアクセスされることで、ＰＣＩボード１は周辺ハードウェアモデル３０１へ割り込みを通知する。また、割り込みイベント発生レジスタとして設定されたアドレス範囲に設定された値の初期値は０とし、初期値が０の時は割り込み無しとする。
【００２２】
レジスタ２０１の割り込み／ＷＡＩＴイベント発生レジスタとして設定された範囲にアクセスされることで、ＰＣＩボード１は周辺ハードウェアモデル３０１へ割り込みを通知する。同時に、周辺ハードウェアモデル３０１からの待機解除の指示があるまで、ＣＰＵ１０１は待機（ＷＡＩＴ）される。また、割り込み／ＷＡＩＴイベント発生レジスタとして設定されたアドレス範囲に設定された値の初期値は０とし、初期値が０の時は割り込みおよびＷＡＩＴ無しとする。
【００２３】
次に、本実施の形態におけるＪＰＥＧ圧縮処理を実施するためのレジスタ２０１の割り振りを図２に示す。
【００２４】
プロファイルデータ用レジスタ、転送元アドレスサイズレジスタ、および転送先アドレスサイズレジスタは、ＣＰＵ１０１から周辺ハードウェアモデル３０１へ送信されるＪＰＥＧ圧縮処理を行うための設定情報が格納される。尚、本実施の形態ではプロファイルデータ用レジスタにＪＰＥＧ圧縮率が格納される。
【００２５】
コントロールレジスタは、変換スタート等のＪＰＥＧ圧縮処理を制御するためのレジスタである。また、動作ステータスレジスタは、動作中や変換エラー等の周辺ハードウェアモデル３０１の処理状態を格納するためのレジスタである。
【００２６】
本実施の形態においては、図２の「レジスタの機能割り振り」に示すように、プロファイルデータ用レジスタの開始アドレスは１００番地、転送元アドレスサイズレジスタ、および転送先アドレスサイズレジスタの開始アドレスはそれぞれ１０４番地、１０８番地とする。また、コントロールレジスタの開始アドレスは１０Ｃ番地、動作ステータスレジスタの開始アドレスは１１０番地とする。
【００２７】
また、図２の「レジスタの対応関係」に示すように、割り込みイベント発生レジスタを１０Ｃ番地から１０Ｆ番地に割り当て、割り込み／ＷＡＩＴイベント発生レジスタを１１０番地から１１３番地に割り当てる。このように設定することで、コントロールレジスタ（開始アドレスは１０Ｃ番地）がアクセスされると周辺ハードウェアモデル３０１に対し割り込みイベントが発生し、動作ステータスレジスタ（開始アドレスは１１０番地）がアクセスされると、周辺ハードウェアモデル３０１に対し割り込みイベントが発生するとともにＣＰＵ１０１に対しＷＡＩＴイベントが発生する。
【００２８】
次に、本実施の形態におけるＪＰＥＧ圧縮処理を図３を参照しつつ説明する。
【００２９】
まず、初期設定としてＰＣＩボード１は環境設定ファイル３０３の情報を制御部２０２に予め取り込む（ステップＳ１）。尚、環境設定ファイル３０３には、上述の図２に示した情報が格納されている。
【００３０】
ＣＰＵボード１０は、プロファイルデータ、転送元アドレス、転送先アドレスをレジスタ２０１のプロファイルデータ用レジスタ、転送元アドレスサイズレジスタ、および転送先アドレスサイズレジスタにセットする（ステップＳ２）。
【００３１】
ＣＰＵ１０１が周辺ハードウェアモデル３０１にＪＰＥＧ変換を開始させるため、ＪＰＥＧ変換開始用の値をレジスタ２０１のコントロールレジスタにセットする（ステップＳ３）。
【００３２】
ＣＰＵ１０１から割り込みイベント発生レジスタとして割り振られたコントロールレジスタへのアクセスがあったため、ＰＣＩボード１はドライバ３０２を介して周辺ハードウェアモデル３０１に対し割り込み通知を発生する（ステップＳ４）。
【００３３】
割り込み通知を受けた周辺ハードウェアモデル３０１は、レジスタ２０１のコントロールレジスタに設定された内容を確認し、ＪＰＥＧ変換開始用の値であれば、プロファイルデータ、転送元アドレス・サイズ、および転送先アドレス・サイズをそれぞれレジスタ２０１のプロファイルデータ用レジスタ、転送元アドレスサイズレジスタ、および転送先アドレスサイズレジスタから読み出す（ステップＳ５）。
【００３４】
その後、周辺ハードウェアモデル３０１は、ＰＣＩボード１のＤＭＡＣ２０３（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）に対しＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を要求する。ＤＭＡの要求を受けたＤＭＡＣ２０３は、無圧縮の画像データをＣＰＵボード１０のメモリ１０２からＰＣＩボード１の送受信バッファを経由することで、周辺ハードウェアモデル３０１が処理を行うＰＣ３０上のメモリへと展開する。
【００３５】
周辺ハードウェアモデル３０１は圧縮演算を開始するとともに、レジスタ２０１の動作ステータスレジスタに予め割り当てられた値をセットする（ステップＳ６）。
【００３６】
動作ステータスレジスタに書き込まれる値には、周辺ハードウェアモデル３０１の処理内容（動作中や変換エラー等）の値に加え、ＣＰＵ１０１と同期が必要な処理か否かが値として予め設けられており、ステップＳ６では同期が必要な値がセットされたものとする。
【００３７】
ＣＰＵ１０１は動作ステータスを読み出すため、レジスタ２０１の動作ステータスレジスタにアクセスする（ステップＳ７）。
【００３８】
割り込み／ＷＡＩＴイベント発生レジスタに割り振られた動作ステータスレジスタへのアクセスがあり、且つ同期が必要な値がセットされているため、ＰＣＩボード１は、ドライバ３０２を介して周辺ハードウェアモデル３０１に対し割り込み通知を発生し、それと同時にＣＰＵ１０１を待機（ＷＡＩＴ）させる。（ステップＳ８）。
【００３９】
その後周辺ハードウェアモデル３０１は、ＣＰＵ１０１と同期が必要な処理が終了した場合、動作ステータスを動作ステ−タスレジスタに書き込み（ＣＰＵ１０１と同期が不要な値）、更にＷＡＩＴ解除コマンドを発行する（ステップＳ９）。
【００４０】
ＷＡＩＴ解除コマンドを受けたＰＣＩボード１は、更にＣＰＵ１０１に対しＷＡＩＴの解除を行う（ステップＳ１０）。ＣＰＵ１０１は、周辺ハードウェアモデル３０１の発行したＷＡＩＴ解除コマンドに基づいてＷＡＩＴを解除し、周辺ハードウェアモデル３０１が書き込んだ動作ステータスを読み出す。
【００４１】
尚、ＰＣＩボード１からＣＰＵ１０１へのＷＡＩＴ解除は、レジスタ２０１に別途ＷＡＩＴ解除用レジスタを予め設け、周辺ハードウェアモデル３０１の発行したＷＡＩＴ解除コマンドによってＷＡＩＴ解除用レジスタがアクセスされることで行われてもよい。
【００４２】
周辺ハードウェアモデル３０１は、ＪＰＥＧ圧縮演算が完了すると、上述の転送先アドレス・サイズを読み出し、ＰＣＩボード１のＤＭＡＣ２０３に対しＤＭＡを要求する。ＤＭＡの要求を受けたＤＭＡＣ２０３は、ＪＰＥＧ圧縮画像データを周辺ハードウェアモデル３０１が処理を行うＰＣ３０上のメモリからＰＣＩボード１の送受信バッファを経由することで、ＣＰＵボード１０のメモリ１０２へと展開する。
【００４３】
周辺ハードウェアモデル３０１は、レジスタ２０１の動作ステ−タスレジスタに動作正常完了の動作ステータスを書き込み（ＣＰＵ１０１と同期が不要な値）、更に割込み要求コマンドをＣＰＵ１０１発行する（ステップＳ１１）。
【００４４】
尚、デュアルポートメモリ２０を更にＰＣ３０上で動作する周辺ハードウェア毎（周辺Ｈ／Ｗ  Ａ、周辺Ｈ／Ｗ  Ｂ、・・・）に複数にエリアを分割し、分割されたエリアごとにＣＰＵ１０１に対するＷＡＩＴおよび周辺ハードウェアモデルに対し割り込み通知を発生させる構成にしてもよい。このような構成にすることで、複数の周辺ハードウェアとＣＰＵ１０１との同期をとることが可能であり、よって複数の周辺ハードウェアを含んだターゲット製品を総合的に検証することができる。
【００４５】
上述したように、ハードウェアの動作とハードウェアモデルの動作をインターフェイスによって連携させることにより、共通のハードウェア構成を有する複数のターゲット製品の検証をするシミュレータにおいて、流用できるハードウェア構成はハードウェアで構成し、それ以外のハードウェア構成はソフトウェアシミュレーションにより構成することができ、コストと手間を軽減することができる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態における、シミュレータの構成を示す図である。
【図２】本発明の実施の形態における、レジスタの機能割り振りおよび対応関係を示す図である。
【図３】本発明の実施の形態における、処理シーケンスを示す図である。
【符号の説明】
【００４７】
１  ＰＣＩボード、５  シミュレータ、１０  ＣＰＵボード、２０  デュアルポートメモリ、３０  ＰＣ、１０１  ＣＰＵ、１０２  メモリ、１０３  割り込みコントローラ、１０４  タイマコントローラ、２０１  レジスタ、２０２  制御部、２０３  ＤＭＡＣ、２０４  送受信バッファ、３０１  周辺ハードウェアモデル、３０２  ドライバ、３０３  環境設定ファイル。
【図１】
2008282314.tif 000003
【図２】
2008282314.tif 000004
【図３】
2008282314.tif 000005