JPH0934918A - デジタル回路をシミュレートする方法および装置 - Google Patents

デジタル回路をシミュレートする方法および装置

Info

Publication number
JPH0934918A
JPH0934918A JP7312963A JP31296395A JPH0934918A JP H0934918 A JPH0934918 A JP H0934918A JP 7312963 A JP7312963 A JP 7312963A JP 31296395 A JP31296395 A JP 31296395A JP H0934918 A JPH0934918 A JP H0934918A
Authority
JP
Japan
Prior art keywords
circuit
signal
models
model
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.)
Granted
Application number
JP7312963A
Other languages
English (en)
Other versions
JP3731929B2 (ja
Inventor
Richard Jones Clive
リチャード ジョーンズ クライブ
William Ernshow Richard
ウィリアム アーンショウ リチャード
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of JPH0934918A publication Critical patent/JPH0934918A/ja
Application granted granted Critical
Publication of JP3731929B2 publication Critical patent/JP3731929B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 2つの別個のシミュレータの動作をコーディ
ネートすること 【解決手段】 第1シミュレータおよび第2シミュレー
タはアクティブになったとき、それらのシミュレート時
間を別々にインクリメントし、第2回路モデルのうちの
1つが応答する信号が第1シミュレータによって変更さ
れると、第2シミュレータが使用される。第2回路モデ
ルにより、更なる信号変化が行われなくなるまで第2シ
ミュレータから出ることができない。この段階で第2回
路モデルによって変更された信号の最終アサート値は第
1モデルで戻され、第1シミュレータからの信号に応答
して第2シミュレータに入る際に、第2シミュレータ内
にペンディング中の信号変化があれば、そのペンディン
グ中の信号変化が生じるまで第1シミュレータ信号はバ
ッファに入れられる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デジタル回路シミ
ュレーションの技術分野に関する。
【0002】
【従来技術】シミュレートすべきデジタル回路を定義す
るモデルと共に、ソフトウェア制御により作動する汎用
コンピュータによりデジタル回路の機能をシミュレート
するデジタル回路シミュレーションシステムを提供する
ことは公知である。かかるデジタル回路シミュレーショ
ンは多くの利点を有している。例えばデザインを実際の
製造に使用する前にデザインをシミュレートし、デザイ
ン内の欠陥を除くようにテストできる。デジタル回路を
他の回路と共に使用するようになっている場合、回路の
シミュレーションを利用して、まだ製造段階となってい
ないシミュレートされたデジタル回路と並行して、かか
る他の回路の開発を進めることができる。
【0003】デジタル回路シミュレーションコンピュー
タプログラムは数種が市販されている。例えば、「バン
テージスプレッドシート」、「サイノプシスVss」、
「キャデンスベリローグ」および「モデルテックVシス
テム」の4つの例がある。
【0004】かかるシミュレーションソフトウェアを使
用する際の共通のアプローチ方法は、デジタル回路、例
えば新しいマイクロプロセッサのメーカーが、かかるシ
ミュレーションソフトウェアと共に使用できるマイクロ
プロセッサのモデルを供給し、第三者がこの新しいマイ
クロプロセッサと共に作動できる回路を開発できるよう
にする方法である。このようなアプローチ方法は、新し
いプロセッサの内部設計に関して、必要な程度に詳細な
情報が提供されないという大きな欠点がある。新しいマ
イクロプロセッサの内部動作を決定するために新しいマ
イクロプロセッサのモデルは比較的容易に解析できる
が、実際には、第三者が求めていることは解析対象であ
るモデルがマイクロプロセッサの外部入力信号および出
力信号をシミュレートすることである。
【0005】この問題を解決するため本願出願人の継続
中の英国特許出願第9,511,617.4 号に新しいマイクロプ
ロセッサを専用の別個のシミュレーションソフトウェア
でシミュレートし、マイクロプロセッサモデルを汎用シ
ミュレーションソフトウェア(第三者はこのソフトウェ
アに対し、そのモデルを書き込むことができる)とイン
ターフェースする別個のシミュレーションソフトウェア
でシミュレートする技術が提案されている。このよう
に、新しいマイクロプロセッサのシミュレーションシス
テムがマイクロプロセッサの物理的バージョンによって
発生される外部入力信号および出力信号だけを示す状態
で新しいマイクロプロセッサ専用のシミュレーションシ
ステム内に、新しいマイクロプロセッサの内部動作およ
び詳細な構造が隠されている。
【0006】
【発明が解決しようとする課題】公知のアプローチ方法
では、単一のシミュレーションシステムでは所有者のマ
イクロプロセッサモデルおよびこのマイクロプロセッサ
モデルとインターフェースする第三者の回路の双方を制
御するようになっている。従って、単一のシミュレーシ
ョンシステムは事象のシーケンスおよびモデル全体を通
過する信号の伝搬を制御できる。別個のシミュレーショ
ンシステムおよび第三者がデバイスモデルを取り付ける
上位のシミュレーションシステム内で、全体として1部
品として作動するモデルにより、回路、例えばマイクロ
プロセッサの外部入力信号および出力信号をシミュレー
トするシステム内で、信号の制御、シーケンスおよび伝
搬をコーディネートする上で問題が生じる。本発明の目
的は、これら問題を解決することにある。
【0007】
【課題を解決するための手段】本発明の1つの様相によ
れば、1つの第1回路モデルと複数の第2回路モデルを
使用して、複数の第2回路に結合された第1回路を含む
デジタル回路をシミュレートする方法であって、(i)
前記第1回路内で交換される前記第1回路モデル(該
第1回路モデルは第1時間インクリメントだけ分離され
た第1シミュレート時間のシーケンスを通して作動す
る)の信号によりシミュレートする工程と、(ii)
前記第1モデルが前記第2回路モデルのうちの少なくと
も1つが応答する信号の値を変える第1シミュレート時
間において、前記第1回路モデルが進む際に、前記第1
回路内で交換される信号のシミュレートを停止し、前記
第1シミュレート時間のインクリメントを停止し、前記
信号を前記第2回路モデルのうちの前記少なくとも1つ
に送る工程と、(iii) 前記複数の第2回路の間で
交換される前記複数の第2回路モデル(該複数の第2回
路モデルは第2時間インクリメントだけ分離された第2
シミュレート時間のシーケンスを通して作動する)の信
号を用いてシミュレートする工程と、(iv) 前記複
数の第2回路モデルにより信号の交換が促進されなくな
ると、前記第2シミュレート時間のインクリメントを停
止し、前記第2シミュレート時間のインクリメント中に
前記複数の第2回路モデルによって変更された、前記第
1回路モデルが応答する信号の最後にアサートされた値
を前記第1回路モデルへ送る工程と(v) 前記第1回
路内で交換される信号の前記第1回路モデルによるシミ
ュレーションを再スタートし、前記第1シミュレート時
間をインクリメントする工程とを備えた、デジタル回路
をシミュレートする方法が提供される。
【0008】本発明は事象のシーケンスおよび信号の伝
搬に対する制御装置を各々が有している、異なるシミュ
レータにより作動させると問題が生じることを認識して
おり、この問題を解決するものである。このように発生
する問題とは、第1回路モデルが第2回路モデルに対し
信号を発生すると、第1回路モデルは第2回路モデルに
制御権を渡し、第2回路モデルはこれら第2回路モデル
に送られた信号に対してどのような応答が生じるかを別
々にシミュレートすることにある。第2回路モデルのこ
の応答がどのようになるかを判断するには、一般に信号
が第2回路モデルを通って伝搬するので、多くの第2シ
ミュレート時間のインクリメントを必要とすることとな
る。この期間中、第1回路モデルが応答できる信号の多
くの信号値は、最終的な出力信号値に落ち着くまで数回
変わり得る。最終値に落ち着く前のかかる変化は、物理
的回路内では一定の状態に達する前の短期間の中間値を
とる信号に対応し得る。すなわち回路は各々出力値とな
る潜在的な結果を有する数種の入力信号が多かれ少なか
れ、同じ時間に変化する組み合わせ論理を含む。
【0009】本発明が認識するこの問題を処理するた
め、第2回路のシミュレーションは第2回路モデルが信
号の交換を終了し(すなわちモデルが供給された入力信
号に対する応答を示す状態に落ち着き)、次に第1回路
モデルが応答できる信号の最終アサート値を第1回路モ
デルへ戻すまでシステムが待機するようになっている。
このように第2回路モデルが作動する結果として生じ得
るスプリアス(spurious)信号値は、不正確な
動作をする可能性がある第1回路モデルへは送られな
い。
【0010】2つのシミュレーションシステムが共に働
く態様を改善するための上記技術は、多くの異なる状況
に適用できる。しかしながら先に述べたように、前記複
数の第2回路モデルが外部信号のみを前記第1回路モデ
ルと交換するような状況で2つのシミュレーションシス
テムを共に作動させたいという特殊な動機がある。
【0011】複数の第2回路モデルの内部信号を第1回
路モデルへ送らないかかる状況では、第1のかかるモデ
ルを制御するシミュレーションソフトウェアを使って複
数の第2回路モデルを制御することはできないので、2
つの別個のシミュレーションシステムの動作をコーディ
ネートする問題が生じる。
【0012】第2回路モデルのうちの1つが第1回路モ
デルに即座に送らなければならない遅延ゼロの信号(優
先信号)を発生する際に、2つのシミュレータをコーデ
ィネートする別の問題が生じ得る。この応答信号に対す
る第1回路モデルの応答によって複数の第2回路モデル
が応答自在な信号値が変わり、第2回路シミュレーショ
ンへの再入が生じる可能性が生じる。複数の第2回路モ
デルは先に信号が印加された第1回路モデルからの信号
の完全な結果によって処理されていないので、かかる再
入は制御しなければならない。
【0013】従って、前記複数の第2回路モデルによっ
て信号の交換が促進される間、前記複数の第2回路モデ
ルのいずれかが、前記第1回路モデルに対し優先信号を
発生し、これを該第1回路モデルに送ることができる本
発明の実施例では、前記優先信号により前記第1回路モ
デルから前記複数の第2回路モデルへの1つ以上の別の
信号の送りがトリガーされる場合、前記1つ以上の別の
信号は前記優先信号の発生前の、前記複数の第2回路モ
デルの状態の結果生じる前記複数の第2回路モデルによ
り更なる信号の交換が促進されなくなるまでバッファ化
され、前記複数の第2回路モデルへは印加されない。
【0014】このように、第1回路モデルへ即座に送ら
れる優先信号は許可されるが、第2シミュレーションへ
の制御されない再入の問題はいまだ解消されていない。
【0015】第1シミュレート時間インクリメントおよ
び第2シミュレート時間インクリメントはなんらかの時
間を有し得ると理解できよう。より詳細には、一定の順
序で、かつ両者の間に時間的な差異がほとんど実質的に
ない信号転送が生じる状況がある。これをモデル化する
ため、前記第1シミュレート時間インクリメントおよび
前記第2シミュレート時間インクリメントは、長さが実
質的にゼロのデルタ時間のインクリメントとすることが
できる。かかるデルタ時間インクリメントは一定の積分
面積を有し、無限小の幅の数学的なデルタ関数に類似す
るものと見なすことができる。このような意味におい
て、デルタ時間インクリメントの順は制御できるが、経
過したシミュレート時間は有効にゼロとなる。
【0016】第2シミュレーションシステムは、このシ
ステムが多数の第2回路モデルを有効に発生することを
条件に、多数の形態をとり得る。しかしながら、好まし
い実現例は第1回路モデルがインターフェースコントロ
ーラへ信号を送り、このインターフェースコントローラ
がこの信号をバッファ化し、更にこの信号に応答自在な
前記複数の第2回路モデルへ前記信号を再び向けるよう
な例である。
【0017】第2回路モデルによって発生される最終ア
サート信号値が決定できるようにするには、前記インタ
ーフェースコントローラが前記複数の第2回路モデルに
よって変更された信号のアサート値およびこれらの変更
が生じた第2シミュレート時間を表示するデータを記憶
することが好ましい。
【0018】第1回路モデルおよび第2回路モデルを特
殊目的のモデル化ハードウェア、例えばPLAのような
ある形態で提供することは理論的に可能であると理解さ
れよう。しかしながらこれら回路モデルはプログラム命
令の制御により作動する汎用データ処理装置によって提
供されることが好ましい。
【0019】複数の第2回路モデルは任意の形態のデジ
タル回路、および特に秘密に維持したかった回路を提供
できると理解できる。しかしながら本発明は特に前記複
数の第2回路モデルがマイクロプロセッサ回路を示し、
前記第1回路モデルが前記マイクロプロセッサ回路に接
続すべき1つ以上のデバイスを示す実施例で特に有効で
ある。
【0020】本発明の別の様相によれば、複数の第2回
路に結合される第1回路を含むデジタル回路をシミュレ
ートするための装置であって、(i) 第1時間インク
リメントだけ分離された第1シミュレート時間のシーケ
ンスを通して作動する、前記第1回路内で交換される信
号をシミュレートするための第1回路モデルと、(i
i) 第2時間インクリメントだけ分離された第2シミ
ュレート時間のシーケンスを通して作動する、前記複数
の第2回路間で交換される信号をシミュレートするため
の複数の第2回路モデルと、(iii) 前記第1回路
モデルと前記複数の第2回路モデルとの間の信号の送り
を制御するためのインターフェースコントローラとを備
え、(iv) 前記第2回路モデルのうちの少なくとも
1つが応答する信号値を前記第1回路モデルが変更する
第1シミュレート時間に前記第1回路モデルが進むと、
前記第1回路モデルは前記第1回路内で交換される信号
のシミュレートを停止し、前記第1シミュレート時間の
インクリメントを停止し、前記インターフェースコント
ローラを介して前記信号を前記第2回路モデルのうちの
前記少なくとも1つに送り、(v) 前記複数の第2回
路モデルにより更なる信号交換が促進されなくなると、
前記インターフェースコントローラは前記第2シミュレ
ート時間のインクリメントを停止し、前記第2シミュレ
ート時間のインクリメント中に前記複数の第2回路モデ
ルによって変更された、前記第1回路モデルが応答自在
な信号の最後にアサートされた値を前記第1回路モデル
へ送り、そして前記第1回路モデルは前記第1回路内で
交換された信号のシミュレーションおよび前記第1シミ
ュレート時間のインクリメントを再スタートする、デジ
タル回路をシミュレートするための装置が提供される。
【0021】添付図面を参照して実施例の次の詳細な説
明を読めば、本発明の上記およびそれ以外の目的、特徴
および利点が明らかとなろう。
【0022】本明細書の導入部に記載した市販の各シミ
ュレーションパッケージを用いれば、マイクロプロセッ
サの比較的小さいブロック、例えばパイプラインユニッ
ト、プログラムカウンタ、または演算論理ユニットをシ
ミュレートするため、Cコードのブロックを書き込むこ
とができる。次に各ブロックをシミュレーションパッケ
ージに対して直接インターフェース化し、マイクロプロ
セッサ全体をシミュレートする。
【0023】添付図面のうちの図1に、この構造の一例
が示されている。図1は、先に提案されたデジタル回路
シミュレータ内の第1シミュレートと、かかるシミュレ
ーションブロック10、20、30のうちの2ブロック
との相互作用を示す略図である。第1シミュレータ40
は、例えば上記4つの市販シミュレータのうちの1つで
よい。
【0024】シミュレーションブロック(第2回路モデ
ル)10、20、30の各々は、Cプログラム言語で書
かれており、マイクロプロセッサのそれぞれの部分の動
作をシミュレートする。例えばシミュレーションブロッ
クはマルチプライヤユニット、ステータスレジスタ、イ
ンストラクションパイプライン等をシミュレートでき
る。
【0025】一般に、各シミュレーションブロックは2
種類の入出力データを必要とし、これらデータを発生す
る。内部データと称すこれら種類のデータの一方は、デ
ジタル回路の異なる部品間で送られる内部信号を示すデ
ータである。マイクロプロセッサをシミュレートする場
合、かかる信号の例としては内部レジスタの値またはゼ
ロフラグがある。この場合、集積回路を半導体製品とし
て製造する場合、このような内部信号は集積回路の入出
力ピン、すなわち接続部にはルート化されず、単に内部
部品の間で送られるだけである。
【0026】他の種類のデータは外部データと称され、
このデータは回路が半導体製品として製造される際、通
常外部世界の間で送られる電気信号を示す。このような
外部信号の例としてはクロック信号および外部アドレス
バス信号がある。
【0027】しかしながら図1ではシミュレーションブ
ロックは第1シミュレータ40を介してのみ相互に接続
されるので、内部信号および外部信号のいずれも第1シ
ミュレータ40との間でやりとりする必要がある。上記
のように、このことは秘密にされる集積回路の内部動
作、特に内部信号トラフィックの詳細およびシミュレー
ションブロックのアイデンティティおよび機能をシミュ
レータのユーザーに開示しなければならないことを意味
している。
【0028】
【発明の実施の形態】図1は、先に提案されたシミュレ
ータの別の特徴を示している。この特徴とは、シミュレ
ーションブロック10、20、30と、使用される特定
の第1シミュレータ40との間のインターフェースを適
合するために「ベニア」を使用することである。これら
ベニア50、60、70はシミュレーションブロック1
0、20、30等を上位概念で製造可能にするものであ
るので、特定の第1シミュレータ40と通信するための
ベニアを加えるのに比較的少量の作業しか必要とならな
い。
【0029】添付図面のうちの図2は、図1の構造に対
応する回路略図である。図2は多数のシミュレーション
ブロック(例えば条件ユニット、マルチプライヤ、演算
論理ユニット(ALU)、パイプライン)の例を示す。
従ってこれらブロックは製造された集積回路内で直接通
信するが、シミュレータ構造ではブロックは第1シミュ
レータ40を通して通信しなければならない。
【0030】図3は、本発明の一実施例にかかわる集積
回路シミュレータにおけるシミュレーションブロックの
相互作用を示す略図である。
【0031】シミュレーションブロック10、20、3
0は上記ブロックに類似するが、これらブロックは第1
シミュレータ(本例では40’)と通信するように、む
しろデータインターフェースブロック100と通信す
る。
【0032】データインターフェースブロック100は
シミュレーションブロックおよび第1シミュレータとの
間でやりとりするデータ信号のリスト(図示せず)を記
憶する。このリストは、受信した信号の必要な宛て先を
表示し、更にこの信号が内部データ信号であるのか外部
データ信号であるのかを表示する(この情報は実際には
宛て先情報内に暗示させることができる)。
【0033】このブロックがシミュレーションブロック
または第1シミュレータ40’からデータ信号を受ける
と、このブロックは記憶されているリスト内のルート決
定情報に従ってそのデータ信号のルートを決定するとい
う点で、データインターフェースブロック100の作動
はストレートフォワードである(第2実施例ではこのル
ート決定ではタイミング情報を使用することがあるが、
説明を容易とするため、かかるタイミング情報の使用に
ついては下記に別に説明する)。
【0034】より詳細には、次の表は、各ブロックによ
って使用されるデータ入力およびデータ出力を示すシミ
ュレーションブロックの例のリストである。この表では
外部データ信号に対してはアンダーラインが付けてあ
り、アンダーラインのない信号は内部信号である。
【0035】
【表1】
【0036】例えば第1シミュレータ40’から外部入
力信号として受信されるクロック信号は、上記表に従っ
てシミュレーションブロックのいずれへも送られる。こ
れと対照的に、プログラムカウンタの値はプログラムカ
ウンタシミュレーションブロックによって内部出力信号
として発生され、データインターフェースブロック10
0を介して直接アドレスレジスタインターフェースブロ
ックへ送られる。すなわち第1シミュレータ40’へは
送られない。
【0037】この結果、通常製造される半導体集積回路
の入力信号または出力信号として供給される外部信号だ
けが第1シミュレータ40’と置換される。
【0038】別の特徴は、データインターフェースブロ
ック100と第1シミュレータ40’との間のインター
フェースを制御するのに、1つのベニア50’だけでよ
いということである。シミュレータブロック10、2
0、30の各々にベニアを提供することはもはや不要で
ある。
【0039】この構造は、図4に略図で示されており、
ここでは図2と対照的に、第1シミュレータ40’はベ
ニア50’を介して、全体としてシミュレートされたマ
イクロプロセッサ110と通信するようになっている。
マイクロプロセッサ110の内部動作に関連する内部信
号は第1シミュレータ40’との間でやりとりする必要
はない。
【0040】第2実施例では、完了するのに一定の時間
を必要とする事象をシミュレートするシミュレーション
にはタイミング情報が含まれる。例えばレジスタブロッ
クをシミュレートするためのシミュレーションブロック
はシミュレーション時間に関して瞬間的に出力の値を発
生できるが、他方、この値は実際の製造された回路で計
算するのに一定の(リアル)時間を必要とする。従っ
て、かかるブロックの作動をシミュレートするため、所
定の時間にレジスタのうちの1つの内容に対するリクエ
ストを受信し、ブロックが出力データを発生するように
命令することができるが、リクエスト後、(シミュレー
ション時間に対して)適当な遅延時間までに出力データ
を読み出すことはできない。
【0041】これまでは第1シミュレータの一部を形成
するスケジューラに対し詳細を送ることにより、将来の
実行を行うため、かかる事象スケジュールを決めてい
た。しかしながらこれを行うには動作の詳細を第1シミ
ュレータのユーザーに提供しなければならない。
【0042】このような問題を解消するため、本システ
ムの第2実施例では将来実行するようにスケジュールが
決められる事象(例えば上記レジスタアクセス)のリス
ト、すなわちヒープ(これは必ずしも順序を定めなくて
もよい)を維持するデータインターフェース100によ
って実行している。これら事象の詳細はシミュレーショ
ンブロックからデータインターフェースへ送られる。
【0043】データインターフェースがシミュレーショ
ンブロックからかかる各事象の詳細を受けると、データ
インターフェースは動作を実行すべき時間と共に、実行
すべき特定の動作の詳細を記憶する。しかしながら、デ
ータインターフェースは第1シミュレータ内のスケジュ
ーラに対し実行時間の詳細を送るだけである。
【0044】第1シミュレータはデータインターフェー
スからの時間情報を受け、この時間に開始すべき特殊で
ない事象のスケジュールを決める。各時間に達すると第
1シミュレータは特殊でないスケジュール信号をデータ
インターフェースへ送る。これにより、データインター
フェースが待ち行列状態の事象のヒープにコンサルト
し、その時間に発生するようになっているレジスタシミ
ュレーションブロックからの出力値の読み出しのような
事象を開始させる。
【0045】このように、第1シミュレータに供給しな
ければならない待ち行列事象の詳細は実行時間にすぎ
ず、その他の詳細はデータインターフェースによって処
理される。
【0046】図5に図3のシステムをより詳細に示す。
ライン102の下のブロックはマイクロプロセッサのコ
ア、例えばアドバンストRISCマシンリミテッド社に
よって製造されているARM6コアをモデル化するもの
である。ライン102の上のブロックは1つ以上の取り
付けデバイスをモデル化するものであり、第3社が第1
回路モデルを取り付ける市販の第1シミュレータ40’
を利用している。第1シミュレータ40’は第1シミュ
レータ内の第1シミュレータ時間を時間インクリメント
△Pだけ進める。第1シミュレータが第2回路モデル1
0、20、30のうちの少なくとも1つが応答自在であ
る信号を変えるとプログラム制御は第2シミュレータ1
00に進む。第2シミュレータは感度マップ104を含
み、このマップはどの第2回路モデル10、20、30
がどの信号に応答するかを表示するデータを記憶してい
る。信号配分および第2シミュレーション時間管理ブロ
ックは第2シミュレーション時間を第2シミュレーショ
ン時間インクリメント△s(このインクリメントはゼロ
期間のデルタ時間インクリメントでよい)だけ進めるの
で、種々の第2回路モデル10、20、30の間でやり
とりされる信号は、これら信号に応答するモデルへ送ら
れ、プログラム制御は次に各第2回路モデルへ移るの
で、第2回路モデルは応答時間を決定し、他の信号を戻
すことができる。これら他の信号は据え置き事象記憶装
置106内に保持され、この記憶装置106は発生すべ
き変更された信号の値およびこれらを他のモデルに送る
時間を表示する。第2シミュレーション時間が進むと、
すべての信号変化が複数の第2回路モデル10、20、
30内の適当なモデルへ送られ、第2回路モデル10、
20、30によって別の信号変化が送られなくなるま
で、据え置き事象記憶装置106がスイープされる。
【0047】第1回路待ち行列108内には複数の第2
回路モデル10、20、30の外部信号に対する変化が
待ち行列状態となっている。これら信号変化は第2回路
モデル10、20、30の間ですべての信号の交換が行
われるまで、第1シミュレーション40’へは送られる
ことはない。この時間に達すると第1回路待ち行列10
8がサーチされ、変化した各外部信号の最後にアサート
された値が第1シミュレータ40’へ戻される。
【0048】図6は図5のシステムの動作を略図で示す
ものである。ステップ200では、第1シミュレータ4
0’は第1モデルの状態を計算する。ステップ202で
は第2回路シミュレータ100が応答する出力(例えば
外部信号)が変化したかどうかを判断する。かかる信号
が変化していなければステップ204で第1シミュレー
タの時間をインクリメントし、ステップ200を繰り返
す。外部信号が変化していればステップ206を通って
第2シミュレータ100へ進み、ステップ208で第2
回路モデル10、20、30の状態を計算する。ステッ
プ210で第2シミュレータ100の信号配分および第
2シミュレーション時間管理ブロックが第2回路モデル
によって変更されようとしている信号があるかどうかを
判断する。かかる変更がまだ生じていれば、ステップ2
12にて第2シミュレート時間をインクリメントする。
かかる変更が生じていなければ既に変更し、第1シミュ
レータ40’が応答自在である信号の値の最後のアサー
トされた信号の値をステップ214にて第1シミュレー
タへ戻す。
【0049】図7は図6の制御フローの変形例を示す。
まずステップ206にて第2シミュレーションに入り、
ステップ216にて据え置き事象記憶装置106内にペ
ンディング中の信号変化があるかどうかを判断する。か
かるペンディング中の変化があれば、第2回路モデル1
0、20、30によって促進されている信号変化が停止
する前に、第1シミュレーションへ戻される優先信号の
結果としてステージ208から第2シミュレーションが
出たことを表示する。この場合、ステップ218にて第
1信号から第2シミュレータ100へ送られている新し
い信号の変化はバッファ化される。
【0050】第2シミュレータ100は第2回路モデル
を計算するように作動し、(図6と同じように)第2回
路モデル10、20、30によってそれ以上信号変化が
行われなくなるまで、第2シミュレート時間をインクリ
メントする。ステップ208には第2シミュレーション
から出て、すぐに第1シミュレーションへ戻す優先信号
を発生できる別のオプションが存在できる。
【0051】第2回路モデル10、20、30によって
促進される信号変化が停止した後、ステップ220にお
いてステップ218で記憶されたバッファ化された信号
があるかどうかを判断する。かかるバッファ化された信
号が存在していれば、ステップ222にて第2モデルへ
バッファ化した信号を送り、更に変化が促進されなくな
るまで第2シミュレーションを続ける。
【0052】最後にステップ212にてプログラム制御
を第2シミュレータへ戻す。
【0053】以上で添付図面を参照して本発明の図示し
た実施例を詳細に説明したが、本発明はこれら実施例の
みに限定されるものでなく、当業者であれば添付した特
許請求の範囲に記載の発明の範囲および精神から逸脱す
ることなく、種々の変形および変更を行うことができる
と理解すべきである。
【図面の簡単な説明】
【図1】これまで提案されたデジタル回路シミュレータ
内のシミュレーションブロックの相互作用を示す略図で
ある。
【図2】図1の構造に対応する回路の略図である。
【図3】本発明の一実施例による集積回路シミュレータ
内のシミュレーションブロックの相互作用を示す略図で
ある。
【図4】図3の構造に対応する回路略図である。
【図5】図3のシステムのより詳細な図である。
【図6】第1シミュレーションと第2シミュレーション
との間の制御プログラムの移動を示すフローチャートで
ある。
【図7】優先信号を直接第2回路モデルから第1回路モ
デルへ送ることができる、図6のシステムの変形例にお
ける制御プログラムのフローチャートである。
【符号の説明】
10、20、30 第2回路モデル 40’ 第1回路モデル 50’ 第1シミュレータから第2シミュレータへのイ
ンターフェース 104 感度マップ 106 据え置き事象記憶装置 108 第1回路待ち行列

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 1つの第1回路モデルと複数の第2回路
    モデルを使用して、複数の第2回路に結合された第1回
    路を含むデジタル回路をシミュレートする方法であっ
    て、 (i) 前記第1回路内で交換される前記第1回路モデ
    ル(該第1回路モデルは第1時間インクリメントだけ分
    離された第1シミュレート時間のシーケンスを通して作
    動する)の信号によりシミュレートする工程と、 (ii) 前記第1モデルが前記第2回路モデルのうち
    の少なくとも1つが応答する信号の値を変える第1シミ
    ュレート時間において、前記第1回路モデルが進む際
    に、前記第1回路内で交換される信号のシミュレートを
    停止し、前記第1シミュレート時間のインクリメントを
    停止し、前記信号を前記第2回路モデルのうちの前記少
    なくとも1つに送る工程と、 (iii) 前記複数の第2回路の間で交換される前記
    複数の第2回路モデル(該複数の第2回路モデルは第2
    時間インクリメントだけ分離された第2シミュレート時
    間のシーケンスを通して作動する)の信号を用いてシミ
    ュレートする工程と、 (iv) 前記複数の第2回路モデルにより信号の交換
    が促進されなくなると、前記第2シミュレート時間のイ
    ンクリメントを停止し、前記第2シミュレート時間のイ
    ンクリメント中に前記複数の第2回路モデルによって変
    更された、前記第1回路モデルが応答する信号の最後に
    アサートされた値を前記第1回路モデルへ送る工程と (v) 前記第1回路内で交換される信号の前記第1回
    路モデルによるシミュレーションを再スタートし、前記
    第1シミュレート時間をインクリメントする工程とを備
    えた、デジタル回路をシミュレートする方法。
  2. 【請求項2】 前記複数の第2回路モデルは、該複数の
    第2回路の外部の信号のみを前記第1回路モデルと交換
    する、請求項1記載の方法。
  3. 【請求項3】 前記複数の第2回路モデルは、該複数の
    第2回路モデルの内外の信号を互いに交換する、請求項
    1記載の方法。
  4. 【請求項4】 前記複数の第2回路モデルによって信号
    の交換が促進される間、前記複数の第2回路モデルのい
    ずれかが、前記第1回路モデルに対し優先信号を発生
    し、これを該第1回路モデルに送ることができる、請求
    項1記載の方法。
  5. 【請求項5】 前記優先信号により前記第1回路モデル
    から前記複数の第2回路モデルへの1つ以上の別の信号
    の送りがトリガーされる場合、前記1つ以上の別の信号
    は前記優先信号の発生前に、前記複数の第2回路モデル
    の状態の結果生じる前記複数の第2回路モデルにより更
    なる信号の交換が促進されなくなるまでバッファ化さ
    れ、前記複数の第2回路モデルへは印加されない、請求
    項4記載の方法。
  6. 【請求項6】 前記第1のシミュレートされた時間イン
    クリメントの少なくともいくつかは実質的に長さがゼロ
    のデルタ時間インクリメントである、請求項1記載の方
    法。
  7. 【請求項7】 前記第2のシミュレートされた時間イン
    クリメントの少なくともいくつかは実質的に長さがゼロ
    のデルタ時間インクリメントである、請求項1記載の方
    法。
  8. 【請求項8】 前記第1回路モデルはインターフェース
    コントローラへ信号を送り、このインターフェースコン
    トローラはこの信号をバッファ化し、この信号に応答自
    在な前記複数の第2回路モデルに前記信号を再び向け
    る、請求項1記載の方法。
  9. 【請求項9】 前記インターフェースコントローラは前
    記複数の第2回路モデルによって変更された信号のアサ
    ートされた値およびこの変更が生じた第2シミュレート
    時間を表示するデータを記憶する、請求項8記載の方
    法。
  10. 【請求項10】 前記第1回路モデルは、前記第1回路
    をモデル化する第1プログラム命令の制御により作動す
    る汎用データ処理装置を含む、請求項1記載の方法。
  11. 【請求項11】 前記複数の第2回路モデルは、前記複
    数の第2回路をモデル化する第2プログラム命令の制御
    により作動する前記汎用データ処理装置を含む、請求項
    10記載の方法。
  12. 【請求項12】 前記複数の第2回路モデルはマイクロ
    プロセッサ回路を示し、前記第1回路モデルは前記マイ
    クロプロセッサ回路に接続すべき1つ以上のデバイスを
    示す、請求項11記載の方法。
  13. 【請求項13】 複数の第2回路に結合される第1回路
    を含むデジタル回路をシミュレートするための装置であ
    って、 (i) 第1時間インクリメントだけ分離された第1シ
    ミュレート時間のシーケンスを通して作動する、前記第
    1回路内で交換される信号をシミュレートするための第
    1回路モデルと、 (ii) 第2時間インクリメントだけ分離された第2
    シミュレート時間のシーケンスを通して作動する、前記
    複数の第2回路間で交換される信号をシミュレートする
    ための複数の第2回路モデルと、 (iii) 前記第1回路モデルと前記複数の第2回路
    モデルとの間の信号の送りを制御するためのインターフ
    ェースコントローラとを備え、 (iv) 前記第2回路モデルのうちの少なくとも1つ
    が応答する信号値を前記第1回路モデルが変更する第1
    シミュレート時間に前記第1回路モデルが進むと、前記
    第1回路モデルは前記第1回路内で交換される信号のシ
    ミュレートを停止し、前記第1シミュレート時間のイン
    クリメントを停止し、前記インターフェースコントロー
    ラを介して前記信号を前記第2回路モデルのうちの前記
    少なくとも1つに送り、 (v) 前記複数の第2回路モデルにより更なる信号交
    換が促進されなくなると、前記インターフェースコント
    ローラは前記第2シミュレート時間のインクリメントを
    停止し、前記第2シミュレート時間のインクリメント中
    に前記複数の第2回路モデルによって変更された、前記
    第1回路モデルが応答自在な信号の最後にアサートされ
    た値を前記第1回路モデルへ送り、そして前記第1回路
    モデルは前記第1回路内で交換された信号のシミュレー
    ションおよび前記第1シミュレート時間のインクリメン
    トを再スタートする、デジタル回路をシミュレートする
    ための装置。
JP31296395A 1995-07-13 1995-11-30 デジタル回路をシミュレートする方法および装置 Expired - Fee Related JP3731929B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9514304A GB2303230B (en) 1995-07-13 1995-07-13 Digital circuit simulation
GB95143046 1995-07-13

Publications (2)

Publication Number Publication Date
JPH0934918A true JPH0934918A (ja) 1997-02-07
JP3731929B2 JP3731929B2 (ja) 2006-01-05

Family

ID=10777575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31296395A Expired - Fee Related JP3731929B2 (ja) 1995-07-13 1995-11-30 デジタル回路をシミュレートする方法および装置

Country Status (3)

Country Link
US (1) US5737583A (ja)
JP (1) JP3731929B2 (ja)
GB (1) GB2303230B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356862B2 (en) * 1998-09-24 2002-03-12 Brian Bailey Hardware and software co-verification employing deferred synchronization
US6961689B1 (en) 2000-03-21 2005-11-01 Synopsys, Inc. Scheduling non-integral simulation time for mixed-signal simulation
DE1061463T1 (de) * 1999-06-18 2001-10-11 Avant! Corp., Fremont Ablauffolgeplanung der nicht ganzzahligen Simulationszeit für mixed-signal Simulation
US8706467B2 (en) * 2008-04-02 2014-04-22 Synopsys, Inc. Compact circuit-simulation output

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55153054A (en) * 1979-05-15 1980-11-28 Hitachi Ltd Logic circuit simulation system
GB8902982D0 (en) * 1989-02-10 1989-03-30 Plessey Co Plc Machine for circuit design
US5081601A (en) * 1989-09-22 1992-01-14 Lsi Logic Corporation System for combining independently clocked simulators
KR0158887B1 (ko) * 1990-01-12 1999-02-18 이노우에 키요시 논리 모의실험기
GB2248321B (en) * 1990-09-25 1994-08-10 Inst Elektronnykh Upravlyajusc Processor for logic circuit simulation
US5193068A (en) * 1990-10-01 1993-03-09 Northern Telecom Limited Method of inducing off-circuit behavior in a physical model
US5410673A (en) * 1991-09-12 1995-04-25 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for simulating a logic circuit having a plurality of interconnect logic blocks
JPH05135130A (ja) * 1991-11-14 1993-06-01 Matsushita Electric Ind Co Ltd 論理シミユレーシヨン方法および論理シミユレーシヨン装置
JP3144950B2 (ja) * 1993-04-28 2001-03-12 富士通株式会社 論理シミュレーション方式
JP2768889B2 (ja) * 1993-06-07 1998-06-25 株式会社東芝 論理シミュレーション装置
US5493672A (en) * 1994-05-16 1996-02-20 Sun Microsystems, Inc. Concurrent simulation of host system at instruction level and input/output system at logic level with two-way communication deadlock resolution
US5546562A (en) * 1995-02-28 1996-08-13 Patel; Chandresh Method and apparatus to emulate VLSI circuits within a logic simulator

Also Published As

Publication number Publication date
US5737583A (en) 1998-04-07
GB2303230B (en) 1998-08-12
JP3731929B2 (ja) 2006-01-05
GB9514304D0 (en) 1995-09-13
GB2303230A (en) 1997-02-12

Similar Documents

Publication Publication Date Title
US5768567A (en) Optimizing hardware and software co-simulator
US5771370A (en) Method and apparatus for optimizing hardware and software co-simulation
US9015649B2 (en) Method and apparatus for electronic system model generation
US8234624B2 (en) System and method for developing embedded software in-situ
JP5270330B2 (ja) マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置
US5857091A (en) Machine and method for simulating a processor-based digital system
US7016826B2 (en) Apparatus and method of developing software for a multi-processor chip
Ecker et al. TLM+ modeling of embedded HW/SW systems
JP5542643B2 (ja) シミュレーション装置及びシミュレーションプログラム
JP3731929B2 (ja) デジタル回路をシミュレートする方法および装置
JPH05189192A (ja) ディスプレイ・アダプタ・インターフェース装置及び方法
AU2017438670B2 (en) Simulation device, simulation method, and simulation program
JP3856496B2 (ja) ディジタル回路シミュレータ
JP3189793B2 (ja) システムシミュレータおよびシステムシミュレーション方法
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers
JP2004021907A (ja) 性能評価用シミュレーションシステム
JP2590179B2 (ja) 並列論理シミュレーション制御方式
JP2908337B2 (ja) マルチプロセス対応vhdlシミュレーション実行システム
JPH06324861A (ja) Cpu制御システム及び制御方法
JP6664158B2 (ja) シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム
CN116933698A (zh) 用于计算设备的验证方法及装置、电子设备及存储介质
JPH07121405A (ja) シミュレーション方式
AbdElSalam et al. Towards a higher level of abstraction in hardware/software co-simulation
JPH10260865A (ja) シミュレーションシステム
US20040006454A1 (en) System and method for modeling digital systems having queue-like operating characteristics

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050812

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051011

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081021

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees