JP5262909B2 - 検証支援プログラム、検証支援装置および検証支援方法 - Google Patents

検証支援プログラム、検証支援装置および検証支援方法 Download PDF

Info

Publication number
JP5262909B2
JP5262909B2 JP2009080128A JP2009080128A JP5262909B2 JP 5262909 B2 JP5262909 B2 JP 5262909B2 JP 2009080128 A JP2009080128 A JP 2009080128A JP 2009080128 A JP2009080128 A JP 2009080128A JP 5262909 B2 JP5262909 B2 JP 5262909B2
Authority
JP
Japan
Prior art keywords
model
data
hardware
bus
module
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
Application number
JP2009080128A
Other languages
English (en)
Other versions
JP2010231633A (ja
Inventor
亮介 大石
敦 池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009080128A priority Critical patent/JP5262909B2/ja
Priority to US12/659,945 priority patent/US8291369B2/en
Publication of JP2010231633A publication Critical patent/JP2010231633A/ja
Application granted granted Critical
Publication of JP5262909B2 publication Critical patent/JP5262909B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

この発明は、システムのハードウェア設計の検証を支援するための検証支援プログラム、検証支援装置および検証支援方法に関する。
従来より、半導体集積回路による新たなシステムを設計すると、実機の製造に移行する前段に、設計したシステムに所望の動作をさせた場合のシステム全体の消費電力や処理性能(所望の動作が完了するまでの処理時間)を見積もる検証工程が必要となる。検証工程では、設計者によって、設計内容が適切であるかが判断される。また、設計者が検証結果を参照し必要に応じて設計内容を修正することにより、消費電力の低減や処理性能の向上が可能となり、利用者にニーズに即したより高品質なシステムを提供することができる。
検証工程において、システム全体の消費電力ならびに処理性能を見積もるための技術としては、一般的に検証対象となるシステムをソフトウェアによって実現したシステムモデルを用いた検証対象システムの動作シミュレーションが広く知られている。
ここで、図18は、検証対象システムの構成例を示す説明図である。検証対象システム10の動作をシミュレーションする場合、検証対象システム10のシステムモデルを用意する必要がある。システムモデルには、検証システム10内の各ハードウェア(たとえばCPU、メモリ、モジュールA)同士の接続状態と、各ハードウェアの実装情報とが含まれている。そして、検証対象システム10のシミュレーション実行した際の消費電力や処理性能が検証対象システム10の見積もり値として提供される。
また、各ハードウェアの実装情報として、従来は、RTL(Register Transfer Level)記述レベルもしくはそれ以上の詳細度が要求されていた。しかしながら、近年では、RTLよりも詳細度の低いTL(Transfer Level)記述レベルの実装情報によるシミュレーションも可能になっている。さらに、RTL記述とTL記述とが混在した実装情報であってもCo−SIM(協働シミュレーション)によるシミュレーションが可能になっている。
したがって、検証対象システムのシミュレーションを実行するには、各ハードウェアの実装情報を用意すればよい。ハードウェアの中でも、汎用性の高いCPUやメモリなどは、設計の機会が多いことや、他のシステム用に設計された実装情報を流用できる場合もあり、比較的容易に実装情報を用意できる。
一方、検証対象システム10のモジュールAのような、新たに設計されたり、専門性の高い処理を目的としたハードウェアは、CPUやメモリと比べて実装情報を用意するために多くの時間を要する傾向にある。システム全体のシミュレーションを実行する際には、下記のようなシミュレーション用のシナリオが提供される。
<シナリオ例>
CPU(モジュールAへのライトトランザクション)
・WriteAddress(address)//モジュールAへのライト要求
・WriteData(a)//ライトデータa送信
・WaitAck//モジュールAからの応答待ち
・ …(以下略)
モジュールA(CPUからのライト要求を受信)
・GetAddress(adderss)//アドレス要求待ち
・ …(以下略)
上記のシナリオ例のように、CPUがシナリオに応じた適切な動作をおこなうにはモジュールAからの応答を受け付けなければならない。すなわち、システム全体のシミュレーションには、モジュールAを含め検証対象システム10内のすべてのハードウェアの実装が不可欠である。したがって、いずれかのハードウェアの実装情報の開発が遅れると、遅れている開発工程が、システム全体のシミュレーションを実行する際のボトルネックとなってしまっていた。
さらに、システムの設計の現場では、各ハードウェアの実装情報が用意された後に、急遽通信プロトコルなどの各種仕様が変更されるような事態も発生する。図19は、検証対象システムのプロトコル変更に伴う問題を示す説明図である。図19の左側には、AHB(Advanced High−Performance Bus)仕様に基づいて設計された検証対象システム(従来システム)10を表している。そして図19の右側には、通信プロトコルがAXI(Advanced eXtensible Interface)仕様に変更された更新システム20を表している。なお、更新システム20では、モジュールA以外の、CPUやメモリなど汎用性の高いハードウェアについては、AXI仕様が適合された実装情報が用意されているものとする。
また、各システムの下には、CPUからモジュールAへアクセスした際の、モジュールAの動作を示している。更新システム20の場合、モジュールAは、AXI仕様に基づいて、CPUからのアクセス信号(WriteAddress)に応じて新たに応答21(Response1)を出力しなければならない。実際には、モジュールAはAXI仕様に変更されていないため、応答21を出力できず、更新システム20でのシミュレーションは破綻をきたしてしまう。
現状では、モジュールの実装情報が間に合わない、仕様変更に伴うシミュレーションの不都合が解消するといった問題に対して、いくつかの対応策が提供されている。たとえば、検証対象システム10の中の一部のハードウェアの実装情報が間に合わない場合には、モジュールAの代わりに実装情報を含まない空のスードモデルを接続して、いち早くシステム全体のシミュレーションを実行するための技術がある。
また、図19のように仕様が変更になった場合には、モジュールAの通信プロトコルを変換するためのブリッジを用意する技術が知られている。図20は、ブリッジ挿入によるプロトコル変換例を示す説明図である。図20のように、AXI仕様のバスと、モジュールAとの間に、ブリッジを接続することによって、AXI仕様のモジュールAを用意せずとも更新システム20全体のシミュレーションが可能となる。
特表2005−525660号公報
しかしながら、上述した従来技術のうち、モジュールAに代わってスードモデルを接続する技術の場合、モデル内に実装情報が含まれていないために、シミュレーションの実行結果にはモジュールAについての評価が反映されない。すなわち、シミュレーションが実行可能になっても、見積もり値の精度が悪いという問題があった。
また、図20のように、ブリッジを用意する技術の場合、実際にブリッジの実装情報を用意するには、モジュールAの設計と同等の時間を要することが想定される。それ故、結果として更新システム20のAXI仕様が適合されたモジュールAの開発を待つのと変わらず、システム全体のシミュレーションを実行する際のボトルネックとなるという問題があった。
本開示技術は、上述した従来技術による問題点を解消するため、システム内のモジュールの実装情報が用意されていないようなシステム設計の早期段階であっても、システム全体を動作させた際の電力・性能の見積もりを可能にする検証支援プログラム、検証支援装置および検証支援方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本開示技術は、バスモデルに接続され前記バスモデルと同一の第1の仕様に適合する第1のハードウェアモデルと前記バスモデルに接続され前記バスモデルと異なる第2の仕様に適合する第2のハードウェアモデルとの通信を制御するシミュレーションを実行するコンピュータが、前記第2のハードウェアモデルからの前記第2の仕様に基づくデータを受信する処理と、前記第1の仕様に基づいて、受信されたデータを前記第1の仕様に適合するデータに変換する処理と、変換されたデータを、前記バスモデルを経由して送信先となるハードウェアモデルに送信する処理と、を含むことを特徴とする。
本検証支援プログラム、検証支援装置および検証支援方法によれば、システム設計の早期段階であっても、システム全体を動作させた際の電力・性能の見積もりを可能にするという効果を奏する。
本実施の形態にかかる検証支援処理の概要を示す説明図である。 情報処理装置のハードウェア構成を示すブロック図である。 情報処理装置の機能的構成を示すブロック図である。 仕様の異なるハードウェアモデルへのデータ送信手順を示すフローチャートである。 検証支援処理によるシステムモデルの変更例を示す説明図である。 従来システムにおけるモジュールAの動作を示すシーケンス図である。 更新システムにおけるモジュールAの動作を示すシーケンス図である。 更新システムによるシミュレーション実行手順を示すフローチャートである。 更新システムに追加するラッパモデルの作成手順を示すフローチャートである。 AHBバスのポート情報の一例を示す説明図である。 AXIバスのポート情報の一例を示す説明図である。 シミュレーション実行時の消費電力見積もり処理を示す説明図である。 シミュレーション実行時の消費電力見積もり処理の補正例を示す説明図である。 AXI仕様のハードウェアモデルAの見積もり例を示すデータテーブルである。 AHB仕様のハードウェアモデルAの見積もり例を示すデータテーブルである。 AXI仕様のハードウェアモデルWの見積もり例を示すデータテーブルである。 ハードウェアモデルWを挿入したAHB仕様のハードウェアモデルAの見積もり例を示すデータテーブルである。 検証対象システムの構成例を示す説明図である。 検証対象システムのプロトコル変更に伴う問題を示す説明図である。 ブリッジ挿入によるプロトコル変換例を示す説明図である。
以下に添付図面を参照して、開示する技術の好適な実施の形態を詳細に説明する。本実施の形態では、検証対象となるシステムのシミュレーション実行の際に、バスの仕様の異なるハードウェアから他のハードウェアへ送信するためのデータが出力されると、このデータに対して、システム内のバスの仕様に適合させるための変換処理が施される。以下、このような動作を実現するための具体的な構成について説明する。
(検証支援処理の概要)
まず、本実施の形態にかかる検証支援処理の概要について説明する。図1は、本実施の形態にかかる検証支援処理の概要を示す説明図である。
本実施の形態では、情報処理装置100によって検証対象システムのソフトウェアにより再現したシステムモデル120のシミュレーションを実行するシステムモデルシミュレータ110が構成される。そして、システムモデルシミュレータ110によって、システムモデル120のシミュレーションを実行することで、検証対象システムの設計段階でシステムを実際に実行させた際の消費電力や処理性能の見積もりを可能にする。
特に、本実施の形態にかかる検証支援処理の場合、システムモデル120内に、仕様の異なるハードウェアが混在した場合であっても、システムモデル120全体のシミュレーションを実行させることができる。図1のシステムモデル120の場合も、バスモデル121の仕様(たとえば仕様1)と同じ仕様1の実装情報のモデルA、モデルCと、バスモデル121の仕様と異なる仕様2の実装情報のモデルB、モデルDが混在した状態でシミュレーションを実行させる。
システムモデルシミュレータ110では、仕様1の実装情報によって構成されたモデルA,Cの動作については、そのまま、実装情報に基づいたシミュレーションを実行する。一方、仕様2の実装情報によって構成されたモデルB,Dの動作については、データ送信処理の際に、特定の処理が施される。
たとえば、図1のように各モデル(A〜D)から、他のいずれかのモデルへデータが送信される場合、当然のことながら、仕様2のモデルBとモデルDとから送信されるデータは仕様2の実装情報に基づいて作成されている。そこで、システムモデルシミュレータ110は、モデルBとモデルDとからバスモデル121に出力されるデータを、バスモデル121と同じ仕様1に適合したデータに変換する。
このように、仕様2の実装情報によって構成されたモデルから送信されたデータは、仕様1に適合したデータに変換された状態でバスモデル121を伝送して、送信先となるモデルへ出力される。そして、各モデルは、仕様に依存することなくバスモデル121を介してデータを受信することができる。したがって、送信先となるモデルの仕様がバスモデル121の仕様が反映されていなくても、仕様1のデータを受信することができる。
モデルDから送信されたデータを受信したモデルが、仕様1のモデルAもしくはモデルCであった場合、受信したデータに応答したデータが出力されると、このデータはそのまま、バスモデル121を介して、送信先となるモデルに送信される。そして、モデルDから送信されたデータを受信したモデルが、仕様2のモデルBであった場合、受信したデータに応答したデータが出力されると、モデルDと同様に、仕様1に適合したデータに変換された後、バスモデル121へ出力される。
このように、本実施の形態にかかる検証支援処理を用いることにより、検証対象システム内のハードウェアモデルが開発途中であったり、バスの仕様が変更になった場合であっても、ハードウェアモデルの開発を待たずにシミュレーションを実行することができる。さらに、バスの仕様が異なる場合それぞれについてどのような動作になるかをシミュレーションしたい場合であっても、柔軟にハードウェアモデルの実装情報を入れ替えたシミュレーションの実行も可能になる。そして、このシミュレーション結果を用いて、システム全体を検証するための見積もり値を得ることができる。以下に、本実施の形態にかかる検証支援処理を実現するための具体的な構成ならびに動作について順次説明する。
(情報処理装置のハードウェア構成)
まず、本実施の形態にかかる検証支援処理を実現する情報処理装置のハードウェア構成について説明する。図2は、情報処理装置100のハードウェア構成を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、通信I/F(Interface)206と、入力デバイス207と、出力デバイス208と、を備えている。また、各構成部はバス210によってそれぞれ接続されている。
ここで、CPU201は、情報処理装置100の全体の制御を司る。ROM202は、ブートプログラムや、本実施の形態にかかる検証支援処理を実現するための検証支援プログラムなどの各種プログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータの更新/参照を制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。なお、図4のハードウェア構成では、記録媒体として、磁気ディスク205を用いているが、光ディスクや、フラッシュメモリなど他の記録媒体を利用してもよい。
通信I/F206は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク(NET)209に接続され、このネットワーク209を介して他の情報処理装置100やその他の外部装置に接続される。そして、通信I/F206は、ネットワーク209と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信I/F206の構成例としては、たとえばモデムやLANアダプタなどを採用することができる。
入力デバイス207は、情報処理装置100に対しての外部からの入力を受け付ける。入力デバイス207としては、具体的には、キーボード、マウスなどが挙げられる。なお、図2に示したような情報処理装置100によって、シミュレーションを行うアプリケーションは、ROM202、RAM203、磁気ディスク205などの記憶領域にあらかじめ格納されていてもよいが、入力デバイス207から入力されて、上述の記憶領域に格納されてもよい。
キーボードの場合、たとえば、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウスの場合、たとえば、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。また、ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
出力デバイス208は、情報処理装置100に配置されたデータや、シミュレーションの実行結果などを出力する。出力デバイス208としては、具体的には、ディスプレイ、プリンタなどが挙げられる。
ディスプレイの場合、たとえば、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイとしてさらに、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。また、プリンタの場合、たとえば、画像データや文書データを印刷する。さらに、レーザプリンタやインクジェットプリンタを採用することができる。
(情報処理装置の機能的構成)
つぎに、情報処理装置100の機能的構成について説明する。情報処理装置100では、バスモデル121に接続されたバスモデル121の仕様1に適合するハードウェアモデル(たとえば、図1のモデルA,C)と、異なる仕様2に適合するハードウェアモデル(たとえば、図1のモデルB,D)との通信を制御するシミュレーションが実行される。このとき、システムモデル120のシミュレーション自体は、公知の技術を用いる。
すなわち、情報処理装置100の機能のうち本実施の形態独自の機能として提供されるのは、シミュレーション実行によって生じるシステムモデル120への制御のうち仕様2が適合されたハードウェアモデルからデータが送信された際の処理に関する機能である。したがって、以下には、情報処理装置100の機能的構成として、仕様2が適合されたハードウェアモデルからデータが送信された際の処理に関する機能部について説明する。
図3は、情報処理装置の機能的構成を示すブロック図である。図3のように、情報処理装置100は、本実施の形態独自の機能部として受信部301と、変換部302と、送信部303と、消費電力関連付け部304と、消費電力呼び出し部305と、処理性能関連付け部306と、処理性能呼び出し部307と、を含む構成である。この制御部となる機能(受信部301〜処理性能呼び出し部307)は、具体的には、たとえば、図2に示したROM202、RAM203、磁気ディスク205などの記憶領域に記憶された検証支援プログラムをCPU201に実行させることにより、または、通信I/F206により、その機能を実現する。
受信部301は、システムモデル120によって検証対象システムのシミュレーションが実行された際に、バスモデル121の仕様と異なる仕様2のハードウェアモデルから出力されたデータを受信する機能を有する。また、受信されたデータは、RAM203、磁気ディスク205などの記憶領域に記憶される。仕様2のハードウェアモデルから出力されたデータは、仕様2に基づいたデータであるため、そのままでは、バスモデル121との仕様の違いによって図19にて説明したような不具合を起こす可能性がある。したがって、受信したデータは、後述する変換処理を施すために変換部302へ出力される。
また、受信部301は、仕様2のハードウェアモデルからの送信データにかかわらず、仕様が特定されていない任意のハードウェアモデルから送信されたデータをすべて受信するような構成であってもよい。このような構成の場合、受信部301は、さらに、受信したデータの仕様が、仕様1と一致するか否かを判断する機能を有する。そして、受信部301は、受信データの仕様が仕様1と一致しない場合にのみ、受信データを後述する変換部302へ出力する。
このように、受信部301を設けることによって、仕様2のハードウェアモデルから出力されたデータ、もしくは、システムモデル120内のハードウェアモデルから出力されたデータをすべて受信することができる。したがって、仕様2に適合したデータは、仕様1のバスモデル121へは出力されないため、仕様2に適合したデータが仕様1のハードウェアモデルに入力されることによるシミュレーションの破綻を防ぐことができる。
変換部302は、仕様1に基づいて、受信部301によって受信されたデータを仕様1の仕様に適合するデータに変換する機能を有する。仕様1に適合するデータへ変換するため、変換部302は、たとえば、仕様1としてあらかじめ与えられたトランザクション定義に応じて、受信されたデータを仕様1に適合するデータに変換するような手法がある。なお、変換されたデータは、RAM203、磁気ディスク205などの記憶領域に記憶される。
このように、変換部302を設けることによって、システムモデル120のバスの仕様(仕様1)に適合していないデータが、自動的に仕様1に適合したデータに変換される。すなわち、バスの仕様に適合していないデータであっても、システムモデル120内で正しく動作するデータとして利用されることを意味する。
また、一旦ハードウェアモデルから出力されたデータは、上記の受信部301によって受信した後、変換部302による変換が施されている。つまり、検証支援処理をおこなう際に、設計者がハードウェアモデル自体に個別に修正を施すような処理負担は発生しない。したがって、設計者は、シミュレーション用の一時的なハードウェアモデルの開発に追われることなく、仕様1に適合したハードウェアモデルの設計に専念できる。
送信部303は、変換部302によって変換されたデータを、バスモデル121を経由して送信先となるハードウェアモデルに送信する機能を有する。なお、送信部303によって送信されたデータは、RAM203、磁気ディスク205などの記憶領域に記憶される。
消費電力関連付け部304は、送信部303によるデータの送信処理に、この送信処理を実行した際に生じる消費電力を関連付ける機能を有する。具体的には、消費電力関連付け部304では、変換部302によって変換されたデータを、送信先となるハードウェアモデルに送信する送信処理に、あらかじめ設定された消費電力値を消費電力情報として関連付ける。
消費電力関連付け部304において設定される消費電力値とは、実際に仕様1のハードウェアモデルを動作させた場合の消費電力値である。消費電力値は、実際に動作させた場合の値を用意してもよいし、検証値でもよい。なお、消費電力関連付け部304によって関連付けられた情報は、RAM203、磁気ディスク205などの記憶領域に記憶される。
消費電力呼び出し部305は、システムモデル120においてデータの送信処理に関するシミュレーションが実行されると、消費電力関連付け部304によって関連付けられた消費電力情報を呼び出す機能を有する。すなわち、送信処理に関するシミュレーションとは、送信部303によって仕様1に適合するよう変換されたデータがバスモデル121へ送信される処理を意味する。したがって、送信処理のシミュレーションが実行された場合、消費電力関連付け部304によって関連付けられた消費電力情報が見積もり値300として出力される。なお、呼び出された消費電力値は、RAM203、磁気ディスク205などの記憶領域に記憶される。
処理性能関連付け部306は、送信部303によるデータの送信処理に、この送信処理を実行した際に生じる処理時間を関連付ける機能を有する。具体的には、処理性能関連付け部306では、上述した消費電力関連付け部304の機能と同様にデータの送信処理に、あらかじめ設定された処理時間を処理性能情報として関連付ける。ここで設定される処理時間とは、仕様1のハードウェアを動作させた場合の処理時間であり、実際に動作させた場合の値でも検証値でもよい。なお、処理性能関連付け部306によって関連付けられた情報は、RAM203、磁気ディスク205などの記憶領域に記憶される。
処理性能呼び出し部307は、システムモデル120においてデータの送信処理に関するシミュレーションが実行されると、処理性能関連付け部306によって関連付けられた処理性能情報を呼び出す機能を有する。したがって、送信処理のシミュレーションが実行された場合、処理性能関連付け部306によって関連付けられた処理性能情報が見積もり値300として出力される。なお、呼び出された処理時間は、RAM203、磁気ディスク205などの記憶領域に記憶される。
このように、消費電力関連付け部304、消費電力呼び出し部305、処理性能関連付け部306および処理性能呼び出し部307を設けることによって、情報処理装置100によるシミュレーションの精度を向上させることができる。システムモデル120では、本来、仕様1のハードウェアモデルを利用したいが、用意できずに、仕様2のハードウェアモデルを利用している状態である。
そこで、情報処理装置100では、消費電力関連付け部304および処理性能関連付け部306により、仕様1に適合したハードウェアモデルによってデータを送信した場合の消費電力値および処理時間を設定しておく。結果として、実際には仕様1に適合していないハードウェアモデルを代用しているにもかかわらず、実際の動作に近い見積もり値300を得ることができる。したがって、情報処理装置100では、精度の高いシミュレーションが実行されていることになる。
(データ送信手順)
つぎに、図3にて説明した機能部による仕様の異なるハードウェアモデルへのデータ送信の手順について説明する。図4は、仕様の異なるハードウェアモデルへのデータ送信手順を示すフローチャートである。図4のフローチャートにおいて、まず、受信部301が、システムモデル120による仕様の異なるハードウェアモデルから他のハードウェアモデルへ送信するデータを受信したか否かを判断する(ステップS401)。上述したように、送信先のハードウェアモデルは仕様1であっても、仕様2であってもバスモデル121へ適切なデータが送信されるため、受信側の他のハードウェアモデルの仕様は問わない。
ステップS401において、他のハードウェアモデルへの送信データを受信するまで待ち(ステップS401:Noのループ)、送信データを受信すると(ステップS401:Yes)、受信部301は、受信データの仕様とバスモデルの仕様とが一致するか否かを判断する(ステップS402)。
ステップS402において受信データの仕様とバスモデル121の仕様とが一致すると判断された場合(ステップS402:Yes)、受信データは仕様1に基づいたデータであるため、送信部303が、受信したデータをそのままバスモデル121へ出力して(ステップS405)、一連の処理を終了する。たとえば、受信部301が仕様1のハードウェアモデルから出力されたデータを受信した場合には、上述のような処理になる。
一方、ステップS402において、受信したデータの仕様とバスモデル121の仕様とが一致しない場合(ステップS402:No)、つぎに、変換部302によって受信したデータをバスモデル121の仕様に適合したデータに変換する(ステップS403)。さらに、消費電力関連付け部304および処理性能関連付け部306によって、データの送信処理に(後述するステップS405の処理に相当)、あらかじめ設定した消費電力情報と、処理性能情報とを関連付ける(ステップS404)。なお、ステップS403,404の順序は問わない。
ステップS403によるデータ変換処理およびステップS404の関連付け処理が終わると、最後に、送信部303が、変換後のデータをバスモデル121へ出力して(ステップS405)、一連の処理を終了する。たとえば、受信部301が仕様2のハードウェアモデルから出力されたデータを受信した場合には、上述のような処理になる。
以上説明したように、情報処理装置100では、システムモデル120のシミュレーションをおこなう際に、仕様の異なるハードウェアモデルから出力されたデータをシステムモデル120の仕様と適合するように変換する。すなわち、システムモデル120内に仕様の異なるハードウェアモデルが含まれている場合であっても、破綻をきたすことなく正しいシミュレーションを実行させることができる。
(実装例)
つぎに、具体的な実装例として、CPU、メモリ、モジュールAの構成を持つ検証対象システムのバスの仕様がAHBからAXIへ変更された場合について説明する。以下、AHBが適合されたバスによるシステムを「従来システム」、AXIが適合されたバスによるシステムを「更新システム」とする。また、システム内のハードウェアのうち、モジュールAのみがAXIに適合されていないものとして以下説明をおこなう。
図5は、検証支援処理によるシステムモデルの変更例を示す説明図である。図5のように、従来システム500は、CPU、メモリおよびモジュールAが同一のAHBバスに接続されている。従来システム500を構成するCPU、メモリおよびモジュールAは、AHBバスと同じAHB仕様に適合した実装情報によって構成されている。
その後、設計変更が生じ、従来システム500と同一のハードウェア構成のまま、バスの仕様がAXIへ変更された更新システム510が新たな検証対象システムとなる。したがって、更新システム510についてのシミュレーションを実行して、消費電力や処理性能を見積もらなければならない。このとき、更新システム510を構成するハードウェアのうち、CPUおよびメモリについてはAXIに適合した実装情報が用意されている。そして、モジュールAは従来システム500と同様にAHBに適合した実装情報によって構成されている。
ここで、図6は、従来システムにおけるモジュールAの動作を示すシーケンス図である。モジュールAは、AHB仕様の実装情報によって構成されている。したがって、図6のように、CPUからのアクセス(WriteAddres,WriteData)を受け付け、実際のデータの書き込み処理であるWriteDataの処理が終了すると、応答信号としてCPUへResponseを送信する。上述のようなモジュールAの動作は、AHB仕様に則した正しい動作であるが、図19を用いて従来の課題として説明したように、AXI仕様の更新システム510では、応答信号として不十分となり、更新システム510全体の動作が滞ってしまう。
モジュールAから正しい応答信号を出力させるためには、図3にて説明した機能部を追加する必要がある。そこで、本実装例では、図5のように、モジュールAとAXIバスと間に、図3にて説明した機能部に相当する処理を実行するモジュールWを追加する。図7は、更新システムにおけるモジュールAの動作を示すシーケンス図である。図7のように、更新システム510に追加されたモジュールWでは、モジュールAの応答信号の出力(Response2)にあわせて、AXI仕様に適合した応答信号701(Response1)を出力させる。
CPUによるモジュールAへアクセスがおこなわれると、応答信号としてResponce1,2が送信される。これら応答信号は、実際には、モジュールAとモジュールWとからそれぞれ送信されている。ところが、応答信号自体には、モジュールAが送信元として設定されているため、CPUは、AXI仕様のモジュールAから送信された応答信号を受信したものとして、動作することができる。
図7のシーケンス例に限らず、モジュールAからいずれかのデータが出力された場合には、モジュールWによる変換処理が施される。したがって、CPU、メモリともにAXI仕様に応じた動作がおこなわれ、更新システム510のシミュレーションによる消費電力や処理性能の見積もりが可能となる。
(シミュレーション実行手順)
つぎに、情報処理装置100の更新システム510によるシミュレーション実行手順について説明する。図8は、更新システムによるシミュレーション実行手順を示すフローチャートである。図8のフローチャートにおいて、まず、情報処理装置100は、従来システム500と更新システム510とのシステムモデルを取得する(ステップS801)。システムモデルとは、ハードウェアを情報処理装置100によって仮想的に再現するための情報である。具体的には、システムを構成するハードウェアの接続情報や、各ハードウェアの実装を表す実装情報(たとえばRTL記述やTL記述)や、仕様書などが含まれている。
つぎに、情報処理装置100では、ステップS801において取得した従来システム500と更新システム510との構成を比較し、更新システム510の中の実装情報が用意されていないモジュールAを抽出する(ステップS802)。モジュールAが抽出されると、情報処理装置100では、更新システム510のシステムモデルとモジュールAのモデル(AHBの実装情報)とを比較してモジュールWを作成する(ステップS803)。
本実装例の場合、ステップS803においてモジュールWを作成するための手法として、モジュールAからの出力データを加工するラッパモデルを作成することによって、モジュールWを作成する。ラッパモデルとは、あるプログラムの返り値を別のプログラムに渡すためのプログラムである。なお、ステップS803によってモジュールWを作成するためのラッパモデルの作成については詳しく後述する。
ステップS803によってモジュールWが作成されると、情報処理装置100は、つぎに、更新システム510のシステムモデルにモジュールAおよびモジュールWのモデルを追加し(ステップS804)、各モジュール追加後の更新システム510のシステムモデルを用いたシミュレーションを実行し(ステップS805)、一連の処理を終了する。
なお、本実装例では、RTL記述の実装情報が提供されているが、その他にも、TL記述など、抽象度の異なるハードウェア記述が提供される場合もある。このような場合は、各記述レベルに応じた複数のシミュレータを用意し、これら複数のシミュレータを協働させることによって、同一の更新システム510についてのシミュレーションが可能になる。
(ラッパモデルの作成手順)
つぎに、図8のステップS803においてモジュールWを作成するための、ラッパモデルの作成手順について説明する。図9は、更新システムに追加するラッパモデルの作成手順を示すフローチャートである。図9のフローチャートにおいて、情報処理装置100は、まず、モジュールWを設定する(ステップS901)。このステップS901の時点では、モジュールW内の処理の内容は設定されておらず、いわば空の箱が用意された状態となる。
つぎに、情報処理装置100は、モジュールAのバスの接続情報を抽出する(ステップS902)。ステップS902においてモジュールAのバスの接続情報を抽出するため、情報処理装置100は、まず、モジュールAの実装情報からポート情報を抽出する。なお、実装情報として提供されるハードウェア記述にはRTL記述やTL記述などが想定されるが、ここでは、RTL記述の実装情報が提供されているものとして説明する。
ここで、図10は、AHBバスのポート情報の一例を示す説明図である。モジュールAにおいてデータの送受が生じる場合には、通常、ポート情報1000のようにAHB仕様に応じて設定されたポートにそれぞれ応答をおこなう(たとえば、図6のモジュールAの動作)。
さらに、情報処理装置100は、モジュールAの仕様書からトランザクション情報を抽出する。トランザクション情報とは、モジュールAに対して各種動作に応じたアクセスがおこなわれた場合のモジュールAの振る舞いを設定した情報である。したがって、ステップS902では、下記のように定義されたトランザクション情報の中から、モジュールAへのアクセスに応じたトランザクション情報を抽出する。なお、実際のトランザクション情報としては設定された振る舞いを実行させるための各種の仕様記述各種言語によって記載されているが、ここでは、振る舞いの内容をわかりやすくさせるため、自然言語で記述している。
<AHBトランザクションの定義>
○write(address,data)の場合
1)
HADDRにaddressを送出する。HWDATAにdataを送出する。
HWRITEに1(書き込み)を送出する。
HBURSTに0(シングル転送)を送出する。
その他の出力信号は任意の値を送出する。
2)
HRESP信号が1を出力するのを待つ。
○read(address)
1)
HADDRにaddressを送出する。
HWRITEに0(読み出し)を送出する。
HBURSTに0(シングル転送)を送出する。
その他の出力信号は任意の値を送出する。
2)
HRESP信号が1を出力するのを待つ。
3)
HRDATAの値を受信データとする。
○init()
1)
HRESETn信号を0にする。
2)
HRESETn信号を1にする。
ステップS902によってモジュールAのバスの接続情報が抽出されると、情報処理装置100は、更新システム510のバスの接続情報を抽出する(ステップS903)。更新システム510のバスの接続情報を抽出する場合も、情報処理装置100は、まず、実装情報からポート情報を抽出する。
ここで、図11は、AXIバスのポート情報の一例を示す説明図である。更新システム510の各モジュールにおいてデータの送受が生じる場合には、ポート情報1100のようにAXI仕様に応じて設定されたポートにそれぞれ応答をおこなう(たとえば、図7のモジュールAの動作)。
そして、情報処理装置100は、更新システム510の仕様書からトランザクション情報を抽出する。したがって、ステップS903では、上述のように定義されたトランザクション情報の中から、各モジュールへのアクセスに応じたトランザクション情報を抽出する。
<AXIトランザクションの定義>
○write(address,data)
1)
AWADDRにaddressを送出する。
WDATAにdataを送出する。
AWID、AWLEN、WID、WVALIDは0を送出する。
AWVALID、BREADYに1を送出する。
他の出力信号は任意の値を送出する。
2)
AWRESP信号が1を受信するのを待つ。
3)
WDATAにdataを送出する。WVALIDに1を送出する。
4)
BIDとWRESPが0を、BVALIDが1を受信するのを待つ。
○read(address)
1)
ARADDRにaddressを送出する。
ARID、ARLENに0を送出する。
RVALIDに1を送出する。
その他の出力信号は任意の値を送出する。
2)
RREADYが0を受信するのを待つ。
3)
RDATAの値を受信データとする。
○init()
1)
ARESETn信号が0を受信するのを待つ。
2)
ARESETn信号が1を受信するのを待つ。
○interrupt()
1)
AWREADY、WREADY、BRESP、ARREADY、RREADYに0を送出する。
他の出力信号は任意の値を送出する。
つぎに、情報処理装置100は、モジュールWにモジュールAとの接続情報を追加する(ステップS904)。すなわち、ステップS901において新たに設定したモジュールWに、ステップS902において抽出した接続情報を追加する。図5に示したように、更新システム510では、バスとモジュールAとの間にモジュールWが接続されている。したがって、ステップS904では、ポート情報1000のinputとoutputとを入れ替えることによって、ステップS901において設定された空のモジュールWに、モジュールAとの接続を表すポート情報が追加される。
そして、情報処理装置100は、モジュールWに更新システム510との接続情報を追加する(ステップS905)。更新システム510との接続情報とは、モジュールWとバスとの接続を表す情報である。したがって、ステップS905では、ポート情報1100のinputとoutputとを入れ替えることによって、モジュールWに、バスとの接続を表すポート情報が追加される。
最後に、モジュールWの実装情報に出力値、消費電力情報、処理性能情報を追加することによって(ステップS906)、モジュールWの機能を実現するラッパが作成され、一連の処理を終了する。このステップS906によって実装情報に出力値を追加することによって、更新システム510における、モジュールAの適切な動作を担保することができる。また、消費電力情報および処理性能情報は、情報処理装置100による更新システム510のシミュレーションをおこなった際に、モジュールAを用いた動作の見積もり値として出力される。
なお、出力値は、モジュールAによる演算処理結果として正しい値を出力させる必要はないため、あらかじめ設定した値や、ランダムな値を出力値として利用してもよい。これは、情報処理装置100が、更新システム510を動作させた際の消費電力や処理性能の検証を目的としているためである。すなわち、モジュールAの演算結果として正確な値が出力されなくても、更新システム510が与えられたシナリオ通りに滞りなく動作すればよい。
(シミュレーションによる見積もり)
つぎに、上述したような、実装情報に追加された消費電力情報および処理性能情報を利用して、更新システム510のシミュレーションを実行した場合の消費電力や処理性能の見積もりについて説明する。
図12は、シミュレーション実行時の消費電力見積もり処理を示す説明図である。図12では、AHB仕様のシステムにおいてモジュールAを動作させた場合の見積もりを表している。消費電力は、モジュールAへのアクセス(WriteAddres,WriteData)と、このアクセスに応答した応答信号(Response)の出力を検知して、あらかじめ設定した消費電力を加算すればよい。ここでは、1つの処理に生じる電力が1mWと設定されているため、3mWの消費電力が見積もり値として提供される。
本実装例では、更新システム510におけるモジュールAの動作についての見積もりをおこなう必要がある。そこで、更新システム510の場合、図12にて説明した見積もりに補正を施して見積もり値を提供する。図13は、シミュレーション実行時の消費電力値の補正例を示す説明図である。図13では、AXI仕様の更新システム510において、図12と同様にCPUからのアクセスに応じてモジュールAが応答信号を送信する処理が示されている。
この場合も、CPUからのアクセス(WriteAddres,WriteData)と、このアクセスに応答した応答信号(Response)が検出される。このとき、モジュールWからCPUやモジュールAへのアクセス(太矢印)は、実機ではおこなわれないアクセスであるため、基本的には、あらかじめ0mWの消費電力が設定されている。
このとき、例外として、モジュールWによるデータの変換処理によって新たに生じた応答信号(Response1)については、実際に更新システム510において発生するアクセスとして検知される。当然、検知された応答信号に対して、あらかじめ設定した消費電力1mWが加算される。結果として、応答信号(Response1)の見積もり値が補正値として1mWが加算され、4mWの消費電力が見積もり値として提供される。処理性能値についても検知されたアクセスにあらかじめ設定されていた処理時間が加算されることによって同様に、見積もり値が提供される。
そこで、以下には、具体的な見積もり手順について説明する。図14は、AXI仕様のハードウェアモデルAの見積もり例を示すデータテーブルである。更新システム510において、仮に、AXI仕様のモジュールAのハードウェアモデル(ハードウェアモデルA)が用意された場合には、データテーブル1400のような見積もり値が提供されるとする。
情報処理装置100では、AXI仕様のモジュールAのハードウェアモデルは用意されていない。そこで、すでに用意されているハードウェアモデルを利用してAXI仕様のモジュールAの見積もり値を求める処理をおこなう。そして、AHB仕様のモジュールAのハードウェアモデル(ハードウェアモデルA)と、AXI仕様のモジュールWのハードウェアモデル(ハードウェアモデルW)とは、すでに用意されているものとする。
図15は、AHB仕様のハードウェアモデルAの見積もり例を示すデータテーブルであり、図16は、AXI仕様のハードウェアモデルWの見積もり例を示すデータテーブルである。図9のステップS906にて消費電力情報と処理性能情報とが追加されているが、ここで追加された情報は、データテーブル1500,1600のように保持されている。
したがって、更新システム510にモジュールWが追加された場合には、ハードウェアモデルAとハードウェアモデルWの見積もり値を合成する。図17は、ハードウェアモデルWを挿入したAHB仕様のハードウェアモデルAの見積もり例を示すデータテーブルである。データテーブル1700のように、データテーブル1500の見積もり値と、データテーブル1600の見積もり値を加算することによって、AXI仕様のモジュールAの見積もり値に近い見積もり値を求めることができる。
なお、図17のデータテーブル1700の見積もり値は図14のデータテーブル1400の値との誤差が生じているが、消費電力情報および処理性能情報の設定時の値の精度を向上させることによってよりデータテーブル1400の値に近い見積もり値を提供することができる。
以上説明したように、本実施の形態にかかる検証支援処理によれば、バスモデルの仕様とは異なるハードウェアモデルが接続されたシステムであっても、異なる仕様のハードウェアモデルから送信されたデータは、自動的にバスモデルの仕様に適合するデータに変換される。
すなわち、データは、変換された後、初めてバスモデルに送信される。したがって、他のハードウェアと仕様の異なるハードウェアを含む場合であっても、このハードウェアの仕様変更を待たずにシステム全体のシミュレーションを実行することができる。これにより、システム設計の早期段階であっても、システム全体を動作させた際の電力・性能を見積ることができる。
また、上述した検証支援処理では、任意の仕様のモジュールから出力されたデータ、すなわちいずれの仕様に適合したデータかわからないデータを一意的に受け付けるような構成であってもよい。この場合、仕様の異なるデータであれば変換を施し、仕様が一致するデータであれば、そのままバスへ送信する。したがって、システム内の各ハードウェアモデルの仕様が特定できない場合であっても、適切に仕様の異なるデータのみを変換して、正確なシミュレーションを実行させることができる。
なお、本実施の形態で説明した検証支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本検証支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本検証支援プログラムは、インターネットなどのネットワークを介して配布してもよい。
100 情報処理装置
110 システムモデルシミュレータ
120 システムモデル
301 受信部
302 変換部
303 送信部
304 消費電力関連付け部
305 消費電力呼び出し部
306 処理性能関連付け部
307 処理性能呼び出し部
300 見積もり値
500 従来システム
510 更新システム

Claims (6)

  1. バスモデルに接続され前記バスモデルと同一の第1の仕様に適合する第1のハードウェアモデルと前記バスモデルに接続され前記バスモデルと異なる第2の仕様に適合する第2のハードウェアモデルとの通信を制御するシミュレーションを実行するコンピュータを、
    前記第2のハードウェアモデルからの前記第2の仕様に基づくデータを受信する受信手段、
    前記第1の仕様としてあらかじめ与えられたトランザクション定義に応じて、前記受信手段によって受信されたデータを前記第1の仕様に適合するデータに変換する変換手段、
    前記変換手段によって変換されたデータを、前記バスモデルを経由して送信先となるハードウェアモデルに送信する送信手段、
    として機能させることを特徴とする検証支援プログラム。
  2. 前記受信手段は、任意の仕様のハードウェアモデルからの前記任意の仕様に基づくデータを受信した場合、前記任意の仕様が前記第1の仕様と一致するか否かを判断し、
    前記変換手段は、前記受信手段によって前記任意の仕様が前記第1の仕様と一致しない場合、前記第1の仕様に基づいて、前記受信手段によって受信されたデータを前記第1の仕様に適合するデータに変換することを特徴とする請求項1に記載の検証支援プログラム。
  3. 前記コンピュータを、さらに、
    前記送信手段が、前記変換手段によって変換されたデータを前記送信先となるハードウェアモデルに送信する際の消費電力情報として、前記データの送信処理とあらかじめ設定された消費電力値とを関連付ける消費電力関連付け手段、
    前記シミュレーションが実行されると、前記消費電力関連付け手段によって関連付けられた消費電力情報を呼び出す消費電力呼び出し手段、として機能させる請求項1または2に記載の検証支援プログラム。
  4. 前記コンピュータを、さらに、
    前記送信手段が、前記変換手段によって変換されたデータを前記送信先となるハードウェアモデルに送信する際の処理性能情報として、前記データの送信処理とあらかじめ設定された処理時間とを関連付ける処理性能関連付け手段、
    前記シミュレーションが実行されると、前記処理性能関連付け手段によって関連付けられた処理性能情報を呼び出す処理性能呼び出し手段、として機能させることを特徴とする請求項1〜3のいずれか一つに記載の検証支援プログラム。
  5. バスモデルに接続され前記バスモデルと同一の第1の仕様に適合する第1のハードウェアモデルと前記バスモデルに接続され前記バスモデルと異なる第2の仕様に適合する第2のハードウェアモデルとの通信を制御するシミュレーションを実行する検証支援装置であって、
    前記第2のハードウェアモデルからの前記第2の仕様に基づくデータを受信する受信手段と、
    前記第1の仕様としてあらかじめ与えられたトランザクション定義に応じて、前記受信手段によって受信されたデータを前記第1の仕様に適合するデータに変換する変換手段と、
    前記変換手段によって変換されたデータを、前記バスモデルを経由して送信先となるハードウェアモデルに送信する送信手段と、
    を備えることを特徴とする検証支援装置。
  6. バスモデルに接続され前記バスモデルと同一の第1の仕様に適合する第1のハードウェアモデルと前記バスモデルに接続され前記バスモデルと異なる第2の仕様に適合する第2のハードウェアモデルとの通信を制御するシミュレーションを実行するコンピュータが、
    前記第2のハードウェアモデルからの前記第2の仕様に基づくデータを受信する受信工程と、
    前記第1の仕様としてあらかじめ与えられたトランザクション定義に応じて、前記受信工程によって受信されたデータを前記第1の仕様に適合するデータに変換する変換工程と、
    前記変換工程によって変換されたデータを、前記バスモデルを経由して送信先となるハードウェアモデルに送信する送信工程と、
    を実行することを特徴とする検証支援方法。
JP2009080128A 2009-03-27 2009-03-27 検証支援プログラム、検証支援装置および検証支援方法 Expired - Fee Related JP5262909B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009080128A JP5262909B2 (ja) 2009-03-27 2009-03-27 検証支援プログラム、検証支援装置および検証支援方法
US12/659,945 US8291369B2 (en) 2009-03-27 2010-03-25 Computer-readable recording medium storing verification support program, verification support apparatus, and verification support method for supporting verification of hardware system design including different hardware models

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009080128A JP5262909B2 (ja) 2009-03-27 2009-03-27 検証支援プログラム、検証支援装置および検証支援方法

Publications (2)

Publication Number Publication Date
JP2010231633A JP2010231633A (ja) 2010-10-14
JP5262909B2 true JP5262909B2 (ja) 2013-08-14

Family

ID=42785893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009080128A Expired - Fee Related JP5262909B2 (ja) 2009-03-27 2009-03-27 検証支援プログラム、検証支援装置および検証支援方法

Country Status (2)

Country Link
US (1) US8291369B2 (ja)
JP (1) JP5262909B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201224748A (en) * 2010-12-06 2012-06-16 Ind Tech Res Inst Transaction level system power estimation method and system
JP6265788B2 (ja) * 2014-03-07 2018-01-24 三菱電機株式会社 シミュレーション装置及びインタフェースモジュール生成装置及びプログラム
KR102408222B1 (ko) * 2020-11-19 2022-06-13 주식회사 바움디자인시스템즈 전력 모델 증분 학습 방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226780B1 (en) * 1998-08-31 2001-05-01 Mentor Graphics Corporation Circuit design method and apparatus supporting a plurality of hardware design languages
HUP0301274A2 (en) * 1998-09-30 2003-08-28 Cadence Design Systems Block based design methodology
JP2000293557A (ja) * 1999-04-05 2000-10-20 Matsushita Electric Ind Co Ltd 消費電力のシミュレーション方法
JP2000315222A (ja) * 1999-04-30 2000-11-14 Matsushita Electric Ind Co Ltd 集積回路装置の設計用データベース及び集積回路装置の設計方法
US6651038B1 (en) * 1999-06-29 2003-11-18 Lucent Technologies Inc. Architecture for simulation testbench control
JP2003091565A (ja) * 2001-09-19 2003-03-28 Matsushita Electric Ind Co Ltd データ転送アーキテクチャ構成の決定方法およびその性能見積り方法
US6845341B2 (en) 2002-05-14 2005-01-18 Cadence Design Systems, Inc. Method and mechanism for improved performance analysis in transaction level models
JP2005182359A (ja) * 2003-12-18 2005-07-07 Renesas Technology Corp データ処理装置の設計方法及び記録媒体
JPWO2006003702A1 (ja) * 2004-07-01 2008-04-17 富士通株式会社 検証支援装置、検証支援方法、および検証支援プログラム
JP2006343942A (ja) * 2005-06-08 2006-12-21 Nec Electronics Corp バスシステム設計方法と装置
US7437701B1 (en) * 2006-07-17 2008-10-14 Xilinx, Inc. Simulation of a programming language specification of a circuit design

Also Published As

Publication number Publication date
US8291369B2 (en) 2012-10-16
JP2010231633A (ja) 2010-10-14
US20100251193A1 (en) 2010-09-30

Similar Documents

Publication Publication Date Title
CN100442293C (zh) 合并硬件设计语言的原始档案与查验资料档案的方法
US10713547B2 (en) Systems, processes, interfaces, and computer program products for verification of image content in software development systems
US20070055911A1 (en) A Method and System for Automatically Generating a Test-Case
US8239708B2 (en) System on chip (SoC) device verification system using memory interface
US20190034318A1 (en) Hardware-Software Co-Verification for Debugging Firmware on a Hardware Simulator
US7888971B2 (en) Verification support system and method
EP3532936B1 (en) Debugging system and method
US8140315B2 (en) Test bench, method, and computer program product for performing a test case on an integrated circuit
JP5262909B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
US8661384B2 (en) Verification support apparatus, verifying apparatus, computer product, verification support method, and verifying method
US20040015887A1 (en) Simulation method, simulation system and simulation program for software and hardware
US20240296110A1 (en) Apparatuses, Devices, Methods and Computer Program for Performing Unit Tests on Firmware Code
US20080288902A1 (en) Circuit design verification method and apparatus and computer readable medium
US20100186005A1 (en) Computer readable recording medium storing verification support program, information processing apparatus and verification support method
CN1815480B (zh) 从波形图产生硬件设计语言触发的方法与系统
JPWO2006003702A1 (ja) 検証支援装置、検証支援方法、および検証支援プログラム
US20100161305A1 (en) Performance evaluation device, performance evaluation method and simulation program
US20050144586A1 (en) Automated generation method of hardware/software interface for SIP development
US9576090B2 (en) Co-design of a testbench and driver of a device
US20070198957A1 (en) Circuit simulator and circuit simulation program storage medium
US20120209583A1 (en) Computer product, verification support apparatus, and verification support method
JP2011039781A (ja) 協調シミュレーション装置及びシミュレーション方法
US6701490B1 (en) Cycle and phase accurate hardware-software coverification
Schubert et al. Addressing verification challenges of heterogeneous systems based on IBM POWER9
JP2008234080A (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム、半導体集積回路、半導体集積回路の製造方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

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: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees