JP2590179B2 - 並列論理シミュレーション制御方式 - Google Patents

並列論理シミュレーション制御方式

Info

Publication number
JP2590179B2
JP2590179B2 JP3340088A JP3340088A JP2590179B2 JP 2590179 B2 JP2590179 B2 JP 2590179B2 JP 3340088 A JP3340088 A JP 3340088A JP 3340088 A JP3340088 A JP 3340088A JP 2590179 B2 JP2590179 B2 JP 2590179B2
Authority
JP
Japan
Prior art keywords
time
gate
event
processor
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3340088A
Other languages
English (en)
Other versions
JPH01207838A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3340088A priority Critical patent/JP2590179B2/ja
Publication of JPH01207838A publication Critical patent/JPH01207838A/ja
Application granted granted Critical
Publication of JP2590179B2 publication Critical patent/JP2590179B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔概要〕 並列計算機上で,各プロセッサに1個以上のゲートを
割り当て,各プロセッサ間で通信を行いながら,論理回
路のシミュレーションを並列処理する並列論理シミュレ
ーション制御方式に関し, 各プロセッサ間で同期をとることなく,それぞれ担当
するゲートのシミュレーション時刻を進行させ,並列効
果を高めて,論理シミュレーションを効率よく実行でき
るようにするこを目的とし, 並列計算機上の各プロセッサに,少なくともゲートの
ピンに対する論理値およびその論理値が継続する時刻情
報を持つイベントを送受信するメッセージ送受信処理手
段と,ゲートの各ピン対応に,どの時刻までのイベント
が届いているかを管理するピン時刻管理手段と,各ゲー
トがどの時刻までのイベントを出力したかを管理するゲ
ート時刻管理手段と,受信したイベント内の時刻,各ピ
ン対応に管理される時刻および各ゲート対応に管理され
る時刻に応じて,ゲートの出力値を確定できる時刻まで
の出力値を計算し,イベントを発生させるシミュレーシ
ョン信号処理手段とを備え,各プロセッサを非同期に動
作させるように構成する。
〔産業上の利用分野〕
本発明は,並列計算機上で,各プロセッサに1個以上
のゲートを割り当て,各プロセッサ間で通信を行いなが
ら,論理回路のシミュレーションを並列処理する並列論
理シミュレーション制御方式に関する。
〔従来の技術〕
第7図は従来方式のイベントドリブン法による処理の
例,第8図は従来方式の同期に関する改良例の説明図を
示す。
従来,論理シミュレーションを複数のプロセッサから
なる並列計算機上で実行する場合,いわゆるタイムホイ
ールを用いて,所定の単位時間ごとに信号変化を処理す
るイベントドリブン法が用いられている。これは,シミ
ュレーション対象の回路を,単純にプロセッサの台数分
に分割し,各プロセッサ上で,第7図に示すような処理
を実行する方式である。
すなわち,前処理で,他のプロセッサから受信した入
力信号を変化情報を持つイベントを,内部のタイムホイ
ールにおける該当時刻の部分に格納し,次のゲート評価
により,ゲートの出力値を更新していく。ゲート評価で
は,タイムホイールから現時刻のイベントを取り出し,
順次,そのゲートのファンアウト側の各ゲートを取り出
しながら,出力値を計算する。そして,出力値が現在の
値と異なれば,イベントとして格納し,そのゲート出力
が,他プロセッサに接続されていれば,イベントを送信
する。この処理を,その時刻におけるすべてのイベント
について処理する。その時刻における処理が終了したな
らば,他のプロセッサとの同期をとり,次の時刻につい
て,同様にシミュレーションを進めていく。
信号の変化(イベント)が複数のプロセッサ間にまた
がっている場合には、プロセッサ間の通信線を用いて通
信を行うが,このような従来の方式では,各プロセッサ
が行うシミュレーションの時刻を同時に進行させる必要
があるため,シミュレーションの各単位時刻ごとに,全
プロセッサで同期をとらなければならない。
各単位時間ごとに,各プロセッサ内で処理するイベン
トの量はまちまちであるので,同期によって処理を細か
く分断してしまうことは,並列効果を妨げる原因とな
る。
この点を改良するため,例えば第8図に示すように,
現在の時刻に関する同期を,この時刻における前処理の
間までにとるようにし,同期をとるタイミングをできる
だけ遅くして,プロセッサ間の時刻ごとの負荷分散を改
善する方式が考えられている。しかし,やはりプロセッ
サ間の同期をとる必要があるので,並列計算機の能力を
十分に活かすことがでぎないという問題がある。
〔発明が解決しようとする課題〕
以上のように,従来のイベントドリブン法による論理
シミュレーションによれば,プロセッサ間の同期が必要
になるために,負荷のバラツキによって遊び時間が長く
なり,さらに,ゲートごとに別々の遅延値を用いる多重
遅延シミュレーションを行う場合や,精度をよくするた
めに,単位時間の刻み幅を小さくする場合には,単位時
間ごとのイベントをちらばりが激しくなって,負荷の分
散が一層悪くなるという問題がある。
本発明は上記問題点の解決を図り,各プロセッサ間で
同期をとることなく,それぞれ担当するゲートのシミュ
レーション時刻を進行させ,並列効果を高めて,論理シ
ミュレーションを効率よく実行できるようにすることを
目的としている。
〔課題を解決するための手段〕
第1図は本発明の原理説明図である。
第1図において,10,10A,10Bは並列計算機を構成する
プロセッサ(PE),11は各プロセッサ間で送受信される
イベント,12は他プロセッサからのイベントを含むメッ
セージを受信するメッセージ受信処理部,13は他プロセ
ッサへメッセージを送信するメッセージ送信処理部,14
は受信したイベントの待ち行列であるイベントキュー,1
5は各ピン対応に現在時刻を管理するピン時刻管理部,16
はゲートの現在時刻を管理するゲート時刻管理部,17は
担当するゲートの論理シミュレーションを実行するシミ
ュレーション実行処理部,GTはシミュレーション対象の
論理回路を構成するゲートを表す。
各プロセッサは,シミュレーション対象となる回路を
構成する1個または複数個のゲートを受け持ち,それぞ
れその動作を,各プロセッサ間で送受信するイベント11
に基づきシミュレートする。イベント11は,処理すべき
プロセッサを識別するプロセッサ番号と,プロセッサ内
ゲート番号と,入力となるゲートのピン番号と,入力信
号の論理値と,その論理値がいつまで継続するかを示す
時刻(eventtime)情報を持つようになっている。
メッセージ受信処理部12は,ファンインを扱うプロセ
ッサ10Aからのメッセージによるイベント11を受け取
る。メッセージ送信処理部13は,ファンアウトを扱うプ
ロセッサ10Bへ,自プロセッサ10が扱うゲートGTの出力
値により生成されたイベント11を送信する。
イベントキュー14は,直ちに処理できない入力イベン
トを保持する待ち行列である。ピン時刻管理部15は,ゲ
ートの各ピン対応に,どの時刻までのイベントが届いて
いるかを,「ピンの現在の時刻(pintime(i))」と
して,保持管理するものである。ゲート時刻管理部16
は,ゲートGTがどの時刻までのイベントを出力したか
を,「ゲートの現在の時刻(gatetime)」として,保持
管理するものである。
シミュレーション実行処理部17は,イベントキュー14
の各イベントについて,その中の時刻eventtimeと,該
当するピンの現在の時刻pintime(i)と,ゲートの現
在の時刻gatetimeとに基づき,ゲートの出力値を確定で
きる時刻までの出力値を計算し,その時刻が進む場合に
は,新たなイベント11を発生させ,メッセージ送信処理
部13を介して,他のプロセッサ10B等へ送信する処理を
行う。
各プロセッサは,受信したイベントに基づき,非同期
に動作する。
〔作用〕
本発明では,各プロセッサが,タイムホイールを用い
ることなく,基本的には回路の各ゲートをそれぞれ時間
的に独立させて担当する。そして,各ゲートについて,
入力値によって出力値を確定できる時刻まで,シミュレ
ーションを非同期に進めていき,出力値が確定する時刻
が進んだ場合には,その時刻情報と出力値とをメッセー
ジとして,ファンアウトを担当するプロセッサへ送る。
〔実施例〕
第2図は本発明の適用システムの例,第3図は第2図
に示すシステム動作説明図,第4図は本発明の一実施例
に係るイベントに対する処理説明図,第5図は本発明の
一実施例に係るシミュレーション実行処理部の処理フロ
ー,第6図は本発明の一実施例による複数ゲートに対す
る処理説明図を示す。
本発明は,例えば第2図に示すようなマルチプロセッ
サ・システムにより実現される。なお,もっと一般的な
マルチプロセッサによっても,同様に実現可能である。
第2図(イ)において,20はシミュレーションのため
の基礎データとなる論理回路データが格納された論理回
路データファイル,21はCPUおよびメモリなどからなるホ
ストプロセッサ,22はディスプレイやプリンタや外部記
憶装置などのシミュレーション結果が出力される出力装
置,23は多数のプロセッサが格子状に結合された格子状
マルチプロセッサからなる並列計算機を表す。
論理回路データファイル20に格納されているデータに
基づき,ホストプロセッサ21が,並列計算機23の各プロ
セッサに送信する論理回路データは,例えば第2図
(ロ)図示のように,各プロセッサが受け持つ各ゲート
ごとに,そのゲートの種類情報と,立上りの遅延時間
と,立下りの遅延時間と,ファンアウト情報として,プ
ロセッサ番号,プロセッサ内ゲート番号,ピン番号の情
報などを持つ。
ホストプロセッサ21の処理は,第3図(イ)に示すよ
うになっている。まず,論理回路データファイル20から
回路データを読み込み,回路データを並列計算機23側へ
送信する。各プロセッサへのゲートの割り当ては,論理
回路データファイル20作成時に予め行うようにしてもよ
く,また,この回路データの送信時に行うようにしても
よい。
次に,シミュレーション実行命令による実行指示を出
し,既知の外部信号情報やシミュレーション終了時刻情
報などを送る。そして,シミュレーション結果が送られ
てきたならば,その結果を所定の出力装置に出力する。
並列計算機23側では,各プロセッサは,第3図(ロ)
に示すように動作する。
イニシャルプログラムロード(IPL)終了後,ホスト
プロセッサ21からのコマンドを待つ。そして,コマンド
に従って,回路データの受信処理,シミュレーションの
実行,シミュレーション結果の送信処理を行う。
シミュレーションの実行にあたって,各プロセッサ
は,外部からのイベントを受け取ると,イベントの発生
したピンの現在の時刻pintime(i)と,ゲートの現在
の時刻gatetimeと,イベントの時刻eventtimeとの関係
により,第4図に示すような場合分けに応じた処理を行
う。
(a) 第4図(イ)に示すように, pintime(i)がgatetimeより小さく,かつ eventtimeがgatetimeより大きい場合 シミュレーションを実行し,全入力が確定している
時刻までの出力値を計算する。新しい出力値が定まった
ならば,イベントを発生させ,ファンアウトを担当する
プロセッサへ送信する。
例えば,ANDゲートの場合,複数の入力のうち,どれか
1本が“0"であれば,他の入力にかかわらず出力は“0"
となる。そこで,出力値の確定時刻を,全入力値が確定
している時刻よりも先に進めることができる場合があ
る。すなわち,第4図(ロ)に示すように,ANDゲートで
は,入力1に“0"が入った場合,入力2,入力3を待たず
に,出力を“0"に確定できる。ORゲート,NANDゲート,NO
Rゲート等についても,同様に出力を先行して確定でき
る場合がある。このようなときに,シミュレーション時
刻のgatetimeを先に進めることが可能であり,この場
合,入力2,入力3等に対するeventtimeが,gatetimeより
も一時的に小さくなる。
(b) 第4図(ハ)に示すように, eventtimeがgetetimeよりも小さい場合 そのイベントが発生したピンのpintime(i)を更
新するだけで,そのイベントは捨てる。
(c) 第4図(ニ)に示すように,上記以外の場合 eventtimeをpintime(i)とし,そのイベントをイ
ベントキューに入れる。
第1図に示すシミュレーション実行処理部17の処理
は,例えば第5図に示すようになる。説明を簡単にする
ために,まず1個のゲートだけを担当する場合について
説明する。以下の説明における〜は,第5図に示す
処理〜に対応する。
イベントキューにイベントがあるかないかをチェッ
クし,イベントがあれば,それを取り出す。イベントが
ない場合,他のプロセッサからのイベントを待つ。
pintime(i)≦gatetime かつ eventtime>gatetime であるかどうかをチェックす
る。そうであれば処理へ,違う場合には,処理へ制
御を移す。
eventtimeをそのピンのpintime(i)に入れ,各ピ
ンのpintime(i)および論理値に応じて,出力値を確
定できる時刻まで,時刻を進める。
新しい出力値を計算する。
出力の時刻が進むならば,その時刻までのイベント
を発生させ,ファンアウト側へ送信する。gatetimeをそ
の時刻に変更する。その後,処理へ移る。
eventtimeがgatetimeより小さいがどうかをチェッ
クする。gatetimeが小さい場合,処理へ移る。
第4図(ハ)に示すケースであるので,イベントが
発生したピンのpintime(i)を更新し,そのイベント
を捨て,処理へ移る。
pintime(i)を更新する。
そのイベントを該当するピンのイベントキュー(待
ち行列)に入れる。
gatetimeが,ホストプロセッサから指定されたシミ
ュレーション終了時刻になったかどうかを判定する。終
了時刻になった場合,シミュレーションの実行を終了す
る。シミュレーション終了時刻になっていない場合,処
理へ制御を戻し,次のイベントについて同様に処理を
繰り返す。
1つのプロセッサで,複数のゲートを担当する場合に
は,例えば第6図に示すように,各ゲートのピンごとに
イベントキュー14を用意すると共に,ゲートごとにもイ
ベントキュー40を用意し,各ゲートについて,1イベント
ずつイベントキュー40から取り出して,ピンごとのイベ
ントキュー14へ移していき,1ゲートの場合と同様に,処
理を行うことができる。
すなわち,外部からのイベントがくると,それを,各
ゲートG1〜G3ごとの待ち行列に入れる。そして,第6図
に示す〜の順番で,順に処理していく。待ち行列に
イベントのないゲートは,処理を飛ばす。このようにす
ることにより,各ゲートに対する処理の負荷を平均化さ
せることができる。
〔発明の効果〕
以上説明したように,本発明によれば,プロセッサ間
の同期をとる必要がなく,各プロセッサがそれぞれ担当
するゲートのシミュレーションを進めていくことができ
るので,プロセッサ数が多い場合,あるいはゲート数が
少ない場合でも,並列効果が大きい。また,タイムホイ
ールの単位時間ごとにシミュレーションを進めるのでな
く,イベントの時刻と,イベントが発生したピンの現在
の時刻と,ゲートの現在の時刻によって,シミュレーシ
ョンを進行させるので,シミュレーション精度をよくし
ても,並列効果への影響はない。従って,精度のよい論
理シミュレーションを高速に実行できるようになる。
【図面の簡単な説明】
第1図は本発明の原理説明図, 第2図は本発明の適用システムの例, 第3図は第2図に示すシステム動作説明図, 第4図は本発明の一実施例に係るイベントに対する処理
説明図, 第5図は本発明の一実施例に係るシミュレーション実行
処理部の処理フロー, 第6図は本発明の一実施例による複数ゲートに対する処
理説明図, 第7図は従来方式のイベントドリブン法による処理の
例, 第8図は従来方式の同期に関する改良例の説明図を示
す。 図中,10はプロセッサ,11はイベント,12はメッセージ受
信処理部,13はメッセージ送信処理部,14はイベントキュ
ー,15はピン時刻管理部,16はゲート時刻管理部,17はシ
ミュレーション実行処理部を表す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のプロセッサが結合された並列計算機
    により,論理回路の動作をシミュレートする論理シミュ
    レーション制御方式において, 前記各プロセッサ(10)に,シミュレーション対象とな
    る回路を構成する1個または複数個のゲートを受け持た
    せ, 前記各プロセッサ(10)は, 少なくともゲートのピンに対する論理値およびその論理
    値が継続する時刻情報を持つイベントを送受信するメッ
    セージ送受信処理手段(12,13)と, 自プロセッサが担当するゲートの各ピン対応に,どの時
    刻までのイベントが届いているかを管理するピン時刻管
    理手段(15)と, 各ゲートがどの時刻までのイベントを出力したかを管理
    するゲート時刻管理手段(16)と, 受信したイベント内の時刻,各ピン対応に管理される時
    刻および各ゲート対応に管理される時刻に応じて,ゲー
    トの出力値を確定できる時刻までの出力値を計算し,イ
    ベントを発生させるシミュレーション実行処理手段(1
    7)とを備え, 前記各プロセッサを非同期に動作させるようにしたこと
    を特徴とする並列論理シミュレーション制御方式。
JP3340088A 1988-02-16 1988-02-16 並列論理シミュレーション制御方式 Expired - Fee Related JP2590179B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3340088A JP2590179B2 (ja) 1988-02-16 1988-02-16 並列論理シミュレーション制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3340088A JP2590179B2 (ja) 1988-02-16 1988-02-16 並列論理シミュレーション制御方式

Publications (2)

Publication Number Publication Date
JPH01207838A JPH01207838A (ja) 1989-08-21
JP2590179B2 true JP2590179B2 (ja) 1997-03-12

Family

ID=12385546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3340088A Expired - Fee Related JP2590179B2 (ja) 1988-02-16 1988-02-16 並列論理シミュレーション制御方式

Country Status (1)

Country Link
JP (1) JP2590179B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327361A (en) * 1990-03-30 1994-07-05 International Business Machines Corporation Events trace gatherer for a logic simulation machine
JPH05205005A (ja) * 1990-03-30 1993-08-13 Internatl Business Mach Corp <Ibm> ロジック・シミュレーション・マシン用ホスト・インタフェース
JPH081646B2 (ja) * 1993-03-26 1996-01-10 日本電気株式会社 論理シミュレーション装置
CN114841103B (zh) * 2022-07-01 2022-09-27 南昌大学 门级电路的并行仿真方法、系统、存储介质及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57164363A (en) * 1981-04-02 1982-10-08 Matsushita Electric Ind Co Ltd Simulation system in multi-processor system
JPS60116064A (ja) * 1983-11-28 1985-06-22 Mitsubishi Electric Corp 分散処理プロセツサ−間通信方式
JPH0760169B2 (ja) * 1984-11-02 1995-06-28 三洋電機株式会社 論理回路のシミュレーション方法及びシミュレータ

Also Published As

Publication number Publication date
JPH01207838A (ja) 1989-08-21

Similar Documents

Publication Publication Date Title
EP0102242A2 (en) Data processing apparatus
WO2012023397A1 (ja) シミュレーション方法、システム及びプログラム
US8359186B2 (en) Method for delay immune and accelerated evaluation of digital circuits by compiling asynchronous completion handshaking means
JPH06195322A (ja) 汎用型ニューロコンピュータとして用いられる情報処理装置
EP0272705B1 (en) Loosely coupled pipeline processor
CN111612155B (zh) 一种分布式机器学习系统及适用于其的通信调度方法
US4385365A (en) Data shunting and recovering device
EP0732652A1 (en) Consistency verification of an instruction execution order for a multiprocessor system
JP2590179B2 (ja) 並列論理シミュレーション制御方式
WO2017088456A1 (zh) 多输入多输出处理器流水线数据同步装置及方法
JPH06131181A (ja) 階層並列処理型中央処理装置
JP3144950B2 (ja) 論理シミュレーション方式
RU2643622C1 (ru) Вычислительный модуль
JP2508620B2 (ja) 論理回路シミュレ―ション装置
GB2027238A (en) Clear and wait instruction means and method
US20060277428A1 (en) A system and method for simulation of electronic circuits generating clocks and delaying the execution of instructions in a plurality of processors
JPH0934918A (ja) デジタル回路をシミュレートする方法および装置
JP2727615B2 (ja) 論理シミュレーション装置
JPS63316140A (ja) 論理シミュレ−ション装置
CN115827917A (zh) 用于模拟器设备的数据同步方法、装置、设备及存储介质
JP2563454B2 (ja) 論理シミュレーション方法と論理シミュレーション装置
JPS6235145B2 (ja)
JPS6057603B2 (ja) 演算処理装置
JPH0290267A (ja) シミュレーション装置の入出力遅延処理装置
JPH01282666A (ja) 並列論理シミュレーション処理方式

Legal Events

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