JP2845032B2 - 論理シミュレーション装置 - Google Patents

論理シミュレーション装置

Info

Publication number
JP2845032B2
JP2845032B2 JP16566492A JP16566492A JP2845032B2 JP 2845032 B2 JP2845032 B2 JP 2845032B2 JP 16566492 A JP16566492 A JP 16566492A JP 16566492 A JP16566492 A JP 16566492A JP 2845032 B2 JP2845032 B2 JP 2845032B2
Authority
JP
Japan
Prior art keywords
event
input
memory
unit
node
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
JP16566492A
Other languages
English (en)
Other versions
JPH064511A (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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP16566492A priority Critical patent/JP2845032B2/ja
Publication of JPH064511A publication Critical patent/JPH064511A/ja
Application granted granted Critical
Publication of JP2845032B2 publication Critical patent/JP2845032B2/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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理回路シミュレーシ
ョン装置、特に、イベント駆動式の論理シミュレーショ
ン装置に関する。
【0002】
【従来の技術】従来、論理回路のシミュレーションは、
汎用機等でソフトウェア的に行われるものが主流であっ
た。しかし、扱う回路規模の増大に汎用機の性能が追い
付かなくなり、ソフトウェア処理に比較して4桁以上の
高速化が必要となってきた。
【0003】このため、論理回路のシミュレーションを
行う為の専用ハードウェアが開発されるようになってき
た。この専用ハードウェアによる論理シミュレーション
装置は、複数の処理単位に負荷を分散し、演算の種類を
標準的なゲートとフリップフロップだけに限定して、高
速性を追及している。
【0004】
【発明が解決しようとする課題】この従来の専用ハード
ウェアによる論理シミュレーション装置は、演算の種類
を標準的なもの、例えば、4入力1出力の標準ゲートだ
けに限定している。従って、扱える回路はゲートレベル
のものに限定され、機能レベルの回路のシミュレーショ
ンは不可能であった。
【0005】また、機能レベルのシミュレーションをソ
フトウェアで実現したものは、シミュレーション速度が
遅く、速やかな論理検証を行うことができなかった。
【0006】
【課題を解決するための手段】本発明の装置は、論理回
路を、ゲートやメモリ等の機能を表すノードとノード間
の接続情報とでモデル化し、ノードの出力変化をイベン
トとして次のノードに伝えて論理回路のシミュレーショ
ンを行う論理シミュレーション装置において、ノードの
入力情報を記憶する入力メモリと、ノードの出力情報を
記憶する出力メモリと、ノードの接続情報を記憶する接
続メモリと、ノードと入力メモリのアドレス値の関係を
記憶する索引メモリと、イベントが伝播したノードの情
報を記憶するイベントメモリと、その他のノード情報等
を記憶するデータメモリと、入力イベントを解析して検
索部と更新部に指令を出す入力制御部と、イベントメモ
リを読み出してシミュレーションの実行指令を出す実行
制御部と、発生したイベントの合成をイベント合成部に
指令する出力制御部と、入力イベントを格納する入力メ
モリのアドレスを索引メモリの情報から決定する検索部
と、入力イベントを入力メモリの検索部から渡されるア
ドレス位置に、イベント情報をイベントメモリに記録す
る更新部と、入力メモリからシミュレーション対象ノー
ドの入力イベントを読み出し、演算部に与える入力ベク
タを合成する入力合成部と、入力合成部から与えられる
入力ベクタとデータメモリからのノード情報を用いてノ
ードの演算を行う演算部と、演算部から与えられるノー
ドの演算結果を、出力メモリに保持されている以前のノ
ードの出力と比較して、イベント発生の有無を決定し、
かつ出力メモリを更新するイベント発生部と、接続メモ
リからノードの接続情報を読み出し、イベント発生部か
ら受け取ったイベントを接続先のノードへ転送する形式
に変換するイベント合成部と、入力イベントを受け取
り、入力制御部へ転送する入力インターフェース部と、
イベント合成部から受け取ったイベントを接続先へ転送
する出力インターフェイス部とで構成される。
【0007】
【実施例】次に、本発明の実施例について図面を用いて
説明する。
【0008】図1は本発明の一実施例を示す図である。
【0009】図1において、索引メモリ21,イベント
メモリ22,入力メモリ23,出力メモリ24,接続メ
モリ25,データメモリ26は、それぞれ、ノードと入
力メモリ23のアドレス値の関係,イベントが伝播した
ノードの情報,ノードの入力情報,ノードの出力情報,
ノードの接続情報,その他のノード情報を記憶する。
【0010】検索部11は、入力イベントを格納する入
力メモリ23のアドレスを決定し、更新部12は、イベ
ントメモリ22と入力メモリ23の内容を更新する。入
力合成部13は、演算部14に与える入力ベクタを合成
し、演算部14は、ノードの演算を行う。イベント発生
部15は、ノードの新出力値と旧出力値を比較し、イベ
ント発生の有無を決定する。イベント合成部16は、ノ
ードの出力値とノードノ接続先情報を合成して通信手段
(図示省略)へ送る。
【0011】入力制御部2は、入力イベントを解析し、
検索部11と更新部12を制御する。実行制御部3は、
イベントメモリ22の情報を基にシミュレーションする
ノードを決定し、入力合成部13、演算部14、イベン
ト発生部15を制御する。出力制御部4は、イベト合成
部16を制御し、シミュレーションで発生したイベント
の合成を行う。
【0012】入力インターフェース部1は、外部から入
力イベントを受け取り、入力制御部2へ転送する。出力
インターフェース部5は、イベント合成部16から受け
取ったイベントを接続先へ転送する。入力端子31、出
力端子32は、この装置をネットワーク等の通信手段に
接続するためのものである。
【0013】この装置を単独で使用する場合は、入力イ
ンターフェース部1と、出力インターフェース部5の間
に、イベントを転送するための接続が必要である。この
図1では、この装置を図2の処理単位42として使用す
るので、接続を省いてある。
【0014】図2は本発明の他の実施例を示す図であ
る。
【0015】図2において、ネットワーク41は、各処
理単位間を相互に接続し、情報を転送する。処理単位4
2は、図1に示したシミュレーション装置全体をあらわ
す。マスタプロセッサ43は、各処理単位42へ指令を
出し、同期をとる。また、ホストマシン44との通信を
受け持つ。ホストマシン44は、論理回路モデルの作
成、各処理単位へのモデルデータの転送、シミュレーシ
ョン結果の収集および編集作業を受け持つ。
【0016】次に、論理回路のシミュレーション例を、
図3を使用して説明する。図3に示す回路は、入力端子
51に入力される不規則なパルスの立上りエッジを検出
するためのものである。リセット入力端子52は、2つ
のフリップフロップ56と57をリセットするためのも
のである。入力端子53には、クロック信号を入力す
る。ゲート54は、フリップフロップ56への入力をつ
くり、ゲート55は、フリップフロップ57への入力を
つくる。出力端子59は、検出した立上りエッジに対応
したパルスを出力する端子であり、出力端子58は、フ
リップフロップ56の動作を監視するためのものであ
る。
【0017】この回路をモデル化すると、回路の構成要
素51〜59がノード、その間の配線がネットに分解さ
れ、ノードの実現する機能、入力数、出力数、その他の
情報はデータメモリ26に、ネット情報は接続メモリ2
5にそれぞれ格納される。また、ノードに割り振られた
入力メモリ23のアドレスを索引メモリ21に格納す
る。
【0018】図4は、この回路に与える入力パタンと、
その出力パタンである。61は入力端子53へのクロッ
ク、62は入力端子51へのパルス、63は入力端子5
2へのリセット信号の各入力パタンである。また、64
は出力端子58、65は出力端子59の出力パタンであ
る。ここでは、入力パタンはマスタプロセッサ43から
処理単位42にイベントとして送られ、出力パタンは、
逆に処理単位42からマスタプロセッサ43へイベント
として送られるものとする。また、a〜hは、クロック
61の立上りを示す。
【0019】入力パタンが変化すると、マスタプロセッ
サ43から入力イベントが入力端子51〜53へ送られ
る。イベントは、ネットワーク41を通して入力インタ
ーフェース部1へ入力され、入力制御部2へ転送され
る。
【0020】入力制御部2は、転送されたイベントを解
釈して、検索部11と更新部12へ入力端子51への入
力であることを伝え、イベントをセットするように指令
を出し、次のイベント処理にかかる。以下、入力端子5
2、53へのイベントも同様に処理される。
【0021】検索部11は、索引メモリ21から入力端
子51に対応する入力メモリ23のアドレスを検索し、
更新部12に伝える。更新部12は、入力端子51へイ
ベントがセットされたことをイベントメモリ22に書き
込み、同時に検索部11からアドレス値を受け取る。次
に、アドレスを入力メモリ23へセットし、そのアドレ
スの示す値をイベントの入力値に更新する。
【0022】実行制御部3は、マスタプロセッサ43か
らの同期信号によってシミュレーションを開始する。ま
ず、イベントメモリ22からイベント情報を読み出し、
入力端子51にイベントが入力されたことを知る。次
に、入力合成部13と演算部14に、入力端子51のシ
ミュレーションを指示する。また、イベント発生部15
に、入力端子51のシミュレーション前の出力値の読み
出しを指示する。次に、出力制御部4に入力端子51の
シミュレーションを行うことを伝える。全ての指示を終
えると、次のイベントの読み出しを行う。
【0023】入力合成部13は、実行制御部3からの指
示をうけて、入力メモリ23から入力端子51の入力値
を読み出し、それを演算部14に送る。
【0024】指示されたノードがゲート54のように複
数の入力を必要とする場合は、入力メモリ23から全て
の入力値を読み出し、それをベクタ形式に合成して演算
部14に送る。
【0025】演算部14は、実行制御部3からの指示を
うけて、データメモリ26から入力端子51のデータを
読み出し、実行すべき演算を決定する。また、イベント
発生部15に、出力メモリのアドレスを伝える。次に、
入力合成部13から送られた入力ベクタを取り込み、演
算を行い、演算結果をイベント発生部15に送る。
【0026】イベント発生部15は、実行制御部3から
の指示をうけて、出力メモリ24から入力端子51のシ
ミュレーション前の出力値を読み出す。この読み出しア
ドレスは、演算部14から指示される。次に、演算部1
4から送られた演算結果を取り込み、前の出力値と比較
する。演算結果が出力値と異なる場合は、イベントが発
生し、その値をイベント合成部16に転送し、併せて出
力メモリ24の値を更新する。同時に、イベントの発生
を出力制御部4にも伝える。仮に、演算結果が出力値と
等しい場合は、イベントは発生しないので、値の転送は
行わない。また、出力制御部4には、イベントが発生し
なかったことを伝える。
【0027】ここで、対象ノードがフリップフロップ5
6のように複数の出力を持つ場合は、各々の出力を個別
に判定し、変化した出力のみがイベントを発生する。変
化しなかった出力にはイベントが発生しないので、不用
なイベントの転送を避けられる。
【0028】出力制御部4は、実行制御部3からの連絡
をうけて、入力端子51のイベントの合成準備をイベン
ト合成部1に指示する。次に、イベント発生部15から
の連絡により、イベントが発生したことを知り、イベン
トの合成開始をイベント合成部16に指示して、実行制
御部3からの次の連絡を待つ。イベント合成部16から
合成の終了が伝えられると、再び次のノードのイベント
合成準備を指示する。イベントが発生しなかった場合
は、合成の中止をイベント合成部16に指示し、実行制
御部3からの次の連絡を待つ。
【0029】イベント合成部16は、合成準備の指示を
うけて、接続メモリ25から入力端子51の接続先を読
み出す。次に、合成開始の指示をうけて、イベント発生
部15から受け取った値と接続先の情報を合成し、出力
インターフェース部6に転送する。接続先が複数の場合
はこれを繰り返し、全ての転送が終了した時点で、その
旨を出力制御部4に伝える。
【0030】出力インターフェース部6は、イベント合
成部16から送られたイベントをネットワーク41に転
送する。イベントは、ネットワーク41を通して接続先
のノードをシミュレーションする処理単位42に転送さ
れる。
【0031】次に、機能レベルの論理シミュレーション
例を説明する。
【0032】図5は、演算器のモデルである。命令レジ
スタ71は、クロック入力端子76からのクロック信号
に同期して命令入力端子75から命令を取り込み、各ユ
ニットに命令を伝える。レジスタファイル72は演算の
対象となるデータを保持し、演算ユニット73へデータ
を与える。また、クロック信号に同期して、演算ユニッ
ト73の演算結果、もしくはデータ入力端子77からの
入力データを取り込む。演算ユニット73は、命令レジ
スタ71からの命令をうけて演算を行う。出力バッファ
74は、データ出力端子78へ演算結果を出力するか否
かを制御する。
【0033】このような機能レベルの回路図であって
も、各ユニット71〜78をノードとして、その機能等
のデータをデータメモリ26に、命令およびデータの転
送ルートをネットとして、その接続関係を接続メモリ2
5に格納することで、図3の回路と同様にシミュレーシ
ョンを行うことができる。
【0034】例えば、1回目のクロックで命令レジスタ
71に加算命令がロードされたとする。次のクロック
で、この加算命令はレジスタファイル72、演算ユニッ
ト73、出力バッファ74に送られる。ここの部分のシ
ミュレーションは、先の説明の入力端子51の例と同様
の手順で行われ、命令がイベントとして各ユニットをモ
デル化したノードに転送される。
【0035】各ノードがイベントを受け取ったことがイ
ベントメモリ22に記録され、その値は入力メモリ23
に記録される。実行制御部3が、イベントメモリ22か
らレジスタファイル72のノードのイベントを読み出
し、シミュレーションを指示する。入力合成部13は、
入力メモリ23からノードの入力を読み出し、演算部1
4に転送する。
【0036】演算部14は、ノードが表す機能をデータ
メモリ26から読み出し、入力合成部13からの入力
(命令)に対して、出力にレジスタファイルのデータを
送る演算を行う。このデータは、イベント発生部15か
らイベント合成部16に送られ、演算ユニット73へ向
かうイベントが合成され、転送される。
【0037】以下、同様のシミュレーションを行い、最
後にデータの加算結果がレジスタファイル72に転送さ
れ、入力端子76のクロックの変化で、この結果をレジ
スタファイル72に格納するシミュレーションを行う。
【0038】このように、論理回路がゲートレベルであ
ろうと機能レベルであろうと、同様の手順でノードのシ
ミュレーションを行う。各部は割り当てられた作業のみ
を行い、パイプライン処理で同時に作業を進める。この
時、各部が必要とする情報は各々専用のメモリに割り当
て、メモリ競合によるオーバヘッドを最小限に抑える。
【0039】本発明では、シミュレーション中に起きる
メモリ競合はイベントメモリ22と入力メモリ23に対
するものだけであり、しかも、更新部12からのアクセ
スは書き込みのみ、実行制御部3と入力合成部13から
のアクセスは読み出しのみである。従って、この2つに
デュアルポートメモリを用いればメモリ競合は避けられ
る。
【0040】更に、このシミュレーション装置をネット
ワーク結合することで、各処理単位を並列に実行し、大
規模な論理回路を極めて高速にシミュレーションでき
る。
【0041】
【発明の効果】以上説明したように、本発明は、シミュ
レーションを大きく入力・実行・出力の三つのフェーズ
に分割し、各フェーズを更に細分化して、全部で六つの
ユニットを同時に動かすことでノードのシミュレーショ
ンを流れ作業で行い、かつ、各ユニットが必要とする情
報を個別の専用メモリに置くことで、メモリの競合を最
小限に抑え、並列処理効率を高めることで、シミュレー
ションを高速に実行する。
【0042】更に、複数の装置をネットワークで接続す
ることで、同時に多数のノードのシミュレーションを行
い、大規模な論理回路のシミュレーションを高速に実行
できる。
【0043】また、ノードの演算を機能レベルで表現で
き、ノードの入出力に制限がないため、AND−OR等
の複合ゲートや、レジスタファイル、加算器等を一つの
ノードとして扱え、回路を標準ゲートに展開する必要が
ない。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】本発明の他の実施例のブロック図である。
【図3】ゲートレベルの論理回路の一例を示す図であ
る。
【図4】回路の入出力チャートの一例を示す図である。
【図5】機能レベルの論理回路の一例を示す図である。
【符号の説明】
1 入力インターフェース部 2 入力制御部 3 実行制御部 4 出力制御部 5 出力インターフェース部 11 検索部 12 更新部 13 入力合成部 14 演算部 15 イベント発生部 16 イベント合成部 21 索引メモリ 22 イベントメモリ 23 入力メモリ 24 出力メモリ 25 接続メモリ 26 データメモリ 31 入力端子 32 出力端子 41 ネットワーク 42 処理単位 43 マスタプロセッサ 44 ホストマシン 51 入力端子 52 入力端子 53 入力端子 54 ゲート 55 ゲート 56 フリップフロップ 57 フリップフロップ 58 出力端子 59 出力端子 61 入力パタン(CLK) 62 入力パタン(IN) 63 入力パタン(RST) 64 出力パタン(QO) 65 出力パタン(UP) 71 命令レジスタ 72 レジスタファイル 73 演算ユニット 74 出力バッファ 75 命令入力端子 76 クロック入力端子 77 データ入力端子 78 データ出力端子
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 JICSTファイル(JOIS)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】論理回路を、ゲートやメモリ等の機能を表
    すノードとノード間の接続情報とでモデル化し、ノード
    の出力変化をイベントとして次のノードに伝えて論理回
    路のシミュレーションを行う論理シミュレーション装置
    において、 ノードの入力情報を記憶する入力メモリと、ノードの出
    力情報を記憶する出力メモリと、ノードの接続情報を記
    憶する接続メモリと、ノードと入力メモリのアドレス値
    の関係を記憶する索引メモリと、イベントが伝播したノ
    ードの情報を記憶するイベントメモリと、その他のノー
    ド情報等を記憶するデータメモリと、 入力イベントを解析して検索部と更新部に指令を出す入
    力制御部と、イベントメモリを読み出してシミュレーシ
    ョンの実行指令を出す実行制御部と、発生したイベント
    の合成をイベント合成部に指令する出力制御部と、 入力イベントを格納する入力メモリのアドレスを索引メ
    モリの情報から決定する検索部と、入力イベントを入力
    メモリの検索部から渡されるアドレス位置に、イベント
    情報をイベントメモリに記録する更新部と、入力メモリ
    からシミュレーション対象ノードの入力イベントを読み
    出し、演算部に与える入力ベクタを合成する入力合成部
    と、入力合成部から与えられる入力ベクタとデータメモ
    リからのノード情報を用いてノードの演算を行う演算部
    と、演算部から与えられるノードの演算結果を、出力メ
    モリに保持されている以前のノードの出力と比較して、
    イベント発生の有無を決定し、かつ出力メモリを更新す
    るイベント発生部と、接続メモリからノードの接続情報
    を読み出し、イベント発生部から受け取ったイベントを
    接続先のノードへ転送する形式に変換するイベント合成
    部と、 入力イベントを受け取り、入力制御部へ転送する入力イ
    ンターフェース部と、イベント合成部から受け取ったイ
    ベントを接続先へ転送する出力インターフェイス部とで
    構成される論理シミュレーション装置。
  2. 【請求項2】請求項1記載の論理回路シミュレーション
    装置を一つの処理単位として、複数の処理単位を、ネッ
    トワーク等の通信手段で相互に接続した並列処理方式の
    論理回路シミュレーション装置。
JP16566492A 1992-06-24 1992-06-24 論理シミュレーション装置 Expired - Fee Related JP2845032B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16566492A JP2845032B2 (ja) 1992-06-24 1992-06-24 論理シミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16566492A JP2845032B2 (ja) 1992-06-24 1992-06-24 論理シミュレーション装置

Publications (2)

Publication Number Publication Date
JPH064511A JPH064511A (ja) 1994-01-14
JP2845032B2 true JP2845032B2 (ja) 1999-01-13

Family

ID=15816674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16566492A Expired - Fee Related JP2845032B2 (ja) 1992-06-24 1992-06-24 論理シミュレーション装置

Country Status (1)

Country Link
JP (1) JP2845032B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853968B2 (en) 2000-01-20 2005-02-08 Arm Limited Simulation of data processing apparatus
GB2358496A (en) * 2000-01-20 2001-07-25 Advanced Risc Mach Ltd Simulation of data processing apparatus including pipelined circuit elements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会論文誌,vol.32,no.1,86−99頁,高崎茂ほか,「HAL III:機能レベル・ハードウエア・シミュレータ・システム」

Also Published As

Publication number Publication date
JPH064511A (ja) 1994-01-14

Similar Documents

Publication Publication Date Title
CN109783954B (zh) 一种ies联合fpga硬件仿真加速系统
JP2001060219A (ja) エミュレーションとシミュレーションを用いた設計検証のための方法および装置
JP2002183234A (ja) デジタル回路の共同シミュレーション方法
US4584642A (en) Logic simulation apparatus
JP3423603B2 (ja) 高位合成装置及び高位合成方法、並びに高位合成プログラムを記録した記録媒体
JP2001249824A (ja) 論理エミュレーションプロセッサおよびそのモジュールユニット
US7228513B2 (en) Circuit operation verification device and method
JP2845032B2 (ja) 論理シミュレーション装置
JP3212709B2 (ja) ロジックシミュレーション装置
JP3242277B2 (ja) シミュレーション装置
JP2861994B1 (ja) 回路合成方法、回路合成装置および記録媒体
US5740070A (en) Apparatus for automatically generating logic circuit
JP2508620B2 (ja) 論理回路シミュレ―ション装置
JP2638613B2 (ja) プログラマブル アクセラレータ及びその方法
JP2000057188A (ja) ハードウェア・ソフトウェア協調評価装置
JP2019016168A (ja) シミュレーションプログラム、方法、及び装置
JP2714015B2 (ja) 論理回路合成装置
van Sas et al. Automated test pattern generation for the Cathedral-II/2nd architectural synthesis environment
EP0592076B1 (en) Compilation mechanism for a simulation model
JP2729061B2 (ja) シミュレーション装置のゼロ遅延演算処理方式
JP2921087B2 (ja) ハードウェアアクセラレータにおける実チップシミュレーション方式
JPH0290267A (ja) シミュレーション装置の入出力遅延処理装置
Dreier et al. Partitioning and fpga-based co-simulation of statecharts
JPH10177487A (ja) プロセッサの命令シミュレーション方法および命令シミュレーション・システム
JPH05282395A (ja) ハードウェアシミュレータの双方向ピン入出力切換え方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980929

LAPS Cancellation because of no payment of annual fees