JP2982418B2 - Functional simulation device - Google Patents
Functional simulation deviceInfo
- Publication number
- JP2982418B2 JP2982418B2 JP3230152A JP23015291A JP2982418B2 JP 2982418 B2 JP2982418 B2 JP 2982418B2 JP 3230152 A JP3230152 A JP 3230152A JP 23015291 A JP23015291 A JP 23015291A JP 2982418 B2 JP2982418 B2 JP 2982418B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- assignment
- signal value
- assignment statement
- functional element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は論理装置の設計におい
て、設計された論理装置の動作検証を行う機能シミュレ
ーション装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a function simulation apparatus for verifying the operation of a designed logic device in designing the logic device.
【0002】[0002]
【従来の技術】近年、大規模、複雑化する論理装置、特
にLSIなどを効率的に開発するために、レジスタ転送
レベルで機能設計を行い、機能シミュレーション装置に
よって早期検証することが重要になっている。2. Description of the Related Art In recent years, in order to efficiently develop a large-scale and complicated logic device, particularly an LSI, etc., it has become important to design a function at a register transfer level and to perform early verification by a function simulation device. I have.
【0003】レジスタ転送レベルの機能設計では、論理
装置を構成する機能素子として、レジスタ、ラッチ、バ
ス、加算器などを用いる。機能記述言語は、以上のよう
な機能素子を用いた回路の動作を記述する言語であり、
機能素子の信号値を機能素子に代入する代入文から構成
されている。これらの信号の流れを示す代入文には、代
入される信号値を保持する機能素子を選択する機能を付
加した記述や代入されるレジスタの同期信号の指定を付
加される。記述中の各代入文は、互いに平行な信号値の
代入を意味し、機能記述は、任意の時点の回路の並列な
動作を表すものである。In the function design at the register transfer level, registers, latches, buses, adders, and the like are used as functional elements constituting a logic device. A function description language is a language that describes the operation of a circuit using the above functional elements,
It consists of an assignment statement for assigning the signal value of the functional element to the functional element. The assignment statement indicating the flow of these signals is accompanied by a description having a function of selecting a functional element holding a signal value to be substituted and designation of a synchronization signal of a register to be substituted. Each assignment statement in the description means the assignment of signal values parallel to each other, and the function description indicates a parallel operation of the circuit at an arbitrary time.
【0004】レジスタ転送レベルの機能記述言語によっ
て記述された設計結果をシミュレーションする方法とし
て、大きくイベント駆動法とコンパイル法がある。As a method of simulating a design result described by a register transfer level function description language, there are mainly an event driving method and a compiling method.
【0005】イベント駆動法では、シミュレーションの
各時刻で、変化した信号値を代入する代入文のみを選択
して評価し、代入された機能素子において新たに信号値
の変化があれば、この機能素子を信号値の変化があった
ものとして記憶する。信号値の変化した機能素子と変化
した信号値をイベントと呼ぶ。次の時刻では、記憶され
たイベントに基づいて機能素子の信号値を更新し、代入
文を選択し評価を行なう。イベントはタイムホイールと
呼ばれるバッファに記憶され、指定された伝搬遅延時間
が経過すると取り出される。代入文の評価するために、
前処理で生成された逆ポーランド形式の評価用コードが
用いられる。In the event driving method, at each time of a simulation, only an assignment statement for assigning a changed signal value is selected and evaluated. If there is a new signal value change in the assigned functional element, this functional element Is stored as if there was a change in the signal value. The functional element having a changed signal value and the changed signal value are called an event. At the next time, the signal value of the functional element is updated based on the stored event, and an assignment statement is selected and evaluated. Events are stored in a buffer called a time wheel, and are retrieved when a specified propagation delay time has elapsed. To evaluate an assignment statement,
The reverse Polish style evaluation code generated in the preprocessing is used.
【0006】この他、各代入文を機能素子と機能素子の
接続記述に展開して通常の論理シミュレーションの場合
と同様にイベント駆動法を適用する方法がある。In addition, there is a method in which each assignment statement is developed into a description of connection between functional elements and the event driving method is applied in the same manner as in normal logic simulation.
【0007】イベント駆動法は、イベントに基づいて必
要な代入文のみを選択して評価する方法であるが、イベ
ントの処理や、評価する必要のある代入文を選択し、代
入文を逆ポーランド形式のコードを評価する時間がかか
るため、処理速度が遅くなっている。The event-driven method is a method of selecting and evaluating only a necessary assignment statement based on an event. However, the processing of an event or an assignment statement that needs to be evaluated is selected, and the assignment statement is converted into a reverse Polish form. Because it takes time to evaluate the code, the processing speed is slow.
【0008】一方、シミュレーション精度をある程度落
してシミュレーションの高速化を図る方式としてコンパ
イル法がある。コンパイル法では、同一の同期信号で動
作する完全な同期回路としてモデル化された設計のみを
扱う。つまり、すべての信号変化は同期信号の変化点で
のみ起きるものとして、同期信号の変化点でのみ代入文
の評価を行なう。代入文の評価は、機能記述から生成さ
れたコンピュータプログラムよって一括して行なわれ
る。On the other hand, there is a compiling method as a method for speeding up the simulation by lowering the simulation accuracy to some extent. The compilation method deals only with designs that are modeled as complete synchronous circuits that operate on the same synchronous signal. That is, assuming that all signal changes occur only at the synchronization signal change points, the assignment statement is evaluated only at the synchronization signal change points. The evaluation of the assignment statement is performed collectively by a computer program generated from the function description.
【0009】従来のイベント駆動法を適用した機能シミ
ュレーション装置では、非同期な回路動作のシミュレー
ション、つまり非同期なタイミングでの信号値の代入の
評価や遅延時間の評価が可能であるが、コンパイル法に
比較して処理速度が遅い。一方のコンパイル法は、処理
は高速であるが、非同期な回路動作や遅延時間を扱えな
い。従って非同期な回路動作や遅延時間を扱うシミュレ
ーション装置を実現するためには、基本的にイベント駆
動法を適用する必要がある。A function simulation apparatus to which the conventional event driving method is applied can simulate an asynchronous circuit operation, that is, evaluate signal value substitution and delay time at an asynchronous timing. And the processing speed is slow. On the other hand, the compile method is fast in processing, but cannot handle asynchronous circuit operation and delay time. Therefore, in order to realize a simulation device that handles asynchronous circuit operation and delay time, it is basically necessary to apply the event driving method.
【0010】[0010]
【発明が解決しようとする課題】イベント駆動法を適用
した場合、処理速度が遅くなるのは、代入文毎にイベン
トを用いた評価の制御を行うためイベント処理のオーバ
ヘッドが大きいことである。 複数の代入文で同一の機
能素子、例えば3ステート素子で制御される信号バスな
どに信号値を代入するバス競合のシミュレーションを行
う場合のように複数の代入文で代入された複数の信号値
から最終的な機能素子上の衝突信号値を計算する必要が
ある。従来、このような衝突信号値の計算は、代入文の
評価を行なう評価プログラムとは別に、新たな衝突値を
求める評価プログラムを用いて行っていた。このシミュ
レーションでは、同一の機能素子に代入する代入文の一
つが評価されるとイベントを生成し、このイベントによ
って信号衝突評価プログラムを駆動し、バス競合の評価
をおこなっていた。When the event driving method is applied, the processing speed is slow because the overhead of event processing is large because evaluation control using an event is performed for each assignment statement. From a plurality of signal values assigned by a plurality of assignment statements as in the case of performing a bus conflict simulation in which a signal value is assigned to the same functional element, for example, a signal bus controlled by a three-state element, by a plurality of assignment statements. It is necessary to calculate the collision signal value on the final functional element. Conventionally, such a calculation of a collision signal value has been performed using an evaluation program for obtaining a new collision value, separately from an evaluation program for evaluating an assignment statement. In this simulation, when one of the assignment statements assigned to the same functional element is evaluated, an event is generated, and the event drives a signal collision evaluation program to evaluate a bus conflict.
【0011】上記のような信号値の代入評価と信号衝突
時の信号値の計算は、必ず連動して行うので、イベント
による制御は処理上無駄であった。Since the above-described evaluation of substitution of signal values and calculation of signal values at the time of signal collision are always performed in conjunction with each other, control by events is useless in processing.
【0012】本発明は、上記問題点に鑑み、イベント駆
動法を適用して高速に機能シミュレーションを行なう機
能シミュレーション装置を提供するものである。The present invention has been made in view of the above problems, and provides a functional simulation apparatus for performing a functional simulation at a high speed by applying an event driving method.
【0013】[0013]
【課題を解決するための手段】上記問題点を解決するた
めに本発明では、機能記述言語を用いて記述された論理
装置の動作模擬をイベント駆動法を用いて行なう機能シ
ミュレーション装置において、機能記述言語による機能
記述を構文解析し、被シミュレーション対象の論理装置
を構成する機能素子に信号値を代入する代入文を抽出
し、抽出された前記代入文のうち同一の機能素子に信号
値を代入する代入文を選択し、同一の機能素子に信号値
を代入する代入文を一括して評価するとともに代入した
信号値が衝突した場合の信号値の計算を行なう評価プロ
グラムを生成するシミュレーションデータ生成手段を備
え、シミュレーションデータ生成手段によって評価プロ
グラム群を生成し、イベント駆動法により生成された前
記評価用プログラム郡を起動して、機能記述中の代入文
を評価することを特徴とする機能シミュレーション装置
を提供する。According to the present invention, there is provided a function simulation apparatus for simulating the operation of a logic device described using a function description language using an event driving method. A function description in a language is parsed, an assignment statement for assigning a signal value to a functional element constituting a logic device to be simulated is extracted, and a signal value is assigned to the same functional element in the extracted assignment statement. Simulation data generating means for generating an evaluation program for selecting an assignment statement, evaluating the assignment statement for assigning a signal value to the same functional element at a time, and calculating a signal value when the assigned signal value collides; An evaluation program group generated by a simulation data generating means, and the evaluation program generated by an event driving method The activated, provides a functional simulation apparatus characterized by evaluating an assignment statement in the function description.
【0014】[0014]
【作用】本発明の機能シミュレーション装置では、同一
の機能素子に代入する複数の代入文の評価と代入される
複数の信号値から最終的な機能素子上の衝突信号値を計
算する処理を単一の評価プログラムを生成することによ
って、一括して行なう。これによって信号衝突を評価す
るためのイベント処理のオーバヘッドを削減することが
できる。According to the function simulation apparatus of the present invention, the processing for evaluating a plurality of assignment statements to be assigned to the same functional element and calculating the final collision signal value on the functional element from the plurality of signal values to be assigned is a single operation. Is performed collectively by generating the evaluation program of the above. As a result, the overhead of event processing for evaluating signal collision can be reduced.
【0015】[0015]
【実施例】以下、本発明の一実施例における機能シミュ
レーション装置について図面を参照しながら説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a functional simulation apparatus according to an embodiment of the present invention will be described with reference to the drawings.
【0016】図1は、本実施例の機能シミュレーション
装置の構成図である。図1において、11は機能記述を
入力としてシミュレーション用データを生成するシミュ
レーションデータ生成手段である。イベント駆動法によ
って機能シミュレーションを行なうためにシミュレーシ
ョンデータ生成手段11は、機能記述中で使用される機
能素子リストと機能記述中の各代入文を評価するコンピ
ュータプログラムである評価プログラムと駆動先リスト
を生成する。駆動先リストは、信号値が更新された機能
素子を意味するイベントとイベントにより駆動する評価
プログラムの対応を示すリストであり、イベントをキイ
とした評価プログラム識別子のリストである。FIG. 1 is a configuration diagram of a function simulation apparatus according to the present embodiment. In FIG. 1, reference numeral 11 denotes simulation data generation means for generating simulation data by inputting a function description. In order to perform a function simulation by the event driving method, the simulation data generating means 11 generates a function element list used in the function description, an evaluation program which is a computer program for evaluating each assignment statement in the function description, and a drive destination list. I do. The drive destination list is a list indicating a correspondence between an event indicating a functional element whose signal value has been updated and an evaluation program driven by the event, and is a list of evaluation program identifiers using the event as a key.
【0017】次に図1の機能記述を入力としてシミュレ
ーション用データを生成するシミュレーションデータ生
成手段11の実現例を図2を用いて説明する。Next, an implementation example of the simulation data generation means 11 for generating simulation data using the function description of FIG. 1 as an input will be described with reference to FIG.
【0018】図2において、21は入力される機能記述
の構文解析を行なう構文解析手段である。構文解析手段
21は、回路設計者が記述したテキストファイルを解析
し、機能記述中の機能素子のリストと、記述中の代入文
構成を示す代入文リストと、機能記述中の各機能素子に
対して、当該機能素子の信号値を参照して代入する、す
なわち入力信号とする代入文をリストした駆動先リスト
とを生成する。図3を用いて代入文リストの構成を説明
する。In FIG. 2, reference numeral 21 denotes a syntax analysis means for performing syntax analysis of an input function description. The syntax analysis unit 21 analyzes the text file described by the circuit designer, and lists a list of functional elements in the function description, an assignment statement list indicating an assignment statement configuration in the description, and a function statement for each functional element in the function description. Then, a drive destination list that lists substitution statements to be substituted, that is, input signals, with reference to the signal value of the functional element is generated. The structure of the assignment statement list will be described with reference to FIG.
【0019】代入文リストは、機能記述中の各代入文の
構成・内容を示す代入文データ111を検索可能なリス
ト形式にしたデータである。各代入文データ111は、
代入の同期信号を示す同期信号データ1111と、代入
が実行される条件を示す代入条件式1112と、代入さ
れる信号間の演算式を示す代入式1113と代入先の機
能素子示す代入先機能素子1114から構成される。The assignment statement list is data in which the assignment statement data 111 indicating the structure and content of each assignment statement in the function description is in a searchable list format. Each assignment statement data 111 is
Synchronization signal data 1111 indicating a synchronization signal of substitution, an assignment condition expression 1112 indicating a condition for executing the assignment, an assignment expression 1113 indicating an operation expression between the signals to be assigned, and an assignment destination functional element indicating the assignment destination functional element. 1114.
【0020】以上の構文解析手段21は、コンピュータ
と構文解析ソフトウェアによって実現できる。The above syntax analysis means 21 can be realized by a computer and syntax analysis software.
【0021】22は、構文解析手段21が生成する代入
文のリストを記憶する代入文リスト記憶手段である。代
入文リスト記憶手段22は、コンピュータメモリを用い
て実現される。Reference numeral 22 denotes an assignment statement list storage unit that stores a list of assignment statements generated by the syntax analysis unit 21. The assignment statement list storage unit 22 is realized using a computer memory.
【0022】23は、代入文リスト記憶手段22に記憶
された代入文リストから同一の機能素子に代入を行なう
代入文を選択し、合成代入文リストの生成を行なう競合
代入文選択手段である。競合代入文選択手段23によっ
て生成される合成代入文リストを図4を用いて説明す
る。Reference numeral 23 denotes a competitive assignment statement selecting means for selecting an assignment statement to be assigned to the same functional element from the assignment statement list stored in the assignment statement list storage means 22 and generating a combined assignment statement list. The composite assignment statement list generated by the conflict assignment statement selection means 23 will be described with reference to FIG.
【0023】合成代入文リストは、機能記述中で記述さ
れる代入先機能素子131を検索可能なリスト形式にし
たデータある。さらに各代入先機能素子131から当該
機能素子に信号値を代入する全ての代入文データリスト
132を指すポインタを持つ。検索される代入文データ
は、図3において説明した同期信号1111と代入条件
式1112と代入式1113とから構成される。The composite assignment statement list is data in which the assignment destination functional elements 131 described in the function description can be searched. Further, it has a pointer that points to all assignment statement data lists 132 for assigning signal values from each assignment destination functional element 131 to the functional element. The substitution statement data to be searched is composed of the synchronization signal 1111, the substitution condition expression 1112 and the substitution expression 1113 described in FIG.
【0024】同期代入文選択手段23は、コンピュータ
上で実現することができる。この処理手順を図5を用い
て説明する。まず、代入文リスト記憶手段22に記憶さ
れる代入文をリスト順に検索し、未処理の代入文を入力
する。検索した代入文は処理済みとする(ステップS
1)。検索した代入文の代入先機能素子を求める(ステ
ップS2)。この同期信号を元に既に生成された合成代入
文リストを検索し(ステップS3)、各合成代入文の代入
先機能素子がステップS1で入力した代入文の代入先機能
素子と同一であるか否かを判定する(ステップS4)。同
一の代入先機能素子を持つ合成代入文がある場合は、こ
の合成代入文の代入データとしてステップS1で入力した
代入文の同期信号、代入条件式、代入式の各データを追
加する(ステップS5)。初期状態で合成代入文リストが
生成されていない場合や同一の代入先機能素子を持つ合
成代入文が無い場合は、ステップS1で入力した代入文デ
ータから合成代入文データを生成し、合成代入文リスト
に追加する(ステップS6)。以上を代入文リスト記憶手
段22に記憶される全ての代入文について実施する(ス
テップS7)。The synchronous assignment statement selecting means 23 can be realized on a computer. This processing procedure will be described with reference to FIG. First, the assignment statements stored in the assignment statement list storage unit 22 are searched in the order of the list, and an unprocessed assignment statement is input. It is assumed that the retrieved assignment statement has been processed (step S
1). An assignment destination functional element of the searched assignment statement is obtained (step S2). A list of the combined assignment statements already generated based on the synchronization signal is searched (step S3), and whether or not the assignment destination functional element of each combined assignment statement is the same as the assignment destination functional element of the assignment statement input in step S1. Is determined (step S4). If there is a combined assignment statement having the same assignment destination functional element, the data of the synchronization signal, the assignment condition expression, and the assignment expression of the assignment statement input in step S1 are added as the assignment data of the combined assignment statement (step S5). ). If a composite assignment statement list has not been generated in the initial state or if there is no composite assignment statement having the same assignment destination functional element, composite assignment statement data is generated from the assignment statement data input in step S1, and a composite assignment statement is generated. Add to the list (step S6). The above is performed for all the assignment statements stored in the assignment statement list storage unit 22 (step S7).
【0025】24は、同期代入文選択手段23によって
合成された合成代入文リストを記憶する合成代入文リス
ト記憶手段である。合成代入文リスト記憶手段24は、
コンピュータメモリを用いて実現される。Reference numeral 24 denotes a composite assignment statement list storage unit that stores the composite assignment statement list synthesized by the synchronous assignment statement selection unit 23. The composite assignment statement list storage means 24
This is realized using a computer memory.
【0026】25は、合成代入文リスト記憶手段24に
記憶された代入文を入力して、各代入文の評価を行なう
評価プログラムを生成する評価プログラム生成手段であ
る。評価プログラムは、一般的なコンピュータで実行さ
れる機械語にコンパイル可能な言語で記述されたプログ
ラムである。評価プログラムには、機能素子信号値の入
力と更新データを出力を行なう入出力回路制御ルーチ
ン、信号値の演算式を評価するルーチン、機能素子信号
値の変化を検出するルーチン、信号値を更新する機能素
子の遅延値を示すルーチン、更新データを生成するルー
チンが含まれる。Reference numeral 25 denotes an evaluation program generation means for inputting the assignment statements stored in the combined assignment statement list storage means 24 and generating an evaluation program for evaluating each assignment statement. The evaluation program is a program written in a language that can be compiled into a machine language executed on a general computer. The evaluation program includes an input / output circuit control routine for inputting functional element signal values and outputting update data, a routine for evaluating arithmetic expressions of signal values, a routine for detecting changes in functional element signal values, and updating signal values. A routine indicating the delay value of the functional element and a routine for generating update data are included.
【0027】26は、同期代入文選択手段23が出力す
る合成代入文リストに基づいて、信号値が更新された機
能素子を意味するイベントとイベントにより駆動する評
価プログラムの対応を示す駆動先リストを生成する駆動
先リスト生成手段である。Reference numeral 26 denotes a drive destination list indicating correspondence between an event indicating a functional element whose signal value has been updated and an evaluation program driven by the event, based on the composite assignment statement list output from the synchronous assignment statement selection means 23. This is a drive destination list generating means for generating.
【0028】次に図6を用いて駆動先リストの構成を説
明する。駆動先リスト161は、機能記述中で記述され
る機能素子を検索可能なリスト形式にしたデータある。
さらに各機能素子から当該の機能素子の信号値を参照し
て代入する全ての合成代入文を検索を可能とする代入文
IDリスト162を指すポインタを持つ。駆動先リスト
から検索される代入文ID162は、同期代入文選択手
段23によって合成された合成代入文リスト上の対応す
る代入文の位置を示す。Next, the structure of the drive destination list will be described with reference to FIG. The drive destination list 161 is data in a list format in which functional elements described in the function description can be searched.
Further, each of the functional elements has a pointer to an assignment statement ID list 162 that enables searching for all the combined assignment statements to be assigned by referring to the signal value of the functional element. The assignment statement ID 162 retrieved from the drive destination list indicates the position of the corresponding assignment statement on the combined assignment statement list synthesized by the synchronous assignment statement selection unit 23.
【0029】駆動先リスト生成手段26はコンピュータ
上で、合成代入文リストの各合成代入文を検索し、合成
代入文データの同期信号、条件式、代入式から機能素子
を抽出し、リストするプログラムによって実現する。The drive destination list generating means 26 searches a computer for each composite assignment statement in the composite assignment statement list, and extracts and lists functional elements from a synchronizing signal, a conditional expression, and an assignment expression of the composite assignment statement data. It is realized by.
【0030】12は、シミュレーション時に用いるテス
トデータを入力するテストデータ入力手段である。回路
設計者は、テストデータ入力手段12を用いて被シミュ
レーション回路に入力される信号をシミュレーション装
置に設定する。テストデータは、コンピュータ上のエデ
ィタ等を用いて作成する電子ファイルデータとし、汎用
コンピュータと同様の入力手段を用いて入力することが
できる。入力されるデータは、模擬する回路の各機能素
子の特定のシミュレーション時刻において変化する信号
値を示す。信号値は変化する時刻毎にテストデータ入力
手段12に記憶され、シミュレーション時刻が変化時刻
になると変化する当該信号値を出力する。Reference numeral 12 denotes test data input means for inputting test data used during simulation. The circuit designer sets a signal input to the circuit to be simulated using the test data input means 12 in the simulation device. The test data is electronic file data created using an editor or the like on a computer, and can be input using the same input means as a general-purpose computer. The input data indicates a signal value that changes at a specific simulation time of each functional element of the circuit to be simulated. The signal value is stored in the test data input means 12 every time the time changes, and the signal value changes when the simulation time reaches the change time.
【0031】13は、イベントを制御して機能シミュレ
ーションを実施するシミュレーション実施手段である。
図7にシミュレーション実施手段13の構成を示す。Numeral 13 denotes simulation executing means for controlling the event and executing a functional simulation.
FIG. 7 shows the configuration of the simulation execution means 13.
【0032】31は、シミュレーションデータ生成手段
11によって生成された評価プログラムを記憶する評価
プログラム記憶手段である。評価プログラム記憶手段3
1は、コンピュータメモリを用いて実現し、各コンピュ
ータプログラムはメモリ上に順次記憶される。評価プロ
グラム記憶手段31は、要求があると指定されるアドレ
スの評価プログラムデータ311を出力する。Reference numeral 31 denotes an evaluation program storage unit that stores the evaluation program generated by the simulation data generation unit 11. Evaluation program storage means 3
1 is realized using a computer memory, and each computer program is sequentially stored on the memory. The evaluation program storage means 31 outputs the evaluation program data 311 at the address designated to be requested.
【0033】32は、シミュレーションデータ生成手段
11によって生成された駆動先リストを記憶する駆動先
リスト記憶手段である。駆動先リスト記憶手段32は、
信号値が更新された機能素子識別子すなわちイベントを
キ−とし、イベントに対応する評価プログラムの識別子
のリストを持つテーブルと評価プログラム識別子をキ−
とし、評価プログラムロード情報を持つテーブルを持
つ。駆動先リスト記憶手段32は、イベント351また
はシミュレーションデータ入力手段12から出力される
イベント322が入力されると、まず、第1のテーブル
から実行する評価プログラムの識別子を検索し、検索し
た評価プログラムのロード情報321を第2のテーブル
から求め、出力する。ロード情報321には、評価プロ
グラム記憶手段31においる評価プログラムが記憶され
るアドレス、データサイズが含まれる。駆動先リスト記
憶手段32は、コンピュータメモリを用いて実現する。Reference numeral 32 denotes a drive destination list storage unit for storing the drive destination list generated by the simulation data generation unit 11. The drive destination list storage means 32
A key is a functional element identifier whose signal value has been updated, that is, an event, and a table having a list of identifiers of evaluation programs corresponding to the event and an evaluation program identifier are keyed.
And has a table having evaluation program load information. When the event 351 or the event 322 output from the simulation data input unit 12 is input, the driving destination list storage unit 32 first searches the first table for the identifier of the evaluation program to be executed, and searches the identifier of the searched evaluation program. Load information 321 is obtained from the second table and output. The load information 321 includes an address where the evaluation program stored in the evaluation program storage unit 31 is stored and a data size. The drive destination list storage means 32 is realized using a computer memory.
【0034】33は、模擬される回路内の各機能素子の
信号値を記憶する信号値記憶手段である。信号値記憶手
段33は、シミュレーション実行中に当該シミュレーシ
ョン時刻の各機能素子信号値を記憶し、当該機能素子に
新たな信号値の変化が生じる時刻まで以前の信号値を保
持する。信号値記憶手段33は、シミュレーション結果
として生じる回路内部の変化した信号値を更新するとと
もにテストデータ入力手段12から入力される機能素子
の信号値データ331を入力して信号値の更新を行な
う。また、機能素子名をキイとする信号値の要求がある
と現在のシミュレーション時刻の信号値を出力する。信
号値記憶手段33は、コンピュータメモリを用いて実現
し、機能素子識別子と信号値を記憶するメモリ領域を対
応付ける検索テーブルと信号値を保持する信号値テーブ
ルから構成される。Reference numeral 33 denotes signal value storage means for storing the signal value of each functional element in the circuit to be simulated. The signal value storage unit 33 stores the signal values of the respective functional elements at the simulation time during the execution of the simulation, and retains the previous signal values until the time when a new signal value change occurs in the functional element. The signal value storage unit 33 updates the signal value changed inside the circuit as a result of the simulation, and updates the signal value by inputting the signal value data 331 of the functional element input from the test data input unit 12. When there is a request for a signal value with the functional element name as a key, the signal value at the current simulation time is output. The signal value storage means 33 is realized using a computer memory, and includes a search table for associating functional element identifiers with a memory area for storing signal values, and a signal value table for holding signal values.
【0035】34は、評価プログラム実行手段である。
評価プログラム実行手段34は、選択された評価プログ
ラム311をロードするとともに、評価用データとして
必要な機能素子信号値333を入力し、プログラムを実
行することによって、機能記述文を評価する。評価結果
として、当該シミュレーション時刻の信号値と異なる信
号値を持つ機能素子に関して更新データ341を出力す
る。出力する更新データ341は、信号値が変化する機
能素子識別子とその信号値及び機能素子の遅延値を含
む。評価プログラム実行手段34は、一般のコンピュー
タと入出力回路を用いて実現し、ロードされる評価プロ
グラムには、機能素子信号値の入力と更新データを出力
を行なう入出力回路制御ルーチン、信号値の演算式を評
価するルーチン、機能素子信号値の変化を検出するルー
チン、信号値を更新する機能素子の遅延値を示すルーチ
ン、更新データを生成するルーチンが含まれる。Numeral 34 denotes an evaluation program executing means.
The evaluation program executing means 34 loads the selected evaluation program 311 and inputs a necessary function element signal value 333 as evaluation data, and executes the program to evaluate the function description. As an evaluation result, update data 341 is output for a functional element having a signal value different from the signal value at the simulation time. The output update data 341 includes a functional element identifier whose signal value changes, its signal value, and a delay value of the functional element. The evaluation program executing means 34 is realized by using a general computer and an input / output circuit. The evaluation program to be loaded includes an input / output circuit control routine for inputting a functional element signal value and outputting update data, a signal value The routine includes a routine for evaluating an arithmetic expression, a routine for detecting a change in a functional element signal value, a routine indicating a delay value of a functional element for updating a signal value, and a routine for generating update data.
【0036】35は、更新データ341を入力して、当
該シミュレーション時刻から更新データ341が持つ遅
延値だけシミュレーション時間が経過すると信号値が更
新された機能素子識別子であるイベント351と更新信
号値データ352とを出力するタイムホイールである。
タイムホイール35は、コンピュータメモリ上で実現
し、シミュレーション時間の経過をカウントするカウン
タと各シミュレーション時刻に更新される機能素子情報
のリストから構成される。Reference numeral 35 denotes an input of the update data 341, and when the simulation time elapses from the simulation time by the delay value of the update data 341, an event 351 as a functional element identifier whose signal value has been updated and the update signal value data 352. And a time wheel that outputs
The time wheel 35 is implemented on a computer memory, and includes a counter for counting the elapsed simulation time and a list of functional element information updated at each simulation time.
【0037】36は、シミュレーション時刻の更新と同
一時刻内での評価プログラム記憶手段31、駆動先リス
ト記憶手段32、信号値記憶手段33、評価プログラム
実行手段34、タイムホイール35の処理の実行タイミ
ングを制御するシミュレーション時刻及び処理タイミン
グ制御手段である。シミュレーション時刻及び処理タイ
ミング制御手段36は、321または351のイベント
の有無を検出して、当該時刻の各イベントに対して駆動
先リストの検索、評価プログラムの選択と評価プログラ
ム実行手段へのロード、プログラム実行、機能素子信号
値のタイムホイール35への登録等の一連の制御を順次
行う。シミュレーション時刻及び処理タイミング制御手
段36は、一般的な順序回路によって実現できる。Reference numeral 36 denotes the execution timing of the processing of the evaluation program storage unit 31, the drive destination list storage unit 32, the signal value storage unit 33, the evaluation program execution unit 34, and the time wheel 35 within the same time as the update of the simulation time. It is a simulation time and processing timing control means for controlling. The simulation time and processing timing control means 36 detects the presence or absence of the event 321 or 351, searches the drive list for each event at the time, selects an evaluation program and loads it into the evaluation program execution means, A series of controls such as execution and registration of the functional element signal value in the time wheel 35 are sequentially performed. The simulation time and processing timing control means 36 can be realized by a general sequential circuit.
【0038】14は、シミュレーション結果を検証・評
価・解析するためのシミュレーション結果表示手段であ
る。シミュレーション結果表示手段は、汎用コンピュー
タ上で表示用モニタ、表示用ソフトウェアを用いて実現
できる。Numeral 14 denotes simulation result display means for verifying, evaluating and analyzing the simulation result. The simulation result display means can be realized on a general-purpose computer using a display monitor and display software.
【0039】機能シミュレーション装置は、以上のシミ
ュレーションデータ生成手段11、シミュレーション実
施手段12、テストデータ入力手段13、シミュレーシ
ョン結果表示手段14によって構成される。本発明の実
施例のシミュレーション装置では、前処理としてシミュ
レーションデータ生成手段11及びテストデータ入力手
段13によって被シミュレーション情報の入力を行な
う。 機能シミュレーションは、テストデータ入力手段
13によって設定される入力信号を外部からのイベント
として有限時間の回路動作をイベント駆動法を適用して
実行する。設計者は、シミュレーション結果表示手段1
4を用いてシミュレーション結果を得る。The functional simulation device comprises the above-described simulation data generation means 11, simulation execution means 12, test data input means 13, and simulation result display means 14. In the simulation apparatus according to the embodiment of the present invention, the simulation data is input by the simulation data generating means 11 and the test data input means 13 as preprocessing. The function simulation executes a circuit operation for a finite time by applying an event driving method with an input signal set by the test data input unit 13 as an external event. The designer operates the simulation result display means 1
4 to obtain a simulation result.
【0040】[0040]
【発明の効果】本発明の機能シミュレーション装置で
は、同一の機能素子に代入する複数の代入文の評価と代
入される複数の信号値から最終的な機能素子上の衝突信
号値を計算する処理を単一の評価プログラムを生成する
によって、一括して行なう。これによって信号衝突を評
価するためのイベント処理のオーバヘッドを削減し、シ
ミュレーションの高速化を図ることができる。According to the functional simulation apparatus of the present invention, a process for evaluating a plurality of assignment statements to be assigned to the same functional element and calculating a final collision signal value on the functional element from the plurality of signal values to be assigned is performed. This is done collectively by generating a single evaluation program. As a result, the overhead of event processing for evaluating signal collision can be reduced, and simulation can be speeded up.
【図1】本発明の一実施例における機能シミュレーショ
ン装置の構成図FIG. 1 is a configuration diagram of a function simulation apparatus according to an embodiment of the present invention.
【図2】同実施例の機能シミュレーション装置を実施す
るシミュレーションデータ生成手段の構成図FIG. 2 is a configuration diagram of a simulation data generation unit that executes the functional simulation device of the embodiment.
【図3】同実施例における機能記述を構文解析すること
によって生成される代入文リストのデータ構成を示す図FIG. 3 is a diagram showing a data configuration of an assignment statement list generated by parsing the function description in the embodiment.
【図4】同実施例における代入先機能素子に基づいて合
成された合成代入文リストのデータ構成を示す図FIG. 4 is a view showing a data configuration of a combined assignment statement list synthesized based on the assignment destination functional element in the embodiment.
【図5】同実施例における合成代入文リストを生成する
コンピュータ上のプログラムの手順を示す流れ図FIG. 5 is a flowchart showing a procedure of a program on a computer for generating a composite assignment statement list in the embodiment.
【図6】同実施例における駆動先リストのデータ構成を
示す図FIG. 6 is a diagram showing a data configuration of a drive destination list in the embodiment.
【図7】同実施例におけるシミュレーション実施手段の
構成図FIG. 7 is a configuration diagram of simulation execution means in the embodiment.
11 シミュレーションデータ生成手段 12 テストデータ入力手段 13 シミュレーション実施手段 14 シミュレーション結果表示手段 21 構文解析手段 22 代入文リスト記憶手段 23 競合代入文選択手段 24 合成代入文リスト記憶手段 25 評価プログラム生成手段 26 駆動先リスト生成手段 DESCRIPTION OF SYMBOLS 11 Simulation data generation means 12 Test data input means 13 Simulation execution means 14 Simulation result display means 21 Syntax analysis means 22 Assignment sentence list storage means 23 Competitive assignment sentence selection means 24 Synthetic assignment sentence list storage means 25 Evaluation program generation means 26 Driving destination List generation means
Claims (1)
置の動作模擬をイベント駆動法を用いて行なう機能シミ
ュレーション装置において、前記機能記述言語による機
能記述を構文解析し、被シミュレーション対象の論理装
置を構成する機能素子に信号値を代入する代入文を抽出
し、抽出された前記代入文のうち同一の機能素子に信号
値を代入する代入文を選択し、同一の機能素子に信号値
を代入する代入文を一括して評価するとともに代入した
信号値が衝突した場合の信号値の計算を行なう評価プロ
グラムを生成するシミュレーションデータ生成手段を備
え、シミュレーションデータ生成手段によって評価プロ
グラム群を生成し、イベント駆動法により生成された前
記評価用プログラム郡を起動して、機能記述中の代入文
を評価することを特徴とする機能シミュレーション装
置。1. A function simulation apparatus for simulating the operation of a logic device described using a function description language using an event driving method, wherein the function description in the function description language is parsed, and a logic device to be simulated is analyzed. Extract an assignment statement for assigning a signal value to a functional element constituting, select an assignment statement for assigning a signal value to the same functional element from among the extracted assignment statements, and assign a signal value to the same functional element. Simulation data generating means for generating an evaluation program for evaluating the assignment statements to be performed collectively and calculating the signal value when the substituted signal values collide, generating an evaluation program group by the simulation data generating means, The method is characterized in that the evaluation program group generated by the driving method is started and the assignment statement in the function description is evaluated. Functional simulation device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3230152A JP2982418B2 (en) | 1991-09-10 | 1991-09-10 | Functional simulation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3230152A JP2982418B2 (en) | 1991-09-10 | 1991-09-10 | Functional simulation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0567167A JPH0567167A (en) | 1993-03-19 |
JP2982418B2 true JP2982418B2 (en) | 1999-11-22 |
Family
ID=16903412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3230152A Expired - Fee Related JP2982418B2 (en) | 1991-09-10 | 1991-09-10 | Functional simulation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2982418B2 (en) |
-
1991
- 1991-09-10 JP JP3230152A patent/JP2982418B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0567167A (en) | 1993-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5809283A (en) | Simulator for simulating systems including mixed triggers | |
US20040117168A1 (en) | Global analysis of software objects generated from a hardware description | |
US5784593A (en) | Simulator including process levelization | |
JP2001142937A (en) | Scheduling correctness checking method and schedule verifying method for circuit | |
US5727187A (en) | Method of using logical names in post-synthesis electronic design automation systems | |
JPH08234975A (en) | Program generation device and method | |
JPH04211871A (en) | Inspection supporting system for logic design | |
JP2001522084A (en) | Method of generating ISA simulator and assembler from machine language description | |
Zheng | Specification and compilation of timed systems | |
JP2982418B2 (en) | Functional simulation device | |
JP2990882B2 (en) | Functional simulation device | |
JPH10261002A (en) | Method and device for supporting design | |
Huang | Computer-aided logic synthesis based on a new multi-level hardware design language---lalsd ii | |
Schwarz et al. | Cycle-accurate software modeling for RTL verification of embedded systems | |
Buschke et al. | An approach to understanding evaluation of simulation results as an integrated task | |
JP4183035B2 (en) | Design support apparatus, source code coverage method, and program thereof | |
JP3751410B2 (en) | Logic circuit converter | |
JP2001022808A (en) | Logic circuit reducing device, method and device for logic simulation | |
JP2902972B2 (en) | Logic simulator and hardware description converter | |
Strauch | A Many-Core Solution for the Multi-Objective Challenge in the Field of Dynamic Cycle Accurate Verification | |
JP2001290857A (en) | Timing simulator | |
CN116911219A (en) | Method, electronic device and storage medium for simulation of logic system design | |
US8495539B1 (en) | Scheduling processes in simulation of a circuit design | |
Klenke et al. | Interfaces for mixed-level simulation with sequential elements | |
Langer | Integration of performance evaluations in the design process of CPUs and computer systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |