JP2012226658A - Test device, verification model development method, and program - Google Patents

Test device, verification model development method, and program Download PDF

Info

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
Application number
JP2011095153A
Other languages
Japanese (ja)
Other versions
JP5664430B2 (en
Inventor
Takeshi Fukuhara
剛史 福原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2011095153A priority Critical patent/JP5664430B2/en
Publication of JP2012226658A publication Critical patent/JP2012226658A/en
Application granted granted Critical
Publication of JP5664430B2 publication Critical patent/JP5664430B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To easily construct a verification environment corresponding to each of various interfaces in a short period.SOLUTION: A test device includes a signal input/output control part 131 for inputting/outputting a signal between the test device and a test object model 11, a storage part 132 for storing a program P which specifies a function of an interface to be executed by the signal input/output control part 131 and a pseudo processor 133 for setting the signal input/output control part 131 according to the program P. A pseudo model 13 which simulates an operation of a device accessed by the test object model 11 is provided.

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.

特開2010−231607号公報JP 2010-231607 A 特開2002−41321号公報JP 2002-41321 A 特開2005−18485号公報JP 2005-18485 A

しかし、従来の手法では、外部モデルを含む検証環境の構築に時間がかかるという問題があった。
たとえば、ハードウェア記述言語は記述量が多く、外部モデルの作成や修正などに時間がかかる。アクセラレーションを用いる場合は、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.

試験装置の一例を示す図である。It is a figure which shows an example of a test apparatus. 外部モデルを用いた検証モデルの開発方法の一例を示す図である。It is a figure which shows an example of the development method of the verification model using an external model. 試験装置の試験時の動作の一例を示すタイミングチャートである。It is a timing chart which shows an example of the operation | movement at the time of the test of a test apparatus. DUTクロックの制御の一例を示す図である。It is a figure which shows an example of control of a DUT clock. 信号入出力制御部の一例を示す図である。It is a figure which shows an example of a signal input / output control part. 割り込みレジスタとクロック制御レジスタの設定例を示す図である。It is a figure which shows the example of a setting of an interrupt register and a clock control register. 入力レジスタの設定例を示す図である。It is a figure which shows the example of a setting of an input register. 出力レジスタの設定例を示す図である。It is a figure which shows the example of a setting of an output register. プログラムの一例を示す図である。It is a figure which shows an example of a program. レジスタ制御プログラムに含まれる割り込み関数の例である。It is an example of an interrupt function included in a register control program. 初期化動作の一例の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of an example of initialization operation | movement. DUTの1クロックサイクルごとにおける外部モデルの処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the external model in every clock cycle of DUT. プログラム処理の一例を示すフローチャートである。It is a flowchart which shows an example of a program process. 外部モデルをSDカード用のインターフェイスに適用した場合の、DUTとの接続例を示す図である。It is a figure which shows the example of a connection with DUT at the time of applying an external model to the interface for SD cards. 外部モデルをSDカード用のインターフェイスとした際の試験装置の動作例を示す図である。It is a figure which shows the operation example of the test apparatus when an external model is used as the interface for SD cards. 複数のインターフェイス機能に対応した外部モデルの一例を示す図である。It is a figure which shows an example of the external model corresponding to a some interface function. コンピュータのハードウェアの一例を示す図である。It is a figure which shows an example of the hardware of a computer.

以下、本発明の実施の形態を、図面を参照しつつ説明する。
図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 test apparatus 10 is a computer such as an emulator, for example, and includes a model to be tested (hereinafter abbreviated as DUT) 11, a clock generator 12, and a pseudo model (hereinafter referred to as an external model) 13. The DUT 11 is data (for example, a net list) of a semiconductor integrated circuit such as a designed SoC, and is mapped to a logic development board having rewritable logic elements of the test apparatus 10.

クロック発生部12は、DUT11に対して供給するクロック信号を発生する。
外部モデル13は、信号入出力制御部131、記憶部132、疑似プロセッサ133、バス134を有する。これらは、たとえば、VerilogやVHDLなどの、論理合成可能なハードウェア記述言語で記述されている。
The clock generator 12 generates a clock signal to be supplied to the DUT 11.
The external model 13 includes a signal input / output control unit 131, a storage unit 132, a pseudo processor 133, and a bus 134. These are described in a hardware description language capable of logical synthesis, such as Verilog or VHDL.

信号入出力制御部131は、DUT11との間で信号(インターフェイス信号)の入出力を行う。詳細は後述するが、信号入出力制御部131は、メモリ、レジスタ、バッファ、カウンタ、制御部などを有している。また、信号入出力制御部131は、クロック発生部12に対して、クロック制御信号を出力する機能や、疑似プロセッサ133に対して割り込み命令を出力する機能を有している。   The signal input / output control unit 131 inputs and outputs signals (interface signals) with the DUT 11. As will be described in detail later, the signal input / output control unit 131 includes a memory, a register, a buffer, a counter, a control unit, and the like. The signal input / output control unit 131 has a function of outputting a clock control signal to the clock generation unit 12 and a function of outputting an interrupt instruction to the pseudo processor 133.

記憶部132は、信号入出力制御部131が実行するインターフェイスの機能を指定するプログラムPを格納している。プログラムPは、たとえば、C言語など抽象度の高いプログラミング言語により記述されている。プログラムPには、信号入出力制御部131のレジスタなどに設定する値や、疑似プロセッサ133が行うプログラム処理などが記述されている。プログラムPは、コンパイルされ、記憶部132に格納されている。   The storage unit 132 stores a program P that specifies the function of the interface executed by the signal input / output control unit 131. The program P is described in a programming language with a high level of abstraction such as C language. The program P describes values to be set in the register of the signal input / output control unit 131, program processing performed by the pseudo processor 133, and the like. The program P is compiled and stored in the storage unit 132.

疑似プロセッサ133は、記憶部132に格納されているプログラムPに応じて、信号入出力制御部131の設定を行う。また、疑似プロセッサ133は、信号入出力制御部131の設定後、信号入出力制御部131から割り込み命令を受けると、割り込み処理として、プログラムPに記述されたプログラム処理を行う。疑似プロセッサ133は、たとえば、CPU(Central Processing Unit)を模擬したモデルである。   The pseudo processor 133 sets the signal input / output control unit 131 according to the program P stored in the storage unit 132. When the pseudo processor 133 receives an interrupt command from the signal input / output control unit 131 after setting the signal input / output control unit 131, the pseudo processor 133 performs the program processing described in the program P as the interrupt processing. The pseudo processor 133 is, for example, a model that simulates a CPU (Central Processing Unit).

バス134は、信号入出力制御部131、記憶部132及び疑似プロセッサ133間の信号を伝達する。
図2は、外部モデルを用いた検証モデルの開発方法の一例を示す図である。
The bus 134 transmits signals between the signal input / output control unit 131, the storage unit 132, and the pseudo processor 133.
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 test apparatus 10 generates an external model 13 as shown in FIG. 1 (step S1).
For example, the test apparatus 10 inputs a setting file including information on the signal input / output control unit 131 edited by the designer according to the interface used (step S1a). In the setting file, the number of interface signal lines and the circuit quantity such as the number and capacity of buffers or registers are specified. For example, when a plurality of interfaces are assumed, the number of buffers or registers to be used is designated in accordance with the maximum number of interface signal lines. In addition, the capacity of the buffer or register is specified according to the amount of data to be acquired or the amount of set values.

これにより、生成される外部モデル13において無駄な回路の生成を抑えることができる。
試験装置10は、モジュールなどを生成する生成ツール(たとえば、perlなどで作成されたもの)を実行して、外部モデル13を生成する(ステップS1b)。
Thereby, it is possible to suppress generation of useless circuits in the generated external model 13.
The test apparatus 10 executes a generation tool that generates a module or the like (for example, one created with perl or the like), and generates the external model 13 (step S1b).

なお、外部モデル13を、試験装置10とは別のコンピュータを用いて生成するようにしてもよい。その場合、試験装置10は、生成された外部モデル13を、たとえば、ネットワークなどを経由して取り込む。   The external model 13 may be generated using a computer different from the test apparatus 10. In that case, the test apparatus 10 captures the generated external model 13 via, for example, a network.

その後、疑似プロセッサ133は、記憶部132に記憶されているプログラムPに応じて、信号入出力制御部131の設定を行う(ステップS2)。これにより、DUT11がアクセスする装置の動作を模擬する外部モデル13を有した検証モデルが生成される。   Thereafter, the pseudo processor 133 sets the signal input / output control unit 131 according to the program P stored in the storage unit 132 (step S2). As a result, a verification model having the external model 13 that simulates the operation of the device accessed by the DUT 11 is generated.

このような試験装置10及び検証モデルの開発方法によれば、DUT11がアクセスする装置の動作を模擬する外部モデル13の信号入出力制御部131の機能を、プログラムPに応じて疑似プロセッサ133が設定する。これにより、種々の外部モデルそれぞれをハードウェア記述言語で開発する場合よりも工数を削減でき、様々なインターフェイスに応じた検証環境を短期間で容易に構築できるようになる。   According to the test device 10 and the verification model development method, the pseudo processor 133 sets the function of the signal input / output control unit 131 of the external model 13 that simulates the operation of the device accessed by the DUT 11 according to the program P. To do. As a result, the number of man-hours can be reduced as compared with the case where various external models are developed in a hardware description language, and a verification environment corresponding to various interfaces can be easily constructed in a short period of time.

たとえば、全てをハードウェア記述言語で外部モデルを作成する場合よりも、コード量を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 pseudo processor 133 can easily adjust the timing by setting the output timing of the signal output to the DUT 11 in the signal input / output control unit 131 according to the program P.

以上のようにして生成された外部モデル13は、DUT11の試験時に、信号入出力制御部131の設定に応じて、たとえば、以下のような動作を行う。
なお、DUT11の試験は、たとえば、ハードウェア記述言語で記述されたテストベンチにしたがって行われる。
The external model 13 generated as described above performs, for example, the following operation according to the setting of the signal input / output control unit 131 when the DUT 11 is tested.
The DUT 11 is tested according to a test bench described in a hardware description language, for example.

図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 DUT 11 generated by the clock generation unit 12, a clock signal (external model clock) input to the external model 13, and a signal input / output control unit 131 from the DUT 11 that causes an operation of the external model 13. The input signal to is shown. In addition, a clock control signal output from the signal input / output control unit 131 to the clock generation unit 12 and an interrupt signal output from the signal input / output control unit 131 to the pseudo processor 133 are shown. In addition, an output signal output from the signal input / output control unit 131 to the DUT 11, a value of an output buffer of the signal input / output control unit 131, and a program processing timing of the pseudo processor 133 are shown.

なお、外部モデル13の動作要因とは、インターフェイス信号である入力信号の変化や、入力信号が変化してからの時間経過などであり、前述の図2のステップS2の処理にて、信号入出力制御部131の図示しないレジスタに設定される。図3の例では、信号入出力制御部131への入力信号がデアサート(図3の例の場合L(Low)レベル)となることが、外部モデル13の動作要因であるとしている。   The operation factor of the external model 13 is a change in an input signal that is an interface signal, a time elapsed after the input signal has changed, and the like in the process of step S2 in FIG. 2 described above. It is set in a register (not shown) of the control unit 131. In the example of FIG. 3, it is assumed that the operation factor of the external model 13 is that the input signal to the signal input / output control unit 131 becomes deasserted (in the example of FIG. 3, L (Low) level).

タイミングt1で入力信号がLレベルになると、信号入出力制御部131は、クロック制御信号をアサート(図3の例の場合H(High)レベル)とする。これにより、クロック発生部12は、DUTクロックを停止する(タイミングt2)。   When the input signal becomes L level at timing t1, the signal input / output control unit 131 asserts the clock control signal (H (High) level in the example of FIG. 3). Thereby, the clock generator 12 stops the DUT clock (timing t2).

また、入力信号がデアサートになると、信号入出力制御部131は、割り込み信号をアサートする(タイミングt3)。これにより、疑似プロセッサ133は、記憶部132に記憶されているプログラムPの記述に基づいたプログラム処理を行う。図3の例では、あるタイミングt4で、信号入出力制御部131の出力バッファの値を0から1にするプログラム処理の例が示されている。   When the input signal is deasserted, the signal input / output control unit 131 asserts an interrupt signal (timing t3). Thereby, the pseudo processor 133 performs a program process based on the description of the program P stored in the storage unit 132. The example of FIG. 3 shows an example of a program process for changing the value of the output buffer of the signal input / output control unit 131 from 0 to 1 at a certain timing t4.

プログラム処理が終了すると(タイミングt5)、信号入出力制御部131は、クロック制御信号をデアサートとする。これにより、クロック発生部12は、DUT11へのDUTクロックの供給を再開する。   When the program process ends (timing t5), the signal input / output control unit 131 deasserts the clock control signal. As a result, the clock generator 12 resumes the supply of the DUT clock to the DUT 11.

図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 DUT 11 and the external model 13 indicate processing in each part.

DUT11によって、前述のような外部モデル13の動作要因が発生すると(タイミングT1)、外部モデル13は、クロック制御信号によって、DUTクロックを停止させ(タイミングT2)、プログラム処理を実行する。外部モデル13は、プログラム処理が終わると、クロック制御信号によって、DUTクロックを再開させる(タイミングT3)。   When the operation factor of the external model 13 as described above is generated by the DUT 11 (timing T1), the external model 13 stops the DUT clock by the clock control signal (timing T2) and executes the program processing. When the program processing is completed, the external model 13 restarts the DUT clock by the clock control signal (timing T3).

再び外部モデル13の動作要因が発生すると(タイミングT4)、DUTクロックが停止し(タイミングT5)、外部モデル13のプログラム処理が行われる。
外部モデル13のプログラム処理中において、DUT11と並行処理が可能の場合には、プログラム処理の途中で、クロック制御信号により、DUTクロックが再開される(タイミングT6)。
When the operating factor of the external model 13 occurs again (timing T4), the DUT clock is stopped (timing T5), and the program processing of the external model 13 is performed.
If parallel processing with the DUT 11 is possible during the program processing of the external model 13, the DUT clock is restarted by the clock control signal in the middle of the program processing (timing T6).

その後、外部モデル13の動作要因が発生し(タイミングT7)、DUT11と外部モデル13との並行動作が行えない場合には、DUTクロックが停止され(タイミングT8)、DUT11の動作が停止する。プログラム処理が終了すると、DUTクロックが再開され(タイミングT9)、DUT11の動作が開始される。   Thereafter, an operating factor of the external model 13 occurs (timing T7), and when the DUT 11 and the external model 13 cannot be operated in parallel, the DUT clock is stopped (timing T8), and the operation of the DUT 11 is stopped. When the program processing is completed, the DUT clock is restarted (timing T9), and the operation of the DUT 11 is started.

上記のように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 external model 13 and the DUT 11 is possible, for example, the DUT clock is restarted in the middle of the program processing, and the parallel processing between the DUT 11 and the external model is performed, thereby stopping the DUT clock. Speed reduction can be suppressed.

以上のような図3、図4に示した制御により、生成された外部モデル13は、DUT11がアクセスする装置としての機能を模擬するようになる。DUT11は、外部モデル13をアクセス相手として動作し、その時のDUT11における各部の信号や、DUT11から入出力される信号が読み出されて、DUT11の検証などが行われる。   By the control shown in FIGS. 3 and 4 as described above, the generated external model 13 simulates a function as a device accessed by the DUT 11. The DUT 11 operates with the external model 13 as an access partner, and signals of each part in the DUT 11 at that time and signals input / output from the DUT 11 are read, and the DUT 11 is verified.

以下、上記のような動作を実現する外部モデル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 external model 13 that realizes the above operation will be described in more detail.
FIG. 5 is a diagram illustrating an example of the signal input / output control unit.
The signal input / output control unit 131 includes an interrupt register 20, a clock control register 21, a plurality of input registers 22-1 to 22-n, input counters 23-1 to 23-n, input buffers 24-1 to 24-n, and outputs. Registers 25-1 to 25-n are included. Further, the signal input / output control unit 131 outputs the output buffers 27-1 to 27-n and the two output counters 26a-1 to 26a-n and 26b- to the output registers 25-1 to 25-n, respectively. 1 to 26b-n. The signal input / output control unit 131 includes an interrupt mask register 28.

割り込みレジスタ20は、割り込みの種類を保持している。疑似プロセッサ133は、割り込み命令を受けると、この割り込みレジスタ20を参照して割り込みの種類を特定する。   The interrupt register 20 holds the type of interrupt. When the pseudo processor 133 receives the interrupt instruction, the pseudo processor 133 refers to the interrupt register 20 to identify the type of 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 clock generator 12 is allowed to generate a DUT clock. For example, the value is set so that the DUT clock is restarted at the end of the program processing by the external model 13.

入力レジスタ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 DUT 11 are performed. Interrupt timing and interrupt factors are also set.
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 DUT 11 by sequentially shifting the bits every clock cycle of the DUT clock.
In the output registers 25-1 to 25-n, control of timing of data output to the DUT 11 and information related to interrupts are set.

出力カウンタ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 DUT 11 and the interrupt timing. One is provided.

出力バッファ27−1〜27−nは、DUTクロックの1クロックサイクルごとに、順次ビットをシフトしてDUT11へ出力する情報を保持する。
割り込みマスクレジスタ28は、割り込みの発生要因(たとえば、カウンタ値に応じて発生される割り込みか、DUT11からの信号により発生される割り込みか、など)ごとに、その要因による割り込みを発生させるか否かが設定されるレジスタである。
The output buffers 27-1 to 27-n hold information to be output to the DUT 11 by sequentially shifting the bits every clock cycle of the DUT clock.
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 / output control unit 131 includes, for example, a control unit and a memory, but is not illustrated.
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 register 20, and FIG. 6B shows a setting example of the clock control register 21.

割り込みレジスタ20では、“入力信号による割り込み”という名前で示されているビット幅nのビット[n−1:0]は、n個の各入力信号による割り込みの情報が設定される領域となっている。たとえば、n番目の入力信号による割り込みが発生した場合には、nビット目に“1”が設定される。   In the interrupt register 20, bits [n−1: 0] having a bit width n indicated by the name “interrupt by input signal” are areas in which interrupt information by n input signals is set. Yes. For example, when an interrupt due to the nth input signal occurs, “1” is set to the nth bit.

また、“入力カウンタ制御割り込み”という名前で示されているビット幅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 clock control register 21, the value of the clock control signal for controlling whether or not to allow the clock generator 12 to generate the DUT clock is indicated in the bit [0] indicated by the name "DUT clock permission". Stored.

図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 DUT 11 is to be asserted.

たとえば、ビット[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 “count value 0”.

“カウント値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 “count value 1”.
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 "counter 1 reset". For example, when “1” is set in the bit [22], the count values of the output counters 26b-1 to 26b-n are reset to 0. When the count value is reset, bit [22] is set to “0”.

“カウント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 "count 1 start". For example, when “1” is set in the bit [21], the output counters 26b-1 to 26b-n perform counting. For example, when the count value of bits [47:32] is reached, bit [21] is set to “0”, and counting by the output counters 26b-1 to 26b-n is stopped.

“カウント1割り込み制御”という名前で示されているビット[20]には、出力カウンタ26b−1〜26b−nでビット[47:32]のカウント値に達したときに、割り込み信号をアサートするか否かの情報が設定される。たとえば、ビット[20]に“1”が設定されている場合には、出力カウンタ26b−1〜26b−nで上記のカウント値に達したときに、割り込み信号がアサートとなる。   The bit [20] indicated by the name “count 1 interrupt control” asserts an interrupt signal when the count value of bits [47:32] is reached by the output counters 26b-1 to 26b-n. Whether or not is set. For example, when “1” is set in the bit [20], the interrupt signal is asserted when the output counters 26b-1 to 26b-n reach the count value.

“カウンタ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 "counter 0 reset". For example, when “1” is set in the bit [19], the count values of the output counters 26a-1 to 26a-n are reset to 0. When the count value is reset, bit [19] is set to “0”.

“カウント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 "count 0 start". For example, when “1” is set in the bit [18], the output counters 26a-1 to 26a-n perform counting. For example, when the count value of bits [63:48] is reached, bit [18] is set to “0”, and counting by the output counters 26a-1 to 26a-n is stopped.

“カウント0割り込み制御”という名前で示されているビット[17]には、出力カウンタ26a−1〜26a−nでビット[63:48]のカウント値に達したときに、割り込みをアサートするか否かの情報が設定される。たとえば、ビット[17]に“1”が設定されている場合には、出力カウンタ26a−1〜26a−nで上記のカウント値に達したときに、割り込み信号がアサートとなる。   In bit [17] indicated by the name “count 0 interrupt control”, whether an interrupt is asserted when the count value of bits [63:48] is reached in the output counters 26a-1 to 26a-n. Whether or not information is set. For example, when “1” is set in the bit [17], the interrupt signal is asserted when the output counters 26a-1 to 26a-n reach the count value.

“信号制御”という名前で示されているビット[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 DUT 11 is set. For example, when “1” is set in the bit [16], the output buffers 27-1 to 27-27 until the output counters 26a-1 to 26a-n reach the count value of the bits [63:48]. Wait for output from -n. When “0” is set in the bit [16], an output signal to the DUT 11 is always output from the output buffers 27-1 to 27-n.

“制御値_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 DUT 11 when a control value described below is a certain value is set. .

“制御値”という名前で示されているビット[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 storage unit 132 of the external model 13 will be described.
FIG. 9 is a diagram illustrating an example of a program.
The program P includes, for example, a functional layer 30 and a register control layer 31.

機能層30は、外部モデル13としての機能を実現するためのプログラムを有する。機能層30のプログラムにより、DUT11からの入力信号の解析や、DUT11への応答情報などの作成が行われる。   The functional layer 30 has a program for realizing the function as the external model 13. Analysis of the input signal from the DUT 11 and creation of response information to the DUT 11 are performed by the program of the functional layer 30.

レジスタ制御層31は、信号入出力制御部131がインターフェイス信号を認識できるように、入力レジスタ22−1〜22−n、出力レジスタ25−1〜25−nの書き換えを行う機能を実現するためのプログラムを有する。レジスタ制御層31の内容をもとに、疑似プロセッサ133は、図7、図8に示したような入力レジスタ22−1〜22−n、出力レジスタ25−1〜25−nの各ビットの設定値を書き換える。これにより、様々なインターフェイスに対応する汎用的な外部モデル13が実現される。   The register control layer 31 realizes a function of rewriting the input registers 22-1 to 22-n and the output registers 25-1 to 25-n so that the signal input / output control unit 131 can recognize the interface signal. Have a program. Based on the contents of the register control layer 31, the pseudo processor 133 sets each bit of the input registers 22-1 to 22-n and output registers 25-1 to 25-n as shown in FIGS. Rewrite the value. Thereby, the general-purpose external model 13 corresponding to various interfaces is realized.

機能層30とレジスタ制御層31のプログラムは、外部モデル13が実現するインターフェイスの種類や、機能、抽象度などに応じて、たとえば、データベース40内に格納されている。データベース40は、たとえば、外部モデル13内の記憶部132、試験装置10内の図示しないメモリ、または、試験装置10に有線または無線で接続されるコンピュータ内に構築される。   The programs of the functional layer 30 and the register control layer 31 are stored in, for example, the database 40 in accordance with the interface type, function, abstraction level, etc. realized by the external model 13. The database 40 is constructed, for example, in a storage unit 132 in the external model 13, a memory (not shown) in the test apparatus 10, or a computer connected to the test apparatus 10 by wire or wirelessly.

図9の例では、データベース40は、機能層30のプログラムとして、インターフェイス1用の機能プログラムA,Bと、インターフェイス2用の機能プログラムを有している。また、データベース40は、レジスタ制御層31のプログラムとし、インターフェイス1用のレジスタ制御プログラムと、インターフェイス2用のレジスタ制御プログラムA,Bを有している。   In the example of FIG. 9, the database 40 has the function programs A and B for the interface 1 and the function program for the interface 2 as programs of the function layer 30. The database 40 includes a register control program for the interface 1 and register control programs A and B for the interface 2 as programs for the register control layer 31.

たとえば、インターフェイス1は、SDカード用のインターフェイスであり、インターフェイス2は、SDRAM用のインターフェイスである。インターフェイス1用として2つの機能プログラムA,Bが図示されているが、機能プログラムAは、たとえば、SDカード用のインターフェイスの基本機能、機能プログラムBは、たとえば、エラー発生機能を実行するプログラムである。   For example, the interface 1 is an interface for an SD card, and the interface 2 is an interface for an SDRAM. Although two function programs A and B are shown for the interface 1, the function program A is, for example, a basic function of an interface for an SD card, and the function program B is a program for executing an error generating function, for example. .

また、インターフェイス2用として2つのレジスタ制御プログラムA,Bが図示されているが、たとえば、レジスタ制御プログラムAは抽象度が高く、レジスタ制御プログラムBは抽象度が低いものである。   Further, two register control programs A and B are shown for the interface 2, but for example, the register control program A has a high abstraction level and the register control program B has a low abstraction level.

疑似プロセッサ133の制御のもと、機能層30とレジスタ制御層31で用いる機能プログラムやレジスタ制御プログラムをデータベース40から抽出して、プログラムPを書き換えることで、簡単に機能やインターフェイスの切り換えを行うことができる。   Under the control of the pseudo processor 133, function programs and register control programs used in the function layer 30 and the register control layer 31 are extracted from the database 40, and the functions and interfaces can be easily switched by rewriting the program P. Can do.

図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 register 20 is represented as “interput_reg”, and one of the input buffers 24-1 to 24-n is represented as “S_IN_0 buffer” or “SIN0”. One of the output buffers 27-1 to 27-n is represented as “S_OUT_0 buffer”, and one of the output registers 25-1 to 25-n is represented as “S_OUT_5 register”. Read () is a function that reads data and returns data, and write () is a function that writes data.

この割り込み関数“Interrput_RI1()”は、割り込みレジスタ20の値が“0x00000001”の場合に、ある入力バッファをリードし、その内容に応じて、ある出力バッファと出力レジスタに対して書き込みを行う処理を行う関数である。   This interrupt function “Interrupt_RI1 ()” reads a certain input buffer when the value of the interrupt register 20 is “0x00000001”, and performs a process of writing to a certain output buffer and output register in accordance with the contents. The function to perform.

以下、試験装置10による試験時の動作を、より詳細に説明する。
まず、外部モデル13において、疑似プロセッサ133は、たとえば、プログラムPに記述されたスタートアップルーチンを実行して、信号入出力制御部131の初期化を行う。この初期化の際に、前述した図2のステップS2の信号入出力制御部131の設定処理が行われる。
Hereinafter, the operation during the test by the test apparatus 10 will be described in more detail.
First, in the external model 13, the pseudo processor 133 executes a startup routine described in the program P, for example, and initializes the signal input / output control unit 131. At the time of this initialization, the setting process of the signal input / output control unit 131 in step S2 of FIG. 2 described above is performed.

図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 pseudo processor 133 resets the value of each register of the signal input / output control unit 131 to 0 (step S10). Then, the pseudo processor 133 sets the input registers 22-1 to 22-n and the output registers 25-1 to 25-n according to the program P (step S11).

また、疑似プロセッサ133は、出力バッファ27−1〜27−nの初期化を行い(ステップS12)、割り込みマスクレジスタ28の設定を行う(ステップS13)。割り込みマスクレジスタ28の設定では、どの割り込み要因を有効または無効にするかが設定される。   The pseudo processor 133 initializes the output buffers 27-1 to 27-n (step S12), and sets the interrupt mask register 28 (step S13). In the setting of the interrupt mask register 28, which interrupt factor is to be enabled or disabled is set.

その後、疑似プロセッサ133は、クロック制御レジスタ21を設定し、DUTクロックの発生を許可する(ステップS14)。これにより、クロック発生部12はDUT11に対してDUTクロックを出力し、DUT11の動作が開始し(ステップS15)、初期化動作は終了する。   Thereafter, the pseudo processor 133 sets the clock control register 21 and permits the generation of the DUT clock (step S14). As a result, the clock generator 12 outputs the DUT clock to the DUT 11, the operation of the DUT 11 starts (step S15), and the initialization operation ends.

なお、図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 DUT 11 is completed, the signal input / output control unit 131 refers to the input registers 22-1 to 22-n and the output registers 25-1 to 25-n (step S20). Then, the signal input / output control unit 131 refers to the interface signal and the like to determine whether or not an interrupt factor that is an operation factor of the external model 13 is generated (step S21).

たとえば、あるインターフェイス信号に関する設定値が格納された入力レジスタ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 / output control unit 131 determines that an interrupt factor has occurred when the interface signal changes to 0 by processing of one clock cycle of the DUT 11.

信号入出力制御部131によって割り込み要因が発生していないと判定された場合には、DUT11において次のクロックサイクルの処理が行われる。
信号入出力制御部131は、割り込み要因が発生したと判定した場合、割り込み信号をアサートする(ステップS22)。このとき、信号入出力制御部131は、割り込みレジスタ20に、どのインターフェイス信号による割り込みが発生したかを示す情報を設定する。たとえば、図6(A)に示したような割り込みレジスタ20において、ビット[n−1:0]において、割り込み要因となったインターフェイス信号に対応するビットの値を“1”とする。
When the signal input / output control unit 131 determines that an interrupt factor has not occurred, the DUT 11 performs processing of the next clock cycle.
When determining that an interrupt factor has occurred, the signal input / output control unit 131 asserts an interrupt signal (step S22). At this time, the signal input / output control unit 131 sets information indicating which interface signal caused an interrupt in the interrupt register 20. For example, in the interrupt register 20 as shown in FIG. 6A, the bit value corresponding to the interface signal that caused the interrupt is set to “1” in bits [n−1: 0].

そして、信号入出力制御部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 / output control unit 131 sets “0” in the clock control register 21 and causes the clock generation unit 12 to stop generating the DUT clock (step S23).
The pseudo processor 133 refers to the interrupt register 20 and identifies the type of interrupt (step S24). Then, the pseudo processor 133 performs program processing according to the program of the function layer 30 of the program P (step S25). When the program process ends, the pseudo processor 133 sets “1” in the clock control register 21 and causes the clock generation unit 12 to resume the generation of the DUT clock (step S26). As a result, the DUT 11 performs processing for the next clock cycle.

図13は、プログラム処理の一例を示すフローチャートである。
疑似プロセッサ133は、プログラム処理を行っている際、プログラムPの内容をもとに、入力情報を用いる処理か否か判断する(ステップS30)。入力情報を用いる処理の場合には、疑似プロセッサ133は、DUT11からの入力情報を、入力バッファ24−1〜24−nから読み込む(ステップS31)。
FIG. 13 is a flowchart illustrating an example of a program process.
The pseudo processor 133 determines whether or not the process uses the input information based on the contents of the program P during the program process (step S30). In the case of processing using input information, the pseudo processor 133 reads input information from the DUT 11 from the input buffers 24-1 to 24-n (step S31).

入力情報を用いない場合、またはステップ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 pseudo processor 133 determines whether to set the input registers 22-1 to 22-n (step S32). For example, if the program P includes an instruction for invalidating an interrupt due to an input signal or invalidating for a certain period, the pseudo processor 133 sets that in the input registers 22-1 to 22-n (step S33).

たとえば、疑似プロセッサ133は、図7に示した入力レジスタ22−1〜22−nの設定例において、ビット[24:20]の領域に“0”を設定することで、入力信号による割り込みの発生を無効にする。これにより、実行中のプログラム処理が割り込みで中断されることが抑制される。   For example, the pseudo processor 133 sets the bit [24:20] area to “0” in the setting example of the input registers 22-1 to 22-n shown in FIG. Disable. Thereby, it is suppressed that the program processing under execution is interrupted by interruption.

入力レジスタ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 pseudo processor 133 determines whether to set the output registers 25-1 to 25-n (step S34). ). For example, if the program P includes an instruction to control the output timing to the DUT 11, the pseudo processor 133 sets that in the output registers 25-1 to 25-n (step S35).

たとえば、疑似プロセッサ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 pseudo processor 133 sets “1” in the bit [16] area until the count value is reached. The output from the buffers 27-1 to 27-n can be waited.

出力レジスタ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 pseudo processor 133 determines whether or not to write to the output buffers 27-1 to 27-n (step S35). S36). For example, when an instruction to output the analysis result in the program processing or the response information to the DUT 11 to the DUT 11 side is executed, the information is written to the output buffers 27-1 to 27-n (step S37).

出力バッファ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 pseudo processor 133 determines whether or not the program process is finished (step S38).

疑似プロセッサ133は、プログラム処理が終了した場合には、前述したステップS26の処理を行い、DUTクロックの発生を再開させる。プログラム処理が終了していない場合には、ステップS30からの処理が繰り返される。   When the program processing is completed, the pseudo processor 133 performs the process of step S26 described above and restarts the generation of the DUT clock. If the program processing has not ended, the processing from step S30 is repeated.

なお、図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 external model 13 to simulate the function as a device accessed by the DUT 11.

次に、外部モデルを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 / output control unit 131 includes input buffers 24-1 to 24-5, output buffers 27-1 to 27-7, input registers 22-1 to 22-5, and output registers 25-1 to 25-7. ing. In the signal input / output control unit 131, the other elements shown in FIG. 5 are not shown.

外部モデルが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 DUT 11, a plurality of tristate buffers (hereinafter simply referred to as buffers) 51, 52, 53, 54, 55 for controlling the output to the DUT 11 not to be performed. Is provided. The buffer unit 50 is described as an external model in, for example, a hardware description language.

バッファ部50において、バッファ51は、DUT11からの命令などが伝達される信号線CMDと、出力バッファ27−1との間に設けられている。バッファ52〜55は、データなどが伝達される信号線DAT[0],DAT[1],DAT[2],DAT[3]と、出力バッファ27−2〜27−5との間に設けられている。   In the buffer unit 50, the buffer 51 is provided between the signal line CMD to which a command from the DUT 11 and the like are transmitted and the output buffer 27-1. Buffers 52 to 55 are provided between signal lines DAT [0], DAT [1], DAT [2], and DAT [3] through which data and the like are transmitted, and output buffers 27-2 to 27-5. ing.

また、バッファ51には、出力バッファ27−7からの制御値が入力され、バッファ52〜55には、出力バッファ27−6からの制御値が入力され、信号入出力制御部131からの情報を出力するか否かが制御される。   Further, the control value from the output buffer 27-7 is input to the buffer 51, the control value from the output buffer 27-6 is input to the buffers 52 to 55, and the information from the signal input / output control unit 131 is received. Whether or not to output is controlled.

図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 DUT 11, the signal input / output control unit 131, and the pseudo processor 133 indicate processing in each unit.

まず、疑似プロセッサ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 pseudo processor 133 performs initial setting as shown in FIG. 11 for the signal input / output control unit 131 (timing T10). When the initial setting is completed, the signal input / output control unit 131 starts the DUT clock supplied to the DUT 11 (timing T11). When issuance of an instruction from the DUT 11 is started (timing T12), the signal input / output control unit 131 determines that an interrupt factor has been detected and asserts an interrupt signal (timing T13). Further, the signal input / output control unit 131 stops the DUT clock (timing T14). When the pseudo processor 133 receives the interrupt instruction (that is, detects the assertion of the interrupt signal), the pseudo processor 133 checks the interrupt register 20 and specifies the type of interrupt (timing T15). Thereafter, the pseudo processor 133 sets the input register 22-1 to assert an interrupt signal after 48 counts by the input counter 23-1 shown in FIG. 5, for example (timing T16). When the program processing ends, the pseudo processor 133 sets the clock control register 21 and permits the start of the DUT clock (timing T17). Thereby, the signal input / output control unit 131 restarts the DUT clock (timing T18).

DUT11は、DUTクロックに同期して、たとえば、48ビットの命令を1ビットずつ発行し(タイミングT19)、信号入出力制御部131の入力バッファ24−1に入力していく。48ビット目の命令の発行が終わり(タイミングT20)、入力カウンタ23−1による48カウントが終了すると、信号入出力制御部131は、割り込み信号をアサートする(タイミングT21)。また、信号入出力制御部131は、DUTクロックを停止させる(タイミングT22)。疑似プロセッサ133は、割り込み命令を受けると、割り込みレジスタ20を確認し、割り込みの種類を特定する(タイミングT23)。   The DUT 11 issues, for example, a 48-bit instruction bit by bit in synchronization with the DUT clock (timing T19), and inputs the instruction to the input buffer 24-1 of the signal input / output control unit 131. When the issuance of the 48th bit instruction is completed (timing T20) and the 48 count by the input counter 23-1 is completed, the signal input / output control unit 131 asserts an interrupt signal (timing T21). Further, the signal input / output control unit 131 stops the DUT clock (timing T22). When the pseudo processor 133 receives the interrupt instruction, it checks the interrupt register 20 and specifies the type of interrupt (timing T23).

そして、疑似プロセッサ133は、入力バッファ24−1に保持された命令を読み出す(タイミングT24)。疑似プロセッサ133は、プログラム処理により、読み出した命令を解析して応答情報を作成し、出力バッファ27−1に設定する(タイミングT25)。また、疑似プロセッサ133は、たとえば、4クロックサイクル(4カウント)後に、出力バッファ27−1内のデータ(応答情報)を出力させるように、出力レジスタ25−1に対して設定を行う(タイミングT26)。   Then, the pseudo processor 133 reads the instruction held in the input buffer 24-1 (timing T24). The pseudo processor 133 analyzes the read instruction by program processing, creates response information, and sets it in the output buffer 27-1 (timing T25). Further, the pseudo processor 133 performs setting for the output register 25-1 so that the data (response information) in the output buffer 27-1 is output after 4 clock cycles (4 counts), for example (timing T26). ).

また、疑似プロセッサ133は、出力レジスタ25−1の設定に応じて、バッファ51が信号入出力制御部131からの信号をDUT11に出力するように制御させるための制御値を、出力バッファ27−7に設定する(タイミングT27)。さらに、疑似プロセッサ133は、出力レジスタ25−7に対して、2クロックサイクル(2カウント)後に、出力バッファ27−7の制御値を、バッファ51に供給させるように設定を行う(タイミングT28)。   Further, the pseudo processor 133 sets a control value for controlling the buffer 51 to output the signal from the signal input / output control unit 131 to the DUT 11 according to the setting of the output register 25-1, and the output buffer 27-7. (Timing T27). Further, the pseudo processor 133 sets the output register 25-7 to supply the control value of the output buffer 27-7 to the buffer 51 after 2 clock cycles (2 counts) (timing T28).

その後、疑似プロセッサ133は、クロック制御レジスタ21を設定して、DUTクロックの開始を許可する(タイミングT29)。これにより、信号入出力制御部131は、DUTクロックを再開させる(タイミングT30)。そして、信号入出力制御部131は、出力バッファ27−1に保持された応答情報を、バッファ51を介して、DUT11に出力する(タイミングT31)。   Thereafter, the pseudo processor 133 sets the clock control register 21 and permits the start of the DUT clock (timing T29). Thereby, the signal input / output control unit 131 restarts the DUT clock (timing T30). Then, the signal input / output control unit 131 outputs the response information held in the output buffer 27-1 to the DUT 11 via the buffer 51 (timing T31).

以上のように、図14に示すような信号入出力制御部131を有する外部モデルは、SDカードのインターフェイスとして、適切に機能することができ、出力タイミングの調整なども、プログラムPを変更して、各レジスタの設定値を調整することで、容易にできる。   As described above, the external model having the signal input / output control unit 131 as shown in FIG. 14 can function properly as an interface of the SD card, and the output timing can be adjusted by changing the program P. This can be done easily by adjusting the setting value of each register.

ところで、上記の説明では、プログラムPにより、信号入出力制御部131の設定を行い、ある1つのインターフェイスの機能を実現させるようにしたが、これに限定されず、以下のようにして、複数のインターフェイスの機能を実現させるようにしてもよい。   In the above description, the signal input / output control unit 131 is set by the program P to realize the function of a certain interface. However, the present invention is not limited to this. You may make it implement | achieve the function of an interface.

図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 test apparatus 10a of FIG. 16, the storage unit 132a of the external model 13a has two programs P1 and P2. In addition, the signal input / output control unit 131a includes an IF1 setting unit 61 and an IF2 setting unit 62.

IF1用設定部61、IF2用設定部62は、それぞれ、図5に示したような信号入出力制御部131の各要素を含んでいる。プログラムP1は、IF1用設定部61に対して、インターフェイス1(たとえば、SDカード用のインターフェイス)の機能を指定するためのプログラムである。また、プログラムP2は、IF2用設定部62に対して、インターフェイス2(たとえば、SDRAM用のインターフェイス)の機能を指定するためのプログラムである。   Each of the IF1 setting unit 61 and the IF2 setting unit 62 includes each element of the signal input / output control unit 131 as shown in FIG. The program P1 is a program for designating the function of the interface 1 (for example, an interface for an SD card) to the IF1 setting unit 61. The program P2 is a program for designating the function of the interface 2 (for example, an interface for SDRAM) to the setting unit 62 for IF2.

疑似プロセッサ133は、プログラムP1,P2に基づいて、それぞれIF1用設定部61、IF2用設定部62の入力レジスタ22−1〜22−nや出力レジスタ25−1〜25−nを設定する。これにより、同時に複数のインターフェイスに対応できるようになり、DUT11がもつ複数のインターフェイスと接続できる。   The pseudo processor 133 sets the input registers 22-1 to 22-n and the output registers 25-1 to 25-n of the IF1 setting unit 61 and the IF2 setting unit 62, respectively, based on the programs P1 and P2. As a result, a plurality of interfaces can be supported at the same time, and a plurality of interfaces of the DUT 11 can be connected.

なお、図1、図16の試験装置10、10aでは、外部モデル13,13aの数を1つとしたが、複数設けてもよい。
また、外部モデル内に疑似プロセッサや記憶部を複数設け、同時に複数のプログラムを動作させることで、同時に複数のインターフェイスに対応できるようにしてもよい。
1 and FIG. 16, the number of the external models 13 and 13a is one, but a plurality of external models 13 and 13a may be provided.
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 test apparatuses 10 and 10a described above can be realized by a computer.
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 entire computer 100 is controlled by a CPU 101. The CPU 101 is connected to the RAM 102 and a plurality of peripheral devices via the bus 108.
The RAM 102 is used as a main storage device of the computer 100. The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data used for processing by the CPU 101.

バス108に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インターフェイス105、光学ドライブ装置106、及び通信インターフェイス107がある。   Peripheral devices connected to the bus 108 include a hard disk drive (HDD) 103, a graphic processing device 104, an input interface 105, an optical drive device 106, and a communication interface 107.

HDD103は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD103は、コンピュータ100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。   The HDD 103 magnetically writes and reads data to and from the built-in disk. The HDD 103 is used as a secondary storage device of the computer 100. The HDD 103 stores an OS program, application programs, and various data. Note that a semiconductor storage device such as a flash memory can also be used as the secondary storage device.

グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。   A monitor 104 a is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 104a in accordance with a command from the CPU 101. Examples of the monitor 104a include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.

入力インターフェイス105には、キーボード105aとマウス105bとが接続されている。入力インターフェイス105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。   A keyboard 105 a and a mouse 105 b are connected to the input interface 105. The input interface 105 transmits signals sent from the keyboard 105a and the mouse 105b to the CPU 101. Note that the mouse 105b is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

光学ドライブ装置106は、レーザ光などを利用して、光ディスク106aに記録されたデータの読み取りを行う。光ディスク106aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク106aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。   The optical drive device 106 reads data recorded on the optical disc 106a using laser light or the like. The optical disk 106a is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disk 106a includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.

通信インターフェイス107は、ネットワーク107aに接続されている。通信インターフェイス107は、ネットワーク107aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。   The communication interface 107 is connected to the network 107a. The communication interface 107 transmits / receives data to / from other computers or communication devices via the network 107a.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
このように、試験装置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 test apparatuses 10 and 10a can be realized by a computer. In that case, a program describing the processing contents of the functions that the test apparatuses 10 and 10a should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic storage device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Optical discs include DVD, DVD-RAM, CD-ROM / RW, and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

プログラムを流通させる場合には、たとえば、そのプログラムが記録された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 SYMBOLS 10 Test apparatus 11 Model under test 12 Clock generation part 13 Pseudo model (external model)
131 Signal Input / Output Control Unit 132 Storage Unit 133 Pseudo Processor 134 Bus P Program

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に記載の試験装置。   The signal input / output control unit stops the operation of the model to be tested when an operation factor of the pseudo model is detected based on a value set by the pseudo processor. The test apparatus described. 前記記憶部には、データベースに格納された、前記インターフェイスの種類または機能に応じた複数のプログラムの中から選択されたプログラムが格納されることを特徴とする請求項1または2に記載の試験装置。   3. The test apparatus according to claim 1, wherein the storage unit stores a program selected from a plurality of programs corresponding to the type or function of the interface stored in a database. . 前記信号入出力制御部は、前記疑似プロセッサによって設定された値に基づき、前記疑似モデルと、前記被試験対象モデルを並列に動作させるように、前記被試験対象モデルに供給されるクロック信号を制御することを特徴とする請求項1乃至3の何れか一項に記載の試験装置。   The signal input / output control unit controls a clock signal supplied to the model under test so that the pseudo model and the model under test are operated in parallel based on a value set by the pseudo processor. The test apparatus according to any one of claims 1 to 3, wherein: 前記疑似プロセッサは、前記プログラムに応じて、前記被試験対象モデルへ出力される信号の出力タイミングを、前記信号入出力制御部へ設定することを特徴とする請求項1乃至4の何れか一項に記載の試験装置。   The said pseudo processor sets the output timing of the signal output to the said test object model to the said signal input / output control part according to the said program, The any one of Claim 1 thru | or 4 characterized by the above-mentioned. The test apparatus described in 1. 前記記憶部は、それぞれ異なるインターフェイスの機能を指定する複数のプログラムを有し、
前記信号入出力制御部は、各インターフェイスの機能を設定する複数の設定部を有し、
前記疑似プロセッサは、前記複数のプログラムに応じて、前記複数の設定部に対して前記各インターフェイスの機能を設定することを特徴とする請求項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.
前記疑似モデルは、使用されるインターフェイスに応じて前記信号入出力制御部内の回路量が指定された設定ファイルに基づいて、生成されることを特徴とする請求項7に記載の検証モデル開発方法。   The verification model development method according to claim 7, wherein the pseudo model is generated based on a setting file in which a circuit amount in the signal input / output control unit is designated according to an interface to be used. コンピュータを、
被試験対象モデルとの間で信号の入出力を行う信号入出力制御部、
前記信号入出力制御部が実行するインターフェイスの機能を指定するプログラムを格納した記憶部、
前記プログラムに応じて、前記信号入出力制御部の設定を行う疑似プロセッサ、
を有し、前記被試験対象モデルがアクセスする装置の動作を模擬する疑似モデルとして機能させることを特徴とするプログラム。
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.
JP2011095153A 2011-04-21 2011-04-21 Test apparatus, verification model development method and program Expired - Fee Related JP5664430B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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