JPH05143667A - 論理シミユレーシヨン方式 - Google Patents

論理シミユレーシヨン方式

Info

Publication number
JPH05143667A
JPH05143667A JP3304461A JP30446191A JPH05143667A JP H05143667 A JPH05143667 A JP H05143667A JP 3304461 A JP3304461 A JP 3304461A JP 30446191 A JP30446191 A JP 30446191A JP H05143667 A JPH05143667 A JP H05143667A
Authority
JP
Japan
Prior art keywords
event
gate
simulation
flip
logic
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.)
Withdrawn
Application number
JP3304461A
Other languages
English (en)
Inventor
Kimio Oe
公夫 大江
Tetsuro Motomura
哲朗 本村
Nobutaka Amano
亘孝 天野
Koji Matsuo
浩次 松尾
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi 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 Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP3304461A priority Critical patent/JPH05143667A/ja
Publication of JPH05143667A publication Critical patent/JPH05143667A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】ゼロディレイ,クロック同期式の論理シミュレ
ーションにおいて、クロック間のイベントを抑止するこ
とにより高速化をはかる。 【構成】本発明による論理シミュレーション方式は、ネ
ットリストを作成する第1のステップと、イベント伝搬
抑止ゲートを抽出する第2のステップと、論理シミュレ
ーションの実行を行う第3のステップから構成し、第3
のステップにおいて当該フリップフロップの評価時刻1
02まで処理を保留107し、評価不要なイベントの処
理を抑止する。 【効果】本発明による論理シミュレーション方式によ
り、フリップフロップに影響を与える最も前段のゲート
素子においてイベントを保留し、フリップフロップのク
ロック変化時に一度だけ保留したイベントを評価するこ
とにより、シミュレーション結果に影響のないイベント
を大幅に抑止し、高速な論理シミュレーションを実現す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、処理装置の論理検証に
用いる論理シミュレーションに係り、特に、素子ディレ
イをゼロとして高速のシミュレーションを行うクロック
同期方式の論理シミュレーションにおける高速化に関す
るものである。
【0002】
【従来の技術】近年の半導体集積回路における集積度の
増大に伴い、コンピュータを利用した検証方法が取り入
れられている。このような、コンピュータを利用した検
証方法として、最もよく用いられているのが論理シミュ
レーションである。論理シミュレーションは、設計対象
となる集積回路を記述したネットリストと、シミュレー
ション実行制御データを入力し、その結果として集積回
路の動作を表すタイムチャートを出力する。集積回路の
設計者は、このタイムチャートの内容を確認することに
より、集積回路の検証を行うことができる。
【0003】最もよく利用される論理シミュレーション
の手法としては、AND,ORなどのゲート素子,フリ
ップフロップ,ROM,RAM等のメモリ素子を構成要
素とするゲートレベル論理シミュレーションがある。
【0004】近年、論理回路の回路規模の増大に伴い、
論理シミュレーションのターンアラウンドタイムが増大
し、論理検証期間の増大が問題となっている。この問題
に対処するためには、より高速な論理シミュレーション
の実現が必要である。一つの方法として、素子ディレイ
をゼロとし、クロックに同期したシミュレーションを行
う方法が知られている。0ディレイ,クロック同期式の
シミュレーションを応用し、シミュレーション精度を向
上させた公知例としては、特開平2−205936 号や特開平
3−99372号がある。
【0005】
【発明が解決しようとする課題】クロックに同期して論
理シミュレーションを行う方式においては、フリップフ
ロップとフリップフロップの間のゲート素子のディレイ
をゼロとして取扱い、タイミングは考慮しないため、ゲ
ート素子の出力タイミングの確認はできず、設計者の確
認の対象となるのは主にフリップフロップの出力であ
る。フリップフロップの出力が変化するのは、当該フリ
ップフロップのクロックが変化したときのみである。即
ち、フリップフロップのクロックの間に発生する当該フ
リップフロップの入力側に存在するゲート素子のイベン
トの中には当該フリップフロップには影響を与えない無
効なイベントが存在し、論理シミュレーションの処理性
能の妨げとなっている。
【0006】
【課題を解決するための手段】本発明による論理シミュ
レーション方式では、フリップフロップのクロック変化
時まで、フリップフロップのなるべく前段のゲート素子
においてイベントを保留し、フリップフロップのクロッ
ク変化時に一度だけ保留したイベントを評価することに
より、前記の無効なイベントを抑止し、高速な論理シミ
ュレーションを実現することができる。
【0007】
【作用】本発明による論理シミュレーション方式では、
あらかじめシミュレーション対象の論理回路のゲート素
子に対し、特定のフリップフロップだけに影響を与える
ゲート素子群をフリップフロップ毎に抽出しておく。論
理シミュレーションの実行時には、まず前記抽出された
ゲート素子群に伝搬したイベントを一旦保留する。次
に、当該フリップフロップのクロック変化時刻に達した
時に保留したイベントを評価し、順次ファンアウト先に
伝搬させ、当該フリップフロップの入力値を求め、フリ
ップフロップの出力値を決定する。本方式により、当該
フリップフロップの評価時刻までに、前記抽出ゲート素
子群に伝搬したイベントが複数であっても、評価は一度
だけで済み無効なイベントを抑止することが可能とな
る。
【0008】
【実施例】以下本発明の実施例を、図面を用いて詳細に
説明する。
【0009】図5は、本発明による論理シミュレーショ
ンの対象となる論理回路図である。本論理回路は、フリ
ップフロップ(以下FFと称する)L1(501),L
2(502),L3(503),L4(511),L5
(512)と3つのAND回路G1(505),G2
(506),G3(507)と2つのOR回路G4(5
08),G5(509)から構成される。各FFはそれ
ぞれ、T0,T1,T2,T3のクロック信号により起
動されるものとする。
【0010】本発明によるシミュレーション方式では、
FF等のメモリ素子(以下ではすべてFFと称する)と
AND,OR等の通常ゲートを区分し、FFの間に位置
する通常ゲートについては、その出力値がある特定のF
F(例:FF511)だけに影響を与える可能性を持つ
ゲート素子のグループ(504,509)と、複数のF
Fに影響を与える可能性を持つゲート素子(506)と
に分類し処理する。前者の素子グループの評価は当該F
Fのクロック変化時刻のみ評価を行えばよい。後者の素
子グループの評価は、複数のファンアウト先のFFの評
価タイミングに対応するため、従来通り、イベント伝搬
毎に評価する。
【0011】図4は、図5の論理回路の動作の一例を示
すタイムチャートである。クロックT0,T1,T2は
それぞれ時刻ta,tb,tcにおいて変化するものと
する。先ず、時刻taにおいて、クロックT0が変化す
ることによりL1(FF501)が1に、時刻tbにおいて
クロックT1が変化することによりL3(FF503)が
0に変化する。また、L2(FF502)は0のまま、
出力値は変化しないものとする。以下、図4のタイムチ
ャートを順を追って説明する。
【0012】(1)時刻taでのL1(FF501)の
変化により、G1(AND505)の出力は1となる。
(407) (2)同時に、G4(OR508)の出力も1となる。
(409) (3)時刻tbにおいてL3(FF503)の信号値変
化によりG2(AND506)の出力は0となる。(407) (4)同時に、G4(OR508)の出力も0となる。
(409) (5)時刻tcにおいて、L4(FF511)の入力、
即ちG4(OR508) の出力値には、前回のT2のクロック変化時t0から変
化がないので、出力値は変化しない。
【0013】上記シミュレーションの例では、G1(A
ND505)、およびG4(OR508)に合計4回のイベン
トが発生するが、L4(FF511)以降の回路には影
響を与えない無駄なイベントであることがわかる。本発
明の目的は、前記の無駄なイベントを抑止することにあ
る。
【0014】図2は、本発明による論理シミュレーショ
ンの処理フローである。
【0015】本発明による論理シミュレーションは、以
下の3ステップで構成される。
【0016】(1)ネットリストの読み込み シミュレーション対象の論理回路の記述が格納されたネ
ットリストファイルをよみ、ネットテーブルを作成す
る。(ステップ200) (2)イベント伝搬不要ゲートの抽出 無効なイベントの処理を抑止するため、イベント伝搬を
停止するゲートの洗い出しを行う。(ステップ201) (3)シミュレーション実行 無効なイベントの抑止処理を行うクロック同期式のシミ
ュレーションを実行する。(ステップ202) 図6は、図5の論理回路図のネットリストを読み込むこ
とにより作成された、ネットテーブルの一部である。テ
ーブル601は、ANDゲートG1(505)に対応
し、機能名やファンイン(FIP),ファンアウト(F
OP)先のネットテーブルへリンクするポインタ等を格
納するエントリから構成される。他のテーブル602,
603,604も同様にANDゲートG2(506),
ORゲートG4(508),FF L4(511)に対
応する。FF L4(511)に対応するネットテーブ
ル604には、前記エントリ以外に当該FFのみに影響
を与える最前段のゲート素子群(本例ではG1 50
5,G4 508)のネットテーブル601,603へ
のポインタを格納するMIPをもつ。本エントリの作成
方法、および使用方法については別途説明する。また、
クロックテーブル605には、当該時刻に評価するFF
へのポインタFFPが格納されている。
【0017】図3は、イベント伝搬不要ゲートチェック
の処理フローである。以下では図5の論理回路図を例と
し、適時他の図面を参照しながら順を追って説明する。
【0018】(1)ネットテーブルから先ず、FFを一
個取り出す。
【0019】先ずFF L4(511)が処理対象とな
る。FF L4(511)はFFから見たファンイン側
のゲート段数を表すレベル番号(以下Lvと記す)を1
とする。(ステップ300) (2)ファンインゲートを一段取り出す。
【0020】Lvがすでに付加されているゲート郡のフ
ァンイン先のゲートを一段取り出す。(ステップ30
1) (3)ファンインゲートを一個取り出す。
【0021】ファンイン側のORゲートG4(508)
が対象となる。(ステップ302) (4)対象となったファインゲートの全ファンアウトを
チェックする。
【0022】ORゲートG4(508)のファンアウト
先は、FF L4(511)のみであり、FF L4
(511)にはLv=1が付加されているため、当該ゲ
ートG4(508)のLvを2とする。また、Lvを付
加したゲートは、ネットテーブルのイベント伝搬抑止フ
ラグSF(以下SFとする)を1とする。(ステップ3
03,ステップ304) (5)次に、2段目のゲートである、ANDゲートG1
(505),G2(506)が処理対象となる。(ステップ
305,ステップ301) (6)ANDゲートG1(505)はLv=3となり、
ネットテーブル601のSF=1を設定する。ANDゲ
ートG2(506)は、ファンアウト先のORゲートG
4(508)にはLv=2が設定されているものの、も
う一方のファンアウト先であるORゲートG5(50
9)にLvが設定されていないためLvは0とし、ネッ
トテーブル602のSF=0をセットする。(ステップ
303,304) (7)ステップ301から305をファンイン先にFF
以外のゲートがなくなるまで繰り返す。FFがもうなく
なった場合、当該FFのネットテーブル604のMIP
に最前段のゲートのネットテーブル601,603への
ポインタをセットする。(ステップ306) (8)上記処理を論理シミュレーション対象論理回路内
の全FFを対象に行うことにより、各FF毎に、当該F
Fの出力だけに影響を与えるゲート素子群を抽出するこ
とができ、その最前段のゲートと当該FFのネットテー
ブルをリンクすることができる。
【0023】図8は、本発明による論理シミュレーショ
ンの過程で使用するイベントテーブルの概要である。イ
ベントテーブルは、0(801),1(802)の二面
から構成される。おのおのの要素には、イベントテーブ
ルに登録されたゲートのネットテーブルのポインタが格
納される。二面のイベントテーブルは、一方を入力に、
もう一方を出力先として交互に入出力を切り替えて使用
することにより、シミュレーションを実施する。
【0024】図1は、本発明による論理シミュレーショ
ンの実行処理フローである。以下、順を追って説明す
る。
【0025】(1)先ず、二面あるイベントテーブルの
出力先を示すフラグAを1に初期化する。即ち初期状態
では、イベントテーブルAはイベントテーブル1を示し
出力先であることを表し、イベントテーブル^Aはイベ
ントテーブル0を示し、入力元であることを表す。(ス
テップ100) (2)あらかじめ、テストデータファイルに格納されて
いるテストデータのうち、当該時刻に処理するものを取
り出し、その伝搬先のゲートの信号値に変化がある場
合、当該ゲートのネットテーブルへのポインタをイベン
トテーブルAに追加格納する。(ステップ101) (3)当該時刻に変化するクロックが入力されているF
FのネットテーブルのMIPの示すネットテーブルをサ
ーチする。入力信号変化があったことを示すフラグAE
が1となっているネットテーブルがある場合、当該FF
の入力値が変化する可能性があるためステップ103か
らステップ109に示すシミュレーション核部の処理と
同様なイベント駆動型のシミュレーションを実行し、当
該時刻のFFの出力値を計算する。当該FFの出力値が
変化する場合、ファンアウト先のゲートのネットテーブ
ルへのポインタをイベントテーブルAに追加登録する。
(ステップ102) (4)イベントの出力先テーブルを示すフラグAを反転
させ、入力元と出力先のイベントテーブルを交換する。
(ステップ103) (5)イベントテーブル^Aに格納されているイベント
を一個取り出し、ゲートの論理動作に応じた演算を実施
する。(ステップ104) (6)ステップ104の論理演算の結果、当該ゲートの
出力値が変化する場合、ステップ106からの処理を、
出力値が変化しない場合、ステップ108からの処理を
行う。(ステップ105) (7)当該ゲートのネットテーブルの出力信号格納エリ
アを更新する。(ステップ106) (8)当該ゲートのファンアウト先のゲートのうちSF
フラグが0のもの、即ち複数のFFに影響を与える可能
性を持つゲート(例:ANDゲートG2 506)のネット
テーブルへのポインタをイベントテーブルAに格納す
る。SFフラグが1のもの、即ち特定のFFのみに影響
を与える可能性を持つゲート(例:ANDゲートG1
505)については、ネットテーブルの入力信号値を更
新し、信号変化があったことを示すAEフラグを1と
し、以降の処理は抑止する。(ステップ107) (9)ステップ103からステップ107までのシミュ
レーション核部の処理を入力イベントが格納されている
イベントテーブル^Aが空になるまで繰り返す。(ステ
ップ108) (10)入力イベントテーブル^Aが空になった時、出力
イベントテーブルAが空でない場合、まだ処理すべきイ
ベントが残っているためステップ193からの処理を行
う。空の場合は当該時刻のシミュレーションの終了であ
り、ステップ110の処理に進む。(ステップ109) (11)シミュレーション時刻を進める。(ステップ11
0) (12)シミュレーション終了時刻でない場合、ステップ
101からの処理を行う。シミュレーション終了時刻の
場合、終了処理を行いシミュレーションを終了する。
(ステップ111)
【0026】
【発明の効果】以上、本発明による論理シミュレーショ
ン方式では、前記ステップ107により、FFの評価時
刻までイベントを保留することにより、特定のFFのみ
に影響を与えるゲート素子群のイベント伝搬処理及び論
理演算処理を大幅に削減することができる。図4の例で
は、時刻ta、及びtbにおいてはG1(AND505)
および、G4(OR508)のイベントは保留され論理
演算は行わない。FFの評価時刻tcでは、G1(AN
D505)、およびG4(OR508)の入力値は、時
刻ta以前と変化がないため、論理演算を完全に抑止で
き、論理シミュレーションを大幅に高速化することが可
能となる。
【図面の簡単な説明】
【図1】図1は本発明の一実施例としての論理シミュレ
ーション実行処理フローを示す流れ図である。
【図2】図2は本発明の一実施例としての論理シミュレ
ーション全体の処理を示す流れ図である。
【図3】図3は本発明の一実施例としてのイベント伝搬
抑止ゲートの抽出処理の流れ図である。
【図4】図4は本発明の一実施例としての論理シミュレ
ーション対象論理回路例の動作を示すタイムチャートで
ある。
【図5】図5は本発明の一実施例としての論理シミュレ
ーション対象論理回路例の論理回路図である。
【図6】図6は本発明の一実施例としての論理シミュレ
ーション対象論理回路例のネットテーブルである。
【図7】図7は本発明の一実施例としての論理シミュレ
ーション対象論理回路例のイベント伝搬抑止ゲート抽出
方法の処理説明図である。
【図8】図8は本発明の一実施例としての論理シミュレ
ータのイベントテーブルの概略である。
【符号の説明】
501,502,503,511,512…フリップフ
ロップ、504,510…ゲート素子群、505,50
6,507…ANDゲート、508,509…ORゲー
ト、601,602,603,604…ネットテーブ
ル、605…クロックテーブル、801,802…イベ
ントテーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 天野 亘孝 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 松尾 浩次 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】素子ディレイをゼロとし、論理回路モデル
    のフリップフロップ入力端子のクロック信号に同期して
    論理シミュレーションを行うゼロディレイクロック同期
    シミュレーションにおいて、ネットリストを作成する第
    1のステップと、イベント伝搬抑止ゲートを抽出する第
    2のステップと論理シミュレーションの実行を行う第3
    のステップから構成することを特徴とする論理シミュレ
    ーション方式。
  2. 【請求項2】素子ディレイをゼロとし、論理回路モデル
    のフリップフロップ入力端子のクロック信号に同期して
    論理シミュレーションを行うゼロディレイクロック同期
    シミュレーションにおいて、ネットリストを作成する第
    1のステップと、イベント伝搬抑止ゲートを抽出する第
    2のステップと論理シミュレーションの実行を行う第3
    のステップから構成し、第2のステップにおいて、論理
    回路モデル内の全フリップフロップに対し、特定のフリ
    ップフロップにだけに影響を与えるゲートを抽出するこ
    とを特徴とする論理シミュレーション方式。
  3. 【請求項3】素子ディレイをゼロとし、論理回路モデル
    のフリップフロップ入力端子のクロック信号に同期して
    論理シミュレーションを行うゼロディレイクロック同期
    シミュレーションにおいて、ネットリストを作成する第
    1のステップと、イベント伝搬抑止ゲートを抽出する第
    2のステップと論理シミュレーションの実行を行う第3
    のステップから構成し、第2のステップにおいて抽出さ
    れた、特定のフリップフロップだけに影響を与えるゲー
    トに伝搬したイベントを、第3のステップにおいて当該
    フリップフロップの評価時刻まで処理を保留し、評価不
    要なイベントの処理を抑止することを特徴とする論理シ
    ミュレーション方式。
JP3304461A 1991-11-20 1991-11-20 論理シミユレーシヨン方式 Withdrawn JPH05143667A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3304461A JPH05143667A (ja) 1991-11-20 1991-11-20 論理シミユレーシヨン方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3304461A JPH05143667A (ja) 1991-11-20 1991-11-20 論理シミユレーシヨン方式

Publications (1)

Publication Number Publication Date
JPH05143667A true JPH05143667A (ja) 1993-06-11

Family

ID=17933301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3304461A Withdrawn JPH05143667A (ja) 1991-11-20 1991-11-20 論理シミユレーシヨン方式

Country Status (1)

Country Link
JP (1) JPH05143667A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256048A (ja) * 2000-01-20 2001-09-21 Arm Ltd データ処理装置のシミュレーション

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256048A (ja) * 2000-01-20 2001-09-21 Arm Ltd データ処理装置のシミュレーション

Similar Documents

Publication Publication Date Title
US10061883B2 (en) Reciprocal quantum logic (RQL) circuit synthesis
JP2609799B2 (ja) 順序回路の再設計方法
US7010763B2 (en) Method of optimizing and analyzing selected portions of a digital integrated circuit
US20050091025A1 (en) Methods and systems for improved integrated circuit functional simulation
US5553000A (en) Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits
US20100070941A1 (en) Achieving Clock Timing Closure in Designing an Integrated Circuit
US20050278681A1 (en) Method for synthesizing domino logic circuits
JPH05143667A (ja) 論理シミユレーシヨン方式
US6584597B1 (en) Modeling of phase synchronous circuits
Jain et al. Automatic clock abstraction from sequential circuits
JP3191183B2 (ja) スキャンテスト制御ゲート挿入方式
JP2000113019A (ja) 回路設計方法および設計支援装置
JPH0195365A (ja) クリティカルパスの解析処理方式
JP2785708B2 (ja) 論理シミュレーション方法
JP3237991B2 (ja) パス制約生成方法
JP2990882B2 (ja) 機能シミュレーション装置
JPS60173484A (ja) 論理シミユレ−シヨン方式
JPH03288270A (ja) 論理シミュレーション装置
JPH05216952A (ja) 論理シミュレーション方法
JPS638840A (ja) 論理シミユレ−タ
JPH0399372A (ja) 論理回路シミュレーション方法
JP2001101248A (ja) 半導体集積回路、半導体集積回路の設計方法および記録媒体
JPH07113934B2 (ja) 論理回路遅延時間最適化方法
JPH04274567A (ja) 論理回路の遅延計算方式
JPH06110963A (ja) パスの遅延値自動算出方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990204