JP2006018488A - 機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体 - Google Patents

機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体 Download PDF

Info

Publication number
JP2006018488A
JP2006018488A JP2004194556A JP2004194556A JP2006018488A JP 2006018488 A JP2006018488 A JP 2006018488A JP 2004194556 A JP2004194556 A JP 2004194556A JP 2004194556 A JP2004194556 A JP 2004194556A JP 2006018488 A JP2006018488 A JP 2006018488A
Authority
JP
Japan
Prior art keywords
model
register
test
register write
cpu bus
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.)
Granted
Application number
JP2004194556A
Other languages
English (en)
Other versions
JP4351961B2 (ja
Inventor
Takayuki Saito
貴之 齋藤
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 JP2004194556A priority Critical patent/JP4351961B2/ja
Publication of JP2006018488A publication Critical patent/JP2006018488A/ja
Application granted granted Critical
Publication of JP4351961B2 publication Critical patent/JP4351961B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 それぞれの検証作業で意図しないレジスタ設定となることを回避することができ、テスト設計者は他のテストとのレジスタ競合を考えることなくテストを設計することができる機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体を提供する。
【解決手段】 各テストシナリオ102,103からのモデル50へのレジスタ書き込み要求を順次受け付け、CPUバスモデル106からのモデル50へのレジスタ書き込みが終了したことの通知を確認してから、次のレジスタ書き込み要求を処理するレジスタ調停モジュール107を備える。これにより、複数のシナリオがほぼ同じタイミングで同一のレジスタに書き込まれることがなくなるので、それぞれの検証作業で意図しないレジスタ設定となることを回避することができ、テスト設計者は他のテストとのレジスタ競合を考えることなくテストを設計することができる。
【選択図】 図2

Description

本発明は、ハードウェア記述言語により設計されたモデルについての機能検証を、テストベンチを用いたシミュレーション結果に基づいて行う機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体に関する。
近年、ASIC(Application Specified IC)の設計手法は、その回路規模の増大に伴い、回路図による設計から抽象度の高いHDL(ハードウェア記述言語)によるディジタル回路設計へと移ってきている。このHDLにより設計される回路図は、きわめて膨大であり、動作がきわめて複雑になる。そのため、HDLにより設計された回路は、HDLで記述された他のモジュールと合わせてシミュレーション等を行うHDLシミュレータを用いることにより、機能検証作業を行うことが必要となっている。
より詳細には、HDLシミュレータは工程の全ての局面で使用されるものであり、各レベルでのシミュレーション結果に基本的な差がないことを確認するものである。このようなHDLシミュレータは、検証の対象とするHDLモデル(ASIC)に対して、それをテストするためのテストベンチと呼ぶ新たなHDL記述を追加する。テストベンチは、テスト・スティミュラス(テスト・ベクター)を含み、これをテストの対象とするHDLモデル(ASIC)に与え、シミュレーションを自動実行させるような手順をHDLで記述するものである。すなわち、図7に示すような、テストベンチ・モジュールを最上位とする1つのモデルが完成することになる。これをコンパイル、リンクしてコンピュータ上の実行モジュールを作成し、シミュレータ・コントロール・パネル上で実行をコントロールしながら波形を観察することにより、機能検証を行う。
例えば、特許文献1には、テストベンチを用いてコンピュータシミュレーションすることにより、半導体集積回路装置の機能を検証するテスト用プログラムが提案されている。
特開2002−83010公報
ところで、HDLモデル(ASIC)の検証において、複数の検証を同時に行う場合、検証対象のHDLモデル(ASIC)に内蔵されている1つのレジスタに対してほぼ同時に書き込みを行う場合がある。ここで、複数のシナリオが存在する場合において、シナリオが直接CPUバスモデルにアクセスし、CPUバスモデルに同じレジスタの書き込み要求がほぼ同時に来た場合について説明する。この場合、図8に示すように、シナリオ1によりレジスタAにXが書き込まれた後、シナリオ2によりレジスタAにYが書き込まれることから、先にレジスタAにXを書き込んだシナリオ1は、レジスタAにXを書き込んだ影響を検証できない。
すなわち、複数のシナリオがほぼ同じタイミングで同一のレジスタに書き込みを行う場合、それぞれの検証作業では意図しないレジスタ設定となるおそれがある。
本発明は、それぞれの検証作業で意図しないレジスタ設定となることを回避することができ、テスト設計者は他のテストとのレジスタ競合を考えることなくテストを設計することができる機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体を提供することを目的とする。
請求項1記載の発明の機能検証装置は、ハードウェア記述言語により設計されたモデルについての機能検証を、テストベンチを用いたシミュレーション結果に基づいて行う機能検証装置において、前記テストベンチは、前記モデルに備えられた複数のI/F系バスに応答もしくはアクセスするための複数のバスモデルと、前記モデルへのレジスタ設定や前記各バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出す複数のテストシナリオと、前記モデルにバス接続される仮想的なCPUであるCPUバスモデルと、前記各テストシナリオからの前記モデルへのレジスタ書き込み要求を順次受け付け、前記CPUバスモデルからの前記モデルへのレジスタ書き込みが終了したことの通知を確認してから、次のレジスタ書き込み要求を処理するレジスタ調停モジュールと、を備える。
したがって、CPUバスモデルからの書き込みが終了したことの通知(レジスタ書き換え可能通知)を確認してから次のレジスタ書き込み要求に対して処理を行うので、複数のシナリオがほぼ同じタイミングで同一のレジスタに書き込まれることがなくなるので、それぞれの検証作業で意図しないレジスタ設定となることを回避することが可能になり、テスト設計者は他のテストとのレジスタ競合を考えることなくテストを設計することが可能になる。
請求項2記載の発明は、請求項1記載の機能検証装置において、前記テストベンチは、レジスタ書き込み要求元の前記テストシナリオが持つ優先順位に基づいてレジスタ書き込みを行うようにした。
したがって、シナリオの実行の時間的な前後関係を維持することが可能になるので、テストベンチ作成者が意図したテストのシーケンスでのテストを行うことが可能になる。
請求項3記載の発明は、請求項1または2記載の機能検証装置において、前記テストベンチは、前記モデルへのレジスタ書き込み要求が複数あった場合には、複数のレジスタ書き込み要求の条件が合致していることを条件として複数のレジスタ書き込み要求を1つにまとめて、一度に書き込みを行うようにする。
したがって、CPUバスモデルを介したモデルに対するレジスタ書き込み時間(書き込み回数)を減らし、検証時間を短縮することが可能になるので、テストの実行時間を削減することが可能になる。
請求項4記載の発明のテストベンチは、ハードウェア記述言語により設計されたモデルに対する各種のシミュレーションを行うテストベンチにおいて、前記モデルに備えられた複数のI/F系バスに応答もしくはアクセスするための複数のバスモデルと、前記モデルへのレジスタ設定や前記各バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出す複数のテストシナリオと、前記モデルにバス接続される仮想的なCPUであるCPUバスモデルと、前記各テストシナリオからの前記モデルへのレジスタ書き込み要求を順次受け付け、前記CPUバスモデルからの前記モデルへのレジスタ書き込みが終了したことの通知を確認してから、次のレジスタ書き込み要求を処理するレジスタ調停モジュールと、を備える。
したがって、CPUバスモデルからの書き込みが終了したことの通知(レジスタ書き換え可能通知)を確認してから次のレジスタ書き込み要求に対して処理を行うので、複数のシナリオがほぼ同じタイミングで同一のレジスタに書き込まれることがなくなるので、それぞれの検証作業で意図しないレジスタ設定となることを回避することが可能になり、テスト設計者は他のテストとのレジスタ競合を考えることなくテストを設計することが可能になる。
請求項5記載の発明は、請求項4記載のテストベンチにおいて、レジスタ書き込み要求元の前記テストシナリオが持つ優先順位に基づいてレジスタ書き込みを行うようにした。
したがって、シナリオの実行の時間的な前後関係を維持することが可能になるので、テストベンチ作成者が意図したテストのシーケンスでのテストを行うことが可能になる。
請求項6記載の発明は、請求項4または5記載のテストベンチにおいて、前記モデルへのレジスタ書き込み要求が複数あった場合には、複数のレジスタ書き込み要求の条件が合致していることを条件として複数のレジスタ書き込み要求を1つにまとめて、一度に書き込みを行うようにする。
したがって、CPUバスモデルを介したモデルに対するレジスタ書き込み時間(書き込み回数)を減らし、検証時間を短縮することが可能になるので、テストの実行時間を削減することが可能になる。
請求項7記載の発明のシミュレータプログラムは、ハードウェア記述言語により設計されたモデルに対する各種のシミュレーションをコンピュータに実行させるコンピュータに読取り可能なシミュレータプログラムにおいて、前記モデルに備えられた複数のI/F系バスに応答もしくはアクセスするための複数のバスモデルを生成する機能と、前記モデルへのレジスタ設定や前記各バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出す複数のテストシナリオを生成する機能と、前記モデルにバス接続される仮想的なCPUであるCPUバスモデルを生成する機能と、前記各テストシナリオからの前記モデルへのレジスタ書き込み要求を順次受け付け、前記CPUバスモデルからの前記モデルへのレジスタ書き込みが終了したことの通知を確認してから、次のレジスタ書き込み要求を処理するレジスタ調停モジュールを生成する機能と、を前記コンピュータに実行させる。
したがって、CPUバスモデルからの書き込みが終了したことの通知(レジスタ書き換え可能通知)を確認してから次のレジスタ書き込み要求に対して処理を行うので、複数のシナリオがほぼ同じタイミングで同一のレジスタに書き込まれることがなくなるので、それぞれの検証作業で意図しないレジスタ設定となることを回避することが可能になり、テスト設計者は他のテストとのレジスタ競合を考えることなくテストを設計することが可能になる。
請求項8記載の発明は、請求項7記載のシミュレータプログラムにおいて、レジスタ書き込み要求元の前記テストシナリオが持つ優先順位に基づいてレジスタ書き込みを行うようにした。
したがって、シナリオの実行の時間的な前後関係を維持することが可能になるので、テストベンチ作成者が意図したテストのシーケンスでのテストを行うことが可能になる。
請求項9記載の発明は、請求項7または8記載のシミュレータプログラムにおいて、前記モデルへのレジスタ書き込み要求が複数あった場合には、複数のレジスタ書き込み要求の条件が合致していることを条件として複数のレジスタ書き込み要求を1つにまとめて、一度に書き込みを行うようにする。
したがって、CPUバスモデルを介したモデルに対するレジスタ書き込み時間(書き込み回数)を減らし、検証時間を短縮することが可能になるので、テストの実行時間を削減することが可能になる。
請求項10記載の発明の記憶媒体は、請求項7ないし9の何れか一記載のコンピュータに読取り可能なシミュレータプログラムを格納した。
したがって、請求項7ないし9の何れか一記載の発明と同様な作用を奏する。
本発明によれば、それぞれの検証作業で意図しないレジスタ設定となることを回避することができ、テスト設計者は他のテストとのレジスタ競合を考えることなくテストを設計することができる。
[第一の実施の形態]
本発明の第一の実施の形態を図1ないし図5に基づいて説明する。
図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と検証対象ASIC50との関連構成を概略的に示す機能ブロック図である。HDLシミュレータ100は、HDLにより設計されたモデルである検証対象ASIC50に対するHDLシミュレータ機能を発揮するものである。図2に示すように、HDLシミュレータ100のテストベンチ101は、第1テストシナリオ102と、第2テストシナリオ103と、第1バスモデル104と、第2バスモデル105と、CPUバスモデル106と、レジスタ調停モジュール107とで構成される。このようなテストベンチ101は、検証対象ASIC50を検証するために、Verilog、VHDL、C/C++、E言語、Vera等の言語を用いてコーディングされたものである。
第1バスモデル104及び第2バスモデル105は、検証対象ASIC50の対応するI/F系バス(図示せず)に応答もしくはアクセスするためのものである。
CPUバスモデル106は、検証対象ASIC50に接続されるCPU(図示せず)をソフトウェアでモデル化したもの(ソフトウェアで書かれた仮想的なCPU)である。
第1テストシナリオ102は第1バスモデル104に対応したテストシナリオであり、第2テストシナリオ103は第2バスモデル105に対応したテストシナリオである。第1テストシナリオ102及び第2テストシナリオ103は、検証対象ASIC50に種々の動作をさせるためのプログラムであり、CPUバスモデル106及びレジスタ調停モジュール107を経由して検証対象ASIC50へのレジスタ設定や第1バスモデル104又は第2バスモデル105への機能設定等を行う。検証対象ASIC50にはレジスタ(ASICの種々動作を司る機能)が内蔵されており、このレジスタに対する第1テストシナリオ102及び第2テストシナリオ103からのアクセス又は指示によって、検証対象ASIC50が所望の動作を実行するのである。
次に、レジスタ調停モジュール107について説明する。本実施の形態に係るテストベンチ101の特徴は、このレジスタ調停モジュール107を備え、レジスタの書き込みされた影響を各テストシナリオが確認した上で、次のレジスタ書き込み要求を処理することにある。
ここで、図3はレジスタ調停モジュール107における調停処理の流れを示すフローチャート、図4はそのフローチャートを補足するステートチャートである。図3または図4に示すように、シナリオ(第1テストシナリオ102または第2テストシナリオ103)からレジスタ調停モジュール107にレジスタ書き込み要求がきたと判断すると(ステップS1のY)、CPUバスモデル106を介した検証対象ASIC50に対するレジスタ書き込みを実行する(ステップS2)。そして、レジスタ調停モジュール107は、CPUバスモデル106からレジスタ書き込みが完了した通知を受け取ると、レジスタ書き込み要求をしたシナリオ(第1テストシナリオ102または第2テストシナリオ103)に、書き込みが終了したことを通知(レジスタ書き換え可能通知)する(ステップS3)。
その後、レジスタ調停モジュール107は、レジスタ書き換え可能通知の受信(ステップS4のY)、またはシナリオ(第1テストシナリオ102または第2テストシナリオ103)からのレジスタ書き込み要求の受信(ステップS5のY)に、待機する。
そして、シナリオ(第1テストシナリオ102または第2テストシナリオ103)からレジスタ調停モジュール107にレジスタ書き込み要求が来たと判断すると(ステップS5のY)、CPUバスモデル106を介した検証対象ASIC50に対するレジスタ書き込み要求をスタックするとともに(ステップS6)、スタックされたレジスタ書き込み要求を優先順位に基づいてソートした後(ステップS7)、レジスタ調停モジュール107は、レジスタ書き換え可能通知の受信(ステップS4のY)、またはシナリオ(第1テストシナリオ102または第2テストシナリオ103)からのレジスタ書き込み要求の受信(ステップS5のY)に、待機する。
一方、レジスタ調停モジュール107は、レジスタ書き換え可能通知が来たと判断すると(ステップS4のY)、CPUバスモデル106を介した検証対象ASIC50に対するレジスタ書き込み要求スタックが積まれているか否かを判断する(ステップS8)。CPUバスモデル106に対するレジスタ書き込み要求スタックが積まれていると判断した場合には(ステップS8のY)、レジスタ書き込み要求元のシナリオが持つ優先順位が最も高いレジスタ書き込み要求に従い、CPUバスモデル106を介した検証対象ASIC50に対するレジスタ書き込みを実行する(ステップS2)。また、CPUバスモデル106を介した検証対象ASIC50に対するレジスタ書き込み要求スタックが積まれていないと判断した場合には(ステップS8のN)、ステップS1に戻り、シナリオ(第1テストシナリオ102または第2テストシナリオ103)からのレジスタ書き込み要求に待機する。
以上のような処理により、レジスタ調停モジュール107は、CPUバスモデル106からの書き込みが終了したことの通知(レジスタ書き換え可能通知)を確認してから次のレジスタ書き込み要求に対して処理を行うので、複数のシナリオがほぼ同じタイミングで同一のレジスタに書き込まれることがなくなり、それぞれの検証作業で意図しないレジスタ設定となることを回避することができ、テスト設計者は他のテストとのレジスタ競合を考えることなくテストを設計することができる。
より具体的には、図5に示すように、複数のシナリオが存在する場合において、シナリオ(第1テストシナリオ102または第2テストシナリオ103)がCPUバスモデル106にアクセスし、CPUバスモデル106に同じレジスタの書き込み要求がほぼ同時に来た場合、第1テストシナリオ102によりレジスタAにXが書き込まれた後、CPUバスモデル106からの書き込みが終了したことの通知(レジスタ書き換え可能通知)を確認してから、第2テストシナリオ103によりレジスタAにYが書き込まれることから、先にレジスタAにXを書き込んだ第1テストシナリオ102は、レジスタAにXを書き込んだ影響を検証することができる。
また、レジスタ書き込み要求元のシナリオが持つ優先順位に基づいてレジスタ書き込みを行うようにしたことにより、シナリオの実行の時間的な前後関係を維持することができる。例えば、CPUバスモデル106のレジスタAに対して、シナリオ1が「割り込み要求を再開する命令を実行したい」を要求したとする。この要求の書き込み優先度は、シナリオ2より高いものとする。一方、シナリオ2が「割り込み要求が行える状況で、ある命令を実行したい」を要求したとする。この場合、シナリオ2は、シナリオ1の要求が通らないと、シナリオが意図していた正しい結果を得られない。ここで、シナリオ2の要求が先に入ってきた時点では、レジスタAを書き込み出来ない。その後、シナリオ1の要求が入ってきてレジスタAが書き込み出来る状態になった場合、シナリオ1の優先順位が高いためにシナリオ1の要求に沿ってレジスタを書き換えるので、シナリオ2の要求に沿ってレジスタを書き換えることができるようになる。これによって、シナリオ1と2は正しい結果を得ることができる。つまり、シナリオ2の実行がシナリオ1の実行後であるのが前提条件の場合、この仕組みを使うと、シナリオの実行の時間的な前後関係が維持されることになり、テストベンチ作成者が意図したテストのシーケンスでのテストを行うことができる。
[第二の実施の形態]
本発明の第二の実施の形態を図6に基づいて説明する。なお、前述した第一の実施の形態と同一部分は同一符号で示し説明も省略する。本実施の形態は、前述した第一の実施の形態とは、レジスタ調停モジュール107における調停処理におけるCPUバスモデル106に対するレジスタ書き込みの際に、レジスタへの複数のアクセス要求をとりまとめて一度に書き込みを行うようにしたものである。
ここで、図6はレジスタ書き込みとりまとめ処理の流れを示すフローチャートである。図6に示すように、まず、レジスタに値Aを書き込み要求として設定したと判断すると(ステップS11のY)、レジスタ書き込み予定値としてAを設定する(ステップS12)。
その後、シナリオ(第1テストシナリオ102または第2テストシナリオ103)からのレジスタ書き込み要求がきたと判断すると(ステップS13のY)、その書き込み要求値をXとした時、レジスタ書き込み予定値にXを追加設定する(ステップS14)。
ステップS13〜S14の処理は、レジスタを書き込みできると判断するまで(ステップS15のY)、すなわち予め定められた時間が経過するまで、あるいはCPUのリソースが空いていると判断されるまで、繰り返される。
レジスタを書き込みできると判断した場合には(ステップS15のY)、CPUバスモデル106を介した検証対象ASIC50に対するレジスタ書き込みを実行し(ステップS16)、ステップS1に戻る。
より具体的には、検証対象ASIC50のレジスタの各ビットの意味が他のビットと干渉しない場合に、例えば、「0ビット目に1を書き込むと機能Aが起動される」、「1ビット目に1を書き込むと機能Bが起動される」というようにする。それぞれのビットに1(または0)を書き込むことによって起動される機能がそれぞれの機能に直接的な干渉を及ぼさない場合、レジスタへの複数のアクセス要求をとりまとめて一度に書き込みを行うようにすることができ、この機能を使うことによって、レジスタアクセスに費やす時間を減らすことができるようになる。
これにより、CPUバスモデル106を介した検証対象ASIC50に対するレジスタ書き込み時間(書き込み回数)を減らし、検証時間を短縮することができるので、テストの実行時間を削減することができる。
本発明の第一の実施の形態の機能検証装置のハードウェア構成を概略的に示すブロック図である。 HDLシミュレータのテストベンチと検証対象ASICとの関連構成を概略的に示す機能ブロック図である。 レジスタ調停モジュールにおける調停処理の流れを示すフローチャートである。 そのフローチャートを補足するステートチャートである。 レジスタの書き込み調停がある場合のシーケンスの具体例を示す説明図である。 本発明の第二の実施の形態のレジスタ書き込みとりまとめ処理の流れを示すフローチャートである。 HDLシミュレータの構成を概略的に示す模式図である。 CPUバスモデルに同じレジスタの書き込み要求がほぼ同時に来た場合のシーケンスの具体例を示す説明図である。
符号の説明
1 機能検証装置
7 記憶媒体
50 ハードウェア記述言語により設計されたモデル
101 テストベンチ
102,103 テストシナリオ
104,105 バスモデル
106 CPUバスモデル
107 レジスタ調停モジュール

Claims (10)

  1. ハードウェア記述言語により設計されたモデルについての機能検証を、テストベンチを用いたシミュレーション結果に基づいて行う機能検証装置において、
    前記テストベンチは、
    前記モデルに備えられた複数のI/F系バスに応答もしくはアクセスするための複数のバスモデルと、
    前記モデルへのレジスタ設定や前記各バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出す複数のテストシナリオと、
    前記モデルにバス接続される仮想的なCPUであるCPUバスモデルと、
    前記各テストシナリオからの前記モデルへのレジスタ書き込み要求を順次受け付け、前記CPUバスモデルからの前記モデルへのレジスタ書き込みが終了したことの通知を確認してから、次のレジスタ書き込み要求を処理するレジスタ調停モジュールと、
    を備えることを特徴とする機能検証装置。
  2. 前記テストベンチは、レジスタ書き込み要求元の前記テストシナリオが持つ優先順位に基づいてレジスタ書き込みを行うようにした、
    ことを特徴とする請求項1記載の機能検証装置。
  3. 前記テストベンチは、前記モデルへのレジスタ書き込み要求が複数あった場合には、複数のレジスタ書き込み要求の条件が合致していることを条件として複数のレジスタ書き込み要求を1つにまとめて、一度に書き込みを行うようにする、
    ことを特徴とする請求項1または2記載の機能検証装置。
  4. ハードウェア記述言語により設計されたモデルに対する各種のシミュレーションを行うテストベンチにおいて、
    前記モデルに備えられた複数のI/F系バスに応答もしくはアクセスするための複数のバスモデルと、
    前記モデルへのレジスタ設定や前記各バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出す複数のテストシナリオと、
    前記モデルにバス接続される仮想的なCPUであるCPUバスモデルと、
    前記各テストシナリオからの前記モデルへのレジスタ書き込み要求を順次受け付け、前記CPUバスモデルからの前記モデルへのレジスタ書き込みが終了したことの通知を確認してから、次のレジスタ書き込み要求を処理するレジスタ調停モジュールと、
    を備えることを特徴とするテストベンチ。
  5. レジスタ書き込み要求元の前記テストシナリオが持つ優先順位に基づいてレジスタ書き込みを行うようにした、
    ことを特徴とする請求項4記載のテストベンチ。
  6. 前記モデルへのレジスタ書き込み要求が複数あった場合には、複数のレジスタ書き込み要求の条件が合致していることを条件として複数のレジスタ書き込み要求を1つにまとめて、一度に書き込みを行うようにする、
    ことを特徴とする請求項4または5記載のテストベンチ。
  7. ハードウェア記述言語により設計されたモデルに対する各種のシミュレーションをコンピュータに実行させるコンピュータに読取り可能なシミュレータプログラムにおいて、
    前記モデルに備えられた複数のI/F系バスに応答もしくはアクセスするための複数のバスモデルを生成する機能と、
    前記モデルへのレジスタ設定や前記各バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出す複数のテストシナリオを生成する機能と、
    前記モデルにバス接続される仮想的なCPUであるCPUバスモデルを生成する機能と、
    前記各テストシナリオからの前記モデルへのレジスタ書き込み要求を順次受け付け、前記CPUバスモデルからの前記モデルへのレジスタ書き込みが終了したことの通知を確認してから、次のレジスタ書き込み要求を処理するレジスタ調停モジュールを生成する機能と、
    を前記コンピュータに実行させることを特徴とするシミュレータプログラム。
  8. レジスタ書き込み要求元の前記テストシナリオが持つ優先順位に基づいてレジスタ書き込みを行うようにした、
    ことを特徴とする請求項7記載のシミュレータプログラム。
  9. 前記モデルへのレジスタ書き込み要求が複数あった場合には、複数のレジスタ書き込み要求の条件が合致していることを条件として複数のレジスタ書き込み要求を1つにまとめて、一度に書き込みを行うようにする、
    ことを特徴とする請求項7または8記載のシミュレータプログラム。
  10. 請求項7ないし9の何れか一記載のコンピュータに読取り可能なシミュレータプログラムを格納したことを特徴とする記憶媒体。

JP2004194556A 2004-06-30 2004-06-30 シミュレータプログラム及び記憶媒体 Expired - Fee Related JP4351961B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004194556A JP4351961B2 (ja) 2004-06-30 2004-06-30 シミュレータプログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004194556A JP4351961B2 (ja) 2004-06-30 2004-06-30 シミュレータプログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2006018488A true JP2006018488A (ja) 2006-01-19
JP4351961B2 JP4351961B2 (ja) 2009-10-28

Family

ID=35792716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004194556A Expired - Fee Related JP4351961B2 (ja) 2004-06-30 2004-06-30 シミュレータプログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP4351961B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176926A (zh) * 2019-12-30 2020-05-19 山东方寸微电子科技有限公司 一种基于双口sram的ip核仿真系统及仿真方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176926A (zh) * 2019-12-30 2020-05-19 山东方寸微电子科技有限公司 一种基于双口sram的ip核仿真系统及仿真方法
CN111176926B (zh) * 2019-12-30 2023-08-15 山东方寸微电子科技有限公司 一种基于双口sram的ip核仿真系统及仿真方法

Also Published As

Publication number Publication date
JP4351961B2 (ja) 2009-10-28

Similar Documents

Publication Publication Date Title
US20060130029A1 (en) Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium
GB2546603A (en) Arbiter verification
WO2008093224A2 (en) A system, method and software application for the generation of verification programs
CN113868987A (zh) 一种系统级芯片的验证平台及其验证方法
CN112632882A (zh) 一种基于形式验证对仲裁器验证的装置以及方法
US20130024178A1 (en) Playback methodology for verification components
JP5040758B2 (ja) シミュレーション装置、シミュレーション方法及びプログラム
JP4850091B2 (ja) 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
US20070192753A1 (en) Technique for generating input stimulus to cover properties not covered in random simulation
US7502966B2 (en) Testcase generation via a pool of parameter files
US8321825B2 (en) Method and system for synthesizing relative timing constraints on an integrated circuit design to facilitate timing verification
US20040006751A1 (en) System verifying apparatus and method
JP4351961B2 (ja) シミュレータプログラム及び記憶媒体
CN113342698B (zh) 一种测试环境调度方法、计算设备及存储介质
US20130054218A1 (en) Method and Software Tool for Automatically Testing a Circuit Design
US20110225400A1 (en) Device for Testing a Multitasking Computation Architecture and Corresponding Test Method
US9582410B2 (en) Testing software on a computer system
JP2006048149A (ja) 機能検証装置、テストベンチ、ハードウェア記述言語により設計されたモデル、シミュレータプログラム及び記憶媒体
JP2000268074A (ja) 検証プログラム自動生成装置および方法並びにプロパティ自動生成装置および方法
JP4373859B2 (ja) 機能検証装置、テストベンチ回路、シミュレータプログラム及び記録媒体
JP2006018429A (ja) 機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体
JP5390464B2 (ja) シミュレーション装置、シミュレーション装置の制御方法およびプログラム
JP4286201B2 (ja) テストベンチシステム及びプログラム
KR102717540B1 (ko) 시스템 온 칩에 대한 설계 검증 방법 및 그 시스템
JP5799589B2 (ja) 検証方法及び検証プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060804

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060818

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060818

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20060922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090619

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

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

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130731

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees