Nothing Special   »   [go: up one dir, main page]

JP3000941B2 - Distributed logic simulator - Google Patents

Distributed logic simulator

Info

Publication number
JP3000941B2
JP3000941B2 JP23962496A JP23962496A JP3000941B2 JP 3000941 B2 JP3000941 B2 JP 3000941B2 JP 23962496 A JP23962496 A JP 23962496A JP 23962496 A JP23962496 A JP 23962496A JP 3000941 B2 JP3000941 B2 JP 3000941B2
Authority
JP
Japan
Prior art keywords
simulation
model
distributed
processor
processors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP23962496A
Other languages
Japanese (ja)
Other versions
JPH1091657A (en
Inventor
訓治 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP23962496A priority Critical patent/JP3000941B2/en
Publication of JPH1091657A publication Critical patent/JPH1091657A/en
Application granted granted Critical
Publication of JP3000941B2 publication Critical patent/JP3000941B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は分散論理シミュレー
タに関し、特に論理シミュレーションを行う複数のシミ
ュレーションプロセッサに対して、シミュレーション対
象モデルの論理記述を前記シミュレーションプロセッサ
に夫々割付けて分散処理するようにした分散論理シミュ
レータに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed logic simulator, and more particularly, to a distributed logic in which a logic description of a model to be simulated is distributed to a plurality of simulation processors for performing a logic simulation by distributing the logic description of the model to the simulation processor. It is about a simulator.

【0002】[0002]

【従来の技術】従来の論理回路の分散シミュレーション
方式としては、特開平3−252870号公報に示され
た方式があり、図10(A)にその例を示す。この例に
関して簡単にいえば、ホストコンピュータ100に複数
のシミュレーション端末101〜10nを接続した方式
である。
2. Description of the Related Art As a conventional distributed simulation method for a logic circuit, there is a method disclosed in Japanese Patent Application Laid-Open No. 3-252870, and FIG. 10A shows an example thereof. To briefly describe this example, a method in which a plurality of simulation terminals 101 to 10n are connected to a host computer 100 is used.

【0003】この方式では、図10(B)のフローに示
す通り、各端末101〜10nはホストコンピュータ1
00からの指令に基づいてシミュレーションを行い、シ
ミュレーション結果をホストコンピュータ101に返す
仕組みとなっている。全ての端末のシミュレーション結
果は一旦ホストコンピュータに集められて、ホストコン
ピュータから新たなデータを作成して端末に送り、次の
シミュレーションを指示する。
In this method, as shown in the flow chart of FIG.
The simulation is performed based on a command from 00, and the simulation result is returned to the host computer 101. The simulation results of all terminals are once collected in the host computer, new data is created from the host computer, sent to the terminal, and the next simulation is instructed.

【0004】この方式では、シミュレーションの基準ク
ロックと入出力ピン情報はホストコンピュータ100が
管理しており、各端末101〜10nはホストコンピュ
ータ100から与えられたデータをシミュレーションし
て結果をホストに返すだけの機能しか備えていない。ま
た、シミュレーションモデルの作成及び管理は各端末が
行うため、端末間のシミュレーション負荷の均一化がさ
れていない。
In this method, the reference clock and input / output pin information for the simulation are managed by the host computer 100, and each of the terminals 101 to 10n simulates data given from the host computer 100 and only returns the result to the host. It only has the function of. In addition, since the simulation model is created and managed by each terminal, the simulation load among the terminals is not equalized.

【0005】[0005]

【発明が解決しようとする課題】第一の問題点は、ホス
トコンピュータと各端末との接続がスター方式になるた
め、端末数が増加するとホストコンピュータの通信トラ
フィックが膨大になる点である。このため、通信レイテ
ンシ(latency) の大きなネットワークでは、各端末はホ
ストコンピュータの応答を待っている時間が増加し、分
散処理の効率が悪化する。
The first problem is that since the connection between the host computer and each terminal is in a star system, the communication traffic of the host computer becomes enormous as the number of terminals increases. For this reason, in a network having a large communication latency, each terminal waits for a response from the host computer, and the efficiency of distributed processing deteriorates.

【0006】第二の問題点は、ホストコンピュータはシ
ミュレーション規模の増加に比例した処理能力が必要と
なり、各端末の処理が終了してからホストコンピュータ
の処理が終了するまでの間は、各端末が次の処理に取掛
かることが出来ない点である。これは、分散処理の並列
度を低下させる要因であり、並列度が低下すると端末の
台数効果は低くなり、シミュレーション速度の低下につ
ながる。
[0006] The second problem is that the host computer needs a processing capacity in proportion to the increase in the scale of the simulation, and each terminal operates between the end of the processing of each terminal and the end of the processing of the host computer. The point is that it is not possible to start the next process. This is a factor that reduces the degree of parallelism in the distributed processing. When the degree of parallelism decreases, the effect of the number of terminals decreases, leading to a reduction in simulation speed.

【0007】第三の問題点は、各端末でモデル作成が閉
じているため、各端末のシミュレーション負荷が不均等
になる点である。ある端末の負荷が他の端末に比べて高
い場合、シミュレーションはその端末の処理が律速とな
り、負荷の軽い端末に処理を委ねることができない。
A third problem is that the simulation load of each terminal becomes uneven because model creation is closed at each terminal. When the load of a certain terminal is higher than that of another terminal, in the simulation, the processing of that terminal is rate-determining, and the processing cannot be delegated to a lightly loaded terminal.

【0008】以上の問題点により、数百万〜数千万ゲー
トクラスの大規模な論理記述をシミュレーションするた
めには、シミュレーションを統括するホストコンピュー
タ方式には実用上の限界がある。
Due to the above problems, there is a practical limit to the host computer system that supervises the simulation in order to simulate a large-scale logic description of several millions to tens of millions of gates.

【0009】本発明はこの様な従来技術の問題点に鑑み
なされたものであって、その目的とするところは、上述
の端末としての各シミュレーションプロセッサに対して
シミュレーション対象モデルのシミュレーションを完全
に分散して並行処理をなすようにした分散論理シミュレ
ーションを提供することにある。
SUMMARY OF THE INVENTION The present invention has been made in view of such problems of the prior art, and it is an object of the present invention to completely disperse the simulation of a simulation target model to each of the above-described simulation processors as terminals. Another object of the present invention is to provide a distributed logic simulation in which parallel processing is performed.

【0010】[0010]

【課題を解決するための手段】 本発明によれば、互い
にネットワークで接続され論理シミュレーションを行う
複数のシミュレーションプロセッサに対して、シミュレ
ーション対象モデルの論理記述を前記シミュレーション
プロセッサに夫々割付けて分散処理するようにした分散
論理シミュレータであって、前記シミュレーションプロ
セッサの各々に対して前記シミュレーション対象モデル
の論理記述を夫々分散して割当てるモデル分散手段と、
このモデル分散結果に基いて前記シミュレーションプロ
セッサの各々に対してシミュレーションの実行手続きを
夫々分散し割当てる実行手続分散手段とを含み、前記モ
デル分散手段は、前記シミュレーション対象モデルの論
理記述を基にこのモデルを構成するユニット毎の論理規
模、シミュレーションに必要なメモリ量を算出する手段
と、前記論理記述を基に前記ユニット毎のユニット相互
間依存率を算出する手段と、前記シミュレーションプロ
セッサの各々の性能を示す性能パラメータ、前記論理規
模、メモリ量及びユニット相互間依存率を基に、予め定
められたコスト算出式に従って前記ユニットの各コスト
を算出する手段と、前記ユニット毎に算出コストが最小
となるシミュレーションプロセッサを求めてこのシミュ
レーションプロセッサに対して対応ユニットの論理記述
を割当てる手段とを有し、前記シミュレーションプロセ
ッサの各々が割当てられた分散モデルと分散実行手続
きとに従って並行してシミュレーションを実行するよう
に構成され、前記シミュレーションプロセッサの各々に
自己のシミュレーションの分散実行結果を分散格納する
手段を設け、これ等各シミュレーションプロセッサの分
散実行結果のうち必要な結果を収集して編集可能とした
ことを特徴とする分散論理シミュレータが得られる。
According to the present invention, a logical description of a model to be simulated is distributed to a plurality of simulation processors connected to each other via a network and performing a logic simulation, by performing the distributed processing. A distributed logic simulator comprising: a model distributing means for distributing and assigning a logical description of the simulation target model to each of the simulation processors;
And a running procedure dispersion means the execution procedure of the simulation each dispersed allocated to each of said simulation processors based on this model the dispersion result, the motor
The Dell dispersion means is configured to execute a
Logical rules for each unit that composes this model based on the logical description
Means for calculating the amount of memory required for simulation
And the unit mutual of each unit based on the logical description.
Means for calculating the inter-dependency, and the simulation program
A performance parameter indicating the performance of each of the processors,
Model, memory size, and inter-unit dependence.
Each unit cost according to the calculated cost formula
Means for calculating the minimum cost for each unit
For this simulation processor
Logical description of the corresponding unit for the translation processor
And means for allocating each of said simulation processors is configured to perform the simulation in parallel in accordance with the assigned distribution model and distributed execution procedure, each distributed execution of its simulation of the simulation processor There is provided a distributed logic simulator characterized in that means for distributing and storing results are provided, and necessary results among the distributed execution results of these simulation processors are collected and edited.

【0011】[0011]

【0012】[0012]

【0013】また、前記性能パラメータとして、前記ネ
ットワークの通信容量及び通信速度を含むことを特徴と
する。
Further, the performance parameters include a communication capacity and a communication speed of the network.

【0014】本発明の作用を述べる。本発明では、シミ
ュレーションを分散するために、主に、シミュレーショ
ンモデルの分散,シミュレーション手続の分散を行って
いる。先ず、シミュレーションモデルの分散処理におい
て、分散パラメータ情報ファイルを参照し、分散処理の
効率が最高になるモデルの分割を行う。この分散パラメ
ータ情報ファイルには、分散処理の効率の鍵となる情
報、例えば各プロセッサの処理能力やネットワークの通
信容量及び通信速度等が記述されている。
The operation of the present invention will be described. In the present invention, in order to disperse the simulation, the dispersion of the simulation model and the dispersion of the simulation procedure are mainly performed. First, in the distributed processing of the simulation model, the model that maximizes the efficiency of the distributed processing is divided with reference to the distributed parameter information file. This distribution parameter information file describes information that is key to the efficiency of distributed processing, such as the processing capacity of each processor, the communication capacity and communication speed of the network, and the like.

【0015】また、分散したモデル情報を翻訳してモデ
ルに特化したシミュレータを生成することにより、汎用
のシミュレータでは必須となるモデル情報の読込みと解
釈を不要とし、より高速なシミュレーションを実行でき
る。しかも、分散したモデル情報を個々のプロセッサが
並列に翻訳するため、翻訳処理の実行時間は極めて短
い。
Further, by generating a simulator specialized for a model by translating the distributed model information, it becomes unnecessary to read and interpret model information, which is indispensable for a general-purpose simulator, and a higher-speed simulation can be executed. Moreover, since the individual processors translate the distributed model information in parallel, the execution time of the translation process is extremely short.

【0016】次に、シミュレーション手続の分散におい
て、上記のモデル分散処理にて分散モデルの情報が作成
されているので、それに基づいて、ユーザの記述したシ
ミュレーション手続を個々の分散モデルが必要とする一
対一の制御情報に変換する。個々のシミュレータは自分
の制御情報を受取り、シミュレーションを実行する。こ
のため、ホストコンピュータ方式による集中管理は必要
とせず、個々のプロセッサが自立して分散シミュレーシ
ョンを実行する。
Next, in the distribution of the simulation procedure, since the information of the distribution model is created by the above-mentioned model distribution processing, the simulation procedure described by the user is executed based on the information of the distribution model. Is converted into one control information. Each simulator receives its own control information and executes the simulation. Therefore, the centralized management by the host computer system is not required, and the individual processors independently execute the distributed simulation.

【0017】尚、以上のモデル分散及び手続分散に加え
て、更にシミュレーション記録の分散をも行う。このシ
ミュレーション記録の分散において、個々のシミュレー
タはシミュレーションの実行結果を個別に記録する。ユ
ーザは必要な結果のみを選択し、情報を編集して取出す
指示を結果編集プロセスに与え、結果編集プロセスが必
要な実行結果を保持しているプロセッサと通信を行い、
結果を受取って、ユーザの望むフォーマットに編集して
表示する。
Note that, in addition to the above-described model distribution and procedure distribution, simulation record distribution is also performed. In this distribution of the simulation record, each simulator individually records the execution result of the simulation. The user selects only the necessary results, gives instructions to edit and retrieve the information to the result editing process, and the result editing process communicates with the processor holding the necessary execution results,
Receives the result, edits it in the format desired by the user, and displays it.

【0018】[0018]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
Next, embodiments of the present invention will be described with reference to the drawings.

【0019】図1は本発明の一実施例のシステムブロッ
ク図である。図1において、プロセッサ10及びプロセ
ッサ11〜1nはネットワーク51で接続されており、
相互に通信を行うことが可能である。各プロセッサは、
通信処理プロセス31によりネットワーク51を経由し
て他のプロセッサと交信を行う。
FIG. 1 is a system block diagram of one embodiment of the present invention. In FIG. 1, a processor 10 and processors 11 to 1n are connected by a network 51,
It is possible to communicate with each other. Each processor:
The communication processing 31 communicates with another processor via the network 51.

【0020】プロセッサ10では、モデル分散プロセス
32と制御情報プロセス33が稼働しており、プロセッ
サ11〜1nは分散モデルの各シミュレーションを行う
シミュレーションプロセッサであり、これ等各プロセッ
サではシミュレータ生成プロセス35が稼働している。
また、シミュレータ生成プロセス35によって生成され
たシミュレータ40がプロセッサ11〜1nで実行され
る。
In the processor 10, a model distribution process 32 and a control information process 33 are operating. Processors 11 to 1n are simulation processors for performing each simulation of the distribution model. In each of these processors, a simulator generation process 35 is operating. are doing.
The simulator 40 generated by the simulator generation process 35 is executed by the processors 11 to 1n.

【0021】また、シミュレーション結果を端末52か
ら参照するために、結果編集プロセス34がプロセッサ
10で稼働している。
In order to refer to the simulation result from the terminal 52, a result editing process 34 is operated by the processor 10.

【0022】ユーザは、シミュレーション対象の論理記
述ファイル21とシミュレーションの実行手続ファイル
22を作成し、プロセッサ10で処理を行う。
A user creates a logic description file 21 to be simulated and an execution procedure file 22 for the simulation, and the processor 10 performs processing.

【0023】論理記述ファイル21はモデル分散プロセ
ス32によってモデル分散処理とプロセッサ負荷分散処
理が実行され、プロセッサ11〜1nに分散モデル記述
ファイル23として転送される。この際、モデル分散プ
ロセス32は分散パラメータ記述ファイル27を読込
み、分散処理効率を考慮した処理を行う。また、モデル
分散プロセス32はモデルの分散情報を分散モデル情報
ファイル26に記述し、制御情報プロセス33に引渡
す。
The logical description file 21 is subjected to model distribution processing and processor load distribution processing by a model distribution process 32, and is transferred to the processors 11 to 1n as a distributed model description file 23. At this time, the model distribution process 32 reads the distribution parameter description file 27 and performs processing in consideration of the distribution processing efficiency. Further, the model distribution process 32 describes the distribution information of the model in the distribution model information file 26 and transfers the model to the control information process 33.

【0024】分散モデル記述ファイル23はプロセッサ
11〜1n上でシミュレータ生成プロセス35によって
処理され、分散シミュレータ40が作成される。
The distributed model description file 23 is processed by the simulator generation process 35 on the processors 11 to 1n, and a distributed simulator 40 is created.

【0025】一方、シミュレーション手続ファイル22
は制御情報生成プロセス33によってプロセッサ11〜
1n上の分散シミュレータ40に与える分散制御情報フ
ァイル24に変換される。この際、分散モデル情報ファ
イル26にある分散モデルの割付け情報等が参照され
る。
On the other hand, the simulation procedure file 22
Are controlled by the control information generation process 33.
1n is converted into a distributed control information file 24 to be provided to the distributed simulator 40 on 1n. At this time, the distribution model allocation information and the like in the distribution model information file 26 are referred to.

【0026】分散シミュレータ40は分散制御情報ファ
イル24に記述された手続に従い、シミュレーションを
実行する。シミュレーションの実行結果は結果ファイル
25に書込まれる。
The distributed simulator 40 executes a simulation in accordance with the procedure described in the distributed control information file 24. The execution result of the simulation is written in the result file 25.

【0027】ユーザは終了したシミュレーションの結果
を端末52で参照する。ユーザが端末52から結果編集
プロセス34に対して指示を行い、結果編集プロセス3
4は指示に基づいてプロセッサ11〜1n上の結果ファ
イル25から必要な情報を取出し、編集して端末52に
表示する。
The user refers to the terminal 52 on the result of the completed simulation. The user instructs the result editing process 34 from the terminal 52, and the result editing process 3
4 extracts necessary information from the result file 25 on the processors 11 to 1n based on the instruction, edits it, and displays it on the terminal 52.

【0028】尚、この図1では便宜上、結果編集プロセ
ス34がプロセッサ10で実行されているが、必ずしも
プロセッサ10で実行する必要はなく、端末52を直接
ネットワーク51に接続して、結果編集プロセス34を
端末52の上で実行する形態も取ることが可能である。
In FIG. 1, the result editing process 34 is executed by the processor 10 for the sake of convenience. However, it is not always necessary to execute the result editing process 34. The terminal 52 is directly connected to the network 51 and the result editing process 34 is executed. May be executed on the terminal 52.

【0029】次に、本発明の実施例の動作の一例につい
て説明する。図2(A)はシミュレーションモデルの一
例である。処理装置(CPU) 61,処理装置(CPU) 62及
び記憶装置(MEM) 63をシステムバス(BUS) 64で接続
したマルチCPU構成のモデルである。
Next, an example of the operation of the embodiment of the present invention will be described. FIG. 2A is an example of a simulation model. This is a model of a multi-CPU configuration in which a processing device (CPU) 61, a processing device (CPU) 62, and a storage device (MEM) 63 are connected by a system bus (BUS) 64.

【0030】図2(B)はシミュレーションの実行手続
の一例である。MEM63へのロード命令71及び72
と、CPU61の実行命令73,CPU62の実行命令
74,シミュレーションの停止命令75が記述してあ
る。図3は図1と同等の等価ブロック図であり、各シミ
ュレータ40−1〜40−3を動かすプロセッサ11〜
13が3台の場合を示している。
FIG. 2B shows an example of a simulation execution procedure. Load instructions 71 and 72 to MEM 63
And an execution instruction 73 of the CPU 61, an execution instruction 74 of the CPU 62, and a stop instruction 75 of the simulation. FIG. 3 is an equivalent block diagram equivalent to FIG. 1, in which processors 11 to operate the simulators 40-1 to 40-3.
13 shows a case where there are three units.

【0031】先ず、シミュレーションモデルをモデル分
散プロセス32が処理し、各プロセッサに分割する。こ
こでは便宜上、CPU61をプロセッサ11,CPU6
2をプロセッサ12,MEM63をプロセッサ13に分
割したとする。システムバス(BUS) 64は各ブロックを
接続するラインのため、プロセッサに割当てる必要はな
い。モデルとシミュレータの観点から見ると、ネットワ
ーク51がシステムバスの役割を果たす。このモデルの
割当ては分散モデル情報ファイル26に記録されて、制
御情報生成プロセス33に引渡される。
First, the simulation model is processed by the model distribution process 32 and divided into processors. Here, for convenience, the CPU 61 is the processor 11, the CPU 6
2 is divided into the processor 12 and the MEM 63 is divided into the processor 13. The system bus (BUS) 64 is a line connecting each block and does not need to be assigned to a processor. From the viewpoint of a model and a simulator, the network 51 plays a role of a system bus. This model assignment is recorded in the distributed model information file 26 and passed to the control information generation process 33.

【0032】次に、図2(B)シミュレーションの実行
手続を制御情報生成プロセス33が処理する。MEM6
3に対する命令71と72はプロセッサ13へ、CPU
61に対する命令73はプロセッサ11へ、CPU62
に対する命令74はプロセッサ12への各々の制御情報
ファイル24に格納される。命令75はシミュレーショ
ンの停止を意味しており、全ての制御情報ファイル24
に格納される。
Next, the control information generation process 33 processes the execution procedure of the simulation shown in FIG. MEM6
Instructions 71 and 72 for 3 are sent to processor 13 by CPU
Instruction 73 to 61 is sent to processor 11 by CPU 62.
Are stored in each control information file 24 to the processor 12. The command 75 means the stop of the simulation, and all the control information files 24
Is stored in

【0033】各々の制御情報ファイル24がプロセッサ
11〜13に送られ、シミュレーションが起動される。
プロセッサ13上のシミュレータ40−3(MEM) が命令
71と72を実行する。命令71によりMEMにロード
された処理(TH1) の実行、即ち命令73を実行するの
が、プロセッサ11上のシミュレータ40−1(CPU61)
である。プロセッサ11のシミュレータ40−1(CPU6
1) は、ネットワーク51を介してプロセッサ13のシ
ミュレータ40−3(MEM) から処理(TH1) を読出して実
行する。
Each control information file 24 is sent to the processors 11 to 13, and the simulation is started.
Simulator 40-3 (MEM) on processor 13 executes instructions 71 and 72. The execution of the processing (TH1) loaded into the MEM by the instruction 71, that is, the execution of the instruction 73 is performed by the simulator 40-1 (CPU 61) on the processor 11.
It is. Simulator 40-1 of processor 11 (CPU6
1) reads out and executes the processing (TH1) from the simulator 40-3 (MEM) of the processor 13 via the network 51.

【0034】同様の手順で、プロセッサ12上のシミュ
レータ40−2(CPU62) が処理(TH2) の実行、即ち命令
74を実行する。各プロセッサが命令75、即ちシミュ
レーションの停止を実行した時点で、シミュレーション
が終了する。シミュレーションの結果は、各々のプロセ
ッサの結果ファイル25に書込まれる。
In the same procedure, the simulator 40-2 (CPU 62) on the processor 12 executes the process (TH2), that is, executes the instruction 74. The simulation ends when each processor executes the instruction 75, that is, the stop of the simulation. The result of the simulation is written to the result file 25 of each processor.

【0035】シミュレーションが終了すると、ユーザは
端末52から結果編集プロセス34を呼出し、シミュレ
ーション結果の表示を指示する。結果編集プロセス34
は、各々の結果ファイル25から必要な情報を取り出
し、端末52に表示する。ユーザがそれを見て、CPU
61の詳細なシミュレーション結果の表示を指示する
と、結果編集プロセス34はプロセッサ11上の結果フ
ァイル25からの詳細な情報を取出し、ユーザの指示す
るフォーマットで詳細な表示を行う。
When the simulation is completed, the user calls the result editing process 34 from the terminal 52 and instructs the display of the simulation result. Result editing process 34
Extracts necessary information from each result file 25 and displays it on the terminal 52. The user sees it and the CPU
When the instruction to display the detailed simulation results at 61 is issued, the result editing process 34 extracts the detailed information from the result file 25 on the processor 11 and performs the detailed display in the format specified by the user.

【0036】以上の例は、図2に示す如く、構成が簡単
なシミュレーション対象モデルの場合についてである
が、このモデルが図4の様に複雑なコンピュータシステ
ムの場合について、モデル分割,分散のアルゴリズムに
ついて詳述する。尚、シミュレーション対象の論理回路
モデルの目的,構成等によって、分割アルゴリズム及び
後述するコスト計算のための関数式は適宜変更されるこ
とがあるが、ここでは典型的な例を示すものとする。
The above example is for a simulation target model having a simple configuration as shown in FIG. 2. However, when this model is a complex computer system as shown in FIG. Will be described in detail. Note that, depending on the purpose, configuration, and the like of the logic circuit model to be simulated, the division algorithm and the function formula for cost calculation described later may be changed as appropriate, but a typical example is shown here.

【0037】図4はベクトル処理用コンピュータの一例
であり、スカラプロセッサ(SPU)81,ベクトルプ
ロセッサ(VPU)82とがベクトル計算を行い、レジ
スタファイル(RF)84とデータの授受を行う。ま
た、命令実行部(IEU)83は命令キャッシュ(I
C)85から命令を取出して実行を行う。
FIG. 4 shows an example of a vector processing computer. A scalar processor (SPU) 81 and a vector processor (VPU) 82 perform vector calculation, and exchange data with a register file (RF) 84. The instruction execution unit (IEU) 83 stores an instruction cache (I
C) The instruction is taken out from 85 and executed.

【0038】データキャッシュ(DC)86はデータを
一時的に蓄えるものであり、これ等キャッシュ85,8
6はメモリ制御部(MMU)87を介してメインメモリ
(MEM)89に接続されている。また、図示せぬI/
O系は入出力制御部(IOP)88を介して接続されて
いるものとする。
The data cache (DC) 86 temporarily stores data.
6 is connected to a main memory (MEM) 89 via a memory control unit (MMU) 87. Also, not shown I /
It is assumed that the O system is connected via an input / output control unit (IOP) 88.

【0039】図4に示した論理回路モデルを図5に示し
た構成のシミュレータにて実行する。尚、図5は図1の
シミュレーションプロセッサ(PROC)11〜1n
と、これ等プロセッサ間を接続する通信ネットワーク5
1とに相当するものであり、本例では、シミュレーショ
ンプロセッサとして11〜17の7台があり、通信ネッ
トワークとしてクロスバーNET−A,Bと光ファイバ
NET−Cと、イサーネットNET−Dとがあるものと
する。
The logic circuit model shown in FIG. 4 is executed by the simulator having the configuration shown in FIG. FIG. 5 shows the simulation processor (PROC) 11-1n of FIG.
And a communication network 5 connecting these processors
In this example, there are seven simulation processors 11 to 17, and there are crossbars NET-A, B, optical fiber NET-C, and Ethernet NET-D as communication networks. Shall be.

【0040】プロセッサ11〜14はネットワークNE
T−Aと、ネットワークNET−Dに、プロセッサ1
5,16はネットワークNET−Bと、ネットワークN
ET−Dに,プロセッサ17はネットワークNET−D
に接続されている。また、ネットワークNET−A,B
はネットワークNET−Cにより相互接続されている。
The processors 11 to 14 are connected to the network NE.
The processor 1 is connected to the TA and the network NET-D.
5 and 16 are network NET-B and network N
In ET-D, the processor 17 is connected to the network NET-D.
It is connected to the. In addition, network NET-A, B
Are interconnected by a network NET-C.

【0041】プロセッサ17は他のプロセッサ11〜1
6に比し大容量のディスク90を有しており、よってこ
のプロセッサ17のディスク90のみを図示している。
The processor 17 is composed of the other processors 11 to 1
6, the disk 90 has a larger capacity than that of the processor 6, and only the disk 90 of the processor 17 is shown.

【0042】図6は図1に示したモデル分散処理32の
動作の流れを示すフローチャートであり、図4のモデル
を図5の構成のシミュレータにより実行する場合のモデ
ル分散の処理を以下に説明する。
FIG. 6 is a flowchart showing the flow of the operation of the model distribution processing 32 shown in FIG. 1. The model distribution processing when the model of FIG. 4 is executed by the simulator having the configuration of FIG. 5 will be described below. .

【0043】まず、モデル分散処理32は図4に示した
モデルの論理記述21(図1参照)を入力し(ステップ
S1)、モデルの各ユニット毎のデータと、ユニット間
の依存度を算出して図7に示す如きデータテーブルを得
る(ステップS2,S3)。
First, the model distribution process 32 receives the logical description 21 (see FIG. 1) of the model shown in FIG. 4 (step S1), and calculates data for each unit of the model and the degree of dependence between units. Thus, a data table as shown in FIG. 7 is obtained (steps S2 and S3).

【0044】図7において、論理規模は各ユニットを構
成する論理回路のゲート規模(ゲート数,その単位K;
1,000)であり、所要メモリはシミュレーションに
必要なメモリ量を示す。接続比(ユニット内:ユニット
外)はユニット内部論理の外部入力依存度と分割に伴う
コストを示す。
In FIG. 7, the logic scale is the gate scale (the number of gates, unit K thereof) of the logic circuit constituting each unit;
1,000), and the required memory indicates the amount of memory required for the simulation. The connection ratio (inside the unit: outside the unit) indicates the dependency of the logic inside the unit on the external input and the cost associated with division.

【0045】ユニット間接続速度率とユニット間接続依
存率とが、各ユニット毎に他ユニット対応に、斜線の上
部と下部とに夫々示されている。
The inter-unit connection speed rate and the inter-unit connection dependency rate are shown in the upper and lower portions of the oblique lines for each unit for each other unit.

【0046】ユニット間接続速度率はユニット相互間の
転送速度比を示しており、例えば、DCに対するRFの
比は「0.5」となっている。
The inter-unit connection speed ratio indicates a transfer speed ratio between the units. For example, the ratio of RF to DC is "0.5".

【0047】ユニット間接続依存率は各ユニットへの接
続依存度を示すものであり、例えば、RFはSPUに対
して35%,VPUに対して35%,IEUに対して5
%,DCに対して25%(合計100%),その他のユ
ニットに対しては0%であることを示している。
The inter-unit connection dependency ratio indicates the connection dependency to each unit. For example, RF is 35% for SPU, 35% for VPU, and 5% for IEU.
%, 25% for DC (100% in total), and 0% for other units.

【0048】次に、モデル分散処理32は、分散パラメ
ータファイル27(図1参照)から、図5の各シミュレ
ーションプロセッサ11〜17及び通信ネットワークN
ET−A〜Dの各性能を示すパラメータを入力する(ス
テップS4)。
Next, the model distribution process 32 is executed by the simulation processor 11 to 17 and the communication network N shown in FIG. 5 from the distribution parameter file 27 (see FIG. 1).
A parameter indicating each performance of ET-A to ET-D is input (step S4).

【0049】このパラメータとしては、図8(A),
(B)に示すテーブルに各値が記述されている。各シミ
ュレーションプロセッサ11〜17のパラメータについ
ては、図8(A)に示す如く、CPUの名称(P5,P
6等)と、そのCPUの動作速度を示すクロックと、プ
ロセッサの実装メモリ容量と、プロセッサのディスク容
量とが夫々記述されている。
As this parameter, FIG.
Each value is described in the table shown in FIG. As shown in FIG. 8A, the parameters of the simulation processors 11 to 17 are the names of the CPUs (P5, P5,
6), a clock indicating the operating speed of the CPU, the memory capacity of the processor, and the disk capacity of the processor.

【0050】また、各通信ネットワークについては、図
8(B)に示す如く、その転送容量と、接続ユニット間
の転送遅延量と、ネットワークの方式と、ネットワーク
の接続ユニット名とが夫々記述されている。
For each communication network, as shown in FIG. 8B, its transfer capacity, transfer delay between connection units, network system, and connection unit name of the network are described respectively. I have.

【0051】次に、分散処理32は、図7,8に示した
各データを基に、ユニット毎にシミュレーションコスト
を夫々算出する(ステップS5)。この算出するための
式である関数は、例えば、図9(A)に示す様に予め定
義されているものとする。
Next, the distributed processing 32 calculates a simulation cost for each unit based on each data shown in FIGS. 7 and 8 (step S5). It is assumed that a function as an equation for this calculation is defined in advance as shown in FIG. 9A, for example.

【0052】この関数は、図7,8にて得られたデータ
を基に、シミュレーションのユニット計算コスト,ユニ
ット分割コスト,ユニット通信コストを夫々算出するた
めのものである。
This function is for calculating the unit calculation cost, the unit division cost, and the unit communication cost of the simulation based on the data obtained in FIGS.

【0053】ユニット計算コストはユニット規模fcuに
比例し、プロセッサ能力fcpに反比例する。ユニット分
割コストはユニット内接続分割コストfduに比例し、ネ
ットワーク能力fdpに反比例する。ユニット間通信コス
トはユニット間接続コストfxuに比例し、ネットワーク
能力fxvに反比例する。
The unit calculation cost is proportional to the unit size fcu and inversely proportional to the processor capacity fcp. The unit division cost is proportional to the intra-unit connection division cost fdu and inversely proportional to the network capability fdp. The unit communication cost is proportional to the unit connection cost fxu and inversely proportional to the network capability fxv.

【0054】こうして得られた計算結果の一例を、VP
Uについて図9(B)に示している。この結果により、
プロセッサ11と12とにVPUを割当てた場合が最も
コストが低くなることが判る。尚、通信コストは他ユニ
ットの割当て方により変動するが、図9(B)の値は最
小値、即ち最も通信コストが低い割当てを行った場合を
示している。
An example of the calculation result obtained in this way is VP
U is shown in FIG. 9 (B). With this result,
It can be seen that the cost is lowest when VPUs are allocated to the processors 11 and 12. Note that the communication cost varies depending on how other units are allocated, but the value in FIG. 9B shows the minimum value, that is, the case where the allocation with the lowest communication cost is performed.

【0055】その他のユニットの割当てについても同様
にコスト計算を行い、コストが最も小となる様に割当て
を決定する(ステップS6)。
The cost calculation is similarly performed for the other unit assignments, and the assignment is determined so that the cost is minimized (step S6).

【0056】図1の制御情報生成処理33では、こうし
て分散されたモデル情報26に基づいて、シミュレーシ
ョン手続22を、分散ユニット対応のシミュレーション
プロセッサ(シミュレータ)に夫々割当て分散すること
になる。この場合の分散処理方法は、図2(A),
(B)で説明した場合と同様な方法を用いるものであ
る。
In the control information generation process 33 shown in FIG. 1, the simulation procedure 22 is allocated and distributed to the simulation processors (simulators) corresponding to the distributed units based on the model information 26 thus distributed. The distributed processing method in this case is shown in FIG.
A method similar to the method described in (B) is used.

【0057】[0057]

【発明の効果】第一の効果は、大規模な論理シミュレー
ションを完全に分散処理化し、効率的に実行することで
ある。モデルを分散する際に分散パラメータ情報ファイ
ルを参照し、各プロセッサの処理能力やネットワークの
通信容量及び通信速度等を考慮したモデルの分散処理を
行うことで、各プロセッサ間の負荷を均等化し、ネット
ワークの通信処理効率を考慮した分散処理を行うことが
できる。また、分散したモデル情報の翻訳そのものを分
散して実行する。
The first effect is that the large-scale logic simulation is completely distributed and executed efficiently. When distributing the model, the distributed parameter information file is referred to, the processing of the model is performed in consideration of the processing capacity of each processor, the communication capacity and the communication speed of the network, etc. Distributed processing in consideration of the communication processing efficiency. In addition, the translation of the distributed model information is executed in a distributed manner.

【0058】また、シミュレーションの制御情報を予め
各シミュレータに合わせたものに変換することで、シミ
ュレーションの制御を分散し、個々のシミュレータが自
立したシミュレーションを行う。また、シミュレーショ
ン結果を各プロセッサが保持するので、ネットワークに
無駄な通信が発生せず、ユーザの必要なデータのみを取
出すことができる。
Also, by converting the simulation control information into information adapted to each simulator in advance, the control of the simulation is dispersed, and the individual simulator performs independent simulation. In addition, since each processor holds the simulation result, useless communication does not occur in the network, and only data required by the user can be extracted.

【0059】第二の効果は、シミュレーションの高速化
である。モデルの翻訳処理を分散処理するため、翻訳処
理の実行時間は極めて短い。また、分散したモデル情報
を翻訳してモデルに特化したシミュレータを生成するこ
とにより、汎用のシミュレータでは必須となるモデル情
報の読込みと解釈を不要とし、より高速なシミュレーシ
ョンを実行できる。
The second effect is to speed up the simulation. Since the translation process of the model is performed in a distributed manner, the execution time of the translation process is extremely short. In addition, by generating a simulator specialized for a model by translating the distributed model information, it is not necessary to read and interpret model information, which is indispensable for a general-purpose simulator, and a higher-speed simulation can be executed.

【0060】また、ホストコンピュータの様な全体を統
括するプロセッサを必要とせず、ホストコンピュータの
処理のために各プロセッサが無駄な停止をする必要がな
い。
Further, there is no need for a processor for controlling the whole, such as the host computer, and there is no need for each processor to stop uselessly for processing by the host computer.

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

【図1】本発明の実施例のシステムブロック図である。FIG. 1 is a system block diagram of an embodiment of the present invention.

【図2】(A)はシミュレーション対象モデルの一例を
示す図、(B)はそのシミュレーション実行手続の一例
を示す図である。
FIG. 2A is a diagram illustrating an example of a simulation target model, and FIG. 2B is a diagram illustrating an example of a simulation execution procedure;

【図3】図2(A)の対象モデルの分散例を示す図であ
る。
FIG. 3 is a diagram illustrating a distribution example of the target model in FIG.

【図4】シミュレーション対象モデルの他の例を示す図
である。
FIG. 4 is a diagram showing another example of a simulation target model.

【図5】シミュレータの構成例を示す図である。FIG. 5 is a diagram illustrating a configuration example of a simulator.

【図6】図1のモデル分散処理32の動作を示すフロー
チャートである。
FIG. 6 is a flowchart showing an operation of a model distribution process 32 of FIG. 1;

【図7】図4のモデルのユニット毎のデータとユニット
間の依存度をテーブルとして示した図である。
FIG. 7 is a diagram showing, as a table, data of each unit of the model of FIG. 4 and a degree of dependence between units;

【図8】図1の分散パラメータファイル27の一例を示
す図である。
FIG. 8 is a diagram showing an example of a distribution parameter file 27 of FIG.

【図9】(A)はシミュレーションコストの計算式の例
を示す図、(B)はVPUの場合のシミュレーションコ
ストの計算結果の例を示す図である。
9A is a diagram illustrating an example of a calculation formula of a simulation cost, and FIG. 9B is a diagram illustrating an example of a calculation result of a simulation cost in the case of a VPU.

【図10】(A)は従来の分散論理シミュレータのブロ
ック図、(B)はその動作フロー図である。
FIG. 10A is a block diagram of a conventional distributed logic simulator, and FIG. 10B is an operation flowchart thereof.

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

10 プロセッサ 11〜1n シミュレーションプロセッサ 21 論理記述ファイル 22 シミュレーション手続ファイル 23 モデル記述ファイル 24 制御情報ファイル 25 結果格納ファイル 26 分散モデル情報ファイル 31 通信処理 32 モデル分散処理 33 制御情報生成処理 34 結果編集処理 35 シミュレータ生成処理 40 シミュレータ Reference Signs List 10 processor 11 to 1n simulation processor 21 logic description file 22 simulation procedure file 23 model description file 24 control information file 25 result storage file 26 distributed model information file 31 communication processing 32 model distributed processing 33 control information generation processing 34 result editing processing 35 simulator Generation processing 40 Simulator

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 G06F 11/26 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 17/50 G06F 11/26

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 互いにネットワークで接続され論理シミ
ュレーションを行う複数のシミュレーションプロセッサ
に対して、シミュレーション対象モデルの論理記述を前
記シミュレーションプロセッサに夫々割付けて分散処理
するようにした分散論理シミュレータであって、 前記シミュレーションプロセッサの各々に対して前記シ
ミュレーション対象モデルの論理記述を夫々分散して割
当てるモデル分散手段と、 このモデル分散結果に基いて前記シミュレーションプロ
セッサの各々に対してシミュレーションの実行手続きを
夫々分散し割当てる実行手続分散手段とを含み、前記モデル分散手段は、前記シミュレーション対象モデ
ルの論理記述を基にこのモデルを構成するユニット毎の
論理規模、シミュレーションに必要なメモリ量を算出す
る手段と、前記論理記述を基に前記ユニット毎のユニッ
ト相互間依存率を算出する手段と、前記シミュレーショ
ンプロセッサの各々の性能を示す性能パラメータ、前記
論理規模、メモリ量及びユニット相互間依存率を基に、
予め定められたコスト算出式に従って前記ユニットの各
コストを算出する手段と、前記ユニット毎に算出コスト
が最小となるシミュレーションプロセッサを求めてこの
シミュレーションプロセッサに対して対応ユニットの論
理記述を割当てる手段とを有し、 前記シミュレーションプロセッサの各々が割当てられ
た分散モデルと分散実行手続きとに従って並行してシミ
ュレーションを実行するように構成され、 前記シミュレーションプロセッサの各々に自己のシミュ
レーションの分散実行結果を分散格納する手段を設け、
これ等各シミュレーションプロセッサの分散実行結果の
うち必要な結果を収集して編集可能としたことを特徴と
する分散論理シミュレータ。
1. A logical stain connected to each other via a network.
Simulation processors for simulation
Before the logical description of the model to be simulated
Distributed processing by assigning to each simulation processor
A distributed logic simulator configured to execute the simulation for each of the simulation processors.
Divide the logical description of the model to be simulated
Means for distributing the model, and the simulation program
Run the simulation for each of the processors
Execution procedure distributing means for distributing and allocating each,The model distributing means is configured to control the simulation target model.
Based on the logical description of the
Calculate the logic scale and the amount of memory required for simulation
Means for each unit based on the logical description.
Means for calculating the interdependence rate, and the simulation
Performance parameters indicating the performance of each of the
Based on logical scale, amount of memory, and inter-unit dependency ratio,
Each of the units according to a predetermined cost calculation formula
Means for calculating cost, and cost calculated for each unit
For a simulation processor that minimizes
On the corresponding unit for the simulation processor
Means for assigning a logical description,  Each of the simulation processors,Assigned
In accordance with the distributed model and distributed execution procedure
A simulation of each of the simulation processors.
Means for distributed storage of the distribution execution results of the
These are the results of distributed execution of each simulation processor.
It is characterized by collecting necessary results and making it editable
Distributed logic simulator.
【請求項2】 前記性能パラメータとして、前記ネット
ワークの通信容量及び通信速度を含むことを特徴とする
請求項1記載の分散論理シミュレータ。
2. The distributed logic simulator according to claim 1, wherein the performance parameters include a communication capacity and a communication speed of the network.
JP23962496A 1996-09-11 1996-09-11 Distributed logic simulator Expired - Fee Related JP3000941B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23962496A JP3000941B2 (en) 1996-09-11 1996-09-11 Distributed logic simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23962496A JP3000941B2 (en) 1996-09-11 1996-09-11 Distributed logic simulator

Publications (2)

Publication Number Publication Date
JPH1091657A JPH1091657A (en) 1998-04-10
JP3000941B2 true JP3000941B2 (en) 2000-01-17

Family

ID=17047498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23962496A Expired - Fee Related JP3000941B2 (en) 1996-09-11 1996-09-11 Distributed logic simulator

Country Status (1)

Country Link
JP (1) JP3000941B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE01951081T1 (en) * 2000-06-19 2004-04-15 P.C. Krause and Associates, Inc, West Lafayette DISTRIBUTED SIMULATION
JP2012018508A (en) * 2010-07-07 2012-01-26 Nec Corp Distributed simulation system, distributed simulation method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日経エレクトロニクス No.597 p143−154 T.P.Grafほか「Task Brokerで、ネットワークのコンピュータ資源を有効活用する」

Also Published As

Publication number Publication date
JPH1091657A (en) 1998-04-10

Similar Documents

Publication Publication Date Title
US4922432A (en) Knowledge based method and apparatus for designing integrated circuits using functional specifications
JPS62208166A (en) Program forming device
JP2007510223A (en) Simplified data signal support for diagramming environment languages
US5912819A (en) Method for designing an architectural system
JP3042761B2 (en) Program data generation method for programmable device in logic emulation system and program data generation device for programmable device
JP3000941B2 (en) Distributed logic simulator
Lin et al. Accelerate binarized neural networks with processing-in-memory enabled by RISC-V custom instructions
JPH1185826A (en) Plotting data processing system and its method
JP3212709B2 (en) Logic simulation device
JP3716191B2 (en) Data management method in multi-section system state
Voss et al. The analysis of modeling styles for system level VHDL simulations
CN118012631B (en) Operator execution method, processing device, storage medium and program product
CN108984300B (en) Layout data review method, system and storage medium
JPH02140825A (en) Method for processing rearrangement of program
JP2957723B2 (en) Simulation model generation method
JPS63121978A (en) Optimization processor for large-scaled combination problem
JP2813015B2 (en) Graphic processor
JP2000066365A (en) Photomask pattern design support apparatus, photomask pattern design support method and recording medium recording photomask pattern design support program
JP2839597B2 (en) Device for creating charged beam drawing data
JP2576379B2 (en) Logic simulation equipment
CN118821710A (en) Linear programming wafer-level chip architecture optimizing method, system and storage medium based on fixed topological order
JP2549838B2 (en) Data control device
JP2894758B2 (en) Semiconductor mask data conversion processor
CN115577760A (en) Data processing method, system and related equipment
CN118821708A (en) Time period-based linear programming wafer-level chip architecture optimizing method, system and storage medium

Legal Events

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