JP2970600B2 - 論理シミュレーション方式 - Google Patents

論理シミュレーション方式

Info

Publication number
JP2970600B2
JP2970600B2 JP9165340A JP16534097A JP2970600B2 JP 2970600 B2 JP2970600 B2 JP 2970600B2 JP 9165340 A JP9165340 A JP 9165340A JP 16534097 A JP16534097 A JP 16534097A JP 2970600 B2 JP2970600 B2 JP 2970600B2
Authority
JP
Japan
Prior art keywords
node
registered
event
time
nodes
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
JP9165340A
Other languages
English (en)
Other versions
JPH10340290A (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 JP9165340A priority Critical patent/JP2970600B2/ja
Publication of JPH10340290A publication Critical patent/JPH10340290A/ja
Application granted granted Critical
Publication of JP2970600B2 publication Critical patent/JP2970600B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理回路のシミュ
レーション装置及びシミュレーション方法に関し、特に
タイムホイールを使用したイベントドリブン型シミュレ
ーション方法に関する。
【0002】
【従来の技術】従来、この種のシミュレーションは、例
えば特開平3−204775号公報に記載されているよ
うに、論理素子における遅延を考慮した回路の動作を保
証しながら、タイムホイール(Time Wheel)
を用いてイベントの発生しない時刻をスキップすること
でシミュレーション速度を高速化することを目的として
用いられている。
【0003】図8は、従来の論理シミュレーション装置
の構成の一例を示す図である。この従来の論理シミュレ
ーション装置は、テストパタン入力装置301、論理回
路ネットリスト入力装置302、シミュレーション装置
310、及び主記憶部320より構成されている。
【0004】論理回路入力装置302から入力された論
理回路は、論理回路モデル構成手段304によって、主
記憶部320中の回路モデル記憶部307に格納され、
シミュレーションイベント管理手段305により参照さ
れる。
【0005】テストパタン入力装置301から入力され
たテストパタンは、テストパタン印加手段303によっ
てシミュレーションイベント管理手段305に入力され
る。シミュレーションイベント管理手段305は、シミ
ュレーション時に、内部ノードについて発生する出力イ
ベントの全てについて、タイムホイール形式のイベント
記憶部308上に登録し、シミュレーション時刻が登録
時刻に到達した時に、再度、記憶部308を参照して、
そのイベントノードを入力とした素子の演算を行なう。
【0006】図9に、図8に示した従来の論理シミュレ
ーション装置の動作を流れ図にて示す。
【0007】ステップ401では現在シミュレーション
時刻の判定を行ない、シミュレーション時刻が終了時刻
を超えている場合、シミュレーション処理を終了する。
【0008】次にステップ402において、現シミュレ
ーション時刻において値の変化するノードがあるかをイ
ベント記憶部308を参照して判定する。この処理は、
現時刻において変化ノードが記憶部308に存在する限
り繰り返し行なわれる。値が変化したと判定されたノー
ドについては、ステップ403において、そのノードを
入力とした次段素子の演算を行ない、素子の出力ノード
について、その論理値及び遅延値を産出する。演算の結
果、ノードの論理値が変化した場合、そのノードの変化
を、ステップ403によって求められた遅延時間後のイ
ベントとして、ステップ404にて、イベント記憶部3
08に登録する。これにより、遅延を考慮したシミュレ
ーションを行なうことができる。
【0009】ノードの登録が終了したら、ステップ40
2へ戻り、現時刻で変化する全てのノードについて、ス
テップ403、404の処理を繰り返す。
【0010】ステップ402において、現時刻における
変化ノードに対する処理が完了したと判定された場合、
ステップ405において、シミュレーション時刻を現時
刻から直近のイベント発生時刻へタイムホイールをスキ
ップさせ、その時刻を現在時刻として、ステップ401
以降の処理を繰り返す。
【0011】このように、イベントの発生時刻をスキッ
プさせることで、冗長な処理を削減することができる。
【0012】
【発明が解決しようとする課題】上述した従来のタイム
ホイールを用いたイベントドリブン型のシミュレーショ
ン方法は、回路の論理動作を保証するために、タイムホ
イールにイベント登録するノードとして、回路モデル中
の全てのノードを対象としていた。
【0013】図5に、ある部分回路(論理回路)の一例
を示す。この回路は、回路中のあるノードa、b、lの
変化によって動作する。素子Dは順序素子であり、ノー
ドfの信号をノードjの立ち上がりエッジで取り込み、
次のjの立ち上がりエッジまで取り込んだfの信号をホ
ールドする。ノードgは、後段の回路部分を駆動すると
同時に素子Hを駆動する。素子Hは入力信号としてg、
lを持ち、この出力hは素子Iで反転され、Iの出力i
はGへの帰還信号となり、フィードバックループを形成
する。
【0014】順序素子Dを考えた場合、データ信号fと
クロック信号cの入力タイミングによって素子Dにラッ
チされる値、即ち素子Dの出力dの値が異る可能性があ
る。
【0015】従来の方法では、ノードaからfへの遅
延、及びノードbからkへの遅延を正確に表現するた
め、タイムホイールを用いて、中継ノードe、f、j、
k全てについてイベント登録を行なっていた。
【0016】また、素子G、H、Iによって構成される
フィードバックループを考えた場合、ノードd、lの値
が共に“1”になった時に、発振が起こり、無限ループ
に陥る。
【0017】ここでノードdの値が“1”の状態におい
て、ノードlに、“010”のノイズが発生した場合、
最後のl=“0”を入力して回路の発振を止めるため、
H、I、Gという伝搬経路についてノードh、iそれぞ
れにおいて遅延を考慮してイベント登録を行ない、素子
を一段ずつ演算する必要があった。
【0018】また、ノードhについて、ユーザがシミュ
レーション時に随時観測を行ないたい場合、タイムホイ
ールを用いての正確な時刻変化の登録が必要であった。
【0019】但し、この従来の方法について考えた場
合、回路規模が大きくなる。即ち回路中のノード数が増
加した場合、これに伴って、シミュレーション中のイベ
ント規模も増大し、その結果、タイムホイールへのイベ
ント登録に要する処理時間が増大し、シミュレーション
に大きな処理時間を要するという問題があった。
【0020】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、従来と同じシミ
ュレーションの動作結果を得ながらタイムホイールの処
理に要する時間を特段に削減し、シミュレーション時間
を短縮したシミュレーション装置並びにシミュレーショ
ン方法を提供することにある。
【0021】
【課題を解決するための手段】前記目的を達成するため
に、本発明は、シミュレーション対象となる論理回路と
等価な論理回路モデルを計算機上に構成する手段、論理
回路モデルに対する入力テストパタンを論理回路モデル
に印加する手段、論理回路中の論理素子の出力変化をイ
ベントとして蓄えるタイムホイールを用いてシミュレー
ションを行なう手段を有する論理シミュレーション装置
において、回路中の全ノードから、順序素子の入力ノー
ド抽出手段、フィードバックの終端ノード抽出手段、ユ
ーザによるノード指定手段を用いてタイムホイールへイ
ベント登録するノードを抽出し、前記登録ノード抽出手
段において抽出されなかったノードのイベントについて
はタイムホイールに登録せずにその遅延値を保存しつつ
論理値を即時に伝搬させ、抽出されたノードについては
前段においてタイムホイールに登録されなかったノード
における遅延の和を以てタイムホイールにイベント登録
を行なうことを特徴とする。
【0022】
【発明の実施の形態】本発明の実施の形態について説明
する。本発明の実施の形態において、論理回路のネット
リストから、順序素子の入力ノードを抽出する手段、フ
ィードバックの終端ノードを抽出する手段、ユーザによ
るノード指定手段を用いてタイムホイールへイベント登
録するノードを抽出する登録ノード抽出手段により、シ
ミュレーション時において、動作結果に影響を及ぼす可
能性のあるノードが登録ノード記憶部(図1の112)
に登録ノードとして記憶される。ある時刻においてノー
ドのイベントが発生した場合、シミュレーションイベン
ト管理手段(図1の109)は、そのノードが登録ノー
ドか否かについて登録ノード判定手段(図1の110)
に判定させ、登録ノード判定手段(図1の110)は、
処理対象のノードが登録ノードか否かを登録ノード記憶
部(図1の112)を参照して判定し、結果をシミュレ
ーションイベント管理手段へ戻す。
【0023】登録ノード判定手段(図1の110)にお
ける処理の結果、イベントの起きたノードが非登録ノー
ドであった場合、そのノードのイベントは、イベント記
憶部(図1の113)にスケジュールせず(タイムホイ
ールに登録せず)、その論理は、即時アップデートし、
そのノードを入力とする次段の素子も現時刻の演算対象
とする。この時、そのノードの遅延値は、パス遅延値記
憶部(図1の114)に記憶する。これらの非登録ノー
ドは、イベント記憶部(タイムホイール)に登録されな
いため、登録、及び参照における処理を削減することが
できる。
【0024】一方、イベントの起きたノードが登録ノー
ドであった場合、このイベントはイベント記憶部にスケ
ジュールされる。この時の遅延は、ノードにおける遅延
値に、パス遅延値記憶部に格納されている、前段の非登
録ノードの遅延値を加えたもので行なう。これにより、
正確な遅延値にて、スケジュールが行なわれる。
【0025】
【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の実施例について図面を参照し
て以下に説明する。
【0026】図1は、本発明の一実施例の構成を示す図
である。図1を参照すると、本実施例の論理シミュレー
ション装置は、テストパタン入力装置101、ユーザ入
力装置102、論理回路ネットリスト入力装置103、
シミュレーション装置120、及び、主記憶部130よ
り構成されている。
【0027】論理回路のネットリストは、論理回路モデ
ル構成手段105により、主記憶部の回路モデル記憶部
111に格納される。
【0028】次に、順序素子抽出手段106、フィード
バック抽出手段107、ユーザによるノード指定手段1
08により、シミュレーション時において動作結果に影
響を及ぼす可能性のあるノードが、登録ノード記憶部1
12に、登録ノードとして記憶される。
【0029】なお、登録ノード記憶部112には、論理
回路モデルにおけるノードの付帯情報として配置され、
シミュレーション時におけるノード評価時に即時参照可
能なものとする。
【0030】順次素子抽出手段106は、回路中から順
序素子の抽出を行ない、順序素子の入力となるノード全
てを、登録ノード記憶部112に格納する。
【0031】フィードバック検出手段107は、回路中
においてフィードバック・ループを検出し、その終端の
ノードを登録ノード記憶部112に格納する。ここでフ
ィードバックループが順序素子を含んでいる場合、順序
素子の入力が、順次素子抽出手段106によって登録ノ
ードとして既に検出されているため、このループについ
ては対象外とする。
【0032】ユーザによるノード指定手段108は、入
力として論理回路モデルの他に、ユーザ入力装置102
を入力手段として用い、ユーザから観測指定命令等の入
力によって、正確な時間のスケジュールが必要なノード
について、これを登録ノード記憶部112に格納する。
【0033】テストパタンは、テストパタン印加手段1
04によって、シミュレーションイベント管理手段10
9に入力される。
【0034】シミュレーションイベント管理手段109
は、シミュレーション時に、内部ノードのうち、登録ノ
ード記憶部112に格納された登録ノードについての
み、タイムホイール形式のイベント記憶部113上に登
録を行ない、シミュレーション時刻がスケジュール時刻
に到達した時に、再度イベント記憶部113を参照し、
その時刻で変化したノードを入力とした素子の演算を行
なう。
【0035】例えばある時刻においてノードのイベント
が発生した場合、シミュレーションイベント管理手段1
09は、そのノードが登録ノードか否かについて登録ノ
ード判定手段110に判定を求める。
【0036】登録ノード判定手段110は、処理対象の
ノードが登録ノードか否かを、登録ノード記憶部112
を参照して判定し、判定結果を、シミュレーションイベ
ント管理手段109へ戻す。
【0037】登録ノード判定手段110における処理の
結果、イベントの起きたノードが非登録ノードであった
場合、そのノードのイベントは、イベント記憶部113
に登録をせず、その論理は、即時アップデートし、当該
ノードを入力とする次段の素子も現時刻の演算対象とす
る。
【0038】このように、本実施例においては、イベン
ト記憶部113への登録を省くことで、ノードのイベン
ト登録処理及び参照処理が削減され、処理を高速に実現
できる。また、この時、当該ノードの遅延値は、パス遅
延値記憶部114に記憶する。
【0039】なお、パス遅延値記憶部114も、登録ノ
ード記憶部112と同様、論理回路モデルにおけるノー
ドの付帯情報として配置され、シミュレーション時にお
けるノード評価時に即時参照可能なものとする。
【0040】ここで、この非登録ノードのイベントにつ
いて、このイベントを発生させた前段のノードも非登録
ノードであった場合、パス遅延値記憶部114に格納す
る遅延値は、現在処理対象のノードの遅延に、前段の非
登録ノードにおけるパス遅延値記憶部114の遅延値を
加えたものとする。
【0041】これにより、パス遅延値記憶部114に格
納される遅延値は、同一時刻内で評価された非登録ノー
ドの伝搬遅延の総和となる。
【0042】一方、イベントの起きたノードが登録ノー
ドであった場合、このイベントはイベント記憶部113
に登録される。そして、この時の遅延は、該ノードにお
ける遅延値に、パス遅延値記憶部114に格納されてい
る前段の非登録ノードの遅延値を加えたもので行なう。
これにより、登録部のイベントは、非登録ノードのイベ
ント登録を省きながらも、正確な遅延値にてスケジュー
ルを行なうことができる。
【0043】得られたシミュレーションの結果は、出力
装置115に出力される。
【0044】次に、図1、図2を用いて本発明の一実施
例の動作について説明する。
【0045】まず、ステップ201において、シミュレ
ーション開始前にタイムホイールに登録するノードを回
路中より抽出する。この動作について、図3を用いて説
明する。
【0046】まずステップ601で、回路中に存在する
順序素子を検出する。ステップ601にて順序素子が検
出された場合、ステップ602にて、その素子において
入力となるノードを抽出し、登録ノード記憶部112に
格納する。
【0047】例えば、図5に示した部分回路の場合、素
子Dが順序素子として検出され(ステップ601)、そ
の入力ノードであるf、kが登録ノードとして抽出され
る(ステップ602)。
【0048】再び図3を参照すると、ステップ603で
は、回路中におけるフィードバックループを検索する。
フィードバックループの検索方法は、図1の回路モデル
記憶部111に記憶された回路モデルについて、その外
部出力端子及び順序素子の入力ノードから接続経路をバ
ックトレースすることにより行なう。この動作の詳細
を、図4の流れ図を用いて説明する。
【0049】ステップ701では、回路中の全外部出力
に接続されたノード及び順序素子の入力ノードからのバ
ックトレースを行なう。例えば図6に示した回路モデル
について、出力端子Oを考えた場合、Oの入力ノードと
なるeがバックトレース開始ノードとなる。
【0050】ここで順序素子の入力ノードも始点として
考えるのは、前記ノードがステップ601によって、既
に登録ノードとして抽出されているためである。
【0051】再び図4を参照して、次にステップ702
において、処理対象をこのノードを出力に持つ素子に移
行する。
【0052】図8のノードeの場合、これを出力ノード
として持つ素子Eが処理対象となる。
【0053】再び図4を参照して、次のステップ703
では、処理対象の素子のノードの入力ノードについて、
探索処理が行なわれていないものを判別し、その入力ノ
ードを処理対象ノードとして探索処理を行なう。
【0054】なお、探索処理が行なわれたか否かは、ノ
ードの探索処理終了後に、ステップ708において探索
終了を示すフラグを立て、このフラグにより判別する。
全ての入力ノードの探索処理が終了した場合、ステップ
708を行なう。
【0055】処理対象のノードが入力端子の出力ノー
ド、又は順序素子の出力ノードであった場合、ステップ
704にて、このノードから探索すべきバックトレース
パスは存在しないと判定され、ノードの探索処理を終了
し、このノードを入力に持つ素子について、ステップ7
03以降の処理を繰り返す。
【0056】ステップ705では、処理対象ノードに探
索中を示すフラグが立っているかを確認する。尚、この
フラグは、ステップ704、705の処理終了後に、ス
テップ707において立てられる。
【0057】ステップ705において処理対象ノードに
フラグが立っていた場合、探索中のバックトレースパス
にはフィードバックループが存在すると判定できる。ス
テップ706では、この時の処理対象ノードをフィード
バック終端ノードとして抽出する。抽出後は、ノードの
探索処理を終了し、このノードを入力に持つ素子につい
てステップ703以降を繰り返す。
【0058】またステップ705において処理対象ノー
ドにフラグが立っていない場合、このノードに未探索の
バックトレースパスがまだ存在すると判定できる。この
時は、ステップ707にてノードに探索中のフラグを立
て、ステップ702からの処理を繰り返し行なう。
【0059】ステップ704、706において、処理対
象のノードに探索すべきトレースバックパスがないと判
定された場合、ステップ708にて現在処理対象のノー
ドに探索済みであることを示すフラグを立てる。
【0060】ステップ703において処理対象の素子に
未探索の入力ノードがない場合、ステップ709では、
ステップ708が未処理のノードについて探索済みであ
ることを示すフラグを立てる。
【0061】ステップ709終了後、ステップ710に
てバックトレースパスにおける処理対象素子の1段前の
素子に対象素子を移行する。
【0062】例えば図8において、出力端子Oからの探
索を考えた場合、まずノードeからバックトレースが開
始され(ステップ701)、素子Eに処理対象を移行す
る(ステップ702)。素子Eは2つの入力ノードd、
gを持っているので、この2つのノードd、gについて
探索処理を行なう(ステップ703)。
【0063】まずノードdを考えた場合、ノードdは未
探索のノードと判定されるので(ステップ704、70
5)、ノードdに探索中であることを示すフラグを立て
(ステップ707)、このノードdを出力とする素子D
へステップを移行する(ステップ702)。このステッ
プを繰り返すことにより、探索ノードは素子Cの入力b
まで到達する。ここでノードbは順序素子Bの出力であ
るため(ステップ704)、ノードeからbを経由した
探索処理は終了され、ノードbには探索終了を示すフラ
グを立てる(ステップ708)。
【0064】以降の処理を図7に模式的に示す。
【0065】ノードbを入力に持つ素子Cは他に入力を
持たず(ステップ703)、探索済フラグは既にノード
bに立てられているため(ステップ709)、探索処理
対象素子をバックトレースパス上の1段後段であるDへ
移行する(ステップ710)。
【0066】ここで素子Dの入力も探索済みのノードc
のみであるため、ノードcに探索終了フラグを立て(ス
テップ709)、対象素子をEに移行する。
【0067】ここで素子Eには未探索のノードgが存在
するため、ノードgからの探索処理を行なう(ステップ
703)。ノードgを出力とする素子Gについて、ノー
ドfは探索済フラグの立っているノードbへ到達して探
索を終了し(ステップ703)、ノードcも探索済のた
め、ノードhについて探索を行なう。ノードhを出力に
持つ素子Hについてノードgを判定した場合、ノードg
はバックトレースパス探索中のフラグが立っているた
め、g、G、h、Hにおいてループがあることが発見さ
れ(ステップ705)、このノードgをフィードバック
ループ終端ノードとして抽出する。
【0068】以上、ステップ701〜710の処理が終
了後、抽出されたノードを登録ノードとして、登録ノー
ド記憶部112に格納する。
【0069】再び図3に戻り、ステップ604では、ユ
ーザ入力装置102により入力指定されたノードを、登
録ノードとして、登録ノード記憶部112に格納する。
【0070】以上ステップ601〜604の処理により
登録ノード抽出を完了する。
【0071】以上の処理により、例えば図5に示した論
理回路の場合、ステップ602により順序素子Dの入力
ノードであるf、k、ステップ603によりgが登録ノ
ードとして抽出される。ノードgの抽出方法について
は、図4、図6、図7において別の例で示したので、詳
細は省略する。
【0072】再び図2を参照して、ステップ202以降
はシミュレーション実行時における処理の流れを示す。
【0073】まずステップ202では、順次推移して行
くシミュレーション時刻に対し、その時刻がシミュレー
ション終了時刻をこえていないかを判定する。
【0074】終了時刻を超えていない場合、そのシミュ
レーション時刻において、ステップ203以降の処理を
行ない、終了時刻を超えた場合はシミュレーションを終
了し、本実施例の制御を完了する。
【0075】ステップ203では、現時刻において値の
変化するノードがあるか判定し、変化するノードがある
場合はその値を変更し、次段素子に伝搬させる。変化す
るノードがない場合は、ステップ216によりシミュレ
ーション時刻を進める。
【0076】ステップ203では、ステップ203にお
いて値の変化したノードについて、このノードを入力と
する素子の演算を行なう。この演算処理から、素子の出
力ノードに対して遅延値と論理値が算出される。
【0077】例えば図5に示した論理回路(部分回路)
において、ノードaの変化があった場合、ノードaを入
力とする素子Eが演算され、ノードeの論理値と遅延値
が算出される。
【0078】図2のステップ204において、素子の出
力ノードの値に変更があった場合、ステップ205にて
出力ノードが、ステップ201で抽出された登録ノード
であるか否かを登録ノード判定手段110にて判定す
る。
【0079】ステップ205において、出力ノードが登
録ノードでない場合、ステップ206において、遅延値
をパス遅延値記憶部114に保存する。
【0080】ここで、パス遅延値記憶部114に格納す
る遅延値は、ステップ204にて求めた遅延に、前段の
非登録ノードにおける、パス遅延値記憶部114の遅延
値を加えたものとする。これにより、パス遅延値記憶部
114に格納される遅延値は、同一時刻内で評価された
非登録ノードの伝搬遅延の総和となる。
【0081】例えば図5において、登録ノードgからg
へのフィードバックパスを考えた場合、中継のノード
h、iについて、パス遅延値記憶部114にそれぞれ、
100、100+50=150がそれぞれ格納される。
【0082】これにより、ステップ208における登録
ノードの遅延計算時において、現時刻における遅延の総
和をバックトレースして求める必要が無くなる。
【0083】非登録ノードの論理値は、ステップ207
にて即時変更し、そのノードを入力とする素子の演算が
同一時刻内でステップ204により行なわれる。
【0084】図5において、非登録ノードeの変化を考
えた場合、その遅延500は、パス遅延値記憶部114
に格納され(ステップ206)、論理値は即時変更され
て現時刻内で後段素子Fに伝搬する。従って、素子Fも
現時刻にて演算が行なわれる。ここで、eはタイムホイ
ールに登録されないため、タイムホイールの登録処理、
及びタイムホイールからのeの変化の取り出し処理を省
略できたことになる。
【0085】一方、ステップ205において、登録ノー
ドと判定されたノードは、ステップ208にてスケジュ
ールのための遅延を算出する。本ノードの値を出力する
素子が登録ノードより駆動された場合、遅延値は素子に
おける遅延のみを用いる。素子が非登録ノードより駆動
された場合、遅延値は素子の遅延値に、ステップ206
にて、パス遅延値記憶部114に格納された前段非登録
ノードの遅延値のみを加えたものとする。ここでパス遅
延値記憶部114における遅延値は、同一時刻内で評価
された非登録ノードの伝搬遅延の総和であるため(ステ
ップ206)、この2項の加算のみで同一時刻内で評価
された伝搬遅延を求めることができる。
【0086】ステップ209では、登録ノードをステッ
プ208で求めた遅延時間後にイベントとしてタイムホ
イールにスケジュールする。
【0087】例えば図5の素子Fの演算を考えた場合、
Fの演算の結果、ステップ204にて登録ノードfに変
化が発生する。この時このFを駆動したeは、非登録ノ
ードのため、fの変化イベントについて素子Fの遅延5
0に、パス遅延値記憶部114に格納されたeの遅延1
00を加えた値150かfの遅延時間となり、fの変化
時刻は、従来のシミュレーションと同じとなる。
【0088】現時刻において変化する出力ノードの処理
が全て終了したら、ステップ210にてタイムホイール
を次のイベントが存在する時刻まで回転させ、ステップ
203以降の処理をシミュレーション終了まで繰り返
す。
【0089】ここで、図5に示した回路について考え
る。この回路において、ノードa、cが変化した場合、
まずaの変化によって素子Eが演算され、ノードeの値
が算出される(ステップ204)。ここで、eは、登録
ノード判定手段110によって、非登録ノードと判定さ
れ(ステップ205)、パス遅延値記憶部114に、素
子Eの遅延100を格納し(ステップ206)、eの値
を即時伝搬させる(ステップ207)。
【0090】ノードeの即時伝搬によって同一時刻内で
素子Fも演算され、ノードfの値が算出される。ここで
ノードfは、登録ノード判定手段110によって、登録
ノードと判定されるので、ノードfのイベントは素子F
の遅延50にパス遅延値記憶部114に格納されたeの
遅延100を加えた150後のイベントとしてタイムホ
イールに登録される(ステップ208、209)。
【0091】ノードcの変化についても同様に、非登録
ノードjのイベントは即時伝搬され、登録ノードkにお
ける変化が200後のイベントとして、タイムホイール
に登録される。
【0092】ここで、ノードf、kを順序素子Dの入力
として捉えた場合、a→f、c→kにおける伝搬時間
は、それぞれ150、200と、通常のシミュレーショ
ンと変わらない。従って、順序素子Dは従来通り正しい
タイミングで、データ信号であるfの値を取り込むこと
ができ、シミュレーション結果も変わらない。
【0093】しかも、本実施例では、ノードe、jのタ
イムホイールへのイベント登録を省略しているため、こ
のノードのイベント登録、及び参照のコストが削減さ
れ、従来より高速なシミュレーションを行なうことがで
きる。
【0094】また、図5に示した回路においてノードd
=1の状態でl=1の変化が起きた場合、G(NAN
D)、H(AND)、I(インバータ)の素子はフィー
ドバックを含んだRSラッチの接続構造を持つため、ノ
ードgの動作は発振する。しかし、本実施例において
は、フィードバック抽出手段107において、ノードg
が登録ノードとして抽出されるため(ステップ60
3)、ノードgの変化は、l→h→i→gの遅延250
後のイベントとして、タイムホイールに登録される。こ
のタイムホイールの登録によって、同一時刻内の信号の
伝搬は終了するため、ノードgの発振動作による本処理
の無限ループ化を防ぐことができる。
【0095】
【発明の効果】以上説明したように、本発明によれば、
シミュレーション結果に影響するノードを選択した上で
シミュレーション時に遅延時間を考慮しながらタイムホ
イールへ登録するノードを限定することにより、論理演
算結果及び遅延情報について従来のシミュレーション方
法と同様にユーザに提供しながら、回路中の全てのノー
ドについてタイムホイールへ登録していた従来の方法に
比較して、タイムホイールの操作を削減することがで
き、シミュレーション時間を高速に実現できるという効
果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の論理シミュレーション装置
の構成図である。
【図2】本発明の一実施例における制御を示す流れ図で
ある。
【図3】図2のステップ201の処理の詳細を示す流れ
図である。
【図4】図3のステップ603の処理の詳細を示す流れ
図である。
【図5】論理回路モデルの一例を示す図である。
【図6】本発明の実施例を説明するための図であり、回
路モデルの一例を示す図である。
【図7】本発明の実施例を説明するための図であり、回
路モデルの一例を示す図である。
【図8】従来のシミュレーション装置の構成図である。
【図9】従来のシミュレーション方法の制御を示す流れ
図である。
【符号の説明】
101 テストパタン入力装置 102 ユーザ入力装置 103 論理回路モデル入力装置 104 テストパタン印加手段 105 論理回路モデル構成手段 106 順序素子抽出手段 107 フィードバック抽出手段 108 ユーザによるノード指定手段 109 シミュレーションイベント管理手段 110 登録ノード判定手段 111 回路モデル記憶部 112 登録ノード記憶部 113 イベント記憶部(タイムホイール) 114 パス遅延値記憶部 115 出力装置
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 G06F 11/25 G01R 31/28

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】論理シミュレーションの対象となる論理回
    路についてこれと等価な論理回路モデルを計算機上に構
    成する手段と、 論理回路モデルに対する入力テストパタンを論理回路モ
    デルに印加する手段と、 論理回路中の論理素子の出力変化をイベントとして蓄え
    るタイムホイールを用いてシミュレーションを行なう手
    段と、 を含む論理シミュレーション装置において、 回路中の全素子における出力信号から、順序素子の入力
    ノードを抽出する手段、フィードバックの終端ノードを
    抽出する手段、及び、ユーザによるノード指定手段によ
    り、タイムホイールへイベント登録するノード(以下
    「登録ノード」という)を抽出し、 抽出されなかったノードのイベントについて、前記タイ
    ムホイールに登録せずに、その遅延値を保存して論理値
    を即時に伝搬させる手段と、 抽出されたノードについては、前段において前記タイム
    ホイールに登録されなかったノードにおける遅延の和を
    以て前記タイムホイールにイベント登録を行なう手段
    と、 を備えたことを特徴とする論理シミュレーション装置。
  2. 【請求項2】論理シミュレーションにおいて、シミュレ
    ーション対象となる回路中の全ノードから、登録ノード
    として、順序素子の入力ノード、フィードバックの終端
    ノード、ユーザによる指定ノードを抽出し、 前記登録ノードの抽出において抽出されなかったノード
    のイベントについてはタイムホイールに登録せずにその
    遅延値を保存しながら論理値を即時に伝搬させ、抽出さ
    れたノードについては前段においてタイムホイールに登
    録されなかったノードにおける遅延の和を以てタイムホ
    イールにイベント登録を行なう、ことを特徴とする論理
    シミュレーション方法。
  3. 【請求項3】論理シミュレーションの対象となる論理回
    路についてこれと等価な論理回路モデルを計算機上に構
    成する手段と、 論理回路モデルに対する入力テストパタンを論理回路モ
    デルに印加する手段と、 論理回路中の論理素子の出力変化をイベントとして蓄え
    るタイムホイールを用いてシミュレーションを行なう手
    段と、 を含む論理シミュレーション装置において、 回路中の全素子における出力信号から、順序素子の入力
    ノードを抽出する手段、フィードバックの終端ノードを
    抽出する手段、及び、ユーザによるノード指定手段によ
    り、タイムホイールへイベント登録するノード(以下
    「登録ノード」という)を抽出し、 抽出されなかったノードのイベントについて、前記タイ
    ムホイールに登録せずに、その遅延値を保存して論理値
    を即時に伝搬させる手段と、 抽出されたノードについては、前段において前記タイム
    ホイールに登録されなかったノードにおける遅延の和を
    以て前記タイムホイールにイベント登録を行なう手段
    と、 の前記各手段を計算機上で機能させるためのプログラム
    を記録した記録媒体。
  4. 【請求項4】シミュレーション対象となる論理回路の全
    ノードから、順序素子の入力ノードを抽出する手段、フ
    ィードバックの終端ノードを抽出する手段、及びユーザ
    によるノード指定手段を用いてタイムホイールへイベン
    ト登録するノードを抽出する登録ノード抽出手段によ
    り、シミュレーション時において、動作結果に影響を及
    ぼす可能性のあるノードが登録ノード記憶部に登録ノー
    ドとして記憶し、 ある時刻においてノードのイベントが発生した場合、そ
    のノードが登録ノードか否かについて登録ノード判定手
    段にて判定し、 前記登録ノード判定手段は、処理対象のノードが登録ノ
    ードか否かを前記登録ノード記憶部を参照して判定し、 イベントの起きたノードが非登録ノードであった場合、
    該ノードのイベントはタイムホイールには登録せず、す
    なわちイベント記憶部に登録せず、その論理は即時にア
    ップデートし、そのノードを入力とする次段の素子も現
    時刻の演算対象とし、この時、前記ノードの遅延値は、
    パス遅延値記憶部に記憶し、一方、イベントの起きたノ
    ードが登録ノードであった場合、このイベントは前記イ
    ベント記憶部にスケジュールされ、この時の遅延は、ノ
    ードにおける遅延値に、前記パス遅延値記憶部に格納さ
    れている、前段の非登録ノードの遅延値を加えたもので
    行なう、 ようにしたことを特徴とする論理シミュレーション方
    法。
JP9165340A 1997-06-06 1997-06-06 論理シミュレーション方式 Expired - Fee Related JP2970600B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9165340A JP2970600B2 (ja) 1997-06-06 1997-06-06 論理シミュレーション方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9165340A JP2970600B2 (ja) 1997-06-06 1997-06-06 論理シミュレーション方式

Publications (2)

Publication Number Publication Date
JPH10340290A JPH10340290A (ja) 1998-12-22
JP2970600B2 true JP2970600B2 (ja) 1999-11-02

Family

ID=15810490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9165340A Expired - Fee Related JP2970600B2 (ja) 1997-06-06 1997-06-06 論理シミュレーション方式

Country Status (1)

Country Link
JP (1) JP2970600B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4750665B2 (ja) * 2006-10-06 2011-08-17 富士通株式会社 タイミング解析方法および装置
JP7182042B2 (ja) 2019-08-26 2022-12-02 株式会社Gsec シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法

Also Published As

Publication number Publication date
JPH10340290A (ja) 1998-12-22

Similar Documents

Publication Publication Date Title
US5467462A (en) Event driven logic simulator for partial simulation
US5051911A (en) Apparatus for effecting simulation of a logic circuit and method for producing a semiconductor device using the simulation approach
JP2563663B2 (ja) 論理設計処理装置およびタイミング調整方法
US7346872B2 (en) Functional timing analysis for characterization of virtual component blocks
JPH10187789A (ja) ハードウェア/ソフトウェア協調シミュレーション装置、ハードウェア/ソフトウェア協調シミュレーション方法及びハードウェア/ソフトウェア協調シミュレーションプログラムを記録した機械読み取り可能な記録媒体
JPH07200642A (ja) 半導体集積回路の遅延時間計算装置
JP2970600B2 (ja) 論理シミュレーション方式
US8050904B2 (en) System and method for circuit symbolic timing analysis of circuit designs
JPH06314311A (ja) 論理シミュレーション方式
JPH06282600A (ja) 論理シミュレーション装置
JP2924882B1 (ja) 論理シミュレーションモデルの作成方法および装置ならびに記録媒体
JP2853649B2 (ja) 論理シミュレーション用モデルの作成方法
JP3265384B2 (ja) 論理シミュレーション方法及びこれに用いる論理シミュレーション装置
JP3080037B2 (ja) 論理シミュレーション用モデルの作成方法
JP2853431B2 (ja) 遅延解析結果表示方式
JP3654941B2 (ja) 論理シミュレーション方法及び論理シミュレータ
JP6949440B2 (ja) ベクタ生成装置及びベクタ生成用プログラム
JP2003028935A (ja) 故障伝搬経路推定システム
JP3191183B2 (ja) スキャンテスト制御ゲート挿入方式
JP2785708B2 (ja) 論理シミュレーション方法
JPH05189513A (ja) ディレイ考慮論理シミュレーション方法
JP2001034651A (ja) 論理シミュレータおよび論理シミュレーション方法
JP2896315B2 (ja) 論理シミュレーション方法
JPH0528217A (ja) 論理シミユレーター
JPH07129636A (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: 19990727

LAPS Cancellation because of no payment of annual fees