JP4421498B2 - プログラム - Google Patents

プログラム Download PDF

Info

Publication number
JP4421498B2
JP4421498B2 JP2005073324A JP2005073324A JP4421498B2 JP 4421498 B2 JP4421498 B2 JP 4421498B2 JP 2005073324 A JP2005073324 A JP 2005073324A JP 2005073324 A JP2005073324 A JP 2005073324A JP 4421498 B2 JP4421498 B2 JP 4421498B2
Authority
JP
Japan
Prior art keywords
model
data
storage device
circuit
external storage
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
JP2005073324A
Other languages
English (en)
Other versions
JP2006259871A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005073324A priority Critical patent/JP4421498B2/ja
Publication of JP2006259871A publication Critical patent/JP2006259871A/ja
Application granted granted Critical
Publication of JP4421498B2 publication Critical patent/JP4421498B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Description

本発明は、プログラムに関する。
近年、ASIC(Application Specified IC)等のLSI(Large Scale Integration:大規模集積回路)の設計手法は、その回路規模の増大に伴い、回路図による設計から抽象度の高いHDL(ハードウェア記述言語)によるディジタル回路設計へと移ってきている。このHDLにより設計される回路図は、きわめて膨大であり、動作がきわめて複雑になる。そのため、HDLにより設計された回路は、HDLで記述された他のモジュールと合わせてシミュレーション等を行うHDLシミュレータを用いることにより、機能検証作業を行うことが必要となっている。
より詳細には、HDLシミュレータは工程の全ての局面で使用されるものであり、各レベルでのシミュレーション結果に基本的な差がないことを確認するものである。このようなHDLシミュレータは、検証の対象とするHDLモデル(LSI)に対して、それをテストするためのテストベンチと呼ぶ新たなHDL記述を追加する。テストベンチは、テスト・スティミュラス(テスト・ベクター)を含み、これをテストの対象とするHDLモデル(LSI)に与え、シミュレーションを自動実行させるような手順をHDLで記述するものである。すなわち、図6に示すような、テストベンチ・モジュールを最上位とする1つのモデルが完成することになる。これをコンパイル、リンクしてコンピュータ上の実行モジュールを作成し、シミュレータ・コントロール・パネル上で実行をコントロールしながら波形を観察することにより、機能検証を行う。
例えば、特許文献1には、CADを用いて設計した回路の機能検証を行う回路の機能検証システムが提案されている。
特開2002−230073号公報
ところで、外部記憶装置(ハードディスク装置など)と主記憶装置(メモリ)間のデータ転送を制御するLSIにおいては、外部記憶装置へのアクセス速度を高速化するため、複数の装置をあたかも一つの装置のように連続したデータを複数の記憶装置に持たせる場合がある。また、データの保護のためには、複数記憶装置に同一のデータを持たせる場合もある(ミラーリング)。さらに、複数の外部記憶装置がメモリ上の別の空間との間で独立にデータ転送をする場合もある。
これらの機能を併せ持つLSIをテストするためのテストベンチとしては、図7に示すような構成が考えられる。図7に示すHDLシミュレータ200は、HDLにより設計されたモデルである検証対象回路210に対するHDLシミュレータ機能を発揮するものである。図7に示すように、HDLシミュレータ200のテストベンチ201は、テストシナリオ202と、CPUモデル203と、HDD(Hard Disk Drive)モデル204と、メモリモデル205と、入力/期待値バッファ206と、入力/期待値バッファ207とを具備している。HDDモデル204は、検証対象回路210に接続されるHDD装置(図示せず)をソフトウェアでモデル化したもの(ソフトウェアで書かれた仮想的なHDD装置)である。このHDDモデル204は、複数のHDD装置を想定したものであり、HDDモデル204a〜204dが設けられている。また、入力/期待値バッファ206も、HDDモデル204a〜204dに対応して、入力/期待値バッファ206a〜206dに分離されている。さらに、メモリモデル205に接続される入力/期待値バッファ207も、HDDモデル204a〜204dに対応して、入力/期待値バッファ207a〜207dに分離されている。
しかしながら、図7に示すような構成のテストベンチ201では、動作モードが異なるときの期待値の作成手順が煩雑になってしまうという問題がある。
本発明は、上記に鑑みてなされたものであって、外部記憶装置へのアクセス動作モードが変わるような場合でも、テストシナリオの作業を省力化でき、テストベンチ作成の効率化が実現できるプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、請求項1にかかる発明のプログラムは、複数の外部記憶装置内のデータを主記憶装置上の単一の連続領域にデータ転送させる機能を制御する検証対象回路のモデルに対する各種のシミュレーションを行うテストベンチとして機能し、制御部および記憶部を備えるコンピュータを、前記検証対象回路のモデルに接続される複数の前記外部記憶装置をモデル化した外部記憶装置モデルを前記記憶部に実現する手段と、前記検証対象回路のモデルに接続される前記主記憶装置をモデル化した主記憶装置モデルを前記記憶部に実現する手段と、前記検証対象回路のモデルへのレジスタ設定や前記外部記憶装置モデルや前記主記憶装置モデルへの動作機能設定を行い、前記検証対象回路のモデルに種々のテスト動作を実行させるための指示を出すテストシナリオを制御部に実現する手段と、前記検証対象回路のモデルにバス接続される仮想的なCPUであるCPUモデルを前記制御部に実現する手段と、前記外部記憶装置モデルに接続される第1のデータ保持バッファを前記記憶部に実現する手段と、前記主記憶装置モデルに接続される第2のデータ保持バッファを前記記憶部に実現する手段と、として機能させるためのプログラムであって、前記テストシナリオは、前記第1のデータ保持バッファに対して連続したデータを一括設定し、前記主記憶装置モデルに書き込まれるデータの期待値を前記第2のデータ保持バッファに生成させ、前記CPUモデルを制御して前記第1のデータ保持バッファに設定したデータを前記外部記憶装置モデルに読み出させて前記検証対象回路のモデルに入力させるとともに前記検証対象回路のモデルから前記主記憶装置モデルに対してデータを送出させ、前記第2のデータ保持バッファに保持している期待値との比較をさせる。
また、請求項2にかかる発明のプログラムは、主記憶装置上の単一の連続領域のデータを複数の外部記憶装置にデータ転送させる機能を制御する検証対象回路のモデルに対する各種のシミュレーションを行うテストベンチとして機能し、制御部および記憶部を備えるコンピュータを、前記検証対象回路のモデルに接続される複数の前記外部記憶装置をモデル化した外部記憶装置モデルを前記記憶部に実現する手段と、前記検証対象回路のモデルに接続される前記主記憶装置をモデル化した主記憶装置モデルを前記記憶部に実現する手段と、前記検証対象回路のモデルへのレジスタ設定や前記外部記憶装置モデルや前記主記憶装置モデルへの動作機能設定を行い、前記検証対象回路のモデルに種々のテスト動作を実行させるための指示を出すテストシナリオを制御部に実現する手段と、前記検証対象回路のモデルにバス接続される仮想的なCPUであるCPUモデルを前記制御部に実現する手段と、前記外部記憶装置モデルに接続される第1のデータ保持バッファを前記記憶部に実現する手段と、前記主記憶装置モデルに接続される第2のデータ保持バッファを前記記憶部に実現する手段と、として機能させるためのプログラムであって、前記テストシナリオは、前記第2のデータ保持バッファに対して連続したデータを一括設定し、前記外部記憶装置モデルに書き込まれるデータの期待値を前記第1のデータ保持バッファに生成させ、前記CPUモデルを制御して前記第2のデータ保持バッファに設定したデータを前記主記憶装置モデルに読み出させて前記検証対象回路のモデルに入力させるとともに前記検証対象回路のモデルから前記外部記憶装置モデルに対してデータを送出させ、前記第1のデータ保持バッファに保持している期待値との比較をさせる。
また、請求項3にかかる発明は、請求項2記載のプログラムにおいて、同一データを複数の前記外部記憶装置に対して書き込むミラーリングの場合、前記テストシナリオは、前記外部記憶装置モデルに接続される前記第1のデータ保持バッファに対して前記外部記憶装置モデルに書き込まれるデータの期待値のミラーリングを実行させる。
また、請求項4にかかる発明は、請求項1記載のプログラムにおいて、前記各外部記憶装置が前記主記憶装置上の分離した領域に対して独立にデータ転送する動作モードの場合には、前記テストシナリオは、前記各外部記憶装置モデル用に個々にバッファ制御可能である。
請求項1にかかる発明によれば、テストシナリオが外部記憶装置モデルの数に応じたデータ(あるいは期待値)の生成をする作業が省力化でき、テストベンチ作成の効率化が実現できる。
また、請求項2にかかる発明によれば、テストシナリオが外部記憶装置モデルの数に応じたデータ(あるいは期待値)の生成をする作業が省力化でき、テストベンチ作成の効率化が実現できる。
また、請求項3にかかる発明によれば、複数台の外部記憶装置モデルがミラーリング動作をする際に、テストシナリオがミラーリングデータを用意する手間を省力化でき、テストベンチ作成の効率化が実現できる。
また、請求項4にかかる発明によれば、各外部記憶装置モデルが独立して動作するモードの場合には、テストシナリオが各外部記憶装置モデル用のデータを個別に制御ができるので、柔軟性の高い検証が可能である。
以下に添付図面を参照して、この発明にかかるテストベンチの最良な実施の形態を詳細に説明する。
[第1の実施の形態]
本発明の第1の実施の形態を図1ないし図3に基づいて説明する。
図1は、本発明の第1の実施の形態にかかるテストベンチを実現する機能検証装置1のハードウェア構成を示すブロック図である。図1に示すように、機能検証装置1は、例えばパーソナルコンピュータやワークステーションであり、コンピュータの主要部であって各部を集中的に制御するCPU(Central Processing Unit)2を備えている。このCPU2には、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)3と、各種データを書換え可能に記憶するRAM(Random Access Memory)4とがバス5で接続されている。
さらにバス5には、各種のプログラム等を格納するHDD(Hard Disk Drive)6と、配布されたプログラムであるコンピュータソフトウェアを読み取るための機構としてCD(Compact Disc)−ROM7を読み取るCD−ROMドライブ8と、機能検証装置1とネットワーク9との通信を司る通信制御装置10と、機能検証時の各種操作指示を行うキーボードやマウスなどの入力装置11と、機能検証時のシミュレーション結果等を表示するCRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などの表示装置12とが、図示しないI/Oを介して接続されている。
RAM4は、各種データを書換え可能に記憶する性質を有していることから、CPU2の作業エリアとして機能してバッファ等の役割を果たす。
図1に示すCD−ROM7は、この発明の記憶媒体を実施するものであり、OS(Operating System)や各種のプログラムが記憶されている。CPU2は、CD−ROM7に記憶されているプログラムをCD−ROMドライブ8で読み取り、HDD6にインストールする。
なお、記憶媒体としては、CD−ROM7のみならず、DVDなどの各種の光ディスク、各種光磁気ディスク、フレキシブル・ディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、通信制御装置10を介してインターネットなどのネットワーク9からプログラムをダウンロードし、HDD6にインストールするようにしてもよい。この場合に、送信側のサーバでプログラムを記憶している記憶装置も、この発明の記憶媒体である。なお、プログラムは、所定のOS(Operating System)上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
このシステム全体の動作を制御するCPU2は、このシステムの主記憶として使用されるHDD6上にロードされたプログラムに基づいて各種処理を実行する。
次に、機能検証装置1のHDD6にインストールされている各種のプログラムがCPU2に実行させる機能のうち、本実施の形態の機能検証装置1が備える特長的な機能について説明する。ここでは、HDLシミュレータプログラムがCPU2に実行させるHDLシミュレータ機能について説明する。HDLシミュレータ機能は、概略的には、HDL(ハードウェア記述言語)により設計されたモデルに対してシミュレーションを行うものである。
図2は、HDLシミュレータ100のテストベンチ101と検証対象回路のモデル50との関連構成を概略的に示す機能ブロック図である。HDLシミュレータ100は、HDLにより設計されたモデルである検証対象回路のモデル50に対するHDLシミュレータ機能を発揮するものである。図2に示すように、HDLシミュレータ100のテストベンチ101は、テストシナリオ102と、CPUモデル103と、外部記憶装置モデルであるHDD(Hard Disk Drive)モデル104と、主記憶装置モデルであるメモリモデル105と、第1のデータ保持バッファである入力/期待値バッファ106と、第2のデータ保持バッファである入力/期待値バッファ107とを具備している。このようなテストベンチ101は、検証対象回路のモデル50を検証するために、Verilog、VHDL、C/C++、E言語、Vera等の言語を用いてコーディングされたものである。
CPUモデル103は、検証対象回路のモデル50に接続されるCPU(図示せず)をソフトウェアでモデル化したもの(ソフトウェアで書かれた仮想的なCPU)である。
HDDモデル104は、検証対象回路のモデル50に接続されるHDD装置(図示せず)をソフトウェアでモデル化したもの(ソフトウェアで書かれた仮想的なHDD装置)であり、入力/期待値バッファ106が接続されている。本実施の形態においては、複数のHDD装置を想定したものであり、HDDモデル104a〜104dが設けられている。
メモリモデル105は、検証対象回路のモデル50に接続されるメモリ(図示せず)をソフトウェアでモデル化したもの(ソフトウェアで書かれた仮想的なメモリ)であり、入力/期待値バッファ107が接続されている。
テストシナリオ102は、検証対象回路のモデル50に種々の動作をさせるためのプログラムであり、CPUモデル103を経由して検証対象回路のモデル50へのレジスタ設定やHDDモデル104やメモリモデル105への動作機能設定等を行う。検証対象回路のモデル50にはレジスタ(ASICの種々動作を司る機能)が内蔵されており、このレジスタに対するテストシナリオ102からのアクセス又は指示によって、検証対象回路のモデル50が所望の動作を実行するのである。
次に、本実施の形態のテストシナリオ102からのアクセス又は指示による検証対象回路のモデル50の動作について説明する。
まず、複数のHDD装置からの読み出しデータがRAM上に連続に書かれる場合のシミュレーションについて説明する。
テストシナリオ102は、HDDモデル104に接続された入力/期待値バッファ106に対して連続したデータを配置する。データ生成は、入力/期待値バッファ106そのものがインクリメントデータを自動生成する場合もあり、また外部ファイルから供給することも可能である。
図3は、HDDモデル104に接続される入力/期待値バッファ106内のデータイメージを示す模式図である。図3に示すように、16bit区切り毎に各HDDモデル104a〜104d用のデータが交互に配置されている。同一のHDDモデルのアクセスは上から順に行なわれる。HDDモデルの数は可変であり、入力/期待値バッファ106で動的にバッファ内の配置をHDDの数に合わせて変えることが可能である。
次に、テストシナリオ102は、メモリモデル105に接続された入力/期待値バッファ107に対してメモリモデル105に書き込まれるデータの期待値を生成する。これは、HDDモデル104に接続された入力/期待値バッファ106のデータの中身を複製することにより実現する。なお、入力/期待値バッファ106,107間のデータコピー機能は、バッファ自体が有している。
続いて、テストシナリオ102は、CPUモデル103を介して検証対象回路のモデル50のHDD制御機能の制御を行い、データ転送を開始させる。検証対象回路のモデル50は、HDDモデル104に対してデータリードアクセスを行い、各HDDモデル104a〜104dは接続された単一の入力/期待値バッファ106から自分のモデルに対応したデータを取得し、検証対象回路のモデル50に与える。なお、HDDモデル104が自身のチャネル番号を引数として入力/期待値バッファ106にデータ取得要求を行なうことで、入力/期待値バッファ106がチャネル番号に応じたデータを自身のデータバッファから抜き出して返す。
検証対象回路のモデル50は、各HDDモデル104a〜104dから読み出したデータを連結し、メモリモデル105へのライトアクセスを行なう。
ライトデータを受け取ったメモリモデル105は、接続された入力/期待値バッファ107に対し、アドレス、データおよび書き込みマスクを引数として、期待値照合要求を行なう。メモリモデル105に接続された入力/期待値バッファ107は、期待値照合し、エラーの場合はメッセージを表示してシミュレーションを停止し、ユーザにデバッグを促す。
次に、RAM上の連続データが複数のHDD装置に書き込まれる場合のシミュレーションについて説明する。
テストシナリオ102は、メモリモデル105に接続された入力/期待値バッファ107に対して連続したデータを配置する。データ生成は入力/期待値バッファ107そのものがインクリメントデータを自動生成する場合もあり、また外部ファイルから供給することも可能である。
次に、テストシナリオ102は、HDDモデル104に接続された入力/期待値バッファ106に対して各HDDモデル104a〜104dに書き込まれるデータの期待値を生成する。これは、メモリモデル105に接続された入力/期待値バッファ107のデータの中身を複製することにより実現する。入力/期待値バッファ106,107間のデータコピー機能は、バッファ自体が有している。
続いて、テストシナリオ102は、CPUモデル103を介して検証対象回路のモデル50のHDD制御機能の制御を行ない、データ転送を開始させる。検証対象回路のモデル50は、メモリモデル105に対してリードアクセスを行ない、メモリモデル105は接続された入力/期待値バッファ107からアドレスに応じたデータを取得し、検証対象回路のモデル50に与える。
検証対象回路のモデル50は、メモリモデル105から受け取ったデータを各HDD104a〜104d用に分離し、各HDDモデル104a〜104dに対してライトアクセスする。
ライトデータを受け取った各HDDモデル104a〜104dは、接続された入力/期待値バッファ106に対して期待値照合要求を行なう。この入力/期待値バッファ106は、対応するHDDのチャネルに応じた期待値を自身のデータバッファから抜き出し、要求のあったデータと照合し、一致しなければエラーメッセージを表示してシミュレーションを停止し、ユーザにデバッグを促す。
このように本実施の形態によれば、テストシナリオ102がHDDモデル104(104a〜104d)の数に応じたデータ(あるいは期待値)の生成をする作業が省力化でき、テストベンチ作成の効率化が実現できる。
[第2の実施の形態]
次に、本発明の第2の実施の形態を図4に基づいて説明する。なお、前述した第1の実施の形態と同じ部分は同じ符号で示し説明も省略する。本実施の形態は、RAM上の連続データが複数のHDD装置にミラーリングされる場合のシミュレーションについて説明するものである。
本実施の形態のテストシナリオ102からのアクセス又は指示による検証対象回路のモデル50の動作について説明する。
テストシナリオ102は、メモリモデル105に接続された入力/期待値バッファ107に対して連続したデータを配置する。データ生成は、入力/期待値バッファ107そのものがインクリメントデータを自動生成する場合もあり、また外部ファイルから供給することも可能である。
次に、テストシナリオ102は、HDDモデル104に接続された入力/期待値バッファ106に対して各HDDモデル104a〜104dに書き込まれるデータの期待値を生成する。これは、メモリモデル105に接続された入力/期待値バッファ107のデータの中身を複製することにより実現する。入力/期待値バッファ106,107間のデータコピーはバッファ自体が有している。
ここで、ミラーリングの場合は、テストシナリオ102がHDDモデル104用の入力/期待値バッファ106に対してミラーリングの指定を行うことで、入力/期待値バッファ106のアクセスモードが変わる。
続いて、テストシナリオ102は、CPUモデル103を介して検証対象回路のモデル50のHDD制御機能の制御を行ない、データ転送を開始させる。検証対象回路のモデル50は、メモリモデル105に対してリードアクセスを行ない、メモリモデル105は接続された入力/期待値バッファ107からアドレスに応じたデータを取得し、検証対象回路のモデル50に与える。
検証対象回路のモデル50は、メモリモデル105から受け取ったデータを各HDD用に分離し、各HDDモデル104a〜104dに対してライトアクセスする。
ライトデータを受け取った各HDDモデル104a〜104dは、接続された入力/期待値バッファ106に対して期待値照合要求を行なう。この入力/期待値バッファ106は、対応するHDDのチャネルに応じた期待値を自身のデータバッファから抜き出し、要求のあったデータと照合し、一致しなければエラーメッセージを表示してシミュレーションを停止し、ユーザにデバッグを促す。データの抜き出しの際、ミラーリングの指定があった場合は、偶数チャネルの場合はひとつ小さいチャネルに置き換えて期待値を抜き出すことでミラーリングの検証ができる。例えば、図4に示すように、「HDDモデル2」は「HDDモデル1」とミラーリングされる場合は、「HDDモデル2」の期待値は「HDDモデル1」と同一である。
なお、偶数チャネルの期待値データをひとつ小さいチャネルの期待値からコピーし、アクセスは各チャネルに応じてそのままアクセスするという方法も可能である。
このように本実施の形態によれば、複数台のHDDモデル104a〜104dがミラーリング動作をする際に、テストシナリオ102がミラーリングデータを用意する手間を省力化でき、テストベンチ作成の効率化が実現できる。
[第3の実施の形態]
次に、本発明の第3の実施の形態を図5に基づいて説明する。なお、前述した第1の実施の形態と同じ部分は同じ符号で示し説明も省略する。本実施の形態は、複数のHDD装置が独立に動作する場合のシミュレーションについて説明するものである。
図5は、本発明の第3の実施の形態にかかるHDLシミュレータ100のテストベンチ101と検証対象回路のモデル50との関連構成を概略的に示す機能ブロック図である。本実施の形態のテストベンチ101が第1の実施の形態のテストベンチ101と異なる点は、メモリモデル105に接続される入力/期待値バッファ107が、HDDモデル104a〜104dに対応して分離されている点である。すなわち、本実施の形態においては、入力/期待値バッファ107a〜107dが設けられている。
次に、本実施の形態のテストシナリオ102からのアクセス又は指示による検証対象回路のモデル50の動作について説明する。
テストシナリオ102は、HDDモデル104に接続された入力/期待値バッファ106に対して、入力データもしくは期待値を設定したいチャネル数を指定してデータの生成を行なう。
メモリモデル105側は、各HDDモデル104a〜104dからの転送に応じたバッファを用意し、HDDからメモリへの転送の場合は対応するチャネルのHDD側のバッファの内容を複製して期待値を作り、メモリからHDDへの転送の場合はメモリ側のバッファにデータを生成し、対応するHDD側のバッファにデータを複製して期待値を作る。
検証対象回路のモデル50の制御は、各HDDが独立して動作するモードにする以外は上述した実施の形態と同じであるため、その説明は省略する。
このケースでは、各HDDモデル104a〜104dのインタフェースがリード・ライト独立に発生し、メモリモデル105からのリードアクセスの場合はメモリモデル105側の入力/期待値バッファ107a〜107dからデータが抜かれて検証対象回路のモデル50に渡され、HDDモデル104側の入力/期待値バッファ106で期待値照合が行なわれる。メモリモデル105へのライトアクセスの場合は、HDDモデル104側の入力/期待値バッファ106からデータが抜かれて検証対象回路のモデル50に渡され、メモリモデル105側の入力/期待値バッファ107a〜107dで期待値照合が行なわれる。これら動作が、各HDDチャネル毎に独立して実行される。
このように本実施の形態によれば、各HDDモデル104a〜104dが独立して動作するモードの場合には、テストシナリオ102が各モデル用のデータを個別に制御ができるので、柔軟性の高い検証が可能である。
本発明の第1の実施の形態にかかるテストベンチを実現する機能検証装置のハードウェア構成を示すブロック図である。 HDLシミュレータのテストベンチと検証対象回路との関連構成を概略的に示す機能ブロック図である。 HDDモデルに接続される入力/期待値バッファ内のデータイメージを示す模式図である。 本発明の第2の実施の形態にかかるテストベンチのHDDモデルに接続される入力/期待値バッファ内のデータイメージを示す模式図である。 本発明の第3の実施の形態にかかるHDLシミュレータのテストベンチと検証対象回路との関連構成を概略的に示す機能ブロック図である。 HDLシミュレータの構成を概略的に示す模式図である。 テストベンチと検証対象回路との関連構成を概略的に示す機能ブロック図である。
符号の説明
50 検証対象回路のモデル
101 テストベンチ
102 テストシナリオ
103 CPUモデル
104 外部記憶装置モデル
105 主記憶装置モデル
106 第1のデータ保持バッファ
107 第2のデータ保持バッファ

Claims (4)

  1. 複数の外部記憶装置内のデータを主記憶装置上の単一の連続領域にデータ転送させる機能を制御する検証対象回路のモデルに対する各種のシミュレーションを行うテストベンチとして機能し、制御部および記憶部を備えるコンピュータを、
    前記検証対象回路のモデルに接続される複数の前記外部記憶装置をモデル化した外部記憶装置モデルを前記記憶部に実現する手段と、
    前記検証対象回路のモデルに接続される前記主記憶装置をモデル化した主記憶装置モデルを前記記憶部に実現する手段と、
    前記検証対象回路のモデルへのレジスタ設定や前記外部記憶装置モデルや前記主記憶装置モデルへの動作機能設定を行い、前記検証対象回路のモデルに種々のテスト動作を実行させるための指示を出すテストシナリオを制御部に実現する手段と、
    前記検証対象回路のモデルにバス接続される仮想的なCPUであるCPUモデルを前記制御部に実現する手段と、
    前記外部記憶装置モデルに接続される第1のデータ保持バッファを前記記憶部に実現する手段と、
    前記主記憶装置モデルに接続される第2のデータ保持バッファを前記記憶部に実現する手段と、
    として機能させるためのプログラムであって、
    前記テストシナリオは、前記第1のデータ保持バッファに対して連続したデータを一括設定し、前記主記憶装置モデルに書き込まれるデータの期待値を前記第2のデータ保持バッファに生成させ、前記CPUモデルを制御して前記第1のデータ保持バッファに設定したデータを前記外部記憶装置モデルに読み出させて前記検証対象回路のモデルに入力させるとともに前記検証対象回路のモデルから前記主記憶装置モデルに対してデータを送出させ、前記第2のデータ保持バッファに保持している期待値との比較をさせる、
    ことを特徴とするプログラム
  2. 主記憶装置上の単一の連続領域のデータを複数の外部記憶装置にデータ転送させる機能を制御する検証対象回路のモデルに対する各種のシミュレーションを行うテストベンチとして機能し、制御部および記憶部を備えるコンピュータを、
    前記検証対象回路のモデルに接続される複数の前記外部記憶装置をモデル化した外部記憶装置モデルを前記記憶部に実現する手段と、
    前記検証対象回路のモデルに接続される前記主記憶装置をモデル化した主記憶装置モデルを前記記憶部に実現する手段と、
    前記検証対象回路のモデルへのレジスタ設定や前記外部記憶装置モデルや前記主記憶装置モデルへの動作機能設定を行い、前記検証対象回路のモデルに種々のテスト動作を実行させるための指示を出すテストシナリオを制御部に実現する手段と、
    前記検証対象回路のモデルにバス接続される仮想的なCPUであるCPUモデルを前記制御部に実現する手段と、
    前記外部記憶装置モデルに接続される第1のデータ保持バッファを前記記憶部に実現する手段と、
    前記主記憶装置モデルに接続される第2のデータ保持バッファを前記記憶部に実現する手段と、
    として機能させるためのプログラムであって、
    前記テストシナリオは、前記第2のデータ保持バッファに対して連続したデータを一括設定し、前記外部記憶装置モデルに書き込まれるデータの期待値を前記第1のデータ保持バッファに生成させ、前記CPUモデルを制御して前記第2のデータ保持バッファに設定したデータを前記主記憶装置モデルに読み出させて前記検証対象回路のモデルに入力させるとともに前記検証対象回路のモデルから前記外部記憶装置モデルに対してデータを送出させ、前記第1のデータ保持バッファに保持している期待値との比較をさせる、
    ことを特徴とするプログラム
  3. 同一データを複数の前記外部記憶装置に対して書き込むミラーリングの場合、前記テストシナリオは、前記外部記憶装置モデルに接続される前記第1のデータ保持バッファに対して前記外部記憶装置モデルに書き込まれるデータの期待値のミラーリングを実行させる、
    ことを特徴とする請求項2記載のプログラム
  4. 前記各外部記憶装置が前記主記憶装置上の分離した領域に対して独立にデータ転送する動作モードの場合には、前記テストシナリオは、前記各外部記憶装置モデル用に個々にバッファ制御可能である、
    ことを特徴とする請求項1記載のプログラム
JP2005073324A 2005-03-15 2005-03-15 プログラム Expired - Fee Related JP4421498B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005073324A JP4421498B2 (ja) 2005-03-15 2005-03-15 プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005073324A JP4421498B2 (ja) 2005-03-15 2005-03-15 プログラム

Publications (2)

Publication Number Publication Date
JP2006259871A JP2006259871A (ja) 2006-09-28
JP4421498B2 true JP4421498B2 (ja) 2010-02-24

Family

ID=37099097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005073324A Expired - Fee Related JP4421498B2 (ja) 2005-03-15 2005-03-15 プログラム

Country Status (1)

Country Link
JP (1) JP4421498B2 (ja)

Also Published As

Publication number Publication date
JP2006259871A (ja) 2006-09-28

Similar Documents

Publication Publication Date Title
TW200417925A (en) Method and apparatus for performing validation of program code conversion
US6732060B1 (en) System and method for an interface invariant test case
US20130024178A1 (en) Playback methodology for verification components
WO2023050184A1 (en) Apparatuses, devices, methods and computer program for performing unit tests on firmware code
US7228513B2 (en) Circuit operation verification device and method
JP4421498B2 (ja) プログラム
JP4580722B2 (ja) 試験シミュレータ及び試験シミュレーションプログラム
US6144930A (en) Method for providing a memory model of a memory device for use in simulation
JP4351961B2 (ja) シミュレータプログラム及び記憶媒体
JPH04112344A (ja) データベースの疑似更新方式
KR102640248B1 (ko) 생성형 거대 인공지능 모델의 효율적인 하드웨어 매핑을 위한 방법 및 시스템
JP2006048149A (ja) 機能検証装置、テストベンチ、ハードウェア記述言語により設計されたモデル、シミュレータプログラム及び記憶媒体
US6965852B2 (en) Pseudo random test pattern generation using Markov chains
KR101679477B1 (ko) 메모리 구동 주변 회로 검증시간을 단축하기 위한 임베디드 ddr 메모리를 이용한 검증 방법 및 시스템
JP2010181961A (ja) シミュレーション制御プログラム、シミュレーション装置、およびシミュレーション制御方法
JP4286201B2 (ja) テストベンチシステム及びプログラム
JP2009140028A (ja) ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体
US6182161B1 (en) Method and apparatus for building software nets using an array structure
JP2006018429A (ja) 機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体
JP5017396B2 (ja) 情報処理装置およびプログラムの検証方法
US20060184732A1 (en) Disk device control program, disk device control method and disk device control system
JP2022080352A (ja) 試験支援装置
JP2004118649A (ja) メニュー選択型試験プログラムツールの生成方法及び装置
KR20050061268A (ko) 대용량메모리와 컴파일 회피를 이용한 하드웨어기반검증의 성능 향상 장치 및 이를 이용한 설계 검증 방법
JPH11250115A (ja) エミュレータを用いた論理検証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091102

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091202

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4421498

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees