JP2003067439A - Method for system simulation - Google Patents

Method for system simulation

Info

Publication number
JP2003067439A
JP2003067439A JP2001261249A JP2001261249A JP2003067439A JP 2003067439 A JP2003067439 A JP 2003067439A JP 2001261249 A JP2001261249 A JP 2001261249A JP 2001261249 A JP2001261249 A JP 2001261249A JP 2003067439 A JP2003067439 A JP 2003067439A
Authority
JP
Japan
Prior art keywords
simulation
simulation means
communication
amount
communication amount
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
JP2001261249A
Other languages
Japanese (ja)
Inventor
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 JP2001261249A priority Critical patent/JP2003067439A/en
Publication of JP2003067439A publication Critical patent/JP2003067439A/en
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent an overall simulation speed from being lowered due to a decreased transfer rate becoming a bottleneck when data transferred between simulators and between hardware emulators are voluminous, when carrying out verification of a system architecture and simulation for performance analysis by coordinating a simulator on a computer with a hardware emulator. SOLUTION: The present invention analyzes a volume of communication between functional blocks utilizing result of operational simulation of the operation model in a high level of designing and assigns a simulation means so that a volume of communication in the boundary communication channel between a group of blocks to which a simulator is assigned and a group of blocks to which an emulator is assigned becomes minimal.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、LSIシステムや
コンピュータシステム等のデジタルシステムのシステム
アーキテクチャをサイクル精度で検証ないし性能評価す
るためのシミュレーション方法に関し、特にシミュレー
ション速度を高速化する対策に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a simulation method for verifying or evaluating the system architecture of a digital system such as an LSI system or a computer system with cycle accuracy, and more particularly to a measure for speeding up the simulation speed.

【0002】[0002]

【従来の技術】近年では、LSIの微細化および集積技
術の進展により、1チップLSIを用いて大規模なデジ
タルシステムを実現することが可能になっている。こう
したシステムの開発では、段階的に検証しつつトップダ
ウンに実行されるシステム仕様・動作設計から機能,論
理,レイアウトまでの設計を短期間に行い、早期に製品
化を図ることが必要になっている。
2. Description of the Related Art In recent years, it has become possible to realize a large-scale digital system using a one-chip LSI due to the miniaturization of LSI and the progress of integration technology. In the development of such a system, it is necessary to design in a short period of time, from system specifications / operation design to function, logic, and layout, which are executed top-down while verifying in stages, and to achieve early commercialization. There is.

【0003】特に、LSI化を前提としたシステムレベ
ルの仕様・動作、実現アーキテクチャの基本設計におい
ては、チップ製造後のアーキテクチャ変更が多大なコス
トを伴うものであることから、詳細設計を進める以前
に、システムLSIの処理性能やそのボトルネック部分
等の解析を行うことが求められる。そこで、Cプログラ
ム等を用いてシステムの機能的な動作記述を行って仕様
・機能を確認した後、機能を実現するアーキテクチャ
を、例えば、システムの動作・データフローをトランザ
クション精度でシミュレーションしたり、同期クロック
信号のサイクル精度でシミュレーションする等、適切な
精度でモデル化することにより、当該システムアーキテ
クチャの機能検証を行うとともに、目的のシステムアー
キテクチャで実現し得る性能の見積りや性能律束点の解
析を行うようになされる。
In particular, in the system level specifications / operations and the basic design of the realization architecture on the premise of the LSI implementation, since the architecture change after the chip manufacturing entails a great cost, before the detailed design is advanced. It is required to analyze the processing performance of the system LSI and its bottleneck portion. Therefore, after the functional behavioral description of the system is confirmed by using the C program and the specifications / functions are confirmed, the architecture that realizes the function is simulated, for example, by simulating the operation / data flow of the system with transaction accuracy, or by synchronizing. By performing simulation with the cycle accuracy of the clock signal and modeling with appropriate accuracy, the function of the system architecture is verified, and the performance that can be achieved with the target system architecture is estimated and the performance constraining point is analyzed. Is done like this.

【0004】その際に、機能検証の確度や性能解析の精
度を上げて複数のアーキテクチャ案から適切な設計選択
が行えるようにするには、最終的に、RTL記述に基づ
くHDLシミュレーション等、サイクル精度のシミュレ
ーションを行う必要がある。ところが、そのようなシミ
ュレーションでは、シミュレーション精度に反比例し
て、シミュレーション速度が遅く、例えば設計上位の仕
様・動作的なシミュレーションの場合の1000分の1
以下であり、よって、現実的な期間内に大規模なシステ
ムや複雑長大なパターンでの動作の検証・解析を行うこ
とは困難である。
At that time, in order to improve the accuracy of function verification and the accuracy of performance analysis so that an appropriate design selection can be made from a plurality of architecture plans, finally, cycle accuracy such as HDL simulation based on RTL description is required. It is necessary to perform the simulation of. However, in such a simulation, the simulation speed is slow in inverse proportion to the simulation accuracy, and for example, it is 1/1000 of the case of the design upper specification / operational simulation.
Therefore, it is difficult to verify / analyze the operation of a large-scale system or a complicated and long pattern within a realistic period.

【0005】このことから、現状では、プログラマブル
デバイスからなるハードウェアエミュレータ等の「シミ
ュレーションアクセラレータ」と呼ぶシミュレーション
手段や、サイクル精度に限定してシミュレーション処理
効率を上げるようにした「サイクルベースシミュレー
タ」と呼ぶシミュレーション手段を用いて、システムの
部分的なブロックやシステム全体のシミュレーションを
行うことで、シミュレーション速度の加速が図られてい
る。
For this reason, at present, it is called a "simulation accelerator" such as a hardware emulator composed of programmable devices, or a "cycle-based simulator" which limits the cycle accuracy to improve the simulation processing efficiency. By simulating a partial block of the system or the entire system by using a simulation means, the simulation speed is accelerated.

【0006】[0006]

【発明が解決しようとする課題】ところで、「シミュレ
ーションアクセラレータ」をコンピュータ上のシミュレ
ータと協調させてシミュレーションを実行するときに
は、一般にアクセラレータとコンピュータとの間の通信
速度が各々の処理速度に比べて遅いことから、両者間で
多くのデータ交換を必要とする場合には、従来では、そ
の通信速度がボトルネックになってシミュレーション速
度が低下するという問題がある。
By the way, when the "simulation accelerator" is executed in cooperation with the simulator on the computer to execute the simulation, the communication speed between the accelerator and the computer is generally slower than the processing speed of each computer. Therefore, when a large amount of data exchange is required between the two parties, conventionally, there is a problem that the communication speed becomes a bottleneck and the simulation speed decreases.

【0007】また、「サイクルベースシミュレータ」を
用いると、データのアクティブティが高くて動作量の多
いブロックに対しては、シミュレーションの高速化に有
効であるが、アクティブな部分が少なくて動作量の少な
いブロックに対しては、処理オーバヘッドが多いことか
ら、従来では、シミュレーション速度が上がらないとい
う問題がある。
Further, when the "cycle-based simulator" is used, it is effective for speeding up the simulation for a block having a high data activity and a large amount of operation, but the active portion is small and the amount of operation is small. Since the processing overhead is large for a small number of blocks, there is a problem that the simulation speed cannot be increased conventionally.

【0008】本発明は斯かる諸点に鑑みてなされたもの
であり、その主なる目的は、システムを具現化するアー
キテクチャの各構成ブロックにシミュレーション手段を
割り当ててサイクル精度のシミュレーションを行うに当
り、設計上位のシステムシミュレーション結果を利用す
ることで、シミュレーション速度の高速化が図れるよう
にすることにある。
The present invention has been made in view of the above points, and a main object thereof is to assign a simulation means to each constituent block of an architecture that embodies a system and perform a cycle-accurate simulation. By using the result of the higher-level system simulation, the simulation speed can be increased.

【0009】[0009]

【課題を解決するための手段】上記の目的を達成すべ
く、本発明では、設計上位のシステムシミュレーション
により得られるシステム構成ブロックにおけるデータ授
受の通信量に着目し、シミュレーションアクセラレータ
とコンピュータ上のシミュレータとを協調させてシミュ
レーションを行う場合には、該両シミュレータ手段間の
通信量が最小になるようにそれらシミュレーション手段
を割り当てるようにした。また、サイクルベースシミュ
レータをシミュレータ手段として用いる場合には、前記
の通信量から各ブロックの動作量を推定し、動作量の多
いブロックにのみサイクルベースシミュレータを割り当
てるようにした。
In order to achieve the above object, the present invention focuses on a communication amount of data exchange in a system configuration block obtained by a system simulation of a design upper level, and a simulation accelerator and a simulator on a computer. When the simulations are performed in cooperation with each other, the simulation means are assigned so that the communication amount between the two simulator means is minimized. Further, when the cycle-based simulator is used as the simulator means, the operation amount of each block is estimated from the above communication amount, and the cycle-based simulator is assigned only to the block having a large operation amount.

【0010】具体的には、請求項1の発明では、デジタ
ルシステムのアーキテクチャのサイクル精度でのシミュ
レーションを行うシステムシミュレーション方法を前提
としている。
Specifically, the invention of claim 1 is premised on a system simulation method for simulating the architecture of a digital system with cycle accuracy.

【0011】そして、設計上位のシステム動作モデルの
シミュレーションを行う動作シミュレーション工程と、
この動作シミュレーション工程でのシミュレーション結
果に基づき、前記システムの各構成ブロックにおけるデ
ータ授受の通信量を解析する通信量解析工程と、この通
信量解析工程での解析結果に基づき、設計下位にて具現
化された前記システムの各構成ブロックにシミュレーシ
ョン手段を割り当てるシミュレーション手段割当工程と
を備えるようにする。なお、各構成ブロックにおけるデ
ータ授受とは、各構成ブロックが他の構成ブロックとの
間で行うものとしてもよいし、これに、各構成ブロック
がシミュレーションテストベンチとの間で行うものを含
めてもよい。その場合に、シミュレーション手段割当工
程において、構成ブロックのみならず、シミュレーショ
ンテストベンチにも割り当てるようにすることができ
る。また、通信量は、単にデータ量であってもよいし、
アクセス回数や、アクセス回数およびデータ量を引数と
する任意の評価関数により与えられるものであってもよ
い。
Then, an operation simulation process for simulating a system operation model of a design upper level,
Based on the simulation result of this operation simulation process, a communication amount analysis process of analyzing the communication amount of data exchange in each component block of the system, and embodying in the lower design stage based on the analysis result of this communication amount analysis process And a simulation means assigning step of assigning a simulation means to each constituent block of the system. It should be noted that the data transmission / reception in each component block may be performed by each component block with another component block, or may be performed by each component block with the simulation test bench. Good. In that case, in the simulation means allocation step, not only the constituent blocks but also the simulation test bench can be allocated. Further, the communication amount may be simply the data amount,
It may be given by an arbitrary evaluation function having the access count, the access count and the data amount as arguments.

【0012】請求項2の発明では、請求項1の発明にお
いて、シミュレーション手段割当工程では、構成ブロッ
クにシミュレーション手段割当て上の制約があるとき
に、該制約と通信量解析工程での解析結果とを調停する
ようにする。
According to a second aspect of the present invention, in the first aspect of the present invention, in the simulation means assigning step, when the constituent block has a limitation in assigning the simulation means, the constraint and the analysis result in the communication amount analyzing step are displayed. Try to arbitrate.

【0013】請求項3の発明では、請求項2の発明にお
いて、シミュレーション手段割当工程では、複数のシミ
ュレーション手段を該複数のシミュレーション手段間の
通信量が小さくなるように割り当てるようにする。
According to a third aspect of the invention, in the second aspect of the invention, the simulation means allocating step allocates the plurality of simulation means so that the communication amount between the plurality of simulation means becomes small.

【0014】請求項4の発明では、請求項3の発明にお
いて、シミュレーション手段割当工程では、シミュレー
ション手段として、コンピュータ上のハードウェアシミ
ュレータと、プログラマブルデバイスを用いたハードウ
ェアエミュレータとを割り当てるようにする。
According to a fourth aspect of the present invention, in the third aspect of the present invention, in the simulation means assigning step, a hardware simulator on a computer and a hardware emulator using a programmable device are assigned as the simulation means.

【0015】この発明では、シミュレーション手段割当
工程において、通信量解析工程での解析結果に基づき、
設計下位にて具現化された前記システムの各構成ブロッ
クに、コンピュータ上のハードウェアシミュレータと、
プログラマブルデバイスを用いたハードウェアエミュレ
ータとを割り当てる際に、それらコンピュータ上のハー
ドウェアシミュレータとハードウェアエミュレータとの
間の通信量が小さくなるように割り当てられるので、両
者間のデータ通信量は抑えられる。よって、両者間の通
信速度が遅いことに起因するシステムシミュレーション
速度の低下が回避され、その分だけ、シミュレーション
全体の処理速度を向上させることが可能になる。
According to the present invention, in the simulation means allocation step, based on the analysis result in the communication amount analysis step,
In each component block of the system embodied in the lower design stage, a hardware simulator on a computer,
When allocating the hardware emulator using the programmable device, the hardware simulator and the hardware emulator on the computer are allocated so that the communication volume between them becomes small, so that the data communication volume between them can be suppressed. Therefore, it is possible to avoid a decrease in system simulation speed due to a low communication speed between the two, and the processing speed of the entire simulation can be improved accordingly.

【0016】請求項5の発明では、請求項1の発明にお
いて、動作シミュレーション工程では、システムが複数
の機能ブロックに分割されてなる動作モデルを用いるよ
うにする。
According to the invention of claim 5, in the invention of claim 1, in the operation simulation step, an operation model in which the system is divided into a plurality of functional blocks is used.

【0017】請求項6の発明では、請求項1の発明にお
いて、通信量解析工程では、通信量の時間的な推移を解
析することとし、シミュレーション手段割当工程では、
その通信量の時間的な推移に応じて、コンピュータ上の
ハードウェアシミュレータ及びプログラマブルデバイス
を用いたハードウェアエミュレータの割当てを行うよう
にする。
According to a sixth aspect of the present invention, in the first aspect of the present invention, the communication amount analyzing step analyzes the temporal transition of the communication amount, and the simulation means allocating step comprises:
A hardware simulator using a computer and a hardware emulator using a programmable device are assigned according to the temporal change of the communication amount.

【0018】この発明では、通信量解析工程では、通信
量の時間的な推移が解析される。そして、シミュレーシ
ョン手段割当工程では、その通信量の時間的な推移に応
じてシミュレーション手段が割り当てられる。よって、
シミュレーションの進行に伴って各構成ブロックにおけ
る通信量が変化する場合であっても、シミュレーション
手段間の通信量が平均的に抑えられた高速な協調シミュ
レーションが実行される。することができる。
According to the present invention, the communication traffic analysis step analyzes the temporal transition of the communication traffic. Then, in the simulation means allocating step, the simulation means is allocated according to the temporal transition of the communication amount. Therefore,
Even when the communication volume in each constituent block changes as the simulation progresses, high-speed co-simulation with the average communication volume between the simulation means is executed. can do.

【0019】請求項7の発明では、請求項1の発明にお
いて、シミュレーション手段割当工程では、各構成ブロ
ックの通信量の解析結果に基づいて該構成ブロックの動
作量を推定し、該動作量に基づいてシミュレーション手
段の割当てを行うようにする。
According to a seventh aspect of the present invention, in the first aspect of the invention, in the simulation means allocation step, the operation amount of the constituent block is estimated based on the analysis result of the communication amount of each constituent block, and based on the operation amount. To allocate simulation means.

【0020】請求項8の発明では、請求項7の発明にお
いて、動作シミュレーション工程では、各構成ブロック
の動作モードを制御する入力信号を観測して該各構成ブ
ロックの動作モード情報を生成することとし、シミュレ
ーション手段割当工程では、前記動作モード情報と通信
量解析工程での解析結果とに基づいて各構成ブロックの
動作量を推定するようにする。
According to the invention of claim 8, in the invention of claim 7, in the operation simulation step, an input signal for controlling an operation mode of each constituent block is observed to generate operation mode information of each constituent block. In the simulation means allocation step, the operation amount of each constituent block is estimated based on the operation mode information and the analysis result in the communication amount analysis step.

【0021】請求項9の発明では、請求項7又は8の発
明において、シミュレーション手段割当工程では、シミ
ュレーション手段として、サイクルベースシミュレーシ
ョン手段及びイベントドリブンシミュレーション手段を
割り当てるようにする。
According to a ninth aspect of the invention, in the seventh or eighth aspect of the invention, in the simulation means assigning step, the cycle-based simulation means and the event-driven simulation means are assigned as the simulation means.

【0022】この発明では、システム動作モデルの各構
成ブロックの通信量に基づいて、各構成ブロックの動作
量を推定し、その動作量に応じて、サイクルベースシミ
ュレーション手段と、イベントドリブンシミュレーショ
ン手段とを割り当てるようにすることで、動作量の比較
的少ない構成ブロックについては、イベントドリブンシ
ミュレーションによりシミュレーションすることがで
き、全体のシミュレーションを高速化することができ
る。
According to the present invention, the operation amount of each constituent block is estimated based on the communication amount of each constituent block of the system operation model, and the cycle-based simulation means and the event driven simulation means are selected according to the operation amount. By allocating the constituent blocks, a relatively small amount of operation can be simulated by event driven simulation, and the overall simulation can be speeded up.

【0023】[0023]

【発明の実施の形態】以下、本発明の実施形態を、図面
に基づいて説明する。なお、本発明はこの実施形態に何
等限定されるものではなく、要旨を逸脱しない範囲にお
いて種々なる態様で実施し得る。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. The present invention is not limited to this embodiment, and may be implemented in various modes without departing from the scope of the invention.

【0024】(実施形態1)図1は、本発明の実施形態
1に係るシステムシミュレーション方法の全工程を示し
ており、このシステムシミュレーション方法は、設計上
位のシステム動作モデルを実現するアーキテクチャをサ
イクル精度でシミュレーションするときに使用される。
また、その際のシミュレーション手段としては、コンピ
ュータ上のハードウェアシミュレータと、プログラマブ
ルデバイスからなるハードウェアエミュレータとが併用
される。
(Embodiment 1) FIG. 1 shows all steps of a system simulation method according to Embodiment 1 of the present invention. This system simulation method uses an architecture that realizes a system operation model of a design upper level with cycle accuracy. It is used when simulating in.
As a simulation means at that time, a hardware simulator on a computer and a hardware emulator made of a programmable device are used together.

【0025】ステップS1の動作シミュレーション工程
では、図2に示す設計上位のシステム動作モデル100
を用いて、動作シミュレーションを実施する。この動作
モデル100は、N個(N>1)の機能ブロック100
1,1001,…が各通信路1002を経由してデータ
の授受を行うことによりシステム動作を実行するように
なっている。この工程では、シミュレーションの進行に
伴って発生する機能ブロック1001,1001間のデ
ータ授受の記録を残しておくものとし、そのデータ授受
の記録内容は、図3に示すように、シミュレーション時
刻情報,通信路識別子及びデータ量とする。
In the operation simulation process of step S1, the system operation model 100 of the design upper level shown in FIG.
A motion simulation is carried out using. This behavior model 100 includes N (N> 1) functional blocks 100.
, 1001, ... Execute the system operation by exchanging data via each communication path 1002. In this step, a record of data exchange between the functional blocks 1001 and 1001 generated as the simulation progresses is left, and the record content of the data exchange is as shown in FIG. The road identifier and the amount of data.

【0026】なお、各機能ブロック1001の動作実行
及びデータの授受については、特定の同期を想定して実
行する計算モデルや、起点となるシステム入力から非同
期にトリガが掛かって実行する計算モデル等を採ること
ができる。また、動作モデル100としては、機能ブロ
ック1001,1001,…が特定のシステムアーキテ
クチャ構成要素(例えば、CPU,メモリ等)に相当し
ていて、それら機能ブロック1001,1001間の通
信路1002が、図4に示すように、システムバス10
020を経由する通信経路10021等に割り付けられ
るようになされたものであってもよい。さらに、動作シ
ミュレーションとしては、トランザクション単位のデー
タ授受に基づいて実行されるものであってもよい。
Regarding the operation execution and data transfer of each functional block 1001, there are a calculation model executed assuming a specific synchronization, a calculation model executed by an asynchronous trigger from a system input as a starting point, and the like. Can be taken. In the operation model 100, the functional blocks 1001, 1001, ... Correspond to specific system architecture constituent elements (eg, CPU, memory, etc.), and the communication path 1002 between the functional blocks 1001, 1001 is 4, the system bus 10
It may be assigned to the communication path 10021 passing through 020. Furthermore, the operation simulation may be executed based on data exchange in transaction units.

【0027】ステップS2の通信量解析工程では、図5
に示すように、ステップSa1において、機能ブロック
1001,1001間の通信路1002,1002,…
をリストアップする。ステップSa2では、そのリスト
から通信路1002を検索する。ステップSa3では、
ステップS1において作成されたデータ授受の記録を集
計し、検索された通信路1002を経由して行われた通
信のデータ量(以下、通信量という)を計算する。そし
て、ステップSa4での判断がNOであるとき、つま
り、全ての通信路1002,1002,…における通信
量の計算が終わったときに、ステップS3に移る。
In the communication amount analyzing step of step S2, the process shown in FIG.
As shown in FIG. 7, in step Sa1, communication paths 1002, 1002, ... Between the functional blocks 1001, 1001.
To list. In step Sa2, the communication path 1002 is searched from the list. In step Sa3,
The data transfer records created in step S1 are totaled, and the data amount of communication (hereinafter, referred to as communication amount) performed via the searched communication path 1002 is calculated. Then, when the determination in step Sa4 is NO, that is, when the calculation of the communication amount in all the communication paths 1002, 1002, ... Is completed, the process proceeds to step S3.

【0028】ステップS3のシミュレーション手段割当
工程では、図6に示すステップSb1〜ステップSb7
の処理により、動作モデル100の各機能ブロック10
01に対応するサイクル精度モデルに割り当てるシミュ
レーション手段(コンピュータ上のハードウェアシミュ
レータ及びハードウェアエミュレータ)を決定する。な
お、ここでは、動作モデル100は、図7に示すよう
に、A〜Fの6つの機能ブロック1001,1001,
…を有するものとする。また、A及びB機能ブロック1
001については、シミュレーション手段としてコンピ
ュータ上のシミュレータのみを適用可能であり、E及び
F機能ブロック1001については、シミュレーション
手段としてハードウェアエミュレータのみを割当可能で
あり、C及びD機能ブロック1001については、シミ
ュレーション手段としてハードウェアエミュレータ及び
コンピュータ上のシミュレータの双方を適用可能である
とする。
In the simulation means allocation step of step S3, steps Sb1 to Sb7 shown in FIG.
By the processing of FIG.
The simulation means (hardware simulator and hardware emulator on the computer) assigned to the cycle accuracy model corresponding to 01 is determined. Note that, here, the behavior model 100 includes six functional blocks 1001 to 1001 of A to F as shown in FIG.
Shall have ... Also, A and B function block 1
For 001, only a simulator on a computer can be applied as a simulation means, for the E and F function blocks 1001, only a hardware emulator can be assigned as a simulation means, and for the C and D function blocks 1001, a simulation can be performed. It is assumed that both a hardware emulator and a simulator on a computer can be applied as means.

【0029】まず、ステップSb1では、A〜Fの6つ
の機能ブロック1001,1001,…を、シミュレー
ション手段としてハードウェアエミュレータのみを割当
可能な機能ブロック1001,1001,…の初期グル
ープ3001と、それ以外の機能ブロック1001,1
001,…の初期グループ3002とに分ける。具体的
には、E及びF機能ブロック1001,1001からな
る初期グループ3001と、コンピュータ上のシミュレ
ータのみを割当可能なA及びB機能ブロック1001,
1001のサブグループ3003に、ハードウェアエミ
ュレータ及びコンピュータ上のシミュレータの双方を割
当可能なC及びD機能ブロック1001,1001を加
えてなる初期グループ3002とに分割する。そして、
ステップS2にて集計した通信路1002毎の通信量に
基づき、両初期グループ3001,3002間を横切る
2つの通信路1002,1002からなる境界通信路で
の通信量である境界通信量Xを算出する。
First, in step Sb1, the six function blocks 1001, 1001, ... Of A to F are set as an initial group 3001 of function blocks 1001, 1001 ,. Functional blocks 1001,1
001, ... and an initial group 3002. Specifically, an initial group 3001 composed of E and F function blocks 1001 and 1001 and an A and B function block 1001 to which only a simulator on a computer can be assigned.
The subgroup 3003 of 1001 is divided into an initial group 3002 in which C and D functional blocks 1001 and 1001 to which both a hardware emulator and a simulator on a computer can be assigned are added. And
Based on the communication traffic for each communication path 1002 collected in step S2, the boundary communication traffic X, which is the communication traffic on the boundary communication path composed of the two communication paths 1002 and 1002 crossing between the initial groups 3001 and 3002, is calculated. .

【0030】ステップSb2では、コンピュータ上のシ
ミュレータもハードウェアエミュレータも共に割当可能
な初期グループ3002のA〜D機能ブロック100
1,1001,…を、2つのグループに分ける組合せを
リストアップする。そして、ステップSb3では、その
リストから組合せを選択して全ての機能ブロック100
1,1001,…に対する新たなグループ分け候補を作
成し、ステップSb4では、その作成されたグループ分
け候補の境界通信量Yを計算する。
In step Sb2, the A to D function blocks 100 of the initial group 3002 to which both the simulator on the computer and the hardware emulator can be assigned.
A list of combinations that divide 1,1001, ... into two groups is listed. Then, in step Sb3, a combination is selected from the list to select all the functional blocks 100.
A new grouping candidate for 1,1001, ... Is created, and in step Sb4, the border traffic Y of the created grouping candidate is calculated.

【0031】ステップSb5では、現在のグループ分け
の境界通信量Xが今回のグループ分け候補の境界通信量
Yよりも大である(X>Y)か否かを判定する。判定が
YESであるときには、ステップSb6に移って、グル
ープ分け及び境界通信量を共に現在のものから今回のも
のに置き換えた後、ステップSb7に移る。一方、判定
がNOであるときには、現在のグループ分け及び境界通
信量を共に維持したまま、ステップSb7に移る。ステ
ップSb7では、他の組合せ可能なグループ分け候補が
有るか否かを判定する。判定がYESであるときには、
ステップSb3に戻る。一方、判定がNOであるときに
は、処理を終了する。このようにして、組合せの可能な
グループ分け候補がある限り、ステップSb3〜ステッ
プSb6の処理を繰り返し、それにより、ハードウェア
エミュレータのみを割当可能なE及びF機能グループ1
001,1001,…の初期グループ3001を含んで
いて、ハードウェアエミュレータが割り当てられるグル
ープと、コンピュータ上のシミュレーションが割り当て
られるグループとからなり、かつ、最小の境界通信量を
持つグループ分けを得る。
In step Sb5, it is determined whether or not the boundary communication amount X of the current grouping is larger than the boundary communication amount Y of the current grouping candidate (X> Y). If the determination is YES, the process moves to step Sb6, the grouping and the boundary traffic are both changed from the current one to the current one, and then the process moves to step Sb7. On the other hand, when the determination is NO, the process proceeds to step Sb7 while maintaining the current grouping and border traffic. In step Sb7, it is determined whether or not there is another grouping candidate that can be combined. When the determination is YES,
It returns to step Sb3. On the other hand, when the determination is NO, the process ends. In this way, as long as there are possible grouping candidates that can be combined, the processing of steps Sb3 to Sb6 is repeated, whereby the E and F functional groups 1 to which only the hardware emulator can be assigned.
The initial group 3001 of 001, 1001, ... Is included, a group to which a hardware emulator is assigned, a group to which a simulation on a computer is assigned, and a grouping having a minimum boundary communication amount is obtained.

【0032】ステップS4のシミュレーション手段割当
工程では、ステップS3で得られたグループ分けに応じ
て割り当てられたシミュレーション手段により、対応す
るサイクル精度モデルのシミュレーションを実行する。
In the simulation means assigning step of step S4, the simulation means assigned according to the grouping obtained in step S3 executes the simulation of the corresponding cycle accuracy model.

【0033】次に、上記のように構成されたシミュレー
ション方法の具体的な手順を、図8(a)に示すシステ
ム動作モデル100と、この動作モデル100を実現す
る同図(b)のアーキテクチャ102とを用いて説明す
る。
Next, the specific procedure of the simulation method configured as described above will be described with reference to the system operation model 100 shown in FIG. 8A, and the architecture 102 shown in FIG. 8B for realizing this operation model 100. It will be explained using and.

【0034】ここで、動作モデル100は、A〜Cの3
つの機能ブロック1001,1001,…からなってお
り、アーキテクチャ102は、A機能ブロック1001
を実現するCPU1021と、B機能ブロック1001
を実現するメモリ1022と、C機能ブロック1001
を実現する特定機能ハードブロック1023とからなる
ものとする。また、アーキテクチャ102のサイクル精
度でのシミュレーションを実行するに当り、CPU10
21はコンピュータ上のシミュレータでのみ実行可能で
あり、特定機能ハードブロック1023はエミュレータ
でのみ実行可能であり、メモリ1022は双方で実行可
能であるとする。
Here, the behavior model 100 is 3 of A to C.
., And the architecture 102 includes an A function block 1001.
CPU 1021 for realizing the above, and B functional block 1001
1022 for realizing the above, and C functional block 1001
And a specific function hardware block 1023 for realizing the above. In executing the simulation with cycle accuracy of the architecture 102, the CPU 10
21 is executable only by the simulator on the computer, the specific function hardware block 1023 is executable only by the emulator, and the memory 1022 is executable by both.

【0035】まず、ステップS1の動作シミュレーショ
ン工程では、図9に示すシナリオに基づき、動作モデル
100のシミュレーションが所定の単位時間Tの周期に
同期して実行される。このシミュレーションの進行に伴
い、同図に破線の矢印で示すように、機能ブロック10
01,1001,…間のデータ授受が行われ、その結
果、図10に示すような、通信の行われた時刻と、その
通信の行われた通信路1002と、その通信量とからな
るデータ授受の記録が得られる。
First, in the operation simulation step of step S1, a simulation of the operation model 100 is executed in synchronization with a cycle of a predetermined unit time T based on the scenario shown in FIG. With the progress of this simulation, as shown by a dashed arrow in FIG.
Data is transmitted and received between 01, 1001, ... As a result, as shown in FIG. 10, data transmission and reception including a time when communication is performed, a communication path 1002 through which the communication is performed, and the communication amount thereof. The record of is obtained.

【0036】次いで、ステップS2の通信量解析工程で
は、前記のデータ授受記録に基づき、図11に示すよう
な、各通信路1002における全通信量が得られる。
Next, in the communication amount analyzing step of step S2, the total communication amount in each communication path 1002 as shown in FIG. 11 is obtained based on the data transfer record.

【0037】しかる後、ステップS3のシミュレーショ
ン手段割当工程では、初期グループ分けと、その初期グ
ループ分けにおける境界通信量Xの計算とが行われ、次
に、グループ分け候補の作成と、そのグループ分け候補
における境界通信量Yの計算とが行われる。この例で
は、シミュレーション手段の割当制約の無いのはB機能
ブロック1001のみであるので、グループ分けは、図
12(a)に示す初期グループ分けと、同図(b)に示
す1つのグループ分け候補との2通りのみである。そし
て、境界通信量Xは、初期グループ分けでは、X=20
Mbyteであり、グループ分け候補では、X=34Mbyte
(>20Mbyte)であるので、初期グループ分けが選択
される。これにより、図13に示すように、CPU10
21及びメモリ1022にはコンピュータ上のシミュレ
ータが、また特定機能ブロック1023にはハードウェ
アエミュレータがそれぞれ割り当てられることになる。
Thereafter, in the simulation means allocating step of step S3, initial grouping and calculation of the boundary traffic X in the initial grouping are performed, and then grouping candidates are created and the grouping candidates are grouped. Boundary communication amount Y in is calculated. In this example, only the B functional block 1001 has no allocation constraint of the simulation means, so the grouping is performed by the initial grouping shown in FIG. 12A and one grouping candidate shown in FIG. There are only two ways. Then, the boundary traffic X is X = 20 in the initial grouping.
It is Mbyte, and X = 34 Mbyte in the grouping candidate
Since it is (> 20 Mbyte), the initial grouping is selected. As a result, as shown in FIG.
21 and the memory 1022 are assigned a simulator on a computer, and the specific function block 1023 is assigned a hardware emulator.

【0038】そして、ステップS4のシミュレーション
実行工程では、ステップS3の工程で割り当てられたシ
ミュレーション手段により、サイクル精度のシミュレー
ションが実行される。
Then, in the simulation execution step of step S4, the simulation means assigned in the step S3 executes a cycle-accurate simulation.

【0039】したがって、本実施形態によれば、設計上
位のシステム動作モデル100の動作シミュレーション
を行った後、そのシステムを実現するアーキテクチャ1
02のサイクル精度でのシミュレーションを行うに当
り、動作シミュレーション時の機能ブロック1001,
1001間の通信量を記録しておき、それら機能ブロッ
ク1001,1001,…に対応するシステムアーキテ
クチャ102の機能構成要素に割り当てられるコンピュ
ータ上のシミュレータとハードウェアエミュレータとの
間の通信量が最小となるようにそれらミュレーション手
段を割り当て、その割り当てられたシミュレーション手
段によりシミュレーションを行うようにしたので、コン
ピュータ上のシミュレータとハードウェアエミュレータ
との間の通信量を最小に抑えることができる。よって、
コンピュータ側とエミュレータ側との間の通信速度がボ
トルネックになっている条件の下において、そのような
通信速度に起因するシミュレーション速度の低下を抑え
ることができる結果、システムアーキテクチャの設計検
証及び性能解析等に要する設計期間の短縮化を図ること
ができる。
Therefore, according to this embodiment, the architecture 1 for realizing the system after performing the operation simulation of the system operation model 100 of the upper design level
When performing the simulation with the cycle accuracy of 02, the functional block 1001,
The amount of communication between 1001 is recorded, and the amount of communication between the simulator on the computer and the hardware emulator assigned to the functional components of the system architecture 102 corresponding to the functional blocks 1001, 1001, ... Is minimized. As described above, since the simulation means are assigned and the simulation is performed by the assigned simulation means, the communication amount between the simulator on the computer and the hardware emulator can be minimized. Therefore,
Under the condition that the communication speed between the computer side and the emulator side is a bottleneck, it is possible to suppress the decrease in simulation speed due to such communication speed, and as a result, design verification and performance analysis of the system architecture. It is possible to shorten the design period required for the above.

【0040】なお、上記の実施形態では、通信量を、デ
ータ量により与えるようにしているが、通信路1002
上のアクセス回数や、アクセス回数とデータ量とを引数
とする任意の評価関数等により与えるようにすることも
できる。
In the above embodiment, the amount of communication is given by the amount of data.
It is also possible to give it by the above-mentioned number of times of access or an arbitrary evaluation function having the number of times of access and the amount of data as arguments.

【0041】(実施形態2)図14及び図15は、それ
ぞれ、本発明の実施形態2に係るシステムシミュレーシ
ョン方法における通信量解析工程(ステップS2)及び
シミュレーション手段割付工程(ステップS3)の詳細
を示している。なお、実施形態1の場合と同じ部分には
同じ符号を付して示す。
(Embodiment 2) FIGS. 14 and 15 show details of the communication amount analysis step (step S2) and the simulation means allocation step (step S3) in the system simulation method according to the second embodiment of the present invention, respectively. ing. The same parts as those in the first embodiment are designated by the same reference numerals.

【0042】本実施形態では、シミュレーションの進行
に伴う通信量の変化に対応すべく、所定の単位時間をも
って区切られる期間毎にシミュレーション手段としての
コンピュータ上のシミュレータ及びハードウェアエミュ
レータの割当てを変更するようになされる。
In the present embodiment, the allocation of the simulator and the hardware emulator on the computer as the simulation means is changed for each period divided by a predetermined unit time in order to cope with the change in the communication amount accompanying the progress of the simulation. Done

【0043】具体的には、ステップ2の通信量解析工程
では、図14に示すように、ステップSc3の処理が実
施形態1におけるステップSa3(図5参照)の処理と
異なっており、このステップSc3では、ステップS1
で作成されたデータ授受の記録に基づく各通信路100
2毎の集計を、所定の単位期間毎に行うようになされて
おり、それを、対応する通信量とする。
Specifically, in the communication amount analysis step of step 2, as shown in FIG. 14, the processing of step Sc3 is different from the processing of step Sa3 (see FIG. 5) in the first embodiment, and this step Sc3 Then, step S1
Each communication channel 100 based on the record of data transfer created in
It is configured to perform the aggregation for each 2 for every predetermined unit period, and let it be the corresponding communication amount.

【0044】また、ステップS3のシミュレーション手
段割付工程では、図15に示すように、ステップSd8
及びステップSd9の処理が、実施形態1におけるステ
ップS3の処理に付加されており、これらのステップS
d8及びステップSd9では、シミュレーション手段の
割当てを各期間毎に行い、これにより、各期間毎のコン
ピュータシミュレータ及びハードウェアエミュレータの
割当てのスケジュールを得るようになされる。なお、そ
の他の構成は実施形態1の場合と同じであるので説明は
省略する。
Further, in the simulation means allocation step of step S3, as shown in FIG.
And the processing of step Sd9 is added to the processing of step S3 in the first embodiment.
In d8 and step Sd9, the simulation means is assigned for each period, and thereby the schedule for assigning the computer simulator and the hardware emulator for each period is obtained. The rest of the configuration is the same as that of the first embodiment, and therefore the description is omitted.

【0045】以上のように構成されたシステムシミュレ
ーション方法を、実施形態1の場合と同じ動作シミュレ
ーションを用いて具体的に説明する。なお、所定の単位
期間は、10T期間とする。また、ステップS1の動作
シミュレーション工程では、図16に示すような、第1
の10T期間における通信路1002毎の通信量の集計
と、第2の10T期間における通信路1002毎の通信
量の集計とが得られるものとする。
The system simulation method configured as described above will be specifically described using the same operation simulation as in the first embodiment. The predetermined unit period is 10T period. In the operation simulation process of step S1, the first simulation as shown in FIG.
It is assumed that the aggregated amount of communication for each communication channel 1002 in the 10T period and the aggregated amount of communication for each communication channel 1002 in the second 10T period are obtained.

【0046】この場合、第1の10T期間では、動作モ
デル100(図8参照(a))において、システムアー
キテクチャ102(同図(b)参照)のCPU1021
に対応するA機能ブロック1001と、同メモリ102
2に対応するB機能ブロック1001と、同特定機能ハ
ードブロック1023に対応するC機能ブロック100
1とは、A及びB機能ブロック1001のグループと、
C機能ブロック1001のグループとに分かれるグルー
ブ分けのときに、境界通信量XがX=0になるので、そ
のグループ分けが選択される。一方、第2の10T期間
では、A機能ブロック1001のグループと、B及びC
機能ブロック1001のグループとに分かれるグルーブ
分け参照)のときに、境界通信量XがX=0になるの
で、そのグループ分けが選択される。
In this case, in the first 10T period, the CPU 1021 of the system architecture 102 (see FIG. 8B) in the operation model 100 (see FIG. 8A).
A functional block 1001 corresponding to
2 corresponding to the B functional block 1001 and the C functional block 100 corresponding to the specific functional hardware block 1023.
1 is a group of A and B functional blocks 1001,
At the time of dividing the group into the group of the C function block 1001, the boundary communication amount X becomes X = 0, so that grouping is selected. On the other hand, in the second 10T period, the group of A function block 1001 and B and C
In the case of dividing into groups of the functional block 1001), the boundary communication amount X becomes X = 0, so that grouping is selected.

【0047】この結果、第1の10T期間の割当時に
は、図17(a)に示すように、CPU1021及びメ
モリ1022にコンピュータ上のシミュレータが、また
特定機能ブロック1023にハードウェアエミュレータ
がそれぞれ割り当てられる。一方、第2の10T期間の
割当時には、同図(b)に示すように、CPU1021
にコンピュータ上のシミュレータが、また特定機能ブロ
ック1023にハードウェアエミュレータがそれぞれ引
き続いて割り当てられ、メモリ1022に割り当てられ
るシミュレーション手段は、コンピュータ上のシミュレ
ータからハードウェアエミュレータに変更される。
As a result, when allocating the first 10T period, as shown in FIG. 17A, a simulator on a computer is allocated to the CPU 1021 and the memory 1022, and a hardware emulator is allocated to the specific function block 1023. On the other hand, when allocating the second 10T period, as shown in FIG.
A simulator on a computer and a hardware emulator to the specific function block 1023 are successively assigned, and the simulation means assigned to the memory 1022 is changed from the simulator on the computer to the hardware emulator.

【0048】したがって、本実施形態によれば、設計上
位のシステム動作モデル100の動作シミュレーション
を行う際に、所定単位期間10T毎に各通信路1002
の通信量を集計し、その単位期間10T毎にコンピュー
タ上のシミュレータ及びハードウェアエミュレータの割
当てを変更するようにしたスケジュールを作成し、この
スケジュールに基づいてそれらシステムシミュレーショ
ン手段を割り当てつつシミュレーションを行うようにし
たので、通信量が経時的に大きく変化する場合であって
も、コンピュータ上のシミュレータとハードウェアエミ
ュレータとの間の通信量を平均的に抑えることができ、
高速な協調シミュレーションを実行することができる。
Therefore, according to the present embodiment, when the operation simulation of the system operation model 100 of the upper design level is performed, each communication path 1002 is executed every predetermined unit period 10T.
Communication is calculated, a schedule is created in which the allocation of the simulator and the hardware emulator on the computer is changed every 10T of the unit period, and the simulation is performed while allocating the system simulation means based on this schedule. As a result, even if the traffic volume changes significantly over time, the traffic volume between the simulator on the computer and the hardware emulator can be suppressed on average,
High-speed co-simulation can be executed.

【0049】(実施形態3)図18は、本発明の実施形
態3に係るシステムシミュレーション方法におけるシミ
ュレーション手段割当工程を示している。なお、実施形
態1の場合と同じ部分には同じ符号を付して示す。
(Embodiment 3) FIG. 18 shows a simulation means allocation step in a system simulation method according to Embodiment 3 of the present invention. The same parts as those in the first embodiment are designated by the same reference numerals.

【0050】本実施形態では、システム動作モデル10
0の各機能ブロック1001の動作量を解析し、その動
作量に基づき、サイクルベースシミュレーション手段及
びイベントドリブンシミュレーション手段をシミュレー
ション手段として割り当てるようになされる。
In this embodiment, the system operation model 10
The operation amount of each functional block 0 of 0 is analyzed, and the cycle-based simulation means and the event driven simulation means are assigned as the simulation means based on the operation amount.

【0051】具体的には、本実施形態では、ステップS
3のシミュレーション手段割当工程が、実施形態1及び
実施形態2の場合と異なる。
Specifically, in this embodiment, step S
The simulation means allocation process of 3 is different from that of the first and second embodiments.

【0052】まず、ステップSe1では、動作モデル1
00の機能ブロック1001,1001,…をリストア
ップし、ステップSe2では、そのリストから機能ブロ
ック1001を検索する。次いで、ステップSe3で
は、検索された機能ブロック1001の動作量Zを計算
する。ここで、動作量Zは、ステップS2の通信量解析
工程で得られた通信量を基に得られるものであって、当
該機能ブロック1001において入出力される通信量の
総和、つまり、当該機能ブロック1001と他の機能ブ
ロック1001,1001,…との間の各通信路100
2における通信量の総和とする。その後、ステップSe
4では、当該機能ブロック1001の動作量Zが基準値
を超える(動作量Z>基準値)か否かを判定する。
First, in step Se1, the behavior model 1
The functional blocks 1001, 1001, ... Of 00 are listed up, and in step Se2, the functional block 1001 is searched from the list. Next, in step Se3, the motion amount Z of the searched functional block 1001 is calculated. Here, the movement amount Z is obtained based on the communication amount obtained in the communication amount analysis step of step S2, and is the sum of the communication amounts input and output in the function block 1001, that is, the function block. Each communication path 100 between 1001 and other functional blocks 1001, 1001, ...
It is the sum of the communication traffic in 2. After that, step Se
At 4, it is determined whether the motion amount Z of the functional block 1001 exceeds the reference value (motion amount Z> reference value).

【0053】そして、ステップSe4での判定がYES
であるときには、ステップSe5に移って、サイクルベ
ースシミュレーション手段を割り当てる。一方、判定が
NOであるときには、ステップSe6に移って、イベン
トドリブンシミュレーション手段を割り当てる。以上の
処理を全ての機能ブロック1001,1001,…に対
して行い、機能ブロック1001毎にシミュレーション
手段の割当てを行う。
Then, the determination in step Se4 is YES.
If so, the process proceeds to step Se5 and the cycle-based simulation means is assigned. On the other hand, when the determination is NO, the process moves to step Se6 and the event driven simulation means is assigned. The above processing is performed for all the functional blocks 1001, 1001, ..., And simulation means is assigned to each functional block 1001.

【0054】以上のように構成されたシステムシミュレ
ーション方法を、図8のシステム動作モデル100及び
システムアーキテクチャ102と、図11の通信路10
02毎の通信量の集計とを用いて具体的に説明する。な
お、動作量Zの基準値、即ち入出力されるデータ量の基
準値は、50Mbyteとする。
The system simulation method configured as described above is applied to the system operation model 100 and system architecture 102 of FIG. 8 and the communication path 10 of FIG.
A detailed description will be given by using the summation of communication amount for each 02. The reference value of the motion amount Z, that is, the reference value of the input / output data amount is 50 Mbytes.

【0055】この場合に、システム動作モデル100の
A機能ブロック1001,B機能ブロック1001,C
機能ブロック1101の各動作量Zは、図19に示すよ
うに、それぞれ、Z=34Mbyte(<50Mbyte),Z
=54Mbyte(>50Mbyte),Z=20Mbyte(<5
0Mbyte)である。よって、動作量Zが基準値を超える
のは、B機能ブロック1001、つまりシステムアーキ
テクチャ102のメモリ1022のみである。この結
果、動作量Zの多いメモリ1022のみにサイクルベー
スシミュレーション手段が割り当てられ、一方、動作量
Zの少ないCPU1021及び特定機能ハードブロック
1023にはイベントドリブンシミュレーション手段が
割り当てられるので、サイクルベースシミュレーション
手段の処理オーバヘッドを削減することができ、その分
だけ、シミュレーション速度を高めることができる。
In this case, the A function block 1001, B function block 1001, C of the system operation model 100
As shown in FIG. 19, the respective operation amounts Z of the functional block 1101 are Z = 34 Mbyte (<50 Mbyte) and Z, respectively.
= 54 Mbyte (> 50 Mbyte), Z = 20 Mbyte (<5
0 Mbyte). Therefore, the operation amount Z exceeds the reference value only in the B functional block 1001, that is, in the memory 1022 of the system architecture 102. As a result, the cycle-based simulation means is assigned only to the memory 1022 having a large operation amount Z, while the event-driven simulation means is assigned to the CPU 1021 and the specific function hard block 1023 having a small operation amount Z. The processing overhead can be reduced, and the simulation speed can be increased accordingly.

【0056】したがって、本実施形態によれば、各機能
ブロック1001の通信量からその動作量Zを計算し、
その動作量Zが基準値以上の機能ブロック1001に対
応する機能ハードブロックのみにサイクルベースシミュ
レーション手段を割り当てる一方、他の機能ハードブロ
ックにはイベントドリブンシミュレーション手段を割り
当てるようにしたので、動作量の少ない機能ハードブロ
ックをサイクルベースシミュレーション手段によりシミ
ュレーションする場合に発生する処理オーバヘッドを回
避することができ、その分だけ、シミュレーションに要
する期間を短縮することができる。
Therefore, according to the present embodiment, the operation amount Z is calculated from the communication amount of each functional block 1001,
Since the cycle-based simulation means is assigned only to the functional hard block corresponding to the functional block 1001 whose operation amount Z is equal to or larger than the reference value, the event-driven simulation means is assigned to the other functional hard blocks. It is possible to avoid the processing overhead that occurs when the functional hard block is simulated by the cycle-based simulation means, and the period required for the simulation can be shortened accordingly.

【0057】なお、上記の実施形態3では、入出力され
るデータ量を通信量とし、この通信量に基づいて動作量
Zを定めるようにしているが、動作量Zを得るための計
算式としては、1アクセスあたりの平均のデータ量やア
クセス回数等を用いることもできる。
In the third embodiment described above, the amount of input / output data is used as the communication amount, and the operation amount Z is determined based on this communication amount. However, as a calculation formula for obtaining the operation amount Z, Can also use the average amount of data per access, the number of accesses, etc.

【0058】また、上記の実施形態3では、通信量のみ
に基づいて動作量Zを得るようにしているが、例えば、
イネーブルされない機能ブロック1001に対応する機
能ハードブロックにはイベントドリブンシミュレーショ
ン手段が割り当てられるように、動作シミュレーション
工程において、各機能ブロック1001に対する動作イ
ネーブル信号等の制御信号を観測して当該機能ブロック
1001の動作モード情報を生成し、シミュレーション
手段割当工程において、その動作モード情報と通信量と
に基づいて動作量Zを推定するようにしてもよい。
In the third embodiment, the operation amount Z is obtained only based on the communication amount.
In order to allocate the event driven simulation means to the functional hard block corresponding to the functional block 1001 that is not enabled, the operation of the functional block 1001 is observed by observing the control signal such as the operation enable signal for each functional block 1001 in the operation simulation process. The mode information may be generated, and the operation amount Z may be estimated based on the operation mode information and the communication amount in the simulation means allocation step.

【0059】[0059]

【発明の効果】以上説明したように、請求項1の発明で
は、予め行われる設計上位のシステム動作モデルの動作
シミュレーション結果から当該システムの各構成ブロッ
クにおける通信量を解析し、その通信量に基づき、具現
化されたシステム構成ブロックにシミュレーション手段
を割り当てるようにしたので、例えば、シミュレーショ
ン手段としてコンピュータ上のシミュレータ及びハード
ウェアエミュレータを用いる場合には、それらシミュレ
ーション手段を両シミュレーション手段間の通信量が少
なくなるように割り当てるようにすることで、両シミュ
レーション手段間の通信速度の遅さに起因するシミュレ
ーション速度低下を防ぎ、設計検証及び性能解析等の設
計期間の短縮を図ることができるようになる。
As described above, according to the first aspect of the present invention, the communication amount in each constituent block of the system is analyzed from the result of the operation simulation of the system operation model of the design upper level performed in advance, and based on the communication amount, Since the simulation means is assigned to the embodied system configuration block, for example, when a simulator and a hardware emulator on a computer are used as the simulation means, the simulation means can reduce the communication traffic between the simulation means. By allocating as described above, it is possible to prevent a decrease in simulation speed due to a slow communication speed between both simulation means, and shorten the design period such as design verification and performance analysis.

【0060】請求項9の発明では、設計上位のシステム
動作モデルの各構成ブロックにおける通信量から、各構
成ブロックの動作量を推定し、その動作量に応じて、サ
イクルベースシミュレーション手段とイベントドリブン
シミュレーション手段とを割り当てるようにしたので、
サイクルベースシミュレーション手段のオーバヘッドを
少なくして短期間で全体のシミュレーションを行えるよ
うにすることができ、その結果、設計期間の短縮化に貢
献することができる。
According to the ninth aspect of the present invention, the operation amount of each constituent block is estimated from the communication amount of each constituent block of the system operation model of the design upper level, and the cycle-based simulation means and the event driven simulation are performed according to the operation amount. I decided to assign means and
It is possible to reduce the overhead of the cycle-based simulation means so that the entire simulation can be performed in a short period of time, and as a result, it is possible to contribute to shortening the design period.

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

【図1】本発明の実施形態1に係るシステムシミュレー
ション方法の全体構成を示すフローチャート図である。
FIG. 1 is a flowchart showing an overall configuration of a system simulation method according to a first embodiment of the present invention.

【図2】システム動作モデルの一例を示す図である。FIG. 2 is a diagram showing an example of a system operation model.

【図3】動作シミュレーションでの機能ブロック間にお
けるデータ授受の記録項目の一例を示す図である。
FIG. 3 is a diagram showing an example of record items of data exchange between functional blocks in an operation simulation.

【図4】システムアーキテクチャの一例を示す図であ
る。
FIG. 4 is a diagram showing an example of a system architecture.

【図5】通信量解析工程の詳細を示すフローチャート図
である。
FIG. 5 is a flowchart showing details of a communication amount analysis process.

【図6】シミュレーション手段割当工程の詳細を示すフ
ローチャート図である。
FIG. 6 is a flowchart showing details of a simulation means allocation step.

【図7】機能ブロックのグループ分けを示す図である。FIG. 7 is a diagram showing grouping of functional blocks.

【図8】具体的な説明に用いた動作モデル(a)及びア
ーキテクチャ(b)を併せて示す図である。
FIG. 8 is a diagram additionally showing an operation model (a) and an architecture (b) used for specific description.

【図9】動作シミュレーションの進行に伴う機能ブロッ
ク間におけるデータ授受のシナリオを示す図である。
FIG. 9 is a diagram showing a scenario of data exchange between functional blocks as the operation simulation progresses.

【図10】機能ブロック間におけるデータ授受の記録を
示す図である。
FIG. 10 is a diagram showing recording of data exchange between functional blocks.

【図11】機能ブロック間の通信路毎の通信量を示す図
である。
FIG. 11 is a diagram showing a communication amount for each communication path between functional blocks.

【図12】機能ブロックの初期グルーブ分け(a)及び
グルーブ分け候補(b)を併せて示す図である。
FIG. 12 is a diagram collectively showing an initial groove division (a) and a groove division candidate (b) of a functional block.

【図13】コンピュータ上のシミュレータ及びハードウ
ェアエミュレータの割当てを示す図である。
FIG. 13 is a diagram showing allocation of a simulator and a hardware emulator on a computer.

【図14】本発明の実施形態2に係るシステムシミュレ
ーション方法における通信量解析工程の詳細を示すフロ
ーチャート図である。
FIG. 14 is a flowchart showing details of a communication amount analysis step in the system simulation method according to the second embodiment of the present invention.

【図15】シミュレーション手段割当工程の詳細を示す
フローチャート図である。
FIG. 15 is a flowchart showing details of a simulation means allocation step.

【図16】第1及び第2の各期間における機能ブロック
間の通信路毎の通信量を示す図である。
FIG. 16 is a diagram showing a communication amount for each communication path between the functional blocks in each of the first and second periods.

【図17】第1の期間(a)及び第2の期間(b)にお
けるシミュレーション手段の割当てを併せて示す図であ
る。
FIG. 17 is a diagram showing the allocation of simulation means in the first period (a) and the second period (b) together.

【図18】本発明の実施形態3に係るシステムシミュレ
ーション方法におけるシミュレーション手段割当工程の
詳細を示すフローチャート図である。
FIG. 18 is a flowchart showing details of a simulation means allocation step in the system simulation method according to the third embodiment of the present invention.

【図19】各機能ブロックの動作量を示す図である。FIG. 19 is a diagram showing an operation amount of each functional block.

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

100 システム動作モデル 1001 機能ブロック(動作モデルの構成ブロック) 102 システムアーキテクチャ 1021 CPU(アーキテクチャの構成ブロック) 1022 メモリ(アーキテクチャの構成ブロック) 1023 特定機能ハードブロック(アーキテクチャの
構成ブロック) Z 動作量
100 system operation model 1001 function block (configuration block of operation model) 102 system architecture 1021 CPU (architecture configuration block) 1022 memory (architecture configuration block) 1023 specific function hard block (architecture configuration block) Z operation amount

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 デジタルシステムのアーキテクチャのサ
イクル精度でのシミュレーションを行うシステムシミュ
レーション方法であって、 設計上位のシステム動作モデルのシミュレーションを行
う動作シミュレーション工程と、 前記動作シミュレーション工程でのシミュレーション結
果に基づき、前記システムの各構成ブロックにおけるデ
ータ授受の通信量を解析する通信量解析工程と、 前記通信量解析工程での解析結果に基づき、設計下位に
て具現化された前記システムの各構成ブロックにシミュ
レーション手段を割り当てるシミュレーション手段割当
工程とを備えていることを特徴とするシステムシミュレ
ーション方法。
1. A system simulation method for simulating the architecture of a digital system with cycle accuracy, comprising: an operation simulation step of simulating a system operation model of a design upper layer; and a simulation result of the operation simulation step. A communication amount analyzing step of analyzing a communication amount of data exchange in each constituent block of the system, and a simulation means for each constituent block of the system embodied in a lower design stage based on an analysis result in the communication amount analyzing step. And a simulation means allocating step for allocating.
【請求項2】 請求項1記載のシステムシミュレーショ
ン方法において、 シミュレーション手段割当工程では、構成ブロックにシ
ミュレーション手段割当て上の制約があるときに、該制
約と通信量解析工程での解析結果とを調停することを特
徴とするシステムシミュレーション方法。
2. The system simulation method according to claim 1, wherein, in the simulation means allocation step, when there is a restriction on allocation of the simulation means in the constituent block, the restriction and the analysis result in the communication amount analysis step are arbitrated. A system simulation method characterized by the above.
【請求項3】 請求項2記載のシステムシミュレーショ
ン方法において、 シミュレーション手段割当工程では、複数のシミュレー
ション手段を該複数のシミュレーション手段間の通信量
が小さくなるように割り当てることを特徴とするシステ
ムシミュレーション方法。
3. The system simulation method according to claim 2, wherein in the simulation means allocating step, a plurality of simulation means are allocated so that a communication amount between the plurality of simulation means becomes small.
【請求項4】 請求項3記載のシステムシミュレーショ
ン方法において、 シミュレーション手段割当工程では、シミュレーション
手段として、コンピュータ上のハードウェアシミュレー
タと、プログラマブルデバイスを用いたハードウェアエ
ミュレータとを割り当てることを特徴とするシステムシ
ミュレーション方法。
4. The system simulation method according to claim 3, wherein in the simulation means allocation step, a hardware simulator on a computer and a hardware emulator using a programmable device are allocated as the simulation means. Simulation method.
【請求項5】 請求項1記載のシステムシミュレーショ
ン方法において、 動作シミュレーション工程では、システムが複数の機能
ブロックに分割されてなる動作モデルを用いてシミュレ
ーションを行うことを特徴とするシステムシミュレーシ
ョン方法。
5. The system simulation method according to claim 1, wherein in the operation simulation step, the system is divided into a plurality of functional blocks to perform a simulation.
【請求項6】 請求項1記載のシステムシミュレーショ
ン方法において、 通信量解析工程では、通信量の時間的な推移を解析し、 シミュレーション手段割当工程では、前記通信量解析工
程にて解析された通信量の時間的な推移に応じて、シミ
ュレーション手段の割当てを行うことを特徴とするシス
テムシミュレーション方法。
6. The system simulation method according to claim 1, wherein the communication amount analyzing step analyzes a temporal transition of the communication amount, and the simulation means assigning step analyzes the communication amount analyzed in the communication amount analyzing step. A system simulation method characterized by allocating simulation means in accordance with the temporal transition of.
【請求項7】 請求項1記載のシステムシミュレーショ
ン方法において、 シミュレーション手段割当工程では、各構成ブロックの
通信量の解析結果に基づいて該構成ブロックの動作量を
推定し、該動作量に基づいてシミュレーション手段の割
当てを行うことを特徴とするシステムシミュレーション
方法。
7. The system simulation method according to claim 1, wherein in the simulation means allocating step, the operation amount of the constituent block is estimated based on the analysis result of the communication amount of each constituent block, and the simulation is performed based on the operation amount. A system simulation method characterized by allocating means.
【請求項8】 請求項7記載のシステムシミュレーショ
ン方法において、 動作シミュレーション工程では、各構成ブロックの動作
モードを制御する入力信号を観測して該各構成ブロック
の動作モード情報を生成し、 シミュレーション手段割当工程では、前記動作モード情
報と通信量解析工程での解析結果とに基づいて各構成ブ
ロックの動作量を推定することを特徴とするシステムシ
ミュレーション方法。
8. The system simulation method according to claim 7, wherein in the operation simulation step, an input signal for controlling an operation mode of each constituent block is observed to generate operation mode information of each constituent block, and the simulation means allocation is performed. In the step, the operation amount of each constituent block is estimated based on the operation mode information and the analysis result in the communication amount analysis step.
【請求項9】 請求項7又は8記載のシステムシミュレ
ーション方法において、 シミュレーション手段割当工程では、シミュレーション
手段として、サイクルベースシミュレーション手段及び
イベントドリブンシミュレーション手段を割り当てるこ
とを特徴とするシステムシミュレーション方法。
9. The system simulation method according to claim 7, wherein in the simulation means allocation step, cycle-based simulation means and event-driven simulation means are allocated as the simulation means.
JP2001261249A 2001-08-30 2001-08-30 Method for system simulation Pending JP2003067439A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001261249A JP2003067439A (en) 2001-08-30 2001-08-30 Method for system simulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001261249A JP2003067439A (en) 2001-08-30 2001-08-30 Method for system simulation

Publications (1)

Publication Number Publication Date
JP2003067439A true JP2003067439A (en) 2003-03-07

Family

ID=19088323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001261249A Pending JP2003067439A (en) 2001-08-30 2001-08-30 Method for system simulation

Country Status (1)

Country Link
JP (1) JP2003067439A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101199479B1 (en) 2008-12-22 2012-11-09 한국전자통신연구원 Simulating method and apparatus for automatic test of application
CN103748557A (en) * 2011-07-22 2014-04-23 三星电子株式会社 Simulation device and simulation method therefor
US10909021B2 (en) 2016-02-01 2021-02-02 Nec Corporation Assistance device, design assistance method, and recording medium storing design assistance program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101199479B1 (en) 2008-12-22 2012-11-09 한국전자통신연구원 Simulating method and apparatus for automatic test of application
CN103748557A (en) * 2011-07-22 2014-04-23 三星电子株式会社 Simulation device and simulation method therefor
JP2014522029A (en) * 2011-07-22 2014-08-28 サムスン エレクトロニクス カンパニー リミテッド Simulation apparatus and simulation method thereof
KR101818760B1 (en) 2011-07-22 2018-01-15 삼성전자주식회사 Simulation apparatus and simulation method thereof
US10162913B2 (en) 2011-07-22 2018-12-25 Samsung Electronics Co., Ltd. Simulation device and simulation method therefor
US10909021B2 (en) 2016-02-01 2021-02-02 Nec Corporation Assistance device, design assistance method, and recording medium storing design assistance program

Similar Documents

Publication Publication Date Title
US8073820B2 (en) Method and system for a database to monitor and analyze performance of an electronic design
JP4994393B2 (en) System and method for generating multiple models at different levels of abstraction from a single master model
US7260517B2 (en) Synchronization of multiple simulation domains in an EDA simulation environment
Chakraborty et al. Performance evaluation of network processor architectures: Combining simulation with analytical estimation
US7603643B2 (en) Method and system for conducting design explorations of an integrated circuit
US8453086B2 (en) System and method for analyzing power consumption of electronic design undergoing emulation or hardware based simulation acceleration
Kumar et al. Profile-driven behavioral synthesis for low-power VLSI systems
US8229723B2 (en) Performance software instrumentation and analysis for electronic design automation
US8886509B2 (en) Coherent state among multiple simulation models in an EDA simulation environment
CN105138769B (en) A kind of temporal model generation method and device for programmable circuit
US7822591B2 (en) Logic circuit model conversion apparatus and method thereof; and logic circuit model conversion program
JP2005293163A (en) Power consumption calculation method and apparatus
Darringer et al. Early analysis tools for system-on-a-chip design
Bobrek et al. Stochastic contention level simulation for single-chip heterogeneous multiprocessors
Baghdadi et al. Design space exploration for hardware/software codesign of multiprocessor systems
Schirner et al. Result-oriented modeling—A novel technique for fast and accurate TLM
Marcon et al. CAFES: A framework for intrachip application modeling and communication architecture design
JP2003067439A (en) Method for system simulation
Boutros et al. RAD-Sim: Rapid architecture exploration for novel reconfigurable acceleration devices
JP2002108958A (en) System and method for designing circuit and computer readable recording medium stored with circuit design program
US9876729B1 (en) Method and system for efficient data streaming in an emulation system
de Lima Jr et al. Synthesis of dependency-aware traffic generators from NoC simulation traces
Kreku et al. Workload simulation method for evaluation of application feasibility in a mobile multiprocessor platform
Rowson Virtual prototyping
Mohamed HW/SW Co-Exploration and Co-Design