JP3248753B2 - 組み合わせ論理回路の遷移表決定方法及び装置 - Google Patents

組み合わせ論理回路の遷移表決定方法及び装置

Info

Publication number
JP3248753B2
JP3248753B2 JP11816792A JP11816792A JP3248753B2 JP 3248753 B2 JP3248753 B2 JP 3248753B2 JP 11816792 A JP11816792 A JP 11816792A JP 11816792 A JP11816792 A JP 11816792A JP 3248753 B2 JP3248753 B2 JP 3248753B2
Authority
JP
Japan
Prior art keywords
input
logic
circuit
patterns
transition
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
JP11816792A
Other languages
English (en)
Other versions
JPH05256901A (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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of JPH05256901A publication Critical patent/JPH05256901A/ja
Application granted granted Critical
Publication of JP3248753B2 publication Critical patent/JP3248753B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、回路の論理機能を自動
的に判定するためのシステムに関するものであり、とり
わけ、未知の組み合わせ論理回路の真理値表を自動的に
判定したり、あるいは、未知の組み合わせ論理回路の出
力に出力遷移を生じさせる入力刺激を自動的に判定する
システムに関するものである。
【0002】
【従来の技術】特定の機能を実施するように集積回路の
設計を行う時、設計技師は、従来、その回路が所望の機
能を実施するのに必要な全ての素子及び相互接続につい
て明らかにした、企画の回路の概略図を描いてきた。概
略図からプロト・タイプの回路が組み立てられ、テスト
された。計算機援用設計(CAD)システムが出現する
前は、回路のプロト・タイプは、ワイヤ・ラッピング等
のような技法を用いて実際に組み立てられた。そうし
て、この回路にさまざまな組み合わせの入力信号(入力
ベクトル)を加え、オシロスコープのような装置で該回
路の出力をチェックすることによって、結果得られたプ
ロト・タイプ回路のテストが実施された。回路設計のエ
ラーは、出力が所望のものでない場合に発見され、設計
の欠陥または不適切な接続は、回路の概略図及びプロト
・タイプの配線を慎重に検査して、手動で突き止めるの
が普通であった。設計の欠陥または不適切な接続が発見
されると、プロト・タイプの回路を組み立て直して、再
テストが行われた。この回路設計のプロセスは、極めて
時間のかかる、退屈なものであり、従って、設計技師
は、回路の概略図を所望の機能を実施する回路に変換す
るためのさまざまな方法を捜し求めてきた。
【0003】計算機援用設計(CAD)システムによっ
て、設計技師は、この回路設計プロセスに関して大いに
助けられてきた。CADシステムによって、設計技師
は、コンピュータで回路概略図を作成し、回路基板上に
実現するための回路をレイアウトし、論理シミュレーシ
ョン技法を利用して回路のテストを行うことが可能にな
る。従って、論理シミュレータによって、設計技師は、
実際にプロト・タイプを組み立てなくても、企画の回路
設計をテストすることが可能になる。これは、設計技師
が、論理シミュレータに対する入力として、回路の素子
及びノードを指定し、また、そのノードで期待される特
定の入力についての信号を指定することによって行われ
る。この情報は、回路の概略図から直接決定され、入力
ファイルとして論理シミュレータに入力されるのが普通
である。論理シミュレータは、このデータを企画の回路
モデルで実行し、シミュレートされた回路の出力を発生
する。しかし、こうした論理シミュレータは、その回路
を特徴づける挙動モデルの利用ができない、従って、回
路の概略図から回路設計をテストするためのシミュレー
ション入力ベクトルを自動的に抽出することができない
という点で、限界がある。それどころか、設計技師は、
苦労してシミュレーション・モデルを設計して、実現
し、入力ベクトル・ファイルを生成しなければならなか
った。
【0004】上述のタイプの論理シミュレータの例とし
ては、スイッチ・レベルの論理シミュレータがある。ス
イッチ・レベルの論理シミュレータには、論理シミュレ
ータが、双方向性スイッチによってモデル化された回路
の動作を完全にシミュレートできるようにする、ノード
評価アルゴリズムを含むことができる。従って、スイッ
チ・レベルの論理シミュレータは、回路設計の重要なツ
ールである。というのも、設計技師が、古典的な論理ゲ
ートの利用を中止し、動的な論理ゲートすなわちトラン
スファ論理ゲートの利用を開始する場合、必ず、スイッ
チ・レベルの論理シミュレータが必要になるからであ
る。これは、従来の論理シミュレータでは、非古典的な
トランジスタ接続間において生じる複雑な相互作用の全
てをモデル化できないためである。従って、本書の解説
は、スイッチ・レベルの論理シミュレータを含むシステ
ムをめざしたものである。
【0005】回路モデルは、シミュレーションの実施が
可能になる前に、設計技師によって生成されなければな
らない。この意味するところは、回路設計のための全て
の素子、相互接続、及び、ノードをまとめて、論理シミ
ュレータに受け入れることの可能なフォーマットをなす
入力データ・ファイルに変換しなければならないという
ことである。一般に、入力データ・ファイルには、その
設計におけるどのトランジスタについても1つの項目を
有するファイルが含まれており(この場合、ノード番号
を利用してファイルを既述することができる)、また、
信号名のマッピングに対するノード番号を納めたファイ
ルも含まれている。このモデルは、入力ファイルを直接
論理シミュレータにロード可能な2進データ・ベースに
変換することによって生成される。換言すれば、論理シ
ミュレータは、入力データ・ファイルを読み取り、回路
モデルの連結性を表したメモリ・ベースのデータ構造に
フォーマット化する。このデータ構造は、ファイルとし
て論理シミュレータに記憶され、論理シミュレータ・デ
ータ・ベースと呼ばれる。
【0006】回路モデル以外にも、入力刺激の入力ベク
トル・ファイルを生成して、回路モデルの動作をシミュ
レートできるようにする必要がある。入力ベクトル・フ
ァイルには、所望の入力刺激パターン及び論理シミュレ
ータ制御指令の全てを含む必要がある。入力ベクトル・
ファイルには、回路モデルの所望の挙動を予測する出力
肯定を含むことも可能である。入力ベクトル・ファイル
に出力肯定を含むことによって、1組の入力ベクトルが
回帰テストの働きをし、シミュレーション実行の後処理
を大幅に簡略化することが可能になる。
【0007】論理シミュレータが実行されると、2つの
出力ファイルが生成されるのが普通である。第1のファ
イルは、シミュレータ・リスト・ファイルであり、第2
のファイルは、生データ・ファイルである。シミュレー
タ・リスト・ファイルは、一般に、シミュレータの生成
する状況メッセージ及び肯定の失敗をリストにしたAS
CIIファイルである。一方、生データ・ファイルは、
一般に、シミュレーションの全時間ステップについて論
理シミュレーション・モデルの全てのノードに関するノ
ード遷移を含む、非ASCIIファイルである。生デー
タ・ファイルは、論理シミュレータ後処理プログラムに
よって、任意の時間期間に要求されるノードを表示する
ために用いられる。すなわち、後処理プログラムは、生
データ・ファイルをユーザが検分できる書式に翻訳す
る。ユーザは、どの信号及びどの時間ステップを表示す
るかについて制御可能であることが望ましい。
【0008】さらに、論理シミュレータには、特定の時
点における全てのノードの値を納めたファイルを含むこ
とができる。このファイルは、シミュレーションを既知
の状態にリセットするために用いることが可能であり、
一般に、入力ベクトル・ファイルを開発して、シミュレ
ーションを通じて繰り返し復元することのできるリセッ
ト状態といった、回路モデルの状態を保管する場合に用
いられる。既知の時点に再開する能力によって、入力ベ
クトル・ファイルの開発プロセスが容易になる。
【0009】ただし、シミュレートされた論理設計をテ
ストするための入力ベクトル・ファイルの開発は、極め
て、困難で、退屈なプロセスである。入力ベクトル・フ
ァイルは、設計技師が、手動で、真理値表に従って回路
を励起するのに必要な入力ベクトルを指定することによ
って、生成される。換言すれば、設計技師は、回路の真
理値表のうち特定のシミュレーションによってテストす
べき部分を指定しなければならないし、また、回路のキ
ャパシタンス、伝搬遅延等を考慮に入れて、シミュレー
ションが正確に行われるように、必要な入力ファイルを
作成しなければならなかった。このプロセスでは、設計
技師の側において試行錯誤を必要とし、設計技師は、各
入力刺激毎に適正なシミュレーション出力応答を想定す
る必要がある。これは、組み合わせ論理回路の論理が未
知の場合、実際上不可能である。
【0010】
【発明の目的】本発明の目的は、シミュレートすべきデ
ジタル回路(または、未知の組み合わせによる論理回
路)の真理値表及び入力ベクトルを自動的に判定して、
ユーザが回路設計のテストまたは回路の真理値表の判定
のため、入力値を指定する必要がないようにすることで
ある。本発明の他の目的は、真理値表を自動的に判定
し、シミュレートされる回路を動作状態に励起する1組
のテスト・ベクトルを自動的に生成し、ユーザが入力を
指定しなくても済むようにするシステムを開発すること
である。
【0011】
【発明の概要】先行技術における上述の問題は、本発明
に従って、ユーザが真理値表または遷移表を指定するこ
とを必要とせず、論理シミュレータでシミュレートされ
る組み合わせ論理回路の真理値表または遷移表を自動的
に判定するシステムを開発することによって克服され
た。これは、論理回路が未知の論理機能を有している場
合に特に有効であり、論理シミュレータと連絡をとり、
シミュレートされる論理回路を励起して動作状態にす
る、1組の入力ベクトル(入力刺激)を与えるシステム
を設けることによって実現する。すなわち、本発明で
は、回路の入力及び出力のリストから、入力空間に完全
な1組の2進ベクトルを生成し、これらを論理シミュレ
ータに送り、論理シミュレータから出力ベクトルの状態
を検査して、どの入力・出力経路が存在するかを判定す
る。このプロセスが自動的に実施されるので、本発明を
利用することによって、先行技術のCADシミュレーシ
ョン技法によってこれまで可能であったものに比べて、
より完全な結果を得ることが容易になる。従って、本発
明によって、集積回路の設計、テスト、及び、特性表示
が設計技師にとって大幅に容易になる。
【0012】望ましい実施例の場合、本発明のシステム
は、下記のステップを実行することによって、論理シミ
ュレータを利用する回路の論理機能を自動的に判定す
る:回路に関する入出力ポートの情報を入力データとし
て受信するステップ、及び、回路の各入力ポートのそれ
ぞれについて、また、それぞれの入力ポート以外に、回
路の入力ポートの各入力論理パターンのそれぞれについ
て、(a)それぞれの入力論理値を入力ポートに加え、
入力論理値を含む入力論理パターンに関して回路の出力
ポートにおける論理値をシミュレートするステップと、
(b)出力ポートにおける論理値のどれかが、入力ポー
トに加えられるさまざまな入力論理値に関するそれぞれ
のシミュレーション間において状態を変化させるか否か
を判定し、変化させる場合には、入力論理パターン、対
応する入力論理状態の遷移、及び、対応する出力論理状
態の遷移のうち少なくとも1つをメモリに保管するステ
ップと、を実施するステップ。また、本発明の方法に
は、さらに、論理シミュレータの出力から回路のそれぞ
れの各入力ポートとそれぞれの各出力ポートの間に入力
・出力経路が存在するか否かを判定するステップが含ま
れている。また、本発明の方法には、さらに、メモリに
記憶されている入力論理状態の遷移を区分的線形波形に
変換するステップと、回路の出力波形のシミュレーショ
ンのため、区分的線形波形をアナログ・シミュレータに
加え、これによって、回路の入力・出力間遅延の測定を
可能にするステップを含めることが望ましい。
【0013】本発明の方法は、指定の入力に応答し、予
測される回路の出力をシミュレートする論理シミュレー
タ、できれば、スイッチレベルの論理シミュレータと、
回路に関する入出力ポートの情報を入力データとして提
供する手段と、遷移データ・メモリと、遷移表判定手段
から構成されるシステムによって実現する。本発明の遷
移表判定手段は、回路のそれぞれの各入力ポート毎に、
及び、それぞれの入力ポート以外に、回路の入力ポート
のそれぞれの各入力論理パターン毎に、出力ポートにお
ける論理値のどれかが、入力ポートに加えられるさまざ
まな入力論理値に関するそれぞれのシミュレーション間
において状態を変化させるか否かを判定し、変化させる
場合には、入力論理パターン、対応する入力論理状態の
遷移、及び、対応する出力論理状態の遷移のうち少なく
とも1つをメモリに保管する。望ましい実施例の場合、
遷移表判定手段には、回路のそれぞれの各入力ポート毎
に、及び、それぞれの入力ポート以外に、回路の入力ポ
ートのそれぞれの各入力論理パターン毎に、(a)入力
ポートの入力論理値を第1の論理レベルにセットし、入
力論理値を含む入力論理パターンに関して、回路の出力
部分における論理値をシミュレートするように論理シミ
ュレータに命令するステップと、(b)入力ポートの入
力論理値を第2の論理レベルにセットし、入力論理値を
含む入力論理パターンに関して、回路の出力部分におけ
る論理値をシミュレートするように論理シミュレータに
命令するステップと、(c)出力ポートにおける論理値
のどれかが、(a)と(b)のステップのシミュレーシ
ョン間において状態を変化させるか否かを判定し、変化
させる場合には、入力論理値を含む入力論理パターン、
対応する入力論理状態の遷移、及び、対応する出力論理
状態の遷移を遷移データ・メモリに保管するステップ
と、(d)入力ポートの入力論理値を第1の論理レベル
に戻し、入力論理値を含む入力論理パターンに関して、
回路の出力部分における論理値をシミュレートするよう
に論理シミュレータに命令するステップと、(e)出力
ポートにおける論理値のどれかが、(b)と(d)のス
テップのシミュレーション間において状態を変化させる
か否かを判定し、変化させる場合には、入力論理値を含
む入力論理パターン、対応する入力論理状態の遷移、及
び、対応する出力論理状態の遷移を遷移データ・メモリ
に保管するステップとを実施するための処理手段が含ま
れる。
【0014】こうしたシステムによれば、設計技師は、
どの入力ベクトルが回路モデルの出力を変化させるかを
別個に判定する必要はない。これは、自動的に行われる
ので、かなりの回路設計時間量を節約することが可能で
ある。
【0015】
【実施例】本発明の現在のところ望ましい実施例に従っ
て、上述の及びその他の有益な特徴を提供するシステム
及び方法について、図1〜図4に関連して以下に述べる
ものとする。当該技術の熟練者には容易に明らかなよう
に、本書に示す解説は、例示を目的としたものでしかな
く、いかなる点においても、本発明の範囲を制限しよう
とするものではない。従って、本発明の範囲に関する全
ての問題は、付属の請求項を参照することによって解決
するのが望ましい。
【0016】図1には、本発明に従って、スイッチ・レ
ベルの論理シミュレータによってテストされることにな
る組み合わせ論理回路の概略が示されている。図示のよ
うに、テストされる回路の回路論理100は、複数の入
力I1 〜I3 と複数の出力O1 及びO2 を備えている。
もちろん、回路の所望の機能に従って、もっと多くの入
力及び出力を用いることも可能である。この回路の論理
シミュレータ・モデルは、既知の技法に従い、入力I1
〜I3 にさまざまな入力論理パターンを加えることによ
って、シミュレートされ、さらに、テストされる。こう
して、これらの入力パターンは、回路論理100に対す
る外部環境を有効にシミュレートする。結果生じる出力
O1 及びO2 に加えて、回路論理100内のノードにお
ける他の値も、論理シミュレータによって決定され、設
計技師は、論理シミュレータによって戻される値に基づ
いて、回路が適正に設計されたか否か、あるいは、再設
計が必要か否かの判定を行うことができる。
【0017】図2に示すように、回路論理100のモデ
ル化に備えて、回路論理100に関するシミュレーショ
ン・モデル200が、スイッチ・レベルの論理シミュレ
ータ202に入力される。回路論理100をテストする
ための入力刺激が、UNIXソケットのような通信イン
ターフェイスを介してスイッチ・レベルの論理シミュレ
ータ202に入力される。通信ソケットは、本件と同じ
日に、同じ譲受人によって提出された、参考までに本書
に組み込まれている、関連する米国特許出願第07/6
84,539号(ドケット番号190297)において
Craig Heikesによって解説されているタイ
プが望ましい。通信ソケットは、本発明の技法に基づき
真理値表(ベクトル)生成器206によってファイル2
04で得られる、入力ポートI[1、...、N]及び
出力ポートO[1、...、M]から決められた入力刺
激を加える。換言すれば、さらに詳細に後述するよう
に、回路論理100の入出力ポートは、データ・ファイ
ル204として入力され、本発明の真理値表(ベクト
ル)生成器206は、ファイル204のデータから、回
路論理100のそれぞれの入力について入力論理パター
ンと対応する入力論理状態遷移を自動的に判定し、スイ
ッチ・レベル論理シミュレータ202から回路論理10
0の出力において対応する論理状態を受信する。すなわ
ち、スイッチ・レベルの論理シミュレータ202が、真
理値表生成器206からの入力刺激に応答し、その出力
において論理状態の遷移を発生する場合、これは、真理
値表生成器206によって検出され、遷移表に記録され
る。設計技師またはコンピュータは、遷移表から、どの
入力がどの出力を変化させるか、従って、どの入力が回
路経路を介して特定の出力ポートに接続されているかを
判定することができる。
【0018】当該技術の熟練者には周知のように、シミ
ュレーション・モデル200によって、回路論理100
をトランジスタ・レベルで異なるノードとして表す回路
モデルが得られる。スイッチ・レベルの論理シミュレー
タ202は、このモデルから、回路論理100を通る敏
感な経路を判定する。すなわち、スイッチ・レベルの論
理シミュレータ202は、どの入力が出力を変化させる
かを判定するため、シミュレーション・モデル200に
特定の入力刺激を加え、その結果を真理値表生成器20
6に対して出力する。
【0019】明細書の背景の部分で述べたように、スイ
ッチ・レベルの論理シミュレータ202は、ノードを接
続する双方向性トランジスタによって、回路論理100
の完全なモデル化を可能ならしめる。望ましい実施例の
場合、シミュレートされる回路論理100の入力ノード
は、1対の配列された状態及び強度として表される。例
えば、ノードの状態は、0、1、Xのいずれかでよく
(かまわない)、一方、ノードの強度は、整数で表すこ
とができる。しかし、スイッチ・レベルの論理シミュレ
ータ202は、当該技術の熟練者にとって周知のところ
であるため、ここでは、特定のスイッチ・レベルの論理
シミュレータ202に関する説明は行わない。それどこ
ろか、当該技術の通常の技能者であれば明らかなよう
に、本発明の重要性は、ユーザが入力刺激を指定しなく
ても、あるいは、テストを受ける回路の回路論理を知ら
なかったとしても、スイッチ・レベルの論理シミュレー
タ202に関する入力刺激を自動的に判定できるという
点にある。入力刺激は、もちろん、異なる論理シミュレ
ータに対する入力については別様にフォーマット化され
る。換言すれば、本書に解説の技法の重要性は、シミュ
レートされる回路論理100を励起して、動作状態にす
るテスト・ベクトルが、時間を浪費するユーザの介入が
なくても、自動的に計算できるという点にある。次に、
本発明のこの態様について、図3及び図4に関連してさ
らに詳述する。 図3及び図3は、共に、本発明の
技法に従って、スイッチ・レベルの論理シミュレータ2
02に関する入力刺激を計算するための流れ図を示した
ものである。こうしたフロー・チャートは、内部メモリ
を持たない既知または未知の組み合わせ論理回路100
の論理状態を判定するのに利用するのが望ましいが、当
該技術の熟練者には、明らかなように、修正を加えれ
ば、内部メモリを備えた回路に対して本発明の技法を適
用することも可能である。本発明によれば、設計技師
が、複数の入力を備えた組み合わせ論理回路の場合には
極めて退屈な、可能性のある全ての入力論理状態に対す
る処理を行わなうことを必要とせずに、回路論理100
の真理値表と遷移表の両方または一方を自動的に判定す
ることが可能である。代わりに、本発明では、入力空間
を徹底的に探索して、どの組み合わせの入力によって出
力に変化が生じるかを確かめることによって、全ての入
力状態がチェックされる。こうした包括的な技法は、こ
れまで、先行技術では不可能であった。
【0020】従って、図3及び図3に示すプロセス
によって、設計技師は、手動でどの入力が出力を変化さ
せるかを確かめなくても、論理シミュレータに命令を与
えるだけで、論理シミュレータ・モデルにおける回路の
概略図から入力ブロックの特性を明らかにすることが可
能になる。次に、結果生じる遷移データを利用して、回
路論理100にテストを施し、回路が適正に設計されて
いるか否かの判定を行うこともできるし、あるいは、そ
の逆に、入力刺激を利用して、未知の回路の論理機能の
判定に役立てることも可能である。図3及び図3
プロセスを利用して、回路論理100の特性を明らかに
するのに用いられる経路を識別し、その入力から出力ま
での遅延を判定することも可能である。例えば、後述の
技法に従って、励起ベクトルを生成し、関連する各パラ
メータ値毎にシミュレーションを実行して、入力・出力
間における遅延を測定することもできる。抽出された遅
延データは、当該技術の熟練者には周知の技法に従っ
て、所望の式に組み込むことができる。
【0021】図3及び図3に示すように、ベクトル
生成器206は、ステップ300で開始して、ステップ
302で入力データ・ファイル204から入力ノードI
[1、...N]及び出力ノードO[1、...M]を
読み取ることによって、スイッチ・レベルの論理シミュ
レータ202に対する入力刺激を計算する。また、必要
に応じて、ファイル204からシミュレートされる回路
の電源データを読み取ることも可能である(例えば、入
力ファイル204は、VDDが5Vであると指定すること
ができる)。次に、既知の技法に従って、ベクトル生成
器206とスイッチ・レベルの論理シミュレータ202
の間で通信ソケットの接続が開く。次に、論理シミュレ
ータ202の初期設定が行われ、シミュレートされる回
路の電源がセット・アップされる(ステップ304)。
【0022】さらに、プロセスは、各入力i毎にループ
に入って、出力に遷移を生じさせる入力パターンを判定
する。従って、入力カウンタiは、第1の入力I[i]
に関して1に等しくなるようにセットされる(ステップ
306)。次に、ステップ308において、回路論理1
00の残りの入力(I[i]以外の)に関する第1のパ
ターンに対応する値「p」が入力される。次に、第1の
入力に関する生成値が、ステップ310において低い論
理状態(「0」)に等しくなるようにセットされ、第1
のパターンpと共に論理シミュレータ202に送られ
る。論理シミュレータは、次に、対応するノード及び出
力値のシミュレーションに進み、これらの値は、通信ソ
ケットを介してベクトル生成器206に戻され、記憶さ
れる(ステップ312)。次に、ステップ314におい
て、入力値が高い論理状態(「1」)に変化し、再び、
第1のパターンpと共に論理シミュレータ202に送ら
れる。論理シミュレータ202は、再び、該入力に関し
て対応するノード値及び出力をシミュレートし、通信ソ
ケットを介して、対応する値をベクトル生成器206に
戻す。これらの値は、次に、記憶される(ステップ31
6)。さらに、ステップ318において、ステップ31
2及び316で論理シミュレータ202から戻された出
力値が、異なる値であるか否かが、従って、現在の入力
I[i]の立ち上がり区間で出力に変化があったか否か
が判定される。ステップ318において出力値に変化が
検出されると、ステップ320において、現在の入出力
値及び入出力遷移値がメモリに書き込まれる。検出され
なければ、制御は、直接、ステップ322に進み、現在
の入力I[i]に関する入力状態が低い論理レベル
(「0」)に戻される。I[i]及びpを含む入力値
が、再び、シミュレータのため論理シミュレータ202
に送られる。前と同様、論理シミュレータ202の出力
は、通信ソケットを介してベクトル生成器に戻され、記
憶される(ステップ324)。次に、ステップ326に
おいて、ステップ316及び324で戻された出力値
が、異なる値であるか否かが、従って、現在の入力値I
[i]の立ち下がり区間で少なくとも出力値の1つに変
化があったか否かが判定される。こうした変化が検出さ
れると、ステップ328において、現在の入出力値及び
入出力遷移値がメモリに書き込まれる。検出されなけれ
ば、制御は、直接、ステップ330に進み、現在の入力
パターンpが最後のパターンであるか否かの判定が行わ
れる。入力パターンpが最後のパターンでなければ、ス
テップ332において、pは、次のパターンに等しくな
るようにセットされ、ステップ310〜330が繰り返
される。このプロセスは、 N-1 の入力パターンpのそ
れぞれのついて繰り返されるが、ここで、Nは、回路論
理100の入力部分の総数である。ただし、ステップ3
30において、現在の入力パターンpが特定の入力iに
関する最後のパターンである場合、ステップ334にお
いて、入力iは、次の入力(i+1)にインクリメント
される。次に、ステップ336において、前に処理され
た入力iが最後の入力であったか否かが判定され、最後
の入力であれば、ステップ338において、論理シミュ
レータ202に対するソケット接続が閉じ、ステップ3
40において、処理が終了する。最後の入力でなけれ
ば、回路論理100に対する残りの各入力iについて、
ステップ308〜334が繰り返される。
【0023】次に、図3及び図3におけるベクトル
生成器206の動作の例について、図4に関連して解説
する。図4には、図3及び図3のプロセスが、2つ
の出力O[1:2]を備えた、3入力[1:3]の相補
形出力NANDゲートに適用された場合に生じる入出力
値が示されている(真理値表)。図4に示すように、入
力i(列1)は、テストを受ける現在の入力に相当し
(i=1、2、または、3)、一方、p(列2)は、他
の入力に関して可能性のあるさまざまな論理パターンに
相当する(3入力論理回路の場合、pは、入力i毎に
3-1 =4の組み合わせを有している。図4の列3に示す
ように、I[i]は、図示のように、各入力パターンp
毎に低から高へ、さらに、低へと変化する、現在の入力
i及びパターンpに対する論理レベル(0または1)に
相当する。図4の列4には、3入力(p及びI[i])
について結果生じる入力パターンが示されており、列5
には、対応する2つの出力値O[1:2]が示されてい
る。図4の例でテストを受ける回路は、3入力の相補形
出力NANDゲートであるので、2つの出力値は、3つ
の入力値のうち2つが高で、もう1つの状態が変化する
場合に限って、状態を変化させる。従って、図4の最も
右側の列(列6)に示すように、出力値における立ち上
がり区間「^」または立ち下がり区間「v]の生じるの
は、入力の1つが、状態を変化させるが、他の2つの入
力の値は、高という場合に限られる。相補形出力NAN
Dゲートについては、以上のことが予測される。従っ
て、他の入力組み合わせは、無視して、回路論理100
をテストするための遷移表として、入力組み合わせ[X
11]、[1X1]、及び、[11X](ここで、X
は、0から1、または、1から0への遷移である)だけ
しか入力する必要がないようにすることが可能である。
論理シミュレータ202は、これらの入力刺激から論理
回路が適正に設計されているか否かを判定することが可
能になる、すなわち、ユーザの入力がなくても、未知の
回路の真理値表及び遷移表を自動的に判定することがで
きる。
【0024】もちろん、当該技術の熟練者には明らかな
ように、入力論理遷移は、望ましい実施例に示す「0−
1−0」ではなく「1−0−1」とすることも可能であ
る。さらに、当該技術の熟練者には明らかなように、回
路設計がさらに複雑になれば、遷移表及び真理値表がさ
らに複雑になる。ただし、当該技術の熟練者には、やは
り、明らかなように、回路の設計が複雑になればなるだ
け、本発明によって設計技師が助けられる度合いも増す
ことになる。
【0025】上記の技法には、アクティビティの高い遷
移測定を含むことも可能であり、これによって、全ての
入力が0にセットされ、論理シミュレータ202が進め
られた後、全ての入力が1にセットされ、論理シミュレ
ータ202が再び進められる。こうしたシミュレーショ
ン時に出力信号に変化が生じると、入力値及び出力遷移
値を保管して、高電力使用遷移であることを示すことが
できる。次に、全ての入力を0に変更し、再びシミュレ
ーションを実施して、出力に変化を生じたか否かを判定
することができる。
【0026】本発明による回路設計プロセスは、下記ス
テップに簡略化することができる。既知の技法に従っ
て、回路論理100に関する回路概略図が作成され、集
積回路のレイアウトが行われる。次に、回路抽出プロセ
スが実施され、回路設計及び決められた相互接続に従っ
て、トランジスタの位置決めが行われる。ノード情報を
納めた出力ファイルが生成される。このファイルは、適
正にフォーマット化され、シミュレーション・モデル2
00として論理シミュレータ202に入力される。次
に、本発明の技法に従って、可能性のある各入力組み合
わせ毎に、入力刺激(入力ベクトル)が加えられ、論理
シミュレータ202が進められ、入力をシミュレートさ
れる回路の出力へ伝搬することが可能になる。シミュレ
ートされる回路の出力が整定されると、所定のノードの
値及び回路論理100の出力状態が判定される。出力遷
移を生じさせる入力遷移が、記録される。次に、結果生
じる入力遷移ベクトルを利用し、既知のCADシミュレ
ーション技法に従って、回路論理100の設計をテスト
することができる。
【0027】当該技術の熟練者には明らかなように、本
発明の技法では、各入力毎に、全ての入力組み合わせに
ついて、低−高−低の遷移か、あるいは、高−低−高の
遷移かを確かめるため、3N・ N-1 のシミュレーショ
ン・ステップが必要になる。従って、本発明の技法で
は、入力空間において全ての状態を徹底的に探索し、ど
の入力によって出力が変化するかを判定することが可能
である。当該技術の技術者には明らかなように、本書に
解説の本発明の実施例が有効なのは、単一の入力によっ
て、1つ以上の出力に変化が生じる場合に限られる。し
かしながら、当該技術の熟練者には、さらに、明らかな
ように、本発明は、複数の入力によって、1つ以上の出
力に変化が生じる状況を取り扱うように拡張することも
可能である。
【0028】また、当該技術の技術者には明らかなよう
に、本発明の技法に従って確定される入出力ベクトルを
区分的線形波形に変換し、アナログ・シミュレータに加
えて、回路論理100の出力波形をシミュレートするこ
とも可能である。例えば、アナログ・シミュレータは、
トランジスタのサイズ、キャパシタンス、及び、連結性
情報を利用して、回路論理100のトランジスタをモデ
ル化し、出力波形から、回路論理100によって生じる
遅延を確認することも可能である。
【0029】以上で、本発明の典型的な実施例に関する
説明を終えるが、当該技術の熟練者には容易に明らかに
なるように、本発明の新規の教示及び利点を余り逸脱す
ることなく、典型的な実施例に多くの修正を追加するこ
とが可能である。例えば、本発明と回路の概略図から自
動的に抽出されるシミュレーション・モデルを組み合わ
せることによって、ユーザが介在しなくても、シミュレ
ーションを完全に進めることができるようにすることも
可能である。
【0030】
【発明の効果】以上説明したように、本発明を用いるこ
とにより、ユーザが回路設計のテストまたは回路の真理
値表の判定のため、入力値を指定することが不必要とな
る。
【図面の簡単な説明】
【図1】本発明の技法によるシミュレーションによって
その論理がテストされる、3入力および2出力を有する
サンプル回路を示す図である。
【図2】本発明の技法に従って回路の論理機能を判定す
るシステムを概略的に示す図である。
【図3A】図2の実施例における入力ベクトル生成器2
06の流れ図である。
【図3B】図2の実施例における入力ベクトル生成器2
06の流れ図である。
【図4】3入力相補形出力NANDゲートを特性化する
場合の、本発明のシステムにより自動的に生成される真
理値表および遷移表の例を示す図である。
【符号の説明】
200:シミュレーション・モデル 202:スイッチ・レベルの論理シミュレータ 206:真理値表(ベクトル)生成器
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 399117121 395 Page Mill Road Palo Alto,Californ ia U.S.A. (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 670 G01R 31/28 G06F 11/22 - 11/26 JICSTファイル(JOIS)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】論理シミュレータによってシミュレートさ
    れる組み合わせ論理回路の遷移表決定システムが実行す
    遷移表自動決定方法であって、 前記回路に関する入出力ポート情報を入力データとして
    前記論理シミュレータに供給するステップと、 前記回路の各入力ポートに対し、および、該各入力ポー
    ト以外の前記回路の入力ポートに印加される入力論理パ
    ターンの全ての組の各入力論理パターンに対し、 (a)前記各入力ポートに第1および第2の入力論理値
    を印加し、該第1および第2の入力論理値をそれぞれ含
    む第1および第2の入力論理パターンに対する、前記回
    路の出力ポートにおける論理値を前記論理シミュレータ
    を用いてシミュレートし、 (b)前記各入力ポートに印加される前記第1の入力論
    理値を含む前記第1の入力論理パターンに対するシミュ
    レーションと、前記各入力ポートに印加される前記第2
    の入力論理値を含む前記第2の入力論理パターンに対す
    るシミュレーションとの間で、前記出力ポートにおける
    論理値のいずれかの状態が変化するかどうかを判定し、 (c)前記出力ポートにおける論理値のいずれかの状態
    が前記ステップ(b)において変化する場合、メモリ内
    の遷移表に、(1)前記第1および第2の入力論理パタ
    ーン、(2)前記第1および第2の入力論理パターンに
    関する入力論理状態の遷移、および、(3)前記第1お
    よび第2の入力論理パターンの印加によって引き起こさ
    れる出力論理状態の遷移、のうちの少なくとも1つを記
    憶する、 ステップと、 を備えて成る方法。
  2. 【請求項2】論理シミュレータによってシミュレートさ
    れる組み合わせ論理回路の遷移表決定システムが実行す
    遷移表自動決定方法であって、 前記回路に関する入出力ポート情報を入力データとして
    前記論理シミュレータに供給するステップと、 前記回路の各入力ポートに対し、および、該各入力ボー
    ト以外の前記回路の入力ポートに印加される入力論理パ
    ターンの全ての組の各入力論理パターンに対し、 (a)前記各入力ポートの入力論理値を第1の論理レベ
    ルに設定し、該第1の論理レベルの前記入力論理値を含
    む第1の入力論理パターンに対する、前記回路の出力ポ
    ートにおける論理値を前記論理シミュレータを用いてシ
    ミュレートし、 (b)前記各入力ポートの入力論理値を第2の論理レベ
    ルに設定し、該第2の論理レベルの前記入力論理値を含
    む第2の入力論理パターンに対する、前記回路の出力ポ
    ートにおける論理値を前記論理シミュレータを用いてシ
    ミュレートし、 (c)前記ステップ(a)のシミュレーションと前記ス
    テップ(b)のシミュレーションとの間で前記出力ポー
    トにおける論理値のいずれかの状態が変化するかどうか
    を決定し、変化する場合は、メモリ内の遷移表に、前記
    第1および第2の入力論理パターン、該第1および第2
    の入力論理パターン間の入力論理状態の遷移、および、
    前記第1および第2の入力論理パターンの印加によって
    引き起こされる出力論理状態の遷移、を記憶し、 (d)前記各入力ポートの入力論理値を前記第1の論理
    レベルに戻し、前記第1の論理レベルの前記入力論理値
    を含む前記第1の入力論理パターンに対する、前記回路
    の出力ポートにおける論理値を前記論理シミュレータを
    用いてシミュレートし、 (e)前記ステップ(b)のシミュレーションと前記ス
    テップ(d)のシミュレーションとの間で前記出力ポー
    トにおける論理値のいずれかの状態が変化するかどうか
    を決定し、変化する場合は、前記メモリ内の遷移表に、
    前記第1および第2の入力論理パターン、前記第1およ
    び第2の入力論理パターン間の入力論理状態の遷移、お
    よび、前記第1および第2の入力論理パターンの印加に
    よって引き起こされる出力論理状態の遷移を記憶する、 ステップと、 を備えて成る方法。
  3. 【請求項3】組み合わせ論理回路の遷移表を決定する装
    置であって、 指定された入力に応答して前記回路の期待出力をシミュ
    レートする論理シミュレータと、 前記回路に関する入出力ポート情報を入力データとして
    供給する手段と、 遷移データメモリと、 前記回路の各入力ポートに対し、および、該各入力ポー
    ト以外の前記回路の入力ポートに印加される入力論理パ
    ターンの全ての組の各入力論理パターンに対し、前記各
    入力ポートに印加される第1の入力論理値を含む第1の
    入力論理パターンに対して前記論理シミュレータによっ
    て実行されたシミュレーションと、前記各入力ポートに
    印加される第2の入力論理値を含む第2の入力論理パタ
    ーンに対して前記論理シミュレータによって実行された
    シミュレーションとの間で前記回路の出力ポートにおけ
    る論理値のいずれかの状態が変化するかどうかを決定
    し、変化する場合は、前記遷移データ・メモリに、
    (1)前記第1および第2の入力論理パターン、(2)
    前記第1および第2の入力論理パターンに関する入力論
    理状態の遷移、および、(3)前記第1および第2の入
    力論理パターンの印加によって引き起こされる出力論理
    状態の遷移、のうちの少なくとも1つを有する遷移表を
    記憶する遷移表決定手段と、 を備えて成る装置。
  4. 【請求項4】ユーザにとって未知の組み合わせ論理回路
    を論理シミュレータによってシミュレートする遷移表決
    定システムが実行する遷移表自動決定方法であって、 前記回路に関する入出力ポート情報を入力データとして
    前記論理シミュレータに供給するステップと、 前記回路の各入力ポートに対し、および、該各入力ポー
    ト以外の前記回路の入力ポートに印加される入力論理パ
    ターンの全ての組の各入力論理パターンに対し、 (a)前記各入力ポートに第1および第2の入力論理値
    を印加し、該第1および第2の入力論理値をそれぞれ含
    む第1および第2の入力論理パターンに対する、前記回
    路の出力ポートにおける論理値を前記論理シミュレータ
    を用いてシミュレートし、 (b)前記各入力ポートに印加される前記第1の入力論
    理値を含む前記第4の入力論理パターンに対するシミュ
    レーションと、前記各入力ポートに印加される前記第2
    の入力論理値を含む前記第2の入力論理パターンに対す
    るシミュレーションとの間で、前記出力ポートにおける
    論理値のいずれかの状態が変化するかどうかを決定し、 (c)前記出力ポートにおける前記論理値のいずれかの
    状態が前記ステップ(b)において変化する場合、メモ
    リ内の遷移表に、(1)前記第1および第2の入力論理
    パターン、(2)前記第1および第2の入力論理パター
    ンに関する入力論理状態の遷移、および、(3)前記第
    1および第2の入力論理パターンの印加によって引き起
    こされる出力論理状態の遷移、のうちの少なくとも1つ
    を記憶する、 ステップと、 を備えて成る方法。
JP11816792A 1991-04-11 1992-04-10 組み合わせ論理回路の遷移表決定方法及び装置 Expired - Fee Related JP3248753B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68394991A 1991-04-11 1991-04-11
US683949 1991-04-11

Publications (2)

Publication Number Publication Date
JPH05256901A JPH05256901A (ja) 1993-10-08
JP3248753B2 true JP3248753B2 (ja) 2002-01-21

Family

ID=24746112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11816792A Expired - Fee Related JP3248753B2 (ja) 1991-04-11 1992-04-10 組み合わせ論理回路の遷移表決定方法及び装置

Country Status (5)

Country Link
US (1) US5426770A (ja)
EP (1) EP0508620B1 (ja)
JP (1) JP3248753B2 (ja)
KR (1) KR920020341A (ja)
DE (1) DE69225527T2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3124417B2 (ja) * 1993-07-13 2001-01-15 三菱電機株式会社 論理シミュレーションシステム及び論理シミュレーション方法
US5600579A (en) * 1994-07-08 1997-02-04 Apple Computer, Inc. Hardware simulation and design verification system and method
US5752000A (en) * 1994-08-02 1998-05-12 Cadence Design Systems, Inc. System and method for simulating discrete functions using ordered decision arrays
US6480817B1 (en) * 1994-09-01 2002-11-12 Hynix Semiconductor, Inc. Integrated circuit I/O pad cell modeling
JP3264806B2 (ja) * 1994-11-15 2002-03-11 富士通株式会社 回路シミュレーションモデル抽出方法及び装置
US5638381A (en) * 1995-07-21 1997-06-10 Motorola, Inc. Apparatus and method for deriving correspondence between storage elements of a first circuit model and storage elements of a second circuit model
US5859962A (en) * 1995-12-21 1999-01-12 Ncr Corporation Automated verification of digital design
US5883809A (en) * 1996-07-26 1999-03-16 3 Com Corporation Behavioral language models for testing and verification of digital electronic circuits
US5835698A (en) * 1996-09-20 1998-11-10 Novell, Inc. Unilaterally-controlled, time-insensitive, data-link recovery apparatus and method
US5995740A (en) * 1996-12-23 1999-11-30 Lsi Logic Corporation Method for capturing ASIC I/O pin data for tester compatibility analysis
US5920490A (en) * 1996-12-26 1999-07-06 Adaptec, Inc. Integrated circuit test stimulus verification and vector extraction system
US6449659B1 (en) 1997-07-14 2002-09-10 Microsoft Corporation System for instance customization with application independent programming of controls
US6718534B1 (en) 1997-07-14 2004-04-06 Microsoft Corporation System for application independent programming of controls
US6233723B1 (en) * 1997-08-28 2001-05-15 Vlsi Technology, Inc. Circuit behavioral information analysis apparatus and a method of analyzing behavioral information of a circuit
US7337416B1 (en) * 1998-07-22 2008-02-26 Magma Design Automation, Inc. Method of using strongly coupled components to estimate integrated circuit performance
US6237117B1 (en) * 1998-09-30 2001-05-22 Sun Microsystems, Inc. Method for testing circuit design using exhaustive test vector sequence
JP2003530610A (ja) * 1999-01-21 2003-10-14 サウス カロライナ大学 分子コンピュータ
GB9925659D0 (en) * 1999-10-29 1999-12-29 Sgs Thomson Microelectronics A method of verification
GB2368667B (en) * 2000-06-08 2002-09-18 Sgs Thomson Microelectronics Method and system for identifying inaccurate models
US6625770B1 (en) * 2000-06-20 2003-09-23 Lsi Logic Corporation Method of automatically generating schematic and waveform diagrams for relevant logic cells of a circuit using input signal predictors and transition times
US6708306B2 (en) * 2000-12-18 2004-03-16 Cadence Design Systems, Inc. Method for diagnosing failures using invariant analysis
US20080115028A1 (en) * 2006-10-23 2008-05-15 Samsung Electronics Co., Ltd. Method and system for test verification of integrated circuit designs

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3376592D1 (en) * 1982-07-13 1988-06-16 Nec Corp Logic simulator operable on level basis and on logic block basis on each level
US4727313A (en) * 1985-03-08 1988-02-23 International Business Machines Corporation Fault simulation for differential cascode voltage switches
US4792913A (en) * 1986-11-03 1988-12-20 Grumman Aerospace Corporation Simulator for systems having analog and digital portions
JP2699377B2 (ja) * 1987-02-25 1998-01-19 日本電気株式会社 ハードウエア論理シミユレータ
JP2522541B2 (ja) * 1989-03-24 1996-08-07 三菱電機株式会社 シミュレ―ション装置及びシミュレ―ション方法
US5051938A (en) * 1989-06-23 1991-09-24 Hyduke Stanley M Simulation of selected logic circuit designs
JPH03118488A (ja) * 1989-10-02 1991-05-21 Hitachi Ltd 故障シミュレーション方式

Also Published As

Publication number Publication date
KR920020341A (ko) 1992-11-21
EP0508620A2 (en) 1992-10-14
EP0508620A3 (ja) 1994-01-12
JPH05256901A (ja) 1993-10-08
DE69225527D1 (de) 1998-06-25
EP0508620B1 (en) 1998-05-20
US5426770A (en) 1995-06-20
DE69225527T2 (de) 1998-09-10

Similar Documents

Publication Publication Date Title
JP3248753B2 (ja) 組み合わせ論理回路の遷移表決定方法及び装置
US6167364A (en) Methods and apparatus for automatically generating interconnect patterns in programmable logic devices
US5933356A (en) Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
JP3872954B2 (ja) 有限状態機械を識別して回路設計を検査するシステムおよび方法
US6523149B1 (en) Method and system to improve noise analysis performance of electrical circuits
JPH06208602A (ja) 可検査性設計規則の検証方法
US5946475A (en) Method for performing transistor-level static timing analysis of a logic circuit
US6959271B1 (en) Method of identifying an accurate model
US7437701B1 (en) Simulation of a programming language specification of a circuit design
CN112949233A (zh) Fpga芯片的自动化开发方法及装置、电子设备
EP0700008A2 (en) Electronic circuit modeling method and apparatus
US6339837B1 (en) Hybrid method for design verification
KR20040007463A (ko) 로직 시뮬레이션을 이용하지 않는 복잡한 ic의 설계검증을 위한 방법 및 장치
Rao et al. Hierarchical test generation for VHDL behavioral models
EP0508619A2 (en) Bi-directional socket stimulus interface for a logic simulator
Kamath et al. A comprehensive multi-voltage design platform for system-level validation of standard cell library
Gosling Simulation in the design of digital electronic systems
US6785642B1 (en) Method of converting data
US7689953B1 (en) Method and apparatus for determining cell-based timing elements from a transistor-level design
JPH07129647A (ja) Cadシステム
US7047173B1 (en) Analog signal verification using digital signatures
US6912494B1 (en) Method of reducing delays
EP1096396A1 (en) A method of distinguishing bidirectional pins
Falk Tools II/Design techniques: Design for production: The computer steps in to automate physical design and testing of computers and other electronic equipment
JP3144617B2 (ja) 論理回路の検証方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees