(57)【要約】      （修正有）【課題】デジタル回路用の仮想ハードウェアをテストプログラムでシミュレーションする際の試験準備を軽減し、シミュレーションの容易化に貢献する。【解決手段】デジタル回路用シミュレーション装置は、デジタル回路用の被試験論理回路（ＡＳＩＣ）３と処理モデル４，５，１６とを備えた仮想ハードウェア１２を実行ソフトウェア１１で動作をシミュレーションする。この実行ソフトウェア１１はテストプログラム９のみで構成されている。また、ＣＰＵモデル１６は初期設定値を取り込む入力ポート２１を備え、入力ポート２１の入力によりＣＰＵモデルのＣＰＵ初期設定が可能である。【選択図】図１
2014021572.tif 000002
【特許請求の範囲】
【請求項１】
実機と等価なＣＰＵモデルとデジタル回路用の被試験論理回路とを備えた仮想ハードウェアを実行ソフトウェアによりシミュレーションするデジタル回路用シミュレーション装置であって、
ＣＰＵモデルは初期設定値を入力する入力手段を備え、該入力手段の入力によりＣＰＵ初期設定が可能なことを特徴とするデジタル回路用シミュレーション装置
【請求項２】
実行ソフトウェアが、仮想ハードウェアをシミュレーションするテストプログラムのみで構成されていること
を特徴とする請求項１記載のデジタル回路用シミュレーション装置。
【請求項３】
実行ソフトウェアは、ＣＰＵモデルに前記初期設定をするための初期設定プログラムと、仮想ハードウェアをシミュレートするためのテストプログラムとを有し、
入力手段を通じたＣＰＵモデルのＣＰＵ初期設定と、初期設定用プログラムによるＣＰＵモデルのＣＰＵ初期設定とを選択可能なことを特徴とする請求項１記載のデジタル回路用シミュレーション装置。
【請求項４】
ＣＰＵモデルは、入力手段による初期設定値の入力と初期設定プログラムによる初期設定値の入力とを切替可能な手段を有する
ことを特徴とする請求項３記載のデジタル回路用シミュレーション装置。
【請求項５】
請求項１〜４のいずれか１項に記載のデジタル回路用シミュレーション装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル回路のハードウェア／ソフトウェアをシミュレーションする技術に関する。
【背景技術】
【０００２】
デジタル回路の開発では、開発期間およびコスト低減の要求から試作品を作成する前に予測可能な問題点を検証し、解決するために論理シミュレーションベースのハードウェア／ソフトウェアの協調検証が行われている。この協調検証方法としては非特許文献１が公知となっている。
【０００３】
図５に基づき前記協調検証の概略を説明すれば、実行ソフトウェア（ＳＷ）１により仮想ハードウェア（ＨＷ）２の動作をシミュレーションする。この仮想ハードウェア２は、被試験論理回路として機能するＡＳＩＣ３と、ソフトウェア動作用のメモリモデルとして機能するＲＯＭモデル４，ＲＡＭモデル５と、実機と等価なＣＰＵモデル６とを有し、各部３〜６はバスモデル７を通じて接続されている。
【０００４】
このＣＰＵモデル６によれば、コンパイラが出力するオブジェクトコードを実行ソフトウェア１として、実機のソフトウェアをシミュレーションすることができる。したがって、ＣＰＵモデル６を使用した仮想ハードウェア２の環境では、ハードウェア全体の試験を実機のソフトウェアでシミュレーションすることが可能である。
【０００５】
このときＣＰＵモデル６は、通常動作前に実機のＣＰＵと同様にバスモデル７のバスタイミング設定や内部メモリ（ＲＡＭモデル４等）の初期化などの制御系の各種設定を行っておく必要がある。この設定はＣＰＵ初期設定と呼ばれ、実行ソフトウェア１に含まれたＣＰＵ初期設定用プログラム８のソフトウェア処理により行われている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】発明協会公開技報  公技番号２０１１−５０４３７１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、実行ソフトウェア１は、前記初期設定用プログラム８とハードウェアを試験するためのテストプログラム９とで構成されているため、ＣＰＵモデル６を動作させるには前記初期設定用プログラム８を作成しなければならない。
【０００８】
すなわち、前記初期設定用プログラム８がなければテストプログラム９が実行できないため、仮想ハードウェア２を試験（シミュレーション）できない。ところが、前記初期設定用プログラム８はテストプログラム９とは別なので、その作成は試験準備の手間になり、試験の効率が悪化するおそれがある。
【０００９】
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、デジタル回路用の仮想ハードウェアをテストプログラムでシミュレーションする際の試験準備を軽減し、シミュレーションの容易化に貢献することを解決課題としている。
【課題を解決するための手段】
【００１０】
そこで、本発明は実機と等価なＣＰＵモデルとデジタル回路用の被試験論理回路とを備えた仮想ハードウェアを実行ソフトウェアによりシミュレーションするデジタル回路用シミュレーション装置であって、ＣＰＵモデルは初期設定値を入力する入力手段を備え、該入力手段の入力によりＣＰＵ初期設定が可能なことを特徴とする。
【００１１】
したがって、実行ソフトウェアに制御系の初期設定をするための初期設定プログラムが含まれていなくとも、ＣＰＵモデルの初期設定ができる。これにより実行ソフトウェアを、仮想ハードウェアをシミュレーションするテストプログラムのみで構成することができる。
【００１２】
本発明の一態様としては実行ソフトウェアが、ＣＰＵモデルに前記初期設定をするための初期設定プログラムと、仮想ハードウェアをシミュレートするためのテストプログラムとを有し、入力手段を通じたＣＰＵモデルのＣＰＵ初期設定と、初期設定用プログラムによるＣＰＵモデルのＣＰＵ初期設定とを選択可能とすることもできる。
【００１３】
したがって、実行ソフトウェアが、テストプログラムのみで構成されている場合と初期設定用プログラムを含む場合のいずれにも対応してＣＰＵモデルの初期設定ができる。
【００１４】
このときＣＰＵモデルは、入力手段による初期設定値の入力と初期設定プログラムによる初期設定値の入力とを切替可能としてもよい。これにより入力経路を切り替えるだけで、いずれの初期設定値にもＣＰＵモデルを設定することができる。
【００１５】
なお、本発明は、前記シミュレーション装置としてコンピュータを機能させるためのプログラムとして構成することもできる。
【発明の効果】
【００１６】
本発明によれば、デジタル回路の仮想ハードウェアを実行ソフトウェアによりシミュレーションする際に実行ソフトウェアをテストプログラムのみで構成可能なため、シミュレーションの準備が軽減され、その作業の容易化に貢献することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１実施形態に係るデジタル回路用シミュレーション装置のＣＰＵ初期設定の概略図。
【図２】図１の詳細図。
【図３】本発明の第２実施形態に係るデジタル回路用シミュレーション装置のＣＰＵ初期設定の概略図。
【図４】図３の詳細図。
【図５】従来のＣＰＵ初期設定の概略図。
【発明を実施するための形態】
【００１８】
≪第１実施形態≫
図１および図２に基づき本発明の第１実施形態に係るデジタル回路用シミュレーション装置を説明する。ここでは図５と同一の構成は同一の符号を付して説明する。
【００１９】
このシミュレーション装置は、コンピュータにソフトウェアが読み込まれることによりソフトウェアとハードウェア資源とが協働した具体的手段、即ちデジタル回路の被試験論理回路および制御系の処理モデルを主体とする図１の仮想ハードウェア１２を備える。
【００２０】
（１）仮想ハードウェア１２の構成例
仮想ハードウェア１２は、図１に示すように、ユーザが作成するカスタムＬＳＩなどの被試験論理回路として機能するＡＳＩＣ３と、ソフトウェア動作用のメモリモデルとして機能するＲＯＭモデル４，ＲＡＭモデル５と、ソフトウェア実行部分として機能する実機と等価なＣＰＵモデル１６とを有し、それぞれがバスモデル７を通じて接続されている。
【００２１】
このＣＰＵモデル１６は、コンピュータ上で動作するようにハードウェア言語で構築され、実機のＣＰＵとソフトウェアの互換性を有している。したがって、ＣＰＵモデル１６は、図５のＣＰＵモデル６と同様にコンパイラが出力するオブジェクトコードを実行ソフトウェア１１として、実機のソフトウェアをシミュレーションすることができる。これによりＣＰＵモデル１６を使用した仮想ハードウェア１２の環境では、ハードウェア全体の試験を実機のソフトウェアでシミュレーション可能である。
【００２２】
ただし、実行ソフトウェア１１は、前記シミュレーションのテストプログラム９のみで構成されている点で図５の実行ソフトウェア１と相違する。また、ＣＰＵモデル１６は、ＣＰＵ初期設定２０（制御系の各初期設定値など）２０を入力するための入力ポート２１を備えている点でＣＰＵモデル６と相違している。このＣＰＵ初期設定２０には、例えば記憶装置（メモリ、ハードディスクドライブ装置など）に記憶されたテキストファイル中の設定値を用いることができる。
【００２３】
この入力ポート２１によれば、ＣＰＵ初期設定２０をＣＰＵモデル１６に取り込んでその設定値をロードでき、従来装置のようなＣＰＵ初期設定プログラム８を用いることなく、ＣＰＵモデル１６のＣＰＵ初期設定が可能である。したがって、実行ソフトウェア１１をテストプログラム９のみで構成しても、シミュレーションが可能となる。
【００２４】
その結果、前記シミュレーション装置によれば、実行ソフトウェアをテストプログラム９のみで構成することができ、前記初期設定プログラム８の作成を省略でき、この点でシミュレーションの試験準備の手間が軽減され、その容易化に貢献することができる。
【００２５】
（２）ＣＰＵ初期設定の詳細
図２に基づきＣＰＵ初期設定の詳細を説明する。ここでは実行ソフトウェア１１はテストプログラム９のみで構成され、ＣＰＵ初期設定２０にはメモリ初期値（例えばＲＡＭモデル５の初期値など）２０ａと、タイミング設定（例えばバスモデル７のバスタイミング設定値など）２０ｂと、その他設定（例えばＣＰＵクロックなど）２０ｃとが含まれているものとする。
【００２６】
ＣＰＵモデル１６は、メモリ初期値２０ａを設定するメモリ部２２と、タイミング設定２０ｂを設定するバス制御部２３と、その他の設定２０ｃを設定するその他制御部２４と、ＣＰＵ初期設定２０の前記各設定２０ａ〜２０ｃをそれぞれ前記各部２２〜２４に出力するゲート回路２５〜２７とを有している。
【００２７】
このゲート回路２５〜２７は、ゲート回路イネーブル信号（以下、ＥＮＢ信号とする。）に応じてＩＮ入力からの取り込みが制御され、ＥＮＢ信号がＬレベルであればＩＮ入力からの入力を取り込んで前記各部２２〜２４に出力する一方、ＥＮＢ信号がＨレベルであればＩＮ入力からの入力を取り込まない。
【００２８】
ここでは実行ソフトウェア１１は、テストプログラム９のみで構成され、前記初期設定プログラム８を含まないため、入力ポート２１からＣＰＵ初期設定２０をＣＰＵモデル１６に取り込む。このときゲート回路２５〜２７にＬレベルのＥＮＢ信号を入力し、入力ポート２１をから取り込んだＣＰＵ初期設定２０をゲート回路２５〜２７のＩＮ入力を介して前記各部２２〜２４に出力する。
【００２９】
具体的にはＣＰＵ初期設定２０のメモリ初期値２０ａはゲート回路２５のＩＮ入力を介してメモリ部２２に出力され、タイミング設定２０ｂはゲート回路２６のＩＮ入力を介してバス制御部２３に出力され、その他設定２０ｃはゲート回路２７のＩＮ入力を介してその他制御部２４に出力され、それぞれの設定値が前記各部２２〜２４に設定される。
【００３０】
これにより実行ソフトウェア１１に前記初期設定プログラム８を含めることなく、ＣＰＵモデル１６のＣＰＵ初期設定が可能となり、テストプログラム９を動作させることができる。
【００３１】
≪第２実施形態≫
図３および図４に基づき本発明の第２実施形態に係るデジタル回路用シミュレーション装置を説明する。ここでは図３に示すように、従来と同様に前記初期設定プログラム８を含む実行ソフトウェア１が用いられている。
【００３２】
また、ＣＰＵモデル１６は、図４に示すように、ゲート回路２５〜２７に代わってマルチプレクサ３１〜３３を有している。このマルチプレクサ３１〜３３は、論理ゲートを組み合わせて実現可能な２入力マルチプレクサに構成され、マルチプレクサ切替信号に応じて選択制御入力（ｓｅｌｅｃｔｉｏｎ  ｉｎｐｕｔ）Ａ，Ｂを切り替えて前記各部２２〜２４に出力する。
【００３３】
したがって、入力ポート２１からＣＰＵ初期設定２０を取り込むだけでなく、マルチプレクサ３１〜３３の前記入力Ａ，Ｂを切り替えて、前記初期設定プログラム８のＣＰＵ初期設定の内容に設定することもできる。ここでは前記切替信号がＬレベルの場合は前記Ａ入力を選択し、Ｈレベルの場合は前記Ｂ入力を選択するものとする。なお、前記切替信号の一例としてリセット信号を使うが、これに限定されることなく他の信号を用いてもよい。
【００３４】
具体的にはリセット信号がアクティブ状態（ＣＰＵモデル１６のリセット中）のとき、ＣＰＵモデル１６はソフトウェア処理ができないので、前記初期設定プログラム８によるＣＰＵ初期設定は不可能である。そこで、前記アクティブ状態の場合にはＬレベルのリセット信号をマルチプレクサ３１〜３３に入力し、マルチプレクサ３１〜３３の前記Ａ入力を選択する。したがって、入力ポート２１から取り込んだＣＰＵ初期設定２０が、前記各Ａ入力を介して前記各部２２〜２４に出力されて前記各部２２〜２４に設定される。
【００３５】
一方、リセット信号がインアクティブ状態（ＣＰＵモデル１６のリセット終了後）のときはソフトウェア処理が可能となる。この場合にはＨレベルのリセット信号をマルチプレクサ３１〜３３に入力し、マルチプレクサ３１〜３３の前記Ｂ入力を選択する。したがって、実行ソフトウェア１に含まれる前記初期設定プログラム８のＣＰＵ初期設定内容を、前記各Ｂ入力を介してソフトウェア処理で設定することが可能となる。
【００３６】
この場合にＣＰＵモデル１６のＣＰＵ初期設定は、ＣＰＵモデル１６がリセット中に入力ポート２１から取り込んだＣＰＵ初期設定２０の内容で既に設定済みなため、前記ソフトウェア処理による設定は必要に応じて行うものとする。例えば試験的にＣＰＵモデル１６の設定内容を前記初期設定プログラム８のＣＰＵ初期設定内容に変更したい場合などに行う。
【００３７】
その結果、ＣＰＵモデルにＣＰＵ初期設定を入力する入力ポート２１を追加することで、ＣＰＵモデルの通常動作前にＣＰＵ初期設定を行って前記初期設定プログラム８を要せずにテストプログラム９を動作させることができる。
【００３８】
なお、本発明は、上記実施形態に限定されるものではなく、仮想ハードウェア１２の構成などは各請求項に記載された範囲内で変更して実施することができる。例えば仮想ハードウェア１２は、デュアルＣＰＵをモデル化したＣＰＵモデルであってもよく、各ＣＰＵモデルからアクセス可能な２ポートメモリとしてもよい。
【００３９】
また、第２実施形態のソフトウェア処理によるＣＰＵ設定は、ＣＰＵ初期設定後の試験的な設定変更に限定されるものではなく、従来どおりのソフトウェア処理によるＣＰＵ初期設定と、入力ポート２１を経由したＣＰＵ初期設定とをリセット信号などの前記切替信号に応じて選択することが可能である。
【００４０】
さらに、本発明は、前記シミュレーション装置としてコンピュータを機能させるシミュレーション用のプログラムとして構成することもできる。このプログラムによれば、入力ポート２１を備えたＣＰＵモデル１６の機能がコンピュータ上で実現される。
【００４１】
このプログラムは、Ｗｅｂサイトや電子メールなどネットワークを通じて提供することができ、またＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭなどの記録媒体に記録して提供することができる。この記録媒体は、記録媒体駆動装置（光学ドライブ装置など）を利用して読み出され、そのプログラムコード自体が前記各実施形態の処理を実現するので、該記録媒体も本発明を構成する。
【符号の説明】
【００４２】
３…ＡＳＩＣ
４…ＲＯＭモデル
５…ＲＡＭモデル
７…バスモデル
８…ＣＰＵ初期設定プログラム
９…テストプログラム
１，１１…実行ソフトウェア
１２…仮想ハードウェア
１６…ＣＰＵモデル
２０…ＣＰＵ初期設定（初期設定値）
２１…入力ポート（入力手段）
２２…メモリ部
２３…バス制御部
２４…その他制御部
２５〜２７…ゲート回路
３１〜３３…マルチプレクサ
【図１】
2014021572.tif 000003
【図２】
2014021572.tif 000004
【図３】
2014021572.tif 000005
【図４】
2014021572.tif 000006
【図５】
2014021572.tif 000007