JPH08255191A - Logic simulator and hardware description conversion device - Google Patents

Logic simulator and hardware description conversion device

Info

Publication number
JPH08255191A
JPH08255191A JP7082033A JP8203395A JPH08255191A JP H08255191 A JPH08255191 A JP H08255191A JP 7082033 A JP7082033 A JP 7082033A JP 8203395 A JP8203395 A JP 8203395A JP H08255191 A JPH08255191 A JP H08255191A
Authority
JP
Japan
Prior art keywords
signal
type
resolution
hardware description
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7082033A
Other languages
Japanese (ja)
Other versions
JP2902972B2 (en
Inventor
Yuichi Kurosawa
雄一 黒澤
Naomi Takeda
奈穂美 武田
Hiroshi Sakai
浩 酒井
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP7082033A priority Critical patent/JP2902972B2/en
Publication of JPH08255191A publication Critical patent/JPH08255191A/en
Application granted granted Critical
Publication of JP2902972B2 publication Critical patent/JP2902972B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PURPOSE: To perform simulation fast by referring to a kind, etc., that a designer has set for an object during the simulation. CONSTITUTION: A simulation processing part 2 performs signal value update processing for a signal by a signal substitution execution part 20 and performs process execution processing for a process by a process execution part 21. At this time, the kind of the object stored in an object kind storage part 1 is referred to and the object stored in an object storage part 3 is processed only as to process items determined for the object kind. In this case, the simulation processing part 2 when performing the signal value update processing for the signal by the signal substitution execution part 20 finds the object kind of the signal by referring to the object kind storage part 1 and processes the object only as to the process items determined for the signal kind of the obtained signal.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ハードウェアの設計を
支援するCAD(計算機支援設計)システムに関わり、
特に論理シミュレータ(機能・論理シミュレータ)及び
ハードウエア記述変換装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a CAD (Computer Aided Design) system for supporting hardware design,
In particular, it relates to a logic simulator (function / logic simulator) and a hardware description converter.

【0002】[0002]

【従来の技術】[Prior art]

(1)近年、LSI等の設計対象ハードウェアの大規模
化に伴い、設計効率の向上を目的として機能設計のよう
な設計の上位工程から設計を支援するCADシステムが
開発されている。
(1) In recent years, along with the increase in the scale of hardware to be designed such as LSI, a CAD system has been developed that supports design from a higher order process such as functional design for the purpose of improving design efficiency.

【0003】CADシステムの入力データとしては、V
HDL、Verilog HDL等のハードウェア設計
用のハードウェア記述言語(以下、HDLと記す)が用
いられる。
The input data of the CAD system is V
A hardware description language (hereinafter referred to as HDL) for hardware design such as HDL and Verilog HDL is used.

【0004】これらのHDLでは、ディレイや非同期動
作を扱うことを可能としているため、イベントドリブン
シミュレーションの概念に基づき言語仕様が設計されて
いる。ここで、イベントドリブンシミュレーションと
は、ある時刻においてあるモジュールの出力信号値が変
化したときのみ、前記出力信号を入力とするモジュール
について演算処理を行ない、シミュレーションを進めて
いく方式である。この方式は、上記のディレイや非同期
動作を扱う一般的な手法として広く用いられている。
Since these HDLs can handle delays and asynchronous operations, the language specifications are designed based on the concept of event driven simulation. Here, the event-driven simulation is a method in which only when the output signal value of a module changes at a certain time, arithmetic processing is performed on the module that receives the output signal and the simulation proceeds. This method is widely used as a general method for handling the above delay and asynchronous operation.

【0005】イベントドリブンシミュレーションの代表
的な手順は、以下の通りである。 step0:初期プロセス実行 全ての並列動作単位(以下、プロセスと呼ぶ)を動作さ
せ、信号値更新要求のタイムホイールへの登録(以下、
信号代入予約と呼ぶ)を行なう。
A typical procedure of event driven simulation is as follows. step0: Initial process execution All parallel operation units (hereinafter, referred to as processes) are operated, and signal value update requests are registered in the time wheel (hereinafter,
Call signal substitution reservation).

【0006】step1:時刻更新 現時刻における信号値更新要求が存在するなら次のst
ep2へ移る。存在しないなら、存在するところまで時
刻を進めてから、次のstep2へ移る。 step2:信号代入 現時刻における信号値更新を実行する。 step3:プロセス実行 上記のstep2の信号が駆動するプロセスを動作さ
せ、信号代入予約を行う。そして、上記のstep1へ
戻る。
Step 1: time update If there is a signal value update request at the current time, the next st
Move to ep2. If it does not exist, the time is advanced to the place where it exists, and then the process proceeds to the next step 2. Step 2: Signal substitution Update the signal value at the current time. Step 3: Process execution The process driven by the signal of Step 2 is operated to make a signal substitution reservation. Then, the process returns to step 1 above.

【0007】ところで、イベントドリブンシミュレーシ
ョンにおける信号には、以下に示すような種々の性質を
持つものが混在する。 1.プロセスを起動する駆動信号として働く信号と働か
ない信号 2.未来の複数の時刻に対する代入要求を同時に持つ信
号と、未来の時刻における代入要求を多くとも一つしか
持たない信号 3.シミューレーション実行中に収集すべき属性情報が
存在する信号と存在しない信号 4.1ワードで値表現できる型(例えばBIT型やCH
ARACTER型等)の信号と、2ワード必要な型(例
えばTIME型)の信号 以下、上記のそれぞれについて例をあげる。
By the way, signals having various properties as described below are mixed in the signals in the event driven simulation. 1. Signals that act as drive signals that start the process and signals that do not. 2. A signal that simultaneously has substitution requests for multiple future times and a signal that has at most one substitution request at future times. Signals with and without attribute information to be collected during execution of simulation 4.1 Types that can be expressed as values in words (eg BIT type and CH
Signals of type (for example, ARACTER type) and signals of type (for example, TIME type) that requires two words Hereinafter, examples will be given for each of the above.

【0008】1.図15およびその続きの図16に示す
VHDLで記述されたシミュレーションモデルにおい
て、Rにイベントが発生するとプロセスP0が起動され
る。このように、Rは駆動信号として働く。一方、Dの
値は参照されるが、Dにイベントが発生したことによっ
て起動されるプロセスはない。
1. In the simulation model described in VHDL shown in FIG. 15 and the subsequent FIG. 16, the process P0 is activated when an event occurs in R. Thus, R acts as a drive signal. On the other hand, although the value of D is referred to, no process is activated by the occurrence of an event in D.

【0009】2.図17に示すシミュレーションモデル
において、信号E,CLKは常に未来の時刻における代
入予約を一つだけ持つ。しかし、信号Dは最大で同時に
未来の8時刻分の信号代入予約が存在する。
2. In the simulation model shown in FIG. 17, the signals E and CLK always have only one substitution reservation at a future time. However, at the maximum, the signal D has the signal substitution reservations for eight future times at the same time.

【0010】3.図15および図16のCKは、CK´
eventという参照があるので、信号代入時にその時
刻でイベントが発生したかどうかという情報をセットす
る必要がある。また、図18のDINは、DIN´la
st_valueという参照があるので、一つ前の過去
の値を保持しておく必要がある。
3. CK in FIGS. 15 and 16 is CK ′
Since there is a reference of “event”, it is necessary to set information as to whether or not an event has occurred at that time when a signal is assigned. Further, DIN in FIG. 18 is DIN'la
Since there is a reference st_value, it is necessary to hold the previous value of the previous one.

【0011】4.VHDLにはTIME型という標準型
が存在し、その値は最少単位fs(フェムトセカンド)
から、最大単位hr(時間)まで取り得る。TIME型
の全ての単位を扱えるようにするには、TIME型の信
号の値を表現する際、2ワード必要である。例えば、図
19に示す記述において、信号Aはbit型であるた
め、代入処理などで値の変更を行うのは1ワード分の処
理で良いが、信号DELAYは2ワード分の変更が必要
になる。
4. There is a standard type called TIME type in VHDL, and its value is the minimum unit fs (femtosecond).
To the maximum unit hr (hour). In order to be able to handle all TIME type units, two words are required to represent the value of a TIME type signal. For example, in the description shown in FIG. 19, since the signal A is a bit type, it is sufficient to change the value by substitution processing or the like for one word, but the signal DELAY needs to be changed for two words. .

【0012】従来の論理シミュレータでは、上記のよう
な信号の性質を考慮せずに、全ての信号について同じよ
うに処理を行っている。したがって、駆動信号として働
かない信号についても駆動処理を行い、代入要求を一つ
しか持たない信号についても代入要求(波形)の更新処
理を行い、あるいは属性情報を保持しなくても良い信号
についても属性情報を記憶するような、必要のない処理
も行っていた。これが、シミュレーションの高速化を妨
げる原因となていた。
In the conventional logic simulator, all signals are processed in the same manner without considering the characteristics of the signals as described above. Therefore, the drive processing is performed even for a signal that does not work as a drive signal, the substitution request (waveform) is updated even for a signal having only one substitution request, or even for a signal that does not need to hold attribute information. Unnecessary processing such as storing attribute information was also performed. This has been a cause of impeding the speedup of simulation.

【0013】一方、プロセスの中には、駆動信号が特定
の値であるときのみ動作するものとどのような値であっ
ても動作するものが混在する。例えば、図20のVHD
L記述におけるプロセスは、制御信号CLKの値が
“1”のとき値の転送が行われるが、“0”のときは何
も動作しない。一方、図21のプロセスはCLKの値が
“1”のときでも、“0”のときでも値の転送が発生す
る。
On the other hand, some processes include those that operate only when the drive signal has a specific value and those that operate regardless of any value. For example, VHD in FIG.
In the process described in L description, when the value of the control signal CLK is "1", the value is transferred, but when it is "0", nothing is operated. On the other hand, in the process of FIG. 21, value transfer occurs regardless of whether the value of CLK is “1” or “0”.

【0014】従来の論理シミュレータでは、このような
プロセスを区別せずに、同じようにプロセス起動の処理
を行っており、これがシミュレーションの高速化を妨げ
る原因となていた。
In the conventional logic simulator, the process activation process is similarly performed without distinguishing such processes, which has been a cause of impeding the speedup of the simulation.

【0015】(2)近年、LSI等の設計対象ハードウ
ェアの大規模化に伴い、設計効率の向上を目的として機
能設計のような設計の上位工程から設計を支援するCA
Dシステムが開発されている。
(2) In recent years, with the increase in the scale of hardware to be designed such as LSI, the CA that supports design from the upper step of design such as functional design for the purpose of improving the design efficiency.
The D system is being developed.

【0016】CADシステムの入力データとしては、V
HDL、Verilog HDL等のハードウェア設計
用のハードウェア記述言語が用いられており、特にVH
DLはIEEE標準化され広く用いられつつある。図4
8に、VHDLの記述例を示す。
The input data of the CAD system is V
A hardware description language for hardware design such as HDL and Verilog HDL is used.
DL is being standardized by IEEE and is being widely used. FIG.
8 shows a description example of VHDL.

【0017】VHDLでは、同一のHDL記述に対し
て、シミュレータ毎にシミュレーション結果が異なり、
互換性が無い場合が起こるという従来のHDLの問題点
を考慮し、言語仕様においてシミュレーション方式を含
めて厳密に定義されている。このような、項目の1つに
レゾリューションがある。
In VHDL, the simulation result differs for each simulator for the same HDL description.
It is strictly defined in the language specification including the simulation method in consideration of the problem of the conventional HDL that there is a case where there is no compatibility. One of these items is resolution.

【0018】レゾリューションとは、図48の記述中の
信号Sのように、信号値の代入源(ソース)となるプロ
セスや下階層のコンポーネントが2個以上ある信号(図
48では、Sは、プロセスP1とコンポーネントインス
タンス文B0の出力ポートの2個の代入源をもつ)の値
を決定するメカニズムである。レゾリューション信号の
値は、これらの代入源の値をもとにレゾリューション関
数と呼ばれる関数をコールすることによって得られる。
The resolution is a signal such as a signal S in the description of FIG. 48, which has two or more components in the process or the lower hierarchy as a substitution source of the signal value (in FIG. 48, S is , The process P1 and the output port of the component instance statement B0 have two substitution sources). The value of the resolution signal is obtained by calling a function called a resolution function based on the values of these substitution sources.

【0019】レゾリューション関数は、信号のデータタ
イプに対して定義される。そして、レゾリューション関
数の定義されないデータタイプの信号のソースは、1個
以下でなければならないという規則が設けられている。
The resolution function is defined for the data type of the signal. Further, there is a rule that the number of sources of signals of the data type for which the resolution function is not defined must be one or less.

【0020】図48の信号Sのデータタイプstd_l
ogicについては、例えば図49のようなレゾリュー
ション関数が定義される。すなわち、std_logi
cは、9値データタイプであるstd_ulogicタ
イプに対して、レゾリューションを可能としたサブタイ
プである。図49の関数resolvedの引数sは、
ソースの配列であり、途中結果resultとソース間
で図49のresolution_tableに従って
演算を順次行って結果を求めて行くものである。特に、
ソース数が1個の場合は、IF文のTHEN側の処理に
よって、レゾリューション結果は、そのソースの値とな
る。
Data type std_l of signal S in FIG.
As for the logic, for example, a resolution function as shown in FIG. 49 is defined. That is, std_logi
c is a subtype that enables resolution to the std_ulotic type, which is a nine-valued data type. The argument s of the function resolved in FIG. 49 is
This is an array of sources, and the operation is sequentially performed between the intermediate result "result" and the source in accordance with the resolution_table in Fig. 49 to obtain the result. In particular,
When the number of sources is one, the resolution result becomes the value of the source by the processing on the THEN side of the IF statement.

【0021】レゾリューションは、典型的には、ハード
ウエアのバス構造をモデル化する場合に使用される。多
くのハードウエアモジュールは、チップ外部のバスとイ
ンターフェースをとり、あるいは内部にバスをもつた
め、ユーザがVHDLによってハードウエアの構造を意
識したレベルの仕様記述、例えばレジスタトランスファ
レベルやゲートレベルの仕様記述を書く場合、使用する
データタイプはレゾリューション可能なデータタイプ、
例えばstd_logicとなる。この場合、全ての信
号について、ソースが1個の場合も含めて、レゾリュー
ション関数が呼ばれることになる。
Resolution is typically used when modeling the bus structure of hardware. Many hardware modules interface with a bus external to the chip or have an internal bus, so that the user is conscious of the hardware structure by VHDL, for example, the specification description at the register transfer level or the gate level. , The data type used is a resolvable data type,
For example, std_logic. In this case, the resolution function is called for all signals, including the case where there is one source.

【0022】ところが、本来レゾリューションを必要と
するバスなどの信号は、回路のごく一部分であるため、
その他の信号に対するレゾリューション処理、すなわち
図49のようなソース自身の値を返す関数呼出し処理
は、シミュレーション時のオーバヘッドとなるという問
題があった。特に、大規模な回路のシミュレーションが
高速に実行できない原因の1つとなっていた。
However, a signal such as a bus which originally requires resolution is a small part of the circuit,
The resolution process for other signals, that is, the function call process for returning the value of the source itself as shown in FIG. 49 has a problem that it becomes an overhead at the time of simulation. In particular, it has been one of the reasons why large-scale circuit simulation cannot be executed at high speed.

【0023】[0023]

【発明が解決しようとする課題】[Problems to be Solved by the Invention]

(1)シミュレーションモデルおいては、上述したよう
な様々な性質を持つ信号やプロセスが混在しているが、
従来の論理シミュレータでは、信号の性質を考慮せずに
全ての信号に対して画一的な処理を行っており、ある種
の信号やプロセスについては無駄な処理も行っていたた
め、高速にシミュレーションを行うことができないとい
う問題があった。
(1) In the simulation model, signals and processes having various properties as described above are mixed,
Conventional logic simulators perform uniform processing on all signals without considering the characteristics of the signals, and also perform wasteful processing on certain signals and processes. There was a problem that I could not do it.

【0024】本発明は、上記事情に鑑みてなされたもの
であり、各信号やプロセスの有する性質に応じた処理を
行なって、無駄な処理を省き、シミュレーションの高速
化を可能にする論理シミュレータを提供することを目的
とする。
The present invention has been made in view of the above circumstances, and provides a logic simulator that performs processing according to the characteristics of each signal or process to eliminate wasteful processing and speed up simulation. The purpose is to provide.

【0025】(2)ハードウエアの仕様記述において、
大部分の信号はレゾリューションを必要としない信号で
あるにもかかわらず、バス構造を表す信号などの一部の
信号がレゾリューションを必要とするために、上記した
ようなハードウエア記述はレゾリューションのためのデ
ータタイプを用いて書かれ、その結果、従来の論理シミ
ュレータでは、本来レゾリューションを必要としないソ
ースが1個の信号代入に対してもレゾリューション関数
が呼び出され、シミュレーションにおけるオーバヘッド
となっているという問題があった。
(2) In the hardware specification description,
Although most signals do not require resolution, some signals, such as signals that represent bus structures, require resolution. It is written by using the data type for resolution, and as a result, in the conventional logic simulator, the resolution function is called even for the signal substitution in which the source which originally does not need resolution is one. There was a problem that it was an overhead in the simulation.

【0026】本発明は、上記事情に鑑みてなされたもの
であり、レゾリューション処理が本来不要な信号を検出
し、当該信号に対するレゾリューション処理を省略し
て、シミュレーションの高速化を可能にした論理シミュ
レータおよびハードウエア記述変換装置を提供すること
を目的とする。
The present invention has been made in view of the above circumstances, and it is possible to speed up the simulation by detecting a signal that is originally unnecessary for resolution processing and omitting the resolution processing for the signal. It is an object of the present invention to provide a logic simulator and a hardware description conversion device.

【0027】[0027]

【課題を解決するための手段】本発明(請求項1)に係
る論理シミュレータは、少なくとも1種類のオブジェク
トについて、該オブジェクトに属する各要素と該オブジ
ェクトをその性質により分類したオブジェクト種別との
対応を記憶するオブジェクト種別記憶手段と、前記オブ
ジェクトの要素を実行する際に、前記オブジェクト種別
記憶手段を参照して該実行するオブジェクトの要素のオ
ブジェクト種別を求め、オブジェクト種別毎に定義され
た処理手順に従って、該オブジェクトの要素の処理を行
なうシミュレーション処理手段と備えたことを特徴とす
る。
A logic simulator according to the present invention (Claim 1) relates, for at least one type of object, the correspondence between each element belonging to the object and the object type obtained by classifying the object according to its property. When executing the object type storage means for storing and the element of the object, the object type of the element of the object to be executed is obtained by referring to the object type storage means, and according to the processing procedure defined for each object type, It is characterized by comprising a simulation processing means for processing the elements of the object.

【0028】ここで、オブジェクトには、例えば信号オ
ブジェクトとプロセス・オブジェクトがある。オブジェ
クトに属する各要素とは、例えばオブジェクトが信号オ
ブジェクトである場合、各信号のことである。
Here, the objects include, for example, a signal object and a process object. Each element belonging to an object is each signal when the object is a signal object, for example.

【0029】オブジェクトの性質には、例えば、信号に
対するイベントや代入の起こったシミュレーションサイ
クルや時刻、信号の過去の値などに関連する属性情報の
有無、信号に対する未来における値更新要求からなる波
形の更新処理の有無、信号へのイベントで起動すべきプ
ロセス(並列動作単位)の有無、プロセスを起動する信
号に関する条件などがある。
The properties of the object include, for example, a simulation cycle or time at which an event or substitution has occurred for a signal, presence / absence of attribute information related to a past value of the signal, and a waveform update including a future value update request for the signal. The presence / absence of processing, the presence / absence of a process (parallel operation unit) to be activated by an event to a signal, and the condition regarding a signal to activate the process are included.

【0030】本発明(請求項2)に係る論理シミュレー
タは、請求項1の論理シミュレータにおいて、シミュレ
ーション対象となるハードウェア記述に基づいて、前記
オブジェクト種別記憶手段に記憶する前記オブジェクト
の要素と該オブジェクトの要素に対応するオブジェクト
種別を決定するオブジェクト種別決定手段をさらに備え
たことを特徴とする。
A logic simulator according to the present invention (claim 2) is the logic simulator according to claim 1, wherein elements of the object stored in the object type storage means and the object are stored based on the hardware description to be simulated. Is further provided with an object type determining means for determining an object type corresponding to the element.

【0031】また、本発明に係る論理シミュレーション
方法は、少なくとも1種類のオブジェクトについて、該
オブジェクトに属する各要素と該オブジェクトをその性
質により分類したオブジェクト種別との対応を記憶し、
前記オブジェクトの要素を実行する際に、記憶した前記
対応から該実行するオブジェクトの要素のオブジェクト
種別を求め、オブジェクト種別毎に定義された処理手順
に従って、該オブジェクトの要素の処理を行なうことを
特徴とする。
Further, the logic simulation method according to the present invention stores, for at least one type of object, the correspondence between each element belonging to the object and the object type obtained by classifying the object according to its property,
When executing the element of the object, the object type of the element of the object to be executed is obtained from the stored correspondence, and the element of the object is processed according to the processing procedure defined for each object type. To do.

【0032】また、本発明に係る論理シミュレーション
方法は、シミュレーション対象となるハードウェア記述
に基づいて、少なくとも1種類のオブジェクトについ
て、該オブジェクトに属する各要素と該オブジェクトを
その性質により分類したオブジェクト種別との対応を決
定し、前記オブジェクトの要素を実行する際に、決定し
た前記対応から該実行するオブジェクトの要素のオブジ
ェクト種別を求め、オブジェクト種別毎に定義された処
理手順に従って、該オブジェクトの要素の処理を行なう
ことを特徴とする。
Further, the logic simulation method according to the present invention, for at least one type of object, based on the hardware description to be simulated, each element belonging to the object and the object type obtained by classifying the object according to the property thereof. When the element of the object is executed, the object type of the element of the object to be executed is determined from the determined correspondence, and the processing of the element of the object is performed according to the processing procedure defined for each object type. It is characterized by performing.

【0033】また、本発明(請求項3)に係る論理シミ
ュレータは、シミュレーション対象となるシミュレーシ
ョンモデル中で使用される信号のソース数を求める解析
手段と、レゾリューション処理を省略する対象となるデ
ータタイプを記憶するデータタイプ記憶手段と、前記シ
ミュレーションモデル中において前記データタイプ記憶
手段に記憶されているデータタイプの信号でかつ前記解
析手段により求められたソース数が1個である信号に対
する信号代入文に対しては、レゾリューション信号自身
に直接代入するコードを生成するコード生成手段とを備
えたことを特徴とする。
The logic simulator according to the present invention (claim 3) is an analysis means for obtaining the number of sources of signals used in a simulation model to be simulated, and data to be subjected to resolution processing. A data type storing means for storing a type, and a signal assignment statement for a signal of a data type stored in the data type storing means in the simulation model, and the number of sources obtained by the analyzing means is 1 With respect to (1), there is provided a code generating means for generating a code directly substituted into the resolution signal itself.

【0034】本発明(請求項4)に係る論理シミュレー
タは、シミュレーション対象となるハードウエア記述中
で使用される信号のソース数を求める解析手段と、レゾ
リューション処理を省略する対象となるデータタイプを
記憶するデータイプ記憶手段と、前記ハードウエア記述
中において前記データタイプ記憶手段に記憶されている
データタイプであり、前記解析手段により求められたソ
ース数が1個であり、かつ、該ソースに接続される下位
コンポーネントの出力ポートまたは入出力ポートが存在
する場合、当該ポートをレゾリューション信号自身に直
接接続するコードを生成するコード生成手段と備えたこ
とを特徴とする。
A logic simulator according to the present invention (claim 4) is an analysis means for obtaining the number of sources of signals used in a hardware description to be simulated, and a data type for which resolution processing is omitted. And a data type stored in the data type storage means in the hardware description, the number of sources obtained by the analysis means is one, and When there is an output port or an input / output port of a lower component to be connected, it is characterized by comprising code generating means for generating a code for directly connecting the port to the resolution signal itself.

【0035】本発明(請求項5)に係るハードウエア記
述変換装置は、ハードウエア記述言語による仕様記述を
記憶するハードウエア記述記憶手段と、前記ハードウエ
ア記述記憶手段に記憶されているハードウエア記述中の
信号のソース数を求める解析手段と、レゾリューション
処理を省略する対象となるデータイプを記憶するデータ
タイプ記憶手段と、前記ハードウエア記述中において中
において前記データタイプ記憶手段に記憶されているデ
ータタイプの信号でかつ前記解析手段により求められた
ソース数が1個である信号宣言を、非レゾリューション
タイプの信号宣言に置き換えたハードウエア記述を生成
するハードウエア記述変換手段とを備えたことを特徴と
する。
A hardware description converter according to the present invention (claim 5) is a hardware description storage means for storing a specification description in a hardware description language, and a hardware description stored in the hardware description storage means. An analysis means for obtaining the number of sources of signals in the data, a data type storage means for storing a data type for which resolution processing is omitted, and a data type storage means for storing the data type in the hardware description. And a hardware description conversion unit for generating a hardware description in which a signal declaration of a data type signal having a single source number obtained by the analysis unit is replaced with a signal declaration of a non-resolution type. It is characterized by that.

【0036】好ましくは、前記ハードウエア記述言語中
の信号代入文に基づいて、レゾリューションタイプの信
号宣言を非レゾリューションタイプの信号宣言に置き換
えることを特徴とする。また、好ましくは、前記ハード
ウエア記述言語中のコンポーネントインスタンス文に基
づいて、レゾリューションタイプの信号宣言を非レゾリ
ューションタイプの信号宣言に置き換えることを特徴と
する。また、好ましくは、前記ハードウエア記述言語中
の信号代入文およびコンポーネントインスタンス文に基
づいて、レゾリューションタイプの信号宣言を非レゾリ
ューションタイプの信号宣言に置き換えることを特徴と
する。
Preferably, the signal declaration of the resolution type is replaced with the signal declaration of the non-resolution type based on the signal assignment statement in the hardware description language. Further, preferably, the resolution type signal declaration is replaced with the non-resolution type signal declaration based on the component instance statement in the hardware description language. Further, preferably, the resolution type signal declaration is replaced with the non-resolution type signal declaration based on the signal assignment statement and the component instance statement in the hardware description language.

【0037】また、本発明に係る論理シミュレーション
方法は、レゾリューション処理を省略する対象となるデ
ータタイプを記憶し、シミュレーション対象となるハー
ドウエア記述中で使用される信号のソース数を求め、記
憶したデータタイプの信号でかつ求められたソース数が
1個である信号に対する信号代入文に対しては、レゾリ
ューション信号自身に直接代入するコードを生成するこ
とを特徴とする。
Further, the logic simulation method according to the present invention stores the data type for which the resolution processing is omitted, obtains the number of sources of the signals used in the hardware description to be simulated, and stores it. It is characterized in that a code for directly substituting the resolution signal itself is generated for the signal substitution statement for the signal of the data type and the obtained number of sources is one.

【0038】また、本発明に係る論理シミュレーション
方法は、レゾリューション処理を省略する対象となるデ
ータタイプを記憶し、シミュレーション対象となるハー
ドウエア記述中で使用される信号のソース数を求め、記
憶したデータタイプであり、求められたソース数が1個
であり、かつ、該ソースに接続される下位コンポーネン
トの出力ポートまたは入出力ポートが存在する場合、当
該ポートをレゾリューション信号自身に直接接続するコ
ードを生成することを特徴とする。
Further, the logic simulation method according to the present invention stores the data type for which resolution processing is omitted, obtains and stores the number of sources of signals used in the hardware description to be simulated. Data type, the number of sources required is one, and if there is an output port or input / output port of the lower-level component connected to the source, connect that port directly to the resolution signal itself. It is characterized by generating a code for

【0039】また、本発明に係るハードウエア記述変換
方法は、レゾリューション処理を省略する対象となるデ
ータイプを記憶し、シミュレーション対象となるハード
ウエア記述中の信号のソース数を求め、該ハードウエア
記述中において、記憶したデータタイプの信号でかつ求
められたソース数が1個である信号宣言を、非レゾリュ
ーションタイプの信号宣言に置き換えたハードウエア記
述を生成することを特徴とする。
Further, the hardware description conversion method according to the present invention stores the data type for which resolution processing is to be omitted, obtains the number of sources of signals in the hardware description to be simulated, and The hardware description is characterized by generating a hardware description in which a signal declaration of a stored data type signal and the number of obtained sources is 1 is replaced with a non-resolution type signal declaration.

【0040】[0040]

【作用】本発明(請求項1)では、少なくとも1種類の
オブジェクト(例えば信号オブジェクトおよびプロセス
・オブジェクトの一方または両方)について、該オブジ
ェクトに属する各要素(例えば各信号)と該オブジェク
トをその性質により分類したオブジェクト種別との対応
を記憶しており、オブジェクトの要素である各信号など
を実行する際に、オブジェクト種別記憶手段から該実行
するオブジェクトの要素のオブジェクト種別を求め、オ
ブジェクト種別毎に定義された処理手順に従って、該オ
ブジェクトの要素の処理を行なう。
According to the present invention (Claim 1), for at least one type of object (for example, one or both of a signal object and a process object), each element (for example, each signal) belonging to the object and the object are determined according to their characteristics. The correspondence with the classified object type is stored, and when executing each signal that is an element of the object, the object type of the element of the object to be executed is obtained from the object type storage means, and defined for each object type. The elements of the object are processed according to the processing procedure described above.

【0041】したがって、本発明によれば、論理シミュ
レーション中に信号、プロセスなどの種別に応じた処理
(すなわち該種別に不要な処理を省略した処理)を行
い、シミュレーションを高速に行うことが可能となる。
Therefore, according to the present invention, it is possible to perform the processing according to the type of the signal, the process, etc. (that is, the processing in which unnecessary processing is omitted in the type is omitted) during the logic simulation, and the simulation can be performed at high speed. Become.

【0042】これによって、シミュレーション時間を短
縮したシミュレーション環境を提供することができ、設
計者が論理シミュレーションを行なう上で、回路の設計
効率・デバッグ作業効率の向上を計ることができる。
As a result, it is possible to provide a simulation environment in which the simulation time is shortened, and it is possible to improve the design efficiency of the circuit and the debugging work efficiency when the designer performs the logic simulation.

【0043】また、請求項2では、オブジェクト種別決
定手段を設けることによって、設計者が信号オブジェク
トやプロセス・オブジェクトの種別を設定しなくても、
オブジェクトの種別を自動的に決定できる。そして、こ
の自動的に決定されたオブジェクトの種別により、該種
別に応じた処理(すなわち該種別に不要な処理を省略し
た処理)を行って、シミュレーションを高速に行うこと
が可能となる。
According to the second aspect of the present invention, by providing the object type determining means, even if the designer does not set the type of the signal object or the process object,
The type of object can be determined automatically. Then, according to the automatically determined type of the object, it is possible to perform a process according to the type (that is, a process in which unnecessary processes for the type are omitted) and to perform the simulation at high speed.

【0044】また、本発明(請求項3)では、シミュレ
ーション対象となるハードウエア記述中で使用される信
号のソース数を求め、レゾリューション処理を省略する
対象となるデータタイプの信号でかつ求められたソース
数が1個である信号に対する信号代入文に対しては、レ
ゾリューション信号自身に直接代入するコードを生成す
る。
Further, in the present invention (claim 3), the number of sources of the signals used in the hardware description to be simulated is obtained, and the signal of the data type to be subjected to the resolution processing is obtained. For the signal assignment statement for the signal whose source number is 1, the code to be directly assigned to the resolution signal itself is generated.

【0045】したがって、本発明によれば、論理シミュ
レーション中にソースが1個の信号については、レゾリ
ューション処理を省略することができ、シミュレーショ
ンを高速に行うことが可能となる。
Therefore, according to the present invention, the resolution process can be omitted for the signal having one source during the logic simulation, and the simulation can be performed at high speed.

【0046】本発明(請求項4)では、シミュレーショ
ン対象となるハードウエア記述中で使用される信号のソ
ース数を求め、レゾリューション処理を省略する対象と
なるデータタイプであり、求められたソース数が1個で
あり、かつ、該ソースに接続される下位コンポーネント
の出力ポートまたは入出力ポートが存在する場合、当該
ポートをレゾリューション信号自身に直接接続するコー
ドを生成する。
In the present invention (Claim 4), the number of sources of signals used in the hardware description to be simulated is obtained, and the data type to be subjected to resolution processing is omitted. If the number is one and there is an output port or input / output port of a lower component connected to the source, a code that directly connects the port to the resolution signal itself is generated.

【0047】このように、本発明によれば、コンポーネ
ントインスタンス文のoutまたはinoutポートの
接続先信号のソースが1個の場合に、当該ポートにレゾ
リューション信号自身を接続することによって、下位階
層からの当該ポートへの信号代入文の実行において、レ
ゾリューション処理を省略することができ、シミュレー
ションを高速化することが可能となる。
As described above, according to the present invention, when the source of the connection destination signal of the out or inout port of the component instance statement is one, by connecting the resolution signal itself to the port, the lower hierarchy The resolution processing can be omitted in the execution of the signal assignment statement from the to the relevant port, and the simulation can be speeded up.

【0048】本発明(請求項5)では、シミュレーショ
ン対象となるハードウエア記述中の信号のソース数を求
め、レゾリューション処理を省略する対象となるデータ
タイプの信号でかつ求められたソース数が1個である信
号宣言を、非レゾリューションタイプの信号宣言に置き
換えたハードウエア記述を生成する。
In the present invention (Claim 5), the number of sources of the signal in the hardware description to be simulated is obtained, and the number of sources of the signal of the data type to be subjected to the resolution processing is determined. A hardware description in which one signal declaration is replaced with a non-resolution type signal declaration is generated.

【0049】したがって、本発明によれば、レゾリュー
ションタイプであって、ソース数が1個である信号を検
出し、この信号については、信号のデータタイプを非レ
ゾリューションタイプに変更することによって、レゾリ
ューション処理を省略し、シミュレーションを高速に行
うことができるようになる。
Therefore, according to the present invention, a signal of the resolution type having one source is detected, and the data type of the signal is changed to the non-resolution type. Thus, the resolution processing can be omitted and the simulation can be performed at high speed.

【0050】このように、本発明によれば、シミュレー
ション時間を短縮したシミュレーション環境を提供する
ことができる。よって、設計者が機能・論理シミュレー
ションを行なう上で、回路の設計効率・デバッグ作業効
率の向上を計ることができる。
As described above, according to the present invention, it is possible to provide a simulation environment in which the simulation time is shortened. Therefore, it is possible to improve the circuit design efficiency and the debugging work efficiency in performing the function / logic simulation by the designer.

【0051】[0051]

【実施例】以下、図面を参照しながら本発明の実施例を
説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0052】(1)(実施例1) まず、実施例1を説明する。(1) (Example 1) First, Example 1 will be described.

【0053】<実施例1の主な構成・作用>本実施例に
係る機能・論理シミュレータは、シミュレーション対象
となるハードウェア記述から生成された信号やプロセス
などのオブジェクトを記憶するオブジェクト記憶部
(3)と、各オブジェクト(例えば信号ID)とオブジ
ェクトをその種々の性質により分類したオブジェクト種
別との対応を記憶するオブジェクト種別記憶部(1)
と、前記オブジェクト記憶部(3)に記憶されたオブジ
ェクトの処理(信号に対する信号値更新処理やプロセス
に対するプロセス実行処理等)を実行する際に、前記オ
ブジェクト種別記憶部(1)に記憶された該オブジェク
トの種別を参照し、オブジェクトの種別毎に定められた
必要最小限の項目について、該オブジェクトの処理を実
行するシミュレーション処理部(2)とを備える。
<Main Configuration / Operation of First Embodiment> The function / logic simulator according to the first embodiment has an object storage section (3) for storing objects such as signals and processes generated from the hardware description to be simulated. ), And an object type storage unit (1) for storing the correspondence between each object (for example, signal ID) and the object type in which the object is classified according to its various properties
And when the processing of the object stored in the object storage unit (3) (signal value update processing for a signal, process execution processing for a process, etc.) is executed, the object stored in the object type storage unit (1) A simulation processing unit (2) is provided, which refers to the type of the object and executes the processing of the object for the minimum necessary items determined for each type of the object.

【0054】本実施例では、シミュレーションを行なう
ときに、オブジェクトごとに記憶された信号種別を用い
ることにより、信号値更新処理手順やプロセス実行処理
手順を、当該種別を割り当てられた信号やプロセスに必
要な最低限の処理に留める。
In this embodiment, when the simulation is performed, the signal type stored for each object is used, so that the signal value update processing procedure and the process execution processing procedure are required for the signals and processes to which the type is assigned. I will limit it to the minimum processing.

【0055】(効果)従来のシミュレータでは、全ての
信号やプロセス等のオブジェクトについて、その性質に
かかわらず同一の処理を行っていたため、無駄な処理を
実行することが多く、シミュレーションの高速化を妨げ
ていた。
(Effect) In the conventional simulator, the same processing is performed for all objects such as signals and processes regardless of their properties. Therefore, wasteful processing is often executed, which impedes the speedup of simulation. Was there.

【0056】本実施例によれば、信号やプロセス等のオ
ブジェクトに種別を設け、オブジェクトを実行する際
に、その種別を参照し、種別毎に定められた必要最小限
の処理だけを行うようにすることにより、シミュレーシ
ョンを高速に行うことができる。
According to this embodiment, a type is provided for an object such as a signal or a process, and when the object is executed, the type is referred to so that only the minimum necessary processing determined for each type is performed. By doing so, the simulation can be performed at high speed.

【0057】(具体的説明)本発明は、任意のオブジェ
クト、例えば信号、プロセス、信号とプロセスの両方な
どに適用することができるが、実施例1では本発明を信
号に対して適用したものを具体例として挙げている。ま
た、本発明をオブジェクトの1つであるプロセスに対し
て適用した例は変形例で説明する。
(Detailed Description) The present invention can be applied to any object such as a signal, a process, or both a signal and a process. In the first embodiment, the present invention is applied to a signal. It is given as a specific example. An example in which the present invention is applied to a process that is one of objects will be described in a modified example.

【0058】図1に、本実施例の機能・論理シミュレー
タの構成を示す。この機能・論理シミュレータは、オブ
ジェクト種別記憶部1、オブジェクト記憶部3およびシ
ミュレーション処理部2を備える。オブジェクト記憶部
3は、内部に、信号記憶部30およびプロセス記憶部3
1を有し、シミュレーション処理部2は、内部に、信号
代入実行部20およびプロセス実行部21を有する。
FIG. 1 shows the configuration of the function / logic simulator of this embodiment. This function / logic simulator includes an object type storage unit 1, an object storage unit 3, and a simulation processing unit 2. The object storage unit 3 is internally provided with the signal storage unit 30 and the process storage unit 3.
1 and the simulation processing unit 2 has a signal substitution execution unit 20 and a process execution unit 21 inside.

【0059】オブジェクト記憶部3は、信号記憶部30
内に、シミュレーション対象となるハードウェア記述か
ら生成されたオブジェクトの1つである信号を記憶し、
同様にプロセス記憶部31内にプロセスを記憶する。
The object storage unit 3 includes the signal storage unit 30.
The signal, which is one of the objects generated from the hardware description to be simulated, is stored in
Similarly, the process is stored in the process storage unit 31.

【0060】オブジェクト種別記憶部1は、各オブジェ
クトとそのオブジェクト種別の対応を記憶する。ここで
は、各信号について、後述する信号種別を記憶するもの
とする。
The object type storage unit 1 stores the correspondence between each object and its object type. Here, for each signal, a signal type described later is stored.

【0061】シミュレーション処理部2は、信号に対し
ては、信号代入実行部20により信号値更新処理を行な
い、プロセスに対しては、プロセス実行部21によりプ
ロセス実行処理を行なう。その際、オブジェクト種別記
憶部1に記憶されたオブジェクトの種別を参照し、オブ
ジェクト記憶部3に記憶されたオブジェクトに対し、そ
のオブジェクト種別について定められた処理項目のみに
ついて、当該オブジェクトの処理を行う。
In the simulation processing unit 2, the signal substitution executing unit 20 performs the signal value updating process for the signal, and the process executing unit 21 performs the process execution process for the process. At that time, the type of the object stored in the object type storage unit 1 is referred to, and the object stored in the object storage unit 3 is processed only for the processing items defined for the object type.

【0062】ここでは、オブジェクト種別記憶部1に信
号種別が記憶されているので、シミュレーション処理部
2は、信号に対して信号代入実行部20により信号値更
新処理を行なう際に、当該信号のオブジェクト種別をオ
ブジェクト種別記憶部1を参照して求め、得られた該信
号の信号種別について定められた処理項目についての
み、当該オブジェクトの処理を行う。
In this case, since the signal type is stored in the object type storage unit 1, the simulation processing unit 2 performs the signal value updating process on the signal by the signal substitution executing unit 20. The type is obtained by referring to the object type storage unit 1, and the object is processed only for the processing item determined for the signal type of the obtained signal.

【0063】ここで、本実施例では、取り扱う信号の性
質として、 1.プロセスの駆動信号となるか否か 2.代入予約が複数発生する可能性の有無 3.シミュレーション中に参照される信号属性情報の有
無 に着目する。そして、上記3つの性質の組合わせによっ
て、図2のように8通りの信号種別を定義するものとす
る。
Here, in the present embodiment, the characteristics of the signal to be handled are: Whether or not it becomes a driving signal for the process Existence of the possibility of multiple substitution reservations 3. Focus on the presence / absence of signal attribute information that is referenced during simulation. Then, eight combinations of signal types are defined as shown in FIG. 2 by a combination of the above three characteristics.

【0064】さて、例えば図3に示すような記述が含ま
れるシミュレーションモデルに対してシミュレーション
を行う際は、オブジェクト種別記憶部1には、図4のよ
うに信号の種別が記憶される。図4では、種別を図2の
ような信号の性質に基づいて、8通りの信号種別を0か
ら7までの数値としてコード化している。例えば、図3
中に記述されている信号Aは、プロセスP2の駆動信号
であり、プロセスP0中で波形代入があるため代入予約
が複数発生し、かつ、プロセスP2中でシミュレーショ
ン中に属性情報への参照があるので一つ前の値を保持し
ておく必要があることから、“7”とコード化してい
る。一方、図3中に記述されている信号Fは、いずれの
プロセスの駆動信号にもならず、プロセスP3において
波形代入要求があるが、属性情報の参照はない。このこ
とから、信号Fを、“2”とコード化している。
Now, when performing a simulation on a simulation model including the description as shown in FIG. 3, the object type storage unit 1 stores the signal type as shown in FIG. In FIG. 4, 8 types of signal types are coded as numerical values from 0 to 7 based on the characteristics of the signals as shown in FIG. For example, in FIG.
The signal A described therein is a drive signal for the process P2, and there are multiple substitution reservations due to waveform substitution in the process P0, and there is a reference to attribute information during simulation in the process P2. Since it is necessary to hold the previous value, it is coded as "7". On the other hand, the signal F described in FIG. 3 does not become a drive signal of any process, and there is a waveform substitution request in the process P3, but there is no reference of attribute information. For this reason, the signal F is coded as "2".

【0065】なお、信号の種別の決定には上記のような
方法以外に、信号の性質に種別決定の優先度を設けて分
類する方法が考えられる。例えば、図5のように、図2
の信号の性質(3)を持つものを優先的に種別1にし、
種別1以外のもので性質(2)を持つものを2にし、そ
れ以外で性質(1)を持つものを3、持たない残りのも
のを4とするなどのようにして、決定してもよい。この
場合、シミュレーション中に信号の属性情報参照のある
信号はその他の性質に依存せずに種別1とするため、例
えば図3中に記述されている信号Aや信号C等は、優先
的に種別が1とされる。
In addition to the method described above, a method of classifying a signal by giving priority to the type determination to the nature of the signal is conceivable for determining the signal type. For example, as shown in FIG.
The one having the signal property (3) of is preferentially classified into type 1,
It may be determined by setting the type other than the type 1 having the property (2) to 2, the other type having the property (1) to 3, the remaining type not having the property 4, and the like. . In this case, since the signal having the attribute information reference of the signal during the simulation is classified into the type 1 without depending on other properties, the signals A and C described in FIG. 3 are preferentially classified according to the type. Is set to 1.

【0066】本実施例では、オブジェクト種別に基づい
て信号の代入処理を行うシミュレーション処理部2の信
号代入実行部20は、図6およびその続きの図7のよう
な処理を行なう。
In the present embodiment, the signal substitution executing section 20 of the simulation processing section 2 which performs the signal substitution processing based on the object type performs the processing shown in FIG. 6 and the subsequent FIG.

【0067】信号代入実行部20は、シミュレーション
実行中に、オブジェクト種別記憶部1に記憶されている
その信号の信号種別を参照し、図6および図7にしたが
って信号代入処理を行う。この場合、その信号で行うべ
き必要最小限の処理のみを行うので、シミュレーション
を高速に行うことができる。
The signal substitution executing section 20 refers to the signal type of the signal stored in the object type storing section 1 during the simulation, and performs the signal substitution process according to FIGS. 6 and 7. In this case, only the minimum necessary processing that should be performed on the signal is performed, so that the simulation can be performed at high speed.

【0068】例えば、信号の代入処理で信号Aの処理を
行う場合、図4を参照すると、オブジェクト種別記憶部
1に記憶されている種別が7であるので、図6および図
7のcase7から、信号の属性情報のセット、信号値
の更新、プロセス起動、代入要求の更新を全て行なう。
For example, when the signal A is processed by the signal substitution process, referring to FIG. 4, since the type stored in the object type storage unit 1 is 7, from case 7 in FIGS. 6 and 7, Set the attribute information of the signal, update the signal value, start the process, and update the substitution request.

【0069】同様に、信号Bの処理を行う場合、信号B
の種別は6であるから、case6のように、信号値の
更新、プロセス起動、代入要求の更新を行う。この場
合、信号の属性情報のセットは行わない。
Similarly, when processing the signal B, the signal B
Since the type is 6, the signal value is updated, the process is started, and the substitution request is updated as in case 6. In this case, the attribute information of the signal is not set.

【0070】また、信号Cでは、種別は5であるから、
case5のように、信号の属性情報のセット、信号値
の更新、プロセス起動を行う。この場合、代入要求の更
新は行わない。
Further, since the type of signal C is 5,
As in case 5, the attribute information of the signal is set, the signal value is updated, and the process is activated. In this case, the substitution request is not updated.

【0071】信号Dの種別は4であるから、case4
のように、信号値の更新、プロセス起動を行う。この場
合、代入要求の更新、信号の属性情報のセットは行わな
い。
Since the type of signal D is 4, case4
As described above, the signal value is updated and the process is started. In this case, the substitution request is not updated and the signal attribute information is not set.

【0072】信号Eの種別は3であるから、case3
のように、信号の属性情報のセット、信号値の更新、代
入要求の更新を行う。この場合、プロセス起動は行わな
い。
Since the type of the signal E is 3, case3
As described above, the signal attribute information is set, the signal value is updated, and the substitution request is updated. In this case, the process is not started.

【0073】信号Fの種別は2であるから、case2
のように、信号の信号値の更新、代入要求の更新を行
う。この場合、プロセス起動、信号の属性情報のセット
は行わない。
Since the type of the signal F is 2, case2
As described above, the signal value of the signal is updated, and the substitution request is updated. In this case, process activation and signal attribute information setting are not performed.

【0074】信号Gの種別は1であるから、case1
のように、信号の属性情報のセット、信号値の更新を行
う。この場合、代入要求の更新、プロセス起動は行わな
い。
Since the type of the signal G is 1, case1
As described above, the attribute information of the signal is set and the signal value is updated. In this case, the substitution request is not updated and the process is not started.

【0075】信号Hの種別は8であるから、case0
のように、信号値の更新のみ行う。この場合、信号の属
性情報のセット、プロセス起動、代入要求の更新は行わ
ない。
Since the type of the signal H is 8, case0
As described above, only the signal value is updated. In this case, setting of signal attribute information, process start, and substitution request update are not performed.

【0076】このように、本実施例によれば、信号やプ
ロセス等のオブジェクトに種別を設け、オブジェクトを
実行する際に、その種別を参照し、種別毎に定められた
必要最小限の処理だけを行うようにすることにより、シ
ミュレーションを高速に行うことができる。
As described above, according to this embodiment, a type is set for an object such as a signal or a process, and when the object is executed, the type is referred to and only the minimum required processing determined for each type is performed. By doing so, the simulation can be performed at high speed.

【0077】<実施例1の変形その1>以上述べてきた
実施例1では、信号の性質として、 1.プロセスの駆動信号となるか否か 2.代入予約が複数発生する可能性の有無 3.シミュレーション中に参照される信号属性情報の有
無 に着目した種別に対する代入処理の例を挙げたが、この
他にも種別を決定するときに利用される性質が考えられ
る。
<Modification 1 of Embodiment 1> In the embodiment 1 described above, the characteristics of the signal are: Whether or not it becomes a driving signal for the process Existence of the possibility of multiple substitution reservations 3. An example of the substitution process for the type focusing on the presence or absence of the signal attribute information referred to during the simulation has been given, but other properties that can be used when determining the type are also conceivable.

【0078】例えば、VHDLでは、TIMEという標
準型が存在し、この値は最小単位はfsから最大単位は
hr(時間)までとり得る。TIME型の全ての単位を
扱えるようにするには、TIME型の信号の値を表現す
る際、2ワード必要である。図19に示す記述におい
て、信号A,CLKはbit型であるので、値は1ワー
ドで表現できるが、DELAYはTIME型であるので
値表現には2ワード必要である。
For example, in VHDL, there is a standard type called TIME, and this value can range from fs as the minimum unit to hr (hour) as the maximum unit. In order to be able to handle all TIME type units, two words are required to represent the value of a TIME type signal. In the description shown in FIG. 19, since the signals A and CLK are of the bit type, the value can be expressed by one word, but DELAY is of the TIME type, so two words are required for the value expression.

【0079】このように、「値の代入で2ワードの代入
を行わなければならないもの」、「1ワードの代入のみ
で良いもの」、という性質に着目して、1ワードの代入
実行を行うべき信号の種別を1とし、2ワードの代入実
行を行うべき信号の種別を2とする。この場合、信号代
入処理部20の処理は、例えば図8に示すようになる。
信号Aは種別1であり、信号DELAYは種別2である
ので、それぞれ、1ワード分だけの値の代入処理、2ワ
ード分の値の代入の処理が行われる。
As described above, paying attention to the properties that "substitution of 2 words is required for substitution of values" and "substitution of only 1 word is necessary", substitution of 1 word should be executed. The type of signal is 1, and the type of signal for which substitution execution of 2 words is to be performed is 2. In this case, the processing of the signal substitution processing unit 20 is as shown in FIG. 8, for example.
Since the signal A is the type 1 and the signal DELAY is the type 2, the process of substituting the value of only one word and the process of substituting the value of two words are performed, respectively.

【0080】<実施例1の変形その2>実施例1では、
オブジェクト種別記憶部1に種別を記憶するオブジェク
トを信号として、信号種別によって信号代入処理部20
が信号代入処理を高速化する例を示したが、信号の種別
に応じて処理を行なう代わりに、あるいは信号の種別に
応じて処理を行なうのに加えて、プロセスの種別をオブ
ジェクト種別記憶部1に記憶し、プロセスの種別によっ
てプロセス実行処理部21のプロセス起動処理を高速化
することもできる。
<Modification 2 of Embodiment 1> In Embodiment 1,
A signal substitution processing unit 20 according to a signal type, using an object whose type is stored in the object type storage unit 1 as a signal.
Has shown an example of accelerating the signal substitution process, but instead of performing the process according to the type of the signal, or in addition to performing the process according to the type of the signal, the process type is set to the object type storage unit 1. The process activation processing of the process execution processing unit 21 can be speeded up according to the type of process.

【0081】例えば、図9のように記述されたプロセス
に対して、図10に示す性質から得られる図11の種別
をオブジェクト種別記憶部1に記憶した場合、プロセス
の種別に応じて不必要なプロセスの起動を抑制し、シミ
ュレーションを高速化することが可能になる。
For example, when the type of FIG. 11 obtained from the property shown in FIG. 10 is stored in the object type storage unit 1 for the process described as shown in FIG. 9, it is unnecessary depending on the type of process. It is possible to suppress process startup and speed up simulation.

【0082】例えば、プロセスP1は駆動信号CLKの
値が“1”の時のみ意味のある動作をし、“0”の時は
起動されてもifでfalseとなるので、何も処理さ
れない。このようなプロセスには、種別1を割り当て
る。そして、種別1のプロセス起動処理において駆動信
号の値が“1”の時のみ起動し、それ以外の場合は起動
を行わない。このようにして、無駄な起動を省略するこ
とができる。
For example, the process P1 performs a meaningful operation only when the value of the drive signal CLK is "1", and when it is "0", it is false even if it is started, so that nothing is processed. Type 1 is assigned to such a process. In the process starting process of type 1, the process is started only when the value of the drive signal is "1", and the process is not started in other cases. In this way, useless activation can be omitted.

【0083】(実施例2)次に、実施例2を説明する。 <実施例2の主な構成・作用>本実施例に係る機能・論
理シミュレータは、シミュレーション対象となるハード
ウェア記述を記憶する記述記憶部(4)と、記憶された
ハードウェア記述中の信号やプロセスなどのオブジェク
トについてその種々の性質により分類したオブジェクト
種別を決定するオブジェクト種別決定部(8)と、各オ
ブジェクト(例えば信号ID)と前記オブジェクト種別
決定部(8)により決定されたオブジェクト種別との対
応を記憶するオブジェクト種別記憶部(1)と、前記ハ
ードウェア記述から生成された信号やプロセスなどのオ
ブジェクトを記憶するオブジェクト記憶部(3)と、前
記オブジェクト記憶部(3)に記憶されたオブジェクト
の処理(信号に対する信号値更新処理やプロセスに対す
るプロセス実行処理等)を実行する際に、前記オブジェ
クト種別記憶部(1)に記憶された該オブジェクトの種
別を参照し、オブジェクトの種別毎に定められた必要最
小限の項目について、該オブジェクトの処理を実行する
シミュレーション処理部(2)とを備える。また、オブ
ジェクト種別決定部(8)は、記述記憶部(4)に記憶
されたハードウェア記述からオブジェクト種別決定に用
いられる特徴(性質)を抽出する特徴抽出部(6)、抽
出した特徴を記憶する特徴記憶部(7)、記憶された特
徴からオブジェクト種別を決定するオブジェクト種別決
定部(5)を有する。すなわち、本実施例は、実施例1
やその変形例の構成に加えて、記述記憶部(4)とるオ
ブジェクト種別決定部(8)をさらに設けたものであ
る。
(Second Embodiment) Next, a second embodiment will be described. <Main Configuration / Operation of Second Embodiment> The function / logic simulator according to the second embodiment includes a description storage unit (4) for storing a hardware description to be simulated, a signal in the stored hardware description, and An object type determination unit (8) that determines an object type classified by various characteristics of objects such as processes, an object type (for example, a signal ID), and an object type determined by the object type determination unit (8). An object type storage unit (1) for storing correspondence, an object storage unit (3) for storing objects such as signals and processes generated from the hardware description, and an object stored in the object storage unit (3) Processing (signal value update processing for signals and process execution processing for processes Etc.) is executed, the type of the object stored in the object type storage unit (1) is referred to, and the processing of the object is performed for the minimum necessary items determined for each type of the object. And a simulation processing section (2). Further, the object type determination unit (8) stores a feature extraction unit (6) that extracts a feature (property) used for object type determination from the hardware description stored in the description storage unit (4), and the extracted feature. And a feature storage unit (7) for determining the object type from the stored features. That is, this embodiment is the same as the first embodiment.
In addition to the configuration of the modification and its modification, an object type determination unit (8) for the description storage unit (4) is further provided.

【0084】本実施例では、オブジェクト種別決定部
(8)は、記述記憶部(4)に記憶されたシミュレーシ
ョン対象となるハードウェア記述からオブジェクトのオ
ブジェクト種別を決定し、これが実施例1やその変形例
で説明したオブジェクト種別記憶部(1)に記憶され
る。それ以降は、実施例1やその変形例と同様に、オブ
ジェクト種別を参照しながら、シミュレーションが進め
られて行く。
In the present embodiment, the object type determination unit (8) determines the object type of the object from the hardware description to be simulated stored in the description storage unit (4), which is the first embodiment or its modification. It is stored in the object type storage unit (1) described in the example. After that, the simulation proceeds while referring to the object type, as in the first embodiment and its modification.

【0085】(効果)本実施例によれば、設計者が信号
オブジェクトやプロセス・オブジェクトの種別を設定し
なくても、オブジェクトの種別を自動的に決定できる。
そして、この自動的に決定されたオブジェクトの種別に
より、実施例1やその変形例に示したものと同様の効果
を得ることができる。
(Effect) According to this embodiment, the type of the object can be automatically determined without the designer setting the types of the signal object and the process object.
Then, according to the automatically determined object type, it is possible to obtain the same effects as those shown in the first embodiment and its modification.

【0086】(具体的説明)本発明は、任意のオブジェ
クト、例えば信号オブジェクト、プロセス・オブジェク
ト、信号オブジェクトとプロセス・オブジェクの両方な
どに適用することができる。ここでは、本発明を信号オ
ブジェクトに対して適用したものを具体例として挙げて
いる。
(Detailed Description) The present invention can be applied to any object such as a signal object, a process object, both a signal object and a process object, and the like. Here, the present invention is applied to a signal object as a specific example.

【0087】図12に、本実施例の機能・論理シミュレ
ータの構成を示す。
FIG. 12 shows the configuration of the function / logic simulator of this embodiment.

【0088】この機能・論理シミュレータは、記述記憶
部4、オブジェクト種別決定部8、オブジェクト種別記
憶部1、シミュレーション処理部2、オブジェクト記憶
部3を備える。オブジェクト記憶部3は、内部に、信号
記憶部30およびプロセス記憶部31を有し、シミュレ
ーション処理部2は、内部に、信号代入実行部20およ
びプロセス実行部21を有する。すなわち、実施例1や
その変形例の構成に、記述記憶部4とオブジェクト種別
決定部8をさらに設けたものである。
This function / logic simulator comprises a description storage unit 4, an object type determination unit 8, an object type storage unit 1, a simulation processing unit 2, and an object storage unit 3. The object storage unit 3 has a signal storage unit 30 and a process storage unit 31 inside, and the simulation processing unit 2 has a signal substitution execution unit 20 and a process execution unit 21 inside. In other words, the description storage unit 4 and the object type determination unit 8 are further provided in the configuration of the first embodiment and its modification.

【0089】記述記憶部4は、シミュレーション対象と
なるハードウェア記述を記憶する。
The description storage unit 4 stores the hardware description to be simulated.

【0090】オブジェクト種別決定部8は、記憶された
シミュレーションモデルのハードウェア記述から信号ま
たはプロセス等のオブジェクトのうち少くとも1つの種
別を自動的に決定する。この決定された種別は、オブジ
ェクト種別記憶部1に記憶される。
The object type determining unit 8 automatically determines at least one type of objects such as signals or processes from the stored hardware description of the simulation model. The determined type is stored in the object type storage unit 1.

【0091】特徴抽出部6は、記述記憶部4に記憶され
たハードウェア記述からオブジェクト種別決定に用いら
れる特徴を抽出する。特徴記憶部7は、抽出した特徴を
記憶する。オブジェクト種別決定部5は、記憶された特
徴からオブジェクト種別を決定する。
The feature extraction unit 6 extracts the features used for object type determination from the hardware description stored in the description storage unit 4. The feature storage unit 7 stores the extracted features. The object type determination unit 5 determines the object type from the stored characteristics.

【0092】オブジェクト種別記憶部1、シミュレーシ
ョン処理部2、オブジェクト記憶部3、信号代入実行部
20、プロセス実行部21、信号記憶部30、プロセス
記憶部31の構成や働きは、実施例1やその変形例と同
様であるので、ここでの説明は省略する。
The configurations and functions of the object type storage unit 1, the simulation processing unit 2, the object storage unit 3, the signal substitution execution unit 20, the process execution unit 21, the signal storage unit 30, and the process storage unit 31 are the same as those of the first embodiment and its embodiments. Since it is the same as the modified example, the description thereof is omitted here.

【0093】さて、例えば記述記憶部4に、先に示した
図3のようなシミュレーションモデルの記述が記憶され
ているものとする。このとき、特徴抽出部6は、信号の
特徴を抽出し、特徴記憶部7に記憶する。例えば、先に
示したテーブル図2を作成し、テーブル形式で記憶す
る。
Now, for example, it is assumed that the description storage unit 4 stores the description of the simulation model as shown in FIG. At this time, the feature extraction unit 6 extracts the feature of the signal and stores it in the feature storage unit 7. For example, the table shown in FIG. 2 is created and stored in the table format.

【0094】例えば、信号AはプロセスP2のセンシテ
ィビティリストになっているので、プロセスの駆動信号
となるという性質がある。また、プロセスP0で波形代
入されており、プロセスP2でlast_valueを
参照しているので、代入予約が複数発生する可能性があ
り、かつ、シミュレーション実行中に属性情報の参照が
あることがわかる。したがって、図2に示すテーブルで
は、(1)(2)(3)の性質は、それぞれ○,○,○
となる。一方信号Gは、どのプロセスの駆動信号にもな
らず、波形代入も存在しないが、属性情報が参照される
という性質があることがわかる。したがって、図2に示
すテーブルでは、×,×,○となる。
For example, since the signal A is a sensitivity list of the process P2, it has a property of being a driving signal for the process. Further, since the waveform is substituted in the process P0 and the last_value is referenced in the process P2, it can be understood that a plurality of substitution reservations may occur and the attribute information is referenced during the simulation. Therefore, in the table shown in FIG. 2, the properties of (1), (2), and (3) are ◯, ◯, and ◯, respectively.
Becomes On the other hand, it can be seen that the signal G does not become a drive signal of any process and there is no waveform substitution, but it has a property that attribute information is referred to. Therefore, in the table shown in FIG. 2, x, x, and o.

【0095】種別決定部5は、このようにして抽出され
た特徴から種別を決定する。種別決定部5のアルゴリズ
ムの一例を図13に、他の例を図14に夫々示す。
The type determining section 5 determines the type from the features thus extracted. FIG. 13 shows an example of the algorithm of the type determining unit 5, and FIG. 14 shows another example.

【0096】種別決定部5で図13のアルゴリズムを用
いる場合、種別は図4のように決定される。図13のア
ルゴリズムでは、性質1,性質2,性質3の夫々が成り
立つ場合に、その種別コードの下位2ビット目,1ビッ
ト目,0ビット目の夫々に1を立てるものである。従っ
て、例えば、信号Aについては性質1,2,3の全てが
成り立っているので、その種別コードは2進数111
(2) すなわち7となる。また、信号Fについては性質2
のみが成り立っているので、そのコードは010(2)
すなわち2となる。
When the type determining unit 5 uses the algorithm of FIG. 13, the type is determined as shown in FIG. In the algorithm of FIG. 13, when each of property 1, property 2 and property 3 is established, 1 is set in each of the lower 2nd bit, 1st bit and 0th bit of the type code. Therefore, for example, since all the properties 1, 2, and 3 are true for the signal A, its type code is a binary number 111.
(2) That is, it becomes 7. In addition, regarding the signal F, the property 2
Since that only holds, the code is 010 (2) ,
That is, it becomes 2.

【0097】種別決定部5のアルゴリズムが図14であ
る場合には、種別は図5のように決定される。例えば、
信号Bの場合には、性質3は×である(図2参照)の
で、1行目のifはfalseとなる。性質2は○であ
るので4行目はtrueとなり5行めで種別は2とな
る。
When the algorithm of the type determining unit 5 is as shown in FIG. 14, the type is determined as shown in FIG. For example,
In the case of the signal B, the property 3 is x (see FIG. 2), and if in the first row is false. Since the property 2 is ◯, the fourth line is true and the type is 2 in the fifth line.

【0098】このように決定された種別をオブジェクト
種別記憶部1に記憶し、実施例1やその変形例で述べた
ように信号代入処理やプロセス起動処理を行うことによ
って、シミュレーション中の無駄を省きシミュレーショ
ンを高速化することができる。
By storing the thus determined type in the object type storage unit 1 and performing the signal substitution process and the process starting process as described in the first embodiment and its modification, waste during the simulation is eliminated. The simulation can be speeded up.

【0099】<実施例2の変形その1>上記の実施例2
では、一度記憶された信号の種別はシミュレーションの
途中で変化することはないが、シミュレーション途中で
デバッグのために、last_value等の信号の属
性を途中から参照する場合に属性情報を記憶するように
信号の種別を書き換えたり、その後、参照を止めて高速
にシミュレーションする場合に元の種別に戻したりし
て、属性を変化させて利用する方法もある。
<Modification 1 of Embodiment 2> Embodiment 2 described above
Then, although the type of the signal once stored does not change during the simulation, the signal is stored so that the attribute information is stored when the attribute of the signal such as last_value is referred to during the simulation for debugging. There is also a method of changing the attribute and reusing the type, or returning to the original type when the reference is stopped and the simulation is performed at high speed.

【0100】<実施例2の変形その2>実施例2では、
記述記憶部4にVHDL記述が記憶されているとした
が、シミュレーションモデルの信号、プロセス等のオブ
ジェクトの特徴を抽出できるものならなんでも良い。ま
た、解析木、図面なども含む。
<Modification 2 of Embodiment 2> In Embodiment 2,
Although the VHDL description is stored in the description storage unit 4, any one can be used as long as it can extract the characteristics of the object such as the signal and process of the simulation model. It also includes parse trees and drawings.

【0101】<実施例1、2の変形その1>以上、実施
例1、2で述べてきたものは、VHDL記述の例であ
り、イベントドリブン法の場合として述べているが、本
発明は、レベルソート法でシミュレーションする場合に
も適用できる。
<Modification 1 of Embodiments 1 and 2> The above description of Embodiments 1 and 2 is an example of VHDL description, and the case of the event driven method is described. It can also be applied when performing simulation by the level sorting method.

【0102】<実施例1、2の変形その2>また、上記
では、一階層に記述された例を挙げたが、複数の階層に
またがって記述されたシミュレーションモデルにおいて
も同様に適用できる。
<Modification 2 of Embodiments 1 and 2> In addition, although the example described in one layer has been described above, the same can be applied to a simulation model described in a plurality of layers.

【0103】(2)(実施例3) 次に、実施例3を説明する。 <実施例3の主な構成・作用>本実施例に係る論理シミ
ュレータは、シミュレーションモデルにおける信号のソ
ース数を求める解析部(113)と、レゾリューション
処理を省略する対象となるデータタイプを記憶するデー
タタイプ記憶部(112)と、前記データタイプ記憶部
(112)に記憶されているデータタイプの信号でかつ
求められたソース数が1である信号に対する代入文に対
して、レゾリューションのソースではなくレゾリューシ
ョン信号自身に直接代入するコードを生成するコード生
成部(114)とを備える。
(2) (Third Embodiment) Next, a third embodiment will be described. <Main Configuration / Operation of Third Embodiment> The logic simulator according to the third embodiment stores an analysis unit (113) for obtaining the number of signal sources in a simulation model, and a data type for which resolution processing is omitted. Of the data type storage unit (112) and the assignment statement for the signal of the data type stored in the data type storage unit (112) and the obtained number of sources is 1 And a code generation unit (114) for generating a code that is directly substituted into the resolution signal itself instead of the source.

【0104】本実施例では、コード生成部(114)
は、解析部(113)による解析結果をもとに、データ
タイプ記憶部(112)に記憶されているタイプの信号
でかつソース数が1である信号に対して、レゾリューシ
ョンを省いた、より高速なコードを生成する。
In this embodiment, the code generator (114)
Based on the analysis result by the analysis unit (113), the resolution is omitted for the signal of the type stored in the data type storage unit (112) and the number of sources is 1. Generate faster code.

【0105】<効果>従来のシミュレータでは、レゾリ
ューションタイプ全ての信号について、ソースが1個の
場合であっても、レゾリューション処理を行っていた。
<Effect> In the conventional simulator, the resolution processing is performed on all the resolution type signals even if there is only one source.

【0106】本実施例によれば、レゾリューションタイ
プであって、ソース数が1個である信号を検出し、この
信号については、レゾリューションを行わないシミュレ
ーションコードを生成することにより、シミュレーショ
ンを高速に行うことができるようになる。
According to the present embodiment, a resolution type signal having one source is detected, and a simulation code for which no resolution is performed is generated for this signal, thereby performing simulation. Will be able to do fast.

【0107】<具体的説明>以下、コンパイル方式シミ
ュレータの場合を例にとって説明する。
<Detailed Description> The case of the compilation simulator will be described below as an example.

【0108】図22に、本実施例の論理シミュレータの
構成を示す。この論理シミュレータは、ハードウエア記
述記憶部111、データタイプ記憶部112、解析部1
13、コード生成部114、コード記憶部115を備え
る。
FIG. 22 shows the configuration of the logic simulator of this embodiment. This logic simulator includes a hardware description storage unit 111, a data type storage unit 112, and an analysis unit 1.
13, a code generation unit 114, and a code storage unit 115.

【0109】ハードウエア記述記憶部111は、図48
のようなVHDL言語などで書かれたソースプログラム
を記述するためのものである。
The hardware description storage unit 111 is shown in FIG.
It is for describing a source program written in such a VHDL language.

【0110】データタイプ記憶部112は、レゾリュー
ション省略可能なデータタイプを記憶する。当該データ
タイプは、ソースが1個の場合にそのソースの値を返す
レゾリューション関数を持つデータタイプであり、例え
ば、IEEEパッケージで定義されたstd_logi
cタイプが相当する。先に示した図49は、レゾリュー
ション関数の一例である。当該データタイプは、例え
ば、レゾリューション関数を、すべての1スカラー要素
入力についてシミュレーションし、結果が入力と一致す
るか否かを調べることで、自動的に検出することも可能
である。例えば、4値データタイプであれば、それら4
通りの入力パターンに対するシミュレーション結果を入
力と比較すればよい。
The data type storage unit 112 stores the data types for which resolution can be omitted. The data type is a data type having a resolution function that returns the value of the source when there is one source. For example, std_logi defined in the IEEE package.
Type c corresponds. FIG. 49 shown above is an example of the resolution function. The data type can also be automatically detected by, for example, simulating a resolution function for all one scalar element inputs and checking whether the results match the inputs. For example, if there are four-valued data types, those four
The simulation result for each input pattern may be compared with the input.

【0111】データタイプ記憶部112には、このよう
にして得られたデータタイプを記憶しておく。ここで
は、データタイプ記憶部112には、std_logi
cタイプが記憶されているものとする。
The data type thus obtained is stored in the data type storage unit 112. Here, std_logi is stored in the data type storage unit 112.
It is assumed that the c type is stored.

【0112】解析部113は、データタイプ記憶部11
1にあるVHDL記述を解析して、レゾリューション信
号を検出し、信号名とそのソース数およびデータタイプ
の対応をテーブルに登録する。図23に、このテーブル
の一例を示す。
The analysis unit 113 includes the data type storage unit 11
The VHDL description in 1 is analyzed to detect the resolution signal, and the correspondence between the signal name, the number of sources and the data type is registered in the table. FIG. 23 shows an example of this table.

【0113】コード生成部114は、解析部113が作
成したテーブルを参照しながら、VHDL記述に対応す
るCプログラムとして、VHDL記述のエラボレーショ
ンを行うコードとステートメントの実行を行うコードを
生成する。
The code generation unit 114 generates a code for elaborating the VHDL description and a code for executing the statement as the C program corresponding to the VHDL description while referring to the table created by the analysis unit 113.

【0114】コード記憶部115は、生成されたCプロ
グラムを記憶する。
The code storage unit 115 stores the generated C program.

【0115】シミュレータ実行モジュールは、コード記
憶部115に記憶されたCプログラムと予め作成された
シミュレーションライブラリをリンクすることによって
生成される。
The simulator execution module is generated by linking the C program stored in the code storage unit 115 and the simulation library created in advance.

【0116】以下、図48のVHDL記述の場合につい
て説明する。
The case of the VHDL description shown in FIG. 48 will be described below.

【0117】図24に、解析部113の処理の流れを示
す。
FIG. 24 shows a processing flow of the analysis unit 113.

【0118】ステップS31で、各コンカレント文につ
いて調べる。図48では、プロセス文P0、コンカレン
ト信号代入文P1、コンポーネントインスタンス文B
0,B1が順に取出される。
In step S31, each concurrent sentence is examined. In FIG. 48, a process statement P0, a concurrent signal assignment statement P1, and a component instance statement B
0 and B1 are taken out in order.

【0119】ステップS33でコンポーネントインスタ
ンス文とそれ以外の場合で分岐する。図48では、P
0,P1の場合、ステップS33でNOとなり、ステッ
プS38に進む。
In step S33, a branch is made between the component instance statement and other cases. In FIG. 48, P
In the case of 0 and P1, NO is obtained in step S33, and the process proceeds to step S38.

【0120】ステップS38では、コンカレント文の中
で代入されている信号、すなわちP0におけるS0、お
よびP1におけるSを、図23の形式のテーブルに登録
する。このテーブルは、レゾリューションタイプの信号
名とデータタイプ、ソース数を記憶する。
At step S38, the signals substituted in the concurrent statement, that is, S0 at P0 and S at P1 are registered in the table of the format shown in FIG. This table stores resolution type signal names, data types, and the number of sources.

【0121】ここで、図25にテーブル登録処理の流れ
を示す。
FIG. 25 shows the flow of table registration processing.

【0122】ステップS41では、信号がベクトル信号
ならば、それをスカラー要素にに分解する。例えば、図
48では、S1がベクトル信号であり、これをスカラー
要素S1(0),S1(1)に分解する。
In step S41, if the signal is a vector signal, it is decomposed into scalar elements. For example, in FIG. 48, S1 is a vector signal, which is decomposed into scalar elements S1 (0) and S1 (1).

【0123】ステップS42からステップS44のルー
プでは、分解された信号をテーブルに登録する。したが
って、P0,P1を処理した段階で、S0,S1のエン
トリを作成し、そのデータタイプにstd_logic
を、ソース数に1を夫々セットする。なお、ベクトル信
号をスカラーに分解した場合は、VHDLのデータタイ
プの定義を辿ってそのスカラー要素のタイプを登録す
る。例えば、図22のstd_logic_vecto
rであれば、そのスカラー要素のタイプであるstd_
logicを登録する。
In the loop of steps S42 to S44, the decomposed signals are registered in the table. Therefore, when P0 and P1 are processed, the entries of S0 and S1 are created, and std_logic
, And set the number of sources to 1, respectively. When the vector signal is decomposed into a scalar, the type of the scalar element is registered by tracing the definition of the VHDL data type. For example, std_logic_vector in FIG.
If r, then std_, which is the type of the scalar element
Register the logic.

【0124】さて、ステップS33で、B0,B1のよ
うにコンポーネントインスタンス文であった場合、その
各ポートの接続関係を調べ(ステップS34)、out
またはinoutポートに接続する信号をテーブルに登
録する(ステップS36,37)。したがって、B0に
おいてはSおよびS1(0)が、B1においてはS1
(0)およびS1(1)が、上記の図25のフローにし
たがってテーブルに登録される。
When the component instance statement is B0 or B1 in step S33, the connection relation of each port is checked (step S34), out
Alternatively, the signal connected to the inout port is registered in the table (steps S36, 37). Therefore, S and S1 (0) in B0 and S1 in B1
(0) and S1 (1) are registered in the table according to the flow of FIG. 25 described above.

【0125】この結果、解析部113のテーブルの内容
が、図23のように設定されることとなる。テーブル
中、SおよびS1(0)は、夫々2回登録されたため、
ソース数が2となっている。
As a result, the contents of the table of the analysis unit 113 are set as shown in FIG. In the table, S and S1 (0) were registered twice, so
The number of sources is 2.

【0126】次に、コード生成部14は、解析部13の
テーブルを参照しながら、シミュレーションのためのC
プログラムを生成する。Cプログラムには、2種類のも
のが存在する。1つはVHDL記述内のプロセス、信号
などのオブジェクトを生成するエラボレーションコード
であり、他の1つはVHDL記述内のステートメントを
実行するコードである。図26とその続きの図27にコ
ード生成部14が生成するエラボレーションコードの一
例を示し、図28にコード生成部14が生成する実行コ
ードの一例を示す。ただし、図26および図27のエラ
ボレーションコードについては、本発明に関連する部分
のみを図示する。
Next, the code generation section 14 refers to the table of the analysis section 13 and executes C for simulation.
Generate a program. There are two types of C programs. One is elaboration code that creates an object such as a process or a signal in the VHDL description, and the other is code that executes a statement in the VHDL description. An example of the elaboration code generated by the code generation unit 14 is shown in FIG. 26 and the subsequent FIG. 27, and an example of the execution code generated by the code generation unit 14 is shown in FIG. However, as for the elaboration codes in FIGS. 26 and 27, only the portion related to the present invention is shown.

【0127】図26の20行は、図48のVHDL記述
の階層に対応するデータ構造hを生成する。22行から
26行と44行(図27)は、ポート、信号、レゾリュ
ーション情報、プロセスに関する情報を第一引数の個数
だけ生成するコードである。
The 20th line in FIG. 26 generates a data structure h corresponding to the hierarchy of the VHDL description in FIG. Lines 22 to 26 and 44 (FIG. 27) are codes for generating information on ports, signals, resolution information, and processes by the number of first arguments.

【0128】これらの構造体に含まれる情報を図29〜
32に示す。図29はプロセス構造体の一例を、図30
はポート構造体の一例を、図31は信号構造体の一例
を、図31はレゾリューション構造体の一例を示す。
Information contained in these structures is shown in FIG.
32. 29 shows an example of the process structure, and FIG.
Shows an example of a port structure, FIG. 31 shows an example of a signal structure, and FIG. 31 shows an example of a resolution structure.

【0129】図48の記述は、ポート、信号、プロセス
(コンカレント代入文を含む)をそれぞれ1個、4個、
2個持つため、上記の実引数によってコードが生成され
る。また、図23より、レゾリューションタイプの信号
は4個存在するため、レゾリューション情報は4個生成
する。
The description of FIG. 48 includes one port, four signals, and one process (including a concurrent assignment statement), four, and
Since there are two, a code is generated by the above actual argument. Further, from FIG. 23, since there are four resolution type signals, four pieces of resolution information are generated.

【0130】31行目(図26)の関数st_f21
は、図31の信号構造体のf21のフィールドに対応す
るレゾリューション情報をセットする。48行目(図2
7)のst_f22も、同様に、f22フィールドにセ
ットするものである。
The function st_f21 on the 31st line (FIG. 26)
Sets the resolution information corresponding to the field of f21 of the signal structure of FIG. Line 48 (Fig. 2
Similarly, st_f22 in 7) is set in the f22 field.

【0131】27行目は、レゾリューションのソースに
対応する信号構造体をさすためのポインタ列を引数の個
数分生成する。解析部13のテーブル(図23)によっ
て、ソース数の合計は6個であるため、当該実引数は6
となる。
On the 27th line, pointer arrays for pointing the signal structures corresponding to the resolution sources are generated by the number of arguments. Since the total number of sources is 6 according to the table (FIG. 23) of the analysis unit 13, the actual argument is 6
Becomes

【0132】61行目、74行目は、コンポーネントイ
ンスタンス文B0,B1による階層構造を生成する。
The 61st and 74th lines generate a hierarchical structure of the component instance statements B0 and B1.

【0133】47行目、54行目、76行目は、プロセ
スやコンポーネントインスタンスによって作られるレゾ
リューションのソースを生成する。ソースは、図31に
示す信号構造体を使用する。
The 47th line, the 54th line, and the 76th line generate a resolution source created by a process or a component instance. The source uses the signal structure shown in FIG.

【0134】51行目、58行目、66行目、67行
目、79行目、80行目は、上記信号ポインタ列とソー
スに対する構造体を結合する。
The 51st line, the 58th line, the 66th line, the 67th line, the 79th line, and the 80th line connect the structures for the signal pointer column and the source.

【0135】図26および図27の関数を実行させたと
きにできるメモリ上のデータ構造間のリンクを、図33
と図34に示す。
The links between the data structures on the memory which are created when the functions of FIGS. 26 and 27 are executed are shown in FIG.
And shown in FIG.

【0136】図33は、レゾリューション信号Sとその
ソース間のリンクを示す。図中の93は信号Sであり、
Sはレゾリューション信号であるため、レゾリューショ
ン構造体(図中920)を持ち、そこから、各ポインタ
(図中の921,922)を介して各ソース(図中の9
7,98)と接続する。
FIG. 33 shows the link between the resolution signal S and its source. In the figure, 93 is the signal S,
Since S is a resolution signal, it has a resolution structure (920 in the figure), and from there, each source (9 in the figure) via each pointer (921, 922 in the figure).
7,98).

【0137】図34は、プロセスと信号の関係を示す。
プロセス構造体のフィールドf0,f1,f2はそれぞ
れポート、信号、プロセスによって作られたソース列の
先頭を指す。図27の70行目、83行目は、ポートマ
ップによって指定されたポートの接続先信号構造体を実
引数として、当該コンポーネントの下階層を展開する関
数bind_buftの呼出しである。
FIG. 34 shows the relationship between the process and the signal.
The fields f0, f1 and f2 of the process structure point to the beginning of the source sequence created by the port, signal and process, respectively. Lines 70 and 83 in FIG. 27 are calls of the function bind_buft that expands the lower hierarchy of the component using the connection destination signal structure of the port specified by the port map as an actual argument.

【0138】当該関数のスカラーoutまたはinou
tポートに接続する実引数を生成するフローを図35に
示す。ベクトルポートについては、例えば、複数のスカ
ラーポートとみなすことによって、同様に扱うことがで
きる。
Scalar out or inou of the function
FIG. 35 shows a flow for generating an actual argument connected to the t port. The vector port can be treated in the same manner by regarding it as a plurality of scalar ports, for example.

【0139】例えば、コンポーネントインスタンス文B
1のポートDO1については、ステップS110で接続
先S1(0)を得て、ステップS111においてそのデ
ータタイプstd_logicはタイプは記憶部12に
記憶されているデータタイプであるのでYESとなり、
ステップS112において図23のテーブルを参照する
とソース数は2であるので、ステップS114へ進み、
Sのソースの信号構造体cmpnt_srcsig+0
を第二実引数として渡す。
For example, component instance statement B
For the port DO1 of 1, the connection destination S1 (0) is obtained in step S110, and the data type std_logic is YES in step S111 because the type is the data type stored in the storage unit 12.
When the table of FIG. 23 is referred to in step S112, the number of sources is 2. Therefore, the process proceeds to step S114,
S source signal structure cmpnt_srcsig + 0
Is passed as the second actual argument.

【0140】一方、ポートDO2については、ステップ
S110で接続先S1(1)が得られ、ステップS11
1,S112へと進むが、図23のテーブルを参照する
とソース数は1であるので、ステップS113へ進み、
S1(1)のソースではなく、S1(1)自身の信号構
造体intsig+3を第三実引数として渡す。
On the other hand, for the port DO2, the connection destination S1 (1) is obtained in step S110, and step S11
23. However, referring to the table of FIG. 23, the number of sources is 1, so the procedure proceeds to step S113.
Instead of the source of S1 (1), the signal structure intsig + 3 of S1 (1) itself is passed as the third actual argument.

【0141】上記のbind_buftの呼出しによっ
て生成されるデータ構造を図36に示す。図中121か
ら123は、コンポーネントインスタンスB1のポート
DI、DO1、DO2を表す。DO1のf10フィール
ドはS1(0)のソースへ接続するが、DO2のf10
フィールドはS1(1)のソースではなく、S1(1)
自身に接続する。
FIG. 36 shows the data structure generated by the above call of bind_buft. In the figure, 121 to 123 represent the ports DI, DO1, and DO2 of the component instance B1. The f10 field of DO1 connects to the source of S1 (0), but the f10 field of DO2
The field is not the source of S1 (1), but S1 (1)
Connect to yourself.

【0142】このように、コンポーネントインスタンス
文のoutまたはinoutポートの接続先信号のソー
スが1個の場合に、当該ポートにレゾリューション信号
自身を接続することによって、下位階層からの当該ポー
トへの信号代入文の実行において、レゾリューション処
理を省略することができ、シミュレーションを高速化す
ることが可能となる。
As described above, when the source of the connection destination signal of the out or inout port of the component instance statement is one, by connecting the resolution signal itself to the relevant port, the connection from the lower layer to the relevant port is performed. In the execution of the signal assignment statement, the resolution process can be omitted, and the simulation speed can be increased.

【0143】なお、inポートへの接続においては、常
に対応する信号構造体自身を接続する。
In connection with the in port, the corresponding signal structure itself is always connected.

【0144】ここで、図36の124の点線により従来
手法によるポートDO2の接続関係を示す。すなわち、
従来手法では、ソースが1個の信号についてもそのソー
スをポートの接続先とする。このため、当該ポートへの
信号代入は、ソースへの代入となり、後のシミュレーシ
ョンサイクルにおいてレゾリューション関数呼出しが行
われ、シミュレーションのオーバヘッドとなっている。
Here, the dotted line 124 in FIG. 36 shows the connection relationship of the port DO2 according to the conventional method. That is,
In the conventional method, even for a signal having one source, the source is used as the connection destination of the port. Therefore, the signal substitution to the relevant port becomes the substitution to the source, and the resolution function is called in the later simulation cycle, which is an overhead of the simulation.

【0145】次に、コード生成部14による実行コード
生成を説明する。
Next, the execution code generation by the code generation unit 14 will be described.

【0146】実行コードでは、プロセス構造体のf0,
f1,f2が示す先頭アドレスを基準として、オブジェ
クトをアクセスする。したがって、プロセス(図34中
91)のf1フィールドの指す先をintsigとする
と、信号S(図34中93),S0はそれぞれints
ig+0,intsig+1でアクセスできる。また、
f2フィールドの指す先をsrcsigとすると、P1
によるSのソース(図34中97)はsrcsig+0
となる。
In the execution code, the process structure f0,
The object is accessed based on the head address indicated by f1 and f2. Therefore, assuming that the destination pointed to by the f1 field of the process (91 in FIG. 34) is intsig, the signals S (93 in FIG. 34) and S0 are respectively ints
It can be accessed by ig + 0 and intsig + 1. Also,
If the destination pointed to by the f2 field is srcsig, P1
Source of S (97 in FIG. 34) is srcsig + 0
Becomes

【0147】本発明に関連するのは、信号代入文のコー
ドのみであるため、信号代入文のコード生成について述
べる。
Since only the code of the signal assignment statement is relevant to the present invention, the code generation of the signal assignment statement will be described.

【0148】図37に、スカラー要素に対する信号代入
文のコード生成のフローを示す。
FIG. 37 shows a code generation flow of a signal assignment statement for a scalar element.

【0149】ベクトルについては、例えば、スカラー要
素毎に上記のコード生成のフローを適用すればよい。例
えば、図48の22行目のS0への代入文の変換につい
ては、ステップS130で代入先の信号名S0が取り出
され、ステップS131では、当該データタイプは記憶
部12に記憶されているデータタイプであるのでYES
となり、ステップS132において図23のテーブルを
参照するとソース数は1以下であるので、ステップS1
33へ進み、S0の信号構造体へ代入するコードを生成
する。前記のように、S0はプロセスP0のf1フィー
ルドの指すアドレスintsigを基準として、int
sig+1となるため、信号代入実行関数をassig
n_inertialとすると、assign_ine
rtial(intsig+1,3,0)となる。ここ
で、上記関数の引数は順に、代入先の信号構造体の先頭
へのポインタ代入値(シミュレータ内部コードにコード
化されたもの)遅延である。
For vectors, for example, the above code generation flow may be applied to each scalar element. For example, regarding the conversion of the assignment statement to S0 on the 22nd line in FIG. 48, the signal name S0 of the assignment destination is extracted in step S130, and in step S131, the data type is the data type stored in the storage unit 12. YES
Then, referring to the table of FIG. 23 in step S132, since the number of sources is 1 or less, step S1
In step 33, a code to be assigned to the signal structure of S0 is generated. As described above, S0 uses the address intsig pointed to by the f1 field of the process P0 as a reference, and int
Since it becomes sig + 1, the signal substitution execution function is assig
If n_inertial, then assign_ine
rtial (intsig + 1,3,0). Here, the argument of the above function is, in order, the pointer substitution value (coded in the simulator internal code) delay to the head of the signal structure of the substitution destination.

【0150】このように、S0はソースが1個であるた
め、ソースを表す信号構造体srcsig+0(ここ
で、pをプロセス構造体として、srcsig = 1
p−>f2)には代入せずに、直接、S0を表す信号構
造体に代入する。これにより、S0に対するレゾリュー
ション関数の実行を省略することができ、シミュレーシ
ョンを高速化することが可能となる。
As described above, since S0 has one source, a signal structure srcsig + 0 representing the source (here, p is a process structure, srcsig = 1).
Instead of substituting for p-> f2), it is directly substituted for the signal structure representing S0. As a result, the execution of the resolution function for S0 can be omitted, and the simulation speed can be increased.

【0151】図28は、プロセスP0全体の実行コード
の一例である。引数pは当該プロセス構造体へのポイン
タ、exec_wait_forはwait文の実行関
数である。
FIG. 28 is an example of the execution code of the whole process P0. The argument p is a pointer to the process structure, and exec_wait_for is an execution function of the wait statement.

【0152】一方、コンカレント代入文P1について
は、図37のステップS133において図23のテーブ
ルを参照するとソース数は2であるのでNOとなり、ス
テップS135へ進み、Sのソースに代入する図38の
コードを生成する。図38のコードによってプロセス実
行時には、S0のソースsrcsig+0に値更新要求
がセットされ、次のシミュレーションサイクルのレゾリ
ューションフェーズにS0のレゾリューション関数実行
と値更新が行われる。
On the other hand, with regard to the concurrent assignment statement P1, when the table of FIG. 23 is referred to in step S133 of FIG. 37, the number of sources is 2, so the result is NO, and the flow advances to step S135 to substitute the code of FIG. 38 for the source of S. To generate. When the process is executed by the code of FIG. 38, a value update request is set in the source srcsig + 0 of S0, and the resolution function execution and value update of S0 are performed in the resolution phase of the next simulation cycle.

【0153】ここで、本発明を使用しない場合の、従来
手法によるプロセスP0の実行コードを図39に示す。
図39の場合、S0のソース数が1個であるにもかかわ
らず、図38と同様にS0のソースの信号構造体src
sig+0に対して代入を行うため、次のシミュレーシ
ョンサイクルのレゾリューションフェーズにS0のレゾ
リューション関数が呼び出され、assign_ine
rtialの第2引数の値がセットされることになる。
したがって、引数自身の値を返すレゾリューション関数
の呼び出しは、シミュレーションのオーバヘッドとな
る。
FIG. 39 shows the execution code of the process P0 according to the conventional method when the present invention is not used.
In the case of FIG. 39, the signal structure src of the source of S0 is the same as in FIG. 38 even though the number of sources of S0 is one.
Since the substitution is performed on sig + 0, the resolution function of S0 is called in the resolution phase of the next simulation cycle, and assign_ine
The value of the second argument of rial will be set.
Therefore, calling a resolution function that returns the value of the argument itself is a simulation overhead.

【0154】以上のように、本実施例によれば、レゾリ
ューションタイプであって、ソース数が1個である信号
を検出し、この信号については、レゾリューションを行
わないシミュレーションコードを生成することにより、
シミュレーションを高速に行うことができるようにな
る。
As described above, according to the present embodiment, a resolution type signal having one source is detected, and a simulation code for which no resolution is performed for this signal is generated. By doing
The simulation can be performed at high speed.

【0155】<実施例3の変形その1>実施例3におい
て、コード生成部14で生成される図26および図27
のエラボレーションコードでは、ソースが1個の信号に
対しても当該ソースに対応する信号構造体を作成してい
たが、本発明によれば、これらはシミュレーション時に
アクセスしないため、コード生成部14が当該構造体を
作成しないような最適化されたエラボレーションコード
を出力することも可能である。
<Modification 1 of Third Embodiment> In the third embodiment, FIG. 26 and FIG. 27 generated by the code generator 14 are described.
In the elaboration code of, the signal structure corresponding to the source is created even for the signal having one source. However, according to the present invention, these are not accessed at the time of simulation, so the code generation unit 14 It is also possible to output an optimized elaboration code that does not create the structure.

【0156】図40とその続きの図41に、このような
最適化コードを示す。コード生成部14は、図23のテ
ーブルを参照しながら、26行目、27行目のように、
new_resinf,new_sigpの実引数とし
てそれぞれ、テーブルに登録されたソースを2個以上も
つ信号の個数、それらの信号のソース数の合計を与えた
コードを生成する。また、46行目、55行目、68行
目のように、テーブルに登録されたソースを1個しかも
たない信号については、必要となるソースの信号構造体
数から除外して、コードを生成する。
FIG. 40 and the subsequent FIG. 41 show such an optimized code. The code generation unit 14 refers to the table of FIG.
As the actual arguments of new_resinf and new_sigp, a code is generated which gives the number of signals having two or more sources registered in the table and the total number of sources of those signals. Further, as shown in the 46th line, the 55th line, and the 68th line, a signal having only one source registered in the table is excluded from the number of signal structures of the required source and a code is generated. To do.

【0157】以上のように、最適化したコードを生成す
ることにより、シミュレーションに必要なメモリ量も削
減することができる。
As described above, the amount of memory required for simulation can be reduced by generating the optimized code.

【0158】<実施例3の変形その2>実施例3は、コ
ンパイル方式シミュレータの場合を説明したが、本発明
は、インタープリタ方式シミュレータにも適用可能であ
る。
<Modification 2 of Third Embodiment> In the third embodiment, the case of the compilation type simulator has been described, but the present invention is also applicable to an interpreter type simulator.

【0159】図42に、この場合の論理シミュレータの
構成を示す。この論理シミュレータは、ハードウエア記
述記憶部171、データタイプ記憶部172、解析部1
73、回路データ生成部174、コード生成部176、
回路データ構造記憶部175、コード記憶部177を備
える。
FIG. 42 shows the configuration of the logic simulator in this case. This logic simulator includes a hardware description storage unit 171, a data type storage unit 172, and an analysis unit 1.
73, a circuit data generation unit 174, a code generation unit 176,
A circuit data structure storage unit 175 and a code storage unit 177 are provided.

【0160】図42において、ハードウエア記述記憶部
171、データタイプ記憶部172、解析部173は、
図22のハードウエア記述記憶部111、データタイプ
記憶部112、解析部113とそれぞれ同様である。
In FIG. 42, the hardware description storage unit 171, the data type storage unit 172, and the analysis unit 173 are
It is the same as the hardware description storage unit 111, the data type storage unit 112, and the analysis unit 113 in FIG. 22, respectively.

【0161】インタプリタ方式では、回路データ生成部
174とコード生成部176が図22のコード生成部1
4に対応する。す11なわち、回路データ生成部174
は、図33、図34、図36に示すようなネットワーク
データ構造を生成し、回路データ構造記憶部175に記
憶する。コード生成部176は、プロセスに対する実行
コードのみをシミュレータが解釈可能な命令として生成
し、コード記憶部177に記憶する。
In the interpreter system, the circuit data generator 174 and the code generator 176 are the same as the code generator 1 of FIG.
Corresponds to 4. The circuit data generation unit 174
Generates a network data structure as shown in FIGS. 33, 34 and 36 and stores it in the circuit data structure storage unit 175. The code generation unit 176 generates only the execution code for the process as an instruction that can be interpreted by the simulator, and stores it in the code storage unit 177.

【0162】ここで、回路データ生成部174は、解析
部173における図23のようなテーブルを参照し、コ
ンポーネントインスタンス文のoutまたはinout
ポートの接続先信号がデータタイプ記憶部12のタイプ
を持ち、かつソース数が1である場合に、当該ポートに
ソースの信号構造体でなく、レゾリューション信号自身
を接続したデータ構造を生成する。また、コード生成部
176は、ソース数が1であるデータタイプ記憶部17
2のタイプの信号への代入文を、ソースの信号構造体で
なく当該信号自信へ代入する命令列に変換する。そし
て、回路データ記憶部175に記憶された回路データと
コード記憶部177に記憶された命令をメモリ上にロー
ドし、当該命令を順次実行して行く。
Here, the circuit data generation unit 174 refers to the table in the analysis unit 173 as shown in FIG. 23 and refers to the out or inout of the component instance statement.
When the connection destination signal of the port has the type of the data type storage unit 12 and the number of sources is 1, a data structure in which the resolution signal itself is connected to the port is generated instead of the source signal structure. . In addition, the code generation unit 176 uses the data type storage unit 17 whose source number is 1.
The assignment statement to the signal of the type 2 is converted into an instruction sequence to be assigned to the signal itself instead of the signal structure of the source. Then, the circuit data stored in the circuit data storage unit 175 and the instruction stored in the code storage unit 177 are loaded on the memory, and the instruction is sequentially executed.

【0163】このように、インタープリタ方式シミュレ
ータの場合にも、同様に、レゾリューション処理を必要
最小限に抑え、シミュレーションを高速化することがで
きる。 <実施例3の変形その3>実施例3やその変形
例において、コード生成部114,176、回路データ
生成部174は、ベクトル信号に対して、それを要素の
スカラー信号毎に分解し、要素毎にレゾリューションを
行うべきか否かを判断しているが、ベクトル信号の全て
の要素が1個以下のソースをもつときのみ、レゾリュー
ションを行わないコードを生成するようにしてもよい。
As described above, also in the case of the interpreter type simulator, similarly, the resolution processing can be suppressed to the necessary minimum and the simulation speed can be increased. <Modification 3 of Third Embodiment> In the third embodiment and its modification, the code generation units 114 and 176 and the circuit data generation unit 174 decompose the vector signal for each scalar signal of the element, and It is determined for each resolution whether or not the resolution should be performed. However, a code that does not perform the resolution may be generated only when all the elements of the vector signal have one or less sources. .

【0164】(実施例4)次に、実施例4を説明する。 <実施例4の主な構成・作用>本実施例に係る論理シミ
ュレータは、ハードウエア記述言語による仕様記述を記
憶するハードウエア記述記憶部(181)と、このハー
ドウエア記述記憶部(181)に記憶されている記述中
の信号のソース数を求める解析部(183)と、レゾリ
ューション処理を省略する対象となるデータタイプを記
憶するデータタイプ記憶部(182)と、このデータタ
イプ記憶部(182)に記憶されているデータタイプの
信号でかつ求められたソース数が1である信号宣言を、
非レゾリューションタイプの信号宣言に置き換えたハー
ドウエア記述を生成するハードウエア記述変換部(18
4)を備える。
(Fourth Embodiment) Next, a fourth embodiment will be described. <Main Configuration / Operation of Fourth Embodiment> The logic simulator according to the present embodiment includes a hardware description storage unit (181) for storing a specification description in a hardware description language and a hardware description storage unit (181). An analysis unit (183) that obtains the number of sources of signals in the stored description, a data type storage unit (182) that stores a data type for which resolution processing is omitted, and a data type storage unit (183). 182), a signal declaration of a signal of the data type stored in 182) and having a required number of sources is 1.
A hardware description conversion unit (18) that generates a hardware description replaced with a non-resolution type signal declaration.
4) is provided.

【0165】本実施例では、ハードウエア記述変換部
(184)は、解析部(183)による解析結果をもと
に、データタイプ記憶部(182)に記憶されているタ
イプの信号でかつ求められたソース数が1である信号を
非レゾリューションタイプとして扱ったハードウエア記
述を生成する。
In this embodiment, the hardware description conversion unit (184) is a signal of the type stored in the data type storage unit (182) based on the analysis result by the analysis unit (183). A hardware description in which a signal having a source number of 1 is treated as a non-resolution type is generated.

【0166】<効果>従来のシミュレータでは、レゾリ
ューションタイプ全ての信号について、ソースが1個の
場合であっても、レゾリューション処理を行っていた。
<Effect> In the conventional simulator, the resolution processing is performed on all the resolution type signals even if there is only one source.

【0167】本実施例によれば、レゾリューションタイ
プであって、ソース数が1個である信号を検出し、この
信号については、信号のデータタイプを非レゾリューシ
ョンタイプに変更することによって、レゾリューション
処理を省略し、シミュレーションを高速に行うことがで
きるようになる。
According to this embodiment, a signal of the resolution type having one source is detected, and the data type of the signal is changed to the non-resolution type by detecting the signal. , The resolution process can be omitted, and the simulation can be performed at high speed.

【0168】<具体的説明>以下、コンパイル方式シミ
ュレータの場合を例にとって説明する。
<Detailed Description> The case of a compilation simulator will be described below as an example.

【0169】図43に本実施例の論理シミュレータの構
成を示す。この論理シミュレータは、第1のハードウエ
ア記述記憶部181、データタイプ記憶部182、解析
部183、ハードウエア記述変換部184、第2のハー
ドウエア記述記憶部185、コード生成部186、コー
ド記憶部187を備える。
FIG. 43 shows the configuration of the logic simulator of this embodiment. This logic simulator includes a first hardware description storage unit 181, a data type storage unit 182, an analysis unit 183, a hardware description conversion unit 184, a second hardware description storage unit 185, a code generation unit 186, and a code storage unit. 187 is provided.

【0170】図43の第1のハードウエア記述記憶部1
81、データタイプ記憶部182、解析部183は、実
施例3(図22)のハードウエア記述記憶部111、デ
ータタイプ記憶部112、解析部113とそれぞれ同様
である。
The first hardware description storage section 1 in FIG. 43.
81, the data type storage unit 182, and the analysis unit 183 are the same as the hardware description storage unit 111, the data type storage unit 112, and the analysis unit 113 of the third embodiment (FIG. 22), respectively.

【0171】ハードウエア記述変換部184は、ハード
ウエア記述記憶部181に記述された信号について、そ
れがデータタイプ記憶部182に記憶されたレゾリュー
ションタイプであってかつ解析部183によるソース数
の解析結果が1個以下である信号について、そのデータ
タイプを当該レゾリューションタイプのベースタイプで
ある非レゾリューションタイプである信号宣言に置き換
える。また、必要であれば、変更前の信号とその信号を
参照している部分を新しい信号名で置き換えた記述に変
換し、その結果を第2のハードウエア記述記憶部185
に記憶する。
The hardware description conversion unit 184 determines whether the signal described in the hardware description storage unit 181 is the resolution type stored in the data type storage unit 182 and the number of sources by the analysis unit 183. For a signal whose analysis result is one or less, its data type is replaced with a signal declaration that is a non-resolution type that is the base type of the resolution type. If necessary, the signal before the change and the part referencing the signal are converted into a description in which the new signal name is replaced, and the result is converted into the second hardware description storage unit 185.
To memorize.

【0172】コード生成部186は、第2のハードウエ
ア記述記憶部185に記憶されたVHDL記述に対応す
るCプログラムとして、VHDL記述のエラボレーショ
ンを行うコードとステートメントの実行を行うコードを
生成し、コード記憶部187に記憶する。
The code generation unit 186 generates a code for elaborating the VHDL description and a code for executing the statement as a C program corresponding to the VHDL description stored in the second hardware description storage unit 185. The code is stored in the code storage unit 187.

【0173】以下、第1のハードウエア記述記憶部18
1に図48のVHDL記述が記憶され、データタイプ記
憶部182には、std_logicタイプが記憶され
ているとしている場合を例にとって説明する。
Hereinafter, the first hardware description storage unit 18
The VHDL description of FIG. 48 is stored in FIG. 1 and the data type storage unit 182 stores the std_logic type as an example.

【0174】解析部183は、実施例3と同様にして、
図23のテーブルを生成する。
The analyzing unit 183, as in the third embodiment,
The table of FIG. 23 is generated.

【0175】ハードウエア記述変換部184は、前述の
ように、図48のVHDL記述の信号宣言と当該信号の
参照を変換する。
The hardware description conversion unit 184 converts the signal declaration of the VHDL description of FIG. 48 and the reference of the signal as described above.

【0176】1個の信号宣言に対する変換部184の処
理フローを図44に示す。
FIG. 44 shows a processing flow of the conversion unit 184 for one signal declaration.

【0177】ハードウエア記述変換部184は、全ての
信号宣言について、上記の処理フローを適用する。例え
ば、図48の信号S0については、ステップS191,
S192,S193,S194と進み、ステップS19
4において、図23のテーブルを参照して、YESとな
るため、ステップS195へ進んでS0のデータタイプ
std_logicをベースタイプであるstd_ul
ogicに変更した宣言signal S0 : st
d_ulogic ; を出力する。
The hardware description converter 184 applies the above processing flow to all signal declarations. For example, for the signal S0 in FIG. 48, step S191,
The process proceeds to S192, S193, S194, and step S19
23, since the result is YES with reference to the table of FIG. 23, the process proceeds to step S195, and the data type std_logic of S0 is set to the base type std_ul.
Declaration changed to logic signal S0: st
d_ulotic; is output.

【0178】次に、ベクトル信号S1については、それ
をスカラー要素毎に分解して、ステップS196からス
テップS1914のループで処理する。まず、S1
(0)については、そのデータタイプはstd_log
icであるため、ステップS198においてYESとな
り、ステップS199において新しい名前を生成する。
例えば、信号名と要素番号を“_”介して結合し、S1
_0とする。ステップS1910において、S1(0)
のソース数は2であるため、ステップS1912,S1
913と進んで、データタイプの変更はせずに宣言si
gnal S1_0: std_logic ; を出
力する。
Next, the vector signal S1 is decomposed into each scalar element and processed in the loop of steps S196 to S1914. First, S1
For (0), its data type is std_log
Since it is ic, YES is obtained in step S198, and a new name is generated in step S199.
For example, the signal name and the element number are combined via “_”, and S1
_0. In step S1910, S1 (0)
Since the number of sources is 2, the steps S1912 and S1
Proceed to 913 and declare si without changing the data type.
gnal S1_0: std_logic; is output.

【0179】ステップS1914においては、後のステ
ートメントの変換のために、新旧信号名を図45のよう
に登録する。
In step S1914, the old and new signal names are registered as shown in FIG. 45 for conversion of a later statement.

【0180】一方、S1(1)については、ステップS
198,S199と進むが、ステップS1910におい
てYESとなるため、ステップS1911において当該
信号のデータタイプをstd_ulogicに変更し、
ステップS1913において、宣言 signal S
1_1 : std_ulogic ; を出力する。
On the other hand, for S1 (1), step S
Although the process proceeds to 198 and S199, since YES is determined in step S1910, the data type of the signal is changed to std_logic in step S1911.
In step S1913, the declaration signal S
1_1: outputs std_logic ;.

【0181】また、ステップS1914において、新旧
信号名を図45のように登録する。ステートメント部分
の変換は、図45の対応表を参照しながら、信号参照名
を置きかえて行く。例えば、コンポーネントインスタン
ス文B0においては、参照S1(0)をS1_0に置き
換え、コンポーネントインスタンス文B1においては、
参照S1(0),S1(1)をそれぞれ、S1_0、S
1_1に置き換える。
Also, in step S1914, the old and new signal names are registered as shown in FIG. The statement part is converted by replacing the signal reference name with reference to the correspondence table of FIG. For example, in the component instance statement B0, the reference S1 (0) is replaced with S1_0, and in the component instance statement B1,
The references S1 (0) and S1 (1) are respectively referred to as S1_0 and S1_0.
Replace with 1_1.

【0182】この結果、図46のVHDL記述が第2の
ハードウエア記述記憶部185に記憶される。
As a result, the VHDL description shown in FIG. 46 is stored in the second hardware description storage section 185.

【0183】以上のように、本実施例では、データタイ
プ記憶部182に記憶されているレゾリューションタイ
プの信号で、かつソース数が1以下の信号を非レゾリュ
ーションデータタイプの信号にVHDL記述レベルであ
らかじめ変換しておいた上で、シミュレータに入力す
る。
As described above, in the present embodiment, the signal of the resolution type stored in the data type storage unit 182 and having the number of sources of 1 or less is converted into the signal of the non-resolution data type by the VHDL. Convert it at the description level in advance and input it to the simulator.

【0184】この結果、実施例3と同様に、レゾリュー
ション処理を必要最小限に抑え、シミュレーションを高
速化することができる。
As a result, similarly to the third embodiment, the resolution process can be suppressed to the necessary minimum and the simulation speed can be increased.

【0185】<実施例4の変形その1>実施例4は、コ
ンパイル方式シミュレータの場合を説明したが、本発明
は、インタープリタ方式シミュレータにも適用可能であ
る。
<Modification 1 of Fourth Embodiment> In the fourth embodiment, the case of the compilation type simulator has been described, but the present invention is also applicable to the interpreter type simulator.

【0186】図47にこの場合の論理シミュレータの構
成を示す。この論理シミュレータは、第1のハードウエ
ア記述記憶部221、データタイプ記憶部222、解析
部223、ハードウエア記述変換部224、第2のハー
ドウエア記述記憶部225、回路データ生成部226、
回路データ記憶部227、コード生成部228、コード
記憶部229を備える。
FIG. 47 shows the configuration of the logic simulator in this case. This logic simulator includes a first hardware description storage unit 221, a data type storage unit 222, an analysis unit 223, a hardware description conversion unit 224, a second hardware description storage unit 225, a circuit data generation unit 226,
The circuit data storage unit 227, the code generation unit 228, and the code storage unit 229 are provided.

【0187】図47おいて、第1のハードウエア記述記
憶部221、データタイプ記憶部222、解析部22
3、ハードウエア記述変換部224、第2のハードウエ
ア記述記憶部225は、それぞれ図43の第1のハード
ウエア記述記憶部181、データタイプ記憶部182、
解析部183、ハードウエア記述変換部184、第2の
ハードウエア記述記憶部185と同様である。
In FIG. 47, the first hardware description storage unit 221, the data type storage unit 222, the analysis unit 22.
3, the hardware description conversion unit 224, and the second hardware description storage unit 225 are respectively the first hardware description storage unit 181, the data type storage unit 182, and the first hardware description storage unit 182 of FIG.
It is the same as the analysis unit 183, the hardware description conversion unit 184, and the second hardware description storage unit 185.

【0188】回路データ生成部226は、図33、図3
4、図36に示すようなネットワークデータ構造を生成
し、回路データ構造記憶部227に記憶する。
The circuit data generating section 226 is shown in FIGS.
4, a network data structure as shown in FIG. 36 is generated and stored in the circuit data structure storage unit 227.

【0189】コード生成部228は、プロセスに対する
実行コードのみをシミュレータが解釈可能な命令として
生成し、コード記憶部229に記憶する。
The code generation section 228 generates only the execution code for the process as an instruction that can be interpreted by the simulator, and stores it in the code storage section 229.

【0190】このように、インタープリタ方式シミュレ
ータの場合にも、同様に、レゾリューション処理を必要
最小限に抑え、シミュレーションを高速化することがで
きる。
As described above, also in the case of the interpreter type simulator, similarly, the resolution processing can be suppressed to the necessary minimum and the simulation speed can be increased.

【0191】<実施例4の変形その2>実施例4やその
変形例その1では、ハードウエア記述変換部184,2
24において、データタイプ記憶部182,222に記
憶されたレゾリューションデータタイプのベクトル信号
をスカラー要素毎の信号に変換していたが、当該信号の
全ての要素が変換対象となる場合、全ての信号の要素が
変換対象とならない場合は、ベクトル信号としてそのま
ま残しておき、前者の場合のみ、ベクトルデータタイプ
を非レゾリューションタイプに変換するようにしてもよ
い。
<Modification 2 of Fourth Embodiment> In the fourth embodiment and its first modification, the hardware description converters 184 and 2 are used.
In 24, the vector signal of the resolution data type stored in the data type storage units 182 and 222 was converted into the signal for each scalar element. However, if all the elements of the signal are to be converted, all When a signal element is not a conversion target, it may be left as it is as a vector signal and the vector data type may be converted to a non-resolution type only in the former case.

【0192】例えば、signal T:std_lo
gic_vector(1to8);をsignal
T:std_ulogic_vector(1to
8);に変換するようにしてもよい。
For example, signal T: std_lo
gic_vector (1to8);
T: std_logic_vector (1to
8);

【0193】また、ハードウエア記述変換部184,2
24は、ベクトル信号については、当該信号の全ての要
素が変換対象となる場合にのみ、非レゾリューションタ
イプに変換するようにしてもよい。
Further, the hardware description conversion units 184, 2
The vector signal 24 may be converted into the non-resolution type only when all the elements of the signal are to be converted.

【0194】また、本発明は上述した各実施例に限定さ
れるものではなく、その要旨を逸脱しない範囲で、種々
変形して実施することができる。
The present invention is not limited to the above-mentioned embodiments, but can be carried out in various modified forms without departing from the scope of the invention.

【0195】[0195]

【発明の効果】【The invention's effect】

(1)本発明によれば、シミュレーションモデルの信号
やプロセスなどのオブジェクトに対して設計者が設定し
た種別あるいは自動的に決定された種別をシミュレーシ
ョン中に参照することにより、シミュレーション中の処
理を種別に応じた無駄のない最適なものにすることがで
きる。これにより、シミュレーションを高速に実行する
ことが可能となる。
(1) According to the present invention, by referring to the type set by the designer or the type automatically determined for the object such as the signal or process of the simulation model during the simulation, the process during the simulation can be classified. It is possible to make the optimum one according to the above without waste. As a result, the simulation can be executed at high speed.

【0196】(2)本発明によれば、ソースが1個の場
合にそのソースの値を返すようなレゾリューション関数
をもつレゾリューションデータタイプの信号に対して、
当該信号が、ソースを1個だけもつ場合に、当該信号に
対するレゾリューション処理を省略することができ、シ
ミュレーションを高速化することができる。
(2) According to the present invention, for a signal of resolution data type having a resolution function that returns the value of the source when there is one source,
When the signal has only one source, the resolution process for the signal can be omitted, and the simulation speed can be increased.

【0197】また、レゾリューションに必要となるデー
タ構造の記憶領域を削減することもできる。
Further, it is possible to reduce the storage area of the data structure required for resolution.

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

【図1】本発明の実施例1に係る論理シミュレータの構
成を示す図
FIG. 1 is a diagram showing a configuration of a logic simulator according to a first embodiment of the present invention.

【図2】信号の種別を決定するための信号の性質の一例
を示す図
FIG. 2 is a diagram showing an example of a property of a signal for determining a signal type.

【図3】シミュレーションモデル例を示す図FIG. 3 is a diagram showing an example of a simulation model.

【図4】信号の種別の一例を示す図FIG. 4 is a diagram showing an example of signal types.

【図5】信号の種別の他の例を示す図FIG. 5 is a diagram showing another example of signal types.

【図6】信号種別に基づく信号代入処理アルゴリズムの
一例を示すフローチャート
FIG. 6 is a flowchart showing an example of a signal substitution processing algorithm based on a signal type.

【図7】信号種別に基づく信号代入処理アルゴリズムの
一例を示すフローチャート
FIG. 7 is a flowchart showing an example of a signal substitution processing algorithm based on a signal type.

【図8】信号種別に基づく信号代入処理アルゴリズムの
他の例を示す図
FIG. 8 is a diagram showing another example of a signal substitution processing algorithm based on a signal type.

【図9】シミュレーションモデル例を示す図FIG. 9 is a diagram showing an example of a simulation model.

【図10】プロセスの種別を決定するための性質の一例
を示す図
FIG. 10 is a diagram showing an example of a property for determining a process type.

【図11】プロセスの種別の一例を示す図FIG. 11 is a diagram showing an example of process types.

【図12】本発明の実施例2に係る論理シミュレータの
構成を示す図
FIG. 12 is a diagram showing a configuration of a logic simulator according to a second embodiment of the present invention.

【図13】信号種別決定アルゴリズムの一例を示すフロ
ーチャート
FIG. 13 is a flowchart showing an example of a signal type determination algorithm.

【図14】信号種別決定アルゴリズムの他の例を示すフ
ローチャート
FIG. 14 is a flowchart showing another example of a signal type determination algorithm.

【図15】シミュレーションモデル例を示す図FIG. 15 is a diagram showing an example of a simulation model.

【図16】シミュレーションモデル例を示す図FIG. 16 is a diagram showing an example of a simulation model.

【図17】シミュレーションモデル例を示す図FIG. 17 is a diagram showing an example of a simulation model.

【図18】シミュレーションモデル例を示す図FIG. 18 is a diagram showing an example of a simulation model.

【図19】シミュレーションモデル例を示す図FIG. 19 is a diagram showing an example of a simulation model.

【図20】シミュレーションモデル例を示す図FIG. 20 is a diagram showing an example of a simulation model.

【図21】シミュレーションモデル例を示す図FIG. 21 is a diagram showing an example of a simulation model.

【図22】本発明の実施例3に係る論理シミュレータの
構成を示す図
FIG. 22 is a diagram showing a configuration of a logic simulator according to a third embodiment of the present invention.

【図23】解析部のテーブルの一例を示す図FIG. 23 is a diagram showing an example of a table of an analysis unit.

【図24】解析部の処理の流れを示すフローチャートFIG. 24 is a flowchart showing the processing flow of the analysis unit.

【図25】解析部のテーブル登録処理の流れを示すフロ
ーチャート
FIG. 25 is a flowchart showing the flow of table registration processing of the analysis unit.

【図26】コード生成部により生成されるエラボレーシ
ョンコードの一例を示す図
FIG. 26 is a diagram showing an example of an elaboration code generated by a code generation unit.

【図27】コード生成部により生成されるエラボレーシ
ョンコードの一例を示す図
FIG. 27 is a diagram showing an example of an elaboration code generated by a code generation unit.

【図28】コード生成部により生成される実行コードの
一例を示す図
FIG. 28 is a diagram showing an example of an execution code generated by a code generation unit.

【図29】プロセス構造体に含まれる情報の一例を示す
FIG. 29 is a diagram showing an example of information included in a process structure.

【図30】ポート構造体に含まれる情報の一例を示す図FIG. 30 is a diagram showing an example of information included in a port structure.

【図31】信号構造体に含まれる情報の一例を示す図FIG. 31 is a diagram showing an example of information included in a signal structure.

【図32】レゾリューションの各構造体に含まれる情報
の一例を示す図
FIG. 32 is a diagram showing an example of information included in each structure of resolution.

【図33】レゾリューション信号とそのソース間のリン
クを示す図
FIG. 33 is a diagram showing a link between a resolution signal and its source.

【図34】プロセスと信号の関係を示す図FIG. 34 is a diagram showing a relationship between a process and a signal.

【図35】下位コンポーネントの展開を行う関数の実引
数生成処理の流れを示すフローチャート
FIG. 35 is a flowchart showing the flow of actual argument generation processing of a function for expanding a lower component.

【図36】下位コンポーネントの展開関数bind_b
uftの呼出しによって生成されるデータ構造の一例を
示す図
FIG. 36 is an expansion function bind_b of a lower component
The figure which shows an example of the data structure produced | generated by the call of uft.

【図37】コード生成部におけるスカラー要素に対する
信号代入文のコード生成処理の流れを示すフローチャー
FIG. 37 is a flowchart showing the flow of code generation processing of a signal assignment statement for a scalar element in the code generation unit.

【図38】コード生成部により生成されるプロセス実行
コードの一例を示す図
FIG. 38 is a diagram showing an example of process execution code generated by a code generation unit.

【図39】従来手法によるプロセスP0の実行コードの
一例を示す図
FIG. 39 is a diagram showing an example of the execution code of the process P0 according to the conventional method.

【図40】最適化されたエラボレーションコードの一例
を示す図
FIG. 40 is a diagram showing an example of an optimized elaboration code.

【図41】最適化されたエラボレーションコードの一例
を示す図
FIG. 41 is a diagram showing an example of an optimized elaboration code.

【図42】本発明をインタープリタ方式のシミュレータ
に適用した場合の構成の一例を示す図
FIG. 42 is a diagram showing an example of a configuration when the present invention is applied to an interpreter type simulator.

【図43】本発明の実施例4に係る論理シミュレータの
構成を示す図
FIG. 43 is a diagram showing a configuration of a logic simulator according to a fourth embodiment of the present invention.

【図44】信号宣言に対する変換部の処理の流れを示す
フローチャート
FIG. 44 is a flowchart showing a processing flow of a conversion unit for a signal declaration.

【図45】信号名の変換における対応表の一例を示す図FIG. 45 is a diagram showing an example of a correspondence table in signal name conversion.

【図46】コード生成部により生成されコード記憶部に
出力されるVHDL記述の一例を示す図
FIG. 46 is a diagram showing an example of a VHDL description generated by a code generation unit and output to a code storage unit.

【図47】本発明をインタープリタ方式のシミュレータ
に適用した場合の構成の一例を示す図
FIG. 47 is a diagram showing an example of a configuration when the present invention is applied to an interpreter type simulator.

【図48】VHDL記述の一例を示す図FIG. 48 is a diagram showing an example of a VHDL description.

【図49】図48の記述中のレゾリューションデータタ
イプstd_logicのレゾリューション関数の一例
を示す図
FIG. 49 is a diagram showing an example of a resolution function of resolution data type std_logic in the description of FIG. 48.

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

1…オブジェクト記憶部、2…シミュレーション処理
部、20…信号代入実行部、21…プロセス実行部、3
…オブジェクト種別記憶部、30…信号記憶部、31…
プロセス記憶部、4…記述記憶部、5…オブジェクト種
別決定部、6…特徴抽出部、7…特徴記憶部、8…オブ
ジェクト種別決定部 111…ハードウエア記述記憶部、112…データタイ
プ記憶部、113…解析部、114…コード生成部、1
15…コード記憶部、171…ハードウエア記述記憶
部、172…データタイプ記憶部、173…解析部、1
74…回路データ生成部、175…回路データ構造記憶
部、176…コード生成部、177…コード記憶部、1
81…第1のハードウエア記述記憶部、182…データ
タイプ記憶部、183…解析部、184…ハードウエア
記述変換部、185…第2のハードウエア記述記憶部、
186…コード生成部、187…コード記憶部、221
…第1のハードウエア記述記憶部、222…データタイ
プ記憶部、223…解析部、224…ハードウエア記述
変換部、225…第2のハードウエア記述記憶部、22
6…回路データ生成部、227…回路データ記憶部、2
28…コード生成部、229…コード記憶部
DESCRIPTION OF SYMBOLS 1 ... Object storage part, 2 ... Simulation processing part, 20 ... Signal substitution execution part, 21 ... Process execution part, 3
... Object type storage unit, 30 ... Signal storage unit, 31 ...
Process storage unit, 4 ... Description storage unit, 5 ... Object type determination unit, 6 ... Feature extraction unit, 7 ... Feature storage unit, 8 ... Object type determination unit 111 ... Hardware description storage unit, 112 ... Data type storage unit, 113 ... Analysis unit, 114 ... Code generation unit, 1
15 ... Code storage unit, 171 ... Hardware description storage unit, 172 ... Data type storage unit, 173 ... Analysis unit, 1
74 ... Circuit data generation unit, 175 ... Circuit data structure storage unit, 176 ... Code generation unit, 177 ... Code storage unit, 1
81 ... First hardware description storage unit, 182 ... Data type storage unit, 183 ... Analysis unit, 184 ... Hardware description conversion unit, 185 ... Second hardware description storage unit,
186 ... Code generation unit, 187 ... Code storage unit, 221
... first hardware description storage unit, 222 ... data type storage unit, 223 ... analysis unit, 224 ... hardware description conversion unit, 225 ... second hardware description storage unit, 22
6 ... Circuit data generation unit, 227 ... Circuit data storage unit, 2
28 ... Code generation unit, 229 ... Code storage unit

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】少なくとも1種類のオブジェクトについ
て、該オブジェクトに属する各要素と該オブジェクトを
その性質により分類したオブジェクト種別との対応を記
憶するオブジェクト種別記憶手段と、 前記オブジェクトの要素を実行する際に、前記オブジェ
クト種別記憶手段を参照して該実行するオブジェクトの
要素のオブジェクト種別を求め、オブジェクト種別毎に
定義された処理手順に従って、該オブジェクトの要素の
処理を行なうシミュレーション処理手段と備えたことを
特徴とする論理シミュレータ。
1. An object type storage unit for storing, for at least one type of object, a correspondence between each element belonging to the object and an object type obtained by classifying the object according to its property, and when executing an element of the object. , A simulation processing means for obtaining the object type of the element of the object to be executed with reference to the object type storage means, and processing the element of the object in accordance with a processing procedure defined for each object type. And a logic simulator.
【請求項2】シミュレーション対象となるハードウェア
記述に基づいて、前記オブジェクト種別記憶手段に記憶
する前記オブジェクトの要素と該オブジェクトの要素に
対応するオブジェクト種別を決定するオブジェクト種別
決定手段をさらに備えたことを特徴とする請求項1に記
載の論理シミュレータ。
2. An object type determining means for determining an element type of the object stored in the object type storing means and an object type corresponding to the element of the object based on a hardware description to be simulated. The logic simulator according to claim 1, wherein:
【請求項3】シミュレーション対象となるハードウェア
記述中で使用される信号のソース数を求める解析手段
と、 レゾリューション処理を省略する対象となるデータタイ
プを記憶するデータタイプ記憶手段と、 前記ハードウェア記述中において前記データタイプ記憶
手段に記憶されているデータタイプの信号でかつ前記解
析手段により求められたソース数が1個である信号に対
する信号代入文に対しては、レゾリューション信号自身
に直接代入するコードを生成するコード生成手段とを備
えたことを特徴とする論理シミュレータ。
3. An analysis means for obtaining the number of sources of signals used in a hardware description to be simulated, a data type storage means for storing a data type for which resolution processing is omitted, and the hardware. For the signal substitution statement for the signal of the data type stored in the data type storage means in the hardware description and the number of sources obtained by the analysis means is one, the resolution signal itself is used. A logic simulator comprising: a code generation unit that generates a code to be directly substituted.
【請求項4】シミュレーション対象となるハードウェア
記述中で使用される信号のソース数を求める解析手段
と、 レゾリューション処理を省略する対象となるデータタイ
プを記憶するデータイプ記憶手段と、 前記ハードウェア記述中において前記データタイプ記憶
手段に記憶されているデータタイプであり、前記解析手
段により求められたソース数が1個であり、かつ、該ソ
ースに接続される下位コンポーネントの出力ポートまた
は入出力ポートが存在する場合、当該ポートをレゾリュ
ーション信号自身に直接接続するコードを生成するコー
ド生成手段と備えたことを特徴とする論理シミュレー
タ。
4. An analysis means for obtaining the number of sources of signals used in a hardware description to be simulated, a data type storage means for storing a data type for which resolution processing is omitted, and the hardware. The data type stored in the data type storage means in the hardware description, the number of sources obtained by the analysis means is one, and the output port or input / output of the lower component connected to the source A logic simulator comprising a code generating means for generating a code for directly connecting the port to the resolution signal itself when the port exists.
【請求項5】ハードウエア記述言語による仕様記述を記
憶するハードウエア記述記憶手段と、 前記ハードウエア記述記憶手段に記憶されているハード
ウエア記述中の信号のソース数を求める解析手段と、 レゾリューション処理を省略する対象となるデータイプ
を記憶するデータタイプ記憶手段と、 前記ハードウエア記述中において前記データタイプ記憶
手段に記憶されているデータタイプの信号でかつ前記解
析手段により求められたソース数が1個である信号宣言
を、非レゾリューションタイプの信号宣言に置き換えた
ハードウエア記述を生成するハードウエア記述変換手段
とを備えたことを特徴とするハードウエア記述変換装
置。
5. A hardware description storage means for storing a specification description in a hardware description language, an analysis means for obtaining the number of sources of signals in the hardware description stored in the hardware description storage means, and a resolution. Data type storage means for storing the data type for which the processing is omitted, and the number of sources obtained by the analysis means, which is a signal of the data type stored in the data type storage means in the hardware description. And a hardware description conversion means for generating a hardware description in which a signal declaration of which the number is one is replaced with a signal declaration of a non-resolution type.
【請求項6】前記ハードウエア記述言語中の信号代入文
に基づいて、レゾリューションタイプの信号宣言を非レ
ゾリューションタイプの信号宣言に置き換えることを特
徴とする請求項5に記載のハードウエア記述変換装置。
6. The hardware according to claim 5, wherein a resolution type signal declaration is replaced with a non-resolution type signal declaration based on a signal assignment statement in the hardware description language. Description converter.
【請求項7】前記ハードウエア記述言語中のコンポーネ
ントインスタンス文に基づいて、レゾリューションタイ
プの信号宣言を非レゾリューションタイプの信号宣言に
置き換えることを特徴とする請求項5に記載のハードウ
エア記述変換装置。
7. The hardware according to claim 5, wherein a resolution type signal declaration is replaced with a non-resolution type signal declaration based on a component instance statement in the hardware description language. Description converter.
【請求項8】前記ハードウエア記述言語中の信号代入文
およびコンポーネントインスタンス文に基づいて、レゾ
リューションタイプの信号宣言を非レゾリューションタ
イプの信号宣言に置き換えることを特徴とする請求項5
に記載のハードウエア記述変換装置。
8. A signal declaration of resolution type is replaced with a signal declaration of non-resolution type based on a signal assignment statement and a component instance statement in the hardware description language.
The hardware description conversion device described in 1.
JP7082033A 1995-03-15 1995-03-15 Logic simulator and hardware description converter Expired - Fee Related JP2902972B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7082033A JP2902972B2 (en) 1995-03-15 1995-03-15 Logic simulator and hardware description converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7082033A JP2902972B2 (en) 1995-03-15 1995-03-15 Logic simulator and hardware description converter

Publications (2)

Publication Number Publication Date
JPH08255191A true JPH08255191A (en) 1996-10-01
JP2902972B2 JP2902972B2 (en) 1999-06-07

Family

ID=13763225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7082033A Expired - Fee Related JP2902972B2 (en) 1995-03-15 1995-03-15 Logic simulator and hardware description converter

Country Status (1)

Country Link
JP (1) JP2902972B2 (en)

Also Published As

Publication number Publication date
JP2902972B2 (en) 1999-06-07

Similar Documents

Publication Publication Date Title
US6135647A (en) System and method for representing a system level RTL design using HDL independent objects and translation to synthesizable RTL code
US5557774A (en) Method for making test environmental programs
US6606734B2 (en) Simulation method and compiler for hardware/software programming
US6877150B1 (en) Method of transforming software language constructs to functional hardware equivalents
US5390320A (en) Automatically converting structured analysis tool database outputs into an integrated simulation model via transportable standardized metafile
US7350180B1 (en) Search algorithm for inheriting clock contexts in hardware description language translation tools
JPH05342298A (en) Simulation device
US20140351788A1 (en) Renaming instances of an entity in a coding environment
Wood et al. A model-driven development approach to mapping UML state diagrams to synthesizable VHDL
JPH0765040A (en) Function data interface method/device
Fauth et al. Automated generation of DSP program development tools using a machine description formalism
US8881074B2 (en) Device and method for refactoring hardware code
JP2001522084A (en) Method of generating ISA simulator and assembler from machine language description
JPH06274568A (en) Expansion method for hierarchical graphic data
JP2902972B2 (en) Logic simulator and hardware description converter
US7506287B2 (en) Method, system, and program product for pre-compile processing of hardware design language (HDL) source files
US6877140B1 (en) Method and system for generating a schematic representing bus structures
JP4390639B2 (en) LSI design system, LSI design program
JP2990882B2 (en) Functional simulation device
JP2001188673A (en) Software reuse assisting device
Fujita et al. Object-oriented analysis and design of hardware/software co-designs with dependence analysis for design reuse
US7430727B2 (en) Hardware component graph to hardware description language translation method
JP3584204B2 (en) Automatic source program converter
JP2714015B2 (en) Logic circuit synthesizer
Micallef et al. Extending attribute grammars to support programming-in-the-large

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees