特許第6089469号(P6089469)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社明電舎の特許一覧

特許6089469デジタル回路用シミュレーション装置及びそのプログラム。
<>
  • 特許6089469-デジタル回路用シミュレーション装置及びそのプログラム。 図000002
  • 特許6089469-デジタル回路用シミュレーション装置及びそのプログラム。 図000003
  • 特許6089469-デジタル回路用シミュレーション装置及びそのプログラム。 図000004
  • 特許6089469-デジタル回路用シミュレーション装置及びそのプログラム。 図000005
  • 特許6089469-デジタル回路用シミュレーション装置及びそのプログラム。 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6089469
(24)【登録日】2017年2月17日
(45)【発行日】2017年3月8日
(54)【発明の名称】デジタル回路用シミュレーション装置及びそのプログラム。
(51)【国際特許分類】
   G06F 17/50 20060101AFI20170227BHJP
   H01L 21/82 20060101ALI20170227BHJP
【FI】
   G06F17/50 664J
   H01L21/82 T
   G06F17/50 664A
【請求項の数】2
【全頁数】9
(21)【出願番号】特願2012-157022(P2012-157022)
(22)【出願日】2012年7月13日
(65)【公開番号】特開2014-21572(P2014-21572A)
(43)【公開日】2014年2月3日
【審査請求日】2015年6月2日
(73)【特許権者】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100086232
【弁理士】
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100104938
【弁理士】
【氏名又は名称】鵜澤 英久
(74)【代理人】
【識別番号】100096459
【弁理士】
【氏名又は名称】橋本 剛
(72)【発明者】
【氏名】森 文彦
(72)【発明者】
【氏名】船津 有
【審査官】 合田 幸裕
(56)【参考文献】
【文献】 特開2007−156728(JP,A)
【文献】 特開2007−034680(JP,A)
【文献】 特開平10−312311(JP,A)
【文献】 特開2000−293557(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/50
H01L 21/82
IEEE Xplore
CiNii
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
実機と等価なCPUモデルとデジタル回路用の被試験論理回路とを備えた仮想ハードウェアを実行ソフトウェアによりシミュレーションするデジタル回路用シミュレーション装置であって、
CPUモデルは、初期設定値を入力することでCPU初期設定を可能とする入力手段と、
実行ソフトウェアにCPUモデルの初期設定用プログラムと仮想ハードウェアをシミュレーションするテストプログラムとが含まれていれば、CPUモデルのリセット信号に応じて入力手段を通じたCPUモデルの初期設定と、初期設定プログラムによるCPUモデルの初期設定とのいずれか一方を選択する選択手段と、を備え、
選択手段は、前記リセット信号がアクティブ状態であれば、入力手段を通じたCPUモデルの初期設定を選択する一方、
前記リセット信号がインアクティブ状態であれば、初期設定プログラムによるCPUモデルの初期設定を選択する
ことを特徴とするデジタル回路用シミュレーション装置。
【請求項2】
請求項1に記載のデジタル回路用シミュレーション装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル回路のハードウェア/ソフトウェアをシミュレーションする技術に関する。
【背景技術】
【0002】
デジタル回路の開発では、開発期間およびコスト低減の要求から試作品を作成する前に予測可能な問題点を検証し、解決するために論理シミュレーションベースのハードウェア/ソフトウェアの協調検証が行われている。この協調検証方法としては非特許文献1が公知となっている。
【0003】
図5に基づき前記協調検証の概略を説明すれば、実行ソフトウェア(SW)1により仮想ハードウェア(HW)2の動作をシミュレーションする。この仮想ハードウェア2は、被試験論理回路として機能するASIC3と、ソフトウェア動作用のメモリモデルとして機能するROMモデル4,RAMモデル5と、実機と等価なCPUモデル6とを有し、各部3〜6はバスモデル7を通じて接続されている。
【0004】
このCPUモデル6によれば、コンパイラが出力するオブジェクトコードを実行ソフトウェア1として、実機のソフトウェアをシミュレーションすることができる。したがって、CPUモデル6を使用した仮想ハードウェア2の環境では、ハードウェア全体の試験を実機のソフトウェアでシミュレーションすることが可能である。
【0005】
このときCPUモデル6は、通常動作前に実機のCPUと同様にバスモデル7のバスタイミング設定や内部メモリ(RAMモデル4等)の初期化などの制御系の各種設定を行っておく必要がある。この設定はCPU初期設定と呼ばれ、実行ソフトウェア1に含まれたCPU初期設定用プログラム8のソフトウェア処理により行われている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】発明協会公開技報 公技番号2011−504371
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、実行ソフトウェア1は、前記初期設定用プログラム8とハードウェアを試験するためのテストプログラム9とで構成されているため、CPUモデル6を動作させるには前記初期設定用プログラム8を作成しなければならない。
【0008】
すなわち、前記初期設定用プログラム8がなければテストプログラム9が実行できないため、仮想ハードウェア2を試験(シミュレーション)できない。ところが、前記初期設定用プログラム8はテストプログラム9とは別なので、その作成は試験準備の手間になり、試験の効率が悪化するおそれがある。
【0009】
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、デジタル回路用の仮想ハードウェアをテストプログラムでシミュレーションする際の試験準備を軽減し、シミュレーションの容易化に貢献することを解決課題としている。
【課題を解決するための手段】
【0010】
そこで、本発明は実機と等価なCPUモデルとデジタル回路用の被試験論理回路とを備えた仮想ハードウェアを実行ソフトウェアによりシミュレーションするデジタル回路用シミュレーション装置であって、CPUモデルは初期設定値を入力する入力手段を備え、該入力手段の入力によりCPU初期設定が可能なことを特徴とする。
【0011】
したがって、実行ソフトウェアに制御系の初期設定をするための初期設定プログラムが含まれていなくとも、CPUモデルの初期設定ができる。これにより実行ソフトウェアを、仮想ハードウェアをシミュレーションするテストプログラムのみで構成することができる。
【0012】
本発明の一態様としては実行ソフトウェアが、CPUモデルに前記初期設定をするための初期設定プログラムと、仮想ハードウェアをシミュレートするためのテストプログラムとを有し、入力手段を通じたCPUモデルのCPU初期設定と、初期設定用プログラムによるCPUモデルのCPU初期設定とを選択可能とすることもできる。
【0013】
したがって、実行ソフトウェアが、テストプログラムのみで構成されている場合と初期設定用プログラムを含む場合のいずれにも対応してCPUモデルの初期設定ができる。
【0014】
このときCPUモデルは、入力手段による初期設定値の入力と初期設定プログラムによる初期設定値の入力とを切替可能としてもよい。これにより入力経路を切り替えるだけで、いずれの初期設定値にもCPUモデルを設定することができる。
【0015】
なお、本発明は、前記シミュレーション装置としてコンピュータを機能させるためのプログラムとして構成することもできる。
【発明の効果】
【0016】
本発明によれば、デジタル回路の仮想ハードウェアを実行ソフトウェアによりシミュレーションする際に実行ソフトウェアをテストプログラムのみで構成可能なため、シミュレーションの準備が軽減され、その作業の容易化に貢献することができる。
【図面の簡単な説明】
【0017】
図1】本発明の第1実施形態に係るデジタル回路用シミュレーション装置のCPU初期設定の概略図。
図2図1の詳細図。
図3】本発明の第2実施形態に係るデジタル回路用シミュレーション装置のCPU初期設定の概略図。
図4図3の詳細図。
図5】従来のCPU初期設定の概略図。
【発明を実施するための形態】
【0018】
≪第1実施形態≫
図1および図2に基づき本発明の第1実施形態に係るデジタル回路用シミュレーション装置を説明する。ここでは図5と同一の構成は同一の符号を付して説明する。
【0019】
このシミュレーション装置は、コンピュータにソフトウェアが読み込まれることによりソフトウェアとハードウェア資源とが協働した具体的手段、即ちデジタル回路の被試験論理回路および制御系の処理モデルを主体とする図1の仮想ハードウェア12を備える。
【0020】
(1)仮想ハードウェア12の構成例
仮想ハードウェア12は、図1に示すように、ユーザが作成するカスタムLSIなどの被試験論理回路として機能するASIC3と、ソフトウェア動作用のメモリモデルとして機能するROMモデル4,RAMモデル5と、ソフトウェア実行部分として機能する実機と等価なCPUモデル16とを有し、それぞれがバスモデル7を通じて接続されている。
【0021】
このCPUモデル16は、コンピュータ上で動作するようにハードウェア言語で構築され、実機のCPUとソフトウェアの互換性を有している。したがって、CPUモデル16は、図5のCPUモデル6と同様にコンパイラが出力するオブジェクトコードを実行ソフトウェア11として、実機のソフトウェアをシミュレーションすることができる。これによりCPUモデル16を使用した仮想ハードウェア12の環境では、ハードウェア全体の試験を実機のソフトウェアでシミュレーション可能である。
【0022】
ただし、実行ソフトウェア11は、前記シミュレーションのテストプログラム9のみで構成されている点で図5の実行ソフトウェア1と相違する。また、CPUモデル16は、CPU初期設定20(制御系の各初期設定値など)20を入力するための入力ポート21を備えている点でCPUモデル6と相違している。このCPU初期設定20には、例えば記憶装置(メモリ、ハードディスクドライブ装置など)に記憶されたテキストファイル中の設定値を用いることができる。
【0023】
この入力ポート21によれば、CPU初期設定20をCPUモデル16に取り込んでその設定値をロードでき、従来装置のようなCPU初期設定プログラム8を用いることなく、CPUモデル16のCPU初期設定が可能である。したがって、実行ソフトウェア11をテストプログラム9のみで構成しても、シミュレーションが可能となる。
【0024】
その結果、前記シミュレーション装置によれば、実行ソフトウェアをテストプログラム9のみで構成することができ、前記初期設定プログラム8の作成を省略でき、この点でシミュレーションの試験準備の手間が軽減され、その容易化に貢献することができる。
【0025】
(2)CPU初期設定の詳細
図2に基づきCPU初期設定の詳細を説明する。ここでは実行ソフトウェア11はテストプログラム9のみで構成され、CPU初期設定20にはメモリ初期値(例えばRAMモデル5の初期値など)20aと、タイミング設定(例えばバスモデル7のバスタイミング設定値など)20bと、その他設定(例えばCPUクロックなど)20cとが含まれているものとする。
【0026】
CPUモデル16は、メモリ初期値20aを設定するメモリ部22と、タイミング設定20bを設定するバス制御部23と、その他の設定20cを設定するその他制御部24と、CPU初期設定20の前記各設定20a〜20cをそれぞれ前記各部22〜24に出力するゲート回路25〜27とを有している。
【0027】
このゲート回路25〜27は、ゲート回路イネーブル信号(以下、ENB信号とする。)に応じてIN入力からの取り込みが制御され、ENB信号がLレベルであればIN入力からの入力を取り込んで前記各部22〜24に出力する一方、ENB信号がHレベルであればIN入力からの入力を取り込まない。
【0028】
ここでは実行ソフトウェア11は、テストプログラム9のみで構成され、前記初期設定プログラム8を含まないため、入力ポート21からCPU初期設定20をCPUモデル16に取り込む。このときゲート回路25〜27にLレベルのENB信号を入力し、入力ポート21をから取り込んだCPU初期設定20をゲート回路25〜27のIN入力を介して前記各部22〜24に出力する。
【0029】
具体的にはCPU初期設定20のメモリ初期値20aはゲート回路25のIN入力を介してメモリ部22に出力され、タイミング設定20bはゲート回路26のIN入力を介してバス制御部23に出力され、その他設定20cはゲート回路27のIN入力を介してその他制御部24に出力され、それぞれの設定値が前記各部22〜24に設定される。
【0030】
これにより実行ソフトウェア11に前記初期設定プログラム8を含めることなく、CPUモデル16のCPU初期設定が可能となり、テストプログラム9を動作させることができる。
【0031】
≪第2実施形態≫
図3および図4に基づき本発明の第2実施形態に係るデジタル回路用シミュレーション装置を説明する。ここでは図3に示すように、従来と同様に前記初期設定プログラム8を含む実行ソフトウェア1が用いられている。
【0032】
また、CPUモデル16は、図4に示すように、ゲート回路25〜27に代わってマルチプレクサ31〜33を有している。このマルチプレクサ31〜33は、論理ゲートを組み合わせて実現可能な2入力マルチプレクサに構成され、マルチプレクサ切替信号に応じて選択制御入力(selection input)A,Bを切り替えて前記各部22〜24に出力する。
【0033】
したがって、入力ポート21からCPU初期設定20を取り込むだけでなく、マルチプレクサ31〜33の前記入力A,Bを切り替えて、前記初期設定プログラム8のCPU初期設定の内容に設定することもできる。ここでは前記切替信号がLレベルの場合は前記A入力を選択し、Hレベルの場合は前記B入力を選択するものとする。なお、前記切替信号の一例としてリセット信号を使うが、これに限定されることなく他の信号を用いてもよい。
【0034】
具体的にはリセット信号がアクティブ状態(CPUモデル16のリセット中)のとき、CPUモデル16はソフトウェア処理ができないので、前記初期設定プログラム8によるCPU初期設定は不可能である。そこで、前記アクティブ状態の場合にはLレベルのリセット信号をマルチプレクサ31〜33に入力し、マルチプレクサ31〜33の前記A入力を選択する。したがって、入力ポート21から取り込んだCPU初期設定20が、前記各A入力を介して前記各部22〜24に出力されて前記各部22〜24に設定される。
【0035】
一方、リセット信号がインアクティブ状態(CPUモデル16のリセット終了後)のときはソフトウェア処理が可能となる。この場合にはHレベルのリセット信号をマルチプレクサ31〜33に入力し、マルチプレクサ31〜33の前記B入力を選択する。したがって、実行ソフトウェア1に含まれる前記初期設定プログラム8のCPU初期設定内容を、前記各B入力を介してソフトウェア処理で設定することが可能となる。
【0036】
この場合にCPUモデル16のCPU初期設定は、CPUモデル16がリセット中に入力ポート21から取り込んだCPU初期設定20の内容で既に設定済みなため、前記ソフトウェア処理による設定は必要に応じて行うものとする。例えば試験的にCPUモデル16の設定内容を前記初期設定プログラム8のCPU初期設定内容に変更したい場合などに行う。
【0037】
その結果、CPUモデルにCPU初期設定を入力する入力ポート21を追加することで、CPUモデルの通常動作前にCPU初期設定を行って前記初期設定プログラム8を要せずにテストプログラム9を動作させることができる。
【0038】
なお、本発明は、上記実施形態に限定されるものではなく、仮想ハードウェア12の構成などは各請求項に記載された範囲内で変更して実施することができる。例えば仮想ハードウェア12は、デュアルCPUをモデル化したCPUモデルであってもよく、各CPUモデルからアクセス可能な2ポートメモリとしてもよい。
【0039】
また、第2実施形態のソフトウェア処理によるCPU設定は、CPU初期設定後の試験的な設定変更に限定されるものではなく、従来どおりのソフトウェア処理によるCPU初期設定と、入力ポート21を経由したCPU初期設定とをリセット信号などの前記切替信号に応じて選択することが可能である。
【0040】
さらに、本発明は、前記シミュレーション装置としてコンピュータを機能させるシミュレーション用のプログラムとして構成することもできる。このプログラムによれば、入力ポート21を備えたCPUモデル16の機能がコンピュータ上で実現される。
【0041】
このプログラムは、Webサイトや電子メールなどネットワークを通じて提供することができ、またCD−ROM,DVD−ROMなどの記録媒体に記録して提供することができる。この記録媒体は、記録媒体駆動装置(光学ドライブ装置など)を利用して読み出され、そのプログラムコード自体が前記各実施形態の処理を実現するので、該記録媒体も本発明を構成する。
【符号の説明】
【0042】
3…ASIC
4…ROMモデル
5…RAMモデル
7…バスモデル
8…CPU初期設定プログラム
9…テストプログラム
1,11…実行ソフトウェア
12…仮想ハードウェア
16…CPUモデル
20…CPU初期設定(初期設定値)
21…入力ポート(入力手段)
22…メモリ部
23…バス制御部
24…その他制御部
25〜27…ゲート回路
31〜33…マルチプレクサ
図1
図2
図3
図4
図5