JPH05135130A - 論理シミユレーシヨン方法および論理シミユレーシヨン装置 - Google Patents

論理シミユレーシヨン方法および論理シミユレーシヨン装置

Info

Publication number
JPH05135130A
JPH05135130A JP3298665A JP29866591A JPH05135130A JP H05135130 A JPH05135130 A JP H05135130A JP 3298665 A JP3298665 A JP 3298665A JP 29866591 A JP29866591 A JP 29866591A JP H05135130 A JPH05135130 A JP H05135130A
Authority
JP
Japan
Prior art keywords
event
signal state
extraction
unit
change
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.)
Pending
Application number
JP3298665A
Other languages
English (en)
Inventor
Yasuyuki Kanazawa
靖之 金澤
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP3298665A priority Critical patent/JPH05135130A/ja
Priority to US07/975,841 priority patent/US5426768A/en
Publication of JPH05135130A publication Critical patent/JPH05135130A/ja
Pending 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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】発振回路を含む論理回路をシミュレーション対
象とする場合にも、シミュレーション速度を低下させる
ことなく、デッドロックに陥ることを防止できる論理シ
ミュレーション方法および論理シミュレーション装置を
提供する 【構成】第1の取出部3は、イベント記憶部2から現在
のシミュレーション時刻と等しいイベント時刻を持つイ
ベントを取り出す。第2の取出部4は、素子の入力端子
の信号状態の変化を表す未処理のイベントを各素子ごと
に独立して扱い、素子の全ての入力端子にその入力端子
の信号状態の変化を表す未処理のイベントが存在すれ
ば、それらのイベントのうちでイベント時刻が最小であ
るイベントを取り出す。制御部11は、第2の取出部4
を機能させるか否かを素子ごとに個別に制御する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理回路の動作の検証
等に用いられる論理シミュレーション装置、特にイベン
ト駆動型の論理シミュレーション装置に関するものであ
る。
【0002】
【従来の技術】一般に、イベント駆動型の論理シミュレ
ーションでは、シミュレーション対象とする論理回路に
含まれる各素子の入力端子および出力端子に発生する信
号状態の変化を、イベントの生起とみなし、各信号をそ
れぞれ状態変化の列、すなわちイベント列として表現す
る。イベントを表すデータには、信号状態が変化する時
刻であるイベント時刻と、信号状態がどういう状態に変
化したかを表す値と、信号状態が変化した素子を表す値
と、信号状態が変化した素子の入力端子または出力端子
を表す値とが含まれる。そして入力端子の信号状態が変
化した素子についてのみ、その素子の出力端子の新たな
信号状態を算出する。算出の結果、出力端子の信号状態
が変化した場合には、その変化を表すイベントが新たに
作成され、この出力端子に接続された素子の入力端子に
伝えられる。一方、算出の結果、出力端子の信号状態が
変化しなかった場合には、新たなイベントの作成は行な
われない。
【0003】すなわち、イベント駆動型の論理シミュレ
ーションは、素子の入力端子の信号状態の変化を表すイ
ベントを用いて、その素子の出力端子の新たな信号状態
を算出する評価処理と、素子の出力端子の信号状態が変
化した場合に、その変化を表すイベントを、その出力端
子に接続された素子の入力端子の信号状態の変化を表す
イベントとして作成する伝達処理と、評価処理に用いる
イベントを決定・抽出する取出処理との、3つの処理を
繰り返すことによって実行される。
【0004】従来、イベント駆動型の論理シミュレーシ
ョン装置は、取出処理の方法が異なる、3種類のものが
提案されている。従来の取出処理の第1の例(例えば岩
波講座マイクロエレクトロニクス「VLSIの設計II」
pp.205-209参照)では、1ずつカウントアップして算出
される、現在のシミュレーション時刻すなわち現在時刻
を用い、イベント時刻が現在時刻と一致するイベント
を、評価処理に用いるイベントとする。すなわち、イベ
ントがどの素子の入力端子の信号状態の変化を表すかに
は無関係に、イベント時刻が小さなものから順に、評価
処理の対象とする。このような判定方法を用いて、評価
処理に用いるイベントを決定・抽出する取出処理を、以
下「第1の取出処理」という。
【0005】従来の取出処理の第2の例(例えば特開昭
61−110071号公報参照)では、現在時刻を用い
て行なうのではなく、論理回路を構成する各素子ごとに
独立して、評価処理に用いるイベントを決定・抽出す
る。例えば、論理シミュレーション装置内に、ある素子
の全ての入力端子に対して、各入力端子の信号状態の変
化を表すイベントがそれぞれ少なくとも一つ存在するな
らば、それらのイベント群が持つイベント時刻の最小値
までは、その素子の出力端子の信号状態を算出すること
が可能である。すなわち、ある素子の全ての入力端子に
対して、各入力端子の信号状態の変化を表すイベントが
それぞれ少なくとも一つ存在するならば、それらのイベ
ント群のうちで最もイベント時刻が小さいものは、評価
処理に用いてよいと決定することができる。このように
して、各素子ごとに独立して評価処理に用いるイベント
を決定・抽出する取出処理を、以下「第2の取出処理」
という。
【0006】ところで、上記第1の取出処理あるいは第
2の取出処理を採用した従来の論理シミュレーション装
置には、いずれも大きな問題が内在している。すなわち
第1の取出処理を採用した論理シミュレーション装置で
は、現在時刻を用いて、全てのイベントをイベント時刻
が小さなものから順に処理してゆく必要があるため、あ
る特定のシミュレーション時刻に係わるイベント群に関
する全ての処理が完了したのを確認できるまで、別のシ
ミュレーション時刻に係わるイベントに対して、一切処
理を行なうことができない。従って、論理シミュレーシ
ョン装置全体に渡る、シミュレーション時刻の同期機構
が必要となり、並列処理あるいはパイプライン処理を用
いてシミュレーション速度を向上させることが困難とな
る。
【0007】一方、第2の取出処理を採用した論理シミ
ュレーション装置では、フィードバックループを持つ論
理回路の動作は、シミュレーションできないという欠点
がある。そこで、第1の取出処理あるいは第2の取出処
理を採用した従来の論理シミュレーション装置が持つ問
題を解決するために、取出処理の第3の例(例えば特開
昭63−278150号公報、特開平1−230142
号公報参照)が提案されている。すなわち、評価処理に
用いるイベントの決定・抽出に、第1の取出処理と第2
の取出処理とを併用し、第1の取出処理によって決定・
抽出したイベントと第2の取出処理によって決定・抽出
したイベントとの両方を評価処理に用いることによっ
て、両者の欠点を相補い、フィードバックループを持つ
論理回路の動作もシミュレーションできるようにすると
共に、並列処理あるいはパイプライン処理を行なって、
シミュレーション速度の向上を図るものである。
【0008】このような第1の取出処理と第2の取出処
理とを併用する従来の論理シミュレーション装置は、図
6のように、現在時刻出力部1と、イベント記憶部2
と、第1の取出部3と、第2の取出部4と、回路動作計
算部5とを備えており、第2の取出部4は素子番号発生
部6を有している。a〜fは信号線である。すなわち現
在時刻出力部1は、現在時刻を算出して、信号線aに出
力する。さらに現在時刻出力部1は、論理シミュレーシ
ョン装置の中に現在時刻と等しいイベント時刻を持つイ
ベントが存在しなくなったとき、それまで現在時刻とし
ていた値よりも1だけ大きな値を、新たな現在時刻とし
て算出し直す。イベント記憶部2は、未処理のイベント
群を記憶している。第1の取出部3は、信号線bを介し
てイベント記憶部2に記憶されているイベント群を参照
し、現在時刻出力部1から信号線aを介して読み取った
現在時刻と等しいイベント時刻を持つイベントを、イベ
ント記憶部2から取り出し、信号線dに出力する。すな
わち第1の取出処理を実行する。取り出されたイベント
は、イベント記憶部2から消去される。第2の取出部4
に設けられた素子番号発生部6は、随時、シミュレーシ
ョン対象とする論理回路に含まれる任意の素子を選ん
で、その素子を表す値すなわち素子番号を発生する。第
2の取出部4は、イベント記憶部2に記憶されている、
素子番号発生部6が発生した素子番号によって示される
素子の入力端子の信号状態の変化を表すイベント群を、
信号線cを介して参照し、そのイベント群の中から評価
処理に用いるイベントを第2の取出処理によって決定
し、評価処理に用いるイベントをイベント記憶部2から
取り出して、信号線eに出力する。取り出されたイベン
トは、イベント記憶部2から消去される。回路動作計算
部5は、第1の取出部3または第2の取出部4から信号
線dまたは信号線eを介して、素子の入力端子の信号状
態の変化を表すイベントを受け取り、評価処理を行なっ
て、その素子の出力端子の新たな信号状態を算出する。
さらに回路動作計算部5は、算出の結果、素子の出力端
子の信号状態が変化した場合には、伝達処理を行なっ
て、信号状態が変化した出力端子に接続されている素子
の入力端子群の信号状態の変化を表すイベント群を作成
して、それら作成したイベント群を信号線fに出力し、
信号線dまたは信号線eを介して受け取ったイベントを
消去する。一方、算出の結果、素子の出力端子の信号状
態が変化しなかった場合には、伝達処理は行なわず、単
に、信号線dまたは信号線eを介して受け取ったイベン
トを消去する。イベント記憶部2は、回路動作計算部5
が出力したイベント群を信号線fを介して受け取り、記
憶する。このように、イベント記憶部2に記憶されたイ
ベントが、再び第1の取出部3または第2の取出部4に
よって取り出されることにより、シミュレーションが進
行する。
【0009】さらに、こうした第1の取出処理と第2の
取出処理とを併用する論理シミュレーション装置の応用
として、論理シミュレーション装置内部に、処理しきれ
ないほど多くのイベントが発生する兆候を予め検出する
機構を設け、処理しきれないほど多くのイベントが発生
する兆候がないときには、シミュレーション対象とする
論理回路に含まれる全ての素子に対して、第1の取出処
理と第2の取出処理とを併用し、処理しきれないほど多
くのイベントが発生する兆候が現れたときには、全ての
素子に対して第2の取出処理を停止し、第1の取出処理
だけを用いてシミュレーションを行なう装置も提案され
ている(例えば特開平2−75073号公報参照)。
【0010】
【発明が解決しようとする課題】上記従来の第1の取出
処理と第2の取出処理とを併用する論理シミュレーショ
ン装置には、第2の取出処理を行なうことに起因した問
題が存在する。すなわち、シミュレーション対象とする
論理回路中に発振回路が含まれていると、論理回路中の
他の部分に対するシミュレーションがあまり進まないう
ちに、発振回路に対してのみ第2の取出処理によってど
んどんシミュレーションが進行してしまい、これに伴っ
て、論理シミュレーション装置内にイベントが無数に蓄
積され、イベント記憶部2がオーバーフローを起こして
しまうのである。
【0011】この問題について、図7のような回路を含
む論理回路をシミュレーション対象とする場合を例にと
って具体的に説明する。この回路は、インバータ8と、
2入力のANDゲート9とを備えており、インバータ8
の出力端子は、信号線Aを介してANDゲート9の第1
の入力端子9aに接続されている。信号線Aは、信号線
Bを介してインバータ8の入力端子に接続されており、
ANDゲート9の第2の入力端子9bは、信号線Cを介
して論理回路中の他の素子の出力端子に接続されてい
る。ANDゲート9の出力端子は、論理回路中の他の素
子の入力端子に接続されている。
【0012】いま、信号線Cを介してANDゲート9の
第2の入力端子9bに接続されている他の素子の出力端
子の信号状態は、シミュレーションの開始時にすでにハ
イレベルになっており、シミュレーションの期間中、ハ
イレベルのまま変化しないものとする。また、インバー
タ8の動作遅延時間を、仮に10ナノ秒とすると、イン
バータ8の出力端子の信号状態は、10ナノ秒ごとにロ
ーレベルからハイレベル、ハイレベルからローレベルへ
と反転を繰り返し、周期20ナノ秒で発振する。
【0013】図7の回路を一部として含む論理回路の動
作を、図6の論理シミュレーション装置でシミュレーシ
ョンしようとすると、インバータ8には、入力端子が1
個しかないので、この入力端子の信号状態の変化を表す
イベントが、イベント記憶部2に1個記憶されていれ
ば、そのイベントは、第2の取出部4が行なう第2の取
出処理によって、イベント記憶部2から取り出される。
続いて、回路動作計算部5が行なう評価処理と伝達処理
とによって、ANDゲート9の第1の入力端子9aの信
号状態の変化を表すイベントと、インバータ8の入力端
子の信号状態の変化を表すイベントとが、新たに作成さ
れる。この新たに作成された、インバータ8の入力端子
の信号状態の変化を表すイベントに対して、再び第2の
取出部4により第2の取出処理が行なわれる。このよう
に、外部から制御を受けない発振回路が、シミュレーシ
ョン対象となる論理回路に含まれている場合には、論理
回路中の他の部分に対するシミュレーションの進行具合
に影響されず、その発振回路に対して、第2の取出処理
によってシミュレーションがどんどん進行する。このと
き、信号線Cを介してANDゲート9の第2の入力端子
9bに接続されている他の素子の出力端子の信号状態が
ハイレベルのまま変化せず、従ってANDゲート9の第
2の入力端子9bには一切イベントが発生しないので、
ANDゲート9の第1の入力端子9aの信号状態の変化
を表すイベントは、第2の取出処理では取り出すことが
できない。従って、ANDゲート9の第1の入力端子9
aに発生するイベント群は、やがて、現在時刻が進行し
たときに、第1の取出処理によって、イベント記憶部2
から取り出されることになる。しかし、第1の取出処理
は、現在時刻と等しいイベント時刻を持つイベントしか
イベント記憶部2から取り出せないのに対し、第2の取
出処理は、個々の素子に関する個別の情報だけを用い
て、現在時刻よりも大きなイベント時刻を持つイベント
に対しても処理を行なうことができる。従って、第1の
取出処理によってイベント記憶部2から取り出されるイ
ベントは、第2の取出処理と、それに続く評価処理、伝
達処理で新たに作成されるイベントよりも、イベント時
刻が小さなものとなってしまう。このため、論理シミュ
レーション装置のイベント記憶部2には、ANDゲート
9の第1の入力端子9aの信号状態の変化を表すイベン
トがどんどん蓄積され、ついには、それらのイベント群
を格納しきれなくなって、デッドロックに陥ってしまう
ことになる。
【0014】一方、上記特開平2−75073号公報に
記載された発明を用いれば、デッドロックに陥ることは
回避できるが、この場合には、シミュレーション対象と
する論理回路のごく一部に過ぎない発振回路に対処する
ために、論理回路全体に対して、第1の取出処理と第2
の取出処理とを併用することを放棄し、第1の取出処理
だけでシミュレーションを行なわなければならない。す
なわち、第1の取出処理と第2の取出処理とを併用して
シミュレーションを行うか、第1の取出処理だけでシミ
ュレーションを行なうかを、素子ごとに個別に決定する
ことができないため、両者を併用することによって可能
となる、並列処理またはパイプライン処理を用いたシミ
ュレーション速度の向上を、全面的に放棄することにな
ってしまう。
【0015】本発明はかかる事情に鑑みて成されたもの
であり、発振回路を含む論理回路をシミュレーション対
象とする場合にも、シミュレーション速度を低下させる
ことなく、デッドロックに陥ることを防止できる論理シ
ミュレーション方法および論理シミュレーション装置を
提供することを目的とする。
【0016】
【課題を解決するための手段】本発明の論理シミュレー
ション方法は、シミュレーション対象とする論理回路に
含まれる素子の入力端子および出力端子に発生する信号
状態の変化を、信号状態の変化がいつ発生したかを表す
イベント時刻と称する値と、信号状態がどういう状態に
変化したかを表す値と、信号状態が変化した素子を表す
値と、信号状態が変化した素子の入力端子または出力端
子を表す値とを含むイベントと称するデータで表現し、
入力端子の信号状態が変化した素子に対してのみ、その
素子の出力端子の信号状態を新たに算出し、その出力端
子の信号状態が変化した場合にのみ、その変化を表すイ
ベントを新たに作成する、いわゆるイベント駆動型のア
ルゴリズムを用いて、前記論理回路の動作を計算する論
理シミュレーション方法であって、現在のシミュレーシ
ョン時刻を算出する現在時刻算出ステップと、未処理の
イベント群を記憶するイベント記憶ステップと、このイ
ベント記憶ステップにおいて記憶した未処理のイベント
群の中から、現在のシミュレーション時刻と等しいイベ
ント時刻を持つイベントを取り出す第1の取出ステップ
と、素子の入力端子の信号状態の変化を表す未処理のイ
ベントを各素子ごとに独立して扱い、素子の全ての入力
端子にその入力端子の信号状態の変化を表す未処理のイ
ベントが存在すれば、それらのイベントのうちでイベン
ト時刻が最小であるイベントを取り出す第2の取出ステ
ップと、この第2の取出ステップを適用するか否かを素
子ごとに個別に決定する制御ステップと、前記イベント
記憶ステップにおいて記憶した未処理のイベント群の中
から前記第1の取出ステップまたは前記第2の取出ステ
ップにおいて取り出されたイベントを入力データとし、
イベント駆動型のアルゴリズムを用いてシミュレーショ
ン対象とする論理回路の信号状態の変化を算出し、算出
した結果を表すイベントを、新たな未処理のイベントと
して作成する回路動作計算ステップとを含むことを特徴
としている。
【0017】また本発明の論理シミュレーション装置
は、シミュレーション対象とする論理回路に含まれる素
子の入力端子および出力端子に発生する信号状態の変化
を、信号状態の変化がいつ発生したかを表すイベント時
刻と称する値と、信号状態がどういう状態に変化したか
を表す値と、信号状態が変化した素子を表す値と、信号
状態が変化した素子の入力端子または出力端子を表す値
とを含むイベントと称するデータで表現し、入力端子の
信号状態が変化した素子に対してのみ、その素子の出力
端子の信号状態を新たに算出し、その出力端子の信号状
態が変化した場合にのみ、その変化を表すイベントを新
たに作成する、いわゆるイベント駆動型のアルゴリズム
を用いて、前記論理回路の動作を計算する論理シミュレ
ーション装置であって、現在のシミュレーション時刻を
算出して出力する現在時刻出力部と、未処理のイベント
群を記憶するイベント記憶部と、このイベント記憶部か
ら、現在のシミュレーション時刻と等しいイベント時刻
を持つイベントを取り出す第1の取出部と、素子の入力
端子の信号状態の変化を表す未処理のイベントを各素子
ごとに独立して扱い、素子の全ての入力端子にその入力
端子の信号状態の変化を表す未処理のイベントが存在す
れば、それらのイベントのうちでイベント時刻が最小で
あるイベントを取り出す第2の取出部と、この第2の取
出部を機能させるか否かを素子ごとに個別に制御する制
御部と、前記イベント記憶部から前記第1の取出部また
は前記第2の取出部によって取り出されたイベントを入
力データとし、イベント駆動型のアルゴリズムを用いて
シミュレーション対象とする論理回路の信号状態の変化
を算出し、算出した結果を表すイベントを、前記イベン
ト記憶部の新たな入力データとなる未処理のイベントと
して出力する回路動作計算部とを具備することを特徴と
している。
【0018】
【作用】本発明の論理シミュレーション方法において
は、現在時刻算出ステップで現在のシミュレーション時
刻を算出し、イベント記憶ステップで未処理のイベント
群を記憶し、第1の取出ステップでイベント記憶ステッ
プにおいて記憶した未処理のイベント群の中から現在の
シミュレーション時刻と等しいイベント時刻を持つイベ
ントを取り出し、第2の取出ステップで素子の入力端子
の信号状態の変化を表す未処理のイベントを各素子ごと
に独立して扱い、素子の全ての入力端子にその入力端子
の信号状態の変化を表す未処理のイベントが存在すれ
ば、それらのイベントのうちでイベント時刻が最小であ
るイベントを取り出し、制御ステップで第2の取出ステ
ップを適用するか否かを素子ごとに個別に決定し、回路
動作計算ステップでイベント記憶ステップにおいて記憶
した未処理のイベント群の中から第1の取出ステップま
たは第2の取出ステップによって取り出されたイベント
を入力データとし、イベント駆動型のアルゴリズムを用
いてシミュレーション対象とする論理回路の信号状態の
変化を算出し、算出した結果を表すイベントを、新たな
未処理のイベントとして作成する。
【0019】また本発明の論理シミュレーション装置に
おいて、現在時刻出力部は、現在のシミュレーション時
刻を算出して出力する。イベント記憶部は、未処理のイ
ベント群を記憶する。第1の取出部は、イベント記憶部
から、現在のシミュレーション時刻と等しいイベント時
刻を持つイベントを取り出す。第2の取出部は、素子の
入力端子の信号状態の変化を表す未処理のイベントを各
素子ごとに独立して扱い、素子の全ての入力端子にその
入力端子の信号状態の変化を表す未処理のイベントが存
在すれば、それらのイベントのうちでイベント時刻が最
小であるイベントを取り出す。制御部は、第2の取出部
を機能させるか否かを素子ごとに個別に制御する。回路
動作計算部は、イベント記憶部から第1の取出部または
第2の取出部によって取り出されたイベントを入力デー
タとし、イベント駆動型のアルゴリズムを用いてシミュ
レーション対象とする論理回路の信号状態の変化を算出
し、算出した結果を表すイベントを、イベント記憶部の
新たな入力データとなる未処理のイベントとして出力す
る。
【0020】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明の一実施例における論理シミュ
レーション装置の構成図で、図6に示す構成要素と同一
の構成要素には同一の符号を付している。この論理シミ
ュレーション装置は、現在時刻出力部1と、イベント記
憶部2と、第1の取出部3と、第2の取出部4と、回路
動作計算部5と、制御部11とを備えており、第2の取
出部4は素子番号発生部6を有している。a〜hは信号
線である。
【0021】現在時刻出力部1は、現在時刻を算出し
て、信号線aに出力する。さらに現在時刻出力部1は、
論理シミュレーション装置の中に現在時刻と等しいイベ
ント時刻を持つイベントが存在しなくなったとき、それ
まで現在時刻としていた値よりも1だけ大きな値を、新
たな現在時刻として算出し直す。イベント記憶部2は、
未処理のイベント群を記憶している。第1の取出部3
は、信号線bを介してイベント記憶部2に記憶されてい
るイベント群を参照し、信号線aを介して読み取った現
在時刻と等しいイベント時刻を持つイベントを、イベン
ト記憶部2から取り出し、信号線dに出力する。すなわ
ち第1の取出処理を実行する。取り出されたイベント
は、イベント記憶部2から消去される。第2の取出部4
に設けられた素子番号発生部6は、随時、シミュレーシ
ョン対象とする論理回路に含まれる任意の素子を選ん
で、その素子の素子番号を発生し、信号線gに出力す
る。制御部11は、信号線gを介して素子番号を読み込
み、その素子番号が示す素子に対して、第2の取出処理
を行なってよい場合には、信号線hに取出許可信号を出
力する。一方、信号線gを介して読み込んだ素子番号が
示す素子に対して、第2の取出処理を行なってはいけな
い場合には、信号線hに取出禁止信号を出力する。第2
の取出部4は、信号線hを介して取出許可信号を受け取
った場合には、素子番号発生部6が信号線gに出力した
素子番号によって示される素子に対して第2の取出処理
を適用し、信号線cを介して、イベント記憶部2に記憶
されている、その素子の入力端子の信号状態の変化を表
すイベント群を参照し、その素子の全ての入力端子に対
して、入力端子の信号状態の変化を表すイベントが存在
する場合には、それら入力端子の信号状態の変化を表す
イベント群のうちで、イベント時刻がもっとも小さなイ
ベントを取り出し、信号線eに出力する。取り出された
イベントは、イベント記憶部2から消去される。一方、
素子番号発生部6が出力した素子番号によって示される
素子の入力端子の信号状態の変化を表すイベント群を参
照した結果、その素子のいずれかの入力端子に対して、
入力端子の信号状態の変化を表すイベントが存在しなか
った場合には、イベント記憶部2からのイベントの取り
出しは行なわない。また信号線hを介して取出禁止信号
を受け取った場合には、素子番号発生部6が信号線gに
出力した素子番号によって示される素子に対して、上記
のイベントの参照および取り出しは行なわない。第2の
取出部4がイベント記憶部2から取り出さなかったイベ
ントは、その素子に対して再び第2の取出部4が第2の
取出処理を行なったときに取り出されるか、あるいは、
やがてそのイベントのイベント時刻と等しい値まで現在
時刻が進んだときに、第1の取出部3によって取り出さ
れることになる。回路動作計算部5は、信号線dまたは
信号線eを介して素子の入力端子の信号状態の変化を表
すイベントを受け取り、その素子の出力端子の新たな信
号状態を算出する。算出の結果、素子の出力端子の信号
状態が変化した場合には、さらに伝達処理を行なって、
信号状態が変化した出力端子に接続されている、素子の
入力端子群の信号状態の変化を表すイベント群を作成し
て、それら作成したイベント群を信号線fに出力し、信
号線dまたは信号線eを介して受け取ったイベントを消
去する。一方、算出の結果、素子の出力端子の信号状態
が変化しなかった場合には、伝達処理は行なわず、単
に、信号線dまたは信号線eを介して受け取ったイベン
トを消去する。イベント記憶部2は、回路動作計算部5
が出力したイベント群を信号線fを介して受け取り、記
憶する。こうしてイベント記憶部2に記憶されたイベン
トが、第1の取出部3または第2の取出部4によって再
びイベント記憶部2から取り出されることにより、シミ
ュレーションが進行する。
【0022】以上の説明では、1個のイベントに着目
し、そのイベントが論理シミュレーション装置の各処理
部で処理される過程を順に追ったが、論理シミュレーシ
ョン装置の各処理部または一部の処理部は、他の処理部
から独立したハードウェアによって実現されており、独
立したハードウェアによって実現された各処理部は、相
異なるイベントに対する処理を、並行して行なうことが
可能である。
【0023】次に制御部11についてさらに具体的に説
明する。図2は制御部11の構成図で、この制御部11
は、数値記憶部13と、比較部14と、制御信号作成部
15とを備えている。i,jは信号線である。また図3
はシミュレーション対象とする論理回路の一例を示す回
路図で、この論理回路は、インバータ17と、2入力の
ANDゲート18,19と、3入力のORゲート20と
を備えている。
【0024】シミュレーション対象とする論理回路に含
まれる各素子には、予め、第2の取出処理を行なってよ
い素子群に対しては、ある境界値と等しいか、あるいは
その境界値よりも大きな値を、素子番号として割り当
て、第2の取出処理を行なってはいけない素子群に対し
ては、その境界値より小さい値を、素子番号として割り
当てておく。例えば、ANDゲート18,19およびO
Rゲート20に対しては、第2の取出処理を行なってよ
いものとし、境界値を100と定めて、100と等しい
かあるいはそれよりも大きな値である100〜102を
素子番号として割り当て、発振回路を構成するインバー
タ17に対しては、第2の取出処理を行ってはいけない
として、100よりも小さな値である99を素子番号と
して割り当てておく。すなわち、インバータ17の素子
番号は99、ANDゲート18の素子番号は100、A
NDゲート19の素子番号は101、ORゲート20の
素子番号は102である。
【0025】数値記憶部13は、上記の境界値である1
00を記憶し、その記憶している値100を信号線jに
出力する。比較部14は、信号線gおよび信号線jを介
して供給される値を読み込み、信号線gを介して読み込
んだ値が信号線jを介して読み込んだ値と等しいか、あ
るいは信号線gを介して読み込んだ値が信号線j介して
読み込んだ値よりも大きい場合には、信号線iに真値を
出力し、信号線gを介して読み込んだ値が信号線jを介
して読み込んだ値よりも小さい場合には、信号線iに偽
値を出力する。制御信号作成部15は、信号線iを介し
て供給される値を読み込み、読み込んだ値が真値である
場合には、取出許可信号を信号線hに出力し、読み込ん
だ値が偽値である場合には、取出禁止信号を信号線hに
出力する。
【0026】このように、第1の取出部3が、全ての素
子に対して第1の取出処理を行い、制御部11が、第2
の取出処理を行なってよい素子に対してのみ、第2の取
出部4に第2の取出処理を行なわせ、第2の取出処理を
行なってはいけない素子に対しては、第2の取出部4に
第2の取出処理を行なわせないよう、素子ごとに個別に
制御するので、シミュレーション対象とする論理回路に
含まれる任意の素子に対して、第1の取出処理と第2の
取出処理とを併用してシミュレーションを行なうか、第
1の取出処理だけでシミュレーションを行なうかを、各
素子ごとに個別に決定することが可能となる。したがっ
て、インバータ17のような発振回路を含む論理回路を
シミュレーション対象とする場合にも、シミュレーショ
ン速度を低下させることなく、デッドロックに陥ること
を良好に防止できる。 (別の実施例)図4のように、メモリ22と制御信号作
成部15とにより制御部11を構成してもよい。メモリ
22には、図5のようなデータが記憶されている。すな
わちメモリ22は、シミュレーション対象とする論理回
路に含まれる各素子について、第2の取出処理を行なっ
てよい素子に対しては、素子の素子番号が示すアドレス
に真値を記憶し、第2の取出処理を行なってはいけない
素子に対しては、素子の素子番号が示すアドレスに偽値
を記憶している。例えば、図3の論理回路をシミュレー
ション対象とする場合、発振回路を構成するインバータ
17に対しては、第2の取出処理を行ってはいけないと
して、図5に示すように、インバータ17の素子番号9
9に対応するアドレス99には、偽値を記憶している。
その他の素子、すなわち、ANDゲート18,19およ
びORゲート20に対しては、第2の取出処理を行なっ
てよいので、図5に示すように、各素子の素子番号10
0〜102に対応するアドレス100〜102には、全
て真値を記憶している。
【0027】メモリ22は、信号線gを介して供給され
る値をアドレスとして読み込み、そのアドレスに記憶し
ている値を信号線iに出力する。制御信号作成部15
は、信号線iを介して供給される値を読み込み、読み込
んだ値が真値である場合には、取出許可信号を信号線h
に出力し、読み込んだ値が偽値である場合には、取出禁
止信号を信号線hに出力する。
【0028】このようにすれば、第2の取出処理を行な
ってよい素子に素子番号として割り当てる値と、第2の
取出処理を行なってはいけない素子に素子番号として割
り当てる値とを、予め特定の値を境界値として分けてお
かなくても、メモリ22の各アドレスに記憶する値を定
めることによって、取出許可信号を出力するか、取出禁
止信号を出力するかを、素子ごとに個別に決定する制御
部11を実現することができる。
【0029】
【発明の効果】以上説明したように本発明によれば、制
御部が、第2の取出部に第2の取出処理を行なわせるか
否かを、素子ごとに個別に制御するので、第1の取出部
による第1の取出処理と第2の取出部による第2の取出
処理とを併用してシミュレーションを行なうか、第1の
取出部による第1の取出処理だけでシミュレーションを
行なうかを、素子ごとに個別に決定することができるこ
とから、発振回路を含む論理回路をシミュレーション対
象とする場合にも、シミュレーション速度を低下させる
ことなく、デッドロックに陥ることを良好に防止できる
という優れた効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例における論理シミュレーショ
ン装置の構成図である。
【図2】制御部の構成図である。
【図3】シミュレーション対象の一例としての論理回路
の一部の回路図である。
【図4】別の実施例における制御部の構成図である。
【図5】別の実施例における制御部のメモリの内容の説
明図である。
【図6】従来の論理シミュレーション装置の構成図であ
る。
【図7】従来の論理シミュレーション装置によるシミュ
レーション対象の一例としての論理回路の一部の回路図
である。
【符号の説明】
1 現在時刻出力部 2 イベント記憶部 3 第1の取出部 4 第2の取出部 5 回路動作計算部 11 制御部 13 数値記憶部 14 比較部 15 制御信号作成部 22 メモリ 23 制御信号作成部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 シミュレーション対象とする論理回路に
    含まれる素子の入力端子および出力端子に発生する信号
    状態の変化を、信号状態の変化がいつ発生したかを表す
    イベント時刻と称する値と、信号状態がどういう状態に
    変化したかを表す値と、信号状態が変化した素子を表す
    値と、信号状態が変化した素子の入力端子または出力端
    子を表す値とを含むイベントと称するデータで表現し、
    入力端子の信号状態が変化した素子に対してのみ、その
    素子の出力端子の信号状態を新たに算出し、その出力端
    子の信号状態が変化した場合にのみ、その変化を表すイ
    ベントを新たに作成する、いわゆるイベント駆動型のア
    ルゴリズムを用いて、前記論理回路の動作を計算する論
    理シミュレーション方法であって、 現在のシミュレーション時刻を算出する現在時刻算出ス
    テップと、 未処理のイベント群を記憶するイベント記憶ステップ
    と、 前記イベント記憶ステップにおいて記憶した未処理のイ
    ベント群の中から、現在のシミュレーション時刻と等し
    いイベント時刻を持つイベントを取り出す第1の取出ス
    テップと、 素子の入力端子の信号状態の変化を表す未処理のイベン
    トを各素子ごとに独立して扱い、素子の全ての入力端子
    にその入力端子の信号状態の変化を表す未処理のイベン
    トが存在すれば、それらのイベントのうちでイベント時
    刻が最小であるイベントを取り出す第2の取出ステップ
    と、 前記第2の取出ステップを適用するか否かを素子ごとに
    個別に決定する制御ステップと、 前記イベント記憶ステップにおいて記憶した未処理のイ
    ベント群の中から前記第1の取出ステップまたは前記第
    2の取出ステップにおいて取り出されたイベントを入力
    データとし、イベント駆動型のアルゴリズムを用いてシ
    ミュレーション対象とする論理回路の信号状態の変化を
    算出し、算出した結果を表すイベントを、新たな未処理
    のイベントとして作成する回路動作計算ステップとを含
    むことを特徴とする論理シミュレーション方法。
  2. 【請求項2】制御ステップは、 予め決められた境界値を記憶する数値記憶ステップと、 各素子に対して、素子を表す値と、前記数値記憶ステッ
    プにおいて記憶した境界値との大小関係を比較する比較
    ステップと、 前記比較ステップにおける比較結果を用いて、第2の取
    出ステップを適用するか否かを素子ごとに個別に決定す
    る決定ステップとを含むことを特徴とする請求項1に記
    載の論理シミュレーション方法。
  3. 【請求項3】制御ステップは、 各素子に対する個別の制御情報を記憶する記憶ステップ
    と、 各素子に対して、前記記憶ステップにおいて記憶された
    制御情報を用いて、第2の取出ステップを適用するか否
    かを素子ごとに個別に決定する決定ステップとを含むこ
    とを特徴とする請求項1に記載の論理シミュレーション
    方法。
  4. 【請求項4】 シミュレーション対象とする論理回路に
    含まれる素子の入力端子および出力端子に発生する信号
    状態の変化を、信号状態の変化がいつ発生したかを表す
    イベント時刻と称する値と、信号状態がどういう状態に
    変化したかを表す値と、信号状態が変化した素子を表す
    値と、信号状態が変化した素子の入力端子または出力端
    子を表す値とを含むイベントと称するデータで表現し、
    入力端子の信号状態が変化した素子に対してのみ、その
    素子の出力端子の信号状態を新たに算出し、その出力端
    子の信号状態が変化した場合にのみ、その変化を表すイ
    ベントを新たに作成する、いわゆるイベント駆動型のア
    ルゴリズムを用いて、前記論理回路の動作を計算する論
    理シミュレーション装置であって、 現在のシミュレーション時刻を算出して出力する現在時
    刻出力部と、 未処理のイベント群を記憶するイベント記憶部と、 前記イベント記憶部から、現在のシミュレーション時刻
    と等しいイベント時刻を持つイベントを取り出す第1の
    取出部と、 素子の入力端子の信号状態の変化を表す未処理のイベン
    トを各素子ごとに独立して扱い、素子の全ての入力端子
    にその入力端子の信号状態の変化を表す未処理のイベン
    トが存在すれば、それらのイベントのうちでイベント時
    刻が最小であるイベントを取り出す第2の取出部と、 前記第2の取出部を機能させるか否かを素子ごとに個別
    に制御する制御部と、 前記イベント記憶部から前記第1の取出部または前記第
    2の取出部によって取り出されたイベントを入力データ
    とし、イベント駆動型のアルゴリズムを用いてシミュレ
    ーション対象とする論理回路の信号状態の変化を算出
    し、算出した結果を表すイベントを、前記イベント記憶
    部の新たな入力データとなる未処理のイベントとして出
    力する回路動作計算部とを具備することを特徴とする論
    理シミュレーション装置。
  5. 【請求項5】制御部は、 予め決められた境界値を記憶する数値記憶部と、 各素子に対して、素子を表す値と、前記数値記憶部に記
    憶された境界値との大小関係を比較し、比較結果を出力
    する比較部と、 前記比較部が出力した比較結果を用いて、第2の取出部
    を機能させるか否かを制御する制御信号を、素子ごとに
    個別に作成する制御信号作成部とを有する構成としたこ
    とを特徴とする請求項4に記載の論理シミュレーション
    装置。
  6. 【請求項6】制御部は、 各素子に対する個別の制御情報を記憶するメモリと、 前記メモリに記憶された制御情報を用いて、第2の取出
    部を機能させるか否かを制御する制御信号を、素子ごと
    に個別に作成する制御信号作成部とを有する構成とした
    ことを特徴とする請求項4に記載の論理シミュレーショ
    ン装置。
JP3298665A 1991-11-14 1991-11-14 論理シミユレーシヨン方法および論理シミユレーシヨン装置 Pending JPH05135130A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3298665A JPH05135130A (ja) 1991-11-14 1991-11-14 論理シミユレーシヨン方法および論理シミユレーシヨン装置
US07/975,841 US5426768A (en) 1991-11-14 1992-11-13 Logic simulation with efficient deadlock avoidance by selectively suspending event data fetch based on element information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3298665A JPH05135130A (ja) 1991-11-14 1991-11-14 論理シミユレーシヨン方法および論理シミユレーシヨン装置

Publications (1)

Publication Number Publication Date
JPH05135130A true JPH05135130A (ja) 1993-06-01

Family

ID=17862685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3298665A Pending JPH05135130A (ja) 1991-11-14 1991-11-14 論理シミユレーシヨン方法および論理シミユレーシヨン装置

Country Status (2)

Country Link
US (1) US5426768A (ja)
JP (1) JPH05135130A (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3099310B2 (ja) * 1993-03-15 2000-10-16 株式会社東芝 回路解析装置
CA2128673C (en) * 1993-09-08 1997-02-04 Naser Saleh Barghouti Open process control system
US5650947A (en) * 1994-01-31 1997-07-22 Fujitsu Limited Logic simulation method and logic simulator
US5856933A (en) * 1994-06-03 1999-01-05 University Of South Florida System and method for digital simulation of an electrical circuit
US5696942A (en) * 1995-03-24 1997-12-09 Sun Microsystems, Inc. Cycle-based event-driven simulator for hardware designs
GB2303230B (en) * 1995-07-13 1998-08-12 Advanced Risc Mach Ltd Digital circuit simulation
US5909566A (en) * 1996-12-31 1999-06-01 Texas Instruments Incorporated Microprocessor circuits, systems, and methods for speculatively executing an instruction using its most recently used data while concurrently prefetching data for the instruction
US5960188A (en) * 1997-03-13 1999-09-28 Delco Electronics Corporation Method for modeling electrical interconnections in a cycle based simulator
US6370493B1 (en) * 1998-09-10 2002-04-09 Lsi Logic Corporation Simulation format creation system and method
US6738737B1 (en) * 1999-02-18 2004-05-18 Cirrus Logic, Inc. Race condition ordering and functional verification system and method
US6625789B2 (en) * 2000-04-14 2003-09-23 Hitachi, Ltd. Computer-readable medium for recording interface specifications
US6813599B1 (en) * 2000-07-17 2004-11-02 Silicon Graphics, Inc. Efficient memory structure simulation for sequential circuit design verification

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0760169B2 (ja) * 1984-11-02 1995-06-28 三洋電機株式会社 論理回路のシミュレーション方法及びシミュレータ
JPS63278150A (ja) * 1987-05-08 1988-11-15 Matsushita Electric Ind Co Ltd 論理シミュレ−ション装置
JP2563451B2 (ja) * 1988-03-10 1996-12-11 松下電器産業株式会社 論理シミュレーション方法と論理シミュレーション装置
JP2583949B2 (ja) * 1988-03-10 1997-02-19 松下電器産業株式会社 論理シミュレーション方法と論理シミュレーション装置
JP2563513B2 (ja) * 1988-09-09 1996-12-11 松下電器産業株式会社 論理シュミレーション装置
US4985860A (en) * 1989-06-21 1991-01-15 Martin Vlach Mixed-mode-simulator interface
US5081601A (en) * 1989-09-22 1992-01-14 Lsi Logic Corporation System for combining independently clocked simulators

Also Published As

Publication number Publication date
US5426768A (en) 1995-06-20

Similar Documents

Publication Publication Date Title
US5243538A (en) Comparison and verification system for logic circuits and method thereof
JP2563451B2 (ja) 論理シミュレーション方法と論理シミュレーション装置
JPH05135130A (ja) 論理シミユレーシヨン方法および論理シミユレーシヨン装置
US5491639A (en) Procedure for verifying data-processing systems
JPH01230142A (ja) 論理シミュレーション方法と論理シミュレーション装置
US5909374A (en) System and method for verifying logic circuit based on signal line set affecting internal signal
US6321173B1 (en) System and method for efficient verification of functional equivalence between design models
US7783691B2 (en) Sharing of a logic operator having a work register
JP2723297B2 (ja) タイミング・ベリフィケーション処理方式
JP3037787B2 (ja) 論理シミュレーション方法及び論理シミュレーション装置
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JP3164055B2 (ja) 集積回路の遅延時間計算装置及び遅延時間計算プログラムを記録した記憶媒体
US20060282250A1 (en) Logic simulation method and system
JP2953405B2 (ja) 論理シミュレーションの高速化方法及び論理シミュレーション装置
JP3057797B2 (ja) ファジィ演算装置
JP2000241514A (ja) テストパターンの並列生成方法およびテストパターン生成装置
JP2785708B2 (ja) 論理シミュレーション方法
JP2729061B2 (ja) シミュレーション装置のゼロ遅延演算処理方式
JPH0764768A (ja) 絶対値累積加算装置
JP3087319B2 (ja) タイミング検証システム
JP2003242192A (ja) 論理回路検証支援システム
JPH04291429A (ja) 書換え規則デバッグ方式
JP2000200297A (ja) アナログ部品削除情報付与システム
JPH07334370A (ja) ファジィ推論装置
JPH0239376A (ja) 論理回路合成装置