JP2003006265A - Behavioral model generation method and behavioral model generation device - Google Patents

Behavioral model generation method and behavioral model generation device

Info

Publication number
JP2003006265A
JP2003006265A JP2001192295A JP2001192295A JP2003006265A JP 2003006265 A JP2003006265 A JP 2003006265A JP 2001192295 A JP2001192295 A JP 2001192295A JP 2001192295 A JP2001192295 A JP 2001192295A JP 2003006265 A JP2003006265 A JP 2003006265A
Authority
JP
Japan
Prior art keywords
description
behavior
model generation
behavior model
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001192295A
Other languages
Japanese (ja)
Inventor
Osamu Ogawa
修 小川
Masanobu Mizuno
雅信 水野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001192295A priority Critical patent/JP2003006265A/en
Publication of JP2003006265A publication Critical patent/JP2003006265A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To solve a difficulty in selecting architecture appropriately if system architecture is comparatively evaluated and selected with top-down approach from specification description or functional behavioral description because of no methods available to appropriately estimate performance of a block to be newly implemented on hardware or to perform a high-speed simulation modeling. SOLUTION: A transition state is assigned to the functional behavioral description using a high-level synthesis means, a cycle delay is counted at a state transition point and a model to add the delay is generated in outputting an outcome of processing. This enables to generate a behavioral model which has a processing delay based on a feasible hardware and can perform the high- speed simulation. This result makes it possible to evaluate the architecture with shorter turnaround time and higher accuracy.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は動作モデル生成方
法および動作モデル生成装置に関する。さらに詳しく
は、機能的な動作記述から実現すべきLSI回路のアー
キテクチャを事前評価し試行錯誤しながらトップダウン
に設計する際に用いるサイクルベースの動作シミュレー
ションを行うための動作モデルの生成方法および生成装
置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a behavior model generation method and a behavior model generation device. More specifically, a method and apparatus for generating a behavior model for performing a cycle-based behavior simulation used when performing top-down design by trial evaluating the LSI circuit architecture to be realized from a functional behavior description and performing trial and error. Regarding

【0002】[0002]

【従来の技術】LSIの微細化・集積技術の進展によ
り、システムレベルの大規模回路を1チップLSIに集
積することが可能となっている。こうしたシステムLS
Iの開発では、処理方式の設計から機能・論理・レイア
ウト設計までを短期に段階的に検証を行いながらトップ
ダウンに設計し早期に製品化を図ることが必要となって
いる。特にLSI化を前提としたシステムレベルの処理
方式・実現アーキテクチャの基本設計では、チップ製造
後のアーキテクチャ変更が多大のコストを伴うため詳細
設計を進める以前であってもシステムLSIの処理性能
やそのボトルネック部分などを解析することが求められ
る。これにはCプログラム等を用いてシステムの機能的
な動作記述を行い、このプログラムを実行するシミュレ
ーションによって動作を検証するとともに性能の見積も
りを行う。このシミュレーションの精度を上げより適切
な設計選択を行うため、予め詳細設計済みで再利用され
る回路ブロックに関してはクロックサイクル精度でシミ
ュレーション可能な動作モデルを詳細設計結果に基づい
て作成し用いていた。たとえば、CPUに関しては、ク
ロックサイクル精度で命令実行パイプラインを実行する
動作モデルとしてパイプラインシミュレータを作成して
用いる。また、特定処理を実行するハードウェアエンジ
ンまたはコプロセッサに関しては、入力信号またはトリ
ガ信号が入って処理を開始してから処理結果を出力する
までの遅延を詳細設計結果から解析し、必要なサイクル
数だけ遅延したのちシミュレーション結果を出力する動
作モデルを用いる。一方、まったく新規に用いるハード
ウェアブロックに関しては、先行的にRTL(レジスタ
転送レベル)の詳細設計およびHDL記述を行ってこれ
を用いるか、あるいは、処理に要するサイクル数の予測
値を経験的に決め、Cプログラムにシミュレーション結
果を出力する際の遅延処理として埋め込んで動作モデル
として用いていた。
2. Description of the Related Art With the progress of miniaturization and integration technology of LSI, it has become possible to integrate a system-level large-scale circuit into a one-chip LSI. Such a system LS
In the development of I, it is necessary to achieve top-down design and early commercialization while performing stepwise verification in a short period of time from designing the processing method to function / logic / layout design. Especially in the basic design of system-level processing method / implementation architecture, which is premised on LSI implementation, the system LSI processing performance and bottle It is required to analyze the neck part. For this, a functional behavioral description of the system is made using a C program or the like, and the behavior is estimated and the performance is estimated by a simulation that executes this program. In order to improve the accuracy of this simulation and make more appropriate design selection, an operation model that can be simulated with clock cycle accuracy is created and used based on the detailed design results for circuit blocks that have been designed in detail and are reused. For example, for a CPU, a pipeline simulator is created and used as an operation model for executing an instruction execution pipeline with clock cycle accuracy. For hardware engines or coprocessors that execute specific processing, analyze the delay from the detailed design result until the processing result is output after the input signal or trigger signal is received and the required number of cycles is analyzed. An operation model that outputs the simulation result after delaying by only is used. On the other hand, for a completely new hardware block, detailed design of the RTL (register transfer level) and HDL description are performed in advance and this is used, or the predicted value of the number of cycles required for processing is empirically determined. , Embedded in the C program as a delay process when outputting the simulation result and used as a behavior model.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、システ
ムレベルでアーキテクチャを検討するためのシミュレー
ションにおいて、一部の新規ブロックの場合にRTLモ
デルを用いるためにはRTL設計期間が数週間から数ヶ
月を要する。また、RTLモデルを含めたシミュレーシ
ョンではシミュレーション性能が10分の1以下である
ため実際の動作シナリオに即した評価が難しい。このた
め、システムLSIの実現方法の比較評価・判断が遅れ
る、あるいは限定された選択肢しか選択できないという
問題が生じる。また、新規ハードウェアブロックの処理
量を経験的に予測する場合には実際のRTL設計結果と
の差異が当然に生じ、場合によっては新規ハードブロッ
ク処理に非常に大きな余裕マージンを持った冗長な設計
になり、最悪の場合、予測した処理性能ではRTL設計
ができずシステム全体設計が破綻することもありうる。
However, in the simulation for examining the architecture at the system level, it takes several weeks to several months to use the RTL model for some new blocks. In addition, since the simulation performance including the RTL model is 1/10 or less, it is difficult to evaluate it in accordance with an actual operation scenario. Therefore, there arises a problem that the comparison evaluation / judgment of the method of realizing the system LSI is delayed, or only limited options can be selected. Further, when empirically predicting the processing amount of a new hardware block, a difference from the actual RTL design result naturally occurs, and in some cases, a redundant design with a very large margin for new hardware block processing. In the worst case, the RTL design cannot be performed with the predicted processing performance, and the entire system design may fail.

【0004】また、処理遅延の予測値によって新規ハー
ドウェアブロックの動作モデルを作成する場合には、ク
ロックサイクルに同期した内部動作の観測ができなかっ
たり、割り込み等によるシステム中の他のブロックとの
イレギュラーな同期をとることができなかったりすると
いう問題も生じていた。
In addition, when an operation model of a new hardware block is created based on the predicted value of the processing delay, it is not possible to observe the internal operation in synchronization with the clock cycle, or it is possible to compare it with other blocks in the system due to an interrupt or the like. There was also the problem that irregular synchronization could not be achieved.

【0005】この発明は上記のような問題を解決するた
めになされたものであり、その目的は、もとの動作モデ
ルとほぼ同等のシミュレーション性能を有する動作モデ
ルの生成方法を提供することである。
The present invention has been made to solve the above problems, and an object thereof is to provide a method of generating a behavior model having a simulation performance almost equal to that of the original behavior model. .

【0006】[0006]

【課題を解決するための手段】この発明による動作モデ
ル生成方法は、デジタル回路の機能的動作記述から同期
サイクル毎の動作をシミュレートするための動作モデル
を生成する方法であって、高位合成工程と、遅延付加工
程とを備える。高位合成工程では、Cプログラム等の機
能的動作記述から高位合成によってクロック信号等同期
サイクル単位での遅延情報を生成する。遅延付加工程で
は、遅延情報に基づき同期サイクル遅延動作記述を機能
的動作記述に付加する。
A behavioral model generation method according to the present invention is a method for generating a behavioral model for simulating a behavior for each synchronization cycle from a functional behavioral description of a digital circuit, which is a high-level synthesis step. And a delay adding step. In the high-level synthesis step, delay information in units of synchronization cycles such as clock signals is generated by high-level synthesis from a functional behavioral description such as a C program. In the delay adding step, the synchronous cycle delay behavior description is added to the functional behavior description based on the delay information.

【0007】好ましくは、上記高位合成工程では、機能
的動作記述からコントロール/データフローグラフを生
成し、当該コントロール/データフローグラフを高位合
成することによって、同期信号に同期し1サイクル毎に
状態遷移する有限状態遷移モデルでの動作遷移状態の割
り当て情報とハードウェア資源割り当て情報とを生成す
る。
[0007] Preferably, in the high-level synthesis step, a control / data flow graph is generated from the functional behavioral description, and the control / data flow graph is high-level synthesized to synchronize with a synchronization signal and make a state transition every cycle. The allocation information of the operation transition state and the hardware resource allocation information in the finite state transition model are generated.

【0008】好ましくは、上記遅延付加工程では、高位
合成工程によって割り当てられた状態遷移点の動作記述
ステップ毎にサイクル遅延をカウントし、処理結果を出
力するステップで当該カウントしたサイクル遅延数に応
じて出力を遅延させる記述を付加する。すなわち、高位
合成によって割り当てられた状態と入力となる動作記述
の対応を取り、状態遷移点に相当する入力動作記述の各
ステップでサイクルをカウントし、処理結果を出力する
ステップで当該カウントしたサイクル数に応じて出力を
遅延させる記述を付加する。
Preferably, in the delay adding step, the cycle delay is counted for each operation description step of the state transition points assigned by the high-level synthesis step, and in the step of outputting the processing result, the cycle delay is counted according to the counted cycle delay number. Add a description to delay the output. That is, the state assigned by high-level synthesis is associated with the behavioral description that is the input, the cycle is counted at each step of the input behavioral description corresponding to the state transition point, and the counted number of cycles at the step of outputting the processing result. Add a description to delay the output according to.

【0009】上記動作モデル生成方法では、コントロー
ル/データフローグラフ等を生成する高位合成を行うこ
とによって、ひとつの実現可能なRTL設計に基づいて
処理が終了するまで要するサイクル数をカウントし、実
現可能な性能をモデル化した動作モデルが生成される。
一方、生成される動作モデルは、基本的にはCプログラ
ムと同等の動作記述であり、特定のステップに、そのス
テップが実行された際にサイクル数をカウントするステ
ップが追加されたに過ぎない。したがって、もとの動作
モデルとほぼ同等の高速なシミュレーション性能を期待
できる。
In the above-mentioned behavior model generation method, high-level synthesis for generating a control / data flow graph or the like is performed to count the number of cycles required until the processing is completed based on one feasible RTL design, and can be realized. A behavior model that models various performances is generated.
On the other hand, the generated behavior model is basically a behavior description equivalent to that of a C program, and only a step of counting the number of cycles when the step is executed is added to a specific step. Therefore, high-speed simulation performance that is almost the same as the original behavior model can be expected.

【0010】好ましくは、上記遅延付加工程では、高位
合成手段によって割り当てられた状態遷移点の動作記述
ステップ毎に同期信号をウエイトし、1サイクル動作を
遅延させる記述を付加する。
Preferably, in the delay adding step, the synchronization signal is waited for each operation description step of the state transition point assigned by the high-level synthesis means, and a description for delaying one cycle operation is added.

【0011】上記動作モデル生成方法では、生成した特
定のハードウェアブロックの動作モデルを、外部から入
力される同期信号に同期させてシミュレートすること、
すなわち、同期クロックサイクル毎に入力信号を取り込
みができる。これにより、該当のハードウェアブロック
に割り込み信号や一時停止信号等が入力される場合の動
作を周囲と同期をとって正しくシミュレートすることが
可能になる。
In the above behavior model generation method, the behavior model of the generated specific hardware block is simulated in synchronization with a synchronization signal input from the outside.
That is, the input signal can be taken in every synchronous clock cycle. This makes it possible to correctly simulate an operation when an interrupt signal, a pause signal, or the like is input to the corresponding hardware block in synchronization with the surroundings.

【0012】好ましくは、上記動作モデル生成方法はさ
らに観測付加工程を備える。観測付加工程では、同期サ
イクルに同期した動作及び状態変化を観測する記述を機
能的動作記述に付加する。
[0012] Preferably, the behavior model generation method further includes an observation adding step. In the observation adding step, the description for observing the operation and the state change synchronized with the synchronization cycle is added to the functional operation description.

【0013】好ましくは、上記観測付加工程では、高位
合成工程によって割り当てられた状態遷移点の動作記述
ステップ毎に状態遷移及び遷移時のシミュレーション時
刻の情報を記録する記述を付加する。
Preferably, in the observation adding step, a description for recording state transition and simulation time information at the time of transition is added for each behavior description step of the state transition point assigned by the high-level synthesis step.

【0014】上記動作モデル生成方法では、同期クロッ
ク単位で動作モデルによるシミュレーション状況を確認
することができる。
In the above-mentioned behavior model generation method, it is possible to confirm the simulation status by the behavior model in units of synchronous clocks.

【0015】好ましくは、上記観測付加工程では、高位
合成工程によって割り当てられたリソース種別に応じて
変数値を記録する記述を付加する。
Preferably, in the observation adding step, a description for recording the variable value according to the resource type assigned by the high-level synthesis step is added.

【0016】上記動作モデル生成方法では、ハードウェ
アブロックが起動されてから結果を出力するまでの処理
を同期クロック毎にトレースすることが可能になる。こ
れにより、精度の高い動作モデルを得るのみでなく、高
速なシミュレーション速度を保ちながら、ブロック内部
の動作解析を行うことができる。
In the above behavior model generation method, it is possible to trace the processing from the activation of the hardware block to the output of the result for each synchronous clock. As a result, not only a highly accurate motion model can be obtained, but also motion analysis inside the block can be performed while maintaining a high simulation speed.

【0017】好ましくは、上記観測付加工程では、高位
合成工程によって各サイクル毎のレジスタに割り当てた
変数のトグル数の情報を記録する記述を付加する。
Preferably, in the observation adding step, a description for recording the information on the toggle number of the variable assigned to the register for each cycle by the high level synthesis step is added.

【0018】上記動作モデル生成方法では、レジスタの
アクティビティ推移を解析でき、スタティックな消費電
力、ピーク消費電力が可能になる。
In the above-mentioned behavior model generation method, the activity transition of the register can be analyzed, and static power consumption and peak power consumption can be realized.

【0019】この発明による動作モデル生成装置は、デ
ジタル回路の機能的動作記述から同期サイクル毎の動作
をシミュレートする動作モデルを生成する装置であっ
て、高位合成手段と、遅延付加手段とを備える。高位合
成手段は、機能的動作記述から高位合成によって同期サ
イクル単位での遅延情報を生成する。遅延付加手段は、
遅延情報に基づき同期サイクル遅延動作記述を機能的動
作記述に付加する。
A behavioral model generation device according to the present invention is a device for generating a behavioral model for simulating a behavior for each synchronization cycle from a functional behavioral description of a digital circuit, and includes a high-level synthesis means and a delay addition means. . The high-level synthesis means generates delay information in synchronization cycle units by high-level synthesis from the functional behavioral description. The delay adding means is
A synchronous cycle delay behavior description is added to the functional behavior description based on the delay information.

【0020】好ましくは、上記高位合成手段は、機能的
動作記述からコントロール/データフローグラフを生成
し、当該コントロール/データフローグラフを高位合成
することによって動作遷移状態の割り当て情報とハード
ウェア資源割り当て情報とを生成する。
Preferably, the high-level synthesis means generates a control / data flow graph from the functional behavioral description, and performs high-level synthesis of the control / data flow graph to assign the operation transition state allocation information and the hardware resource allocation information. Produces and.

【0021】好ましくは、上記遅延付加手段は、高位合
成手段によって割り当てられた状態遷移点の動作記述ス
テップ毎にサイクル遅延をカウントし、処理結果を出力
するステップで当該カウントしたサイクル遅延数に応じ
て出力を遅延させる記述を付加する。
Preferably, the delay adding means counts the cycle delay for each operation description step of the state transition point allocated by the high-level synthesis means, and outputs the processing result in accordance with the counted cycle delay number. Add a description to delay the output.

【0022】好ましくは、上記遅延付加手段は、高位合
成手段によって割り当てられた状態遷移点の動作記述ス
テップ毎に1サイクル動作を遅延させる記述を付加す
る。
Preferably, the delay adding means adds a description for delaying one cycle operation for each operation description step of the state transition point assigned by the high-level synthesis means.

【0023】好ましくは、上記動作モデル生成装置はさ
らに観測付加手段を備える。観測付加手段は、同期サイ
クルに同期した動作及び状態変化を観測する記述を機能
的動作記述に付加する。
Preferably, the behavior model generation device further comprises an observation addition means. The observation adding means adds a description for observing an operation and a state change synchronized with the synchronization cycle to the functional operation description.

【0024】好ましくは、上記観測付加手段は、高位合
成手段によって割り当てられた状態遷移点の動作記述ス
テップ毎に状態遷移及び遷移時のシミュレーション時刻
の情報を記録する記述を付加する。
Preferably, the observation adding means adds a description for recording the state transition and the information of the simulation time at the transition for each behavior description step of the state transition point assigned by the high-level synthesis means.

【0025】好ましくは、上記観測付加手段は、高位合
成手段によって割り当てられたリソース種別に応じて変
数値を記録する記述を付加する。
Preferably, the observation adding means adds a description for recording the variable value according to the resource type assigned by the high-level synthesis means.

【0026】好ましくは、上記観測付加手段は、高位合
成手段によってレジスタに割り当てられた変数のトグル
数の情報を記録する記述を付加する。
Preferably, the observation adding means adds a description for recording the information on the toggle number of the variable assigned to the register by the high-level synthesis means.

【0027】[0027]

【発明の実施の形態】以下、この発明の実施の形態を図
面を参照して詳しく説明する。なお、図中同一または相
当部分には同一の符号を付し、その説明は繰り返さな
い。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will now be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals, and the description thereof will not be repeated.

【0028】(第1の実施形態)図1は、この発明の第
1の実施形態による動作モデル生成方法における処理の
流れを示すフローチャートである。図1に示す動作モデ
ル生成方法は、高位合成ステップST1と、動作モデル
合成ステップST2とを備える。高位合成ステップST
1では、入力プログラムファイルと設計制約ファイルと
を用いてレジスタ転送レベルの回路を生成する。動作モ
デル生成ステップST2では、高位合成ステップST1
で生成されるコントロール/データフローグラフから動
作モデルを合成する。動作モデル生成ステップST2
は、抽出ステップST21と、挿入&生成ステップST
22とを含む。抽出ステップST21では、コントロー
ル/データフローグラフを解析し回路の状態遷移が発生
するポイント(すなわち、サイクル遅延が発生するポイ
ント)とその発生条件とを抽出する。挿入&生成ステッ
プST22では、回路のサイクル遅延をカウントするた
めのプログラムを挿入し、動作モデルを生成する。
(First Embodiment) FIG. 1 is a flow chart showing the flow of processing in a behavior model generation method according to a first embodiment of the present invention. The behavior model generation method shown in FIG. 1 includes a high-level synthesis step ST1 and a behavior model synthesis step ST2. High-level synthesis step ST
In 1, the register transfer level circuit is generated using the input program file and the design constraint file. In the motion model generation step ST2, the high-level synthesis step ST1
The behavior model is synthesized from the control / data flow graph generated in. Behavior model generation step ST2
Is an extraction step ST21 and an insertion & generation step ST
22 and 22. In the extraction step ST21, the control / data flow graph is analyzed and the point where the state transition of the circuit occurs (that is, the point where the cycle delay occurs) and its generation condition are extracted. In the inserting & generating step ST22, a program for counting the cycle delay of the circuit is inserted to generate an operation model.

【0029】次に、図1に示した方法による動作モデル
の生成処理の一例を説明する。
Next, an example of the generation process of the behavior model by the method shown in FIG. 1 will be described.

【0030】図2−図4は、それぞれ図1に示した高位
合成ステップST1・抽出ステップST21・挿入&生
成ステップST22における処理の流れを詳しく示すフ
ローチャートである。以下、図2−図4を参照しつつ説
明する。
2 to 4 are flow charts showing in detail the flow of processing in the high-level synthesis step ST1, the extraction step ST21 and the insertion & generation step ST22 shown in FIG. 1, respectively. Hereinafter, description will be given with reference to FIGS. 2 to 4.

【0031】まず、動作レベルで記述された入力プログ
ラムファイルと設計制約ファイルを入力する。図5は、
Cで記述した入力プログラムファイルの一例を示したも
のである。図5のプログラムは、入力で指定された回数
の累算と入力で指定された回数の累積とを行い、それら
の和を出力する動作記述である。
First, the input program file and the design constraint file described at the operation level are input. Figure 5
It is an example of an input program file described in C. The program of FIG. 5 is an operation description for performing the accumulation of the number of times designated by the input and the accumulation of the number of times designated by the input, and outputting the sum thereof.

【0032】図2を参照して、高位合成ステップST1
では、まず、回路の面積・動作速度・消費電力などに対
する制約を記述した設計制約ファイルが与えられる。そ
してステップST101において、入力プログラムの字
句解析と構文解析を行い、シンボルテーブルの作成とプ
ログラムの基本単位である基本ブロックの抽出とを行
う。図5に示した入力プログラムに対しては図6に示す
ようなシンボルテーブルが生成される。
Referring to FIG. 2, high-level synthesis step ST1
Then, first, a design constraint file describing constraints on the area, operating speed, power consumption, etc. of the circuit is given. Then, in step ST101, lexical analysis and syntax analysis of the input program are performed, and a symbol table is created and a basic block that is a basic unit of the program is extracted. A symbol table as shown in FIG. 6 is generated for the input program shown in FIG.

【0033】次にステップST102において、基本ブ
ロック間の依存関係を抽出することによりプログラムの
意味解析を行い、コントロール/データフローグラフを
生成する。図5に示した入力プログラムに対しては図7
に示すようなコントロール/データフローグラフが生成
される。図7に示す各ノードが基本ブロックとなる。
Next, in step ST102, the semantic relationship of the program is analyzed by extracting the dependency relationships between the basic blocks to generate a control / data flow graph. For the input program shown in FIG.
A control / data flow graph as shown in Figure 3 is generated. Each node shown in FIG. 7 becomes a basic block.

【0034】次にステップST103において、コント
ロール/データフローグラフを解析し、設計制約ファイ
ルで指定された設計制約に応じて、入力プログラムの各
処理に対してFSMの状態および演算器資源の割り当て
を行い、各変数に対して記憶資源の割り当てを行う。そ
してステップST104において、この状態割り当て情
報と演算器資源割り当て情報と記憶資源割り当て情報と
をコントロール/データフローグラフに付加し、記憶資
源割り当て情報をシンボルテーブルに付加する。図5に
示した記述例に対しては図8に示すようにFSM状態が
割り当てられ、図9に示すように各シンボルへのリソー
ス:レジスタの割り当てが行われる。図8では、破線で
示した4つの状態1−4に状態割り当てが行われてい
る。また、変数jを初期化する(0にする)基本ブロッ
クは最初の基本ブロックにマージされている。
Next, in step ST103, the control / data flow graph is analyzed, and according to the design constraint specified in the design constraint file, the state of the FSM and the arithmetic unit resource are assigned to each process of the input program. , Allocate storage resources to each variable. Then, in step ST104, the state allocation information, the arithmetic unit resource allocation information, and the storage resource allocation information are added to the control / data flow graph, and the storage resource allocation information is added to the symbol table. For the description example shown in FIG. 5, the FSM state is assigned as shown in FIG. 8, and the resource: register is assigned to each symbol as shown in FIG. In FIG. 8, the state is assigned to four states 1-4 indicated by broken lines. Also, the basic block that initializes (sets to 0) the variable j is merged with the first basic block.

【0035】以上で高位合成ステップにおける処理を終
了し、次いで抽出ステップST21に進む。
With the above, the processing in the high-level synthesis step is completed, and then the process proceeds to the extraction step ST21.

【0036】図3を参照して、抽出ステップST21で
は、まずステップST211において、コントロール/
データフローグラフの起点から、解析する最初の基本ブ
ロックを選択する。
Referring to FIG. 3, in extraction step ST21, first in step ST211, control / control is performed.
From the origin of the dataflow graph, select the first basic block to analyze.

【0037】次にステップST212において、基本ブ
ロック内で発生する状態遷移回数を状態割り当て情報か
ら抽出し、コントロール/データフローグラフへ状態遷
移回数情報を付加する。
Next, in step ST212, the number of state transitions occurring in the basic block is extracted from the state allocation information, and the state transition number information is added to the control / data flow graph.

【0038】次にステップST213において、他の基
本ブロックから現在解析している基本ブロックへの移動
に関して、状態遷移の発生を伴う移動が存在するかどう
かを状態割り当て情報から検索する。状態遷移を伴う移
動が存在する場合はステップST214にすすみ、状態
遷移が発生するポイントおよび発生条件を情報として基
本ブロックへ付加する。状態遷移を伴う移動が存在しな
い場合はステップST215にすすむ。そしてステップ
ST215において、すべての基本ブロックの解析が終
了したかどうかが判定される。すべての基本ブロックの
解析が終了したときは抽出ステップST21における処
理を終了し、終了していないときはステップST211
にもどる。図8に示したコントロール/データフローグ
ラフでは基本ブロック内での状態遷移はなく、破線の状
態間を移動する基本ブロック間の移動ポイントが状態遷
移発生ポイントとしてリストアップされる。
Next, in step ST213, regarding the movement from another basic block to the basic block currently being analyzed, it is searched from the state assignment information whether or not there is a movement accompanied by the occurrence of a state transition. If there is a movement accompanied by a state transition, the process proceeds to step ST214, and the point at which the state transition occurs and the generation condition are added to the basic block as information. If there is no movement accompanied by state transition, the process proceeds to step ST215. Then, in step ST215, it is determined whether the analysis of all the basic blocks is completed. When the analysis of all the basic blocks is completed, the processing in the extraction step ST21 is completed, and when not completed, the step ST211 is completed.
Return to. In the control / data flow graph shown in FIG. 8, there is no state transition within the basic block, and the movement points between the basic blocks that move between the states indicated by the broken lines are listed as state transition occurrence points.

【0039】以上で抽出ステップST21における処理
を終了し、次いで挿入&生成ステップST22に進み、
動作モデルのプログラムの生成処理を行う。挿入&生成
ステップST22では、図10に示すようなプログラム
構造をもった動作モデルプログラムを生成する。図10
に示した動作モデルは、図11に示すような制御構造を
持ったシミュレーションプログラムに組み込まれて実行
されることを想定したものである。図11に示したシミ
ュレーションプログラム7では、シミュレーション制御
部8がシミュレーション全体の時間進行の管理を行うと
ともに、組み込まれる動作モデル11および12の入出
力信号(変数)のデータテーブル9を持ちデータ管理を
行う。さらに更新データバッファ10によって、当該シ
ミュレーション時刻に対して遅延して発生するデータの
更新を制御する。
With the above, the processing in the extraction step ST21 is completed, and then the process proceeds to the insertion & generation step ST22,
Generates a behavior model program. In the insertion & generation step ST22, a behavior model program having a program structure as shown in FIG. 10 is generated. Figure 10
The behavior model shown in is assumed to be incorporated and executed in a simulation program having a control structure as shown in FIG. In the simulation program 7 shown in FIG. 11, the simulation control unit 8 manages the time progress of the entire simulation, and also has a data table 9 of the input / output signals (variables) of the incorporated operation models 11 and 12 and manages the data. . Further, the update data buffer 10 controls the update of data that occurs with a delay with respect to the simulation time.

【0040】なお、以上の構造は、電子回路の論理シミ
ュレータで実施されるイベントドリブン方式処理でのイ
ベント、タイムホール、信号値テーブルなどの構造と同
様である。また、図11中の81および82は制御の流
れを示し、83−86はデータの流れを示し、87およ
び88はポインタ情報の流れを示す。
The above structure is the same as the structure of the event, time hole, signal value table, etc. in the event driven system processing executed by the logic simulator of the electronic circuit. Further, 81 and 82 in FIG. 11 indicate a control flow, 83-86 indicate a data flow, and 87 and 88 indicate pointer information flows.

【0041】図12は、図11に示したシミュレーショ
ンプログラム7におけるシミュレーション制御部8の制
御の流れを示す図である。以下図12および図11を参
照しつつ説明する。動作モデル11は、シミュレーショ
ン制御部8より、時刻Tでポーリング制御あるいはイベ
ントドリブンによって起動される(81)。この際、入
力として、データテーブル上のデータ値83と、出力結
果を返すための更新データバッファのポインタ87と、
その出力結果がデータテーブル9に書き込まれるまでの
遅延情報(遅延するサイクル数)を返すためのポインタ
88とを引数とする。動作モデルプログラムがシミュレ
ーション上のΔ時間で実行され、時刻Tの処理内で出力
結果84および遅延情報85(Nサイクルとする)がシ
ミュレーション制御部9に返され、更新データバッファ
10へ格納される。シミュレーション制御部8が処理を
進め、遅延情報85の遅延サイクルNが経過すると、時
刻(T+N)での動作モデル11の出力結果86をデー
タテーブル9へ書き込み、データテーブル9を更新す
る。
FIG. 12 is a diagram showing a control flow of the simulation controller 8 in the simulation program 7 shown in FIG. This will be described below with reference to FIGS. 12 and 11. The behavior model 11 is activated by the simulation controller 8 at time T by polling control or event driven (81). At this time, as an input, the data value 83 on the data table, the pointer 87 of the update data buffer for returning the output result,
A pointer 88 for returning delay information (the number of delayed cycles) until the output result is written in the data table 9 is used as an argument. The behavior model program is executed in Δ time on the simulation, and the output result 84 and the delay information 85 (assuming N cycles) are returned to the simulation controller 9 within the processing at time T and stored in the update data buffer 10. When the simulation control unit 8 advances the processing and the delay cycle N of the delay information 85 elapses, the output result 86 of the behavior model 11 at time (T + N) is written in the data table 9 and the data table 9 is updated.

【0042】このようなシミュレーションに組み込まれ
る動作モデルのプログラムは、図10中の符号3に示し
たような構造を持ち、変数およびサイクルカウンタの初
期化部4と、高位合成ステップST1で解析抽出された
基本ブロックに相当する処理部51、52、…と、出力
データとサイクルカウンタを返すreturnステップ
6とを含む。ここで、サイクルカウンタは出力データに
対になって宣言され、図11の84を示す遅延情報を計
算するための変数である。図10中の基本ブロックの処
理51,52には、条件付状態遷移に対応してサイクル
カウンタをカウントアップするステップと、条件なく基
本ブロックで発生する状態遷移回数に応じてサイクルカ
ウンタをカウントアップするステップとが含まれる。こ
のようなプログラムにより動作をシミュレーションする
とともにサイクル遅延を計算する。
The behavior model program incorporated in such a simulation has a structure as shown by reference numeral 3 in FIG. 10, and is analyzed and extracted in the variable and cycle counter initialization unit 4 and in the high-level synthesis step ST1. , Corresponding to basic blocks, and a return step 6 for returning output data and a cycle counter. Here, the cycle counter is a variable for pairing with the output data and for calculating the delay information indicated by 84 in FIG. In the basic block processes 51 and 52 in FIG. 10, the step of counting up the cycle counter in response to the conditional state transition and the step of counting up the cycle counter in accordance with the number of state transitions occurring in the basic block without condition are counted up. Steps and are included. With such a program, the operation is simulated and the cycle delay is calculated.

【0043】図4を参照して、挿入&生成ステップST
22では、まずステップST221において、動作記述
に使用される変数と、サイクル遅延をカウントするサイ
クルカウンタを初期化するプログラムとを生成する。
Referring to FIG. 4, insertion & generation step ST
In 22, first, in step ST221, a variable used for a behavioral description and a program for initializing a cycle counter for counting a cycle delay are generated.

【0044】次にステップST222において、コント
ロール/データフローグラフの起点から動作記述に変換
する基本ブロックを選択する。そしてステップST22
3において、順次、基本ブロック内の処理を実行するプ
ログラム記述を生成する。
Next, in step ST222, the basic block to be converted into the behavioral description is selected from the starting point of the control / data flow graph. And step ST22
In 3, the program description for executing the processing in the basic block is sequentially generated.

【0045】次にステップST224において、基本ブ
ロック内に条件付で状態遷移に関する情報が含まれてい
るかを調べる。条件付の状態遷移情報が含まれている場
合はステップST225にすすみ、当該条件が成立しプ
ログラムが実行されるポイントでサイクル遅延をカウン
トするステップ、すなわち、サイクルカウンタをカウン
トアップするステップを生成する。条件付の状態遷移情
報が含まれていない場合はステップST226にすす
む。
Next, in step ST224, it is checked whether or not the basic block conditionally contains information regarding the state transition. If the conditional state transition information is included, the process proceeds to step ST225, and a step of counting the cycle delay at the point where the condition is satisfied and the program is executed, that is, a step of counting up the cycle counter is generated. If the conditional state transition information is not included, the process proceeds to step ST226.

【0046】次にステップST226において、基本ブ
ロック内で1回以上の状態遷移が発生するか否かを調べ
る。基本ブロック内で発生する状態遷移回数が1以上で
ある場合はステップST227にすすみ、当該状態遷移
回数に応じてサイクルカウンタをカウントアップするス
テップを生成する。基本ブロック内で発生する状態遷移
回数が1未満すなわち発生しないときはステップST2
28にすすむ。
Then, in step ST226, it is checked whether or not the state transition occurs once or more in the basic block. When the number of state transitions occurring in the basic block is 1 or more, the process proceeds to step ST227, and a step of counting up the cycle counter according to the number of state transitions is generated. If the number of state transitions that occur in the basic block is less than 1, that is, if they do not occur, step ST2
Proceed to 28.

【0047】そしてステップST228において、すべ
ての基本ブロックの解析が終了したかどうかが判断され
る。すべての基本ブロックの解析が終了したと判断され
たときはステップST229にすすみ、すべての基本ブ
ロックに対するプログラム記述を生成した後、処理結果
とともにサイクルカウンタを返すreturnステップ
を生成する。いまだ解析が終了していない基本ブロック
があるときはステップST222にもどる。
Then, in step ST228, it is determined whether or not the analysis of all the basic blocks is completed. When it is determined that the analysis of all the basic blocks is completed, the process proceeds to step ST229, and after the program description for all the basic blocks is generated, a return step that returns the cycle counter together with the processing result is generated. If there is a basic block that has not been analyzed yet, the process returns to step ST222.

【0048】図13は、図8に示したコントロール/デ
ータフローグラフから生成される動作モデルを示す図で
ある。この例では、状態遷移ポイントとなる基本ブロッ
ク間の移動時にサイクルカウンタcycleを用いてサ
イクルをカウントするステップが挿入されている。例え
ば、この動作モデルに対して、入力として(input
1=3, input2=4, indata1=1
2, indata=20)を与えると、初期化を実行
した後、条件i<input1が成立するまで、図8に
示した状態2に相当する処理を3回繰り返し、cycl
eを3とする。次に、条件j<input2が成立する
まで、図8に示した状態3に相当する処理を4回繰り返
し、cycleを7とする。最後に、図8に示した状態
4に相当するoutput計算で、cycleを8とし
て、output=36+160000=160036
とcycle=8をreturnする。
FIG. 13 is a diagram showing an operation model generated from the control / data flow graph shown in FIG. In this example, a step of counting cycles using a cycle counter cycle is inserted when moving between basic blocks that are state transition points. For example, for this behavior model, (input
1 = 3, input2 = 4, indata1 = 1
2, indata = 20) is given, after initialization is performed, the process corresponding to the state 2 shown in FIG. 8 is repeated three times until the condition i <input1 is satisfied.
Let e be 3. Next, the process corresponding to the state 3 shown in FIG. 8 is repeated four times until the condition j <input2 is satisfied, and the cycle is set to 7. Finally, in the output calculation corresponding to the state 4 shown in FIG. 8, the cycle is set to 8 and output = 36 + 160000 = 160036.
And cycle = 8 are returned.

【0049】以上のように第1の実施形態によれば、高
位合成系からコントロール/データフローグラフと状態
割り当て情報とを抽出し、サイクル遅延カウントを挿入
した動作モデルを生成することができる。
As described above, according to the first embodiment, it is possible to extract the control / data flow graph and the state allocation information from the high-level synthesis system and generate the behavior model in which the cycle delay count is inserted.

【0050】(第2の実施形態)この発明の第2の実施
形態による動作モデル生成方法は、図1に示した挿入&
生成ステップST22を図14に示すフローチャートに
従って行い、図15に示すような動作モデルの生成を行
うことを特徴とする。その他の処理の流れは図1に示し
た流れと同様である。
(Second Embodiment) A behavior model generation method according to a second embodiment of the present invention is based on the insertion & insertion process shown in FIG.
The generation step ST22 is performed according to the flowchart shown in FIG. 14, and the behavior model as shown in FIG. 15 is generated. The flow of other processes is the same as the flow shown in FIG.

【0051】図15に示す動作モデルは、図16に示す
ような制御構造を持ったシミュレーションプログラムに
組み込まれて実行されること想定したものである。図1
6に示すシミュレーションプログラム17では、シミュ
レーション制御部18がシミュレーション全体の時間進
行の管理を行うとともに、組み込まれる動作モデル21
および22の入出力信号(変数)のデータテーブル19
を持ちかつこれをプロセス間の共有メモリとして確保し
てデータ管理を行う。この共有メモリには、シミュレー
ション時刻情報をもつ変数20も格納される。
The operation model shown in FIG. 15 is assumed to be incorporated and executed in a simulation program having a control structure as shown in FIG. Figure 1
In the simulation program 17 shown in FIG. 6, the simulation control unit 18 manages the time progress of the entire simulation, and also incorporates the operation model 21.
And input / output signal (variable) data table 19 of 22
And manages the data by securing it as a shared memory between processes. A variable 20 having simulation time information is also stored in this shared memory.

【0052】図16に示すシミュレーションプログラム
17では、動作モデル21および22を別プロセスとし
て起動し、シミュレーション制御部18と各動作モデル
を実行するプロセスとがシミュレーション時刻の同期を
取りながらシミュレーションを進行させる。図16中の
符号201、191、192はデータ参照、書き込みの
対応を示す。
In the simulation program 17 shown in FIG. 16, the behavior models 21 and 22 are activated as separate processes, and the simulation controller 18 and the process executing each behavior model proceed with the simulation while synchronizing the simulation times. Reference numerals 201, 191, and 192 in FIG. 16 indicate correspondence between data reference and writing.

【0053】図17は、シミュレーションプログラム1
7および動作モデル21のプロセスの実行の流れを示す
図である。動作モデル21のプロセスは、シミュレーシ
ョン制御部18より、時刻Tでポーリング制御あるいは
イベントドリブンによって起動される。この際、入力と
して、時刻変数のポインタとデータテーブル上の入出力
データのポインタとを引数とする。動作モデル21のプ
ロセスは、時刻Tの処理で起動されると次の状態遷移ポ
イントに至るまでの処理を実行し、時刻が更新されるま
でウエイトに入る。シミュレーション制御部18が時刻
を(T+1)に進めると再び実行を開始し、次の状態遷
移点まで処理を進め、再度ウエイトに入る。同様に処理
を繰り返し、最終exitしてプロセスを終了させる。
FIG. 17 shows the simulation program 1
7 is a diagram showing a flow of execution of processes of 7 and the behavior model 21. FIG. The process of the behavior model 21 is activated by the simulation controller 18 at time T by polling control or event driven. At this time, the pointer of the time variable and the pointer of the input / output data on the data table are used as arguments as inputs. When the process of the behavior model 21 is started by the process at time T, it executes the process up to the next state transition point, and enters the wait until the time is updated. When the simulation control unit 18 advances the time to (T + 1), the execution is started again, the process is advanced to the next state transition point, and the wait state is entered again. The process is repeated in the same manner, and the final exit is performed to end the process.

【0054】このようなシミュレーションに組み込まれ
る動作モデルのプログラムは、図15中の符号13に示
すような構造を持ち、変数および時刻カウンタ(ウエイ
トカウンタ)の初期化部14と、高位合成ステップST
1で解析抽出された基本ブロックに相当する処理部15
1,152,…と、プロセスを終了させるexitステ
ップ16とを含んでいる。ここで、時刻カウンタは、動
作モデルがシミュレーション制御部18と同期をとるた
めのカウンタであり、初期化において、引数の時刻変数
ポインタの値にセットされる。図15に示した各基本ブ
ロックの処理151,152には、条件付状態遷移に対
応して共有メモリ上の時刻変数が1単位時間更新される
のをウエイトする処理と、条件なく基本ブロックで発生
する状態遷移回数に応じた時間をウエイトする処理とが
含まれる。
The program of the behavior model incorporated in such a simulation has a structure as shown by reference numeral 13 in FIG. 15, and has a variable and time counter (weight counter) initialization unit 14 and a high-level synthesis step ST.
The processing unit 15 corresponding to the basic block analyzed and extracted in 1.
, And an exit step 16 for terminating the process. Here, the time counter is a counter for the behavior model to synchronize with the simulation control unit 18, and is set to the value of the time variable pointer of the argument at initialization. The processing 151 and 152 of each basic block shown in FIG. 15 waits for the time variable on the shared memory to be updated by one unit time in response to the conditional state transition, and the processing occurs in the basic block without a condition. Processing for weighting the time according to the number of state transitions to be performed.

【0055】図14を参照して、第2の実施形態におけ
る挿入&生成ステップでは、まずステップST2210
において、動作記述に使用される変数、ウエイト時刻を
カウントする時刻カウンタを初期化するプログラムを生
成する。
Referring to FIG. 14, in the insertion & generation step in the second embodiment, first, step ST2210.
At, a program for initializing a variable used for behavioral description and a time counter for counting wait time is generated.

【0056】次にステップST2220において、コン
トロール/データフローグラフの起点から動作記述に変
換する基本ブロックを選択する。そしてステップST2
230において順次、基本ブロック内の処理を実行する
プログラム記述を生成する。
Next, in step ST2220, the basic block to be converted into the behavioral description is selected from the starting point of the control / data flow graph. And step ST2
At 230, a program description for executing the processing in the basic block is sequentially generated.

【0057】次にステップST2240において、基本
ブロック内に条件付で状態遷移に関する情報が含まれて
いるかを調べる。条件付の状態遷移情報が含まれている
場合はステップST2250にすすみ、当該条件が成立
しプログラムが実行されるポイントで時刻カウンタをカ
ウントしウエイトするステップ、すなわち、時刻カウン
タを1時刻進め、該当時刻まで共有メモリ上の時刻変数
がシミュレーション制御部18によって更新されるまで
ウエイトするプログラムを挿入する。条件付の状態遷移
情報が含まれていない場合はステップST2260にす
すむ。
Next, in step ST2240, it is checked whether or not the basic block conditionally contains information regarding the state transition. When the conditional state transition information is included, the process proceeds to step ST2250, and the step of counting and waiting the time counter at the point where the condition is satisfied and the program is executed, that is, the time counter is advanced by one time and the corresponding time is reached. A program for waiting is inserted until the time variable on the shared memory is updated by the simulation controller 18. If the conditional state transition information is not included, the process proceeds to step ST2260.

【0058】次いでステップST2260において、基
本ブロック内で1回以上の状態遷移が発生するかどうか
が判断される。基本ブロック内で発生する状態遷移の回
数が1以上である場合はステップST2270にすす
み、当該状態遷移回数に応じて時刻カウンタをカウント
アップし、該当時刻まで共有メモリ上の時刻変数がシミ
ュレーション制御部18によって更新されるまでウエイ
トするプログラムを挿入する。基本ブロック内で発生す
る状態遷移の回数が1未満すなわち発生しない場合はス
テップST2280にすすむ。
Then, in step ST2260, it is determined whether or not one or more state transitions occur in the basic block. If the number of state transitions occurring in the basic block is 1 or more, the process proceeds to step ST2270, the time counter is counted up according to the number of state transitions, and the time variable on the shared memory is kept until the corresponding time. Insert a program that waits until it is updated by. If the number of state transitions that occur in the basic block is less than 1, that is, if they do not occur, the process proceeds to step ST2280.

【0059】そしてステップST2280において、す
べての基本ブロックの解析が終了したかどうかが判断さ
れる。すべての基本ブロックの解析が終了したと判断さ
れたときはステップST2290にすすみ、総ての基本
ブロックに対するプログラム記述を生成した後、プロセ
スを終了するexitステップを生成する。いまだ解析
が終了していない基本ブロックがあるときはステップS
T2220にもどる。なお、出力データは、引数のポイ
ンタを通じて直接データテーブルに書き込み、更新を行
うプログラムを生成する。
Then, in step ST2280, it is determined whether or not the analysis of all the basic blocks is completed. When it is determined that the analysis of all the basic blocks is completed, the process proceeds to step ST2290, and after generating program descriptions for all the basic blocks, an exit step for ending the process is generated. If there is a basic block that has not been analyzed yet, step S
Return to T2220. The output data is directly written in the data table through the pointer of the argument to generate a program for updating.

【0060】以上の実施形態を適用すると、図5の動作
記述から生成される動作モデルは図18に示すような記
述を得ることができる。図18では、状態遷移点で定義
された1サイクル時間をウエイトするfor文が生成さ
れている。
When the above embodiment is applied, the behavior model generated from the behavior description of FIG. 5 can obtain the description as shown in FIG. In FIG. 18, a for statement that waits for one cycle time defined at the state transition point is generated.

【0061】以上のように第2の実施形態によれば、状
態遷移点の動作記述ステップ毎に同期信号をウエイト
し、1サイクル動作を遅延させる記述を付加した動作モ
デルを生成することができる。これにより、本発明によ
って生成した特定のハードウェアブロックの動作モデル
を、外部から入力される同期信号に同期させてシミュレ
ートすること、すなわち、同期クロックサイクル毎に入
力信号を取り込みができる。この結果、該当のハードウ
ェアブロックに割り込み信号や一時停止信号などが入力
される場合の動作を周囲と同期をとって正しくシミュレ
ートすることが可能になる。
As described above, according to the second embodiment, it is possible to generate a behavior model in which a synchronization signal is waited for each behavior description step at a state transition point and a description for delaying one cycle operation is added. As a result, the operation model of the specific hardware block generated by the present invention can be simulated in synchronization with the synchronization signal input from the outside, that is, the input signal can be taken in every synchronization clock cycle. As a result, it becomes possible to correctly simulate the operation when an interrupt signal, a pause signal, or the like is input to the corresponding hardware block in synchronization with the surroundings.

【0062】なお、本実施形態でのウエイト処理を状態
遷移単位毎にすべてに挿入するのではなく、指定された
特定の状態遷移時に挿入するようにしてもよい。
It should be noted that the wait process in this embodiment may not be inserted into every state transition unit, but may be inserted into a designated specific state transition.

【0063】また、第1の実施形態の動作モデルの基本
ブロックをまとめたサブグループを作り、これに対応し
た複数のプログラムに分割し、各サブグループでの基本
ブロックの処理および状態遷移を実行することによって
全体のシミュレーション時刻が経過するまでウエイトさ
せる仕組みを組み込むこともできる。
In addition, a sub-group in which the basic blocks of the operation model of the first embodiment are put together is created, divided into a plurality of programs corresponding thereto, and the processing and state transition of the basic blocks in each sub-group are executed. Therefore, it is possible to incorporate a mechanism to wait until the entire simulation time has elapsed.

【0064】(第3の実施形態)この発明の第3の実施
形態による動作モデル生成方法は、図1に示した挿入&
生成ステップST22を図19に示すフローチャートに
従って行い、図20に示すようなプログラム構成の動作
モデルの生成を行うことを特徴とする。その他の処理の
流れは図1に示した流れと同様である。
(Third Embodiment) A behavior model generating method according to a third embodiment of the present invention is based on the insertion & insertion process shown in FIG.
The generation step ST22 is performed according to the flowchart shown in FIG. 19 to generate a behavior model having a program configuration as shown in FIG. The flow of other processes is the same as the flow shown in FIG.

【0065】図20に示すプログラムでは、引数とし
て、指定された観測リソース毎に、その観測結果を格納
する領域を指すポインタすなわち観測リソース状態ポイ
ンタが渡される。各ポインタは、リソース識別名、値、
サイクル数、トグルカウンタを含むデータ構造の配列領
域の先頭を指す。この配列領域の構造を図21に示す。
図20に示すように、基本ブロック処理251、252
において条件付状態遷移に対応してサイクルカウンタを
カウントアップすると、観測リソース状態ポインタへサ
イクルカウンタ値に応じた配列位置に指定リソースの観
測値、サイクル数、トグルの有無を記録する。基本ブロ
ック内で発生する状態遷移回数に応じてサイクルカウン
タをカウントアップした場合、また初期化24の場合で
も同様である。プログラムが終了すると観測リソース状
態ポインタはシミュレーション制御部へ返され、時刻順
にフォーマットされ、表示される。図13に示した動作
モデルにおいてレジスタtmp1,tmp2を観測する
場合は、図22に示す観測リソース状態ポインタが渡さ
れる。さらに入力として(input1=3, inp
ut2=4, indata1=12, indata
=20)を与えると、サイクル遅延として8サイクルが
returnされるが、この際の観測リソース状態は図
23に示すような内容となる。
In the program shown in FIG. 20, for each designated observation resource, a pointer indicating an area for storing the observation result, that is, an observation resource state pointer is passed as an argument. Each pointer is a resource identifier, value,
It points to the beginning of the array area of the data structure including the cycle number and toggle counter. The structure of this sequence region is shown in FIG.
As shown in FIG. 20, basic block processes 251, 252
When the cycle counter is counted up in response to the conditional state transition, the observed value of the specified resource, the number of cycles, and the presence or absence of the toggle are recorded in the array position corresponding to the cycle counter value in the observed resource state pointer. The same applies when the cycle counter is incremented according to the number of state transitions that occur in the basic block, and also in the case of initialization 24. When the program ends, the observation resource status pointer is returned to the simulation control unit, formatted and displayed in chronological order. When observing the registers tmp1 and tmp2 in the operation model shown in FIG. 13, the observation resource state pointer shown in FIG. 22 is passed. Further, as an input (input1 = 3, inp
ut2 = 4, indata1 = 12, indata
= 20), 8 cycles are returned as a cycle delay, and the observation resource state at this time has the content as shown in FIG.

【0066】図19を参照して、第3の実施形態におけ
る挿入&生成ステップでは、まずステップST2211
において、まず、動作記述に使用される変数、サイクル
遅延をカウントするサイクルカウンタを初期化し、観測
リソース状態ポインタの第1のデータ構造にリソース
名、サイクルカウンタ値、リース値、トグル数を設定す
るプログラムを生成する。
Referring to FIG. 19, in the insertion & generation step in the third embodiment, first, step ST2211.
First, a program that initializes variables used for behavior description and a cycle counter that counts cycle delays, and sets a resource name, cycle counter value, lease value, and number of toggles in the first data structure of the observation resource state pointer To generate.

【0067】次にステップST2221において、コン
トロール/データフローグラフの起点から動作記述に変
換する基本ブロックを選択する。そしてステップST2
231において順次、基本ブロック内の処理を実行する
プログラム記述を生成する。
Next, in step ST2221, the basic block to be converted into the behavioral description is selected from the starting point of the control / data flow graph. And step ST2
At 231, a program description for executing the processing in the basic block is sequentially generated.

【0068】次にステップST2241において、基本
ブロック内に条件付で状態遷移に関する情報が含まれて
いるかを調べる。条件付の状態遷移情報が含まれている
場合はステップST2251にすすみ、当該条件が成立
しプログラムが実行されるポイントでサイクル遅延をカ
カウントするステップすなわちサイクルカウンタをカウ
ントアップするステップと、これに続いて、観測リソー
ス状態ポインタからサイクルカウンタ値に相当する位置
にあるデータへサイクル数・観測リソースの値・トグル
数を記憶するステップとを生成する。条件付の状態遷移
情報が含まれていない場合はステップST2261にす
すむ。
Next, in Step ST2241, it is checked whether or not the basic block conditionally contains information regarding the state transition. If the conditional state transition information is included, the process proceeds to step ST2251, and the step of counting the cycle delay at the point where the condition is satisfied and the program is executed, that is, the step of counting up the cycle counter, is followed by , Storing the number of cycles, the value of the observation resource, and the number of toggles from the observation resource state pointer to the data at the position corresponding to the cycle counter value. If the conditional state transition information is not included, the process proceeds to step ST2261.

【0069】次いでステップST2261において、基
本ブロック内で1回以上の状態遷移が発生するか否かが
判断される。基本ブロック内で発生する状態遷移回数が
1以上である場合はステップST2261にすすみ、当
該状態遷移回数に応じてサイクルカウンタをカウントア
ップするステップと、これに続いて、観測リソース状態
ポインタからサイクルカウンタ値に相当する位置にある
データへサイクル数・観測リソースの値・トグル数を記
憶するステップとを生成する。基本ブロック内で発生す
る状態遷移の回数が1未満すなわち発生しない場合はス
テップST2281にすすむ。
Then, in step ST2261, it is determined whether or not a state transition occurs once or more in the basic block. If the number of state transitions occurring in the basic block is 1 or more, the process proceeds to step ST2261, and the step of counting up the cycle counter in accordance with the number of state transitions, and subsequently, the cycle counter value from the observation resource state pointer And a step of storing the number of cycles, the value of the observation resource, and the number of toggles in the data at the position corresponding to. If the number of state transitions that occur in the basic block is less than 1, that is, if they do not occur, the process proceeds to step ST2281.

【0070】そしてステップST2281において、す
べての基本ブロックの解析が終了したかどうかが判断さ
れる。すべての基本ブロックの解析が終了したと判断さ
れたときはステップST2291にすすみ、総ての基本
ブロックに対するプログラム記述を生成した後、処理結
果とともに、サイクルカウンタ、観測リソース状態ポイ
ンタを返すreturnステップを生成する。いまだ解
析が終了していない基本ブロックがあるときはステップ
ST2221にもどる。
Then, in step ST2281, it is judged whether or not the analysis of all the basic blocks is completed. When it is determined that the analysis of all the basic blocks is completed, the process proceeds to step ST2291, and after generating program descriptions for all the basic blocks, generates a return step that returns a cycle counter and an observation resource state pointer together with the processing result. To do. If there is a basic block that has not been analyzed yet, the process returns to step ST2221.

【0071】[0071]

【発明の効果】この発明による動作モデル生成方法で
は、高位合成によって割り当てられた状態と入力となる
動作記述の対応を取り、状態遷移点に相当する動作記述
の各ステップでサイクルをカウントし、処理結果を出力
するステップで当該カウントしたサイクル数に応じて出
力を遅延させる記述を付加することで、ひとつの実現可
能なRTL設計に基づいて処理が終了するまでに要する
サイクル数をカウントし、実現可能な回路の性能をモデ
ル化した動作モデルを生成。一方、生成される動作モデ
ルは、基本的にはCプログラムと同等の動作記述であ
り、特定のステップに、そのステップが実行された際に
サイクル数をカウントするステップが追加されたに過ぎ
ない。したがって、もとの動作モデルとほぼ同等の高速
なシミュレーション性能を期待できる。
According to the behavioral model generation method of the present invention, the states assigned by high-level synthesis are associated with the behavioral description to be an input, the cycle is counted at each step of the behavioral description corresponding to the state transition point, and the processing is performed. By adding the description that delays the output according to the counted number of cycles in the step of outputting the result, the number of cycles required to complete the process is counted based on one feasible RTL design, which can be realized. Generates a behavior model that models the performance of various circuits. On the other hand, the generated behavior model is basically a behavior description equivalent to that of a C program, and only a step of counting the number of cycles when the step is executed is added to a specific step. Therefore, high-speed simulation performance that is almost the same as the original behavior model can be expected.

【0072】また、遅延付加工程では、状態遷移点の動
作記述ステップ毎に同期信号をウエイトし、1サイクル
動作を遅延させる記述を付加するため、生成した特定の
ハードウェアブロックの動作モデルを、外部から入力さ
れる同期信号に同期させてシミュレートすること、すな
わち、同期クロックサイクル毎に入力信号を取り込みが
できる。これにより、該当のハードウェアブロックに割
り込み信号や一時停止信号等が入力される場合の動作を
周囲と同期をとって正しくシミュレートすることが可能
になる。これに加えて、実回路の振る舞いをより忠実に
シミュレート可能な動作モデルを得ることも可能とな
る。
Further, in the delay adding step, since the synchronization signal is waited for each operation description step at the state transition point and the description for delaying one cycle operation is added, the operation model of the generated specific hardware block is externally It is possible to perform the simulation in synchronization with the synchronization signal input from the input terminal, that is, the input signal can be taken in every synchronization clock cycle. This makes it possible to correctly simulate an operation when an interrupt signal, a pause signal, or the like is input to the corresponding hardware block in synchronization with the surroundings. In addition to this, it becomes possible to obtain a behavior model that can more faithfully simulate the behavior of the actual circuit.

【0073】また、観測付加工程を設けたため、同期ク
ロック単位で動作モデルによるシミュレーション状況を
確認することができる。
Further, since the observation adding step is provided, the simulation status by the operation model can be confirmed in units of synchronous clocks.

【0074】また、観測付加工程では高位合成によって
割り当てられたリソース種別に応じて変数の値を記録す
る記述を付加するため、ハードウェアブロックが起動さ
れてから結果を出力するまでの処理を同期クロックに毎
にトレースすることが可能になる。これにより、精度の
高い動作モデルを得るのみでなく、高速なシミュレーシ
ョン速度を保ちながら、ブロック内部の動作解析を行う
ことができる。また、観測付加工程では、各サイクル毎
のレジスタに割り当てた変数のトグル数を記録する記述
を付加するため、レジスタのアクティビティ推移を解析
でき、スタティックな消費電力、ピーク消費電力が可能
になる。
Further, in the observation adding step, since the description for recording the value of the variable according to the resource type allocated by the high-level synthesis is added, the processing from the activation of the hardware block to the output of the result is performed by the synchronous clock. It becomes possible to trace every time. As a result, not only a highly accurate motion model can be obtained, but also motion analysis inside the block can be performed while maintaining a high simulation speed. Further, in the observation adding step, since the description for recording the toggle number of the variable assigned to the register for each cycle is added, the transition of the activity of the register can be analyzed, and static power consumption and peak power consumption can be performed.

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

【図1】この発明の第1の実施形態による動作モデル生
成方法における処理の流れを示すフローチャートであ
る。
FIG. 1 is a flowchart showing a processing flow in a behavior model generation method according to a first embodiment of the present invention.

【図2】図1に示した高位合成ステップにおける処理の
流れを詳しく示すフローチャートである。
FIG. 2 is a flowchart showing in detail the flow of processing in the high-level synthesis step shown in FIG.

【図3】図1に示した抽出ステップにおける処理の流れ
を詳しく示すフローチャートである。
FIG. 3 is a flowchart showing in detail the flow of processing in the extraction step shown in FIG.

【図4】図1に示した挿入&生成ステップにおける処理
の流れを詳しく示すフローチャートである。
FIG. 4 is a flowchart showing in detail the flow of processing in the insertion & generation step shown in FIG.

【図5】入力プログラムファイルの一例を示す図であ
る。
FIG. 5 is a diagram showing an example of an input program file.

【図6】図5に示した入力プログラムに対して生成され
るシンボルテーブルを示す図である。
6 is a diagram showing a symbol table generated for the input program shown in FIG.

【図7】図5に示した入力プログラムに対して生成され
るコントロール/データフローグラフを示す図である。
FIG. 7 is a diagram showing a control / data flow graph generated for the input program shown in FIG.

【図8】図7に示したコントロール/データフローグラ
フに対して割り当てられるFSMの状態を示す図であ
る。
8 is a diagram showing a state of an FSM assigned to the control / data flow graph shown in FIG. 7. FIG.

【図9】図6に示したシンボルテーブルに対してリソー
スを割り当てた結果を示す図である。
9 is a diagram showing a result of allocating resources to the symbol table shown in FIG.

【図10】図4に示した挿入&生成ステップによって生
成される動作モデルのプログラム構造を示す図である。
10 is a diagram showing a program structure of an operation model generated by the inserting & generating step shown in FIG.

【図11】シミュレーションプログラムの構造を示す図
である。
FIG. 11 is a diagram showing a structure of a simulation program.

【図12】図11に示したシミュレーション制御部の制
御の流れを示す図である。
FIG. 12 is a diagram showing a control flow of the simulation controller shown in FIG. 11.

【図13】図8に示したコントロール/データフローグ
ラフから生成される動作モデルを示す図である。
13 is a diagram showing an operation model generated from the control / data flow graph shown in FIG.

【図14】この発明の第2の実施形態による挿入&生成
ステップにおける処理の流れを詳しく示すフローチャー
トである。
FIG. 14 is a flowchart showing in detail the flow of processing in the inserting & generating step according to the second embodiment of the present invention.

【図15】図14に示した挿入&生成ステップによって
生成される動作モデルのプログラム構造を示す図であ
る。
15 is a diagram showing a program structure of an operation model generated by the inserting & generating step shown in FIG.

【図16】シミュレーションプログラムの構造を示す図
である。
FIG. 16 is a diagram showing a structure of a simulation program.

【図17】図16に示したシミュレーション制御部の制
御の流れを示す図である。
17 is a diagram showing a control flow of the simulation controller shown in FIG.

【図18】図5に示した動作記述から生成される動作モ
デルを示す図である。
18 is a diagram showing an operation model generated from the operation description shown in FIG.

【図19】この発明の第3の実施形態による挿入&生成
ステップにおける処理の流れを詳しく示すフローチャー
トである。
FIG. 19 is a flowchart showing in detail the flow of processing in the inserting & generating step according to the third embodiment of the present invention.

【図20】図19に示した挿入&生成ステップによって
生成される動作モデルのプログラム構造を示す図であ
る。
20 is a diagram showing a program structure of an operation model generated by the inserting & generating step shown in FIG.

【図21】観測リソース状態データの構造を示す図であ
る。
FIG. 21 is a diagram showing a structure of observation resource state data.

【図22】レジスタを観測する場合に渡される観測リソ
ース状態ポインタを示す図である。
FIG. 22 is a diagram showing an observation resource state pointer passed when observing a register.

【図23】観測結果を格納したデータ例を示す図であ
る。
FIG. 23 is a diagram showing an example of data in which observation results are stored.

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

ST1 高位合成ステップ ST2 動作モデル合成ステップ ST21 抽出ステップ ST22 挿入&生成ステップ ST1 High-level synthesis step ST2 Behavior model synthesis step ST21 extraction step ST22 Insert & create step

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 デジタル回路の機能的動作記述から同期
サイクル毎の動作をシミュレートするための動作モデル
を生成する方法であって、 機能的動作記述から高位合成によって同期サイクル単位
での遅延情報を生成する高位合成工程と、 前記遅延情報に基づき同期サイクル遅延動作記述を前記
機能的動作記述に付加する遅延付加工程とを備えること
を特徴とする動作モデル生成方法。
1. A method for generating an operation model for simulating an operation in each synchronization cycle from a functional operation description of a digital circuit, wherein delay information in a synchronization cycle unit is obtained from the functional operation description by high-level synthesis. A behavior model generation method comprising: a high-level synthesis step of generating; and a delay addition step of adding a synchronous cycle delay behavior description to the functional behavior description based on the delay information.
【請求項2】 請求項1に記載の動作モデル生成方法に
おいて、 前記高位合成工程では、 前記機能的動作記述からコントロール/データフローグ
ラフを生成し、当該コントロール/データフローグラフ
を高位合成することによって動作遷移状態の割り当て情
報とハードウェア資源割り当て情報とを生成することを
特徴とする動作モデル生成方法。
2. The behavior model generation method according to claim 1, wherein in the high-level synthesis step, a control / data flow graph is generated from the functional behavioral description, and the control / data flow graph is high-level synthesized. A behavior model generation method characterized by generating allocation information of a motion transition state and hardware resource allocation information.
【請求項3】 請求項1に記載の動作モデル生成方法に
おいて、 前記遅延付加工程では、 前記高位合成工程によって割り当てられた状態遷移点の
動作記述ステップ毎にサイクル遅延をカウントし、処理
結果を出力するステップで当該カウントしたサイクル遅
延数に応じて出力を遅延させる記述を付加することを特
徴とする動作モデル生成方法。
3. The behavior model generation method according to claim 1, wherein in the delay addition step, a cycle delay is counted for each behavior description step of a state transition point assigned by the high level synthesis step, and a processing result is output. A behavior model generation method, wherein a description for delaying the output according to the counted cycle delay number is added in the step.
【請求項4】 請求項1に記載の動作モデル生成方法に
おいて、 前記遅延付加工程では、 前記高位合成手段によって割り当てられた状態遷移点の
動作記述ステップ毎に1サイクル動作を遅延させる記述
を付加することを特徴とする動作モデル生成方法。
4. The behavior model generation method according to claim 1, wherein in the delay adding step, a description for delaying one cycle operation is added for each behavior description step of a state transition point assigned by the high-level synthesis means. A behavior model generation method characterized by the above.
【請求項5】 請求項1に記載の動作モデル生成方法に
おいて、 同期サイクルに同期した動作及び状態変化を観測する記
述を前記機能的動作記述に付加する観測付加工程をさら
に備えることを特徴とする動作モデル生成方法。
5. The behavior model generation method according to claim 1, further comprising an observation adding step of adding a description for observing a behavior and a state change synchronized with a synchronization cycle to the functional behavior description. Behavior model generation method.
【請求項6】 請求項5に記載の動作モデル生成方法に
おいて、 前記観測付加工程では、 前記高位合成工程によって割り当てられた状態遷移点の
動作記述ステップ毎に状態遷移及び遷移時のシミュレー
ション時刻の情報を記録する記述を付加することを特徴
とする動作モデル生成方法。
6. The behavior model generation method according to claim 5, wherein in the observation adding step, state transition and simulation time information at the time of transition for each behavior description step of the state transition point assigned by the high-level synthesis step. A behavior model generation method characterized by adding a description for recording.
【請求項7】 請求項5に記載の動作モデル生成方法に
おいて、 前記観測付加工程では、 前記高位合成工程によって割り当てられたリソース種別
に応じて変数値を記録する記述を付加することを特徴と
する動作モデル生成方法。
7. The behavior model generating method according to claim 5, wherein the observation adding step adds a description for recording a variable value according to the resource type assigned by the high-level synthesis step. Behavior model generation method.
【請求項8】 請求項5に記載の動作モデル生成方法に
おいて、 前記観測付加工程では、 前記高位合成工程によってレジスタに割り当てられた変
数のトグル数の情報を記録する記述を付加することを特
徴とする動作モデル生成方法。
8. The behavior model generation method according to claim 5, wherein in the observation adding step, a description for recording the information on the toggle number of the variable assigned to the register in the high level synthesis step is added. Behavior model generation method.
【請求項9】 デジタル回路の機能的動作記述から同期
サイクル毎の動作をシミュレートする動作モデルを生成
する装置であって、 機能的動作記述から高位合成によって同期サイクル単位
での遅延情報を生成する高位合成手段と、 前記遅延情報に基づき同期サイクル遅延動作記述を前記
機能的動作記述に付加する遅延付加手段とを備えること
を特徴とする動作モデル生成装置。
9. An apparatus for generating an operation model for simulating an operation in each synchronization cycle from a functional operation description of a digital circuit, wherein delay information is generated in synchronization cycle units by high-level synthesis from the functional operation description. A behavior model generation device comprising: a high-level synthesis means; and a delay addition means for adding a synchronous cycle delay behavior description to the functional behavior description based on the delay information.
【請求項10】 請求項9に記載の動作モデル生成装置
において、 前記高位合成手段は、 前記機能的動作記述からコントロール/データフローグ
ラフを生成し、当該コントロール/データフローグラフ
を高位合成することによって動作遷移状態の割り当て情
報とハードウェア資源割り当て情報とを生成することを
特徴とする動作モデル生成装置。
10. The behavior model generation device according to claim 9, wherein the high-level synthesis means generates a control / data flow graph from the functional behavioral description and high-level synthesizes the control / data flow graph. An operation model generation device, which generates allocation information of an operation transition state and hardware resource allocation information.
【請求項11】 請求項9に記載の動作モデル生成装置
において、 前記遅延付加手段は、 前記高位合成手段によって割り当てられた状態遷移点の
動作記述ステップ毎にサイクル遅延をカウントし、処理
結果を出力するステップで当該カウントしたサイクル遅
延数に応じて出力を遅延させる記述を付加することを特
徴とする動作モデル生成装置。
11. The behavior model generation device according to claim 9, wherein the delay adding unit counts a cycle delay for each behavior description step of a state transition point assigned by the high-level synthesis unit and outputs a processing result. In the step of, the behavior model generation device is characterized in that a description for delaying the output according to the counted cycle delay number is added.
【請求項12】 請求項9に記載の動作モデル生成装置
において、 前記遅延付加手段は、 前記高位合成手段によって割り当てられた状態遷移点の
動作記述ステップ毎に1サイクル動作を遅延させる記述
を付加することを特徴とする動作モデル生成装置。
12. The behavior model generation device according to claim 9, wherein the delay adding unit adds a description for delaying a one-cycle operation for each behavior description step of a state transition point assigned by the high-level synthesis unit. A behavior model generation device characterized by the above.
【請求項13】 請求項9に記載の動作モデル生成装置
において、 同期サイクルに同期した動作及び状態変化を観測する記
述を前記機能的動作記述に付加する観測付加手段をさら
に備えることを特徴とする動作モデル生成装置。
13. The behavior model generation device according to claim 9, further comprising observation adding means for adding a description for observing a behavior and a state change synchronized with a synchronization cycle to the functional behavior description. Behavior model generator.
【請求項14】 請求項13に記載の動作モデル生成装
置において、 前記観測付加手段は、 前記高位合成手段によって割り当てられた状態遷移点の
動作記述ステップ毎に状態遷移及び遷移時のシミュレー
ション時刻の情報を記録する記述を付加することを特徴
とする動作モデル生成装置。
14. The behavior model generation device according to claim 13, wherein the observation adding means includes state transition and simulation time information at the time of transition for each behavior description step of the state transition point assigned by the high-level synthesis means. A behavior model generation device characterized in that a description for recording is added.
【請求項15】 請求項13に記載の動作モデル生成装
置において、 前記観測付加手段は、 前記高位合成手段によって割り当てられたリソース種別
に応じて変数値を記録する記述を付加することを特徴と
する動作モデル生成装置。
15. The behavior model generation device according to claim 13, wherein the observation adding unit adds a description for recording a variable value according to the resource type assigned by the high-level synthesis unit. Behavior model generator.
【請求項16】 請求項13に記載の動作モデル生成装
置において、 前記観測付加手段は、 前記高位合成手段によってレジスタに割り当てられた変
数のトグル数の情報を記録する記述を付加することを特
徴とする動作モデル生成装置。
16. The behavior model generation device according to claim 13, wherein the observation adding unit adds a description for recording information on a toggle number of a variable assigned to the register by the high-level synthesis unit. Behavior model generating device.
JP2001192295A 2001-06-26 2001-06-26 Behavioral model generation method and behavioral model generation device Pending JP2003006265A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001192295A JP2003006265A (en) 2001-06-26 2001-06-26 Behavioral model generation method and behavioral model generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001192295A JP2003006265A (en) 2001-06-26 2001-06-26 Behavioral model generation method and behavioral model generation device

Publications (1)

Publication Number Publication Date
JP2003006265A true JP2003006265A (en) 2003-01-10

Family

ID=19030768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001192295A Pending JP2003006265A (en) 2001-06-26 2001-06-26 Behavioral model generation method and behavioral model generation device

Country Status (1)

Country Link
JP (1) JP2003006265A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237858A (en) * 2009-03-30 2010-10-21 Sharp Corp High-level synthesis apparatus, high-level synthesis method, method for manufacturing semiconductor integrated circuit, control program, and readable storage medium
JP2017091467A (en) * 2015-11-17 2017-05-25 株式会社東芝 Virtual test system, virtual test method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237858A (en) * 2009-03-30 2010-10-21 Sharp Corp High-level synthesis apparatus, high-level synthesis method, method for manufacturing semiconductor integrated circuit, control program, and readable storage medium
JP2017091467A (en) * 2015-11-17 2017-05-25 株式会社東芝 Virtual test system, virtual test method and program

Similar Documents

Publication Publication Date Title
Chou et al. The chinook hardware/software co-synthesis system
Gajski et al. Specification and design of embedded hardware-software systems
JP3131177B2 (en) Method and apparatus for design verification using emulation and simulation
US8719742B2 (en) Conversion of circuit description to an abstract model of the circuit
Caldari et al. Transaction-level models for AMBA bus architecture using SystemC 2.0 [SOC applications]
US7146300B2 (en) Method of co-simulating a digital circuit
Pimentel et al. Calibration of abstract performance models for system-level design space exploration
US20020152061A1 (en) Data processing system and design system
JP2009522652A (en) System and method for generating multiple models at different levels of abstraction from a single master model
JP3803561B2 (en) Logic circuit design method
Herber et al. A HW/SW co-verification framework for SystemC
US6263303B1 (en) Simulator architecture
US20220091907A1 (en) Processor based logic simulation acceleration and emulation system
Shin et al. Interface synthesis from protocol specification
JP2009140388A (en) Method for generating performance evaluation model, method for evaluating system performance, and device for generating performance evaluation model
Schirner et al. Result-oriented modeling—A novel technique for fast and accurate TLM
Dömer et al. Specfic methodology for high-level modeling
US7162403B2 (en) System and method for efficiently tracing simulation data in hardware acceleration simulation systems
JP2003006265A (en) Behavioral model generation method and behavioral model generation device
JP4152659B2 (en) Data processing system and design system
Heinrich et al. Hardware/software co-design of the stanford FLASH multiprocessor
Helmstetter et al. Fast and accurate TLM simulations using temporal decoupling for FIFO-based communications
Maillet-Contoz et al. Transaction Level Modeling: An Abstraction Beyond RTL
TWI427496B (en) Method and system of generating a model of an integrated circuit
Harrath et al. Timed SystemC Waiting–State Automata