JP4476053B2 - Program and storage medium - Google Patents
Program and storage medium Download PDFInfo
- Publication number
- JP4476053B2 JP4476053B2 JP2004200654A JP2004200654A JP4476053B2 JP 4476053 B2 JP4476053 B2 JP 4476053B2 JP 2004200654 A JP2004200654 A JP 2004200654A JP 2004200654 A JP2004200654 A JP 2004200654A JP 4476053 B2 JP4476053 B2 JP 4476053B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- circuit
- expected value
- input
- 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
Description
本発明は、テストベンチシステムを実現するプログラム、及び、このプログラムを記憶した記憶媒体に関する。 The present invention is a program for realizing the test bench system, and to a storage medium that stores the program.
設計対象回路のテストベンチシステムについては、特許文献1に開示の技術が知られている。
As for a test bench system for a circuit to be designed, a technique disclosed in
JPEG等による画像の符号化、復号化を行なう回路や、画像処理回路の製造工程では、C言語ベースで記述されたアルゴリズムを期待値として動作の検証を行なう。 In a circuit for encoding and decoding an image using JPEG or the like, or in a manufacturing process of an image processing circuit, the operation is verified using an algorithm described in a C language base as an expected value.
しかしながら、近年、LSIの高集積化に伴い、ひとつのLSIに搭載するアルゴリズムの数が増大し、且つ、データ経路分岐が多くなるために、機能検証の工数が増大している。そこで、このようなアルゴリズムを実装したLSIの検証を容易にして、回路の生産性を向上したい。 However, in recent years, with the high integration of LSIs, the number of algorithms mounted on one LSI has increased, and the number of data path branches has increased, so the number of functional verification steps has increased. Therefore, it is desirable to facilitate verification of an LSI mounted with such an algorithm and improve circuit productivity.
これに対し、特許文献1に開示の技術では、検証の対象となる回路が出力したデータをファイルに出力して視認することを想定しているため、目視検証によるヒューマンエラーの発生を否定できず、よって検証精度が低く、生産性が不十分であるという不具合がある。
On the other hand, in the technique disclosed in
本発明の目的は、特にアルゴリズムを実装したLSIなどの回路の検証について、ヒューマンエラーの発生を防止し、生産性を向上させることができるようにすることである。 An object of the present invention is to prevent the occurrence of a human error and improve productivity particularly in verification of a circuit such as an LSI mounted with an algorithm.
別の課題について説明する。ASIC(Application Specified IC)などの回路を検証対象とするテストベンチシステムの各構成要素は、部品化、再利用することで新規のテストベンチの構築を容易にすることができる。検証対象となる回路に接続するバスファンクションモデルに着目すると、このバスファンクションモデルは検証対象となる回路にデータを入力し、また、検証対象となる回路から出力されたデータを予め用意している期待値と比較する機能を備えている。この入力するデータや期待値データは状況により変動する要素なので、これらのデータをバッファリングするバッファは独立した部品として定義する。 Another problem will be described. Each component of a test bench system whose circuit is to be verified, such as an ASIC (Application Specified IC), can be easily converted into a part and reused to facilitate the construction of a new test bench. Focusing on the bus function model connected to the circuit to be verified, this bus function model inputs data to the circuit to be verified and expects that data output from the circuit to be verified is prepared in advance. Has the function to compare with the value. Since the input data and the expected value data vary depending on the situation, the buffer for buffering these data is defined as an independent component.
このバッファは、データの読み出し及び出力されたデータの期待値との比較のためのアプリケーションインタフェース(例えば、READやCHECK)を備え、読み出しインターフェースにおいてアドレスを引数にすることで該当するアドレスのデータが読み出せ、期待値比較インターフェースにおいてアドレスと検証対象の回路から出力されたデータを引数にすることで期待値との比較がおこなわれる。 This buffer has an application interface (for example, READ or CHECK) for reading data and comparing it with the expected value of the output data. By using an address as an argument in the read interface, the data at the corresponding address is read. In the expected value comparison interface, the address is compared with the expected value by using the data output from the circuit to be verified as an argument.
ここで検証対象の回路が複数のデータチャネルを持ち、且つ、PCIバス等の単一のインターフェースを介してデータ転送をおこなう場合、バスファンクションモデルはデータチャネル毎の複数のバッファに対してアクセスを切り替えなくてはならなくなる。 Here, when the circuit to be verified has multiple data channels and data is transferred via a single interface such as a PCI bus, the bus function model switches access to multiple buffers for each data channel. It will be necessary.
本発明の別の目的は、複数のバッファをバスファンクションモデルからはあたかも一つのバッファであるように見せかけ、バスファンクションモデルからのアクセスに対して実際にアクセスするバッファを切り替えることで、バスファンクションモデルの再利用性を向上することである。 Another object of the present invention is to make a plurality of buffers appear as if they are one buffer from the bus function model, and by switching the buffer that is actually accessed in response to the access from the bus function model, It is to improve reusability.
本発明は、対象となる回路のCPUインターフェースに対応したバスファンクションモデルであるCPUインタフェースモデルを実現する手段と、前記CPUインタフェースモデルにより前記回路に入力するデータをバッファリングする第1のバッファを所定の記憶装置に実現する手段と、前記回路のデータ入力インターフェースに対応したバスファンクションモデルであり、前記第1のバッファがバッファリングしているデータを前記回路に入力するデータ入力インタフェースモデルを実現する手段と、前記回路から出力されるデータについての期待値をバッファリングする第2のバッファを所定の記憶装置に実現する手段と、前記回路のデータ出力インターフェースに対応したバスファンクションモデルであり、前記回路から出力されたデータを前記第2のバッファにバッファリングされている前記データについての期待値と比較するデータ出力インタフェースモデルを実現する手段と、前記第1及び第2のバッファへのアクセスを条件に応じて切り替えるバッファ切替手段と、をコンピュータに実行させるコンピュータに読み取り可能なプログラムである。 The present invention provides means for realizing a CPU interface model which is a bus function model corresponding to a CPU interface of a target circuit, and a first buffer for buffering data input to the circuit by the CPU interface model. Means for realizing the storage device, and means for realizing a data input interface model for inputting the data buffered by the first buffer to the circuit, the bus function model corresponding to the data input interface of the circuit Means for realizing a second buffer for buffering an expected value of data output from the circuit in a predetermined storage device, and a bus function model corresponding to the data output interface of the circuit, and outputting from the circuit Was A data output interface model for comparing data to an expected value for the data buffered in the second buffer, and switching access to the first and second buffers according to conditions A computer-readable program that causes a computer to execute buffer switching means .
本発明によれば、回路から得られたデータと、第2のバッファにバッファリングされている当該データの期待値とをデータ出力インタフェースモデルで自動的に比較するので、従来のように目視検証によるヒューマンエラーが発生せず、よって検証精度の向上、生産性の向上を図ることができるとともに、バッファ切替手段がバスファンクションモデルからは単一のバッファとして見えることにより、バスファンクションモデルが複数のバッファ、すなわち、第1のバッファ、第2のバッファを意識することなく、そのバッファリングしているデータにアクセスできるため、テストベンチ部品としてのバスファクションモデルの再利用性が向上する。 According to the present invention, the data obtained from the circuit and the expected value of the data buffered in the second buffer are automatically compared by the data output interface model. Human error does not occur, so it is possible to improve verification accuracy and productivity , and the buffer switching means appears as a single buffer from the bus function model, so that the bus function model has multiple buffers, That is, since the buffered data can be accessed without being aware of the first buffer and the second buffer, the reusability of the bus function model as the test bench component is improved .
本発明を実施するための最良の一形態について説明する。 The best mode for carrying out the present invention will be described.
図1は、本実施の形態のテストベンチシステム1の機能ブロック図である。
FIG. 1 is a functional block diagram of a
テストベンチシステム1が実行するテストベンチの対象となる回路2は、データ入力・データ出力インターフェース、及び回路2の内部レジスタへのアクセス用のCPUインターフェースを備えている。テストベンチシステム1は、これらのインターフェースに対応したバスファンクションモデルを備えている。すなわち、データ入力インターフェースに対応したバスファンクションモデルであるデータ入力インタフェースモデル3、データ出力インターフェースに対応したバスファンクションモデルであるデータ出力インタフェースモデル4、CPUインターフェースに対応したバスファンクションモデルであるCPUインタフェースモデル5である。
The
データ入力インタフェースモデル3は、回路2とのプロトコルの実行・応答・監視を行い、第1のバッファとなる入力データバッファ6からデータを読み出し、回路2に入力する機能を備えている。
The data
データ出力インタフェースモデル4は、回路2とのプロトコルの実行・応答・監視をおこない、回路2が出力するデータを捕捉し、期待値データバッファの内容と期待値比較する役割を持つ。
The data
CPUインタフェースモデル5は、所定のテストシナリオ8の指示により回路2とのプロトコルの実行・応答・監視をおこない、回路2内の内部レジスタの読み書きアクセスをおこなう。
The
ここで、テストシナリオ8は、上述のようにCPUインタフェースモデル5に対してレジスタアクセスを実行させる他に、データ入力インタフェースモデル3、データ出力インタフェースモデル4が回路2に対してバスマスタ(自らプロトコルを実行する)の役割を持つ場合は、これらのインタフェースモデルに対して所定のタイミングでプロトコルの実行を指示する。
Here, in the
入力データバッファ6、及び第2のバッファとなる期待値データバッファ7は、それぞれデータを格納する領域を備え、また、外部のデータファイル9からデータを供給する手段、外部のデータファイル9に入力データバッファ6、期待値データバッファ7のバッファリングしている内容を保存する手段を有している。これらの手段は、テストシナリオ8からの指示により実行可能である。
The
また、入力データバッファ6及び期待値データバッファ7は、内部データにアクセスする手段を持ち、アドレスを指定してアクセスするアドレス型アクセス手段及びアドレスを指定せず各バッファ6,7の先頭からアクセスするFIFO(First In First Out)型アクセス手段を有する。これらの手段は、データ入力インタフェースモデル3、データ出力インタフェースモデル4が利用する。
The
入力データバッファ6及び期待値データバッファ7のサイズや、前述のアドレス型アクセスの場合の開始アドレスは、テストシナリオ8によって設定される。入力データバッファ6及び期待値データバッファ7は、データアクセスをカウントし、データアクセスのオーバーラン、同一アドレスの多重アクセス(アドレス型アクセスの場合のみ)を随時レポートすると共に、テスト終了後、未アクセス部分があればこれをレポートする。
The sizes of the
このようなテストベンチシステム1は、回路2と共にHDL(ハードウェア記述言語)シミュレータに入力され、シミュレーションが実行される。テストベンチシステム1では、回路2への入力データ及び期待値データがデータファイル9で供給され、このシミュレーションの際に自動的に期待値検証を実行する。
Such a
次に、テストベンチシステム1が実行する処理を、RGBからCMYKへ色変換する回路2のテストベンチを行なう場合を例として説明する。
Next, the process executed by the
図2は、この場合のテストベンチシステム1の機能ブロック図である。データ入力インタフェースモデル3はマスタとして動作し、3チャネルある入力データバッファ6(それぞれR,G,Bの各色に対応している)からデータを読み出し、設計対象回路(RGB-CMYK変換器)2に入力する。
FIG. 2 is a functional block diagram of the
データ出力インタフェースモデル4は、スレイブとしてRGB−CMYK変換器2の出力に応答し、出力データを4チャネルある期待値データバッファ7(それぞれC,M,Y,Kの各色に対応している)により期待値検証をおこなう。
The data
図3は、RGB-CMYK変換器2が持つデータインタフェースのマスタ(入力データバッファ)6側から見たタイミング図の例である。frameはページ有効期間、lstartはライン開始パルスを示し、共にマスタ6側が出力する。マスタ6は、データ出力が準備できたらtxrdyをアサートしdataにデータを出力する。txrdyアサート中にスレイブ側からのrxrdy信号がアサートされたら転送が成立する。データインタフェースはアドレスを持たないFIFO型である。
FIG. 3 is an example of a timing diagram viewed from the master (input data buffer) 6 side of the data interface of the RGB-
図4は、この場合のテストベンチの実行シーケンスを示す通信シーケンス図である。まず、テストシナリオ8は、各入力データバッファ6のサイズ設定をおこなった後、入力ファイルの読み込みを指示する(1)。期待値データバッファ7についても同様にサイズ設定し、あらかじめ作成した期待値ファイルの読み込みを指示する(2)。
FIG. 4 is a communication sequence diagram showing a test bench execution sequence in this case. First, in the
続いて、テストシナリオ8は、回路2であるRGB-CMYK変換器の内部レジスタにパラメータ(画像サイズ、変換パラメータなど)を設定するために、CPUインタフェースモデル5に回路2の内部レジスタへの書き込みを指示する(3)。CPUインタフェースモデル5は、所定のプロトコルによりRGB-CMYK変換器2の内部レジスタに設定をおこなう(4)。
Subsequently, in the
そして、テストシナリオ8は、データ入力インタフェースモデル3に対して転送開始指示をおこない(5)、画像データの転送が開始する。
In the
データ入力インタフェースモデル3は、入力データバッファ6からトランザクション最小単位のデータを読み出し(6)、RGB-CMYK変換器2に対して入力する(7)。以後、所定サイズ分、これを繰り返す。
The data
一方、データ出力インタフェースモデル4側では、RGB-CMYK変換器2がマスタ6となって出力してくるデータをとらえ(8)、期待値データバッファ7に対して期待値比較を指示する(9)。これをRGB-CMYK変換器2がデータを出力する限り繰り返す。
On the other hand, on the data
なお、各データバッファ6又は7へのアクセス中、アクセスするデータが無くなった場合(オーバーラン)、データバッファ6又は7は、インターフェース3又は4にエラーをレポートし、シミュレーションを停止する。
In addition, when there is no data to access while accessing each
データ出力インタフェースモデル4は、RGB-CMYK変換器2から最後のデータを受け取った後、テストシナリオ8に処理の終了を通知する(10)。テストシナリオ8では、この終了通知を受けて、入力データバッファ6、期待値データバッファ7に対して未アクセスチェックをおこない(11)(12)、まだアクセスされていないデータが残っていれば、バッファがエラーを通知してシミュレーションを停止する。
After receiving the last data from the RGB-
次に、テストベンチシステム1の別の実施の形態について説明する。
Next, another embodiment of the
図5は、このテストベンチシステム1の機能ブロック図である。以下の説明において、前述のテストベンチシステム1と同様の構成要素などについては、同一の符号を用い、詳細な説明は省略する。
FIG. 5 is a functional block diagram of the
このテストベンチシステム1が前述の例と相違するのは、入力データバッファ6からデータを読み出し、アルゴリズムの実行により期待値を生成して期待値データバッファ7に出力する期待値生成部10を備えていることである。よって、本例では期待値データバッファ7とデータファイル9との間のデータ交換は不要である。このアルゴリズムは、回路2の回路設計の前工程で作成したC言語系アルゴリズムを利用する。
The
このテストベンチシステム1では、回路2への入力データから期待値が自動生成されるので、前述の例のように外部のデータファイルに期待値を用意する必要がなくなる。
In the
このテストベンチシステム1の具体的な例として、PCI入力インターフェースを備え、JPEGデコードをおこなう回路2のテストベンチについて説明する。図6は、この場合のテストベンチシステム1の機能ブロック図である。図6において、データ入力インタフェースモデル3は、PCIのスレイブとして動作し、入力データバッファ6は1チャネル(JPEG入力)である。データ出力インタフェースモデル4は、前述の例と同様なスレイブモデルとして動作する。期待値データバッファ7は、JPEG復号後のRGBの各色に対応した3チャネルである(但し、グレイスケールの場合は1チャネルのみ使用する)。
As a specific example of the
期待値生成部10は、JPEG復号アルゴリズムが搭載され、入力データバッファ6からデータを読み出し、期待値データバッファ7に復号後のR,G,Bの各データ(もしくはグレイスケールのデータ)を書き込む。
The expected
また、入力データバッファ6は、PCIのアドレス型アクセスに対応する。
The
図7は、このテストベンチシステム1が実行する処理の通信シーケンス図である。図7において図4と同一符号の処理は、前述の図4の場合と同様であるため、詳細な説明は省略する。図7の処理が図4の処理と異なるのは、(1)の処理の後に期待値生成部10に期待値の生成を指示し(13)、その生成した期待値を入力データバッファ6に読み出し(14)、期待値データバッファ7に書き込むことである(15)。これに伴い、前述の(2)の処理は行われない。
FIG. 7 is a communication sequence diagram of processing executed by the
また、データ入力インタフェースモデル3はPCIスレイブとして動作するため、テストシナリオ8はデータ入力インタフェースモデル3に転送開始を指示しない。本例では設計対象回路(JPEG復号器)2の内部レジスタに転送開始制御レジスタを持ち、当該レジスタにより転送が開始することを想定している。
Since the data
さらに、本例ではデータ入力に関してアドレス型アクセスのため、入力データバッファ6ではアクセスアドレスの重複もチェックしている。アドレスの重複時には、随時、ユーザインタフェースにレポートしてシミュレーションを停止する。
Further, in this example, since the address type access is performed for data input, the
テストベンチシステム1のさらに別の実施の形態について説明する。
Still another embodiment of the
図8は、このテストベンチシステム1の機能ブロック図である。以下の説明において、前述の図5のテストベンチシステム1と同様の構成要素などについては、同一の符号を用い、詳細な説明は省略する。
FIG. 8 is a functional block diagram of the
このテストベンチシステム1が前述の図5の例と相違するのは、前述の期待値生成部10を複数、この例では2つ用意し(期待値生成部10a,10b)、画像処理アルゴリズムの連続動作を実行した期待値を生成することと、複数の回路2、この例では2つ回路2(回路2a,2b)を対象とすることである。
The
本実施の形態における回路2は、図1などを参照して説明した実施の形態におけるRGB-CMYK変換器(回路2b)の前段に、図5を参照して説明したJPEG復号器(回路2a)を接続する構成をとる。テストベンチシステム1は、JPEG復号に対応した期待値生成部10aとRGB-CMYK変換に対応した期待値生成部10bとを備えている。
The
図9に示すように、期待値生成部10aは、入力データバッファ6を入力として、後段に期待値生成部10bが接続されている。そして、期待値生成部10bは、期待値データバッファ7に接続される。期待値生成部10aでは仮出力バッファ10a1を作成することができる。
As shown in FIG. 9, the expected
図10は、接続された期待値生成部10a,10bが実行する処理のフローチャートである。
FIG. 10 is a flowchart of processing executed by the connected expected
まず、テストシナリオ8は、接続された期待値生成部10a,10bの最後段の期待値生成部10bに対して期待値の生成実行を指示する。すると、図10の処理が開始する。まず、前段の期待値生成部10aが仮出力バッファ10a1を作成する(ステップS1)。次に、期待値生成部10aは、そのアルゴリズム(この例ではJPEG復号)を実行する(ステップS2)。ここでは、入力データバッファ6からデータを読み出し、演算結果は仮出力バッファ10a1に出力する。
First, the
そして、後段の期待値生成部10bは、そのアルゴリズム(この例では、RGB−CMYK変換)を実行する(ステップS3)。ここでは、前段の期待値生成部10aの仮出力バッファ10a1からデータを読み込んで実行し、その演算結果は期待値データバッファ7に出力する。最後に、不要になった前段の期待値生成部10aの仮出力バッファ10a1を消去して(ステップS4)、一連の処理を終了する。このようにして、入力データバッファ6と期待値データバッファ7との間に期待値生成部10a,10bを接続して期待値を生成することができる。この期待値を用いて行なう処理については、図1、図5の実施の形態と同様である。
Then, the expected
最後に、前述の各実施の形態のテストベンチシステム1のハードウェア構成例について説明する。
Finally, a hardware configuration example of the
図11は、テストベンチシステム1の電気的な接続のブロック図である。図11に示すように、テストベンチシステム1は、ワークステーションなどのコンピュータにより実現され、このコンピュータは、各種演算を行ない、画像処理装置の各部を集中的に制御するCPU211と、各種のROM、RAMからなるメモリ212とが、バス213で接続されている。
FIG. 11 is a block diagram of electrical connection of the
バス213には、所定のインターフェースを介して、ハードディスクなどの磁気記憶装置214と、キーボード、マウスなどの入力装置215と、表示装置216とが接続され、また、ネットワーク201と通信を行なう所定の通信インターフェース219が接続されている。なお、記憶媒体217としては、CD,DVDなどの光ディスク、光磁気ディスク、フレキシブルディスクなどの各種メディアを用いることができる。また、記憶媒体読取装置218は、具体的には記憶媒体217の種類に応じて光ディスク装置、光磁気ディスク装置、フレキシブルディスク装置などが用いられる。
The bus 213 is connected to a
テストベンチシステム1は、この発明の記憶媒体を実施する記憶媒体217から、この発明のプログラムを実施するプログラム220を読み取って、磁気記憶装置214にインストールすることにより、動作可能な状態となる。これらのプログラム20はインターネットなどのネットワーク201等を介してダウンロードしてインストールするようにしてもよい。なお、プログラム220は、所定のOS上で動作するものであってもよい。
The
そして、バス213には、所定のインターフェース221を介して、回路2と接続される。そして、プログラム220に基づいてCPU211が実行する処理により、CPUインタフェースモデル3、データ入力インタフェースモデル4、データ出力インタフェースモデル5、期待値生成部10(あるいは、期待値生成部10a,10b)が構築され、入力バッファ6、期待値バッファ7がメモリ212のRAMなどの記憶装置に用意され、前述した各種の処理が実行される。
The bus 213 is connected to the
別の実施の形態について説明する。 Another embodiment will be described.
図12は、本実施の形態のテストベンチシステム101の構成の説明図である。本実施の形態のテストベンチシステム101の検証対象となる回路102はASICで、カラー複写機、カラープリンタなどに搭載されて、C(シアン)、M(マゼンタ)、Y(イエロ)、K(ブラック)の各色の画像データについて所定の処理を行なう回路である。回路102は、この所定の処理を実行するCMYKデータ処理部103と、CMYKデータ処理部103と後述のPCIバス105とをインターフェースするPCIコントローラ104とを備えている。カラー複写機、カラープリンタなどの実機では、この回路102と接続されるPCIバス105の向こうにメモリコントローラが存在し、このメモリコントローラを介してCMYK各色の画像データの各プレーンにアクセスする。
FIG. 12 is an explanatory diagram of a configuration of the
このテストベンチシステム101上では、PCIバス105にバスファンクションモデル106を接続し、回路102のPCIバス105へのアクセスに対して、バスファンクションモデル106がバッファ111,112へのアクセスをおこない応答する。
On the
バスファンクションモデル106は、PCIバスに対応したバスファンクションモデルであり、データ入力インターフェースに対応したバスファンクションモデルであるデータ入力インタフェースモデル、データ出力インターフェースに対応したバスファンクションモデルであるデータ出力インタフェースモデル、CPUインターフェースに対応したバスファンクションモデルであるCPUインタフェースモデルなどの機能を備えている。
The
データ入力インタフェースモデルは、回路102とのプロトコルの実行・応答・監視を行い、入力データバッファ111からデータを読み出し、回路102に入力する機能を備えている。
The data input interface model has a function of executing, responding to, and monitoring a protocol with the
データ出力インタフェースモデルは、回路102とのプロトコルの実行・応答・監視をおこない、回路102が出力するデータを捕捉し、期待値データバッファ112の内容と期待値比較する役割を持つ。
The data output interface model has a role of executing, responding to, and monitoring a protocol with the
CPUインタフェースモデルは、所定のテストシナリオの指示により回路102とのプロトコルの実行・応答・監視をおこなう。
The CPU interface model executes, responds to, and monitors a protocol with the
入力データバッファ111(第1のバッファ)は、データ入力インタフェースモデルが読み出す入力データをバッファリングする。 The input data buffer 111 (first buffer) buffers input data read by the data input interface model.
期待値バッファ112(第2のバッファ)は、データ出力インタフェースモデルが回路102の出力するデータと比較するのに用いる期待値をバッファリングする。
The expected value buffer 112 (second buffer) buffers the expected value used by the data output interface model for comparison with the data output from the
このように、バスファンクションモデル106、入力データバッファ111、期待値バッファ112の基本機能は、前述の実施の形態のテストベンチシステム1と同様であり、入力データバッファ111、期待値バッファ112への入力データ、期待値の入力はデータファイル(図示せず)から行なうこと、テストベンチはテストシナリオ(図示せず)に基づいて行なうことなども前述の実施の形態のテストベンチシステム1と同様である。
As described above, the basic functions of the
入力データバッファ111、期待値バッファ112は、いずれもCMYK4色の各画像データに対応して、CMYK4色に対応した入力データ、期待値をそれぞれバッファリングするために、それぞれ4つのバッファ111a〜111d,112a〜112dを備えている。このように、このシステムでは、入力データも出力データもCMYK4色に対応しているので、入力データバッファ111、期待値バッファ112へのデータアクセスは、PCIバス経由で入出力各4チャネルのデータアクセスになる。
The input data buffer 111 and the expected
バッファ切替部107(バッファ切替手段)は、入力データバッファ111、期待値バッファ112と同一のインターフェースを備え、入力データバッファ111、期待値バッファ112と接続し、これらの入力データバッファ111、期待値バッファ112へのアクセスを条件に応じて切り替える。具体的には、バッファ切替部107は、アクセスアドレスに応じて各バッファ111a〜111d,112a〜112dへのアクセスに振り分ける。すなわち、バッファ111a〜111d,112a〜112dの切り替えの条件がアクセスアドレスである。
The buffer switching unit 107 (buffer switching means) has the same interface as the input data buffer 111 and the expected
このように、テストベンチシステム101では、前述したバッファ切替部107の機能によりバッファ切替部107がバスファンクションモデル106からは単一のバッファとして見えることにより、バスファンクションモデル106が複数のバッファ、すなわち、入力データバッファ111、期待値バッファ112を意識することなく、そのバッファリングしているデータにアクセスできるため、テストベンチ部品としてのバスファクションモデル106の再利用性が向上する。
As described above, in the
この場合に、テストベンチシステム101では、バッファ切替部107が保持する各バッファ111a〜111d,112a〜112dの切り替え条件がアドレスであるので、使用するアドレス範囲が重複しないデータチャネル群について、入力データバッファ111、期待値バッファ112を意識することなく、そのバッファリングしているデータにアクセスして、テストベンチ部品としてのバスファクションモデル106の再利用性がさらに向上する。
In this case, in the
別の実施の形態について説明する。 Another embodiment will be described.
図13は、本実施の形態のテストベンチシステム101の構成の説明図である。なお、図13において図12と同一符号の要素は、図12を参照して説明した実施の形態と同様であるため、適宜、詳細な説明は省略する。本実施の形態における検証対象となる回路102は、カラー複写機などに搭載されるASICで、R(レッド),G(グリーン),B(ブルー)の画像データをJPEG方式で圧縮符号化処理して符号データの出力をおこなう回路である。回路102は、このような機能を実現するため、RGB−JPEG変換部121を備えている。回路102は、図12の実施の形態と同様、単一のPCIバス105を介してアクセスされる。
FIG. 13 is an explanatory diagram of a configuration of the
テストベンチではRGBの入力画像データの各プレーン及びJPEG圧縮後の符号データの期待値を、それぞれ入力データバッファ111、期待値バッファ112に持たせる。すなわち、入力データバッファ111は、バッファ111a〜111cから構成されてそれぞれR,G,Bの画像データをバッファリングし、期待値バッファ112はバッファ112aから構成されてJPEG圧縮後の符号データの期待値をバッファリングする。すなわち、入力データバッファ111、期待値バッファ112へのデータアクセスは、PCIバス105経由で入力3チャネル出力1チャネルとなる。
In the test bench, input data buffer 111 and expected
ここでJPEG圧縮後の符号データ出力のアドレス範囲について、実機のカラー複写機などではあり得ないことではあるが、一部はRGB画像データの入力との重複を許している。このようにアドレス範囲の制約を敢えて外すことで、より広いアドレス範囲の検証を容易に行なえるようにできる。 Here, the address range of the code data output after JPEG compression cannot be an actual color copier, but a part of it is allowed to overlap with the input of RGB image data. In this way, by deliberately removing the address range restriction, it is possible to easily verify a wider address range.
回路102のPCIバス105経由のデータアクセスは、一部はJPEG圧縮後の符号データ出力アドレスと、RGBの画像データの入力アドレスが重複することになるが、入力と出力の違いによりバッファへのアクセスも異なる(入力データの読み出しと期待値の比較)ので、使用するバッファ111a〜111c,112aが正しく判別される。
In the data access via the
このように、入力データバッファ111、期待値バッファ112の切替えの条件がデータチャネルのリード・ライトアクセス区分であるので、例えチャネル間でアドレスが重複しても、リード・ライト区分が異なれば入力データバッファ111、期待値バッファ112は区別されてアクセスされる。アドレス範囲の重複を許すことで、よりアドレス制約の少ない柔軟な検証ができる。
As described above, since the switching condition of the input data buffer 111 and the expected
別の実施の形態について説明する。 Another embodiment will be described.
図14は、本実施の形態のテストベンチシステム101の構成の説明図である。なお、図14において図12と同一符号の要素は、図12を参照して説明した実施の形態と同様であるため、適宜、詳細な説明は省略する。本実施の形態における検証対象となる回路102は、複写機などに搭載されるASICで、複写機に搭載のスキャナで読み取った原稿の画像データを入力データ(スキャナ入力)とし、複写機に搭載のプロッタに出力する出力データ(プロッタ出力)をそれぞれ単一のPCIバス105経由で転送する回路である。プロッタ出力はプロッタ出力部131が行い、スキャナ入力はスキャナ入力部132で行う。このスキャナ入力とプロッタ出力は独立に動作する。そして、プロッタ出力が入力データとなり、スキャナ入力が期待値と比較されるデータとなる。入力データバッファ111、期待値データバッファ112は、それぞれ複数のバッファ111a,111b,…,112a,112b,…で構成されている。
FIG. 14 is an explanatory diagram of a configuration of the
テストベンチでは、まず、スキャナ入力(期待値)とプロッタ出力(入力データ)の原稿画像一面分をひとつずつのバッファァ111a,111b,…,112a,112b,…に持たせておく。そして、回路102を動作させることでスキャナ入力およびプロッタ出力がそれぞれ進行する。
In the test bench, first, one buffer image 111a, 111b,..., 112a, 112b,... Is provided for one document image of scanner input (expected value) and plotter output (input data). Then, by operating the
テストシナリオはデータ転送の進捗をバスファンクションモデル106の動作や回路102の内部レジスタ経由等で把握し、スキャナ入力もしくはプロッタ出力の次の原稿画像一面分を転送させたい場合は、バッファ切替部107に対して新規のバッファ(バッファ111a,111b,…,112a,112b,…)を追加する。バッファ切替部107は現在のバッファアクセスが終了すると直ちに新規に追加されたバッファにアクセスする。
このような動的なバッファの追加は、例えば、ランダムな検証でスキャナ入力とプロッタ出力間のタイミング関係のカバレッジを得るために繰り返しデータ転送する際に使用する。このようなケースでは、あらかじめ画像データの面数を決められないからである。このように、PCIバス105経由での画像データの入出力は独立スケジューリングで行なう。
In the test scenario, the progress of data transfer is grasped through the operation of the
Such dynamic buffer addition is used, for example, when transferring data repeatedly to obtain coverage of the timing relationship between the scanner input and the plotter output with random verification. This is because in such a case, the number of image data planes cannot be determined in advance. In this manner, input / output of image data via the
この実施の形態では、バッファ111a,111b,…,112a,112b,…の切り替え条件がアクセス順であるので、現在アクセス中のバッファでない限り、動的なバッファの接続、取り外しができることにより、より柔軟で複雑なデータ転送動作の検証ができる。 In this embodiment, since the switching conditions of the buffers 111a, 111b,..., 112a, 112b,... Are in the order of access, dynamic connection / disconnection of the buffers is possible unless the buffer is currently being accessed. Can verify complex data transfer operations.
なお、図12〜図14のテストベンチシステム101のハードウェア構成も前述の図11と同様である。回路102は、PCIバス105を介してCPU211と接続されている。そして、プログラム220に基づいてCPU211が実行する処理により、バスファンクションモデル106、バッファ切替部107が構築され、入力バッファ111、期待値バッファ112がメモリ212のRAMなどの記憶装置に用意され、前述した各種の処理が実行される。
The hardware configuration of the
1 テストベンチシステム
2 回路
3 データ入力インタフェースモデル
4 データ出力インタフェースモデル
5 CPUインタフェースモデル
6 第1のバッファ
7 第2のバッファ
217 記憶媒体
220 プログラム
102 回路
107 バッファ切替手段
111 第1のバッファ
112 第2のバッファ
DESCRIPTION OF
Claims (5)
前記CPUインタフェースモデルにより前記回路に入力するデータをバッファリングする第1のバッファを所定の記憶装置に実現する手段と、
前記回路のデータ入力インターフェースに対応したバスファンクションモデルであり、前記第1のバッファがバッファリングしているデータを前記回路に入力するデータ入力インタフェースモデルを実現する手段と、
前記回路から出力されるデータについての期待値をバッファリングする第2のバッファを所定の記憶装置に実現する手段と、
前記回路のデータ出力インターフェースに対応したバスファンクションモデルであり、前記回路から出力されたデータを前記第2のバッファにバッファリングされている前記データについての期待値と比較するデータ出力インタフェースモデルを実現する手段と、
前記第1及び第2のバッファへのアクセスを条件に応じて切り替えるバッファ切替手段と、
をコンピュータに実行させるコンピュータに読み取り可能なプログラム。 Means for realizing a CPU interface model which is a bus function model corresponding to a CPU interface of a target circuit;
Means for realizing, in a predetermined storage device, a first buffer for buffering data input to the circuit by the CPU interface model;
A bus function model corresponding to the data input interface of the circuit, and means for realizing a data input interface model for inputting data buffered by the first buffer to the circuit;
Means for realizing, in a predetermined storage device, a second buffer for buffering an expected value of data output from the circuit;
A bus function model corresponding to the data output interface of the circuit, which realizes a data output interface model for comparing data output from the circuit with an expected value for the data buffered in the second buffer Means,
Buffer switching means for switching access to the first and second buffers according to conditions;
A computer-readable program that causes a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004200654A JP4476053B2 (en) | 2004-02-25 | 2004-07-07 | Program and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004049144 | 2004-02-25 | ||
JP2004200654A JP4476053B2 (en) | 2004-02-25 | 2004-07-07 | Program and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005276153A JP2005276153A (en) | 2005-10-06 |
JP4476053B2 true JP4476053B2 (en) | 2010-06-09 |
Family
ID=35175724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004200654A Expired - Fee Related JP4476053B2 (en) | 2004-02-25 | 2004-07-07 | Program and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4476053B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5065113B2 (en) * | 2008-03-24 | 2012-10-31 | ルネサスエレクトロニクス株式会社 | Equivalence verification method, equivalence verification program, and equivalence verification program generation method |
DE102009034242A1 (en) * | 2009-07-22 | 2011-01-27 | Volkswagen Ag | Method for testing controller utilized for controlling e.g. brake lamp of lorry, involves automatically operating regulator to determine whether controller properly operates or not upon detected output signal |
CN103020395B (en) * | 2012-12-31 | 2015-08-05 | 上海高清数字科技产业有限公司 | The verification method of demultiplexing interface module and verification system |
-
2004
- 2004-07-07 JP JP2004200654A patent/JP4476053B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005276153A (en) | 2005-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8239708B2 (en) | System on chip (SoC) device verification system using memory interface | |
US9172839B2 (en) | Image forming apparatus, control method and storage medium | |
CN111193917B (en) | Operation method, device and related product | |
US8150670B2 (en) | Simulator and simulation method | |
JP4476053B2 (en) | Program and storage medium | |
US20010018646A1 (en) | USB simulation apparatus and storage medium | |
JP5277615B2 (en) | Data processing apparatus and data processing program | |
JP2006285738A (en) | System for starting software for composite machine | |
US8171198B2 (en) | Image forming apparatus and control method thereof | |
US20080281576A1 (en) | Interface board, simulator, synchronization method, and synchronization program | |
US7280620B2 (en) | Electronic device including image forming apparatus | |
JP2004158000A (en) | Electronic equipment and method for diagnosing its trouble | |
US9645823B2 (en) | Hardware controller to choose selected hardware entity and to execute instructions in relation to selected hardware entity | |
US7962796B2 (en) | State testing device and methods thereof | |
JP2015096997A (en) | Logic verification method | |
JP4034323B2 (en) | Image data processing method, image data processing apparatus, and image forming apparatus | |
JP4259328B2 (en) | Image processing apparatus, printer, and method for reading stored data | |
JP4595787B2 (en) | Printing device, image processing device | |
US10291817B2 (en) | Monochrome image forming apparatus processing monochrome input data utilizing a color conversion process thereby reducing toner usage in an eco mode | |
Khan et al. | Verification Methodology of Vison Based Hardware Accelerators in System-on-Chip | |
JPH11282888A (en) | Data communication method in system to be designed based on system specification description, combination method of interruption controller and synthesizing method of interface circuit | |
JP3763751B2 (en) | Image compression / decompression apparatus and image compression / decompression method | |
JP2020008926A (en) | Data path controller, image processing device, control method of data path controller and program | |
JP2008236129A (en) | Method for testing image processor, and image processor | |
JP2012124667A (en) | Image processor |
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: 20070619 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090819 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090825 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100205 |
|
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: 20100302 |
|
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: 20100309 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |