JPH08335228A - Test pattern generating method and logic simulation method - Google Patents

Test pattern generating method and logic simulation method

Info

Publication number
JPH08335228A
JPH08335228A JP7142842A JP14284295A JPH08335228A JP H08335228 A JPH08335228 A JP H08335228A JP 7142842 A JP7142842 A JP 7142842A JP 14284295 A JP14284295 A JP 14284295A JP H08335228 A JPH08335228 A JP H08335228A
Authority
JP
Japan
Prior art keywords
language
type
test pattern
dictionary
signal
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.)
Pending
Application number
JP7142842A
Other languages
Japanese (ja)
Inventor
Yoshinobu Ito
好信 伊藤
Ichiro Goto
一郎 後藤
Satoru Hiramoto
覚 平本
Masami Yamazaki
正実 山崎
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 Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP7142842A priority Critical patent/JPH08335228A/en
Publication of JPH08335228A publication Critical patent/JPH08335228A/en
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

PURPOSE: To easily perform logic simulation by converting a signal generating procedure in a C-like language into a C language by a compiler, and executing the signal generating procedure in the C language and generating a test pattern. CONSTITUTION: A generation process 1 is described in the C-like language which attain the conversion, substitution, and operation of the character type and integer type of the C language. This generation process 1 is converted into a C-language program 3 by a test pattern generation system 2. Further, a compiler linkage 5 converts C-language programs 3 and 4 into library form or execution form. When a library-form file 6 is generated, various logic simulation described in HDL can be performed by connection with an HDL simulator. Further, when the execution form file 7 is generated, it is usable as a test pattern generation tool for the logic simulation of a logic circuit described in another language.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、テストパターン生成方
法及びこのテストパターン生成方法によって生成したテ
ストパターンを用いる論理シミュレーション方法に関す
る。各種の論理回路の設計に於いて、その論理回路に対
応したテストパターンを生成し、そのテストパターンと
論理回路のシミュレーションモデルと共に論理シミュレ
ータに加えて、論理回路の機能の検証が行われている。
又ハードウェア記述言語HDL(Hardware Descripti
on Language )を用いて、各種の論理回路の設計が行
われている。前述の論理シミュレーションに於けるテス
トパターンの発生を容易にし、且つハードウェア記述言
語HDLを用いて設計した論理回路に対しても、論理シ
ミュレーションを容易にすることが要望されている。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a test pattern generation method and a logic simulation method using a test pattern generated by this test pattern generation method. In designing various logic circuits, a test pattern corresponding to the logic circuit is generated, and the function of the logic circuit is verified in addition to the test pattern and the simulation model of the logic circuit in addition to the logic simulator.
Hardware description language HDL (Hardware Descripti)
on Language) is used to design various logic circuits. There is a demand for facilitating the generation of a test pattern in the above-mentioned logic simulation and facilitating the logic simulation for a logic circuit designed using the hardware description language HDL.

【0002】[0002]

【従来の技術】ハードウェア記述言語(以下HDLと略
称する)は、抽象度の高い動作レベルで回路設計を行う
ことが可能であり、又レジスタ・トランスファ・レベル
(RTL)或いはそれより抽象度の低いロジック・ゲー
ト・レベルで論理回路を記述することもできる。従っ
て、大規模の各種の論理回路の設計に利用されている。
このHDLには、例えば、VHDL(Very High Spe
ed Integrated CircuitHardware Description L
anguage )、又はVerilog−HDL等が知られて
いる。
2. Description of the Related Art A hardware description language (hereinafter abbreviated as HDL) enables circuit design at an operation level having a high abstraction level, and a register transfer level (RTL) or an abstraction level higher than that. Logic circuits can also be described at low logic gate levels. Therefore, it is used for designing various large-scale logic circuits.
This HDL includes, for example, VHDL (Very High Spe
ed Integrated Circuit Hardware Description L
anguage), or Verilog-HDL, etc. are known.

【0003】又回路設計に於ける論理シミュレーション
は、例えば、設計された回路をシミュレーションモデル
に変換し、このシミュレーションモデルと、テキストエ
ディタ或いは波形エディタ等を用いて生成したテストパ
ターンとを論理シミュレータに入力して実行するもので
あり、その論理シミュレーション結果の波形データを、
例えば、シミュレーション結果解析ツールにより解析
し、設計された回路の動作の正常性を確認するものであ
る。
In the logic simulation in the circuit design, for example, the designed circuit is converted into a simulation model, and the simulation model and a test pattern generated by using a text editor or a waveform editor are input to the logic simulator. Waveform data of the logical simulation result,
For example, the normality of the operation of the designed circuit is confirmed by analyzing with a simulation result analysis tool.

【0004】又外部ファイルにテストパターンを記述
し、論理シミュレーション時に、HDLのファイルアク
セス機能を用いて外部ファイルからテストパターンを読
込む方法や、テストベンチ上に直接テストパターンを記
述する方法が知られている。この場合、VHDLに於い
ては、TEXTIOがテストパターンのインタフェース
として知られており、このTEXTIOのパッケージを
呼出して、外部ファイルからテストパターンを読込むこ
とになる。
Further, there are known a method of writing a test pattern in an external file and reading the test pattern from the external file by using the file access function of HDL at the time of logic simulation, and a method of writing the test pattern directly on the test bench. ing. In this case, in VHDL, TEXTIO is known as an interface of a test pattern, and this TEXTIO package is called to read the test pattern from an external file.

【0005】[0005]

【発明が解決しようとする課題】半導体技術の進歩によ
って論理回路の集積度を高くすることが可能となり、回
路規模の増大に伴って論理シミュレーション時のテスト
パターンが長大化する傾向にある。このように長大化し
たテストパターンをテキストベース言語により記述した
場合、作成時間が長くなると共に修正が容易でない問題
がある。又波形データによりテストパターンを記述した
場合、時間軸上の波形の確認が容易であるが、入力操作
が煩雑となると共に、時間軸上の波形の変更等の処理が
困難となる問題がある。
The progress of semiconductor technology has made it possible to increase the degree of integration of logic circuits, and as the circuit scale increases, the test patterns during logic simulation tend to become longer. When such a lengthened test pattern is described in a text-based language, there is a problem that it takes a long time to create and the correction is not easy. Further, when the test pattern is described by the waveform data, it is easy to confirm the waveform on the time axis, but there is a problem that the input operation becomes complicated and the process of changing the waveform on the time axis becomes difficult.

【0006】又外部ファイルにテストパターンを記述
し、このテストパターンを読込んで論理シミュレーショ
ンを行う場合、読込んだテストパターンデータとシミュ
レーションモデルとの対応をテストベンチ上に記述しな
ければならない。又HDLに於けるファイルアクセス機
能は、一般のソフトウェア高級言語に比較して充分では
ないから、その読込みの機能を記述する為に相当の時間
を要することになり、又HDLのファイルアクセス機能
の処理速度が遅いので、シミュレーションの効率化を図
ることが困難である。
When a test pattern is described in an external file and the test pattern is read to perform a logical simulation, the correspondence between the read test pattern data and the simulation model must be described on the test bench. Also, since the file access function in HDL is not sufficient compared to general software high-level languages, it takes a considerable time to describe the read function, and the processing of the HDL file access function Since the speed is slow, it is difficult to improve the efficiency of the simulation.

【0007】又テストベンチ上にテストパターンを記述
して論理シミュレーションを行う場合、集積度が高い論
理回路に対してはテストベンチ上の記述量が多くなり、
従って、テストパターンの修正も容易でないものとな
る。又回路の記述とテストパターンの記述とが同一ソー
スであるから、ソースの版数管理に於いて混乱が発生す
る問題がある。
Further, when a test pattern is described on the test bench and a logic simulation is performed, the description amount on the test bench increases for a logic circuit having a high degree of integration.
Therefore, it is not easy to correct the test pattern. Further, since the description of the circuit and the description of the test pattern are the same source, there is a problem that confusion occurs in version number management of the source.

【0008】又C言語によりテストパターンを記述する
場合、C言語によるプログラム作成の熟練者でなければ
困難であった。又熟練したプログラマが作成する場合
も、信号発生手順は、文字と整数とが混在する処理を行
う場合が多く、文字型から整数型へ、又整数型から文字
型への変換を行いながら、比較や代入等の各種の処理を
行う必要があるから、簡単には記述することができない
問題があった。本発明は、テストパターンの生成を容易
にし、生成したテストパターンを用いて論理シミュレー
ションを容易に実行することを目的とする。
Further, it has been difficult to describe a test pattern in C language unless the user is skilled in programming in C language. Even when a skilled programmer creates it, the signal generation procedure often involves processing in which characters and integers are mixed, and comparison is performed while converting from character type to integer type or from integer type to character type. There is a problem that it cannot be easily described because it is necessary to perform various processes such as substitution and substitution. An object of the present invention is to facilitate generation of a test pattern and to easily execute a logic simulation using the generated test pattern.

【0009】[0009]

【課題を解決するための手段】本発明のテストパターン
生成方法は、プログラム言語のC言語に準拠し、このC
言語に於ける文字型と整数型との間の変換,代入,演算
を可能としたC類似言語により信号発生手順を記述し、
このC類似言語による信号発生手順をコンパイラによっ
てC言語に変換し、このC言語による信号発生手順を実
行してテストパターンを生成する過程を含むものであ
る。
The test pattern generation method of the present invention is based on the C language of the programming language, and the C
Describe the signal generation procedure in a C-like language that enables conversion, substitution and operation between character type and integer type in the language,
This includes a process of converting the signal generation procedure in the C-like language into C language by a compiler and executing the signal generation procedure in the C language to generate a test pattern.

【0010】又プログラム言語のC言語に準拠し、この
C言語に於ける文字型と整数型との間の変換,代入,演
算を可能とし、データタイプ宣言部とデータ定義部と実
行文部とを含むC類似言語により信号発生手順を記述
し、このC類似言語による信号発生手順の前記データタ
イプ宣言部とデータ定義部との構文解析により辞書を作
成し、前記実行文部の構文解析時に前記辞書を検索し
て、この実行文部の内容に相当するCコードに変換する
過程を含むものである。
Further, in accordance with the C language of the programming language, conversion, substitution and operation between the character type and the integer type in this C language are possible, and the data type declaration part, the data definition part and the execution statement part are provided. The signal generation procedure is described in the C-like language including the dictionary, the dictionary is created by the syntax analysis of the data type declaration part and the data definition part of the signal generation procedure in the C-like language, and the dictionary is created when the execution statement part is parsed. It includes a process of searching and converting into a C code corresponding to the content of this execution statement part.

【0011】又前記辞書は、レコードタイプ宣言の中に
他のレコードタイプ宣言を含むデータ構造のデータタイ
プ宣言部について、それぞれのレコードタイプ対応の辞
書テーブルをリンクさせることにより、前記実行文部の
構文解析時の詳細情報の検索を行う過程を含むことがで
きる。
Further, in the dictionary, a syntax analysis of the execution statement part is performed by linking a dictionary table corresponding to each record type with respect to a data type declaration part of a data structure including another record type declaration in the record type declaration. A process of searching for detailed information on time can be included.

【0012】又本発明の論理シミュレーション方法は、
プログラム言語のC言語に準拠し、このC言語に於ける
文字型と整数型との間の変換,代入,演算を可能とした
C類似言語により信号発生手順を記述し、このC類似言
語による信号発生手順をコンパイラによってC言語に変
換し、インタフェースプログラムによって、ハードウェ
ア記述言語(HDL)により記述された回路の論理シミ
ュレーション時のシミュレーションモデルに結合させ、
この回路の論理シミュレーションを実行する過程を含む
ものである。
The logic simulation method of the present invention is
A signal generation procedure is described in a C-like language that conforms to the C language of the programming language and that enables conversion, substitution, and operation between character types and integer types in this C language, and signals in this C-like language. The generation procedure is converted into C language by the compiler, and is combined with the simulation model at the time of logic simulation of the circuit described by the hardware description language (HDL) by the interface program,
It includes a process of executing a logic simulation of this circuit.

【0013】[0013]

【作用】文字型と整数型との間の変換,代入,演算を可
能としたC類似言語を用いて信号発生手順を記述する。
このC類似言語による信号発生手順をC言語にコンパイ
ルし、このC言語による信号発生手順を実行することに
よってテストパターンを生成する。
The signal generation procedure is described by using a C-like language that enables conversion, substitution, and calculation between character type and integer type.
The signal generation procedure in the C-like language is compiled into the C language, and the test pattern is generated by executing the signal generation procedure in the C language.

【0014】又信号発生手順を、データタイプ宣言部と
データ定義部と実行文部とを含むC類似言語によって記
述する。このデータタイプ宣言部とデータ定義部との解
析によって辞書を作成し、この辞書を実行文部の解析時
に検索してCコードに変換することによって、C類似言
語による信号発生手順をC言語による信号発生手順に変
換する。このC言語による信号発生手順を実行すること
により、所望のテストパターンを生成することができ
る。
The signal generation procedure is described in a C-like language including a data type declaration part, a data definition part, and an execution statement part. A dictionary is created by the analysis of the data type declaration part and the data definition part, and this dictionary is searched during the analysis of the execution sentence part and converted into a C code, so that the signal generation procedure in the C-like language is generated in the C language. Convert to a procedure. A desired test pattern can be generated by executing the signal generation procedure in C language.

【0015】又レコードタイプ宣言の中に他のレコード
タイプ宣言を含む場合に、それぞれのレコードタイプ宣
言対応の辞書テーブルをリンクさせる。従って、実行文
部の解析時に辞書テーブルを検索して詳細情報を得るこ
とによりCコードに変換することができる。
When another record type declaration is included in the record type declaration, the dictionary tables corresponding to the respective record type declarations are linked. Therefore, it can be converted into a C code by searching the dictionary table and obtaining detailed information when analyzing the execution statement part.

【0016】又C類似言語による信号発生手順をコンパ
イラによってC言語に変換し、HDLにより記述された
回路の論理シミュレーションモデルとの間をインタフェ
ースプログラムを介して結合する。それによって、論理
シミュレーションの実行時に信号発生手順がシミュレー
ションモデルに組み込まれた状態となり、外部ファイル
に対するアクセス等が必要でなく、論理シミュレーショ
ンの実行を高速化することができる。又インタフェース
プログラムによってテストパターン生成の為のプログラ
ムとHDLにより記述された回路とが独立した状態とな
り、それぞれ独立した体系で作成,管理することができ
る。
The signal generation procedure in the C-like language is converted into the C language by the compiler, and the logic simulation model of the circuit described in HDL is connected via the interface program. As a result, the signal generation procedure is incorporated in the simulation model when the logical simulation is executed, and it is possible to speed up the execution of the logical simulation without requiring access to an external file. Further, the interface program makes the program for generating the test pattern and the circuit described in HDL independent of each other, and can be created and managed in an independent system.

【0017】[0017]

【実施例】図1は本発明の実施例のテストパターン生成
の概要説明図であり、C言語に準拠し、このC言語に於
ける文字型と整数型との間の変換,代入,演算を可能と
したC類似言語により発生プロセス1を記述する。この
C類似言語による発生プロセス1をテストパターン生成
システム2によりC言語プログラム3に変換する。又コ
ンパイラ・リンケージ5は、C言語プログラム3,4を
ライブラリ形式又は実行形式に変換する。ライブラリ形
式に変換したライブラリ形式ファイル6を形成した場合
は、HDLシミュレータとの接続により、HDLによっ
て記述された各種の論理回路の論理シミュレーションを
行うことができる。又実行形式に変換した実行形式ファ
イル7を形成した場合は、他のプログラム言語により記
述された論理回路の論理シミュレーションに於けるテス
トパターン生成ツールとして使用することができる。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a schematic explanatory diagram of test pattern generation according to an embodiment of the present invention, which is based on the C language, and performs conversion, substitution, and operation between the character type and the integer type in the C language. The generation process 1 is described in the enabled C-like language. The generation process 1 in the C-like language is converted into the C language program 3 by the test pattern generation system 2. The compiler linkage 5 converts the C language programs 3 and 4 into a library format or an execution format. When the library format file 6 converted into the library format is formed, the logic simulation of various logic circuits described by HDL can be performed by connecting with the HDL simulator. Further, when the execution format file 7 converted into the execution format is formed, it can be used as a test pattern generation tool in a logic simulation of a logic circuit described in another programming language.

【0018】発生プロセス1を記述するC類似言語の基
本的な規則はC言語に準拠するものであり、このC類似
言語について簡単に説明する。データタイプには、信号
タイプとレコード信号タイプと変数タイプとの3種類が
あり、信号タイプとレコード信号タイプとは信号値を扱
うデータタイプであり、又変数タイプは整数を扱うデー
タタイプであって、符号付き整数を示すintと、符号
無し整数を示すunsignedとがある。又信号値
は、VHDLのIEEE−1164規格の9値信号
(1,0,H,L,W,U,Z,−)を示す。
The basic rule of the C-like language that describes the generation process 1 conforms to the C language, and the C-like language will be briefly described. There are three types of data types: signal type, record signal type, and variable type. The signal type and record signal type are data types that handle signal values, and the variable types are data types that handle integers. , Int indicating a signed integer and unsigned indicating an unsigned integer. Further, the signal value indicates a nine-valued signal (1, 0, H, L, W, U, Z,-) of VHDL IEEE-1164 standard.

【0019】又信号タイプとレコード信号タイプから変
数タイプへの変換が可能であり、その場合に、前述の9
値の信号値1,Hは数値の1、信号値の0,L,X,
W,U,Z,−は数値の0に変換される。又変数タイプ
から信号タイプ或いはレコード信号タイプへの変換も可
能であり、その場合、数値の1は信号値の1、数値の0
は信号値の0に変換される。又信号タイプ或いはレコー
ド信号タイプの変数タイプへの代入、及び変数タイプの
信号タイプ或いはレコード信号タイプへの代入が可能で
ある。前述の信号タイプとレコード信号タイプとがC言
語に於ける文字型に相当し、又変数タイプがC言語に於
ける整数型に相当する。
Further, it is possible to convert the signal type and the record signal type into the variable type, and in that case, the above 9
Value signal value 1, H is numerical value 1, signal value 0, L, X,
W, U, Z, -are converted to the numerical value 0. It is also possible to convert from variable type to signal type or record signal type. In that case, numerical value 1 is signal value 1 and numerical value 0.
Is converted to the signal value 0. Further, it is possible to substitute the signal type or the record signal type for the variable type and the variable type for the signal type or the record signal type. The above-mentioned signal type and record signal type correspond to the character type in the C language, and the variable type corresponds to the integer type in the C language.

【0020】図2は固有データ記憶テーブル及びモジュ
ール関係の説明図であり、固有データ記憶テーブル10
は、ID番号,テストパターンサイズ,テストパターン
領域,使用変数数,使用変数領域,発生回数等を含み、
テストパターン領域は右側の符号11に示すように、
“0”,“1”によるテストパターンが格納される。又
使用変数領域は右側に符号12に示すように、変数名と
値とがそれぞれ格納されてる。
FIG. 2 is an explanatory diagram of the unique data storage table and the module relationship. The unique data storage table 10 is shown.
Includes ID number, test pattern size, test pattern area, number of used variables, used variable area, number of occurrences, etc.,
The test pattern area is, as indicated by reference numeral 11 on the right side,
A test pattern of "0" and "1" is stored. Further, as shown by reference numeral 12 on the right side of the used variable area, a variable name and a value are stored respectively.

【0021】固有データ記憶テーブル作成モジュール1
3は、パラメータを用いて初期値を設定し、1個の固有
データ記憶テーブル10を作成する。又テストパターン
生成モジュール14は、パラメータを用いて論理回路の
ピンと値とを設定し、そのピン対応の1個のテストパタ
ーンを生成する。従って、値の異なるテストパターンを
複数生成する場合は、それぞれピンと値とを設定するこ
とによって、複数のテストパターンを生成することがで
きる。又予め固有データ記憶テーブル作成モジュール1
3により複数の固有データ記憶テーブル10を作成して
テストパターン生成モジュール14に渡し、このテスト
パターン生成モジュール14は、それぞれ固有データ記
憶テーブルを用いてテストパターンを生成することもで
きる。
Unique data storage table creation module 1
3 sets an initial value using a parameter and creates one unique data storage table 10. Further, the test pattern generation module 14 sets a pin and a value of the logic circuit by using the parameter and generates one test pattern corresponding to the pin. Therefore, when a plurality of test patterns having different values are generated, a plurality of test patterns can be generated by setting pins and values respectively. In addition, a unique data storage table creation module 1
3, a plurality of unique data storage tables 10 are created and passed to the test pattern generation module 14, and the test pattern generation module 14 can also generate a test pattern using each unique data storage table.

【0022】図3は固有データ記憶テーブル作成処理フ
ローチャートであり、固有データ記憶テーブル10の使
用変数数によって示される使用変数分のループを実行す
るもので、その使用変数分のループか否かを判定し(a
1)、使用変数分のループが終了しない場合(ループ
中)は、ループ数から現在の使用変数領域の位置(配列
位置)を判定し(a2)、その配列位置に格納されてい
る値をテストパターン領域に書込み(a3)、これを繰
り返すことによりテストパターンを生成する。
FIG. 3 is a flowchart of the processing for creating a unique data storage table, which executes a loop for the used variables indicated by the number of used variables in the unique data storage table 10 and determines whether or not the loop for the used variables. Shi (a
1) If the loop for the used variables does not end (during the loop), the current position of the used variable area (array position) is determined from the number of loops (a2), and the value stored in the array position is tested. A test pattern is generated by writing (a3) in the pattern area and repeating this.

【0023】図4はコンパイラの説明図であり、前述の
C類似言語により記述した信号発生手順15は、図1の
発生プロセス1に相当し、コンパイラ16は、図1のテ
ストパターン生成システム2に相当し、信号発生器17
は、図1のC言語プログラム3,4に相当する。
FIG. 4 is an explanatory diagram of the compiler. The signal generation procedure 15 described in the C-like language described above corresponds to the generation process 1 of FIG. 1, and the compiler 16 controls the test pattern generation system 2 of FIG. Corresponding to the signal generator 17
Corresponds to the C language programs 3 and 4 in FIG.

【0024】コンパイラ16は、前述のC類似言語によ
り記述したプログラムを解析処理部18により解析し、
実行文の解析結果に対応するC言語のコードを出力する
もので、解析処理部18は、C類似言語によるデータタ
イプ宣言とデータ定義の部分を構文解析して辞書19を
作成する。そして、実行文解析時にこの辞書19を検索
して、実行文に相当するC言語のコードを出力して信号
発生器17に加え、信号発生器17からテストパターン
を出力する。
The compiler 16 analyzes the program described in the C-like language by the analysis processing unit 18,
The C language code corresponding to the analysis result of the executable statement is output, and the analysis processing unit 18 creates a dictionary 19 by parsing the data type declaration and data definition portions in the C similar language. Then, during the execution sentence analysis, the dictionary 19 is searched, a C language code corresponding to the execution sentence is output and added to the signal generator 17, and a test pattern is output from the signal generator 17.

【0025】図5は信号発生器関数の動作概要説明図で
あり、前述のコンパイラ16によってコンパイルされた
C言語は、C類似言語による信号発生手順中で使用され
る変数の領域を確保する関数(a)と、その領域を使用
して信号発生手順に従った発生処理を行う関数(b)と
を有し、関数(a)を呼ぶことにより複数の信号発生器
を作成することができるものである。
FIG. 5 is an explanatory view of the outline of the operation of the signal generator function. The C language compiled by the compiler 16 described above is a function for securing a variable area used in a signal generation procedure in the C-like language ( a) and a function (b) that performs generation processing according to a signal generation procedure using the area, and a plurality of signal generators can be created by calling the function (a). is there.

【0026】前述の図5に於いては、A,B,C信号発
生器作成要求に対応した信号発生器領域作成関数によっ
て、それぞれ信号発生器を構成するA,B,C信号発生
器領域が確保される。そして、例えば、A信号発生器領
域を信号発生器関数に知らせることにより、A信号発生
器の発生信号が出力される。即ち、同様な手順によって
複数の信号発生器を起動できるものである。
In FIG. 5 described above, the A, B, and C signal generator regions constituting the signal generator are respectively defined by the signal generator region generation function corresponding to the A, B, and C signal generator generation request. Reserved. Then, for example, the signal generated by the A signal generator is output by informing the signal generator function of the A signal generator region. That is, a plurality of signal generators can be activated by the same procedure.

【0027】信号発生器の構成としては、データタイプ
宣言部と信号発生器定義とからなり、又データタイプ宣
言部は、記号データタイプ宣言とレコードタイプ宣言と
からなる。又信号発生器定義は、信号,変数の宣言を行
う変数宣言部と、信号発生器の発生手順を記述する実行
文部とからなる。この信号発生器定義内で呼出される任
意数の信号発生器定義を記述することが可能である。又
信号発生器定義の中で使用する実行文は、代入文,条件
文,スイッチ文,ブレーク文,複文,空文がある。
The structure of the signal generator comprises a data type declaration section and a signal generator definition, and the data type declaration section comprises a symbol data type declaration and a record type declaration. The signal generator definition is composed of a variable declaration section for declaring signals and variables, and an execution statement section for describing the generation procedure of the signal generator. It is possible to describe any number of signal generator definitions that are called within this signal generator definition. The executable statements used in the signal generator definition include assignment statements, conditional statements, switch statements, break statements, compound statements, and empty statements.

【0028】図6は本発明の実施例のテーブルの説明図
であり、図4に於ける辞書19の構成を示す。即ち、管
理テーブルsgi manag、記号データタイプ宣言
管理テーブルsgi typmang、記号データタイ
プ宣言格納テーブルsgi typdata、レコード信
号タイプテーブルsgi recmang、辞書管理テ
ーブルsgi dicmang、信号/レコード辞書テ
ーブルsgi dicsig、信号発生器辞書テーブル
sgi dicgen、変数辞書テーブルsgi di
cvalを含むものである。
FIG. 6 is an explanatory diagram of a table according to the embodiment of the present invention.
And shows the configuration of the dictionary 19 in FIG. That is, the pipe
Science table sgi manag, symbolic data type declaration
Management table sgi typmang, symbol data Thailand
Storage table sgi typedata, record message
No. type table sgi recmang, dictionary management
Table sgi dicmang, signal / record dictionary
Table sgi dicsig, signal generator dictionary table
sgi dicgen, variable dictionary table sgi di
It includes cval.

【0029】図7は本発明の実施例の管理テーブルの説
明図であり、この管理テーブルsgi managは、
信号発生器プログラムを管理するテーブルで、他の定義
テーブルや辞書テーブル等のアドレスや、入出力ファイ
ル名及びそのポインタも管理するものであり、入力ファ
イル名sginame、入力ファイル用ファイルポイン
タsgifp、出力ファイル名outname、出力フ
ァイル用ファイルポインタoutfp、記号データタイ
プ宣言管理テーブルへのポインタtypmang、レコ
ード信号タイプ宣言格納テーブルへのポインタrecm
ang、辞書テーブルへのポインタdicmang、e
stockテーブル信号値格納領域の最大値sigs
izeから構成されている。
FIG. 7 is an explanatory diagram of the management table according to the embodiment of the present invention. This management table sgi manag is
A table that manages the signal generator program, which also manages addresses of other definition tables, dictionary tables, etc., input / output file names and their pointers. Input file name sginame, input file file pointer sgifp, output file Name outname, file pointer outfp for output file, pointer typman to symbol data type declaration management table, pointer recm to record signal type declaration storage table
ang, pointer to dictionary table dicmang, e
Maximum value of stock table signal value storage area sigs
It is composed of size.

【0030】図8は本発明の実施例の記号データタイプ
宣言管理テーブル及び記号データタイプ宣言格納テーブ
ルの説明図であり、記号データタイプ宣言管理テーブル
sgi typmangは、“typedef”文の情
報を格納するテーブルで、次のテーブルへのポインタn
extp、記号データタイプ名typname、記号デ
ータのサイズ(ビット長)leng、記号データ数nu
m、記号データタイプ宣言格納テーブルへのポインタt
ypdataから構成されている。
FIG. 8 is an explanatory diagram of the symbol data type declaration management table and the symbol data type declaration storage table according to the embodiment of the present invention. The symbol data type declaration management table sgi is shown in FIG. typmang is a table that stores information of a “typedef” statement, and is a pointer n to the next table.
ext, symbol data type name typname, symbol data size (bit length) length, number of symbol data nu
m, a pointer t to the symbol data type declaration storage table
It is composed of ypdata.

【0031】又記号データタイプ宣言格納テーブルsg
typdataは、記号データタイプの記号値とビ
ット値とを格納するテーブルで、記号データタイプ宣言
管理テーブルの記号データ数numに従った個数が存在
するものであり、次のテーブルへのポインタnext
p、記号値symval、ビット値bitvalから構
成されている。
The symbol data type declaration storage table sg
i The typedata is a table for storing the symbol value and the bit value of the symbol data type, the number of which corresponds to the symbol data number num of the symbol data type declaration management table exists, and a pointer next to the next table.
p, a symbol value symval, and a bit value bitval.

【0032】図9は本発明の実施例のレコード信号タイ
プテーブルの説明図であり、このレコード信号タイプテ
ーブルsgi recmangは、レコード宣言タイプ
を格納する場合と、その各メンバタイプの格納する場合
と、ビット宣言単体の場合と、unionを表す場合と
の4通りがあり、次のテーブルへのポインタnext
p、タイプtype、前述の4通りの場合の何れである
かを示すデータタイプ名typname、シーケンシャ
ル番号seqno、レコード宣言サイズleng、レコ
ード宣言内の各メンバの相対バイト数pos、メンバ数
num、レコード信号タイプメンバ情報格納テーブルへ
のポインタmemaddr、メンバ名memname、
記号データタイプ宣言管理テーブルへのポインタtyp
addrから構成されている。
FIG. 9 is an explanatory view of the record signal type table of the embodiment of the present invention. This record signal type table sgi There are four types of rechang: storing a record declaration type, storing each member type thereof, a bit declaration alone, and representing a union, and a pointer next to the next table.
p, type type, data type name typname indicating which of the above four cases, sequential number seqno, record declaration size len, relative byte number pos of each member in the record declaration, member number num, record signal Pointer to type member information storage table memaddr, member name memname,
Pointer type to the symbol data type declaration management table
It is composed of addr.

【0033】図10は本発明の実施例の辞書管理テーブ
ルの説明図であり、この辞書管理テーブルsgi di
cmangは、信号/レコード,信号発生器,変数の3
つのタイプ別に検索できるように、それぞれ対応する下
位のテーブル(インデックステーブル)を備えており、
信号/レコード数signum、信号/レコード辞書テ
ーブルへのポインタdicsig、信号発生器サイズの
インクリメント(トータルサイズ)gensize、信
号発生器数gennum、信号発生器辞書テーブルへの
ポインタdicgin、変数の数valnum、変数辞
書テーブルへのポインタdicval、信号発生器の型
各名gentyp、ビット長bitsize、信号発生
器名geninst、ラベル作成追番lblmang、
stockテーブルの階層深さdepmangから
構成されている。
FIG. 10 is an explanatory diagram of a dictionary management table according to the embodiment of the present invention. This dictionary management table sgi di
cmang is a signal / record, a signal generator, and a variable 3
It has a corresponding lower table (index table) so that you can search by one type.
Signal / record number signal, pointer dicsig to signal / record dictionary table, signal generator size increment (total size) gensize, number of signal generator gennum, pointer to signal generator dictionary table dicgin, number of variables valnum, variable Pointer dicval to dictionary table, signal generator type name gentyp, bit length bitsize, signal generator name geninst, label creation serial number lblmang,
e The stock table is composed of the hierarchy depth depth.

【0034】図11は本発明の実施例の信号/レコード
辞書テーブルの説明図であり、この信号/レコード辞書
テーブルsgi dicsigは、信号/レコードのデ
ータタイプやサイズ,メンバ数,メンバ名等を格納して
いるテーブルを検索する為の辞書テーブルで、次の信号
/レコード辞書テーブルへのポインタnextp、対応
するレコード信号タイプ宣言格納テーブルへのポインタ
recmang、シーケンシャル番号seqnum、信
号/レコード名signame、初期値siginit
から構成されている。
FIG. 11 is an explanatory diagram of the signal / record dictionary table of the embodiment of the present invention. This signal / record dictionary table sgi is shown. dicsig is a dictionary table for searching a table that stores data types and sizes of signals / records, the number of members, member names, and the like. A pointer nextp to the next signal / record dictionary table and a corresponding record signal type Pointer to the declaration storage table, recmang, sequential number seqnum, signal / record name signname, initial value signinit
It consists of

【0035】図12は本発明の実施例の信号発生器辞書
テーブル及び変数辞書テーブルの説明図であり、信号発
生器辞書テーブルsgi dicgenは、信号発生器
の型名,固有名,信号発生器固有データテーブル内の信
号発生器識別子格納配列領域の配列番号等を格納する辞
書テーブルで、次の信号発生器辞書テーブルへのポイン
タnextp、シーケンシャル番号seqnum、信号
発生器固有名instname、信号発生器型各名ty
pname、信号発生器名gennameから構成され
ている。
FIG. 12 is an explanatory diagram of the signal generator dictionary table and the variable dictionary table of the embodiment of the present invention. The signal generator dictionary table sgi is shown in FIG. dicgen is a dictionary table that stores the type name, unique name of the signal generator, the array number of the signal generator identifier storage array area in the signal generator unique data table, and the pointer nextp to the next signal generator dictionary table. , Sequential number seqnum, signal generator proper name instname, signal generator type name ty
It is composed of a pname and a signal generator name genname.

【0036】又変数辞書テーブルsgi dicval
は、変数名やその初期値を格納する辞書テーブルで、次
の変数辞書テーブルへのポインタnextp、シーケン
シャル番号seqnum、変数の型typflg、変数
名valname、初期値valinitから構成され
ている。
The variable dictionary table sgi dicval
Is a dictionary table that stores variable names and their initial values, and is composed of a pointer nextp to the next variable dictionary table, a sequential number seqnum, a variable type typflg, a variable name valname, and an initial value valinit.

【0037】図13は本発明の実施例のテーブル接続関
係説明図であり、前述の各テーブルの接続関係を示し、
管理テーブルsgi managのポインタtypma
ngにより記号データタイプ宣言管理テーブルsgi
typmang、ポインタrecmangによりレコー
ド信号タイプ宣言格納テーブルsgi recman
g、ポインタdicmangにより辞書情報テーブルs
gi dicmangがそれぞれ指示される。
FIG. 13 is an explanatory diagram of the table connection relation of the embodiment of the present invention, showing the connection relation of each table described above.
Management table sgi pointer typma of manag
ng symbol data type declaration management table sgi
record signal type declaration storage table sgi by typmang and pointer recmang recman
g, dictionary information table s by pointer dicmang
gi dicmang is designated respectively.

【0038】又記号データタイプ宣言管理テーブルsg
typmangからポインタtypdataにより
記号データタイプ宣言格納テーブルsgi typda
taが指示される。又レコード信号タイプ宣言格納テー
ブルsgi recmangは、管理テーブルsgi
managのポインタtypmangと、レコード信号
宣言の場合の信号/レコード辞書テーブルsgi di
csigのポインタrecmangとにより指示され
る。
The symbol data type declaration management table sg
i Symbol data type declaration storage table sgi from typmang by pointer typdata typeda
ta is designated. Also, record signal type declaration storage table sgi recmang is the management table sgi
The pointer typman of the manag and the signal / record dictionary table sgi in the case of the record signal declaration di
It is designated by the csig pointer recmang.

【0039】又辞書管理テーブルsig dicman
gのポインタdicsigにより信号/レコード辞書テ
ーブルsgi dicsig、ポインタdicgenに
より信号発生器辞書テーブルsgi dicgen、ポ
インタdicvalにより変数辞書テーブルsgi
icvalが指示される。又信号単体の場合に、信号/
レコード辞書テーブルsgi dicsigのポインタ
recmangによりレコード信号タイプテーブルsg
recmangが指示される。
The dictionary management table sig dicman
signal / record dictionary table sgi by pointer dicsig of g signal generator dictionary table sgi by dicsig and pointer dicgen variable dictionary table sgi by dicgen and pointer dicval d
icval is indicated. In the case of a single signal,
Record dictionary table sgi Record signal type table sg by pointer recmang of dicsig
i rechang is instructed.

【0040】図14,図15及び図16は本発明の実施
例の実行文に対するCコードの説明図であり、実行文の
代入文,条件文,スイッチ文,ブレーク文,複文,空文
及び関数について、フォーマットと、実行文の解析によ
って出力されるCコードとを示す。例えば、図14に於
ける代入文は、式の結果をターゲット(target)
に格納するもので、ターゲットと式とが信号型と整数型
との組合せによって4通りのパターンの出力となる。な
お、esは式スタックを示し、es0は式スタック0番
を表し、es0iは式スタック0番の信号領域、es0
sは式スタック0番の整数領域を表す。又Sgcは共通
関数で、信号値の代入や演算,型変換等を行うことを示
し、又lengはターゲット(taget)の領域長を
表す。
FIG. 14, FIG. 15 and FIG. 16 are explanatory diagrams of the C code for the execution statement of the embodiment of the present invention. The assignment statement of the execution statement, the conditional statement, the switch statement, the break statement, the compound statement, the empty statement and the function. For, the format and the C code output by the analysis of the executable statement are shown. For example, the assignment statement in FIG. 14 targets the result of the expression (target).
The target and the expression are output in four patterns depending on the combination of the signal type and the integer type. Note that es indicates the expression stack, es0 indicates the expression stack 0, es0i indicates the signal area of the expression stack 0, and es0
s represents the integer area of the formula stack 0. Further, Sgc is a common function, which indicates that signal value substitution, calculation, type conversion, etc. are performed, and length represents the area length of the target.

【0041】又条件文は、条件の真偽に従って処理を分
岐するもので、条件文の式はint型であり、0の時に
偽、0以外の時に真と判定し、条件式の演算結果がin
t型以外の時は、int型への変換が行われる。
The conditional statement branches processing according to the truth of the condition. The expression of the conditional statement is an int type. When it is 0, it is determined to be false, and when it is not 0, it is determined to be true, and the operation result of the conditional expression is in
When it is other than t type, conversion to int type is performed.

【0042】又図15に於けるスイッチ文は、複数の分
岐先の中から条件に合うものを選択するもので、条件に
合うものがない場合、defaultの記述があればそ
の実行文を実行し、defaultの記述がなければそ
の実行文を抜け出す。又ブレーク文は、スイッチ文の中
から抜ける為のものである。又図16に於ける複文は、
複数の実行文を{ }によってまとめたものであり、又
空文は何もしない文であり、フォーマットの;のみを出
力する。
The switch statement in FIG. 15 selects one that meets the condition from a plurality of branch destinations. If there is no condition that meets the condition, the executable statement is executed if there is a default description. , Default, the execution statement is exited. The break statement is for exiting from the switch statement. The compound sentence in FIG. 16 is
A plurality of executable statements are grouped by {}. An empty sentence is a sentence that does nothing, and only the format; is output.

【0043】図17は本発明の実施例の代入文の解析処
理フローチャートであり、式の解析処理を行い(b
1)、各代入パターンについて判定し(b2)、式の計
算結果をターゲットの格納領域に格納する(b3)〜
(b6)。即ち、信号型同士の代入(b3)、整数型同
士の代入(b4)、信号型から整数型への代入は、式の
結果を整数型に変換してターゲットの領域に変換結果を
格納する(b5),(b7)。又整数型から信号型への
代入は、式の結果を信号型に変換してターゲットの領域
に変換結果を格納する(b6),(b8)。
FIG. 17 is a flow chart of the assignment statement analysis processing according to the embodiment of the present invention.
1), determination is made for each substitution pattern (b2), and the calculation result of the expression is stored in the target storage area (b3)-
(B6). That is, in the assignment of signal types (b3), the assignment of integer types (b4), and the assignment of signal types to integer types, the result of the expression is converted into an integer type and the conversion result is stored in the target area ( b5), (b7). When substituting from the integer type to the signal type, the result of the expression is converted to the signal type and the conversion result is stored in the target area (b6) and (b8).

【0044】図18は本発明の実施例の条件文の解析処
理フローチャートであり、条件式の解析処理を行い(c
1)、条件式の結果を判定し(c2)、真(t)の場合
は肯定の実行文群のCコードを出力し(c3)、偽
(f)の場合は否定の実行文群のCコードを出力する
(c4)。
FIG. 18 is a flowchart for analyzing conditional statements according to the embodiment of the present invention, in which conditional expressions are analyzed (c
1), the result of the conditional expression is determined (c2), the C code of the positive execution statement group is output if it is true (t) (c3), and the C code of the negative execution statement group is output if it is false (f). The code is output (c4).

【0045】図19は本発明の実施例のスイッチ文及び
ブレーク文の解析処理フローチャートであり、スイッチ
文(switch文)について式の解析処理を行い(d
1)、解析結果をスタックに格納し(d2)、ケース1
として、リテラルの解析処理を行い(d3)、リテラル
とスタックとの比較し(d4)、比較結果を判定し(d
5)、比較結果が真(t)(比較一致)の場合はフラグ
をオン(“1”)とし(d6)、偽(f)(比較不一
致)の場合はそのままとする。そして、フラグを判定し
(d7)、フラグがオン(“1”)ならば真(t)とし
て、ケース1の実行文群のCコードを出力する(d
8)。
FIG. 19 is a flow chart for analyzing a switch statement and a break statement according to the embodiment of the present invention. Expression analysis processing is performed for a switch statement (switch statement) (d).
1), the analysis result is stored in the stack (d2), and case 1
, The literal is analyzed (d3), the literal is compared with the stack (d4), and the comparison result is judged (d3).
5) If the comparison result is true (t) (comparison match), the flag is turned on ("1") (d6), and if false (f) (comparison disagreement), it is left as it is. Then, the flag is judged (d7), and if the flag is on ("1"), it is true (t) and the C code of the execution statement group of case 1 is output (d).
8).

【0046】又フラグがオン(“1”)でない時は、ケ
ース2のリテラル解析処理を行い(d9)、リテラルと
スタックとを比較し(d10)、比較結果を判定し(d
11)、真(t)(比較一致)の場合はフラグをオン
(“1”)とし(d12)、次にフラグを判定し(d1
3)、フラグがオン(“1”)ならば真(t)としてケ
ース2の実行文群のCコードを出力する(d14)。以
下同様にして、デフォルト(default)の実行文
群のCコードを出力する(d15)。又ブレーク文(b
reak)がケース1,2,・・・の実行文群に存在す
る場合は、ステップ(d16)のように、そのブレーク
文が真(t)の場合にスイッチ文を抜けることになり、
偽(f)の場合は次にステップが移行することになる。
When the flag is not on ("1"), the literal analysis processing of case 2 is performed (d9), the literal and the stack are compared (d10), and the comparison result is judged (d9).
11), if true (t) (comparison match), the flag is turned on ("1") (d12), and then the flag is determined (d1).
3) If the flag is on ("1"), the C code of the execution statement group of case 2 is output as true (t) (d14). Similarly, the C code of the default (default) execution statement group is output (d15). Also break statement (b
If the break statement exists in the execution statement group of cases 1, 2, ..., As in step (d16), if the break statement is true (t), the switch statement is exited.
If false (f), the step moves to the next step.

【0047】図20は本発明の実施例の関数の解析処理
フローチャートであり、パラメータ群について解析処理
を行い(e1),(e2),(e3)、式の解析結果を
パラメータとして関数を実行する(e4)。
FIG. 20 is a flow chart of the function analysis processing of the embodiment of the present invention. The analysis processing is performed on the parameter group (e1), (e2), (e3), and the function is executed using the analysis result of the equation as a parameter. (E4).

【0048】図21は本発明の実施例の信号発生器の動
作説明図であり、実線矢印はコンパイルの流れを示し、
点線矢印は信号発生器の動作の流れを示す。前述のC類
似言語によるプログラム31を解析部32により解析す
るもので、例えば、C類似言語によるint A,
B,・・・のデータ部分を解析して辞書33を形成す
る。辞書33は図10に示す辞書管理テーブル等を含
み、変数詳細情報として、変数A,B,・・・対応に、
名前A,B,・・・、int等の型、格納位置、領域長
等が格納される。
FIG. 21 is a diagram for explaining the operation of the signal generator according to the embodiment of the present invention, in which the solid arrow indicates the flow of compilation,
The dotted arrows show the flow of operation of the signal generator. The program 31 in the C-similar language is analyzed by the analysis unit 32. For example, int A in the C-similar language,
The dictionary 33 is formed by analyzing the data portions of B, .... The dictionary 33 includes the dictionary management table and the like shown in FIG. 10, and as variable detailed information corresponds to variables A, B, ...
Types such as names A, B, ..., Int, storage positions, area lengths, etc. are stored.

【0049】次にプログラム31の代入文A=1,
B=2のそれぞれの左辺と右辺とを解析する。A=1の
左辺の変数Aについては、辞書33を検索して詳細情報
を得ることができる。同様に、B=2の左辺の変数Bに
ついても辞書33を検索して詳細情報を得ることができ
る。又右辺はそれぞれ定数の場合を示し、解析された結
果を基に、Cコードを出力し、作成部34により信号発
生器領域36を形成できるC言語によるプログラム35
を作成し、これを実行することにより、信号発生器領域
36を形成する。
Next, the assignment statement A = 1 of the program 31
Analyze each left and right side of B = 2. For the variable A on the left side of A = 1, detailed information can be obtained by searching the dictionary 33. Similarly, detailed information can be obtained by searching the dictionary 33 for the variable B on the left side of B = 2. In addition, the right side shows the case of constants, respectively, based on the analyzed result, the C code is output, and the program 35 in C language that can form the signal generator area 36 by the creating unit 34.
Is formed and is executed to form the signal generator region 36.

【0050】テストパターン生成のC言語プログラム3
7は、変数A,Bについて、信号発生器として確保され
た領域の書出し位置に定数の1,2を代入した状態を示
し、このC言語プログラム37を実行することにより、
信号値がシミュレータにテストパターンとして加えられ
る。
C language program 3 for test pattern generation
7 shows a state in which constants 1 and 2 are assigned to the writing positions of the areas secured as the signal generator for the variables A and B, and by executing the C language program 37,
The signal value is added to the simulator as a test pattern.

【0051】図22は本発明の実施例の辞書の作成説明
図であり、図4の辞書19の一例を示すもので、C類似
言語による例文に示すように、ATM CELLのレコ
ードタイプ宣言(record ATM CELL)の
中に、PAYLOADというレコードタイプ宣言(re
cord PAYLOAD payload;)が現れ
た場合の辞書を示すものである。
FIG. 22 is a diagram for explaining the creation of the dictionary according to the embodiment of the present invention, which shows an example of the dictionary 19 shown in FIG. CELL record type declaration (record ATM In CELL, the record type declaration called PAYLOAD (re
It shows a dictionary when "cord PAYLOAD payload") appears.

【0052】同図に於いて、Aはレコードタイプ宣言A
TM CELLに対応するレコード信号タイプテーブル
sgi recmang、Cは他のレコードタイプ宣言
PAYLOADに対応するレコード信号タイプテーブル
sgi recmang、BはAのレコードタイプ宣言
内の各メンバVpi,payload,Vciに対応す
るレコード信号タイプテーブルsgi recmang
で、その中のEは、Aのレコードタイプ宣言内のメンバ
payloadに対応し、Cのレコード信号タイプテー
ブルよりコピーしたものである。又DはCのレコードタ
イプ宣言内の各メンバseq,dummyに対応するテ
ーブルを示す。
In the figure, A is a record type declaration A.
TM Record signal type table sgi corresponding to CELL RECMANG and C are record signal type tables sgi corresponding to other record type declarations PAYLOAD RECMANG and B are record signal type tables sgi corresponding to the respective members Vpi, payload, and Vci in the record type declaration of A. rechang
Then, E in it corresponds to the member payload in the record type declaration of A, and is copied from the record signal type table of C. Further, D indicates a table corresponding to each member seq, dummy in the record type declaration of C.

【0053】前述のように、或るレコードタイプ宣言の
中に他のレコードタイプ宣言が現れた場合に、それぞれ
のレコード信号タイプテーブルをリンクさせることによ
り、それぞれの変数の詳細情報が検索可能となる。従っ
て、C類似言語による実行文時に、この辞書を検索して
C言語に変換することができる。
As described above, when another record type declaration appears in a certain record type declaration, by linking each record signal type table, detailed information of each variable can be retrieved. . Therefore, this dictionary can be searched and converted into the C language when an execution sentence is written in the C-like language.

【0054】図23は本発明の実施例の論理シミュレー
ションの説明図であり、C類似言語によりテストパター
ンを生成する為の信号発生手順が記述されたC類似言語
プログラム40をコンパイルしてC言語プログラム41
に変換する。又VHDLによって記述されたVHDL記
述回路44をコンパイルしてシミュレーションモデル4
6とし、このシミュレーションモデル46にテストパタ
ーン生成の為のTP発生オブジェクト45を結合した論
理シミュレータ43と、C言語プログラム41とをイン
タフェースプログラム42を介して結合する。
FIG. 23 is an explanatory diagram of the logic simulation of the embodiment of the present invention. The C-similar language program 40 in which the signal generation procedure for generating the test pattern is described by the C-similar language is compiled and the C-language program is compiled. 41
Convert to. In addition, the VHDL description circuit 44 described in VHDL is compiled and the simulation model 4
6, a logic simulator 43 in which a TP generation object 45 for generating a test pattern is connected to the simulation model 46 and a C language program 41 are connected via an interface program 42.

【0055】それによって、C類似言語によって記述さ
れた信号発生手順に従ったテストパターンがTP発生オ
ブジェクト45から生成され、シミュレーションモデル
とリンクすることにより、論理シミュレーションを実行
することができる。その場合、外部ファイルにテストパ
ターンを記述した従来例に比較して、外部ファイルにテ
ストパターンの記述と、それをテストベンチに読み込む
為の記述との手数が必要でなく、且つ外部ファイルへの
アクセスを必要としないから、高速で論理シミュレーシ
ョンを実行することができる。
As a result, a test pattern according to the signal generation procedure described in the C-like language is generated from the TP generation object 45, and the logic simulation can be executed by linking with the simulation model. In that case, compared to the conventional example in which the test pattern is written in the external file, it is not necessary to write the test pattern in the external file and the description for reading it into the test bench, and access to the external file Therefore, the logical simulation can be executed at high speed because the above is not required.

【0056】又テストベンチ上に直接テストパターンを
記述した従来例に比較して、HDLの記述量が少なくて
済む利点がある。それによってデバッグが容易となる。
又テストパターンを生成する側と、HDL記述回路側と
を、インタフェースプログラム42を介して相互に独立
的に取り扱うことができるから、版数管理等が容易とな
る。又C類似言語によって信号発生手順を記述するか
ら、長大なテストパターン生成の場合も容易に作成する
ことができる。
Further, as compared with the conventional example in which the test pattern is described directly on the test bench, there is an advantage that the amount of HDL description is small. This makes debugging easier.
Further, since the side for generating the test pattern and the side for the HDL description circuit can be handled independently of each other via the interface program 42, version number management and the like become easy. Also, since the signal generation procedure is described in C-like language, it is possible to easily create a long test pattern.

【0057】[0057]

【発明の効果】以上説明したように、本発明は、C言語
に於ける文字型と整数型との間の変換,代入,演算を可
能としたC類似言語を用いてテストパターン生成の為の
信号発生手順を記述し、コンパイラによってC言語に変
換し、C言語による信号発生手順を実行することにより
論理シミュレーションに使用するテストパターンを生成
するものであり、C類似言語は、C言語の文法に準拠
し、且つ前述のように文字型と整数型との間の変換,代
入等を可能としたもので、信号発生手順の記述が容易で
あるから、長大なテストパターンの生成も容易となる利
点がある。
As described above, the present invention is for generating a test pattern by using a C-like language which enables conversion, substitution and operation between character type and integer type in C language. A signal generation procedure is described, converted into C language by a compiler, and a test pattern used for logic simulation is generated by executing the signal generation procedure in C language. The C-like language has a grammar of C language. It is compliant and enables conversion and substitution between character type and integer type as described above, and because the signal generation procedure is easy to describe, it is easy to generate long test patterns. There is.

【0058】又前述のC言語に変換して信号発生手順
と、HDLにより記述した各種の論理回路とをインタフ
ェースプログラムを介して結合することにより、シミュ
レーションモデルに信号発生手順が組み込まれた状態で
論理シミュレーションを実行することができる。従っ
て、外部ファイルへアクセス等が必要でなく、且つHD
Lによる回路の記述と共に信号発生手順を記述する必要
がなく、論理シミュレーションを容易且つ高速で実行で
きる利点がある。
Also, by converting the signal generation procedure described above into the C language and various logic circuits described in HDL through an interface program, the logic is performed in a state where the signal generation procedure is incorporated in the simulation model. The simulation can be run. Therefore, it is not necessary to access external files, and HD
It is not necessary to describe the signal generation procedure together with the description of the circuit by L, and there is an advantage that the logic simulation can be executed easily and at high speed.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施例のテストパターン生成の概要説
明図である。
FIG. 1 is a schematic explanatory diagram of test pattern generation according to an embodiment of the present invention.

【図2】固有データ記憶テーブル及びモジュール関係の
説明図である。
FIG. 2 is an explanatory diagram of a unique data storage table and module relationships.

【図3】固有データ記憶テーブル作成処理フローチャー
トである。
FIG. 3 is a unique data storage table creation processing flowchart.

【図4】コンパイラの説明図である。FIG. 4 is an explanatory diagram of a compiler.

【図5】信号発生器関数の動作概要説明図である。FIG. 5 is a diagram illustrating an outline of operation of a signal generator function.

【図6】本発明の実施例のテーブルの説明図である。FIG. 6 is an explanatory diagram of a table according to the embodiment of this invention.

【図7】本発明の実施例の管理テーブルの説明図であ
る。
FIG. 7 is an explanatory diagram of a management table according to the embodiment of this invention.

【図8】本発明の実施例の記号データタイプ宣言管理テ
ーブル及び記号データタイプ宣言格納テーブルの説明図
である。
FIG. 8 is an explanatory diagram of a symbol data type declaration management table and a symbol data type declaration storage table according to the embodiment of this invention.

【図9】本発明の実施例のレコード信号タイプテーブル
の説明図である。
FIG. 9 is an explanatory diagram of a record signal type table according to the embodiment of this invention.

【図10】本発明の実施例の辞書管理テーブルの説明図
である。
FIG. 10 is an explanatory diagram of a dictionary management table according to the embodiment of this invention.

【図11】本発明の実施例の信号/レコード辞書テーブ
ルの説明図である。
FIG. 11 is an explanatory diagram of a signal / record dictionary table according to the embodiment of this invention.

【図12】本発明の実施例の信号発生器辞書テーブル及
び変数辞書テーブルの説明図である。
FIG. 12 is an explanatory diagram of a signal generator dictionary table and a variable dictionary table according to the embodiment of this invention.

【図13】本発明の実施例のテーブル接続関係説明図で
ある。
FIG. 13 is an explanatory diagram of a table connection relationship according to the embodiment of this invention.

【図14】本発明の実施例の実行文に対するCコードの
説明図である。
FIG. 14 is an explanatory diagram of a C code for an execution statement according to the embodiment of this invention.

【図15】本発明の実施例の実行文に対するCコードの
説明図である。
FIG. 15 is an explanatory diagram of a C code for an execution statement according to the embodiment of this invention.

【図16】本発明の実施例の実行文に対するCコードの
説明図である。
FIG. 16 is an explanatory diagram of a C code for an execution statement according to the embodiment of this invention.

【図17】本発明の実施例の代入文の解析処理フローチ
ャートである。
FIG. 17 is a flowchart of an assignment statement analysis process according to the embodiment of this invention.

【図18】本発明の実施例の条件式の解析処理フローチ
ャートである。
FIG. 18 is a flowchart of a conditional expression analysis process according to the embodiment of this invention.

【図19】本発明の実施例のスイッチ文及びブレーク文
の解析処理フローチャートである。
FIG. 19 is a flow chart for analyzing a switch statement and a break statement according to the embodiment of this invention.

【図20】本発明の実施例の関数の解析処理フローチャ
ートである。
FIG. 20 is a function analysis flowchart of the function according to the embodiment of this invention.

【図21】本発明の実施例の信号発生器の動作説明図で
ある。
FIG. 21 is an operation explanatory diagram of the signal generator according to the embodiment of the present invention.

【図22】本発明の実施例の辞書の作成説明図である。FIG. 22 is an explanatory diagram of creating a dictionary according to the embodiment of this invention.

【図23】本発明の実施例の論理シミュレーションの説
明図である。
FIG. 23 is an explanatory diagram of a logic simulation according to the embodiment of this invention.

【符号の説明】[Explanation of symbols]

1 発生プロセス 2 テストパターン生成システム 3 C言語プログラム 4 C言語プログラム 5 コンパイラ・リンケージ 6 ライブラリ形式ファイル 7 実行形式ファイル 8 HDLシミュレータ 1 Generation Process 2 Test Pattern Generation System 3 C Language Program 4 C Language Program 5 Compiler Linkage 6 Library Format File 7 Execution Format File 8 HDL Simulator

フロントページの続き (72)発明者 平本 覚 栃木県小山市城東3丁目28番1号 富士通 キャドテック株式会社内 (72)発明者 山崎 正実 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内Front page continuation (72) Inventor Satoru Hiramoto 3-28-1, Joto, Oyama, Tochigi Prefecture, within Fujitsu Cadtech Co., Ltd. (72) Masami Yamazaki, 1015 Uedotachu, Nakahara-ku, Kawasaki-shi, Kanagawa Within Fujitsu Limited

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 プログラム言語のC言語に準拠し、該C
言語に於ける文字型と整数型との間の変換,代入,演算
を可能としたC類似言語により信号発生手順を記述し、
該C類似言語による信号発生手順をコンパイラによって
C言語に変換し、該C言語による信号発生手順を実行し
てテストパターンを生成する過程を含むことを特徴とす
るテストパターン生成方法。
1. A program language conforming to the C language, the C language
Describe the signal generation procedure in a C-like language that enables conversion, substitution and operation between character type and integer type in the language,
A test pattern generation method comprising a step of converting a signal generation procedure in the C-like language into C language by a compiler and executing the signal generation procedure in the C language to generate a test pattern.
【請求項2】 プログラム言語のC言語に準拠し、該C
言語に於ける文字型と整数型との間の変換,代入,演算
を可能とし、データタイプ宣言部とデータ定義部と実行
文部とを含むC類似言語により信号発生手順を記述し、
該C類似言語による信号発生手順の前記データタイプ宣
言部とデータ定義部との構文解析により辞書を作成し、
前記実行文部の構文解析時に前記辞書を検索して、該実
行文部の内容に相当するCコードに変換する過程を含む
ことを特徴とする請求項1記載のテストパターン生成方
法。
2. The program language conforms to C language, and the C language is used.
It enables conversion, assignment, and operation between character type and integer type in the language, and describes the signal generation procedure in a C-like language including a data type declaration part, a data definition part, and an execution statement part.
Create a dictionary by parsing the data type declaration part and the data definition part of the signal generation procedure in the C-like language,
The test pattern generation method according to claim 1, further comprising a step of searching the dictionary and converting the dictionary into a C code corresponding to the content of the execution statement part at the time of parsing the execution statement part.
【請求項3】 前記辞書は、レコードタイプ宣言の中に
他のレコードタイプ宣言を含むデータ構造のデータタイ
プ宣言部について、それぞれのレコードタイプ対応の辞
書テーブルをリンクさせることにより、前記実行文部の
構文解析時の詳細情報の検索を行う過程を含むことを特
徴とする請求項2記載のテストパターン生成方法。
3. The syntax of the execution statement part, wherein the dictionary links a dictionary table corresponding to each record type with respect to a data type declaration part of a data structure including another record type declaration in a record type declaration. The test pattern generating method according to claim 2, further comprising a step of searching for detailed information at the time of analysis.
【請求項4】 プログラム言語のC言語に準拠し、該C
言語に於ける文字型と整数型との間の変換,代入,演算
を可能としたC類似言語により信号発生手順を記述し、
該C類似言語による信号発生手順をコンパイラによって
C言語に変換し、インタフェースプログラムによって、
ハードウェア記述言語(HDL)により記述された回路
の論理シミュレーション時のシミュレーションモデルに
結合させ、該回路の論理シミュレーションを実行する過
程を含むことを特徴とする論理シミュレーション方法。
4. The program language conforms to the C language, and the C language is used.
Describe the signal generation procedure in a C-like language that enables conversion, substitution and operation between character type and integer type in the language,
The signal generation procedure in the C-like language is converted into C language by the compiler, and the interface program
A logic simulation method comprising a step of combining with a simulation model at the time of logic simulation of a circuit described by a hardware description language (HDL) and executing a logic simulation of the circuit.
JP7142842A 1995-06-09 1995-06-09 Test pattern generating method and logic simulation method Pending JPH08335228A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7142842A JPH08335228A (en) 1995-06-09 1995-06-09 Test pattern generating method and logic simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7142842A JPH08335228A (en) 1995-06-09 1995-06-09 Test pattern generating method and logic simulation method

Publications (1)

Publication Number Publication Date
JPH08335228A true JPH08335228A (en) 1996-12-17

Family

ID=15324889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7142842A Pending JPH08335228A (en) 1995-06-09 1995-06-09 Test pattern generating method and logic simulation method

Country Status (1)

Country Link
JP (1) JPH08335228A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160356848A1 (en) * 2015-06-02 2016-12-08 SK Hynix Inc. Apparatus and method of generating test pattern, test system using the same, and computer program therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160356848A1 (en) * 2015-06-02 2016-12-08 SK Hynix Inc. Apparatus and method of generating test pattern, test system using the same, and computer program therefor
US9933486B2 (en) * 2015-06-02 2018-04-03 SK Hynix Inc. Apparatus and method of generating test pattern, test system using the same, and computer program therefor

Similar Documents

Publication Publication Date Title
Liskov et al. Programming with abstract data types
US5701487A (en) Method and apparatus for displaying locations of errors detected inside software macro calls
US6135647A (en) System and method for representing a system level RTL design using HDL independent objects and translation to synthesizable RTL code
US6606734B2 (en) Simulation method and compiler for hardware/software programming
US7350180B1 (en) Search algorithm for inheriting clock contexts in hardware description language translation tools
US5949993A (en) Method for the generation of ISA simulators and assemblers from a machine description
WO2002056173A1 (en) Methods and apparatus for deep embedded software development
Ballance et al. Grammatical abstraction and incremental syntax analysis in a language-based editor
CN113835688B (en) Object packaging method of scientific computing language interpreter
JPH08335228A (en) Test pattern generating method and logic simulation method
Knor et al. Reengineering C/C++ source code by transforming state machines
JP5399601B2 (en) Implementation code development system and implementation code development program
US20030125918A1 (en) VHDL technology library method for efficient customization of chip gate delays
Sunitha Compiler construction
Cyre et al. Generating validation feedback for automatic interpretation of informal requirements
EP1122660A2 (en) CPU core development support system, method for development support and recording medium storing a development support program thereof
Hanes Logic design verification using static analysis
Chisolm et al. ATLAS compiler development
Ramalho et al. Algebraic specification of documents
JP2001022808A (en) Logic circuit reducing device, method and device for logic simulation
Griswold et al. The C Implementation of Icon: A Tour Through Version 5
Griswold et al. A Tour Through the C Implementation of Icon; Version 5.9
Taylor Lily: A parser generator for LL (1) languages
Fritzson Modelica Meta-Programming and Symbolic Transformations MetaModelica Programming Guide
McMullin Accelerating the parsing process with an Application Specific VLSI RISC processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050531