JP2003067438A - Method for generating simulation model, method of simulation and its recording medium - Google Patents

Method for generating simulation model, method of simulation and its recording medium

Info

Publication number
JP2003067438A
JP2003067438A JP2002182246A JP2002182246A JP2003067438A JP 2003067438 A JP2003067438 A JP 2003067438A JP 2002182246 A JP2002182246 A JP 2002182246A JP 2002182246 A JP2002182246 A JP 2002182246A JP 2003067438 A JP2003067438 A JP 2003067438A
Authority
JP
Japan
Prior art keywords
description
clock
model
level
simulation
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
JP2002182246A
Other languages
Japanese (ja)
Other versions
JP3779651B2 (en
Inventor
Hiroyuki Ikegami
裕之 池上
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002182246A priority Critical patent/JP3779651B2/en
Publication of JP2003067438A publication Critical patent/JP2003067438A/en
Application granted granted Critical
Publication of JP3779651B2 publication Critical patent/JP3779651B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable a simulation of an intermediate level between an algorithm description and an RT level description, and provide its language. SOLUTION: The algorithm description 3 is lowered to a clock level description 8 under limited resources. A plurality of functions in the algorithm description 3 are decomposed into partial functions which can operate in a unit clock and the partial functions are assembled to restore the plurality of functions. The plurality of functions are described in a language in which a register is a variable as a clock level simulator 8 that is a clock level description. The language in which the register is a variable is the most suitable as a programming language operative in a clock unit. The language has been an undiscovered language which was located in a lower position than the algorithm level and in a higher position than the RT level.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、シミュレーション
方法、シミュレーションモデル、これらに対応する記録
媒体、それらの記述の生成方法に関し、特に、アルゴリ
ズム記述とRTレベル記述との間でシミュレーションを
適宜に切り換えて高速度で所望の段階でシミュレーショ
ンモデルを生成してアルゴリズムを高速に又は詳細にシ
ミュレートするシミュレーション方法、シミュレーショ
ンモデル、それらに対応する記録媒体、それらの記述の
生成方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a simulation method, a simulation model, a recording medium corresponding to them, and a method of generating their descriptions. In particular, the simulation is appropriately switched between algorithm description and RT level description. The present invention relates to a simulation method for generating a simulation model at a desired stage at high speed to simulate an algorithm at high speed or in detail, a simulation model, a recording medium corresponding to the simulation model, and a method for generating their descriptions.

【0002】[0002]

【従来の技術】大規模回路は、自動設計装置により設計
される。自動設計装置の設計フローは、C言語のような
汎用プログラム言語、専用の動作レベル記述言語により
所望の動作フローが記述された最高位レベル記述をレジ
スタ、加算器のようなハードウエア資源を用いてよりハ
ードウエア化されるRTレベル記述のような低位レベル
記述に書き下すステップを有している。このようにレベ
ルが異なる抽象度の複数のシミュレーションモデルのシ
ミュレーションは、図13(a),(b)に示されるよ
うに、抽象度が高い動作レベルシミュレーションモデル
101では、初めから終わりまでこれだけがシミュレー
トされ、そのシミュレーションの途中で、RTレベルシ
ミュレーションモデル102のシミュレーションは行わ
れえず、また、抽象度が低いRTレベルシミュレーショ
ンモデル102では、初めから終わりまでこれだけがシ
ミュレートされ、そのシミュレーションの途中で、動作
レベルシミュレーションモデル101のシミュレーショ
ンは行われなかった。
2. Description of the Related Art Large-scale circuits are designed by automatic design equipment. The design flow of the automatic design apparatus uses a general-purpose programming language such as C, a highest-level description in which a desired behavior flow is described in a dedicated behavior level description language, using hardware resources such as registers and adders. It has the step of writing down to a lower level description such as an RT level description which is made more hardware. As shown in FIGS. 13 (a) and 13 (b), the behavioral level simulation model 101 having a high degree of abstraction is the only simulation performed from the beginning to the end, as shown in FIGS. 13 (a) and 13 (b). The RT level simulation model 102 cannot be simulated in the middle of the simulation, and in the RT level simulation model 102 having a low abstraction level, only this is simulated from the beginning to the end. The simulation of the behavioral level simulation model 101 was not performed.

【0003】このように、動作レベルシミュレーション
モデル101とRTレベルシミュレーションモデル10
2は、互いに独立していて別個のものとして扱われ、シ
ミュレーションの途中で一方のシステムシミュレーショ
ンから他方のシステムシミュレーションに切り換えるこ
とは不可能であった。一般的には、速度が重要な局面で
は高速な上位シミュレーションモデルが用いられ、精度
が重要な局面ではRTレベル、精度が更に細かく要求さ
れる局面ではレベルが更に低い他の低位シミュレーショ
ンモデルがそれぞれに用いられていた。
As described above, the behavior level simulation model 101 and the RT level simulation model 10
2 was treated as being independent of each other and different, and it was impossible to switch from one system simulation to the other system simulation during the simulation. In general, high-speed simulation models are used in situations where speed is important, RT levels are used in situations where accuracy is important, and other low-level simulation models with lower levels are used in situations where more precision is required. Was used.

【0004】しかし、機能検証のシミュレーションを行
う場合、ある時刻t1から他のある時刻t2の間を特に
詳しく調べたいという要望がある。そのような場合にも
時刻t0から時刻t2までの検証のために高精度のシミ
ュレータを使用すると、機能検査に多大な時間がかかっ
てしまう。
However, when performing a simulation for functional verification, there is a demand for a particularly detailed examination between a certain time t1 and another certain time t2. Even in such a case, if a highly accurate simulator is used for the verification from time t0 to time t2, it takes a lot of time for the function inspection.

【0005】このような問題を解決する技術として、異
なる抽象度の複数・シミュレーションモデルの間で切り
換えを行うようにしたミックス・シミュレーション技術
が、特開平5−61934号、論文「並列論理シミュレ
ータWIZDOM」(情報処理学会第57回全国大会、
1998)で知られている。ここで開示されている切り
換えは、命令レベルシミュレーションモデルとハードウ
エアシミュレータ、RTレベルシミュレーションモデル
のような抽象度が異なるシミュレーションモデルとの間
の切り換えである。このような切り換えが可能になって
いる根拠は、双方のモデルがレジスタ等で共通する構造
を持っていることにある。また、ゲートレベルと電子回
路レベルの間でのシミュレーション切り換えが行われる
技術が、特開平7−110826号で知られている。こ
の切り換えで双方の情報のトランスファーは、ゲート回
路の端子と電子回路の端子が1対1に対応していること
を利用することにより、回路端子のレベルのアナログ・
ディジタル変換によって行っている。また、特開平10
−261002号は、ある回路記述形式を用いてその回
路の動きを詳しい定義モデルと粗い定義モデルとで表現
し、そのモデルの間での切り換えを開示している。この
ような1対1対応の高低レベル間の切り換え、詳細度の
異なるものの共通の記述形式を用いた同一レベル間の切
り換えが知られている。
As a technique for solving such a problem, a mixed simulation technique for switching between a plurality of simulation models having different degrees of abstraction is disclosed in Japanese Patent Laid-Open No. 5-61934, "Parallel Logic Simulator WIZDOM". (57th National Convention of Information Processing Society,
1998). The switching disclosed here is switching between an instruction level simulation model and a simulation model such as a hardware simulator or an RT level simulation model having different degrees of abstraction. The reason why such switching is possible is that both models have a common structure in registers and the like. Further, a technique for performing simulation switching between a gate level and an electronic circuit level is known from Japanese Patent Laid-Open No. 7-110826. This switching enables transfer of both information by utilizing the one-to-one correspondence between the terminals of the gate circuit and the terminals of the electronic circuit.
This is done by digital conversion. In addition, JP-A-10
-261002 discloses the movement of the circuit by using a certain circuit description format with a detailed definition model and a rough definition model, and discloses switching between the models. Such switching between high and low levels having a one-to-one correspondence and switching between the same levels using a common description format with different levels of detail are known.

【0006】しかし、動作記述レベルといわれる最高位
のプログラム言語記述レベルと下位記述レベルであるR
Tレベルの間では、シミュレーション状態を保持する構
造が1対1に対応しておらず、両レベル間でデータの受
け渡しができないため、従来、これらのレベル間の切り
換えシミュレーションが不可能であった。シミュレーシ
ョンをより適正に高速化し且つ詳細化するために、この
ように1対1に対応する記述がなされていないレベル間
のシミュレーションモデルの切換技術の確立が特に望ま
れた。
However, the highest programming language description level called behavior description level and the lower description level R
Between the T levels, the structure for holding the simulation state does not correspond one-to-one, and data cannot be transferred between the two levels, so switching simulation between these levels has been conventionally impossible. In order to more appropriately speed up and detail the simulation, it has been particularly desired to establish a technique for switching the simulation model between the levels for which the one-to-one correspondence is not described.

【0007】本発明者は、そのような技術の確立のため
に、論理回路の処理フローを記述した動作レベル記述を
機能合成ツールによりRTレベル記述に変換し、その動
作レベル記述とRTレベル記述をそれぞれに対応するコ
ンパイラに入力して動作レベルシミュレーションモデル
構造とRTレベルシミュレーションモデル構造を生成
し、動作レベルシミュレーションモデル構造とRTレベ
ルシミュレーションモデル構造の対応手段を生成し、動
作レベルシミュレーションモデル構造とRTレベルシミ
ュレーションモデル構造に基づいて動作レベルシミュレ
ーションとRTレベルシミュレーションを対応手段を介
して切り換えて実行するように、両レベル間でレジスタ
の変数値を共有させるようにしたシミュレーション方法
を提案している(参照:特願平11−057040
号)。
In order to establish such a technique, the present inventor converts a behavioral level description describing a processing flow of a logic circuit into an RT level description by a function synthesizing tool, and converts the behavioral level description and the RT level description. Input to the corresponding compiler to generate the behavior level simulation model structure and the RT level simulation model structure, generate the corresponding means of the behavior level simulation model structure and the RT level simulation model structure, and determine the behavior level simulation model structure and the RT level. A simulation method has been proposed in which the variable value of the register is shared between both levels so that the behavior level simulation and the RT level simulation are switched and executed through corresponding means based on the simulation model structure (see : Japanese Patent Application No. 11-057040
issue).

【0008】このようなシミュレーション方法によるシ
ミュレーションの実行過程で、本発明者は、動作モデル
である最高位の抽象度を持つアルゴリズム記述から自動
生成される従来のRTレベル記述は、ソースであるアル
ゴリズム記述から遠くかけ離れ、両記述の間に大きな抽
象度の落差が存在していることに気づいた。両記述の間
に潜み両記述のそれぞれの抽象度の中間にある抽象度の
記述の発見が望まれ、その記述により、アルゴリズム記
述より抽象度が低くRTレベルより抽象度が高い言語レ
ベルでシミュレーションモデルを動作レベルより精細に
且つRTレベルより高速にシミュレートすることが望ま
れる。
In the process of executing the simulation by such a simulation method, the present inventor has found that the conventional RT level description automatically generated from the algorithm description having the highest abstraction which is the behavior model is the algorithm description which is the source. Far from, I noticed that there was a large difference in abstraction between the two descriptions. It is desirable to find a description with an abstraction level that is hidden between the two descriptions and that is between the abstraction levels of the two descriptions, and by that description, a simulation model at a language level that has a lower abstraction level than the algorithm description and a higher abstraction level than the RT level. Is desired to be more precise than the operation level and faster than the RT level.

【0009】[0009]

【発明が解決しようとする課題】本発明の課題は、アル
ゴリズムレベルより抽象度が高くRTレベルよりも抽象
度が低いレベルの言語を用いてそれに基づくシミュレー
ションモデル、その記述とその生成の方法を提供するこ
とにある。
An object of the present invention is to provide a simulation model based on a language having a higher abstraction level than the algorithm level and a lower abstraction level than the RT level, a description thereof, and a generation method thereof. To do.

【0010】本発明の他の課題は、アルゴリズムレベル
より抽象度が高くRTレベルよりも抽象度が低い記述に
基づいて、アルゴリズム記述のシミュレーションよりも
より精細に、且つ、RTレベル記述のシミュレーション
よりもより高速にシミュレートすることができるシミュ
レーションモデル、その記述とその生成の方法を提供す
ることにある。
Another object of the present invention is that, based on a description having a higher abstraction level than the algorithm level and a lower abstraction level than the RT level, the simulation is more precise than the simulation of the algorithm description and is more precise than the simulation of the RT level description. It is to provide a simulation model that can be simulated at a higher speed, a description thereof, and a method of generating the simulation model.

【0011】[0011]

【課題を解決するための手段】本発明のシミュレーショ
ンモデルの生成方法では、機能合成部とクロックレベル
検証部とを具備するシミュレーション装置において、資
源の制約の下で、前記機能合成部が、回路モジュールを
表現するアルゴリズム記述から状態遷移制御モデルと対
応テーブルを生成し、前記クロックレベル検証部が、前
記状態遷移制御モデルと前記対応テーブルからクロック
レベル記述のクロックレベルアルゴリズムモデルを生成
する。前記クロックレベル記述は、単位クロックでの前
記資源の各々の動作を記述し、前記クロックレベルアル
ゴリズムモデルは、前記回路モジュールの前記クロック
レベル記述であり、前記状態遷移制御モデルは前記資源
の各々の状態遷移を制御し、前記対応テーブルは、前記
資源、及び前記単位クロック毎の前記アルゴリズム記述
内の変数と前記資源の対応関係を表す。
According to the simulation model generation method of the present invention, in a simulation apparatus including a function synthesizing unit and a clock level verifying unit, the function synthesizing unit is controlled by a circuit module under the constraint of resources. A state transition control model and a correspondence table are generated from the algorithm description expressing the above, and the clock level verification unit generates a clock level algorithm model of the clock level description from the state transition control model and the correspondence table. The clock level description describes the operation of each of the resources at a unit clock, the clock level algorithm model is the clock level description of the circuit module, and the state transition control model is the state of each of the resources. The transition table is controlled, and the correspondence table represents the correspondence relation between the resource and the variable in the algorithm description for each unit clock and the resource.

【0012】前記クロックレベルアルゴリズムモデル
は、前記単位クロック毎の前記資源の動作を制御するデ
ータパス記述部とを有する。
The clock level algorithm model has a data path description unit for controlling the operation of the resource for each unit clock.

【0013】また、本発明のシミュレーションモデルの
生成方法では、機能合成部とクロックレベル検証部とを
具備するシミュレーション装置において、資源の制約の
下で、前記機能合成部が、回路モジュールを表現するア
ルゴリズム記述から状態遷移制御モデルと対応テーブル
を生成し、前記クロックレベル検証部が、前記状態遷移
制御モデル、前記対応テーブル、及び外部とのインター
フェイス情報からクロックレベル記述のクロックレベル
アルゴリズムモデルを生成してもよい。前記クロックレ
ベル記述は、単位クロックでの前記資源の各々の動作を
記述し、前記クロックレベルアルゴリズムモデルは、前
記回路モジュールの前記クロックレベル記述であり、前
記状態遷移制御モデルは前記資源の各々の状態遷移を制
御し、前記対応テーブルは、前記資源、及び前記単位ク
ロック毎の前記アルゴリズム記述内の変数と前記資源の
対応関係を表す。
Further, according to the simulation model generating method of the present invention, in the simulation apparatus having the function synthesizing unit and the clock level verifying unit, the function synthesizing unit is an algorithm for expressing the circuit module under the constraint of resources. Even if the state transition control model and the correspondence table are generated from the description, and the clock level verification unit generates the clock level algorithm model of the clock level description from the state transition control model, the correspondence table, and interface information with the outside. Good. The clock level description describes the operation of each of the resources at a unit clock, the clock level algorithm model is the clock level description of the circuit module, and the state transition control model is the state of each of the resources. The transition table is controlled, and the correspondence table represents the correspondence relation between the resource and the variable in the algorithm description for each unit clock and the resource.

【0014】前記クロックレベルアルゴリズムモデル
は、データを入出力するI/O部と、前記単位クロック
毎の前記資源の動作を制御するデータパス記述部とを有
してもよい。
The clock level algorithm model may include an I / O unit for inputting / outputting data and a data path description unit for controlling the operation of the resource for each unit clock.

【0015】いずれの場合も、前記クロックレベル記述
では、前記資源のうちの1つが前記複数の変数により共
有されることが好ましい。
In any case, in the clock level description, one of the resources is preferably shared by the plurality of variables.

【0016】本発明のシミュレーション方法では、前記
クロックレベル検証部が、前記単位クロックに基づい
て、請求項1乃至5のいずれかに記載される前記クロッ
クレベルアルゴリズムモデルを含むシミュレーションモ
デルをシミュレーションしてもよい。このとき、前記シ
ミュレーションモデルは、CPUの動作に対応するクロ
ックレベルCPUモデルを含んでもよい。
In the simulation method of the present invention, the clock level verification unit may simulate a simulation model including the clock level algorithm model according to any one of claims 1 to 5 based on the unit clock. Good. At this time, the simulation model may include a clock level CPU model corresponding to the operation of the CPU.

【0017】また、前記クロックレベル検証部が、前記
シミュレーションの結果に基づいて、前記資源の前記状
態と前記アルゴリズム記述とを対応づけ、前記アルゴリ
ズム記述の記述行毎の前記資源の使用状況を表示すこと
が好ましい。また、前記クロックレベル検証部が、前記
シミュレーションモデルに含まれる前記クロックレベル
記述と、前記資源の使用状況を示す資源使用対応表とを
用いて、前記アルゴリズム記述と当該シミュレーション
により得られる変数値の対応を表示することが好まし
い。
Further, the clock level verification unit associates the state of the resource with the algorithm description based on the result of the simulation, and displays the usage status of the resource for each description line of the algorithm description. It is preferable. Further, the clock level verification unit uses the clock level description included in the simulation model and a resource use correspondence table indicating a use state of the resource to associate the algorithm description with a variable value obtained by the simulation. Is preferably displayed.

【0018】前記資源の使用状況の表示では、前記クロ
ックレベル検証部が、前記クロックレベル記述の前記単
位クロックの状態遷移が起これば前記状態遷移が起こっ
た前記アルゴリズム記述の前記記述行と前記資源の使用
状況を表示し、前記変数値の対応の表示では、前記クロ
ックレベル検証部が、前記クロックレベル記述の前記単
位クロックの状態遷移が起これば前記状態遷移が起こっ
た前記レジスタ記述の前記記述行と前記変数値を表示す
ることが好ましい。前記変数値は、前記資源のうちのレ
ジスタ又はメモリの値である。
In the display of the use status of the resource, the clock level verifying unit causes the description line of the algorithm description in which the state transition has occurred and the resource when the state transition of the unit clock of the clock level description occurs. Of the register value in which the state transition has occurred when the state transition of the unit clock of the clock level description occurs, in the corresponding display of the variable value. It is preferable to display the rows and the variable values. The variable value is a register or memory value of the resource.

【0019】本発明のシミュレーション装置では、資源
の制約の下で、回路モジュールを表現するアルゴリズム
記述から状態遷移制御モデルと対応テーブルを生成する
機能合成部と、前記状態遷移制御モデル、前記対応テー
ブル、及び外部とのインターフェイス情報からクロック
レベル記述のクロックレベルアルゴリズムモデルを生成
するクロックレベル検証部とを具備する。前記状態遷移
制御モデルは前記資源の各々の状態遷移を制御し、前記
対応テーブルは、前記資源、及び前記単位クロック毎の
前記アルゴリズム記述内の変数と前記資源の対応関係を
表し、前記クロックレベル記述は、前記単位クロックで
の前記資源の各々の動作を記述し、前記クロックレベル
アルゴリズムモデルは、前記回路モジュールの前記クロ
ックレベル記述である。
In the simulation apparatus of the present invention, under the constraint of resources, a function synthesizing section for generating a state transition control model and a correspondence table from an algorithm description expressing a circuit module, the state transition control model, the correspondence table, And a clock level verification unit that generates a clock level algorithm model of a clock level description from interface information with the outside. The state transition control model controls the state transition of each of the resources, the correspondence table represents the correspondence relation between the resources and the variables in the algorithm description for each unit clock, and the clock level description. Describes the operation of each of the resources at the unit clock, and the clock level algorithm model is the clock level description of the circuit module.

【0020】シミュレーション装置は、表示部を更に具
備してもよく、前記クロックレベル検証部は、前記シミ
ュレーションの結果に基づいて、前記資源の前記状態と
前記アルゴリズム記述とを対応づけ、前記アルゴリズム
記述の記述行毎の前記資源の使用状況を前記表示部に表
示し、前記クロックレベルシミュレーションモデルに含
まれる前記クロックレベル記述と前記資源使用対応表と
を用いて、前記アルゴリズム記述の前記記述行と当該シ
ミュレーションにより得られる変数値の対応を前記表示
部に表示する。前記クロックレベル検証部は、前記クロ
ックレベル記述の前記クロック単位の状態遷移が起これ
ば前記状態遷移が起こった前記アルゴリズム記述の前記
記述行と前記資源の使用状況を前記表示部に表示し、前
記クロックレベル記述の前記クロック単位の前記状態遷
移が起これば前記状態遷移が起こった前記レジスタ記述
の前記記述行と前記変数値を表示することが好ましい。
The simulation device may further include a display unit, and the clock level verification unit associates the state of the resource with the algorithm description based on the result of the simulation, The use status of the resource for each description line is displayed on the display unit, and the description line of the algorithm description and the simulation are performed by using the clock level description and the resource use correspondence table included in the clock level simulation model. The correspondence of the variable value obtained by is displayed on the display unit. The clock level verification unit displays, on the display unit, the description line of the algorithm description in which the state transition has occurred and the usage status of the resource when the state transition of the clock level description in the clock unit occurs. When the state transition of the clock unit of the clock level description occurs, it is preferable to display the description line of the register description in which the state transition occurred and the variable value.

【0021】また、シミュレーション装置では、回路の
論理動作を表すハードウエアモデルを含む、前記回路の
アルゴリズムレベルシミュレーションモデルをシミュレ
ーションするアルゴリズムレベル検証部と、資源の制約
の下、前記ハードウエアモデルから生成されたクロック
レベルアルゴリズムモデルを含むクロックレベルシミュ
レーションモデルをシミュレーションするクロックレベ
ル検証部と、前記クロックレベルアルゴリズムモデル
は、単位クロックでの前記資源の各々の動作を表し、前
記資源の制約の下、前記ハードウエアモデルから生成さ
れた前記回路のRTレベルアルゴリズムモデルを含むR
Tレベルシミュレーションモデルをシミュレーションす
るRTレベル検証部とを具備する。
Further, in the simulation apparatus, an algorithm level verification unit for simulating an algorithm level simulation model of the circuit, which includes a hardware model representing a logical operation of the circuit, and the hardware model generated from the hardware model under resource constraints. A clock level verification unit for simulating a clock level simulation model including a clock level algorithm model, and the clock level algorithm model represents an operation of each of the resources at a unit clock, and the hardware is controlled under the constraint of the resources. R containing the RT level algorithmic model of the circuit generated from the model
And an RT level verification unit for simulating the T level simulation model.

【0022】前記アルゴリズムレベルシミュレーション
モデルは、前記回路内のCPUの動作を表すCPUモデ
ルを含み、前記クロックレベルシミュレーションモデル
は、単位クロック毎の前記CPUの動作を表すクロック
レベルCPUモデルを含み、前記RTレベルシミュレー
ションモデルは、RTレベルで前記CPUの動作を表す
RTレベルCPUモデルを含んでもよい。前記クロック
レベルシミュレーションモデルのシミュレーション時間
は、前記RTレベルシミュレーションモデルのシミュレ
ーション時間より短い。シミュレーション装置は、更
に、表示部を具備し、前記クロックレベル検証部は、前
記クロックレベルアルゴリズムモデルと前記クロックレ
ベルCPUモデルのシミュレーションの結果に基づい
て、前記資源の前記状態と前記アルゴリズム記述とを対
応づけ、前記アルゴリズム記述の記述行毎の前記資源の
使用状況を前記表示部に表示し、資源の使用状況を表す
資源使用対応表とを用いて、前記アルゴリズム記述の前
記記述行と当該シミュレーションにより得られる変数値
の対応を前記表示部に表示する。
The algorithm level simulation model includes a CPU model representing the operation of the CPU in the circuit, the clock level simulation model includes a clock level CPU model representing the operation of the CPU for each unit clock, and the RT The level simulation model may include an RT level CPU model that represents the operation of the CPU at the RT level. The simulation time of the clock level simulation model is shorter than the simulation time of the RT level simulation model. The simulation device further includes a display unit, and the clock level verification unit associates the state of the resource with the algorithm description based on a simulation result of the clock level algorithm model and the clock level CPU model. The use status of the resource for each description line of the algorithm description is displayed on the display unit, and the resource use correspondence table showing the use status of the resource is used to obtain the description line of the algorithm description and the simulation result. Correspondence of the variable values to be displayed is displayed on the display unit.

【0023】[0023]

【発明の実施の形態】本発明によるシミュレーションモ
デルの記述生成方法は、資源の制約の下で、アルゴリズ
ム記述(3)をクロックレベル記述(8)に低位化する
ことを含み、その低位化することは、アルゴリズム記述
(3)の複数機能を単位クロックの中で動作が可能であ
る部分機能に分解することと、その複数機能を回復する
ためにその部分機能を組み立てることとを備える。その
ような複数機能は、クロックレベル記述であるクロック
レベルシミュレータ(8)として、後述されるレジスタ
を変数とする言語により表現されている。レジスタを変
数とする言語は、本発明者により発見された低位プログ
ラミング記述言語である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS A simulation model description generation method according to the present invention includes lowering an algorithm description (3) to a clock level description (8) under the constraint of resources. Comprises breaking down a plurality of functions of the algorithm description (3) into partial functions capable of operating in a unit clock, and assembling the partial functions to recover the plurality of functions. Such a plurality of functions are expressed as a clock level simulator (8) that is a clock level description in a language whose variables are registers described later. The language that uses registers as variables is a low-level programming description language discovered by the present inventor.

【0024】クロックレベル記述は、資源のうちの複数
レジスタの内のある1つのレジスタを異なる複数単位ク
ロックのうちで動作させる記述を備える。このようなク
ロック間でレジスタの共有化が行われ、レジスタが変数
として言語化される。
The clock level description includes a description that causes one register of the plurality of registers of the resource to operate in different plurality of unit clocks. The registers are shared between such clocks, and the registers are verbalized as variables.

【0025】本発明によるシミュレーションモデルは、
更に、既述のこのようなシミュレーションモデルの記述
生成方法により記述されたクロックレベル記述(8)
と、そのクロックレベル記述に対応するアルゴリズム記
述(3)とが対応する対応表(22,23)とを含む。
The simulation model according to the present invention is
Furthermore, the clock level description (8) described by the above-described simulation model description generation method.
And a correspondence table (22, 23) corresponding to the algorithm description (3) corresponding to the clock level description.

【0026】本発明によるシミュレーション方法は、こ
のようなシミュレーションモデルを用いて単位クロック
で部分機能を動作させることにより複数機能をシミュレ
ートすることを含み、更に、そのようにシミュレートす
ることの結果に基づいて、アルゴリズム記述(3)をデ
バッグすることを含む。更には、シミュレーションモデ
ルに含まれるクロックレベル記述と対応表とを用いて、
アルゴリズム記述の行数とシミュレーションにより得ら
れる変数値の対応を表示することを含む。
The simulation method according to the present invention includes simulating a plurality of functions by operating a partial function with a unit clock by using such a simulation model, and further, as a result of such simulation. On the basis of this, it includes debugging the algorithm description (3). Furthermore, by using the clock level description and the correspondence table included in the simulation model,
It includes displaying the correspondence between the number of lines in the algorithm description and the variable value obtained by simulation.

【0027】本発明によるシミュレーションモデルの生
成方法は、資源の制約の下で、アルゴリズム記述(3)
をクロックレベル記述(8)に低位化することを含み、
その低位化することは、アルゴリズム記述(3)の複数
機能を単位クロックの中で動作が可能である部分機能に
分解することと、複数機能を回復するためにその部分機
能を組み立てることとを備え、クロックレベル記述
(8)は、その資源のうちの複数レジスタの内のある1
つのレジスタを異なるクロックのうちでそれぞれに動作
させる記述を備え、更に、クロックレベル記述(8)と
クロックレベル記述(8)のうちのレジスタ(Reg1
〜5)に関するレジスタ記述との対応表(22,23)
を作成することと、クロックレベル記述(8)のクロッ
ク単位の状態遷移が起こればその状態遷移が起こったア
ルゴリズム記述部分を表示することと、クロックレベル
記述(8)のクロック単位の状態遷移が起こればその状
態遷移が起こったレジスタ記述部分のレジスタ(Reg
1〜5)の変数値(R)を表示することとを含む。この
ような対応表の作成によって、両レベル間の移行が可能
である。このようなシミュレーションモデルの生成方法
に含まれる全記述がコンピュータにより読み取り可能で
あることは当然であり、それは記録媒体化されて利用に
供される。
The simulation model generation method according to the present invention is such that the algorithm description (3) is performed under the constraint of resources.
To lower the clock level description (8),
The lowering comprises disassembling the plural functions of the algorithm description (3) into partial functions capable of operating in a unit clock, and assembling the partial functions to recover the plural functions. , Clock level description (8) is one of the multiple registers of the resource
A description is provided for operating two registers for different clocks respectively, and further, a clock level description (8) and a register (Reg1 of the clock level description (8)
Correspondence table (22,23) with register description about (5)
Of the clock level description (8), and if the state transition of the clock level description (8) in clock units occurs, the algorithm description part in which the state transition occurred is displayed. If it occurs, the register in the register description part (Reg
1 to 5) displaying the variable value (R). By creating such a correspondence table, it is possible to make a transition between both levels. It goes without saying that all the descriptions included in such a simulation model generation method can be read by a computer, which is used as a recording medium.

【0028】本発明によるシミュレーションモデルは、
アルゴリズム記述(3)と、アルゴリズム記述(3)よ
りも抽象度が低いRTレベル記述(17)と、アルゴリ
ズム記述(3)よりも抽象度が低く、且つ、RTレベル
記述(17)よりも抽象度が高いクロックレベル記述
(8)を含み、クロックレベル記述(8)はアルゴリズ
ム記述(3)からクロック単位で自動生成される記述で
あり、アルゴリズム記述(3)と、クロックレベル記述
(8)と、RTレベル記述(17)とは、クロックレベ
ル記述(8)に含まれて記述されるレジスタ(Reg1
〜5)の変数値(R)を共有する。このような共有によ
り、3つのレベル間で移行が可能である。
The simulation model according to the present invention is
Algorithm description (3), RT level description (17) having a lower abstraction level than algorithm description (3), and lower abstraction level than algorithm description (3) and more abstraction level than RT level description (17) Includes a high clock level description (8), and the clock level description (8) is a description automatically generated in clock units from the algorithm description (3). The algorithm description (3), the clock level description (8), The RT level description (17) is the register (Reg1) described in the clock level description (8).
Share the variable value (R) of ~ 5). Such sharing allows a transition between the three levels.

【0029】更に、シミュレーションモデルは、アルゴ
リズム記述(3)と、アルゴリズム記述(3)よりも抽
象度が低いクロックレベル記述(8)を含み、クロック
レベル記述(8)は、時間軸に直交する単位クロックご
との断面上で記述されるレジスタの演算記述である。こ
こで、断面とは、1単位クロック内で同時的に動作が進
行する一連の記述の連鎖である。アルゴリズム記述より
も抽象度が低く、且つ、時間軸に直交する単位クロック
ごとの断面上でレジスタに関して記述される言語は、コ
ンピュータにより読み取り可能に表現されて記録媒体化
され得る。このような媒体をコピーすることにより、同
時並行的に多様なシミュレーションが可能である。アル
ゴリズム記述よりも抽象度が低く、且つ、時間軸に直交
する単位クロックごとの断面上でレジスタに関して記述
されるシミュレーションモデル用記述言語は、Reg1
+Reg2のように複数レジスタが用語として多変数化
されている。アルゴリズム記述(3)は数の演算を含ん
でいる場合には、その演算を時間軸上で進行するクロッ
クの単位の中で実行する関数の変数がレジスタになって
表現されている。
Further, the simulation model includes an algorithm description (3) and a clock level description (8) having a degree of abstraction lower than that of the algorithm description (3), and the clock level description (8) is a unit orthogonal to the time axis. It is a calculation description of a register described on a cross section for each clock. Here, the cross section is a chain of a series of descriptions in which operations simultaneously proceed within one unit clock. A language having a lower level of abstraction than the algorithm description and describing a register on a cross section for each unit clock orthogonal to the time axis can be expressed in a computer-readable form and can be made into a recording medium. By copying such a medium, various simulations can be performed simultaneously in parallel. The description language for the simulation model, which has a lower abstraction level than the algorithm description and is described for the register on the cross section for each unit clock orthogonal to the time axis, is Reg1.
A plurality of registers are multi-variable as a term like + Reg2. When the algorithm description (3) includes a numerical operation, the variable of the function that executes the operation in the unit of the clock that progresses on the time axis is expressed as a register.

【0030】このように、中間レベルの抽象度の言語に
は、レジスタの動作がクロック単位で現れる変数が潜ん
でいる。
As described above, in the intermediate level abstraction language, there are latent variables in which the operation of the register appears in clock units.

【0031】図1に一致対応して、本発明によるシミュ
レーションモデルの実施の形態は、アルゴリズム検証部
とRTレベル検証部との間で、新たにクロックレベル検
証部が設けられていることを特徴としている。そのアル
ゴリズム検証部1は、図1に示されるように、アルゴリ
ズムシステム2から形成されている。アルゴリズムシス
テム2は、最も抽象度が高いH/Wモデルであるアルゴ
リズム記述3と、C言語で記述されS/Wモデルである
C−プログラム4とを備えている。アルゴリズムシステ
ム2は、C−コンパイラによりアルゴリズムシミュレー
タ5に変換される。アルゴリズムシステム2は、アルゴ
リズムシミュレータ5によりシミュレートされる。
Corresponding to FIG. 1, the embodiment of the simulation model according to the present invention is characterized in that a clock level verification unit is newly provided between the algorithm verification unit and the RT level verification unit. There is. The algorithm verification unit 1 is formed of an algorithm system 2 as shown in FIG. The algorithm system 2 includes an algorithm description 3 which is an H / W model having the highest degree of abstraction and a C-program 4 which is an S / W model described in C language. The algorithm system 2 is converted into the algorithm simulator 5 by the C-compiler. The algorithm system 2 is simulated by the algorithm simulator 5.

【0032】そのクロックレベル検証部6は、クロック
レベルシステム7から形成されている。クロックレベル
システム7は、クロックレベル記述であるクロックレベ
ルシミュレーションモデル8と、クロックレベルCPU
モデル9とを備えている。クロックレベルシステム7
は、組込用Cコンパイラ11により自動生成されて記述
変換され、その記述変換には、慣用の機能合成ツール1
2が持つツールであるレジスタが用語(単語又は一次変
数)として用いられる。アルゴリズム記述3は、機能合
成ツール12で記述されるツールを持つモデル変換ツー
ル13によりクロックレベルシミュレーションモデル8
に記述変換される。クロックレベルCPUモデル9は、
組込用Cコンパイラ11によりC−プログラム4から自
動生成される。クロックベースシミュレータ14は、ク
ロックレベルシミュレーションモデル8とクロックレベ
ルCPUモデル9とから形成されている。
The clock level verification unit 6 is formed of a clock level system 7. The clock level system 7 includes a clock level simulation model 8 that is a clock level description and a clock level CPU.
Model 9 and. Clock level system 7
Is automatically generated by the built-in C compiler 11 and its description is converted. For the description conversion, the conventional function synthesizing tool 1 is used.
A register, which is a tool of 2, is used as a term (word or primary variable). The algorithm description 3 is generated by the model conversion tool 13 having a tool described by the function synthesis tool 12 and the clock level simulation model 8
The description is converted to. The clock level CPU model 9
It is automatically generated from the C-program 4 by the built-in C compiler 11. The clock-based simulator 14 is composed of a clock level simulation model 8 and a clock level CPU model 9.

【0033】そのRTレベル検証部15は、RTレベル
システム16から形成されている。RTレベルシステム
16は、RTL−HDL17と、RTレベルCPUモデ
ル18とを備えている。RTL−HDL17は、機能合
成ツール12によりアルゴリズム記述3から自動生成さ
れる。HDLシミュレータ19は、RTL−HDL17
とRTレベルCPUモデル18とから形成されている。
The RT level verification section 15 is formed of an RT level system 16. The RT level system 16 includes an RTL-HDL 17 and an RT level CPU model 18. The RTL-HDL 17 is automatically generated from the algorithm description 3 by the function synthesis tool 12. The HDL simulator 19 uses the RTL-HDL17.
And the RT level CPU model 18 are formed.

【0034】図2は、クロックレベルシミュレーション
モデル8を自動生成するモデル作成のツール構成とその
作成フローを示している。機能合成ツール12は、定
数、変数の最適化機能と、スケジューリング機能と、ア
ロケーション機能と、レジスタシェアリング機能と、H
DL生成機能とを有している。レジスタシェアリング機
能は、下記3つの作成を実行する機能を有している: (1)資源制約下で用いられる複数レジスタ資源の状態
遷移の繰返しをデータパス制御により制御するFSM/
DataPathモデル21の作成 (2)変数とレジスタと状態位置との対応である変数/
レジスタ/状態位置対応表22の作成 (3)アルゴリズム記述のソース行とその状態位置との
対応であるソース行/状態位置対応表23の作成 モデルI/F情報24は、機能合成ツール12とモデル
変換ツール13に入力される。モデル変換ツール13
は、モデルI/F情報24とFSM/DataPath
モデル21と変数/レジスタ/状態位置対応表22とに
基づいて動作し、アルゴリズム記述3をクロックレベル
シミュレーションモデル8に記述変換して、クロックレ
ベルシミュレーションモデル8を自動生成する。モデル
変換ツール13には、その自動生成のために、モデル機
能ライブラリのデバッグ機能ライブラリ25とモデルI
/Fライブラリ26からそれらのライブラリ情報が入力
される。
FIG. 2 shows a tool configuration for model generation for automatically generating the clock level simulation model 8 and its generation flow. The function synthesis tool 12 includes a constant and variable optimization function, a scheduling function, an allocation function, a register sharing function, and an H function.
It has a DL generation function. The register sharing function has the function of executing the following three generations: (1) FSM / controls the repetition of state transitions of multiple register resources used under resource constraints by data path control.
Creation of DataPath model 21 (2) Variable which is correspondence between variable, register and state position /
Creation of Register / State Position Correspondence Table 22 (3) Creation of Source Line / State Position Correspondence Table 23 which is a Correspondence between Source Line of Algorithm Description and Its State Position Model I / F information 24 is the function synthesis tool 12 and the model. It is input to the conversion tool 13. Model conversion tool 13
Is the model I / F information 24 and FSM / DataPath.
It operates based on the model 21 and the variable / register / state position correspondence table 22, and converts the algorithm description 3 into the clock level simulation model 8 to automatically generate the clock level simulation model 8. The model conversion tool 13 includes a debug function library 25 of the model function library and a model I for automatic generation.
The library information is input from the / F library 26.

【0035】図3は、クロックレベルシミュレーション
モデル8の記述構造を示している。クロックレベルシミ
ュレーションモデル8は、Busシミュレーションモデ
ル31を備えている。Busシミュレーションモデル3
1は、モジュールIO部32とデータパス記述部33と
から形成されている。モジュールIO部32には、複数
IOレジスタ34と複数IOメモリー35とが記述さ
れ、モデルI/F情報24から作成され、当該シミュレ
ーションモデルの入出力端子を通して組込ソフトウエア
から読み書きされるIOレジスタ構造と、IOメモリー
構造を有している。クロックレベルシミュレーションモ
デル8は、モジュールIO部を介して、他のモジュール
と信号伝達を行う。データパス記述部33は、後述され
るように、複数IOレジスタと複数演算子との関係を記
述するデータパスと、その演算のクロック単位の動作を
制御する制御構造とを有している。
FIG. 3 shows a description structure of the clock level simulation model 8. The clock level simulation model 8 includes a Bus simulation model 31. Bus simulation model 3
1 is composed of a module IO unit 32 and a data path description unit 33. An IO register structure in which a plurality of IO registers 34 and a plurality of IO memories 35 are described in the module IO unit 32, is created from the model I / F information 24, and is read and written by embedded software through the input / output terminals of the simulation model. And has an IO memory structure. The clock level simulation model 8 communicates with other modules via the module IO unit. As will be described later, the data path description unit 33 has a data path that describes the relationship between a plurality of IO registers and a plurality of operators, and a control structure that controls the operation of the operation in clock units.

【0036】データパス記述部33に、シミュレーショ
ンコントローラ36が接続している。シミュレーション
コントローラ36は、シミュレータ本体からクロック入
力37を受けてデータパス記述部33のクロックを1つ
ずつ進める演算動作遷移38の循環歩進制御(FSM制
御)を行う。シミュレーションコントローラ36から出
力されるFSM制御信号39は、データパス記述部33
に入力される。
A simulation controller 36 is connected to the data path description section 33. The simulation controller 36 receives the clock input 37 from the simulator body and performs the cyclic step control (FSM control) of the arithmetic operation transition 38 that advances the clock of the data path description unit 33 one by one. The FSM control signal 39 output from the simulation controller 36 is the data path description unit 33.
Entered in.

【0037】データパス記述部33は、GUIコントロ
ーラ41に接続している。データパス記述部33は、レ
ジスタ値Rと演算遷移位置である状態位置値Sとを出力
する。レジスタ値Rと状態位置値Sとは、GUIコント
ローラ41に入力される。リセット信号がシミュレーシ
ョンコントローラ36に入力されると、データパス記述
部33のレジスタ値Rと状態位置値Sとは初期化され
る。
The data path description section 33 is connected to the GUI controller 41. The data path description unit 33 outputs the register value R and the state position value S which is the operation transition position. The register value R and the state position value S are input to the GUI controller 41. When the reset signal is input to the simulation controller 36, the register value R and the state position value S of the data path description unit 33 are initialized.

【0038】GUIコントローラ41は、現在の遷移状
態位置のレジスタとアルゴリズムレベル記述による変数
との対応を図2に示される変数/レジスタ/状態位置対
応表22から得ることができる。GUIコントローラ4
1は、更に、現在の遷移状態位置のアルゴリズムレベル
記述によるソース行をソース行/状態位置対応表23か
ら得ることができる。
The GUI controller 41 can obtain the correspondence between the register of the current transition state position and the variable according to the algorithm level description from the variable / register / state position correspondence table 22 shown in FIG. GUI controller 4
In addition, 1 can obtain the source line according to the algorithm level description of the current transition state position from the source line / state position correspondence table 23.

【0039】GUIコントローラ41は、アルゴリズム
レベル記述変数値表示ウインドウ42と、アルゴリズム
レベル記述ソース実行行表示ウインドウ43に接続して
いる。アルゴリズムレベル記述変数値表示ウインドウ4
2には、レジスタのレジスタ値Rが、その遷移状態位置
で、アルゴリズムレベル記述変数値として変数/レジス
タ/状態位置対応表22に基づく対応関係が与えられて
表示される。複数レジスタが部分的に異なる遷移状態間
で共有されることにより一時的にレジスタとの対応が消
えてしまうアルゴリズムレベル記述変数の値は、GUI
コントローラ41に保持されることにより、アルゴリズ
ムレベル記述変数値表示ウインドウ42には、常に最新
の遷移状態の最新の変数値が表示される。
The GUI controller 41 is connected to the algorithm level description variable value display window 42 and the algorithm level description source execution line display window 43. Algorithm level description variable value display window 4
In FIG. 2, the register value R of the register is displayed at the transition state position by giving the correspondence relationship based on the variable / register / state position correspondence table 22 as the algorithm level description variable value. The value of the algorithm-level description variable, which temporarily loses its correspondence with the register because a plurality of registers are partially shared between different transition states, is the GUI.
By being held by the controller 41, the latest variable value of the latest transition state is always displayed in the algorithm level description variable value display window 42.

【0040】他方で、アルゴリズムレベル記述ソース実
行行表示ウインドウ43には、現在の状態遷移位置に対
応するアルゴリズムレベル記述のソース行位置値Sが、
現在の遷移状態位置で、ソース行/状態位置対応表23
に基づく対応関係が与えられて、ハイライト表示され
る。更に、GUIコントローラ41は、アルゴリズム記
述変数、及び、レジスタ、クロック単位の変化の回数、
状態遷移の各状態に遷移した回数、遷移元、遷移先が、
シミュレーション中に計測されることにより、変数、レ
ジスタ変化、状態変化の網羅率が測定される。このよう
な網羅率は、テストパタンによりどれ程網羅的な検証が
行われ得たかの指標になる。
On the other hand, the source line position value S of the algorithm level description corresponding to the current state transition position is displayed in the algorithm level description source execution line display window 43.
Source row / state position correspondence table 23 at the current transition state position
The corresponding relationship based on is given and highlighted. Furthermore, the GUI controller 41 uses the algorithm description variables, registers, and the number of changes in clock units,
The number of transitions to each state of the state transition, transition source, transition destination,
By being measured during the simulation, the coverage of variables, register changes, and state changes is measured. Such coverage rate is an index of how comprehensively the verification can be performed by the test pattern.

【0041】アルゴリズム検証:システム内に含まれる
ハードウエアモデルとソフトウエアモデルは、共にプロ
グラミング言語で記述されている。そのハードウエアモ
デルは、ハードウエアのアルゴリズムを表現し、そのソ
フトウエアモデルは組み込みソフロウエアを表現してい
る。これらのプログラミング言語記述をCコンパイラに
かけることにより、アルゴリズムレベルのシミュレータ
が作成される。ハードウエアに関する情報がないアルゴ
リズムレベルで検証可能な項目は、下記(1),(2)
に示されるように、純粋に論理的な動作のみであるが、
そのシミュレーションは非常に高速である。 (1)各モジュールの論理的な動作の検証 (2)システムの論理的な動作の検証
Algorithm verification: Both the hardware model and the software model included in the system are described in a programming language. The hardware model represents the algorithm of the hardware, and the software model represents the embedded software. An algorithm-level simulator is created by applying these programming language descriptions to a C compiler. Items that can be verified at the algorithm level without information about hardware are listed in (1) and (2) below.
As shown in, only purely logical behavior,
The simulation is very fast. (1) Verification of logical operation of each module (2) Verification of logical operation of system

【0042】クロックレベル検証:ハードウエアモデル
のアルゴリズム記述を機能合成ツール、モデル変換ツー
ルで処理することにより、クロックレベルのシミュレー
ションモデルが作成される。ソフトウエアモデルは、C
PUのシミュレーションモデル上に組込ソフトウエアと
して読み込まれ、実際のCPUと同等な動作タイミング
を実現する。これらのハードウエア、ソフトウエアモデ
ルは、クロックレベルで実際のLSIシステムと同等の
タイミング精度を持つため、クロックレベルシミュレー
タ上でシミュレーションを行うことにより、下記のよう
な項目の見積もり、検証が可能である。 (1)各モジュールのクロックレベルの動作タイミング
検証 (2)各モジュールのインターフェースの概略検証(I
Oレジスタ、IOメモリ、IO端子の構成、名称、ビッ
ト幅等) (3)各モジュール、バスの動作クロックの周波数見積
もり (4)キャッシュアクセスの見積もり(キャッシュヒッ
ト率、アクセス率、ライトバック回数等) (5)アクセスの見積もり(バスの占有率、バスのトラ
ンザクションごとのAdrs、Data、Maste
r、Slave、Read/Write、Comman
d、語数、占有時間等) (6)Bus、Arbiterのアルゴリズムの検証 (7)メモリ/IFのトラフィックの見積もり (8)データ処理のThrough Putの見積もり
(モジュール毎、バス毎、システム全体) (9)バッファ、スタックサイズの見積もり (10)画質、音質の見積もり (11)アドレスマップ、端子、bit幅等モジュール
間接続I/Fの整合性の検証 (12)浮動小数点を固定小数点に変換した場合の見積
もり (13)組み込みソフトウエアの開発、デバッグ (14)消費電力の概略見積もり
Clock level verification: A clock level simulation model is created by processing the algorithm description of the hardware model with a function synthesis tool and a model conversion tool. Software model is C
It is read as embedded software on the PU simulation model and realizes the operation timing equivalent to that of the actual CPU. Since these hardware and software models have the same timing accuracy as the actual LSI system at the clock level, it is possible to estimate and verify the following items by performing simulation on a clock level simulator. . (1) Clock level operation timing verification of each module (2) Schematic verification of interface of each module (I
O register, IO memory, IO terminal configuration, name, bit width, etc.) (3) Frequency estimation of operating clock of each module and bus (4) Cache access estimation (cache hit rate, access rate, number of writebacks, etc.) (5) Estimate of access (bus occupancy rate, Adrs, Data, Master for each bus transaction)
r, Slave, Read / Write, Command
(6) Bus / Arbiter algorithm verification (7) Memory / IF traffic estimation (8) Throughput estimation of data processing (each module, each bus, entire system) (9) ) Estimate of buffer and stack size (10) Estimate of image quality and sound quality (11) Verification of consistency of inter-module connection I / F such as address map, terminal, bit width (12) When floating point is converted to fixed point Estimate (13) Development and debugging of embedded software (14) Rough estimate of power consumption

【0043】RTレベル検証:ハードウエアモデルは機
能合成ツールが作成するRTL−HDLモデルが用いら
れる。このモデルは、クロックレベルよりも詳細に非同
期的動作を含むタイミングの精度を持つ。ソフトウエア
モデルは、クロックレベルシミュレーションと同様にC
PUのシミュレーションモデル上に組み込みソフトウエ
アとして読み込まれる。これらのRTL−HDLモデル
とCPUモデルをHDLシミュレータ上でシミュレート
することにより、以下のような項目の検証と見積もりを
行うことができる。 (1)各モジュールのインターフェースの詳細検証(制
御、アドレス、データ端子のタイミング動作) (2)各モジュールの詳細タイミングの検証 (3)消費電力の詳細見積もり (4)テスタ向けパタン作成
RT level verification: As the hardware model, the RTL-HDL model created by the function synthesis tool is used. This model has timing accuracy that includes asynchronous behavior in more detail than clock levels. The software model uses C as well as clock level simulation.
It is loaded as embedded software on the PU simulation model. By simulating these RTL-HDL model and CPU model on an HDL simulator, the following items can be verified and estimated. (1) Detailed verification of interface of each module (timing operation of control, address, data terminals) (2) Verification of detailed timing of each module (3) Detailed estimation of power consumption (4) Creation of pattern for tester

【0044】[0044]

【実施例】図10は、本発明によるシミュレーションモ
デル作成方法の実施の形態を示している。図10に示す
フロー図にそって、図4に示されるアルゴリズム記述か
ら後述するFSM/DataPathモデル記述及び図
8に示される変数/レジスタ/状態位置対応表、図9に
示されるソース行/状態位置対応表を作成し、クロック
レベルシミュレーションモデルを作成する方法を以下に
述べる。
EXAMPLE FIG. 10 shows an embodiment of a simulation model creating method according to the present invention. According to the flow chart shown in FIG. 10, the FSM / DataPath model description described later from the algorithm description shown in FIG. 4, the variable / register / state position correspondence table shown in FIG. 8, and the source line / state position shown in FIG. The method of creating the correspondence table and the clock level simulation model will be described below.

【0045】図4は、アルゴリズム記述3(図2参照)
を例示している。機能合成ツール12は、このアルゴリ
ズム記述及び回路を構成する資源の制約条件を入力とす
る。この場合の資源制約条件は、下記の通りとする。 レジスタ:5個 加算器 :1個 図4に示されるアルゴリズム記述中に、変数はa、b、
c、d、Xの5個、加算は3個が含まれる。資源制約条
件から同時に使うことができる加算器は1つであるた
め、演算処理は時分割され、図5に示されるようにな
る。図5のClock1ではaとbの加算を行い、その
結果をXに代入する。Clock2では、Clock1
と同じ加算器を用いて、cとdの加算を行い、その加算
結果を一時的に保持するために、変数t2を新たに作成
して代入する。更に、Clock3ではClock1,
2と同じ加算器を用いてX及びt2の加算を行い、その
加算結果をXに代入する。このような処理を演算器のス
ケジューリングと呼ぶ(ステップS2)。
FIG. 4 shows algorithm description 3 (see FIG. 2).
Is illustrated. The function synthesizing tool 12 receives the algorithm description and the constraint conditions of the resources forming the circuit. The resource constraints in this case are as follows. Register: 5 adders: 1 variable In the algorithm description shown in FIG. 4, variables are a, b,
Five of c, d, and X are included, and three are included in addition. Since only one adder can be used at the same time due to the resource constraint condition, the arithmetic processing is time-divided, as shown in FIG. In Clock 1 of FIG. 5, a and b are added, and the result is substituted for X. In Clock2, in Clock1
Using the same adder as above, c and d are added, and a variable t2 is newly created and substituted in order to temporarily hold the addition result. Furthermore, in Clock3, Clock1,
The same adder as 2 is used to add X and t2, and the addition result is substituted for X. Such processing is referred to as arithmetic unit scheduling (step S2).

【0046】演算器のスケジューリングにより図4のア
ルゴリズム記述で示される処理を加算器1個の制約下で
実現するためには、3クロックを要し、変数はa,b,
c,d,X,t2の6個を要することが分かる。レジス
タに関する資源制約によれば、同時に利用できるレジス
タは5個までとなっているため、レジスタについても共
有化を行う必要がある。レジスタ共有化では、まずCl
ock1の変数a,b及びClock2の変数X,c,
dにレジスタ制約で許されるReg1からReg5まで
を割り当てる。Clock3の変数t2については、R
eg1からReg5のうちのどれかを使い回す必要があ
る。Clock1で変数a,bに割り当てられていたR
eg1、Reg2は、Clock2のXが得られれば、
その内容を保持する必要がないため、Clock2以降
であれば使い回すことが可能である。ここでは、Clo
ck3の変数t2に割り当てるためReg2を用いるこ
とにする。最後の演算結果変数Xについても同様にCl
ock3以降で使い回しができるReg5を割り当て
る。このようにして与えられたレジスタ制約の元でレジ
スタの共有を行う(ステップS3)。図4のアルゴリズ
ム記述にステップS1、ステップS2、ステップS3の
処理を行った結果得られるモデルをプログラミング言語
で記述したものが下記に示されFSM/DataPat
hモデルとなる。
In order to implement the processing shown in the algorithm description of FIG. 4 under the constraint of one adder by the scheduling of the arithmetic unit, 3 clocks are required, and the variables a, b,
It can be seen that 6 pieces of c, d, X and t2 are required. According to the resource restriction on registers, the number of registers that can be used at the same time is limited to 5, so it is necessary to share the registers. In register sharing, first use Cl
variables a and b of ock1 and variables X and c of Clock2
Reg1 to Reg5 permitted by the register constraint are assigned to d. For the variable t2 of Clock3, R
It is necessary to reuse one of eg1 to Reg5. R assigned to variables a and b in Clock1
If the X of Clock2 is obtained for eg1 and Reg2,
Since it is not necessary to hold the contents, it is possible to reuse it after Clock2. Here, Clo
Reg2 is used to assign it to the variable t2 of ck3. Similarly for the last calculation result variable X, Cl
Reg5 that can be reused after ock3 is assigned. The registers are shared under the register constraint thus given (step S3). A model obtained as a result of performing the processing of step S1, step S2, and step S3 in the algorithm description of FIG. 4 is described below in a programming language.
It becomes the h model.

【0047】図8は、変数/レジスタ/状態位置対応表
22を示している。変数/レジスタ/状態位置対応表2
2は、図5に示される変数と、Clockの対応、及
び、図6に示されるレジスタとクロックの対応から作成
される。図5及び図6のClock1かClock3
は、図8の状態1〜3に対応する。図8の状態1即ち図
5、図6のClock1では、レジスタReg1は変数
aの値を持ち、レジスタReg2は変数bの値を持つ。
状態2では、レジスタReg3は変数X、レジスタRe
g4はc、レジスタReg5はdの値を持つ。状態3で
は、レジスタReg2はt2、レジスタReg3はX、
状態4では、レジスタReg5はXの値を持つ。更に、
初期状態として全てのレジスタに変数の割り当てがない
状態0を作成する。このように各状態(即ちCloc
k)における変数とレジスタの対応を示したのが変数/
レジスタ/状態位置対応表22である(ステップS
5)。
FIG. 8 shows a variable / register / state position correspondence table 22. Variable / register / state position correspondence table 2
2 is created from the correspondence between the variables shown in FIG. 5 and the Clock, and the correspondence between the registers and the clock shown in FIG. Clock1 or Clock3 in FIGS. 5 and 6
Corresponds to states 1 to 3 in FIG. In the state 1 of FIG. 8, that is, Clock 1 of FIGS. 5 and 6, the register Reg1 has the value of the variable a and the register Reg2 has the value of the variable b.
In the state 2, the register Reg3 has the variable X and the register Re
g4 has a value of c, and register Reg5 has a value of d. In the state 3, the register Reg2 is t2, the register Reg3 is X,
In state 4, register Reg5 has the value of X. Furthermore,
As the initial state, a state 0 in which variables are not assigned to all registers is created. Thus each state (ie Cloc
The correspondence between variables and registers in k) is shown as variables /
It is a register / state position correspondence table 22 (step S
5).

【0048】図9は、ソース行/状態位置対応表23を
示している。Clock1における変数aとbの加算
は、図4のアルゴリズム記述では3行目に当たる。Cl
ock2における変数cとdの加算は、図4のアルゴリ
ズム記述では4行目に当たる。Clock3における変
数Xとt2の加算も4行目に当たる。最終の演算結果X
が得られる状態は、図4のアルゴリズム記述の5行目に
当たる。図8と同様に図9の状態1〜3は、図5、図6
のClock1〜3に対応する。このようにして得られ
るアルゴリズム記述中の行位置と状態の対応関係を示し
たのが、ソース行/状態位置対応表23である。モデル
変換ツール13にモデルI/F情報24、FSM/Da
taPathモデル21、変数/レジスタ/状態位置対
応表22、ソース行/状態位置対応表23から、クロッ
クレベルシミュレーションモデル8が作成される(ステ
ップS7)。ここで、モデルI/F情報24は、アルゴ
リズム記述3で表現される回路モジュールと外部とのイ
ンターフェースを定義する情報を持つ。その内容として
はバスからアクセス可能なコマンドレジスタや状態レジ
スタ、データメモリの構成、更には、他のモジュールと
の間のデータ転送路のビット幅、同期方式などが含まれ
る。
FIG. 9 shows the source row / state position correspondence table 23. The addition of the variables a and b in Clock1 corresponds to the third line in the algorithm description of FIG. Cl
The addition of the variables c and d in ock2 corresponds to the fourth line in the algorithm description of FIG. The addition of the variable X and t2 in Clock3 also corresponds to the fourth line. Final calculation result X
The state where is obtained corresponds to the fifth line of the algorithm description in FIG. As in FIG. 8, the states 1 to 3 in FIG.
Corresponding to Clocks 1 to 3. The source line / state position correspondence table 23 shows the correspondence between the line positions and the states in the algorithm description thus obtained. The model conversion tool 13 includes model I / F information 24 and FSM / Da.
The clock level simulation model 8 is created from the taPath model 21, the variable / register / state position correspondence table 22, and the source line / state position correspondence table 23 (step S7). Here, the model I / F information 24 has information that defines an interface between the circuit module represented by the algorithm description 3 and the outside. The contents include a command register and a status register accessible from the bus, a configuration of a data memory, a bit width of a data transfer path with another module, a synchronization method, and the like.

【0049】公知慣用のRTレベルシステム16のRT
L−HDL17は、図7に示されるように、機能合成ツ
ール12により自動生成される。公知ツールによりこの
ように自動生成されるハードウエア構成は、5つのレジ
スタ1〜5と、7つのマルチプレクサ1〜7と、5つの
スイッチSW1〜5とから形成される。クロックレベル
記述モデルよりも抽象度が低いこのようなハードウエア
モデルでは、レジスタの値を保持するためにレジスタの
出力をデータ入力にフィードバックさせるフィードバッ
ク機能とマルチプレクサとが必要であり、更に、全ての
レジスタに常にクロック信号を供給するためのクロック
制御と、各マルチプレクサを制御する制御信号44とが
必要であり、更に、演算器の共有化のために入力となる
複数のレジスタから1つのレジスタを選択するためにも
マルチプレクサが必要である。ハードウエアモデルは、
後述されるように、その他の各種多様なハード部品とそ
れを制御する制御信号線が必要である。
RT of known and conventional RT level system 16
The L-HDL 17 is automatically generated by the function synthesizing tool 12, as shown in FIG. 7. The hardware configuration thus automatically generated by the known tool is composed of five registers 1-5, seven multiplexers 1-7, and five switches SW1-5. Such a hardware model, which has a lower abstraction level than the clock level description model, requires a feedback function and a multiplexer for feeding back the output of the register to the data input in order to hold the value of the register. Requires a clock control for always supplying a clock signal to each of them, and a control signal 44 for controlling each multiplexer, and further selects one register from a plurality of registers to be inputs for sharing the arithmetic unit. For this reason, a multiplexer is needed. The hardware model is
As will be described later, various other various hardware components and control signal lines for controlling them are required.

【0050】クロックレベルシミュレーションモデル8
は、クロック単位で動作する言語として論理レベルの記
述言語であるクロックレベル記述が下記ようになされ
る。 int DataPath (int a,b,c,d, rest) { static int FSM position; static int Reg1, Reg2, Reg3, Reg4, Reg5; if ( rest = = 1 ){ FSM position = 0; return (0); } switch (FSM position) { case 0: Reg1 = a; Reg2 = b; Reg3 = Reg1 + Reg2; FSM position = 1; break; case 1: Reg4 = c; Reg5 = d; Reg2 = Reg4 + Reg5; FSM position = 2; break; case 2: Reg5 = a; Reg3 + Reg2; FSM position = 3; break; case3: X = Reg5; FSM position = 0; break; Case1はクロック1のステップに一致し、Case
2はクロック2のステップに一致し、Case3はクロ
ック3のステップに一致している。このようにクロック
単位で、レジスタ1〜5が分割されて使用されるクロッ
クレベル記述が生成される。このクロックレベル記述
は、図4に示されるアルゴリズム記述による表現よりも
表現がより詳細になっているが、後記されるRTレベル
記述から見れば、簡素化されている。そのアルゴリズム
の内容によるが、アルゴリズム記述のシミュレーション
時間はクロックレベル記述のシミュレーション時間に比
べて概ね500分の1であり、クロックレベル記述の動
作時間はRTレベル記述の動作時間に比べて概ね500
分の1であることが本発明者により確認されている。
Clock level simulation model 8
The following is a clock level description, which is a logic level description language as a language that operates in clock units. int DataPath (int a, b, c, d, rest) {static int FSM position; static int Reg1, Reg2, Reg3, Reg4, Reg5; if (rest = = 1) {FSM position = 0; return (0); } switch (FSM position) {case 0: Reg1 = a; Reg2 = b; Reg3 = Reg1 + Reg2; FSM position = 1; break; case 1: Reg4 = c; Reg5 = d; Reg2 = Reg4 + Reg5; FSM position = 2; break; case 2: Reg5 = a; Reg3 + Reg2; FSM position = 3; break; case3: X = Reg5; FSM position = 0; break; Case1 matches the step of clock 1 and Case
2 corresponds to the step of clock 2 and Case 3 corresponds to the step of clock 3. In this way, the clock level description to be used is generated by dividing the registers 1 to 5 for each clock. This clock level description has a more detailed expression than the expression by the algorithm description shown in FIG. 4, but is simplified in view of the RT level description described later. Depending on the content of the algorithm, the simulation time of the algorithm description is about 1/500 of the simulation time of the clock level description, and the operation time of the clock level description is about 500 compared to the operation time of the RT level description.
It has been confirmed by the present inventor that it is one-tenth.

【0051】図7に対応するVHDL記述が、参考のた
めに下記に記載される。 RTハードウエア記述1:
The VHDL description corresponding to FIG. 7 is described below for reference. RT hardware description 1:

【0052】[0052]

【数1】 RTハードウエア記述2:[Equation 1] RT hardware description 2:

【0053】[0053]

【数2】 RTハードウエア記述3:[Equation 2] RT hardware description 3:

【0054】[0054]

【数3】 RTハードウエア記述4:[Equation 3] RT hardware description 4:

【0055】[0055]

【数4】 RTハードウエア記述5:[Equation 4] RT hardware description 5:

【0056】[0056]

【数5】 RTハードウエア記述6:[Equation 5] RT hardware description 6:

【0057】[0057]

【数6】 RTハードウエア記述7:[Equation 6] RT hardware description 7:

【0058】[0058]

【数7】 RTハードウエア記述8:[Equation 7] RT hardware description 8:

【0059】[0059]

【数8】 RTハードウエア記述9:[Equation 8] RT hardware description 9:

【0060】[0060]

【数9】 RTハードウエア記述10:[Equation 9] RT hardware description 10:

【0061】[0061]

【数10】 RTハードウエア記述11:[Equation 10] RT hardware description 11:

【0062】[0062]

【数11】 RTハードウエア記述12:[Equation 11] RT hardware description 12:

【0063】[0063]

【数12】 RTハードウエア記述13:[Equation 12] RT hardware description 13:

【0064】[0064]

【数13】 RTハードウエア記述14:[Equation 13] RT hardware description 14:

【0065】[0065]

【数14】 このような記述には、コントローラに関する記述は含ま
れていない。RTハードウエア記述14の最初の6行は
FFレジスタに関する記述部分であり、その次の6行は
マルチプレクサに関する記述部分であり、更にその次の
記述はadderによる加算に関する記述部分である。
両レベルの記述の両分量は、概ね、両レベルのシミュレ
ーションにかかる時間の長さに対応している。
[Equation 14] Such a description does not include a description regarding the controller. The first 6 lines of the RT hardware description 14 are the description part regarding the FF register, the next 6 lines are the description part regarding the multiplexer, and the next description is the description part regarding the addition by adder.
The bisections of both levels of description generally correspond to the length of time it takes for both levels of simulation.

【0066】図11は、アルゴリズムレベル記述ソース
実行行表示ウインドウ43にアルゴリズム記述ソースを
表示する方法を示している。状態遷移が起こる毎に(ス
テップS11)、GUIコントロール部41は、現在の
状態位置をFSM/DataPath部33に問い合わ
せる(ステップS12)。例えば、現在の状態位置が状
態2であった場合、ソース行/状態位置対応表23か
ら、対応するソースファイルがfile1.cで行数が
4行目であることが分かる(ステップS13)。このよ
うにして得られたソースファイルをGUI上で表示し、
更に現在の状態位置に対応する行をハイライト表示する
ことにより、ユーザーはアルゴリズムレベル記述上での
現在の実行位置を示すことができる(ステップS1
4)。
FIG. 11 shows a method of displaying the algorithm description source in the algorithm level description source execution line display window 43. Each time a state transition occurs (step S11), the GUI control unit 41 inquires of the FSM / DataPath unit 33 about the current state position (step S12). For example, when the current state position is the state 2, from the source line / state position correspondence table 23, the corresponding source file is file1. It can be seen that the number of lines is the fourth line in c (step S13). Display the source file thus obtained on the GUI,
Further, the user can indicate the current execution position on the algorithm level description by highlighting the line corresponding to the current state position (step S1).
4).

【0067】図12は、アルゴリズム記述中の変数をア
ルゴリズムレベル記述変数値表示ウインドウ42に表示
する方法を示している。状態遷移が起こる毎に(ステッ
プS21)、GUIコントロール部41は、現在の状態
位置をFSM/DataPath部33に問い合わせる
(ステップS22)。例えば、現在の状態位置が状態3
であった場合、変数/レジスタ/状態位置対応表22か
ら、状態3で使われる変数はt2とXであり、対応する
レジスタがそれぞれReg2とReg3であることが分
かる(ステップS23)。GUIコントローラ部41
は、Reg2とReg3の値をFSM/DataPat
h部33から得て、開けられている。アルゴリズム記述
変数表示ウインドウ42にはそれぞれt2及びXの値と
して表示する(ステップS24)。これにより、ユーザ
ーはレジスタ共有が行われていても、GUI上ではクロ
ックレベルシミュレーションモデル中のレジスタ値の変
化をアルゴリズムレベル記述上の変数の値の変化として
観測することが可能になる。
FIG. 12 shows a method of displaying the variables in the algorithm description in the algorithm level description variable value display window 42. Each time a state transition occurs (step S21), the GUI control unit 41 inquires the FSM / DataPath unit 33 about the current state position (step S22). For example, the current state position is state 3
If it is, it can be seen from the variable / register / state position correspondence table 22 that the variables used in state 3 are t2 and X, and the corresponding registers are Reg2 and Reg3, respectively (step S23). GUI controller section 41
Sets the values of Reg2 and Reg3 to FSM / DataPat
Obtained from the h portion 33 and opened. The values of t2 and X are displayed in the algorithm description variable display window 42 (step S24). As a result, the user can observe the change in the register value in the clock level simulation model as the change in the variable value on the algorithm level description on the GUI even if the register is shared.

【0068】クロックレベルシミュレーションモデル
は、図7の構造を持つRTL−HDLモデルに比べて、
以下のシミュレーションが省略される。 (1)RTL−HDLモデルは、レジスタ値を保持して
それを出力するためのフィードバックとマルチプレクサ
が必要であるが、プログラミング言語で実現されるクロ
ックレベルシミュレーションモデルでは変数値の保持は
代入が起こらない限りにおいて、フィードバックとマル
チプレクサが不要である。 (2)RTL−HDLモデルは、全てのレジスタに常に
クロック信号が供給されるためレジスタ値は新しいデー
タ入力値又はそのレジスタが保持していた値に常に更新
されるようになるが、クロックレベルシミュレーション
モデルでは新しいデータ入力があった変数のみが更新さ
れるため、不要な更新処理がなくシミュレーションが高
速化され得る。 (3)RTL−HDLモデルは、演算器の共有が行われ
るため、入力となる複数のレジスタから1つのレジスタ
を選択するマルチプレクサが必要であるが、クロックレ
ベルシミュレーションモデルでは演算器に制限がなくそ
のような共有化が不要であり、演算器の入力を選択する
マルチプレクサが不要である。 (4)クロックレベルシミュレーションモデルでは演算
器共有化のためのマルチプレクサが不要であるので、マ
ルチプレクサに必要であった制御入力を作成する回路が
不要である。 (5)RTL−HDLモデルは、全レジスタに非同期リ
セット信号がつくが、クロックレベルシミュレーション
モデルではクロック周期単位の動作のみを扱うので、非
同期的な動作を行う必要がない。 (6)RTL−HDLモデルは、レジスタ、マルチプレ
クサ、演算器等のサブモジュールを利用した構造を持
ち、そのサブモジュールは端子を持ち、その内部には信
号線、制御機構等も持っているが、クロックレベルシミ
ュレーションモデルでは、レジスタはプログラミング言
語の変数に、マルチプレクサは条件文に、演算器は演算
子で表現されるため、シミュレーション処理は大幅に簡
略化される。 (7)RTL−HDLモデルは、実際のハードウエア通
りに束線のビット位置の昇降順、符号のありなし、整数
型/ビットベクタ型等の信号型の区別、又は、これらの
間の変換を厳密に表現する必要があるが、このような区
別は、クロックレベルシミュレーションモデルでは厳密
に行われない。 (8)RTL−HDLモデル内にある各サブモジュール
間の動作の並列性は厳密に表現されるが、クロックレベ
ルシミュレーションモデルでは各サブモジュールの厳密
な動作タイミングの差に基づいた検証は行われないた
め、並列性を厳密に表現する必要がない。 (9)RTL−HDLモデルは、クロックの変化タイミ
ング以外にも例えばリセット信号が変化した時点の動作
を厳密に表現するが、クロックレベルシミュレーション
モデルではクロック単位の動作のみを扱うので、非同期
的な動作に対する処理を簡略化することができる。
Compared with the RTL-HDL model having the structure shown in FIG. 7, the clock level simulation model is
The following simulation is omitted. (1) The RTL-HDL model requires a feedback and a multiplexer for holding a register value and outputting it, but in the clock level simulation model realized by a programming language, substitution does not occur for holding a variable value. To the extent no feedback and multiplexers are needed. (2) In the RTL-HDL model, since the clock signal is always supplied to all the registers, the register value is always updated to the new data input value or the value held by the register. Since only the variables that have new data input are updated in the model, the simulation can be sped up without unnecessary update processing. (3) In the RTL-HDL model, since the arithmetic unit is shared, a multiplexer for selecting one register from a plurality of input registers is required. However, the clock level simulation model has no limitation on the arithmetic unit. Such sharing is unnecessary, and a multiplexer for selecting the input of the arithmetic unit is unnecessary. (4) Since the clock level simulation model does not require a multiplexer for sharing a computing unit, a circuit for creating a control input, which is required for the multiplexer, is not required. (5) In the RTL-HDL model, all registers are provided with an asynchronous reset signal, but the clock level simulation model handles only the operation in units of clock cycles, so that it is not necessary to perform the asynchronous operation. (6) The RTL-HDL model has a structure that uses submodules such as registers, multiplexers, and arithmetic units, and the submodules have terminals, and also have signal lines, control mechanisms, etc. inside. In the clock level simulation model, the register is expressed as a variable in the programming language, the multiplexer is expressed as a conditional statement, and the arithmetic unit is expressed as an operator, so that the simulation process is greatly simplified. (7) The RTL-HDL model uses the ascending / descending order of the bit positions of the bundle line according to the actual hardware, the presence or absence of a sign, the distinction of signal types such as integer type / bit vector type, or conversion between these. It needs to be expressed exactly, but such a distinction is not made strictly in the clock level simulation model. (8) Although the parallelism of the operation between the sub-modules in the RTL-HDL model is rigorously expressed, the clock level simulation model does not perform the verification based on the strict operation timing difference of each sub-module. Therefore, it is not necessary to express parallelism exactly. (9) The RTL-HDL model strictly represents, for example, the operation at the time when the reset signal changes in addition to the clock change timing. However, since the clock level simulation model handles only the operation in clock units, the asynchronous operation is performed. Can be simplified.

【0069】[0069]

【発明の効果】本発明によるシミュレーションモデル、
その記述とその生成の方法は、アルゴリズムレベルより
抽象度が低くRTレベルよりも抽象度が高いレベルの言
語の発見により、中間レベルのシミュレーションが可能
になる。アルゴリズムレベルより抽象度が低くRTレベ
ルよりも抽象度が高い記述に基づいて、アルゴリズム記
述のシミュレーションよりもより精細に、且つ、RTレ
ベル記述のシミュレーションよりもより高速にシミュレ
ートすることができる。一般的には、より物理的であり
より詳細に記述されるハード部品のシミュレーション言
語を論理化してハード部品を変数とするプログラミング
言語を作成することが可能であり、公知の複数レベルの
記述の中間言語を作成することができる。
The simulation model according to the present invention,
The description and the generation method thereof enable intermediate level simulation by discovering a language having a level of abstraction lower than that of the algorithm level and higher than that of the RT level. Based on the description having a lower abstraction level than the algorithm level and a higher abstraction level than the RT level, it is possible to perform simulation more finely than the simulation of the algorithm description and faster than the simulation of the RT level description. In general, it is possible to create a programming language that uses hardware components as variables by logicalizing a simulation language for hard components that is more physical and is described in more detail. Can create languages.

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

【図1】図1は、本発明による論理シミュレーションシ
ステムの実施の形態を示すシステム図である。
FIG. 1 is a system diagram showing an embodiment of a logic simulation system according to the present invention.

【図2】図2は、本発明によるシミュレーションモデル
生成方法の実施の形態を示すブロックフロー図である。
FIG. 2 is a block flow diagram showing an embodiment of a simulation model generation method according to the present invention.

【図3】図3は、2レベル間の移行のための対応を示す
論理ブロック図である。
FIG. 3 is a logical block diagram showing the correspondence for a transition between two levels.

【図4】図4は、アルゴリズム記述の実施例を示す論理
式である。
FIG. 4 is a logical expression showing an example of an algorithm description.

【図5】図5は、クロックレベルのスケジューリングを
しめす動作時間表である。
FIG. 5 is an operation time table showing clock level scheduling.

【図6】図6は、クロックレベルのレジスタの動作を示
す動作時間表である。
FIG. 6 is an operation time table showing an operation of a clock level register.

【図7】図7は、公知のハードウエア記述を示す回路図
である。
FIG. 7 is a circuit diagram showing a known hardware description.

【図8】図8は、状態遷移位置数とレジスタ変数値の対
応を示すテーブルである。
FIG. 8 is a table showing the correspondence between the number of state transition positions and register variable values.

【図9】図9は、状態遷移位置数とソース行との対応を
示すテーブルである。
FIG. 9 is a table showing the correspondence between the number of state transition positions and source lines.

【図10】図10は、本発明による論理シミュレーショ
ン方法の動作の実施の形態を示すフローチャートであ
る。
FIG. 10 is a flowchart showing an embodiment of the operation of the logic simulation method according to the present invention.

【図11】図11は、本発明による論理シミュレーショ
ン方法の他の動作を示すフローチャートである。
FIG. 11 is a flowchart showing another operation of the logic simulation method according to the present invention.

【図12】図12は、本発明による論理シミュレーショ
ン方法の更に他の動作を示すフローチャートである。
FIG. 12 is a flowchart showing still another operation of the logic simulation method according to the present invention.

【図13】図13は、公知の論理シミュレーション方法
を示すシステムフロー図である。
FIG. 13 is a system flow diagram showing a known logic simulation method.

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

3…アルゴリズム記述 8…クロックレベル記述(クロックレベルシミュレーシ
ョンモデル) 22,23…対応表 22…変数/レジスタ/状態位置対応表 23…ソース行/状態位置対応表 17…RTレベル記述 R…変数値 Reg1〜5…レジスタ
3 ... Algorithm description 8 ... Clock level description (clock level simulation model) 22, 23 ... Correspondence table 22 ... Variable / register / state position correspondence table 23 ... Source line / state position correspondence table 17 ... RT level description R ... Variable value Reg1 ~ 5 ... Register

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】機能合成部とクロックレベル検証部とを具
備するシミュレーション装置において、 資源の制約の下で、前記機能合成部が、回路モジュール
を表現するアルゴリズム記述から状態遷移制御モデルと
対応テーブルを生成するステップと、 前記クロックレベル検証部が、前記状態遷移制御モデル
と前記対応テーブルからクロックレベル記述のクロック
レベルアルゴリズムモデルを生成するステップと具備
し、 前記クロックレベル記述は、単位クロックでの前記資源
の各々の動作を記述し、前記クロックレベルアルゴリズ
ムモデルは、前記回路モジュールの前記クロックレベル
記述であり、前記状態遷移制御モデルは前記資源の各々
の状態遷移を制御し、前記対応テーブルは、前記資源、
及び前記単位クロック毎の前記アルゴリズム記述内の変
数と前記資源の対応関係を表すシミュレーションモデル
の生成方法。
1. In a simulation device comprising a function synthesizing section and a clock level verifying section, the function synthesizing section creates a state transition control model and a correspondence table from an algorithm description expressing a circuit module under resource constraints. And a step of generating a clock level algorithm model of a clock level description from the state transition control model and the correspondence table, the clock level verification unit comprising: The clock level algorithm model is the clock level description of the circuit module, the state transition control model controls the state transition of each of the resources, and the correspondence table is the resource ,
And a method of generating a simulation model representing a correspondence relationship between a variable in the algorithm description and the resource for each unit clock.
【請求項2】前記クロックレベルアルゴリズムモデル
は、前記単位クロック毎の前記資源の動作を制御するデ
ータパス記述部とを有する請求項1に記載のシミュレー
ションモデルの生成方法。
2. The simulation model generation method according to claim 1, wherein the clock level algorithm model includes a data path description unit that controls the operation of the resource for each unit clock.
【請求項3】機能合成部とクロックレベル検証部とを具
備するシミュレーション装置において、 資源の制約の下で、前記機能合成部が、回路モジュール
を表現するアルゴリズム記述から状態遷移制御モデルと
対応テーブルを生成するステップと、 前記クロックレベル検証部が、前記状態遷移制御モデ
ル、前記対応テーブル、及び外部とのインターフェイス
情報からクロックレベル記述のクロックレベルアルゴリ
ズムモデルを生成するステップと具備し、 前記クロックレベル記述は、単位クロックでの前記資源
の各々の動作を記述し、前記クロックレベルアルゴリズ
ムモデルは、前記回路モジュールの前記クロックレベル
記述であり、前記状態遷移制御モデルは前記資源の各々
の状態遷移を制御し、前記対応テーブルは、前記資源、
及び前記単位クロック毎の前記アルゴリズム記述内の変
数と前記資源の対応関係を表すシミュレーションモデル
の生成方法。
3. A simulation apparatus comprising a function synthesizing section and a clock level verifying section, wherein the function synthesizing section creates a state transition control model and a correspondence table from an algorithm description representing a circuit module under resource constraints. And a step of causing the clock level verification unit to generate a clock level algorithm model of a clock level description from the state transition control model, the correspondence table, and interface information with the outside. Describing the operation of each of the resources at a unit clock, the clock level algorithm model being the clock level description of the circuit module, the state transition control model controlling state transitions of each of the resources, The correspondence table includes the resources,
And a method of generating a simulation model representing a correspondence relationship between a variable in the algorithm description and the resource for each unit clock.
【請求項4】前記クロックレベルアルゴリズムモデル
は、データを入出力するI/O部と、前記単位クロック
毎の前記資源の動作を制御するデータパス記述部とを有
する請求項3に記載のシミュレーションモデルの生成方
法。
4. The simulation model according to claim 3, wherein the clock level algorithm model has an I / O unit for inputting and outputting data and a data path description unit for controlling the operation of the resource for each unit clock. How to generate.
【請求項5】前記クロックレベル記述では、前記資源の
うちの1つが前記複数の変数により共有される請求項1
乃至4のいずれかに記載のシミュレーションモデルの生
成方法。
5. In the clock level description, one of the resources is shared by the plurality of variables.
5. The method for generating a simulation model according to any one of 4 to 4.
【請求項6】請求項1乃至5のいずれかに記載のシミュ
レーションモデルの生成方法を実現するための、計算機
により実行可能なプログラムが記録された記録媒体。
6. A recording medium in which a computer-executable program for realizing the simulation model generation method according to claim 1 is recorded.
【請求項7】前記クロックレベル検証部が、前記単位ク
ロックに基づいて、請求項1乃至5のいずれかに記載さ
れる前記クロックレベルアルゴリズムモデルを含むシミ
ュレーションモデルをシミュレーションするステップを
含むシミュレーション方法。
7. A simulation method including a step in which the clock level verification unit simulates a simulation model including the clock level algorithm model according to any one of claims 1 to 5 based on the unit clock.
【請求項8】前記シミュレーションモデルは、CPUの
動作に対応するクロックレベルCPUモデルを含む請求
項7に記載のシミュレーション方法。
8. The simulation method according to claim 7, wherein the simulation model includes a clock level CPU model corresponding to the operation of the CPU.
【請求項9】前記クロックレベル検証部が、前記シミュ
レーションの結果に基づいて、前記資源の前記状態と前
記アルゴリズム記述とを対応づけ、前記アルゴリズム記
述の記述行毎の前記資源の使用状況を表示するステップ
を更に具備する請求項7又は8に記載のシミュレーショ
ン方法。
9. The clock level verification unit associates the state of the resource with the algorithm description based on the result of the simulation, and displays the usage status of the resource for each description line of the algorithm description. The simulation method according to claim 7, further comprising a step.
【請求項10】前記クロックレベル検証部が、前記シミ
ュレーションモデルに含まれる前記クロックレベル記述
と、前記資源の使用状況を示す資源使用対応表とを用い
て、前記アルゴリズム記述と当該シミュレーションによ
り得られる変数値の対応を表示するステップを更に具備
する請求項9に記載のシミュレーション方法。
10. The algorithm level description and variables obtained by the simulation, wherein the clock level verification unit uses the clock level description included in the simulation model and a resource usage correspondence table indicating a usage status of the resource. The simulation method according to claim 9, further comprising the step of displaying the correspondence of the values.
【請求項11】前記資源の使用状況を表示するステップ
は、前記クロックレベル検証部が、前記クロックレベル
記述の前記単位クロックの状態遷移が起これば前記状態
遷移が起こった前記アルゴリズム記述の前記記述行と前
記資源の使用状況を表示するステップを具備し、 前記変数値の対応を表示するステップは、前記クロック
レベル検証部が、前記クロックレベル記述の前記単位ク
ロックの状態遷移が起これば前記状態遷移が起こった前
記レジスタ記述の前記記述行と前記変数値を表示するス
テップを具備する請求項9又は10に記載のシミュレー
ション方法。
11. The step of displaying the usage status of the resource, the clock level verification unit, if the state transition of the unit clock of the clock level description occurs, the description of the algorithm description in which the state transition has occurred. A step of displaying a row and a usage status of the resource, wherein the step of displaying the correspondence between the variable values includes the state if the clock level verification unit causes a state transition of the unit clock of the clock level description. 11. The simulation method according to claim 9, further comprising the step of displaying the description line of the register description in which a transition has occurred and the variable value.
【請求項12】前記変数値は、前記資源のうちのレジス
タ又はメモリの値である請求項11に記載のシミュレー
ション方法。
12. The simulation method according to claim 11, wherein the variable value is a value of a register or a memory of the resources.
【請求項13】請求項7乃至12のいずれか一項に記載
のシミュレーション方法を実現するための、計算機によ
り実行可能なプログラムが記録された記録媒体。
13. A recording medium in which a computer-executable program for realizing the simulation method according to claim 7 is recorded.
【請求項14】資源の制約の下で、回路モジュールを表
現するアルゴリズム記述から状態遷移制御モデルと対応
テーブルを生成する機能合成部と、前記状態遷移制御モ
デルは前記資源の各々の状態遷移を制御し、前記対応テ
ーブルは、前記資源、及び前記単位クロック毎の前記ア
ルゴリズム記述内の変数と前記資源の対応関係を表し、 前記状態遷移制御モデル、前記対応テーブル、及び外部
とのインターフェイス情報からクロックレベル記述のク
ロックレベルアルゴリズムモデルを生成するクロックレ
ベル検証部とを具備し、前記クロックレベル記述は、前
記単位クロックでの前記資源の各々の動作を記述し、前
記クロックレベルアルゴリズムモデルは、前記回路モジ
ュールの前記クロックレベル記述であるシミュレーショ
ン装置。
14. A function synthesizing section for generating a state transition control model and a correspondence table from an algorithm description expressing a circuit module under the constraint of resources, and the state transition control model controls the state transition of each of the resources. However, the correspondence table represents a correspondence relationship between the resource and a variable in the algorithm description for each unit clock and the resource, and a clock level based on the state transition control model, the correspondence table, and interface information with the outside. A clock level verification unit for generating a clock level algorithm model of the description, the clock level description describes the operation of each of the resources at the unit clock, and the clock level algorithm model is for the circuit module. A simulation device that is the clock level description.
【請求項15】表示部を更に具備し、 前記クロックレベル検証部は、前記シミュレーションの
結果に基づいて、前記資源の前記状態と前記アルゴリズ
ム記述とを対応づけ、前記アルゴリズム記述の記述行毎
の前記資源の使用状況を前記表示部に表示し、前記クロ
ックレベルシミュレーションモデルに含まれる前記クロ
ックレベル記述と前記資源使用対応表とを用いて、前記
アルゴリズム記述の前記記述行と当該シミュレーション
により得られる変数値の対応を前記表示部に表示する請
求項14に記載のシミュレーション装置。
15. A display unit is further provided, wherein the clock level verification unit associates the state of the resource with the algorithm description based on the result of the simulation, and the clock level verification unit associates the state of the resource with the algorithm description. The resource usage status is displayed on the display unit, and the description line of the algorithm description and the variable value obtained by the simulation are calculated by using the clock level description and the resource use correspondence table included in the clock level simulation model. The simulation device according to claim 14, wherein the correspondence of is displayed on the display unit.
【請求項16】前記クロックレベル検証部は、前記クロ
ックレベル記述の前記クロック単位の状態遷移が起これ
ば前記状態遷移が起こった前記アルゴリズム記述の前記
記述行と前記資源の使用状況を前記表示部に表示し、前
記クロックレベル記述の前記クロック単位の前記状態遷
移が起これば前記状態遷移が起こった前記レジスタ記述
の前記記述行と前記変数値を表示する請求項15に記載
のシミュレーション装置。
16. The clock level verification unit displays the description line of the algorithm description in which the state transition has occurred and the usage status of the resource when the state transition of the clock level description in the clock unit occurs. 16. The simulation apparatus according to claim 15, wherein the description line of the register description in which the state transition has occurred and the variable value are displayed when the state transition of the clock level description in the clock unit occurs.
【請求項17】回路の論理動作を表すハードウエアモデ
ルを含む、前記回路のアルゴリズムレベルシミュレーシ
ョンモデルをシミュレーションするアルゴリズムレベル
検証部と、 資源の制約の下、前記ハードウエアモデルから生成され
たクロックレベルアルゴリズムモデルを含むクロックレ
ベルシミュレーションモデルをシミュレーションするク
ロックレベル検証部と、前記クロックレベルアルゴリズ
ムモデルは、単位クロックでの前記資源の各々の動作を
表し、 前記資源の制約の下、前記ハードウエアモデルから生成
された前記回路のRTレベルアルゴリズムモデルを含む
RTレベルシミュレーションモデルをシミュレーション
するRTレベル検証部とを具備するシミュレーション装
置。
17. An algorithm level verification unit for simulating an algorithm level simulation model of the circuit, including a hardware model representing a logical operation of the circuit, and a clock level algorithm generated from the hardware model under resource constraints. A clock level verification unit for simulating a clock level simulation model including a model and the clock level algorithm model represent each operation of the resource at a unit clock, and are generated from the hardware model under the constraint of the resource. And a RT level verification unit for simulating an RT level simulation model including an RT level algorithm model of the circuit.
【請求項18】前記アルゴリズムレベルシミュレーショ
ンモデルは、前記回路内のCPUの動作を表すCPUモ
デルを含み、 前記クロックレベルシミュレーションモデルは、単位ク
ロック毎の前記CPUの動作を表すクロックレベルCP
Uモデルを含み、 前記RTレベルシミュレーションモデルは、RTレベル
で前記CPUの動作を表すRTレベルCPUモデルを含
む請求項17に記載のシミュレーション装置。
18. The algorithm level simulation model includes a CPU model representing an operation of a CPU in the circuit, and the clock level simulation model represents a clock level CP representing an operation of the CPU for each unit clock.
The simulation apparatus according to claim 17, further comprising a U model, wherein the RT level simulation model includes an RT level CPU model that represents an operation of the CPU at an RT level.
【請求項19】前記クロックレベルシミュレーションモ
デルのシミュレーション時間は、前記RTレベルシミュ
レーションモデルのシミュレーション時間より短い請求
項17に記載のシミュレーション装置。
19. The simulation apparatus according to claim 17, wherein a simulation time of the clock level simulation model is shorter than a simulation time of the RT level simulation model.
【請求項20】更に、表示部を具備し、 前記クロックレベル検証部は、 前記クロックレベルアルゴリズムモデルと前記クロック
レベルCPUモデルのシミュレーションの結果に基づい
て、前記資源の前記状態と前記アルゴリズム記述とを対
応づけ、前記アルゴリズム記述の記述行毎の前記資源の
使用状況を前記表示部に表示し、資源の使用状況を表す
資源使用対応表とを用いて、前記アルゴリズム記述の前
記記述行と当該シミュレーションにより得られる変数値
の対応を前記表示部に表示する請求項18または19に
記載のシミュレーション装置。
20. A display unit is further provided, wherein the clock level verification unit displays the state of the resource and the algorithm description based on a simulation result of the clock level algorithm model and the clock level CPU model. By associating the resource usage status for each description line of the algorithm description on the display unit and using the resource usage correspondence table indicating the resource usage status, the description line of the algorithm description and the simulation The simulation device according to claim 18 or 19, wherein correspondence of the obtained variable values is displayed on the display unit.
JP2002182246A 2002-06-21 2002-06-21 Simulation model generation method, simulation method, and recording medium therefor Expired - Fee Related JP3779651B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002182246A JP3779651B2 (en) 2002-06-21 2002-06-21 Simulation model generation method, simulation method, and recording medium therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002182246A JP3779651B2 (en) 2002-06-21 2002-06-21 Simulation model generation method, simulation method, and recording medium therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP29027699A Division JP2001109788A (en) 1999-10-12 1999-10-12 Simulation model, its generating method, simulation method and its recording medium

Publications (2)

Publication Number Publication Date
JP2003067438A true JP2003067438A (en) 2003-03-07
JP3779651B2 JP3779651B2 (en) 2006-05-31

Family

ID=19195346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002182246A Expired - Fee Related JP3779651B2 (en) 2002-06-21 2002-06-21 Simulation model generation method, simulation method, and recording medium therefor

Country Status (1)

Country Link
JP (1) JP3779651B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310801A (en) * 2006-05-22 2007-11-29 Nec Electronics Corp Verification coverage extraction circuit, method, semiconductor device and emulation system
CN100461187C (en) * 2004-02-26 2009-02-11 松下电器产业株式会社 Simulation apparatus and method of designing semiconductor integrated circuit
US7523030B2 (en) 2004-09-30 2009-04-21 Nec Electronics Corporation Simulation system and computer program
JP2010146359A (en) * 2008-12-19 2010-07-01 Nec Corp System, method and program for behavioral synthesis
WO2011007640A1 (en) * 2009-07-15 2011-01-20 日本電気株式会社 Action synthesis device, action synthesis method, and recording medium
JP2011108164A (en) * 2009-11-20 2011-06-02 Nec Corp System, method, and program for synthesizing behavior

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461187C (en) * 2004-02-26 2009-02-11 松下电器产业株式会社 Simulation apparatus and method of designing semiconductor integrated circuit
US7523030B2 (en) 2004-09-30 2009-04-21 Nec Electronics Corporation Simulation system and computer program
JP2007310801A (en) * 2006-05-22 2007-11-29 Nec Electronics Corp Verification coverage extraction circuit, method, semiconductor device and emulation system
JP2010146359A (en) * 2008-12-19 2010-07-01 Nec Corp System, method and program for behavioral synthesis
WO2011007640A1 (en) * 2009-07-15 2011-01-20 日本電気株式会社 Action synthesis device, action synthesis method, and recording medium
JP5110206B2 (en) * 2009-07-15 2012-12-26 日本電気株式会社 Behavioral synthesis apparatus, behavioral synthesis method, and program
JP2011108164A (en) * 2009-11-20 2011-06-02 Nec Corp System, method, and program for synthesizing behavior

Also Published As

Publication number Publication date
JP3779651B2 (en) 2006-05-31

Similar Documents

Publication Publication Date Title
JP2001109788A (en) Simulation model, its generating method, simulation method and its recording medium
Coelho The VHDL handbook
US6871331B1 (en) Combined waveform and data entry apparatus and method for facilitating fast behavioral verification of digital hardware designs
KR100992025B1 (en) A method for multi-cycle clock gating
US8527972B2 (en) Method for forming a parallel processing system
JPH06208602A (en) Verification method of testable design rule
US20120151424A1 (en) Conversion of circuit description to an abstract model of the circuit
KR20130081354A (en) Communication method in distributed parallel simulation
JP2000132416A (en) Semiconductor integrated circuit design verifying device
JP3896177B2 (en) Emulation system
US20230120227A1 (en) Method and apparatus having a scalable architecture for neural networks
JP3173729B2 (en) Logic simulation method and system
Bergamaschi et al. High-level synthesis in an industrial environment
Zeidman Verilog designer's library
US7228513B2 (en) Circuit operation verification device and method
US11023635B1 (en) Sequence of frames generated by emulation and waveform reconstruction using the sequence of frames
JP2003067438A (en) Method for generating simulation model, method of simulation and its recording medium
US6810508B1 (en) Method for automatically-remapping an HDL netlist to provide compatibility with pre-synthesis behavioral test benches
JPH05101141A (en) High-level composition device
US7703054B2 (en) Circuit emulation and debugging method
KR20020069468A (en) Debugging Apparatus Using Both Very Large Scaled Digital System Realized in Hardware and Simulation, and Debugging Method For Verifying Ultra Large Design
KR100824503B1 (en) Rapid Input/Output Probing Apparatus and Input/Output Probing Method Using the Same, and Mixed Emulation/Simulation Method Based on It
US20210374314A1 (en) Engineering Change Order Scenario Compression by Applying Hybrid of Live and Static Timing Views
WO2001035283A2 (en) System for performing parallel circuit simulation in a high level description language
CN116670677A (en) Clock perception simulation vector processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060302

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140310

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees