JP2012226658A - Test device, verification model development method, and program - Google Patents
Test device, verification model development method, and program Download PDFInfo
- Publication number
- JP2012226658A JP2012226658A JP2011095153A JP2011095153A JP2012226658A JP 2012226658 A JP2012226658 A JP 2012226658A JP 2011095153 A JP2011095153 A JP 2011095153A JP 2011095153 A JP2011095153 A JP 2011095153A JP 2012226658 A JP2012226658 A JP 2012226658A
- Authority
- JP
- Japan
- Prior art keywords
- program
- signal input
- control unit
- model
- output
- 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
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
本発明は、試験装置、検証モデル開発方法及びプログラムに関する。 The present invention relates to a test apparatus, a verification model development method, and a program.
従来、SoC(System on a Chip)などの半導体集積回路の試験時において、被試験対象の装置(DUT:Device Under Test)がアクセスする装置の動作を模擬する疑似モデルをエミュレータやシミュレータ上に構築し、試験を行うことが知られている。そのような疑似モデルは、外部モデルとも呼ばれている。 Conventionally, when testing a semiconductor integrated circuit such as SoC (System on a Chip), a pseudo model that simulates the operation of the device accessed by the device under test (DUT) is built on an emulator or simulator. It is known to conduct tests. Such a pseudo model is also called an external model.
SoCなどの試験時には、多くの外部モデルが用いられる。たとえば、SDカード用のインターフェイス、SDRAM(Synchronous Dynamic Random Access Memory)、PCI(Peripheral Component Interconnect)、AMBA(Advanced Microcontroller Bus Architecture)などが外部モデルとして模擬される。 Many external models are used during tests such as SoC. For example, an interface for an SD card, SDRAM (Synchronous Dynamic Random Access Memory), PCI (Peripheral Component Interconnect), AMBA (Advanced Microcontroller Bus Architecture), etc. are simulated as external models.
こうした外部モデルは、たとえば、VerilogやVHDL(VHSIC(Very High Speed Integrated Circuits)Hardware Description Language)、SystemCなどの、ハードウェア記述言語で記述される。 Such an external model is described in a hardware description language such as Verilog, VHDL (VHSIC (Very High Speed Integrated Circuits) Hardware Description Language), or SystemC.
また、SystemCなどで記述された外部モデルをシミュレータ上に構築し、エミュレータ上に構築されたDUTとの間で試験を行うアクセラレーションが知られている。アクセラレーションには、シミュレータとエミュレータ間の接続を信号線で行う手法がある。また、アクセラレーションの別の手法として、検証を高速化するため、SCE−MI(Standard Co-Emulation Modeling Interface)プロトコルを用いてエミュレータとシミュレータをトランザクションレベルで協調動作させる手法が知られている。 In addition, an acceleration is known in which an external model described in SystemC or the like is built on a simulator and a test is performed with a DUT built on an emulator. In acceleration, there is a method of connecting a simulator and an emulator with a signal line. As another acceleration method, there is known a method in which an emulator and a simulator are cooperatively operated at a transaction level using an SCE-MI (Standard Co-Emulation Modeling Interface) protocol in order to speed up verification.
しかし、従来の手法では、外部モデルを含む検証環境の構築に時間がかかるという問題があった。
たとえば、ハードウェア記述言語は記述量が多く、外部モデルの作成や修正などに時間がかかる。アクセラレーションを用いる場合は、SCE−MI部分もハードウェア記述言語で記述する必要があり、外部モデルを変更した場合などに修正が困難であり、検証モデルの再構築に時間がかかる。
However, the conventional method has a problem that it takes time to construct a verification environment including an external model.
For example, a hardware description language has a large amount of description, and it takes time to create and modify an external model. In the case of using acceleration, the SCE-MI part also needs to be described in a hardware description language, which is difficult to correct when the external model is changed, and it takes time to reconstruct the verification model.
発明の一観点によれば、被試験対象モデルがアクセスする装置の動作を模擬する疑似モデルを有し、前記疑似モデルは、前記被試験対象モデルとの間で信号の入出力を行う信号入出力制御部と、前記信号入出力制御部が実行するインターフェイスの機能を指定するプログラムを格納した記憶部と、前記プログラムに応じて、前記信号入出力制御部の設定を行う疑似プロセッサと、を備える試験装置が提供される。 According to one aspect of the invention, a pseudo model for simulating the operation of an apparatus accessed by a model under test is provided, and the pseudo model is a signal input / output that inputs and outputs signals to and from the model under test. A test comprising: a control unit; a storage unit storing a program that specifies an interface function executed by the signal input / output control unit; and a pseudo processor that sets the signal input / output control unit according to the program An apparatus is provided.
また、発明の一観点によれば、コンピュータが、被試験対象モデルとの間で信号の入出力を行う信号入出力制御部と、前記信号入出力制御部が実行するインターフェイスの機能を指定するプログラムを格納した記憶部と、疑似プロセッサを有し、前記被試験対象モデルがアクセスする装置の動作を模擬する疑似モデルを生成し、前記疑似プロセッサが、前記プログラムに応じて前記信号入出力制御部の設定を行う検証モデル開発方法が提供される。 According to another aspect of the invention, a computer specifies a signal input / output control unit for inputting / outputting a signal to / from a model under test, and an interface function executed by the signal input / output control unit. A pseudo-model that simulates the operation of the device accessed by the model under test, and the pseudo-processor generates a pseudo-model according to the program. A verification model development method for setting is provided.
また、発明の一観点によれば、コンピュータを、被試験対象モデルとの間で信号の入出力を行う信号入出力制御部、前記信号入出力制御部が実行するインターフェイスの機能を指定するプログラムを格納した記憶部、前記プログラムに応じて、前記信号入出力制御部の設定を行う疑似プロセッサ、を有し、前記被試験対象モデルがアクセスする装置の動作を模擬する疑似モデルとして機能させるプログラムが提供される。 Further, according to one aspect of the invention, there is provided a program for designating a function of an interface executed by the signal input / output control unit, a signal input / output control unit for inputting / outputting a signal to / from a model under test. Provided is a program that has a stored storage unit and a pseudo processor that sets the signal input / output control unit according to the program, and that functions as a pseudo model that simulates the operation of the device accessed by the model under test Is done.
開示の試験装置、検証モデル開発方法及びプログラムによれば、様々なインターフェイスに応じた検証環境を短期間に容易に構築できる。 According to the disclosed test apparatus, verification model development method, and program, a verification environment corresponding to various interfaces can be easily constructed in a short time.
以下、本発明の実施の形態を、図面を参照しつつ説明する。
図1は、試験装置の一例を示す図である。
試験装置10は、たとえば、エミュレータなどのコンピュータであり、被試験対象モデル(以下DUTと略す)11、クロック発生部12、疑似モデル(以下外部モデルと呼ぶ)13を有する。DUT11は、たとえば、設計されたSoCなどの半導体集積回路のデータ(たとえば、ネットリスト)であり、試験装置10の書き換え可能な論理素子を有する論理展開用のボードなどにマッピングされている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram illustrating an example of a test apparatus.
The
クロック発生部12は、DUT11に対して供給するクロック信号を発生する。
外部モデル13は、信号入出力制御部131、記憶部132、疑似プロセッサ133、バス134を有する。これらは、たとえば、VerilogやVHDLなどの、論理合成可能なハードウェア記述言語で記述されている。
The
The
信号入出力制御部131は、DUT11との間で信号(インターフェイス信号)の入出力を行う。詳細は後述するが、信号入出力制御部131は、メモリ、レジスタ、バッファ、カウンタ、制御部などを有している。また、信号入出力制御部131は、クロック発生部12に対して、クロック制御信号を出力する機能や、疑似プロセッサ133に対して割り込み命令を出力する機能を有している。
The signal input /
記憶部132は、信号入出力制御部131が実行するインターフェイスの機能を指定するプログラムPを格納している。プログラムPは、たとえば、C言語など抽象度の高いプログラミング言語により記述されている。プログラムPには、信号入出力制御部131のレジスタなどに設定する値や、疑似プロセッサ133が行うプログラム処理などが記述されている。プログラムPは、コンパイルされ、記憶部132に格納されている。
The
疑似プロセッサ133は、記憶部132に格納されているプログラムPに応じて、信号入出力制御部131の設定を行う。また、疑似プロセッサ133は、信号入出力制御部131の設定後、信号入出力制御部131から割り込み命令を受けると、割り込み処理として、プログラムPに記述されたプログラム処理を行う。疑似プロセッサ133は、たとえば、CPU(Central Processing Unit)を模擬したモデルである。
The
バス134は、信号入出力制御部131、記憶部132及び疑似プロセッサ133間の信号を伝達する。
図2は、外部モデルを用いた検証モデルの開発方法の一例を示す図である。
The
FIG. 2 is a diagram illustrating an example of a verification model development method using an external model.
まず、たとえば、試験装置10は、図1に示されるような外部モデル13を生成する(ステップS1)。
たとえば、試験装置10は、使用されるインターフェイスに応じて設計者によって編集された信号入出力制御部131の情報が含まれる設定ファイルを入力する(ステップS1a)。設定ファイルでは、インターフェイスの信号線の本数や、バッファまたはレジスタの数や容量などの回路量が指定されている。たとえば、複数のインターフェイスが想定される場合、インターフェイスの信号線の本数が最大のものに合わせて、使用するバッファ数またはレジスタ数などが指定されている。また、取得されるデータ量や設定値の量などに応じて、バッファやレジスタの容量が指定されている。
First, for example, the
For example, the
これにより、生成される外部モデル13において無駄な回路の生成を抑えることができる。
試験装置10は、モジュールなどを生成する生成ツール(たとえば、perlなどで作成されたもの)を実行して、外部モデル13を生成する(ステップS1b)。
Thereby, it is possible to suppress generation of useless circuits in the generated
The
なお、外部モデル13を、試験装置10とは別のコンピュータを用いて生成するようにしてもよい。その場合、試験装置10は、生成された外部モデル13を、たとえば、ネットワークなどを経由して取り込む。
The
その後、疑似プロセッサ133は、記憶部132に記憶されているプログラムPに応じて、信号入出力制御部131の設定を行う(ステップS2)。これにより、DUT11がアクセスする装置の動作を模擬する外部モデル13を有した検証モデルが生成される。
Thereafter, the
このような試験装置10及び検証モデルの開発方法によれば、DUT11がアクセスする装置の動作を模擬する外部モデル13の信号入出力制御部131の機能を、プログラムPに応じて疑似プロセッサ133が設定する。これにより、種々の外部モデルそれぞれをハードウェア記述言語で開発する場合よりも工数を削減でき、様々なインターフェイスに応じた検証環境を短期間で容易に構築できるようになる。
According to the
たとえば、全てをハードウェア記述言語で外部モデルを作成する場合よりも、コード量を1/7程度に削減できる。また、エミュレータを用いているので、高速に試験が可能である。 For example, the amount of code can be reduced to about 1/7 as compared with the case where the external model is created entirely in a hardware description language. Moreover, since an emulator is used, testing can be performed at high speed.
また、プログラムPを修正するだけで様々な外部モデルに対応することができるようになり、検証環境の修正や変更が容易になる。また、疑似プロセッサ133は、プログラムPに応じて、DUT11へ出力される信号の出力タイミングを、信号入出力制御部131へ設定することで、タイミングの調整も容易である。
Further, it becomes possible to deal with various external models only by correcting the program P, and the verification environment can be easily corrected and changed. Further, the
以上のようにして生成された外部モデル13は、DUT11の試験時に、信号入出力制御部131の設定に応じて、たとえば、以下のような動作を行う。
なお、DUT11の試験は、たとえば、ハードウェア記述言語で記述されたテストベンチにしたがって行われる。
The
The
図3は、試験装置の試験時の動作の一例を示すタイミングチャートである。
クロック発生部12で発生されるDUT11へのクロック信号(DUTクロック)、外部モデル13へ入力されるクロック信号(外部モデルクロック)、外部モデル13の動作要因となる、DUT11から信号入出力制御部131への入力信号が示されている。また、信号入出力制御部131からクロック発生部12に対して出力されるクロック制御信号、信号入出力制御部131から疑似プロセッサ133に対して出力される割り込み信号が示されている。また、信号入出力制御部131からDUT11に出力される出力信号、信号入出力制御部131の出力バッファの値、疑似プロセッサ133のプログラム処理のタイミングが示されている。
FIG. 3 is a timing chart showing an example of the operation of the test apparatus during the test.
A clock signal (DUT clock) to the
なお、外部モデル13の動作要因とは、インターフェイス信号である入力信号の変化や、入力信号が変化してからの時間経過などであり、前述の図2のステップS2の処理にて、信号入出力制御部131の図示しないレジスタに設定される。図3の例では、信号入出力制御部131への入力信号がデアサート(図3の例の場合L(Low)レベル)となることが、外部モデル13の動作要因であるとしている。
The operation factor of the
タイミングt1で入力信号がLレベルになると、信号入出力制御部131は、クロック制御信号をアサート(図3の例の場合H(High)レベル)とする。これにより、クロック発生部12は、DUTクロックを停止する(タイミングt2)。
When the input signal becomes L level at timing t1, the signal input /
また、入力信号がデアサートになると、信号入出力制御部131は、割り込み信号をアサートする(タイミングt3)。これにより、疑似プロセッサ133は、記憶部132に記憶されているプログラムPの記述に基づいたプログラム処理を行う。図3の例では、あるタイミングt4で、信号入出力制御部131の出力バッファの値を0から1にするプログラム処理の例が示されている。
When the input signal is deasserted, the signal input /
プログラム処理が終了すると(タイミングt5)、信号入出力制御部131は、クロック制御信号をデアサートとする。これにより、クロック発生部12は、DUT11へのDUTクロックの供給を再開する。
When the program process ends (timing t5), the signal input /
図4は、DUTクロックの制御の一例を示す図である。
図4中で、DUT11、外部モデル13に接続されている直線上のブロックは、各部で処理を示している。
FIG. 4 is a diagram illustrating an example of control of the DUT clock.
In FIG. 4, the blocks on the straight line connected to the
DUT11によって、前述のような外部モデル13の動作要因が発生すると(タイミングT1)、外部モデル13は、クロック制御信号によって、DUTクロックを停止させ(タイミングT2)、プログラム処理を実行する。外部モデル13は、プログラム処理が終わると、クロック制御信号によって、DUTクロックを再開させる(タイミングT3)。
When the operation factor of the
再び外部モデル13の動作要因が発生すると(タイミングT4)、DUTクロックが停止し(タイミングT5)、外部モデル13のプログラム処理が行われる。
外部モデル13のプログラム処理中において、DUT11と並行処理が可能の場合には、プログラム処理の途中で、クロック制御信号により、DUTクロックが再開される(タイミングT6)。
When the operating factor of the
If parallel processing with the
その後、外部モデル13の動作要因が発生し(タイミングT7)、DUT11と外部モデル13との並行動作が行えない場合には、DUTクロックが停止され(タイミングT8)、DUT11の動作が停止する。プログラム処理が終了すると、DUTクロックが再開され(タイミングT9)、DUT11の動作が開始される。
Thereafter, an operating factor of the
上記のようにDUTクロックを制御することで、プログラム処理と、DUT動作の時間差を調整することができる。また、外部モデル13とDUT11の並行処理が可能であれば、たとえば、プログラム処理の途中でDUTクロックを再開し、DUT11と外部モデルとの並行処理を行わせることで、DUTクロックを停止することによる速度低下を抑制できる。
By controlling the DUT clock as described above, the time difference between the program processing and the DUT operation can be adjusted. If parallel processing of the
以上のような図3、図4に示した制御により、生成された外部モデル13は、DUT11がアクセスする装置としての機能を模擬するようになる。DUT11は、外部モデル13をアクセス相手として動作し、その時のDUT11における各部の信号や、DUT11から入出力される信号が読み出されて、DUT11の検証などが行われる。
By the control shown in FIGS. 3 and 4 as described above, the generated
以下、上記のような動作を実現する外部モデル13を、より詳細に説明する。
図5は、信号入出力制御部の一例を示す図である。
信号入出力制御部131は、割り込みレジスタ20、クロック制御レジスタ21、複数の入力レジスタ22−1〜22−n、入力カウンタ23−1〜23−n、入力バッファ24−1〜24−n、出力レジスタ25−1〜25−nを有している。さらに、信号入出力制御部131は、出力レジスタ25−1〜25−nのそれぞれに対して、出力バッファ27−1〜27−nと、2つの出力カウンタ26a−1〜26a−n、26b−1〜26b−nを有している。また、信号入出力制御部131は、割り込みマスクレジスタ28を有している。
Hereinafter, the
FIG. 5 is a diagram illustrating an example of the signal input / output control unit.
The signal input /
割り込みレジスタ20は、割り込みの種類を保持している。疑似プロセッサ133は、割り込み命令を受けると、この割り込みレジスタ20を参照して割り込みの種類を特定する。
The interrupt
クロック制御レジスタ21には、DUTクロックの発生をクロック発生部12に許可させるか否かを制御するクロック制御信号の値が格納されている。たとえば、外部モデル13によるプログラム処理の終了時に、DUTクロックを再開させるように値が設定される。
The clock control register 21 stores a value of a clock control signal that controls whether or not the
入力レジスタ22−1〜22−nでは、DUT11からの入力信号に関する設定が行われる。割り込みのタイミングや、割り込みの要因なども設定される。
入力カウンタ23−1〜23−nは、入力レジスタ22−1〜22−nの設定値に応じて、図示しないクロック信号に同期してカウント動作を行う。
In the input registers 22-1 to 22-n, settings relating to the input signal from the
The input counters 23-1 to 23-n perform a count operation in synchronization with a clock signal (not shown) according to the set values of the input registers 22-1 to 22-n.
入力バッファ24−1〜24−nは、DUTクロックの1クロックサイクルごとに順次ビットをシフトしてDUT11からの入力信号を保持する。
出力レジスタ25−1〜25−nには、DUT11に出力するデータのタイミングの制御と、割り込みに関する情報が設定される。
The input buffers 24-1 to 24-n hold the input signal from the
In the output registers 25-1 to 25-n, control of timing of data output to the
出力カウンタ26a−1〜26a−n,26b−1〜26b−nは、出力レジスタ25−1〜25−nの設定値に応じて、図示しないクロック信号に同期してカウント動作を行う。出力カウンタ26a−1〜26a−n,26b−1〜26b−nは、DUT11への出力信号のタイミングと、割り込みタイミングをカウントするために、各出力レジスタ25−1〜25−nに対して2つ設けられている。
The output counters 26a-1 to 26a-n and 26b-1 to 26b-n perform a count operation in synchronization with a clock signal (not shown) according to the set values of the output registers 25-1 to 25-n. The output counters 26a-1 to 26a-n and 26b-1 to 26b-n are set to 2 for each output register 25-1 to 25-n in order to count the timing of the output signal to the
出力バッファ27−1〜27−nは、DUTクロックの1クロックサイクルごとに、順次ビットをシフトしてDUT11へ出力する情報を保持する。
割り込みマスクレジスタ28は、割り込みの発生要因(たとえば、カウンタ値に応じて発生される割り込みか、DUT11からの信号により発生される割り込みか、など)ごとに、その要因による割り込みを発生させるか否かが設定されるレジスタである。
The output buffers 27-1 to 27-n hold information to be output to the
The interrupt mask register 28 determines whether or not to generate an interrupt due to an interrupt generation factor (for example, an interrupt generated according to a counter value or an interrupt generated by a signal from the DUT 11). Is a register to be set.
なお、信号入出力制御部131は、上記の他に、たとえば、制御部やメモリなどを有しているが図示を省略している。
また、入力レジスタ22−1〜22−nと出力レジスタ25−1〜25−nの個数はともにnとしているが、異なっていてもよい。同様に、入力バッファ24−1〜24−nと出力バッファ27−1〜27−nなどの個数も異なっていてもよい。
In addition to the above, the signal input /
The number of input registers 22-1 to 22-n and output registers 25-1 to 25-n are both n, but they may be different. Similarly, the number of input buffers 24-1 to 24-n and output buffers 27-1 to 27-n may be different.
また、複数の入力バッファ24−1〜24−n、入力カウンタ23−1〜23−n、出力バッファ27−1〜27−n、出力カウンタ26a−1〜26a−n,26b−1〜26b−nに対して、1つの入力レジスタ、出力レジスタを設けるようにしてもよい。 Also, a plurality of input buffers 24-1 to 24-n, input counters 23-1 to 23-n, output buffers 27-1 to 27-n, output counters 26a-1 to 26a-n, 26b-1 to 26b- One input register and output register may be provided for n.
図6は、割り込みレジスタとクロック制御レジスタの設定例を示す図である。図6(A)が割り込みレジスタ20の設定例、図6(B)がクロック制御レジスタ21の設定例を示している。
FIG. 6 is a diagram illustrating a setting example of the interrupt register and the clock control register. FIG. 6A shows a setting example of the interrupt
割り込みレジスタ20では、“入力信号による割り込み”という名前で示されているビット幅nのビット[n−1:0]は、n個の各入力信号による割り込みの情報が設定される領域となっている。たとえば、n番目の入力信号による割り込みが発生した場合には、nビット目に“1”が設定される。
In the interrupt
また、“入力カウンタ制御割り込み”という名前で示されているビット幅nのビット[2n−1:n]に、入力カウンタ23−1〜23−nの制御による割り込みの情報が設定される。さらに、“出力カウンタ制御割り込み”という名前で示されている、ビット幅nのビット[3n−1:2n]に、出力カウンタ26a−1〜26a−nまたは出力カウンタ26b−1〜26b−nの制御による割り込みの情報が設定される。 In addition, interrupt information controlled by the input counters 23-1 to 23-n is set in bits [2n-1: n] having a bit width n indicated by the name "input counter control interrupt". Furthermore, the bits [3n-1: 2n] of the bit width n indicated by the name "output counter control interrupt" are assigned to the output counters 26a-1 to 26a-n or the output counters 26b-1 to 26b-n. Information on interrupts by control is set.
一方、クロック制御レジスタ21では、“DUTクロック許可”という名前で示されているビット[0]に、DUTクロックの発生をクロック発生部12に許可させるか否かを制御するクロック制御信号の値が格納される。
On the other hand, in the
図7は、入力レジスタの設定例を示す図である。
図7では、入力レジスタ22−1〜22−nにおいて、割り込みに関する設定が行われる領域が示されている。
FIG. 7 is a diagram illustrating a setting example of the input register.
FIG. 7 shows areas in which settings relating to interrupts are performed in the input registers 22-1 to 22-n.
“カウント値”という名前で示されている33ビットのビット[64:32]には、カウント割り込み制御の際に用いられるカウント値が設定される。
“reserved”という名前で示されている7ビットのビット[31:25]は、未使用領域とされている。
In the 33-bit bits [64:32] indicated by the name “count value”, a count value used in count interrupt control is set.
The 7-bit bits [31:25] indicated by the name “reserved” are an unused area.
“信号割り込み制御”という名前で示されている5ビットのビット[24:20]には、DUT11からの入力信号がどのような状態のときに、割り込み信号をアサートするかがが設定される。
The 5-bit bits [24:20] indicated by the name “signal interrupt control” set in what state the input signal from the
たとえば、ビット[24:20]に“0”が設定されている場合には、入力信号による割り込み信号はアサートされない。ビット[24:20]に“1”が設定されている場合には、入力信号が変化したときに、割り込み信号がアサートされる。ビット[24:20]に“2”が設定されている場合には、入力信号が0に変化したときに、割り込み信号がアサートされる。ビット[24:20]に“3”が設定されている場合には、入力信号が1に変化したときに、割り込み信号がアサートされる。ビット[24:20]に“4”が設定されている場合には、入力信号がある値Xに変化したときに、割り込み信号がアサートされる。ビット[24:20]に“5”が設定されている場合には、入力信号がある値Zに変化したときに、割り込み信号がアサートされる。 For example, when “0” is set in the bits [24:20], the interrupt signal by the input signal is not asserted. When bits [24:20] are set to “1”, an interrupt signal is asserted when the input signal changes. When bits [24:20] are set to “2”, the interrupt signal is asserted when the input signal changes to 0. When “3” is set in bits [24:20], the interrupt signal is asserted when the input signal changes to 1. When bits [24:20] are set to “4”, an interrupt signal is asserted when the input signal changes to a certain value X. When bits [24:20] are set to “5”, an interrupt signal is asserted when the input signal changes to a certain value Z.
また、たとえば、ビット[24:20]に“6”が設定されている場合には、入力信号が0のときに、割り込み信号がアサートされる。ビット[24:20]に“7”が設定されている場合には、入力信号が1のときに、割り込み信号がアサートされる。ビット[24:20]に“8”が設定されている場合には、入力信号がある値Xのときに、割り込み信号がアサートされる。ビット[24:20]に“9”が設定されている場合には、入力信号がある値Zのときに、割り込み信号がアサートされる。 For example, when “6” is set in the bits [24:20], the interrupt signal is asserted when the input signal is 0. When “7” is set in bits [24:20], when the input signal is 1, the interrupt signal is asserted. When bits [24:20] are set to “8”, the interrupt signal is asserted when the input signal has a certain value X. When bits [24:20] are set to “9”, an interrupt signal is asserted when the input signal is a certain value Z.
“カウンタリセット”という名前で示されているビット[19]には、入力カウンタ23−1〜23−nをリセットさせるか否かの情報が設定される。たとえば、ビット[19]に“1”が設定されている場合には、入力カウンタ23−1〜23−nのカウント値はリセットされ、0となる。 Information indicating whether or not to reset the input counters 23-1 to 23-n is set in the bit [19] indicated by the name "counter reset". For example, when “1” is set in the bit [19], the count values of the input counters 23-1 to 23-n are reset to 0.
“カウントスタート”という名前で示されているビット[18]には、入力カウンタ23−1〜23−nを動作させるか否かの情報が設定される。たとえば、ビット[18]に“1”が設定されている場合には、入力カウンタ23−1〜23−nによるカウントが行われる。所定のカウント値に達したときには、ビット[18]は、“0”に設定され、入力カウンタ23−1〜23−nによるカウントが停止する。 Information indicating whether or not to operate the input counters 23-1 to 23-n is set in the bit [18] indicated by the name "count start". For example, when “1” is set in the bit [18], counting by the input counters 23-1 to 23-n is performed. When the predetermined count value is reached, bit [18] is set to “0”, and counting by the input counters 23-1 to 23-n is stopped.
“カウント割り込み制御”という名前で示されているビット[17]には、ビット[64:32]に設定されているカウント値に達したとき、割り込み信号をアサートするカウント割り込み制御を行うか否かの情報が設定される。たとえば、ビット[17]に“1”が設定されている場合には、入力カウンタ23−1〜23−nで上記のカウント値に達したときに、割り込み信号がアサートとなる。 Whether or not to perform count interrupt control for asserting an interrupt signal when the count value set in bits [64:32] is reached is indicated in bit [17] indicated by the name “count interrupt control” Is set. For example, when “1” is set in the bit [17], the interrupt signal is asserted when the count value is reached by the input counters 23-1 to 23-n.
図8は、出力レジスタの設定例を示す図である。
“カウント値0”という名前で示されている16ビットのビット[64:48]には、1つ目のカウント値が設定される。
FIG. 8 is a diagram illustrating a setting example of the output register.
The first count value is set in the 16-bit bits [64:48] indicated by the name “
“カウント値1”という名前で示されている16ビットのビット[47:32]には、2つ目のカウント値が設定される。
“reserved”という名前で示されている9ビットのビット[31:23]は、未使用領域とされている。
A second count value is set in the 16-bit bits [47:32] indicated by the name “
The 9-bit bits [31:23] indicated by the name “reserved” are an unused area.
“カウンタ1リセット”という名前で示されているビット[22]には、出力カウンタ26b−1〜26b−nをリセットさせるか否かの情報が設定される。たとえば、ビット[22]に“1”が設定されている場合には、出力カウンタ26b−1〜26b−nのカウント値はリセットされ、0となる。カウント値がリセットされると、ビット[22]は“0”と設定される。
Information indicating whether or not to reset the output counters 26b-1 to 26b-n is set in the bit [22] indicated by the name "
“カウント1スタート”という名前で示されているビット[21]には、出力カウンタ26b−1〜26b−nを動作させるか否かの情報が設定される。たとえば、ビット[21]に“1”が設定されている場合には、出力カウンタ26b−1〜26b−nによるカウントが行われる。たとえば、ビット[47:32]のカウント値に達したときには、ビット[21]は、“0”に設定され、出力カウンタ26b−1〜26b−nによるカウントが停止する。
Information indicating whether or not to operate the output counters 26b-1 to 26b-n is set in the bit [21] indicated by the name "
“カウント1割り込み制御”という名前で示されているビット[20]には、出力カウンタ26b−1〜26b−nでビット[47:32]のカウント値に達したときに、割り込み信号をアサートするか否かの情報が設定される。たとえば、ビット[20]に“1”が設定されている場合には、出力カウンタ26b−1〜26b−nで上記のカウント値に達したときに、割り込み信号がアサートとなる。
The bit [20] indicated by the name “
“カウンタ0リセット”という名前で示されているビット[19]には、出力カウンタ26a−1〜26a−nをリセットさせるか否かの情報が設定される。たとえば、ビット[19]に“1”が設定されている場合には、出力カウンタ26a−1〜26a−nのカウント値はリセットされ、0となる。カウント値がリセットされると、ビット[19]は“0”と設定される。
Information indicating whether or not to reset the output counters 26a-1 to 26a-n is set in the bit [19] indicated by the name "
“カウント0スタート”という名前で示されているビット[18]には、出力カウンタ26a−1〜26a−nを動作させるか否かの情報が設定される。たとえば、ビット[18]に“1”が設定されている場合には、出力カウンタ26a−1〜26a−nによるカウントが行われる。たとえば、ビット[63:48]のカウント値に達したときには、ビット[18]は、“0”に設定され、出力カウンタ26a−1〜26a−nによるカウントが停止する。
Information indicating whether or not to operate the output counters 26a-1 to 26a-n is set in the bit [18] indicated by the name "
“カウント0割り込み制御”という名前で示されているビット[17]には、出力カウンタ26a−1〜26a−nでビット[63:48]のカウント値に達したときに、割り込みをアサートするか否かの情報が設定される。たとえば、ビット[17]に“1”が設定されている場合には、出力カウンタ26a−1〜26a−nで上記のカウント値に達したときに、割り込み信号がアサートとなる。
In bit [17] indicated by the name “
“信号制御”という名前で示されているビット[16]には、出力バッファ27−1〜27−nから、DUT11への出力タイミングを制御する情報が設定されている。たとえば、ビット[16]に“1”が設定されている場合には、出力カウンタ26a−1〜26a−nが、ビット[63:48]のカウント値に達するまで、出力バッファ27−1〜27−nからの出力が待機される。ビット[16]に“0”が設定されている場合には、常に、DUT11への出力信号が、出力バッファ27−1〜27−nから出力される。
In the bit [16] indicated by the name “signal control”, information for controlling the output timing from the output buffers 27-1 to 27-n to the
“制御値_4bitパターン”という名前で示されているビット[15:12]には、以下に説明する制御値が、ある値のときに、DUT11に出力される4ビットのパターンが設定されている。
In bits [15:12] indicated by the name “control value — 4 bit pattern”, a 4-bit pattern output to the
“制御値”という名前で示されているビット[11:8]には、たとえば、上記のビット[16]が“1”のとき、出力カウンタ26a−1〜26a−nが、ビット[63:48]のカウント値に達するまでの間に、制御値として出力される値が設定されている。たとえば、ビット[11:8]に“0”が設定されている場合には“0”が出力され、“1”が設定されている場合には“1”、“2”が設定されている場合には値X、“3”が設定される場合には別の値Zが、それぞれ出力される。たとえば、ビット[11:8]に“4”が設定されている場合には、上記のビット[15:12]の4ビットのパターンが出力される。制御値の適用例については後述する。 In bits [11: 8] indicated by the name “control value”, for example, when the above bit [16] is “1”, the output counters 26a-1 to 26a-n have bits [63: 48], a value to be output as a control value is set. For example, when “0” is set in bits [11: 8], “0” is output, and when “1” is set, “1” and “2” are set. In this case, the value X is output. When “3” is set, another value Z is output. For example, when “4” is set in bits [11: 8], a 4-bit pattern of the above bits [15:12] is output. An application example of the control value will be described later.
次に、外部モデル13の記憶部132に格納されるプログラムPの例を説明する。
図9は、プログラムの一例を示す図である。
プログラムPは、たとえば、機能層30とレジスタ制御層31を有する。
Next, an example of the program P stored in the
FIG. 9 is a diagram illustrating an example of a program.
The program P includes, for example, a
機能層30は、外部モデル13としての機能を実現するためのプログラムを有する。機能層30のプログラムにより、DUT11からの入力信号の解析や、DUT11への応答情報などの作成が行われる。
The
レジスタ制御層31は、信号入出力制御部131がインターフェイス信号を認識できるように、入力レジスタ22−1〜22−n、出力レジスタ25−1〜25−nの書き換えを行う機能を実現するためのプログラムを有する。レジスタ制御層31の内容をもとに、疑似プロセッサ133は、図7、図8に示したような入力レジスタ22−1〜22−n、出力レジスタ25−1〜25−nの各ビットの設定値を書き換える。これにより、様々なインターフェイスに対応する汎用的な外部モデル13が実現される。
The
機能層30とレジスタ制御層31のプログラムは、外部モデル13が実現するインターフェイスの種類や、機能、抽象度などに応じて、たとえば、データベース40内に格納されている。データベース40は、たとえば、外部モデル13内の記憶部132、試験装置10内の図示しないメモリ、または、試験装置10に有線または無線で接続されるコンピュータ内に構築される。
The programs of the
図9の例では、データベース40は、機能層30のプログラムとして、インターフェイス1用の機能プログラムA,Bと、インターフェイス2用の機能プログラムを有している。また、データベース40は、レジスタ制御層31のプログラムとし、インターフェイス1用のレジスタ制御プログラムと、インターフェイス2用のレジスタ制御プログラムA,Bを有している。
In the example of FIG. 9, the
たとえば、インターフェイス1は、SDカード用のインターフェイスであり、インターフェイス2は、SDRAM用のインターフェイスである。インターフェイス1用として2つの機能プログラムA,Bが図示されているが、機能プログラムAは、たとえば、SDカード用のインターフェイスの基本機能、機能プログラムBは、たとえば、エラー発生機能を実行するプログラムである。
For example, the
また、インターフェイス2用として2つのレジスタ制御プログラムA,Bが図示されているが、たとえば、レジスタ制御プログラムAは抽象度が高く、レジスタ制御プログラムBは抽象度が低いものである。
Further, two register control programs A and B are shown for the
疑似プロセッサ133の制御のもと、機能層30とレジスタ制御層31で用いる機能プログラムやレジスタ制御プログラムをデータベース40から抽出して、プログラムPを書き換えることで、簡単に機能やインターフェイスの切り換えを行うことができる。
Under the control of the
図10は、レジスタ制御プログラムに含まれる割り込み関数の例である。
図10では、“Interrput_RI1()”という割り込み関数の例が示されている。また、図10では、割り込みレジスタ20は“interrput_reg”と表記され、入力バッファ24−1〜24−nのうちの1つが“S_IN_0バッファ”、または“SIN0”と表記されている。また、出力バッファ27−1〜27−nのうちの1つが“S_OUT_0バッファ”と表記され、出力レジスタ25−1〜25−nのうちの1つが“S_OUT_5レジスタ”と表記されている。なお、read()は、データの読み出しを行って、データを返す関数であり、write()は、データの書き込みを行う関数である。
FIG. 10 is an example of an interrupt function included in the register control program.
FIG. 10 shows an example of an interrupt function “Interrupt_RI1 ()”. In FIG. 10, the interrupt
この割り込み関数“Interrput_RI1()”は、割り込みレジスタ20の値が“0x00000001”の場合に、ある入力バッファをリードし、その内容に応じて、ある出力バッファと出力レジスタに対して書き込みを行う処理を行う関数である。
This interrupt function “Interrupt_RI1 ()” reads a certain input buffer when the value of the interrupt
以下、試験装置10による試験時の動作を、より詳細に説明する。
まず、外部モデル13において、疑似プロセッサ133は、たとえば、プログラムPに記述されたスタートアップルーチンを実行して、信号入出力制御部131の初期化を行う。この初期化の際に、前述した図2のステップS2の信号入出力制御部131の設定処理が行われる。
Hereinafter, the operation during the test by the
First, in the
図11は、初期化動作の一例の処理の流れを示すフローチャートである。
まず、疑似プロセッサ133は、信号入出力制御部131の各レジスタの値を0にリセットする(ステップS10)。そして、疑似プロセッサ133は、プログラムPに応じて、入力レジスタ22−1〜22−nと、出力レジスタ25−1〜25−nの設定を行う(ステップS11)。
FIG. 11 is a flowchart illustrating a flow of an example of the initialization operation.
First, the
また、疑似プロセッサ133は、出力バッファ27−1〜27−nの初期化を行い(ステップS12)、割り込みマスクレジスタ28の設定を行う(ステップS13)。割り込みマスクレジスタ28の設定では、どの割り込み要因を有効または無効にするかが設定される。
The
その後、疑似プロセッサ133は、クロック制御レジスタ21を設定し、DUTクロックの発生を許可する(ステップS14)。これにより、クロック発生部12はDUT11に対してDUTクロックを出力し、DUT11の動作が開始し(ステップS15)、初期化動作は終了する。
Thereafter, the
なお、図11のステップS11〜S14の処理は、適宜順番を変更可能である。
図12は、DUTの1クロックサイクルごとにおける外部モデルの処理の一例を示すフローチャートである。
Note that the order of steps S11 to S14 in FIG. 11 can be changed as appropriate.
FIG. 12 is a flowchart illustrating an example of processing of the external model in each clock cycle of the DUT.
DUT11の1クロックサイクルの処理が終了すると、信号入出力制御部131は、入力レジスタ22−1〜22−n及び出力レジスタ25−1〜25−nを参照する(ステップS20)。そして、信号入出力制御部131は、インターフェイス信号などを参照し、外部モデル13の動作要因となる割り込み要因が発生しているか否かを判定する(ステップS21)。
When the processing of one clock cycle of the
たとえば、あるインターフェイス信号に関する設定値が格納された入力レジスタ22−1において、図7で示したようなビット[24:20]において、前述の例のように入力信号が0に変化すると割り込みをアサートする“2”が設定されているとする。その場合、信号入出力制御部131は、DUT11の1クロックサイクルの処理により、インターフェイス信号が0に変化すると割り込み要因が発生したと判定する。
For example, in the input register 22-1 in which a setting value related to a certain interface signal is stored, an interrupt is asserted when the input signal changes to 0 as shown in the above example in bits [24:20] as shown in FIG. Assume that “2” is set. In this case, the signal input /
信号入出力制御部131によって割り込み要因が発生していないと判定された場合には、DUT11において次のクロックサイクルの処理が行われる。
信号入出力制御部131は、割り込み要因が発生したと判定した場合、割り込み信号をアサートする(ステップS22)。このとき、信号入出力制御部131は、割り込みレジスタ20に、どのインターフェイス信号による割り込みが発生したかを示す情報を設定する。たとえば、図6(A)に示したような割り込みレジスタ20において、ビット[n−1:0]において、割り込み要因となったインターフェイス信号に対応するビットの値を“1”とする。
When the signal input /
When determining that an interrupt factor has occurred, the signal input /
そして、信号入出力制御部131は、たとえば、クロック制御レジスタ21に“0”を設定し、クロック発生部12にDUTクロックの発生を停止させる(ステップS23)。
疑似プロセッサ133は、割り込みレジスタ20を参照して割り込みの種類を特定する(ステップS24)。そして、疑似プロセッサ133は、プログラムPの機能層30のプログラムに応じたプログラム処理を行う(ステップS25)。プログラム処理が終了すると、疑似プロセッサ133は、クロック制御レジスタ21に“1”を設定し、クロック発生部12にDUTクロックの発生を再開させる(ステップS26)。これにより、DUT11は次のクロックサイクルの処理を行う。
Then, for example, the signal input /
The
図13は、プログラム処理の一例を示すフローチャートである。
疑似プロセッサ133は、プログラム処理を行っている際、プログラムPの内容をもとに、入力情報を用いる処理か否か判断する(ステップS30)。入力情報を用いる処理の場合には、疑似プロセッサ133は、DUT11からの入力情報を、入力バッファ24−1〜24−nから読み込む(ステップS31)。
FIG. 13 is a flowchart illustrating an example of a program process.
The
入力情報を用いない場合、またはステップS31の処理の後、疑似プロセッサ133は、入力レジスタ22−1〜22−nの設定を行うか否か判断する(ステップS32)。たとえば、プログラムP中に、入力信号による割り込みを無効または一定期間無効にする命令が含まれる場合、疑似プロセッサ133は、入力レジスタ22−1〜22−nにその旨を設定する(ステップS33)。
When the input information is not used or after the process of step S31, the
たとえば、疑似プロセッサ133は、図7に示した入力レジスタ22−1〜22−nの設定例において、ビット[24:20]の領域に“0”を設定することで、入力信号による割り込みの発生を無効にする。これにより、実行中のプログラム処理が割り込みで中断されることが抑制される。
For example, the
入力レジスタ22−1〜22−nの設定を行わない場合、またはステップS33の処理の後、疑似プロセッサ133は、出力レジスタ25−1〜25−nの設定を行うか否か判断する(ステップS34)。たとえば、プログラムP中に、DUT11への出力タイミングを制御する旨の命令が含まれる場合、疑似プロセッサ133は、出力レジスタ25−1〜25−nにその旨を設定する(ステップS35)。
When the input registers 22-1 to 22-n are not set, or after the process of step S33, the
たとえば、疑似プロセッサ133は、図8に示した出力レジスタ25−1〜25−nの設定例において、ビット[16]の領域に“1”を設定することで、あるカウント値に達するまで、出力バッファ27−1〜27−nからの出力を待機させることができる。
For example, in the setting example of the output registers 25-1 to 25-n illustrated in FIG. 8, the
出力レジスタ25−1〜25−nの設定を行わない場合、またはステップS35の処理の後、疑似プロセッサ133は、出力バッファ27−1〜27−nへの書き込みを行うか否か判断する(ステップS36)。たとえば、プログラム処理での解析の結果や、DUT11への応答情報などをDUT11側へ出力するような命令が実行されると、それらの情報が出力バッファ27−1〜27−nへ書き込まれる(ステップS37)。
When the output registers 25-1 to 25-n are not set or after the process of step S35, the
出力バッファ27−1〜27−nへの書き込みを行わない場合、またはステップS37の処理の後、疑似プロセッサ133は、プログラム処理が終了したか否か判断する(ステップS38)。
When writing to the output buffers 27-1 to 27-n is not performed, or after the process of step S37, the
疑似プロセッサ133は、プログラム処理が終了した場合には、前述したステップS26の処理を行い、DUTクロックの発生を再開させる。プログラム処理が終了していない場合には、ステップS30からの処理が繰り返される。
When the program processing is completed, the
なお、図13のステップS30〜S37の処理は、適宜順番を変更可能である。
以上、図11〜図13に示したような制御により、外部モデル13に、DUT11がアクセスする装置としての機能を模擬させることができるようになる。
Note that the order of steps S30 to S37 in FIG. 13 can be changed as appropriate.
As described above, the control as shown in FIGS. 11 to 13 allows the
次に、外部モデルをSDカード用のインターフェイスとして適用した例を説明する。
図14は、外部モデルをSDカード用のインターフェイスに適用した場合の、DUTとの接続例を示す図である。
Next, an example in which an external model is applied as an interface for an SD card will be described.
FIG. 14 is a diagram illustrating an example of connection with a DUT when an external model is applied to an interface for an SD card.
図14では、図5に示した要素と同様の要素については同一符号を付している。信号入出力制御部131は、入力バッファ24−1〜24−5、出力バッファ27−1〜27−7、入力レジスタ22−1〜22−5、出力レジスタ25−1〜25−7を有している。信号入出力制御部131において、図5で示されているその他の要素については図示を省略している。
In FIG. 14, the same elements as those shown in FIG. The signal input /
外部モデルがSDカード用のインターフェイスを模擬する場合、信号線が入出力で同一となる。そのため、図14の例では、DUT11からの入力がある場合には、DUT11への出力が行われないように制御する複数のトライステートバッファ(以下単にバッファという)51,52,53,54,55を有するバッファ部50が設けられている。このバッファ部50は、外部モデルとして、たとえば、ハードウェア記述言語により記述される。
When the external model simulates an interface for an SD card, the signal lines are the same for input and output. Therefore, in the example of FIG. 14, when there is an input from the
バッファ部50において、バッファ51は、DUT11からの命令などが伝達される信号線CMDと、出力バッファ27−1との間に設けられている。バッファ52〜55は、データなどが伝達される信号線DAT[0],DAT[1],DAT[2],DAT[3]と、出力バッファ27−2〜27−5との間に設けられている。
In the
また、バッファ51には、出力バッファ27−7からの制御値が入力され、バッファ52〜55には、出力バッファ27−6からの制御値が入力され、信号入出力制御部131からの情報を出力するか否かが制御される。
Further, the control value from the output buffer 27-7 is input to the
図15は、外部モデルをSDカード用のインターフェイスとした際の試験装置の動作例を示す図である。
図15中で、DUT11、信号入出力制御部131、疑似プロセッサ133に接続されている直線上のブロックは、各部での処理を示している。
FIG. 15 is a diagram illustrating an operation example of the test apparatus when the external model is an interface for an SD card.
In FIG. 15, blocks on a straight line connected to the
まず、疑似プロセッサ133は、信号入出力制御部131に対して、図11に示したような初期設定を行う(タイミングT10)。初期設定が終わると、信号入出力制御部131は、DUT11へ供給されるDUTクロックを開始させる(タイミングT11)。DUT11からの命令の発行が開始されると(タイミングT12)、信号入出力制御部131は、割り込み要因が検出されたと判定し、割り込み信号をアサートする(タイミングT13)。また、信号入出力制御部131は、DUTクロックを停止させる(タイミングT14)。疑似プロセッサ133は、割り込み命令を受ける(つまり割り込み信号のアサートを検出する)と、割り込みレジスタ20を確認し、割り込みの種類を特定する(タイミングT15)。その後、疑似プロセッサ133は、入力レジスタ22−1に対し、たとえば、図5に示した入力カウンタ23−1で48カウント後に、割り込み信号をアサートするように設定を行う(タイミングT16)。疑似プロセッサ133は、プログラム処理が終わると、クロック制御レジスタ21を設定して、DUTクロックの開始を許可する(タイミングT17)。これにより、信号入出力制御部131は、DUTクロックを再開させる(タイミングT18)。
First, the
DUT11は、DUTクロックに同期して、たとえば、48ビットの命令を1ビットずつ発行し(タイミングT19)、信号入出力制御部131の入力バッファ24−1に入力していく。48ビット目の命令の発行が終わり(タイミングT20)、入力カウンタ23−1による48カウントが終了すると、信号入出力制御部131は、割り込み信号をアサートする(タイミングT21)。また、信号入出力制御部131は、DUTクロックを停止させる(タイミングT22)。疑似プロセッサ133は、割り込み命令を受けると、割り込みレジスタ20を確認し、割り込みの種類を特定する(タイミングT23)。
The
そして、疑似プロセッサ133は、入力バッファ24−1に保持された命令を読み出す(タイミングT24)。疑似プロセッサ133は、プログラム処理により、読み出した命令を解析して応答情報を作成し、出力バッファ27−1に設定する(タイミングT25)。また、疑似プロセッサ133は、たとえば、4クロックサイクル(4カウント)後に、出力バッファ27−1内のデータ(応答情報)を出力させるように、出力レジスタ25−1に対して設定を行う(タイミングT26)。
Then, the
また、疑似プロセッサ133は、出力レジスタ25−1の設定に応じて、バッファ51が信号入出力制御部131からの信号をDUT11に出力するように制御させるための制御値を、出力バッファ27−7に設定する(タイミングT27)。さらに、疑似プロセッサ133は、出力レジスタ25−7に対して、2クロックサイクル(2カウント)後に、出力バッファ27−7の制御値を、バッファ51に供給させるように設定を行う(タイミングT28)。
Further, the
その後、疑似プロセッサ133は、クロック制御レジスタ21を設定して、DUTクロックの開始を許可する(タイミングT29)。これにより、信号入出力制御部131は、DUTクロックを再開させる(タイミングT30)。そして、信号入出力制御部131は、出力バッファ27−1に保持された応答情報を、バッファ51を介して、DUT11に出力する(タイミングT31)。
Thereafter, the
以上のように、図14に示すような信号入出力制御部131を有する外部モデルは、SDカードのインターフェイスとして、適切に機能することができ、出力タイミングの調整なども、プログラムPを変更して、各レジスタの設定値を調整することで、容易にできる。
As described above, the external model having the signal input /
ところで、上記の説明では、プログラムPにより、信号入出力制御部131の設定を行い、ある1つのインターフェイスの機能を実現させるようにしたが、これに限定されず、以下のようにして、複数のインターフェイスの機能を実現させるようにしてもよい。
In the above description, the signal input /
図16は、複数のインターフェイス機能に対応した外部モデルの一例を示す図である。
図1と同様の要素については同一符号を付している。
図16の試験装置10aにおいて、外部モデル13aの記憶部132aは、2つのプログラムP1,P2を有している。また、信号入出力制御部131aは、IF1用設定部61、IF2用設定部62を有している。
FIG. 16 is a diagram illustrating an example of an external model corresponding to a plurality of interface functions.
Elements similar to those in FIG. 1 are denoted by the same reference numerals.
In the
IF1用設定部61、IF2用設定部62は、それぞれ、図5に示したような信号入出力制御部131の各要素を含んでいる。プログラムP1は、IF1用設定部61に対して、インターフェイス1(たとえば、SDカード用のインターフェイス)の機能を指定するためのプログラムである。また、プログラムP2は、IF2用設定部62に対して、インターフェイス2(たとえば、SDRAM用のインターフェイス)の機能を指定するためのプログラムである。
Each of the
疑似プロセッサ133は、プログラムP1,P2に基づいて、それぞれIF1用設定部61、IF2用設定部62の入力レジスタ22−1〜22−nや出力レジスタ25−1〜25−nを設定する。これにより、同時に複数のインターフェイスに対応できるようになり、DUT11がもつ複数のインターフェイスと接続できる。
The
なお、図1、図16の試験装置10、10aでは、外部モデル13,13aの数を1つとしたが、複数設けてもよい。
また、外部モデル内に疑似プロセッサや記憶部を複数設け、同時に複数のプログラムを動作させることで、同時に複数のインターフェイスに対応できるようにしてもよい。
1 and FIG. 16, the number of the
Alternatively, a plurality of pseudo processors and storage units may be provided in the external model, and a plurality of programs may be operated simultaneously so that a plurality of interfaces can be supported at the same time.
なお、以上説明してきた試験装置10,10aの処理は、コンピュータにより実現できる。
図17は、コンピュータのハードウェアの一例を示す図である。
Note that the processing of the
FIG. 17 is a diagram illustrating an example of computer hardware.
コンピュータ100は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
RAM102は、コンピュータ100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に用いる各種データが格納される。
The
The
バス108に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インターフェイス105、光学ドライブ装置106、及び通信インターフェイス107がある。
Peripheral devices connected to the
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD103は、コンピュータ100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
The
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
A
入力インターフェイス105には、キーボード105aとマウス105bとが接続されている。入力インターフェイス105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A
光学ドライブ装置106は、レーザ光などを利用して、光ディスク106aに記録されたデータの読み取りを行う。光ディスク106aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク106aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
通信インターフェイス107は、ネットワーク107aに接続されている。通信インターフェイス107は、ネットワーク107aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
このように、試験装置10,10aの処理機能は、コンピュータによって実現することができる。その場合、試験装置10,10aが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
With the hardware configuration as described above, the processing functions of the present embodiment can be realized.
Thus, the processing functions of the
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing the program, for example, portable recording media such as a DVD and a CD-ROM in which the program is recorded are sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。 The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。 In addition, at least a part of the above processing functions can be realized by an electronic circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device).
以上、実施の形態に基づき、本発明の試験装置、検証モデル開発方法及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。 As described above, one aspect of the test apparatus, the verification model development method, and the program of the present invention has been described based on the embodiment. However, these are merely examples, and the present invention is not limited to the above description.
10 試験装置
11 被試験対象モデル
12 クロック発生部
13 疑似モデル(外部モデル)
131 信号入出力制御部
132 記憶部
133 疑似プロセッサ
134 バス
P プログラム
DESCRIPTION OF
131 Signal Input /
Claims (9)
前記疑似モデルは、
前記被試験対象モデルとの間で信号の入出力を行う信号入出力制御部と、
前記信号入出力制御部が実行するインターフェイスの機能を指定するプログラムを格納した記憶部と、
前記プログラムに応じて、前記信号入出力制御部の設定を行う疑似プロセッサと、
を備えることを特徴とする試験装置。 It has a pseudo model that simulates the operation of the device accessed by the model under test,
The pseudo model is
A signal input / output control unit for inputting / outputting signals to / from the model to be tested;
A storage unit storing a program for specifying a function of an interface executed by the signal input / output control unit;
A pseudo processor for setting the signal input / output control unit according to the program;
A test apparatus comprising:
前記信号入出力制御部は、各インターフェイスの機能を設定する複数の設定部を有し、
前記疑似プロセッサは、前記複数のプログラムに応じて、前記複数の設定部に対して前記各インターフェイスの機能を設定することを特徴とする請求項1乃至5の何れか一項に記載の試験装置。 The storage unit has a plurality of programs that specify different interface functions,
The signal input / output control unit has a plurality of setting units for setting the function of each interface,
The test apparatus according to claim 1, wherein the pseudo processor sets a function of each interface for the plurality of setting units according to the plurality of programs.
前記疑似プロセッサが、前記プログラムに応じて前記信号入出力制御部の設定を行うことを特徴とする検証モデル開発方法。 A computer has a signal input / output control unit for inputting / outputting signals to / from the model under test, a storage unit storing a program for specifying an interface function executed by the signal input / output control unit, and a pseudo processor Generating a pseudo model that simulates the operation of the device accessed by the model under test;
The verification model development method, wherein the pseudo processor sets the signal input / output control unit according to the program.
被試験対象モデルとの間で信号の入出力を行う信号入出力制御部、
前記信号入出力制御部が実行するインターフェイスの機能を指定するプログラムを格納した記憶部、
前記プログラムに応じて、前記信号入出力制御部の設定を行う疑似プロセッサ、
を有し、前記被試験対象モデルがアクセスする装置の動作を模擬する疑似モデルとして機能させることを特徴とするプログラム。 Computer
A signal input / output controller that inputs and outputs signals to and from the model under test;
A storage unit storing a program for designating an interface function executed by the signal input / output control unit;
A pseudo processor for setting the signal input / output control unit according to the program;
And having a function as a pseudo model for simulating the operation of the device accessed by the model under test.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011095153A JP5664430B2 (en) | 2011-04-21 | 2011-04-21 | Test apparatus, verification model development method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011095153A JP5664430B2 (en) | 2011-04-21 | 2011-04-21 | Test apparatus, verification model development method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012226658A true JP2012226658A (en) | 2012-11-15 |
JP5664430B2 JP5664430B2 (en) | 2015-02-04 |
Family
ID=47276729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011095153A Expired - Fee Related JP5664430B2 (en) | 2011-04-21 | 2011-04-21 | Test apparatus, verification model development method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5664430B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138888A (en) * | 2021-04-30 | 2021-07-20 | 北京市商汤科技开发有限公司 | Function detection method and device, electronic equipment and storage medium |
CN116908751A (en) * | 2023-09-13 | 2023-10-20 | 合肥安迅精密技术有限公司 | Test board for detecting peripheral interfaces of industrial system, detection system and method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002041321A (en) * | 2000-07-24 | 2002-02-08 | Mitsubishi Electric Corp | Verification system and emulation board |
JP2005301743A (en) * | 2004-04-13 | 2005-10-27 | Oki Electric Ind Co Ltd | Testing method for testing device having master connected to a plurality of slaves through bus |
WO2007074658A1 (en) * | 2005-12-27 | 2007-07-05 | Nec Corporation | Logic circuit verification system and method for controlling same |
-
2011
- 2011-04-21 JP JP2011095153A patent/JP5664430B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002041321A (en) * | 2000-07-24 | 2002-02-08 | Mitsubishi Electric Corp | Verification system and emulation board |
JP2005301743A (en) * | 2004-04-13 | 2005-10-27 | Oki Electric Ind Co Ltd | Testing method for testing device having master connected to a plurality of slaves through bus |
WO2007074658A1 (en) * | 2005-12-27 | 2007-07-05 | Nec Corporation | Logic circuit verification system and method for controlling same |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138888A (en) * | 2021-04-30 | 2021-07-20 | 北京市商汤科技开发有限公司 | Function detection method and device, electronic equipment and storage medium |
CN116908751A (en) * | 2023-09-13 | 2023-10-20 | 合肥安迅精密技术有限公司 | Test board for detecting peripheral interfaces of industrial system, detection system and method |
CN116908751B (en) * | 2023-09-13 | 2024-04-19 | 合肥安迅精密技术有限公司 | Test board for detecting peripheral interfaces of industrial system, detection system and method |
Also Published As
Publication number | Publication date |
---|---|
JP5664430B2 (en) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102222420B1 (en) | Integrated controller for training memory physical layer interface | |
US20110078350A1 (en) | Method for generating multiple serial bus chip selects using single chip select signal and modulation of clock signal frequency | |
US20020183956A1 (en) | Testing compliance of a device with a bus protocol | |
JP2017523489A (en) | Memory physical layer interface logic to generate dynamic random access memory (DRAM) commands with programmable delay | |
CN115146568B (en) | Chip verification system and verification method based on UVM | |
US8036874B2 (en) | Software executing device and co-operation method | |
US20130024178A1 (en) | Playback methodology for verification components | |
US10496422B2 (en) | Serial device emulator using two memory levels with dynamic and configurable response | |
US20050144436A1 (en) | Multitasking system level platform for HW/SW co-verification | |
JP5664430B2 (en) | Test apparatus, verification model development method and program | |
US10430215B1 (en) | Method and system to transfer data between hardware emulator and host workstation | |
JP4187470B2 (en) | Semiconductor device development support cooperation device and development support method | |
CN112434478B (en) | Method for simulating virtual interface of logic system design and related equipment | |
US7228513B2 (en) | Circuit operation verification device and method | |
US7865345B2 (en) | Simulation apparatus and method | |
Lakis et al. | An SDRAM controller for real-time systems | |
CN116306392A (en) | Chip simulation device, method, electronic device and storage medium | |
US20050071145A1 (en) | Simulation apparatus, simulation program, and recording medium | |
US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
US9898563B2 (en) | Modeling memory in emulation based on cache | |
JP4631493B2 (en) | Simulation device | |
US9547568B2 (en) | Method and apparatus for verifying circuit design | |
JP5789832B2 (en) | Integrated circuit device, verification device, and verification method | |
US9075639B1 (en) | Systems and methods for handling interrupts during software design simulation | |
JP2011238137A (en) | Performance estimation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131226 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141017 |
|
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: 20141111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5664430 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |