JP5444724B2 - 検証支援プログラム、情報処理装置および検証支援方法 - Google Patents
検証支援プログラム、情報処理装置および検証支援方法 Download PDFInfo
- Publication number
- JP5444724B2 JP5444724B2 JP2009009873A JP2009009873A JP5444724B2 JP 5444724 B2 JP5444724 B2 JP 5444724B2 JP 2009009873 A JP2009009873 A JP 2009009873A JP 2009009873 A JP2009009873 A JP 2009009873A JP 5444724 B2 JP5444724 B2 JP 5444724B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- simulation
- hardware
- executed
- virtual machine
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Description
まず、本実施の形態にかかる検証支援処理の概要について説明する。図1は、本実施の形態にかかる検証支援処理の概要を示す説明図である。図1のように、本実施の形態では、情報処理装置100において実現されたシミュレーションツールによって、検証対象となるアプリケーション120のシミュレーションを行なうことにより、アプリケーション120の実行時間や消費電力などの評価をすることができる。
まず、仮想マシン110の構成について説明する。図2は、本実施の形態にかかる仮想マシンの構成を示す説明図である。図2のように、本実施の形態にかかる情報処理装置値100では、ソフトウェアによって仮想マシン110を構成する。仮想マシン110では、アプリケーション101を実行させるターゲットシステムのハードウェア構成をハードウェアモデル110aとしてソフトウェア的に実現している。また、図2に示した仮想マシン110によって実現されたハードウェアモデル110aは、CPU(モデル)111、ハードマクロ(モデル)112、メモリ(モデル)113を備えている。さらに、仮想マシン110には、ハードウェアモデル110aによって実現された各ハードウェア(CPU111〜メモリ113)の動作を制御する仮想マシンモニタ110bが用意されている。
つぎに、仮想マシン110の基本的なオペレーション手順について説明する。上述した構成の仮想マシン110は、アプリケーション101を読み込むと、所定のオペレーションを実行する。この実行結果が、オペレーションのシミュレーション結果として出力される。
つぎに、情報処理装置100の具体的なハードウェア構成について説明する。図4は、情報処理装置のハードウェア構成を示すブロック図である。図4において、情報処理装置100は、CPU(Central Processing Unit)401と、ROM(Read‐Only Memory)402と、RAM(Random Access Memory)403と、磁気ディスクドライブ404と、磁気ディスク405と、通信I/F(Interface)406と、入力デバイス407と、出力デバイス408と、を備えている。また、各構成部はバス410によってそれぞれ接続されている。
まず、情報処理装置100によって、ドライバ102が用意されていないハードマクロ112を含むアプリケーション101のシミュレーションを実行するための手順について説明する。図5は、情報処理装置におけるシミュレーション実行手順を示す説明図である。
つぎに、情報処理装置100によって実現される仮想マシン110の機能的構成について説明する。図6は、情報処理装置における仮想マシンの機能的構成を示すブロック図である。情報処理装置100によって実現された仮想マシン110は、取得部601と、実行部602と、検出部603と、制御部604と、出力部605と、を含む構成である。この制御部となる機能(取得部601〜出力部605)は、具体的には、たとえば、図4に示したROM402、RAM403、磁気ディスク405などの記憶領域に記憶されたプログラムをCPU401に実行させることにより、または、通信I/F406により、その機能を実現する。
つぎに、上述した構成をもつ仮想マシン110におけるシミュレーションの実行手順について説明する。図7は、仮想マシンを用いたシミュレーションの実行手順を示す説明図である。図7では、アプリケーション501のシミュレーションにおいて、通常のシミュレーション実行中にハードマクロ112を呼び出す処理が発生し、ハードマクロ112に対応したシミュレーションを実行した後、再度、通常のシミュレーション実行に戻る場合の処理手順を表している。
つぎに、710の処理について詳細に説明する。図8に示した、アプリケーション501では、「call_hw」記述箇所にマークが挿入されている。図9は、ハードマクロ呼び出しを含むアプリケーションの記述例を示す説明図である。アプリケーション501の「call_hw」記述箇所には、記述列900のようなマークと、対応する命令がセットになって記述されている。図10は、マーク検出に応じた仮想マシンのシミュレーション制御を示す説明図である。
つぎに、720の構成について詳しく説明する。720の構成とは、ドライバパラメータ503の構成であり、このドライバパラメータ503へ格納する各パラメータ値はそれぞれ以下のような手法によって得られている。まず、実行時間・電力情報に関するパラメータは、ハードマクロ112に対応したドライバ102に類似したドライバを仮想マシン110上で実行させ、その際の実行時間・電力情報が利用される。なお類似したドライバを利用せずに、検証者の経験に基づいて、マニュアルで実行時間・電力情報に関するパラメータを格納してもよい。また、ハードマクロ112のシミュレーションを行なう際に設定するパラメータは、Cモデル521の情報から別途取得して格納する。
最後に、730の処理について詳しく説明する。730では、仮想マシン110によるシミュレーションが実行される。ここで、図12は、ハードマクロを含む仮想マシンのシミュレーション手順を示す説明図である。図12のように、仮想マシン110では、まず、前処理部のシミュレートを行なう(ステップS1201)。このステップS1201の処理では、ドライバパラメータ503に格納されている前処理部分の性能・電力情報に基づいて、シミュレーション時間と消費電力値が調整(加算)される。
ここで、図13は、本実施の形態を適用した場合のアプリケーション開発ステップを示す説明図である。図13のように、本実施の形態にかかる情報処理装置100を用いた場合、従来の開発ステップ(図14参照)のように、ハードマクロならびにドライバの開発を待つことなく、早期段階でアプリケーションの開発に着手することができる。具体的には、図13のように、ハードマクロ開発が始まった時点でも、ハードマクロのCモデルが用意されていれば、即座にアプリケーションの開発に着手することができる。
システムのハードウェア環境をソフトウェアによって実現した仮想マシンを用いて前記システムによって実行させるアプリケーションのシミュレーションを行なう実行手段、
前記ハードウェア環境に追加するハードウェアのシミュレーションモデルと、当該追加するハードウェアを呼び出す箇所に特定のコードが挿入されたアプリケーションを取得する取得手段、
前記取得手段によって取得されたアプリケーションが、前記実行手段によって実行されると、当該実行中のアプリケーションの中から前記特定のコードが挿入されている箇所を検出する検出手段、
前記実行手段を制御して、前記検出手段によって前記特定のコードが挿入されていると検出された箇所では、前記取得手段によって取得されたシミュレーションモデルの情報を用いて前記アプリケーションのシミュレーションを行なう制御手段、
前記実行手段による前記アプリケーションのシミュレーション結果を出力する出力手段、
として機能させることを特徴とする検証支援プログラム。
前記制御手段は、前記検出手段によって前記特定のコードが挿入されていると検出された箇所では、前記予測値をパラメータとして設定した後、前記取得手段によって取得されたシミュレーションモデルを用いて前記アプリケーションのシミュレーションを行なわせることを特徴とする付記1または2に記載の検証支援プログラム。
前記ハードウェア環境に追加するハードウェアのシミュレーションモデルと、当該追加するハードウェアを呼び出す箇所に特定のコードが挿入されたアプリケーションを取得する取得手段と、
前記取得手段によって取得されたアプリケーションが、前記実行手段によって実行されると、当該実行中のアプリケーションの中から前記特定のコードが挿入されている箇所を検出する検出手段と、
前記実行手段を制御して、前記検出手段によって前記特定のコードが挿入されていると検出された箇所では、前記取得手段によって取得されたシミュレーションモデルの情報を用いて前記アプリケーションのシミュレーションを行なう制御手段と、
前記実行手段による前記アプリケーションのシミュレーション結果を出力する出力手段と、
を備えた検証支援機能を有することを特徴とする情報処理装置。
システムのハードウェア環境をソフトウェアによって実現した仮想マシンを用いて前記システムによって実行させるアプリケーションのシミュレーションを行なう実行工程と、
前記ハードウェア環境に追加するハードウェアのシミュレーションモデルと、当該追加するハードウェアを呼び出す箇所に特定のコードが挿入されたアプリケーションを取得する取得工程と、
前記取得工程によって取得されたアプリケーションが、前記実行工程によって実行されると、当該実行中のアプリケーションの中から前記特定のコードが挿入されている箇所を検出する検出工程と、
前記検出工程によって前記特定のコードが挿入されていると検出された箇所では、前記取得工程によって取得されたシミュレーションモデルの情報を用いた前記アプリケーションのシミュレーションに切り換えて実行する切り換えを行なう切換工程と、
前記アプリケーションのシミュレーション結果を出力する出力工程と、
を実行することを特徴とする検証支援方法。
101,120,501 アプリケーション
102 ドライバ
103 OS(Operating System)
110 仮想マシン
110a ハードウェアモデル
110b 仮想マシンモニタ
111 CPU(モデル)
112 ハードマクロ(モデル)
113 メモリ(モデル)
130 シミュレーションモデル
502 ハードマクロ仕様書
503 ドライバパラメータ
511 アプリケーションバイナリ
521 Cモデル
531 RTL記述/ネットリスト
601 取得部
602 実行部
603 検出部
604 制御部
605 出力部
Claims (6)
- コンピュータを、
システムのハードウェア環境をソフトウェアによって実現した仮想マシンを用いて前記システムによって実行させるアプリケーションのシミュレーションを行なう実行手段、
前記ハードウェア環境に追加するハードウェアのシミュレーションモデルと、当該追加するハードウェアを呼び出す箇所に特定のコードが挿入されたアプリケーションを取得する取得手段、
前記取得手段によって取得されたアプリケーションが、前記実行手段によって実行されると、当該実行中のアプリケーションの中から前記特定のコードが挿入されている箇所を検出する検出手段、
前記実行手段を制御して、前記検出手段によって前記特定のコードが挿入されていると検出された箇所では、前記取得手段によって取得されたシミュレーションモデルの情報を用いて前記アプリケーションのシミュレーションを行なう制御手段、
前記実行手段による前記アプリケーションのシミュレーション結果を出力する出力手段、
として機能させることを特徴とする検証支援プログラム。 - 前記制御手段は、前記検出手段によって検出された前記特定のコードに設定されているコマンドに応じて、前記仮想マシンを用いた前記アプリケーションのシミュレーションと、前記シミュレーションモデルの情報を用いた前記アプリケーションのシミュレーションの実行開始ならびに終了を制御することを特徴とする請求項1に記載の検証支援プログラム。
- 前記取得手段は、さらに、前記アプリケーションが前記追加するハードウェアを呼び出す際のパラメータの予測値を取得し、
前記制御手段は、前記検出手段によって前記特定のコードが挿入されていると検出された箇所では、前記予測値をパラメータとして設定した後、前記取得手段によって取得されたシミュレーションモデルを用いて前記アプリケーションのシミュレーションを行なわせることを特徴とする請求項1または2に記載の検証支援プログラム。 - 前記制御手段は、前記シミュレーションモデルを用いた前記アプリケーションのシミュレーションを終了させた場合、当該シミュレーション終了時に設定されているパラメータを、前記仮想マシンを用いた前記アプリケーションのシミュレーションに設定して、当該シミュレーションを行なわせることを特徴とする請求項1〜3のいずれか一つに記載の検証支援プログラム。
- システムのハードウェア環境をソフトウェアによって実現した仮想マシンを用いて前記システムによって実行させるアプリケーションのシミュレーションを行なう実行手段と、
前記ハードウェア環境に追加するハードウェアのシミュレーションモデルと、当該追加するハードウェアを呼び出す箇所に特定のコードが挿入されたアプリケーションを取得する取得手段と、
前記取得手段によって取得されたアプリケーションが、前記実行手段によって実行されると、当該実行中のアプリケーションの中から前記特定のコードが挿入されている箇所を検出する検出手段と、
前記実行手段を制御して、前記検出手段によって前記特定のコードが挿入されていると検出された箇所では、前記取得手段によって取得されたシミュレーションモデルの情報を用いて前記アプリケーションのシミュレーションを行なう制御手段と、
前記実行手段による前記アプリケーションのシミュレーション結果を出力する出力手段と、
を備えた検証支援機能を有することを特徴とする情報処理装置。 - コンピュータが、
システムのハードウェア環境をソフトウェアによって実現した仮想マシンを用いて前記システムによって実行させるアプリケーションのシミュレーションを行なう実行工程と、
前記ハードウェア環境に追加するハードウェアのシミュレーションモデルと、当該追加するハードウェアを呼び出す箇所に特定のコードが挿入されたアプリケーションを取得する取得工程と、
前記取得工程によって取得されたアプリケーションが、前記実行工程によって実行されると、当該実行中のアプリケーションの中から前記特定のコードが挿入されている箇所を検出する検出工程と、
前記検出工程によって前記特定のコードが挿入されていると検出された箇所では、前記取得工程によって取得されたシミュレーションモデルの情報を用いた前記アプリケーションのシミュレーションに切り換えて実行する切り換えを行なう切換工程と、
前記アプリケーションのシミュレーション結果を出力する出力工程と、
を実行することを特徴とする検証支援方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009009873A JP5444724B2 (ja) | 2009-01-20 | 2009-01-20 | 検証支援プログラム、情報処理装置および検証支援方法 |
US12/570,241 US20100186005A1 (en) | 2009-01-20 | 2009-09-30 | Computer readable recording medium storing verification support program, information processing apparatus and verification support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009009873A JP5444724B2 (ja) | 2009-01-20 | 2009-01-20 | 検証支援プログラム、情報処理装置および検証支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010170188A JP2010170188A (ja) | 2010-08-05 |
JP5444724B2 true JP5444724B2 (ja) | 2014-03-19 |
Family
ID=42337976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009009873A Expired - Fee Related JP5444724B2 (ja) | 2009-01-20 | 2009-01-20 | 検証支援プログラム、情報処理装置および検証支援方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100186005A1 (ja) |
JP (1) | JP5444724B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650552B1 (en) * | 2012-06-22 | 2014-02-11 | Google Inc. | Methods and systems for simulation of energy consumption in mobile operating system emulators |
JP6538529B2 (ja) * | 2015-11-17 | 2019-07-03 | 株式会社東芝 | 仮想試験システム、映像作成方法およびプログラム |
CN106940647B (zh) * | 2017-03-20 | 2020-09-04 | 广州视源电子科技股份有限公司 | 代码管理方法和装置 |
EP3841475B1 (en) * | 2018-09-28 | 2024-02-21 | Siemens Industry Software Inc. | Method and aparatus for verifying a software system |
KR20220035611A (ko) * | 2020-09-14 | 2022-03-22 | 현대자동차주식회사 | 모의 시험 장치 및 그 제어 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301655B1 (en) * | 1997-09-15 | 2001-10-09 | California Institute Of Technology | Exception processing in asynchronous processor |
JPH11194960A (ja) * | 1997-12-26 | 1999-07-21 | Toshiba Corp | ソフトウェア試験装置 |
US6598105B1 (en) * | 1999-04-13 | 2003-07-22 | Microsoft Corporation | Interrupt arbiter for a computing system |
US6553565B2 (en) * | 1999-04-23 | 2003-04-22 | Sun Microsystems, Inc | Method and apparatus for debugging optimized code |
JP2001175504A (ja) * | 1999-10-05 | 2001-06-29 | Matsushita Electric Ind Co Ltd | デバイスシミュレータ管理装置 |
JP2001216178A (ja) * | 2000-02-04 | 2001-08-10 | Seiko Epson Corp | シミュレーション装置およびシミュレーション方法ならびにシミュレーションプログラムを記憶した記憶媒体 |
US8180943B1 (en) * | 2003-03-27 | 2012-05-15 | Nvidia Corporation | Method and apparatus for latency based thread scheduling |
US7055007B2 (en) * | 2003-04-10 | 2006-05-30 | Arm Limited | Data processor memory circuit |
JP2005018485A (ja) * | 2003-06-26 | 2005-01-20 | Nec Corp | ファームウェアデバッグ方法 |
US7624383B2 (en) * | 2004-04-30 | 2009-11-24 | Cornell University | System for and method of improving discrete event simulation using virtual machines |
US20070052715A1 (en) * | 2005-09-07 | 2007-03-08 | Konstantin Levit-Gurevich | Device, system and method of graphics processing |
US7702843B1 (en) * | 2006-04-27 | 2010-04-20 | Vmware, Inc. | Determining memory conditions in a virtual machine |
JP5020562B2 (ja) * | 2006-07-25 | 2012-09-05 | 株式会社 液晶先端技術開発センター | シミュレーション装置、シミュレーション方法、及び半導体装置の製造方法 |
-
2009
- 2009-01-20 JP JP2009009873A patent/JP5444724B2/ja not_active Expired - Fee Related
- 2009-09-30 US US12/570,241 patent/US20100186005A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20100186005A1 (en) | 2010-07-22 |
JP2010170188A (ja) | 2010-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4975544B2 (ja) | シミュレーション装置及びプログラム | |
US10360322B2 (en) | Simulation of virtual processors | |
US20060282248A1 (en) | Integrated simulation system | |
JP5444724B2 (ja) | 検証支援プログラム、情報処理装置および検証支援方法 | |
JP5298967B2 (ja) | 検証支援プログラム、情報処理装置および検証支援方法 | |
JP5672311B2 (ja) | 同期処理方法 | |
JP5034916B2 (ja) | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 | |
US7043717B2 (en) | Debugging apparatus and method | |
Pohl et al. | vMAGIC—automatic code generation for VHDL | |
US8886512B2 (en) | Simulation apparatus, computer-readable recording medium, and method | |
JP5542643B2 (ja) | シミュレーション装置及びシミュレーションプログラム | |
JP2009075965A (ja) | ソフトウェア開発方法及びソフトウェア開発装置 | |
JP4342392B2 (ja) | ソフトウェア検証モデル生成方法 | |
JP5262909B2 (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
JP5374965B2 (ja) | シミュレーション制御プログラム、シミュレーション制御装置、およびシミュレーション制御方法 | |
JP5262774B2 (ja) | シミュレーション制御プログラム、シミュレーション装置、およびシミュレーション制御方法 | |
JP5226848B2 (ja) | シミュレーション装置及びプログラム | |
JP5021584B2 (ja) | マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体 | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム | |
JP2009223861A (ja) | 論理検証システム | |
JP2008033472A (ja) | プリンタの自動評価システム | |
Baklashov | An on-line memory state validation using shadow memory cloning | |
WO2018163387A1 (ja) | 解析装置、解析方法及び解析プログラム | |
JP2001222565A (ja) | ハードウエア記述の検証システム及びその検証方法 | |
JP4802130B2 (ja) | 図面作成プログラム、図面作成装置および図面作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130709 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130909 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5444724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |