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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design 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
ネートすること 【解決手段】 第1シミュレータおよび第2シミュレー
タはアクティブになったとき、それらのシミュレート時
間を別々にインクリメントし、第2回路モデルのうちの
1つが応答する信号が第1シミュレータによって変更さ
れると、第2シミュレータが使用される。第2回路モデ
ルにより、更なる信号変化が行われなくなるまで第2シ
ミュレータから出ることができない。この段階で第2回
路モデルによって変更された信号の最終アサート値は第
1モデルで戻され、第1シミュレータからの信号に応答
して第2シミュレータに入る際に、第2シミュレータ内
にペンディング中の信号変化があれば、そのペンディン
グ中の信号変化が生じるまで第1シミュレータ信号はバ
ッファに入れられる。
Description
ュレーションの技術分野に関する。
るモデルと共に、ソフトウェア制御により作動する汎用
コンピュータによりデジタル回路の機能をシミュレート
するデジタル回路シミュレーションシステムを提供する
ことは公知である。かかるデジタル回路シミュレーショ
ンは多くの利点を有している。例えばデザインを実際の
製造に使用する前にデザインをシミュレートし、デザイ
ン内の欠陥を除くようにテストできる。デジタル回路を
他の回路と共に使用するようになっている場合、回路の
シミュレーションを利用して、まだ製造段階となってい
ないシミュレートされたデジタル回路と並行して、かか
る他の回路の開発を進めることができる。
タプログラムは数種が市販されている。例えば、「バン
テージスプレッドシート」、「サイノプシスVss」、
「キャデンスベリローグ」および「モデルテックVシス
テム」の4つの例がある。
用する際の共通のアプローチ方法は、デジタル回路、例
えば新しいマイクロプロセッサのメーカーが、かかるシ
ミュレーションソフトウェアと共に使用できるマイクロ
プロセッサのモデルを供給し、第三者がこの新しいマイ
クロプロセッサと共に作動できる回路を開発できるよう
にする方法である。このようなアプローチ方法は、新し
いプロセッサの内部設計に関して、必要な程度に詳細な
情報が提供されないという大きな欠点がある。新しいマ
イクロプロセッサの内部動作を決定するために新しいマ
イクロプロセッサのモデルは比較的容易に解析できる
が、実際には、第三者が求めていることは解析対象であ
るモデルがマイクロプロセッサの外部入力信号および出
力信号をシミュレートすることである。
中の英国特許出願第9,511,617.4 号に新しいマイクロプ
ロセッサを専用の別個のシミュレーションソフトウェア
でシミュレートし、マイクロプロセッサモデルを汎用シ
ミュレーションソフトウェア(第三者はこのソフトウェ
アに対し、そのモデルを書き込むことができる)とイン
ターフェースする別個のシミュレーションソフトウェア
でシミュレートする技術が提案されている。このよう
に、新しいマイクロプロセッサのシミュレーションシス
テムがマイクロプロセッサの物理的バージョンによって
発生される外部入力信号および出力信号だけを示す状態
で新しいマイクロプロセッサ専用のシミュレーションシ
ステム内に、新しいマイクロプロセッサの内部動作およ
び詳細な構造が隠されている。
では、単一のシミュレーションシステムでは所有者のマ
イクロプロセッサモデルおよびこのマイクロプロセッサ
モデルとインターフェースする第三者の回路の双方を制
御するようになっている。従って、単一のシミュレーシ
ョンシステムは事象のシーケンスおよびモデル全体を通
過する信号の伝搬を制御できる。別個のシミュレーショ
ンシステムおよび第三者がデバイスモデルを取り付ける
上位のシミュレーションシステム内で、全体として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シミュレート時
間をインクリメントする工程とを備えた、デジタル回路
をシミュレートする方法が提供される。
搬に対する制御装置を各々が有している、異なるシミュ
レータにより作動させると問題が生じることを認識して
おり、この問題を解決するものである。このように発生
する問題とは、第1回路モデルが第2回路モデルに対し
信号を発生すると、第1回路モデルは第2回路モデルに
制御権を渡し、第2回路モデルはこれら第2回路モデル
に送られた信号に対してどのような応答が生じるかを別
々にシミュレートすることにある。第2回路モデルのこ
の応答がどのようになるかを判断するには、一般に信号
が第2回路モデルを通って伝搬するので、多くの第2シ
ミュレート時間のインクリメントを必要とすることとな
る。この期間中、第1回路モデルが応答できる信号の多
くの信号値は、最終的な出力信号値に落ち着くまで数回
変わり得る。最終値に落ち着く前のかかる変化は、物理
的回路内では一定の状態に達する前の短期間の中間値を
とる信号に対応し得る。すなわち回路は各々出力値とな
る潜在的な結果を有する数種の入力信号が多かれ少なか
れ、同じ時間に変化する組み合わせ論理を含む。
め、第2回路のシミュレーションは第2回路モデルが信
号の交換を終了し(すなわちモデルが供給された入力信
号に対する応答を示す状態に落ち着き)、次に第1回路
モデルが応答できる信号の最終アサート値を第1回路モ
デルへ戻すまでシステムが待機するようになっている。
このように第2回路モデルが作動する結果として生じ得
るスプリアス(spurious)信号値は、不正確な
動作をする可能性がある第1回路モデルへは送られな
い。
く態様を改善するための上記技術は、多くの異なる状況
に適用できる。しかしながら先に述べたように、前記複
数の第2回路モデルが外部信号のみを前記第1回路モデ
ルと交換するような状況で2つのシミュレーションシス
テムを共に作動させたいという特殊な動機がある。
路モデルへ送らないかかる状況では、第1のかかるモデ
ルを制御するシミュレーションソフトウェアを使って複
数の第2回路モデルを制御することはできないので、2
つの別個のシミュレーションシステムの動作をコーディ
ネートする問題が生じる。
デルに即座に送らなければならない遅延ゼロの信号(優
先信号)を発生する際に、2つのシミュレータをコーデ
ィネートする別の問題が生じ得る。この応答信号に対す
る第1回路モデルの応答によって複数の第2回路モデル
が応答自在な信号値が変わり、第2回路シミュレーショ
ンへの再入が生じる可能性が生じる。複数の第2回路モ
デルは先に信号が印加された第1回路モデルからの信号
の完全な結果によって処理されていないので、かかる再
入は制御しなければならない。
て信号の交換が促進される間、前記複数の第2回路モデ
ルのいずれかが、前記第1回路モデルに対し優先信号を
発生し、これを該第1回路モデルに送ることができる本
発明の実施例では、前記優先信号により前記第1回路モ
デルから前記複数の第2回路モデルへの1つ以上の別の
信号の送りがトリガーされる場合、前記1つ以上の別の
信号は前記優先信号の発生前の、前記複数の第2回路モ
デルの状態の結果生じる前記複数の第2回路モデルによ
り更なる信号の交換が促進されなくなるまでバッファ化
され、前記複数の第2回路モデルへは印加されない。
れる優先信号は許可されるが、第2シミュレーションへ
の制御されない再入の問題はいまだ解消されていない。
び第2シミュレート時間インクリメントはなんらかの時
間を有し得ると理解できよう。より詳細には、一定の順
序で、かつ両者の間に時間的な差異がほとんど実質的に
ない信号転送が生じる状況がある。これをモデル化する
ため、前記第1シミュレート時間インクリメントおよび
前記第2シミュレート時間インクリメントは、長さが実
質的にゼロのデルタ時間のインクリメントとすることが
できる。かかるデルタ時間インクリメントは一定の積分
面積を有し、無限小の幅の数学的なデルタ関数に類似す
るものと見なすことができる。このような意味におい
て、デルタ時間インクリメントの順は制御できるが、経
過したシミュレート時間は有効にゼロとなる。
ステムが多数の第2回路モデルを有効に発生することを
条件に、多数の形態をとり得る。しかしながら、好まし
い実現例は第1回路モデルがインターフェースコントロ
ーラへ信号を送り、このインターフェースコントローラ
がこの信号をバッファ化し、更にこの信号に応答自在な
前記複数の第2回路モデルへ前記信号を再び向けるよう
な例である。
サート信号値が決定できるようにするには、前記インタ
ーフェースコントローラが前記複数の第2回路モデルに
よって変更された信号のアサート値およびこれらの変更
が生じた第2シミュレート時間を表示するデータを記憶
することが好ましい。
殊目的のモデル化ハードウェア、例えばPLAのような
ある形態で提供することは理論的に可能であると理解さ
れよう。しかしながらこれら回路モデルはプログラム命
令の制御により作動する汎用データ処理装置によって提
供されることが好ましい。
タル回路、および特に秘密に維持したかった回路を提供
できると理解できる。しかしながら本発明は特に前記複
数の第2回路モデルがマイクロプロセッサ回路を示し、
前記第1回路モデルが前記マイクロプロセッサ回路に接
続すべき1つ以上のデバイスを示す実施例で特に有効で
ある。
路に結合される第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シミ
ュレート時間のインクリメントを再スタートする、デジ
タル回路をシミュレートするための装置が提供される。
明を読めば、本発明の上記およびそれ以外の目的、特徴
および利点が明らかとなろう。
ュレーションパッケージを用いれば、マイクロプロセッ
サの比較的小さいブロック、例えばパイプラインユニッ
ト、プログラムカウンタ、または演算論理ユニットをシ
ミュレートするため、Cコードのブロックを書き込むこ
とができる。次に各ブロックをシミュレーションパッケ
ージに対して直接インターフェース化し、マイクロプロ
セッサ全体をシミュレートする。
が示されている。図1は、先に提案されたデジタル回路
シミュレータ内の第1シミュレートと、かかるシミュレ
ーションブロック10、20、30のうちの2ブロック
との相互作用を示す略図である。第1シミュレータ40
は、例えば上記4つの市販シミュレータのうちの1つで
よい。
ル)10、20、30の各々は、Cプログラム言語で書
かれており、マイクロプロセッサのそれぞれの部分の動
作をシミュレートする。例えばシミュレーションブロッ
クはマルチプライヤユニット、ステータスレジスタ、イ
ンストラクションパイプライン等をシミュレートでき
る。
種類の入出力データを必要とし、これらデータを発生す
る。内部データと称すこれら種類のデータの一方は、デ
ジタル回路の異なる部品間で送られる内部信号を示すデ
ータである。マイクロプロセッサをシミュレートする場
合、かかる信号の例としては内部レジスタの値またはゼ
ロフラグがある。この場合、集積回路を半導体製品とし
て製造する場合、このような内部信号は集積回路の入出
力ピン、すなわち接続部にはルート化されず、単に内部
部品の間で送られるだけである。
このデータは回路が半導体製品として製造される際、通
常外部世界の間で送られる電気信号を示す。このような
外部信号の例としてはクロック信号および外部アドレス
バス信号がある。
ロックは第1シミュレータ40を介してのみ相互に接続
されるので、内部信号および外部信号のいずれも第1シ
ミュレータ40との間でやりとりする必要がある。上記
のように、このことは秘密にされる集積回路の内部動
作、特に内部信号トラフィックの詳細およびシミュレー
ションブロックのアイデンティティおよび機能をシミュ
レータのユーザーに開示しなければならないことを意味
している。
ータの別の特徴を示している。この特徴とは、シミュレ
ーションブロック10、20、30と、使用される特定
の第1シミュレータ40との間のインターフェースを適
合するために「ベニア」を使用することである。これら
ベニア50、60、70はシミュレーションブロック1
0、20、30等を上位概念で製造可能にするものであ
るので、特定の第1シミュレータ40と通信するための
ベニアを加えるのに比較的少量の作業しか必要とならな
い。
応する回路略図である。図2は多数のシミュレーション
ブロック(例えば条件ユニット、マルチプライヤ、演算
論理ユニット(ALU)、パイプライン)の例を示す。
従ってこれらブロックは製造された集積回路内で直接通
信するが、シミュレータ構造ではブロックは第1シミュ
レータ40を通して通信しなければならない。
回路シミュレータにおけるシミュレーションブロックの
相互作用を示す略図である。
0は上記ブロックに類似するが、これらブロックは第1
シミュレータ(本例では40’)と通信するように、む
しろデータインターフェースブロック100と通信す
る。
シミュレーションブロックおよび第1シミュレータとの
間でやりとりするデータ信号のリスト(図示せず)を記
憶する。このリストは、受信した信号の必要な宛て先を
表示し、更にこの信号が内部データ信号であるのか外部
データ信号であるのかを表示する(この情報は実際には
宛て先情報内に暗示させることができる)。
または第1シミュレータ40’からデータ信号を受ける
と、このブロックは記憶されているリスト内のルート決
定情報に従ってそのデータ信号のルートを決定するとい
う点で、データインターフェースブロック100の作動
はストレートフォワードである(第2実施例ではこのル
ート決定ではタイミング情報を使用することがあるが、
説明を容易とするため、かかるタイミング情報の使用に
ついては下記に別に説明する)。
って使用されるデータ入力およびデータ出力を示すシミ
ュレーションブロックの例のリストである。この表では
外部データ信号に対してはアンダーラインが付けてあ
り、アンダーラインのない信号は内部信号である。
力信号として受信されるクロック信号は、上記表に従っ
てシミュレーションブロックのいずれへも送られる。こ
れと対照的に、プログラムカウンタの値はプログラムカ
ウンタシミュレーションブロックによって内部出力信号
として発生され、データインターフェースブロック10
0を介して直接アドレスレジスタインターフェースブロ
ックへ送られる。すなわち第1シミュレータ40’へは
送られない。
の入力信号または出力信号として供給される外部信号だ
けが第1シミュレータ40’と置換される。
ック100と第1シミュレータ40’との間のインター
フェースを制御するのに、1つのベニア50’だけでよ
いということである。シミュレータブロック10、2
0、30の各々にベニアを提供することはもはや不要で
ある。
ここでは図2と対照的に、第1シミュレータ40’はベ
ニア50’を介して、全体としてシミュレートされたマ
イクロプロセッサ110と通信するようになっている。
マイクロプロセッサ110の内部動作に関連する内部信
号は第1シミュレータ40’との間でやりとりする必要
はない。
を必要とする事象をシミュレートするシミュレーション
にはタイミング情報が含まれる。例えばレジスタブロッ
クをシミュレートするためのシミュレーションブロック
はシミュレーション時間に関して瞬間的に出力の値を発
生できるが、他方、この値は実際の製造された回路で計
算するのに一定の(リアル)時間を必要とする。従っ
て、かかるブロックの作動をシミュレートするため、所
定の時間にレジスタのうちの1つの内容に対するリクエ
ストを受信し、ブロックが出力データを発生するように
命令することができるが、リクエスト後、(シミュレー
ション時間に対して)適当な遅延時間までに出力データ
を読み出すことはできない。
するスケジューラに対し詳細を送ることにより、将来の
実行を行うため、かかる事象スケジュールを決めてい
た。しかしながらこれを行うには動作の詳細を第1シミ
ュレータのユーザーに提供しなければならない。
ムの第2実施例では将来実行するようにスケジュールが
決められる事象(例えば上記レジスタアクセス)のリス
ト、すなわちヒープ(これは必ずしも順序を定めなくて
もよい)を維持するデータインターフェース100によ
って実行している。これら事象の詳細はシミュレーショ
ンブロックからデータインターフェースへ送られる。
ンブロックからかかる各事象の詳細を受けると、データ
インターフェースは動作を実行すべき時間と共に、実行
すべき特定の動作の詳細を記憶する。しかしながら、デ
ータインターフェースは第1シミュレータ内のスケジュ
ーラに対し実行時間の詳細を送るだけである。
スからの時間情報を受け、この時間に開始すべき特殊で
ない事象のスケジュールを決める。各時間に達すると第
1シミュレータは特殊でないスケジュール信号をデータ
インターフェースへ送る。これにより、データインター
フェースが待ち行列状態の事象のヒープにコンサルト
し、その時間に発生するようになっているレジスタシミ
ュレーションブロックからの出力値の読み出しのような
事象を開始させる。
ければならない待ち行列事象の詳細は実行時間にすぎ
ず、その他の詳細はデータインターフェースによって処
理される。
ライン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がスイープされる。
回路モデル10、20、30の外部信号に対する変化が
待ち行列状態となっている。これら信号変化は第2回路
モデル10、20、30の間ですべての信号の交換が行
われるまで、第1シミュレーション40’へは送られる
ことはない。この時間に達すると第1回路待ち行列10
8がサーチされ、変化した各外部信号の最後にアサート
された値が第1シミュレータ40’へ戻される。
ものである。ステップ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シミュレー
タへ戻す。
まずステップ206にて第2シミュレーションに入り、
ステップ216にて据え置き事象記憶装置106内にペ
ンディング中の信号変化があるかどうかを判断する。か
かるペンディング中の変化があれば、第2回路モデル1
0、20、30によって促進されている信号変化が停止
する前に、第1シミュレーションへ戻される優先信号の
結果としてステージ208から第2シミュレーションが
出たことを表示する。この場合、ステップ218にて第
1信号から第2シミュレータ100へ送られている新し
い信号の変化はバッファ化される。
を計算するように作動し、(図6と同じように)第2回
路モデル10、20、30によってそれ以上信号変化が
行われなくなるまで、第2シミュレート時間をインクリ
メントする。ステップ208には第2シミュレーション
から出て、すぐに第1シミュレーションへ戻す優先信号
を発生できる別のオプションが存在できる。
促進される信号変化が停止した後、ステップ220にお
いてステップ218で記憶されたバッファ化された信号
があるかどうかを判断する。かかるバッファ化された信
号が存在していれば、ステップ222にて第2モデルへ
バッファ化した信号を送り、更に変化が促進されなくな
るまで第2シミュレーションを続ける。
を第2シミュレータへ戻す。
た実施例を詳細に説明したが、本発明はこれら実施例の
みに限定されるものでなく、当業者であれば添付した特
許請求の範囲に記載の発明の範囲および精神から逸脱す
ることなく、種々の変形および変更を行うことができる
と理解すべきである。
内のシミュレーションブロックの相互作用を示す略図で
ある。
内のシミュレーションブロックの相互作用を示す略図で
ある。
との間の制御プログラムの移動を示すフローチャートで
ある。
デルへ送ることができる、図6のシステムの変形例にお
ける制御プログラムのフローチャートである。
ンターフェース 104 感度マップ 106 据え置き事象記憶装置 108 第1回路待ち行列
Claims (13)
- 【請求項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回路の外部の信号のみを前記第1回路モデルと交換
する、請求項1記載の方法。 - 【請求項3】 前記複数の第2回路モデルは、該複数の
第2回路モデルの内外の信号を互いに交換する、請求項
1記載の方法。 - 【請求項4】 前記複数の第2回路モデルによって信号
の交換が促進される間、前記複数の第2回路モデルのい
ずれかが、前記第1回路モデルに対し優先信号を発生
し、これを該第1回路モデルに送ることができる、請求
項1記載の方法。 - 【請求項5】 前記優先信号により前記第1回路モデル
から前記複数の第2回路モデルへの1つ以上の別の信号
の送りがトリガーされる場合、前記1つ以上の別の信号
は前記優先信号の発生前に、前記複数の第2回路モデル
の状態の結果生じる前記複数の第2回路モデルにより更
なる信号の交換が促進されなくなるまでバッファ化さ
れ、前記複数の第2回路モデルへは印加されない、請求
項4記載の方法。 - 【請求項6】 前記第1のシミュレートされた時間イン
クリメントの少なくともいくつかは実質的に長さがゼロ
のデルタ時間インクリメントである、請求項1記載の方
法。 - 【請求項7】 前記第2のシミュレートされた時間イン
クリメントの少なくともいくつかは実質的に長さがゼロ
のデルタ時間インクリメントである、請求項1記載の方
法。 - 【請求項8】 前記第1回路モデルはインターフェース
コントローラへ信号を送り、このインターフェースコン
トローラはこの信号をバッファ化し、この信号に応答自
在な前記複数の第2回路モデルに前記信号を再び向け
る、請求項1記載の方法。 - 【請求項9】 前記インターフェースコントローラは前
記複数の第2回路モデルによって変更された信号のアサ
ートされた値およびこの変更が生じた第2シミュレート
時間を表示するデータを記憶する、請求項8記載の方
法。 - 【請求項10】 前記第1回路モデルは、前記第1回路
をモデル化する第1プログラム命令の制御により作動す
る汎用データ処理装置を含む、請求項1記載の方法。 - 【請求項11】 前記複数の第2回路モデルは、前記複
数の第2回路をモデル化する第2プログラム命令の制御
により作動する前記汎用データ処理装置を含む、請求項
10記載の方法。 - 【請求項12】 前記複数の第2回路モデルはマイクロ
プロセッサ回路を示し、前記第1回路モデルは前記マイ
クロプロセッサ回路に接続すべき1つ以上のデバイスを
示す、請求項11記載の方法。 - 【請求項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シミュレート時間のインクリメン
トを再スタートする、デジタル回路をシミュレートする
ための装置。
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)
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)
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 |
-
1995
- 1995-07-13 GB GB9514304A patent/GB2303230B/en not_active Expired - Lifetime
- 1995-09-12 US US08/527,156 patent/US5737583A/en not_active Expired - Lifetime
- 1995-11-30 JP JP31296395A patent/JP3731929B2/ja not_active Expired - Fee Related
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 |