JPH1091677A - シミュレーション/エミュレーションの効率を増すための論理変換方法 - Google Patents

シミュレーション/エミュレーションの効率を増すための論理変換方法

Info

Publication number
JPH1091677A
JPH1091677A JP9147736A JP14773697A JPH1091677A JP H1091677 A JPH1091677 A JP H1091677A JP 9147736 A JP9147736 A JP 9147736A JP 14773697 A JP14773697 A JP 14773697A JP H1091677 A JPH1091677 A JP H1091677A
Authority
JP
Japan
Prior art keywords
phase
block
logic
original
output
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
Application number
JP9147736A
Other languages
English (en)
Other versions
JP3905951B2 (ja
Inventor
Ernest Donasu Wilm
ウィルム・アーネスト・ドナス
Ross Helmut
ヘルムート・ロス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1091677A publication Critical patent/JPH1091677A/ja
Application granted granted Critical
Publication of JP3905951B2 publication Critical patent/JP3905951B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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)【要約】 (修正有) 【課題】 複数フェーズ・ゲート論理設計を同等の単一
フェーズ論理設計に変換しておくことにより、シュミレ
ーション/エミュレーションの高速化を実現する。 【解決手段】 最初にNフェーズの各フェーズに対応す
る論理ブロックとそれに接続されその出力を各フェーズ
のうちのm個(1〜N)のフェーズでサンプリングする
フリップフロップ(FF)とを認識する。次に各論理ブ
ロックについてm>1であればその分だけ複製13をつ
くる。さらに、各FFに1から連続番号をふった後、ブ
ロックの再接続を行う。複製ブロックIの出力が、FF
Iの入力および論理プロック1と複製ブロックJ(I<
J≦N)の入力に接続されるようにし、FFIの出力が
複製ブロックJ(2≦J≦I)の入力に接続されるよう
にする。また、すべてのFFをフェーズ1のFFとする
(フェーズ2のFF14が削除され、再接続に従って所
定位置に新しいフェーズ1のFFが挿入される)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理回路設計をシ
ミュレート/エミュレートするプログラムのためのコン
ピュータの実行効率を大幅に増加する方法を開示するも
のである。「シミュレーション」および「エミュレーシ
ョン」という用語は、当技術分野では交換して使用され
る傾向があり、その区別は不明確である。したがって、
本明細書では、どちらの用語も同じことを意味するもの
として使用する。
【0002】
【従来の技術】VLSIの論理設計は、シリコン・チッ
プに製造した後では変更することができない。多くの現
行VLSI設計は、単一のハードウェア・チップにパッ
ケージ化された数百万個の論理ゲート回路を含んでい
る。このような製造の前に回路設計に含まれるすべての
エラーを除去する高速かつ絶対確実な方法を見つけるこ
とは、現在の業界の能力にとって過大な負担であった。
最終パッケージ後は変更不能なので、パッケージ化した
論理回路設計には「バグ」がまったくないことが不可欠
である。数百万個の論理回路を含む現行シリコン・チッ
プ論理設計の例としては、IBMのPowerPCチッ
プや、IntelのPentiumチップがある。
【0003】複雑な論理設計のエラー(「バグ」)を見
つける現在の方法は、コンピュータ・システム上または
特殊な論理システム内でその設計をシミュレートまたは
エミュレートし、既知の結果を有するシミュレート済み
/エミュレート済みの設計と照らし合わせて処理する方
法である。うまくいけば、製造前にすべてのバグが見つ
かるが、最新の履歴によれば、必ずそうなるわけではな
い。
【0004】シミュレータ/エミュレータは、シミュレ
ータ/エミュレータ動作用に設計された特殊なコンピュ
ータ・システムと、汎用コンピュータ・システムで実行
されるソフトウェアとを含む。
【0005】一般に複雑な論理設計は多くのレベル(ま
たは層)の論理回路を含み、各レベルは次の論理レベル
への入力になる出力を供給する。一般に各論理レベルは
次のレベルが使用するためにその出力を生成するが、ど
のレベルも外部データを受け取ることができる。設計内
の論理ゲートの出力は、他の上位または下位の論理レベ
ルにあるゲートに入力される前に1つまたは複数の論理
レベルをスキップすることができる。論理ゲートによっ
ては、外部データ入力しか受け取らないものもあれば、
設計内の1つまたは複数の他のレベルにある1つまたは
複数の他のゲートからの出力である入力を受け取るもの
もある。このため、論理ゲートは、それが入力を受け取
るレベルの数によって分類することができる。
【0006】従来の論理設計は、一般に、多くの様々な
レベルの論理ゲートで機能する。論理レベルは論理設計
内のゲート間の入出力依存関係を制御するので、設計内
の各種レベルは複数フェーズ・クロックの各種フェーズ
によってクロックする必要がない。
【0007】一般に、各種ゲート回路レベルからの出力
を格納するためにラッチ回路を使用する。というのは、
ラッチは、製造したハードウェア、たとえば、シリコン
・チップで最も経済的な格納を行えるからである。フリ
ップフロップは、ハードウェアとして製造するには高価
なものであるが、コンピュータ・システム上でシミュレ
ート/エミュレートするにはラッチほど高価ではない。
フリップフロップは、クロック・サイクルの立上りまた
は立下りエッジで設定され、その設定状態をその出力に
ただちに転送し、その後のクロック・サイクルの立上り
または立下りエッジで変更されるまで、この出力状態を
保持する。これに対して、ラッチは、各クロック・パル
スが終了したときにどのような入力状態を受け取っても
それを保持し、しかも次のクロック・パルスの終了まで
その状態を変更することができない。
【0008】したがって、シミュレート済み/エミュレ
ート済み論理設計では、それぞれの論理レベルでその内
部ゲートの出力を格納するためにフリップフロップを使
用する。各種論理レベル用のフリップフロップは、論理
設計内のレベル間で信号を伝播するための時間を見込ん
だ複数フェーズ動作で1つのクロックの各種フェーズに
よって制御される。
【0009】シミュレータ/エミュレータは、論理設計
内の論理ゲートおよびフリップフロップの表現を使用す
る。しかし、シミュレータ/エミュレータは、想定入力
データを使用する論理設計表現について一度に1つのフ
ェーズしか実行しない。各論理レベルの実行によって結
果が生成されるが、これは論理回路設計のそのレベル用
のフリップフロップ表現に一時的に格納される。すべて
のフリップフロップ出力表現の現行状態は、複数フェー
ズ動作のあらゆるフェーズによる使用のために使用可能
になっている。
【0010】図3は、割り当てられたフェーズ・サイク
ルの開始時にそれぞれ設定(セット)されるフリップフ
ロップからなるそれぞれのグループについて複数フェー
ズ・クロックを使用する従来の組合せ論理設計を非常に
単純化して表している。図3は、1つの論理設計で使用
するNフェーズ・クロックのそれぞれのフェーズによっ
て設定されるフリップフロップからなる個別のグループ
を示しているが、実際には、1つの論理設計内に任意の
フェーズ・グループのフリップフロップを分散すること
ができる。従来の論理設計用の複数フェーズ・クロック
は図4に示す。各フェーズは同じサイクル期間を備えて
いるが、各種フェーズの期間は互いにずらした時点から
始まる。
【0011】一般に、シミュレータ/エミュレータは、
論理回路設計内の各フェーズに割り当てられたフリップ
フロップの設定を計算するために個別のコンピュータ実
行パスを作成するが、一般にこれはシミュレーション/
エミュレーションを実行するための最も効率のよいやり
方であることが判明している。すなわち、1つのフェー
ズ用の各コンピュータ・パスは、そのフェーズ用の次の
サイクルの開始時にそのフェーズのフリップフロップ表
現を設定することにより、関連の論理回路用の出力デー
タを生成する。
【0012】ゲート回路レベルの数は、論理回路設計ご
とに異なるので、クロック・フェーズの数も異なる。し
かし、所与の論理回路設計内では、クロック・フェーズ
の数とレベルの数は一定である。
【0013】従来のシミュレータ/エミュレータは、論
理回路設計内のクロック・フェーズと同じ数だけ、その
論理回路設計を通過するコンピュータ実行パスを作成す
る。このような従来のコンピュータ・シミュレーション
/エミュレーション動作は、図1に示す棒グラフで表さ
れる。この棒グラフのY軸はコンピュータ資源の使用の
割合(%)を表す。X軸は時間を表す。X軸に沿ったそ
れぞれの棒は、コンピュータ資源が1つの動作を実行す
るための時間を表している。棒のY軸方向の高さが「全
容量」に達する場合、その棒によって表されるコンピュ
ータ動作は、その論理設計のシミュレーション/エミュ
レーションに使用可能なコンピュータ・システムのすべ
ての資源を使用している。
【0014】また、図1のX軸は、論理回路設計用のそ
れぞれの動作フェーズ1、2、・・・Nに分割されてい
る。図1の各フェーズの動作は、設計内のフリップフロ
ップおよび論理回路用の入出力状態を表すためのコンピ
ュータの計算を必要とする。各フェーズの計算は、その
設計内の論理全体のうち、割り当てられたフェーズの開
始時に設定されるフリップフロップだけに入力されるサ
ブセット用の計算のみを含むことができる。しかし、1
つのフェーズ用のこのような論理回路計算(その1つの
フェーズに割り当てられたフリップフロップのみに入力
を供給する)は、(すべてのフェーズについて)いずれ
かのフリップフロップの出力を表すデータ入力状態を受
け取ることができる。
【0015】また、どの動作フェーズでも、同じ論理回
路の一部または全部に外部データを入力することができ
る。
【0016】実際のハードウェア(その内部に論理設計
が製造される)はクロック・フェーズ・サイクル1、
2、・・・N(図4ではずらした状態で示す)で順次動
作するが、コンピュータ・シミュレータ/エミュレータ
資源はこのような時差方式では動作しない。論理設計の
シミュレーション/エミュレーションの場合、コンピュ
ータは、その設計用の次の動作フェーズのためのコンピ
ュータの実行を開始する前に、各フェーズごとに別々に
動作を計算する。
【0017】図1では、コンピュータによる単一処理動
作用のフリップフロップが多すぎる論理設計を想定して
いる。すなわち、多数のフリップフロップを論理回路へ
の入力として使用することができ、その論理回路がフェ
ーズ1の計算用の出力を生成する。この場合、その設計
用に実行されるシミュレーション/エミュレーションに
使用可能なコンピュータ資源による1つのコンピュータ
動作でアクセスし処理すべきフリップフロップ状態が多
すぎる可能性があるが、これはシミュレータ/エミュレ
ータに関する一般的な問題である。たとえば、従来の論
理設計のフェーズ1が120個のフリップフロップに格
納された入力データを必要とし、それがコンピュータ・
システムの主記憶装置に格納された2進データによって
表されるものと想定する。論理ゲートの動作を処理する
ためにこのフェーズ1のデータを使用するには、コンピ
ュータ・システムの主記憶装置から120通りのフリッ
プフロップ表現データ状態を取り出す必要があり、この
場合、単一コンピュータ実行動作で使用可能なコンピュ
ータ資源によって実行されるアクセスが多すぎる可能性
がある。たとえば、単一コンピュータ動作では、40通
りのフリップフロップ表現からなるサブセット用のデー
タしか得られないものと想定する。その場合、図1の3
つのフリップフロップ棒のそれぞれは1つの想定コンピ
ュータ内部動作を表し、40通りのフリップフロップ表
現用のそれぞれを総計すると、フェーズ1の実行動作で
使用する120通りのフリップフロップ表現になるはず
である。
【0018】フェーズ1の動作用に入力されるフリップ
フロップ表現データは、記憶域から取り出され、関連の
フリップフロップに関連してタグが付けられる。次に、
フェーズ1の動作用に表現された論理がこのデータを使
って実行され、シミュレータ/エミュレータによるこの
ような論理演算は図1に一連の9個の「論理」棒によっ
て表される(フェーズ1用の3つのフリップフロップ棒
に続く)。各論理棒の高さは、設計内の1つの論理レベ
ルを表すそれぞれのサブグループの論理回路によってそ
のデータに関する論理演算をシミュレートするためにコ
ンピュータ動作中に使用するコンピュータ資源の割合を
表す。
【0019】フェーズ1中に各論理演算(それぞれの論
理棒によって表される)を実行すると、コンピュータ
は、フェーズ1のそれぞれのフリップフロップ用の新し
い状態を表すために、論理演算の結果を格納する。この
ようなフェーズ1のフリップフロップ用に格納されたデ
ータは、N個のフェーズのうちの他のフェーズ中に動作
する論理回路用の入力として(他のフリップフロップ用
に格納された状態とともに)使用可能になる。
【0020】図1の残りのフェーズのそれぞれをシミュ
レート/エミュレートするためのコンピュータ動作は、
1つまたは複数のフリップフロップ棒から始まり、フリ
ップフロップ・データを選択的に受け取るそれぞれのサ
ブグループの論理回路による実行も表す9個の論理棒が
続く。したがって、図1の各フェーズごとに、図示の各
論理棒用のコンピュータ動作は、設計内の各種レベルの
ゲート回路用のものである。各フェーズの開始時にアク
セスされるフリップフロップ・データ状態はそれぞれの
フェーズ中に必要なデータであり、表されるフリップフ
ロップは各種フェーズごとに同じである場合もあれば、
異なる場合もある。
【0021】図1では、論理棒のY軸方向のサイズが変
化し、コンピュータ動作の各フェーズ内で左から右に減
少する。この変化は、一般にゲート論理のレベルの上昇
につれて(それぞれの動作フェーズ用のフリップフロッ
プ・データを生成する)論理ゲートの数が減少すること
によるが、これに対応して、それぞれの論理演算を実行
するために使用するコンピュータ資源が減少する。
【0022】未使用のコンピュータ資源(各種レベルの
コンピュータ論理回路動作中に使用しないもの)は、論
理設計のシミュレーション/エミュレーション動作に予
約されている場合、他のどのコンピュータ動作にも使用
不能である。未使用のコンピュータ資源は、図1のN個
のフェーズのそれぞれについて示した論理棒の上の空間
によって図1に表され、使用可能資源のうちの未使用資
源を表している。
【0023】したがって、図1は、N個のフェーズのそ
れぞれについて1回のコンピュータ実行を必要とする従
来のコンピュータ動作を表しているが、各コンピュータ
実行では、1つのシミュレート済みクロック・サイクル
分の動作の結果を計算するためにシミュレート済み/エ
ミュレート済み設計内のすべての論理を使用する。すな
わち、各動作フェーズの結果を計算するためにN個のフ
ェーズのそれぞれについて個別のコンピュータ実行が行
われる。本発明では、各シミュレートされるクロック・
サイクルの動作ごとにN個のフェーズのすべてのシミュ
レーション/エミュレーション動作を単一コンピュータ
実行に圧縮する方法を発見した。
【0024】フェーズ2・・・Nのそれぞれには、フェ
ーズ1の動作に必要なものと同じコンピュータ資源が割
り当てられる。各フェーズは、そのデータを格納するた
めにそれ専用のフリップフロップを使用する。すなわ
ち、各フェーズ用のフリップフロップは他のフェーズ用
のフリップフロップとは異なる。各フェーズのフリップ
フロップの数は、他のフェーズのフリップフロップの数
と同じである場合もあれば、異なる場合もある(図1で
は数が異なると想定している)。
【0025】図1では、各フェーズはそのフリップフロ
ップによって格納されたデータを取り出すことによって
始まるものと想定されている。したがって、フェーズ2
は、フェーズ2のフリップフロップによって格納された
データを取り出すことによって始まり、以下同様であ
る。
【0026】いずれかのフェーズ用のフリップフロップ
・データを受け取る論理回路は、他のフェーズ用のフリ
ップフロップ・データを受け取る論理回路と同じである
場合もあれば、異なる場合もある。任意のフェーズが使
用する論理回路の数も、他のフェーズに使用する数と同
じ場合もあれば、異なる場合もある(各フェーズごとに
9個の論理棒の場合)。
【0027】コンピュータ・シミュレーション/エミュ
レーションにおけるフェーズ動作の数は、シミュレート
/エミュレート中の論理設計内のハードウェア・クロッ
ク用のフェーズと同数になる。
【0028】一部のシミュレータ/エミュレータでは、
フリップフロップ棒の間に論理棒を散在させることがで
きるので、必要なフリップフロップ状態(フリップフロ
ップ棒によって表される)は論理演算(論理棒によって
表される)中に後でアクセスすることができ、フリップ
フリップ状態は、論理回路の計算動作によって使用され
る時点により接近した時点で取り出すことができる。
【0029】したがって、完了したシミュレーション/
エミュレーション動作によって使用されるコンピュータ
時間は、ハードウェア設計で提供されるクロック・フェ
ーズの数に依存する。しかし、シミュレーション/エミ
ュレーションの実行に必要な全時間は、シミュレーショ
ン/エミュレーションを実行するコンピュータ・システ
ムの速度や資源などの多くの変数によって決まる。従来
のシステムでは、複雑なプロセッサ用の完全なシミュレ
ーション/エミュレーション動作は、数カ月分のコンピ
ュータ時間を要することが分かっている。
【0030】不十分な資源(たとえば、各コンピュータ
動作において所与の設計用の論理表現全体を処理するに
は不十分なメモリと入出力空間)しか備えていないコン
ピュータでは、複数のコンピュータ動作で処理すべき設
計内の初期論理レベルが少なくとも必要である可能性が
ある。従来のシミュレータ/エミュレータ動作は、コン
ピュータの効率に限界があるために、論理ゲート回路が
100万個よりかなり少ない設計の処理に制限されてい
た。ハードウェア設計内の論理ゲート回路の数がシミュ
レータ/エミュレータの容量を上回る場合、そのハード
ウェア設計を別々にシミュレート/エミュレートされた
セクションに分割することが必要であり、各セクション
の個別のシミュレーションまたはエミュレーションの結
果を統合して、ハードウェア設計全体の正確さを判定し
ようと試みると、問題が検出されていた。この統合動作
の結果、特定の設計については間違った結論になってい
た。したがって、数百万個の論理回路を含む論理回路設
計全体について単一のシミュレーション/エミュレーシ
ョンを実行できる場合は相当な利点が得られるので、従
来のセクションごとのシミュレーション/エミュレーシ
ョンでは監視不能な動作障害も監視できることに留意さ
れたい。
【0031】従来のシミュレーション/エミュレーショ
ン・システムの実行は比較的低速であった。すなわち、
そのシステムは、シミュレート/エミュレートしている
最終的にパッケージ化したハードウェアより6〜8桁分
遅い速度で動作する。これは、実世界の時間的制約内で
数百万個の回路を有する設計について実行可能なシミュ
レーションの量を大幅に低減した特性の1つである。し
たがって、本発明は、既存のシミュレータ/エミュレー
タの変更を必要とせずに、既存のシミュレータ/エミュ
レータの使用速度を大幅に上げるという利点をもたらす
ものである。
【0032】本発明は、先に出願された米国特許出願第
08/253881号(PO9−93−046)により
構築されたエミュレータ・システムに非常に有利に適用
され、その従来のシミュレータ/エミュレータより2〜
3桁分速い速度で動作し、1000万個以上の2入力論
理ゲートを含む設計など、かなり大きい論理設計を処理
することができる。
【0033】図1により、論理設計のシミュレーション
/エミュレーション中に各動作フェーズを処理するに
は、特定の量のコンピュータ処理時間Pが必要であるこ
とが分かる。その場合、従来の論理設計用のシミュレー
ション/エミュレーション動作のN個のフェーズすべて
からなる1つのサイクルを処理するための全時間Tは、
T=N*Pになる。
【0034】
【発明が解決しようとする課題および課題を解決するた
めの手段】図2は、本発明を使用する論理設計用のシミ
ュレーション/エミュレーション動作の一例を表す棒グ
ラフを示している。図2に使用するシミュレータ/エミ
ュレータは、図1のものと同じであってもよい。
【0035】本発明の新規性は、シミュレータ/エミュ
レータにあるのではなく、シミュレーション/エミュレ
ーションのためにコンピュータにそれを提示する前に論
理設計を変更するための方法である。本発明による変更
済みの論理設計は、元の複数フェーズ論理設計の代わり
に、変更済みの論理設計のシミュレーション/エミュレ
ーションのためにコンピュータに提示される。
【0036】本発明により論理設計に加えられた変更
は、シミュレータ/エミュレータを変更せずにシミュレ
ーション/エミュレーション動作の大幅な速度上昇を可
能にし、コンピュータ化したシミュレータ/エミュレー
タが、論理設計が変更されていない場合に得られたはず
のものと同じシミュレーション/エミュレーション結果
を出力できるようにする。
【0037】本発明は、シミュレーションまたはエミュ
レーションの速度を最高N倍まで上げることができる。
ただし、Nは、複数フェーズ・クロック式の所与の論理
回路設計内のフェースの数である。たとえば、5フェー
ズ論理設計の従来のシミュレーション/エミュレーショ
ンが5週間分のコンピュータ動作を要していた場合、本
発明を使用すると、1週間分のコンピュータ動作で済む
可能性がある。すなわち、同一シミュレータ/エミュレ
ータで本発明を使用することにより、最高4週間分のコ
ンピュータ時間の節約になる。
【0038】したがって、本発明は、Nフェーズ・クロ
ック式論理設計を同等の単一フェーズ・クロック式論理
設計に変更する方法を提供するものであり、後者は以下
の利点を得るためにコンピュータ化したシミュレーショ
ン/エミュレーション動作に提示される。すなわち、
A.コンピュータ動作コストの大幅な節約と、B.米国
特許出願第08/253881号(PO9−93−04
6)に記載されたタイプの高速大容量エミュレータにお
いてもシミュレーション/エミュレーション動作の速度
上昇が可能である。
【0039】このため、本発明の一目的は、複数フェー
ズ・クロック式論理ゲートを使用する同等のハードウェ
ア設計について得られるパフォーマンスに比べ、ハード
ウェア論理ゲート設計をモデル化する際のシミュレーシ
ョン/エミュレーション動作のパフォーマンスを大幅に
増加することにある。
【0040】本発明の特徴の1つは、複数フェーズ・ゲ
ート論理設計を、その複数フェーズ論理設計と論理的に
同一の単一フェーズ論理設計に変換し、シミュレータ/
エミュレータ・パフォーマンスの改善を可能にする方法
を提供することにある。変換した論理設計は、元の複数
フェーズ設計をシミュレート/エミュレートするのに必
要と思われる時間の何分の1かの間にシミュレート/エ
ミュレートすることができる。
【0041】本発明の他の特徴は、複数フェーズ・ゲー
ト論理設計を単一フェーズ・ゲート論理設計に変換する
方法を提供することにある。この方法は、複数フェーズ
と単一フェーズ両方の同等の設計において同じ記憶回路
(たとえば、フリップフロップ)を有効に使用し、両方
の設計の同じ状態を格納する。複数フェーズ設計内の各
論理ブロックでは、クロック・サイクル中にその論理ブ
ロックに関連する1つまたは複数の記憶回路にその出力
状態が捕捉されている。複数フェーズ設計を単一フェー
ズ設計に変換するには、回路変更が必要である。このよ
うな回路変更は、複数の関連記憶回路を有する論理ブロ
ックの複製を必要とする。論理ブロックの複製は、元の
複数フェーズ設計内の各論理ブロックに対応する論理ブ
ロック構成内の異なるが同一の論理ブロック(元の論理
ブロックまたは複製した論理ブロック)と各記憶回路と
の1対1の関係をもたらすために単一フェーズ・バージ
ョンで必要な場合に行われる。この1対1の関係によ
り、すべての同一論理ブロックは、複数フェーズ論理設
計内の複数フェーズ・クロックの各サイクルの順次フェ
ーズで行われるように順次ではなく、単一フェーズ・ク
ロックの同一サイクル中に並行して、それぞれの出力を
記憶回路に格納することができる。
【0042】変換した論理設計は、元の複数フェーズ設
計をシミュレート/エミュレートするのに必要と思われ
る時間の何分の1かの間にシミュレート/エミュレート
することができる。
【0043】本発明の他の目的は、複数フェーズ論理設
計を、論理的に同等で、かなり少ないコンピュータ時間
を使用する複数フェーズ設計と同じシミュレーション/
エミュレーション結果を生成するために同じ外部印加デ
ータを使用できる単一フェーズ論理設計に変換すること
にある。
【0044】本発明のプロセスは、受渡しされた論理設
計をその入力として受け取る。一般にこの設計は、AN
Dゲート、ORゲート、排他ORゲート、反転ゲートな
どの論理ゲート回路の形式になる。
【0045】本発明のプロセスは、従来の論理設計中で
接続済みゲート回路のグループ(本明細書では「論理ブ
ロック」と呼ぶ)を識別することによって始まる。論理
ブロックは、本明細書では、複数のフェーズ・クロック
時間の1つでその入力がトリガされるフリップフロップ
に単一信号出力を供給するようにまとまって動作する1
つまたは複数のゲート回路を含むものとして定義する。
論理設計によっては、このような論理ブロックとそれに
対応するフリップフロップを数十万個含むものもある。
別々のフェーズで動作するクロック・サイクルの開始時
に関連論理ブロックの出力を格納するために、別々のフ
リップフロップがトリガされる。入力信号の2進状態は
フリップフロップの出力に現れ、トリガ後のサイクルの
何分の1かのわずかな時間にフリップフロップの状態を
表す。次に、フリップフロップの新しい出力状態は、フ
リップフロップの出力に接続されたすべての回路の入力
にただちに提示される。
【0046】論理設計内の論理ブロックの識別後、本発
明の次のステップは、それぞれのクロック・フェーズ
(複数も可)の開始時にブロックの出力をサンプリング
する1つまたは複数のフリップフロップ(FF)を識別
することである。mは、それぞれの論理ブロックに接続
されたFFに関連するサンプリング・クロック・フェー
ズ(複数も可)の数である。一部のFFはN個のすべて
のクロック・フェーズでサンプリングし、他のFFは全
フェーズ(N個のフェーズのうちの一部であってもよ
い)のうちの1つだけでサンプリングし、他のFFはm
個のフェーズでサンプリングする(mは1〜Nの数であ
る)。1つのブロックに接続されたm個のFFのフェー
ズは、1〜Nの数値のうちの1つまたは複数をスキップ
することができる。このため、このようなm個のFF
は、そのフェーズ番号の順序で連続して番号が付けられ
ていない可能性がある。番号付け順序は数値1から始ま
らない場合があり、mで終わらない場合もある。ブロッ
クによっては単一フリップフロップのみでサンプリング
されるものもあれば、複数のフリップフロップによって
サンプリングされるものもある。
【0047】本発明では、m>1個のサンプリングFF
を有する元の各論理ブロックを複製する(すなわち、ブ
ロック出力は、複数のフェーズで動作する複数のFFに
よってサンプリングされる)。m=1個の元のブロック
はそれぞれ、任意のフェーズにすることができる1つの
フェーズのみでサンプリングされ、複製されない。した
がって、mは、元の各ブロックとその複製ブロック(複
数も可)を含むブロックの総数である。
【0048】m=1の場合はブロック複製が一切行われ
ず(1つのサンプリングしたフェーズのみ)、m>1の
場合はブロック複製が行われる。mの最大値はNであ
り、これはその論理設計で使用するフェーズの総数であ
る。
【0049】論理ブロックの複製は、同一ブロック表現
を供給することにより、元の論理ブロックをm−1回複
写することを含む。すなわち、元の各ブロックがm>1
である場合、そのブロックはm−1個の複製を有するこ
とになる。
【0050】元の各ブロックには最初にその最低フェー
ズのサンプリングFFのフェーズ番号が割り当てられ
る。この最初に割り当てられる番号は1〜Nの数値にな
る。元の論理設計内の元の各論理ブロックとその最低フ
ェーズFFはブロック/FF対と見なすことができ、そ
のブロックとFFにはそれぞれそのFFのサンプリング
・フェーズで番号が付けられる。番号が大きいフェーズ
を使用する他のサンプリングFFは、それぞれの複製論
理ブロック(複数も可)の1つにそれぞれ関連付けら
れ、このブロックには最初に関連FFの番号が与えられ
る。各複製ブロックとその関連FFは、元の各ブロック
用に用意されたm−1対の複製対のそれぞれに関する複
製ブロック/FF対と見なすことができる。
【0051】それぞれの複製対のフリップフロップ表現
は、新しいFFと見なすか、または変換した論理設計用
に別のやり方で接続されている古いサンプリングFFと
見なすことができる。
【0052】m>1の元の各ブロック用のすべての対
は、最低番号の対(元の対)からその複製対(より大き
い番号を有する)までそれぞれの関連フェーズに応じて
順序付けられる。というのは、これらの対は、その関連
サンプリング・フェーズの順に番号が付けられているか
らである。m>1の元の各ブロック用の一連の対に割り
当てられた初期フェーズ番号は連続番号を有する必要は
なく、この番号付けは1から始まる必要もない。m=1
の元の各ブロックには1つの対しかないので、最初に番
号1が付いている必要がない。
【0053】次にすべての順序について番号の付け直し
が行われ、必ず1から始まり、必ず連続番号を使用し、
mが最高番号になるような新しい番号になる。したがっ
て、m=1の各対はブロック1として番号が付け直さ
れ、そのサンプリングFFはFF1として番号が付け直
される(これらはその後、フェーズ1でのみ動作するこ
とになる)。m>1の元の各対用の順序では、元のブロ
ックはブロック1として番号が付け直され、そのFFは
FF1として番号が付け直される。また、その複製対
(複数も可)は連続して番号が付け直され、2から始ま
り、mで終わる。このため、最低フェーズの元の対はブ
ロック1/FF1として番号が付け直され、その順序の
次の対はブロック2/FF2として番号が付け直され、
Nを超えない番号mが付く、その順序の最後の対まで以
下同様となる。
【0054】たとえば、元のブロックのその出力がフェ
ーズ2、4、7で動作する3つのFFによってサンプリ
ングされている場合、その元のブロックはm=3にな
る。そのブロックの2つの複製ブロックはm−1=2に
よって決定される。元のブロックと2つの複製ブロック
は、最初に2、4、7という番号が付けられた3つの対
からなる順序を形成する。その後、これらの対2、4、
7は、連続番号1、2、3(必ず番号1から始まる)を
それぞれ割り当てることにより、番号が付け直される。
このため、これらの対は、ブロック1/FF1、ブロッ
ク2/FF2、ブロック3/FF3として番号が付け直
される。番号が付け直されたFFは新しいFFと見なす
ことができる(または変換した論理設計内で再接続され
ている古いFFと見なすことができる)。
【0055】この最終的な連続番号の付け直しにより、
ブロック複製について前述したそれぞれの初期番号順序
に見られる低から高への順序付けが維持される。最終的
な番号の付け直しは、それぞれの「元のブロック/元の
FF」(元の設計で最低番号のフェーズでサンプリング
された対である)に1を割り当てる。各順序の対は、従
来のフェーズ番号順序を維持しながら、1・・・mの連
続番号が付け直される。その順序では、FF1でサンプ
リングされるブロック1は、元のブロックとその関連F
Fである。また、その順序の各複製ブロックIは2から
mの番号が付け直されるが、これは2≦I≦Nという式
によって表される値の範囲内にある。
【0056】次にブロック接続が次のように再接続され
る。すなわち、論理ブロック1の出力はフェーズ1でF
F1の入力にサンプリングされ、FF1の出力はブロッ
ク1の入力に接続され、各複製ブロックIに接続される
(すなわち、2≦I≦N)。各複製ブロックIの出力は
FFIの入力に接続される。また、複製ブロックIの出
力は論理ブロック1の入力に接続され、Iより大きい番
号を有する各論理ブロックJの入力に接続される(すな
わち、I<J≦N)。FFIの出力は、I以下の番号を
有する各複製論理ブロックJへの入力に接続される(す
なわち、2≦J≦I)。最後に、すべてのFF用のトリ
ガ・クロック・フェーズはクロック・フェーズ1にな
る。
【0057】元の論理設計内のすべての論理ブロックに
この方法を適用すると、シミュレータ/エミュレータの
パフォーマンスを増加するような変換済み論理設計が得
られる。
【0058】
【発明の実施の形態】本発明は、電気論理回路用の変態
プロセス(metamorphosis process)を提供するもので
あるが、このプロセスは、このような回路からなる論理
設計のシミュレータ/エミュレータに入力を供給する際
に有用であることが判明している。この変態は、ハード
ウェアにパッケージ化すべき論理設計の複数フェーズ形
式と同一論理設計の単一フェーズ形式との間の論理設計
の同等性を保持する。この単一フェーズ形式は、論理設
計を完璧にするために必要な資源と時間を大幅に低減す
るために論理設計のシミュレータおよびエミュレータの
パフォーマンスを大幅に増加することができると本発明
により判明しているものである。
【0059】本発明の変態プロセスは元の複数フェーズ
論理設計を含む電気回路を大幅に変更するが、論理設計
の変換済み単一フェーズ・バージョンは、論理設計の評
価をシミュレーションまたはエミュレーション資源をよ
り効率よく使用して実行できるようにするために、元の
設計と同じ論理演算を実行する。
【0060】図2は、シミュレータ/エミュレータ動作
の各サイクル中に変換済み単一フェーズ論理設計による
コンピュータ資源の使い方を示している。それぞれの1
フェーズ・サイクル(図2で期間1として示されてい
る)中では、それぞれのNフェーズ・サイクル(図1で
も期間1として示されている)中に実行されるのと同じ
論理関数が実行される。
【0061】図2の各単一フェーズ・サイクルは、図1
のNフェーズ・サイクル内の各フェーズ・サブサイクル
よりいくらか長くなっている。しかし、各単一フェーズ
・サイクルは、図1のNフェーズ・サイクル1つ分の動
作を含むN個のすべてのサブサイクルよりかなり短い。
これは、図2では各単一フェーズ・サイクル中に変換済
み論理設計内のすべてのフリップフロップ(FF)の状
態がアクセスされるが、これに対して図1では、図1の
Nフェーズ・サイクルのそれぞれのサブサイクル中に元
の論理設計内のすべてのFFからなる1つのサブセット
のみの状態にアクセスする必要があるからである。した
がって、シミュレータ/エミュレータのそれぞれのフェ
ーズの動作のために、それぞれのフェーズ中に使用する
FFの状態だけにアクセスすればよいことになる。
【0062】また、図2では、シミュレートまたはエミ
ュレート中のすべての論理レベルの論理回路およびFF
について、各単一フェーズ・サイクル中の実行が示され
ている。この実行は複製ブロック回路を含む。変換済み
論理設計内の全体的な回路の数は複製ブロックの追加に
よって増加しているが、図1および図2の両方により、
9通りのレベルの論理ブロック実行に関する9個の棒は
100%未満のコンピュータ資源が使用されることを表
し、それは、複製によってコンピュータの動作速度が低
下していないことを示していることに留意されたい。
【0063】図2では、8つのフリップフロップ棒のう
ちの7つが100%のコンピュータ資源レベルで動作し
ているが、図1では、それより少ない数のフリップフロ
ップ棒が各動作フェーズに示されている。これは、複数
フェーズ動作ではそれぞれのフェーズ中に使用するFF
のみが示されており、各フェーズの動作のサブサイクル
はそれぞれのサブサイクル・フェーズ動作中にブロック
出力によってトリガされるFFとブロックに入力される
FFを含むからである。複数フェーズ・サイクル当たり
のすべてのフェーズについてグラフで示したすべてのF
F棒の合計は、使用したすべてのFFを表す単一フェー
ズ・サイクル内のFF棒の総数と等しいかまたはそれを
上回ることになる。この結果、シミュレーション/エミ
ュレーションの各単一フェーズ・サイクル用の処理時間
は、複数フェーズ動作のN個のサブサイクルのうちのい
ずれか1つよりわずかに長くなる可能性がある。しか
し、各複数フェーズ・サイクル内のN個の複数フェーズ
・サブサイクルのすべてのための全体的な処理時間は単
一フェーズ・サイクルよりかなり長くなるが、必ずしも
N倍(上限近似値である)も長くする必要はない。たと
えば、5フェーズ論理設計の単一フェーズ変換は、元の
5フェーズ論理設計に基づいて、複数フェーズ・シミュ
レーション/エミュレーションより3〜4倍(5倍では
ない)高速でシミュレータ/エミュレータを動作させる
ことができる。
【0064】図5、図6、図7、図8、および図9は、
複数フェーズ論理設計(図5に示す)を同一論理設計の
単一フェーズ形式(図9に示す)に変換するために本発
明のプロセスで行われる回路変更の単純例を示してい
る。この単純例は、本発明の動作を理解しやすくするた
めのものである。本発明の一般的な方法については図1
0に表すが、それは好ましい実施例である。
【0065】本発明は、論理設計の複数フェーズ・バー
ジョン(図5に表す)から同一論理設計の単一フェーズ
・バージョン(図9に表す)への変態を行うものであ
る。複数フェーズ・バージョンがハードウェアにパッケ
ージ化された形式(たとえば、シリコン・チップ内に形
成される回路)で使用するバージョンの論理設計になる
としても、本発明では、その動作速度が大幅に上昇する
ようにコンピュータ操作のシミュレータ/エミュレータ
に対して論理設計を表すために単一フェーズ形式(図9
に示す)を使用する。しかし、単一フェーズ・バージョ
ンによって行われたシミュレーションまたはエミュレー
ションで得られる結果が論理設計内の問題を示す場合、
このような結果により、複数フェーズ・バージョンに加
えた変更を示すことができる。
【0066】図5は、論理設計の複数フェーズ・バージ
ョンを表すことによって、回路変態を開始する。これ
は、2つのクロック・フェーズ1および2によってフリ
ップフロップ12および14に出力がクロックされる論
理ブロック11を有する。すなわち、論理ブロック11
の出力はクロック・フェーズ1でサンプリングされ、そ
の時点でその出力Cがクロック・フェーズ1のフリップ
フロップ12に格納される。フェーズ2では、ブロック
11からの別の出力C2がクロック・フェーズ2のフリ
ップフロップ14に格納される。
【0067】図6は、図5の複数フェーズ回路から図6
に示す変更済み複数フェーズ回路への初期変換である第
1の変態を示している。図7は、フェーズ1のFF14
aを挿入する、次の複数フェーズ回路変換を示してい
る。図8は、単一フェーズ・バージョンを得るためのフ
ェーズ2のFFの削除を示している。さらに図9は、フ
ェーズ1のFFのみを含む、図8の単一フェーズ・バー
ジョンを示している。本明細書で前述したように、複数
フェーズ・バージョンから単一フェーズ・バージョンへ
のこの回路変換の効果により、本発明で変換した単一フ
ェーズ・モデルは、同じ入出力データを使用する場合に
シミュレーション/エミュレーション・コンピュータ内
で、受け取った複数フェーズ・モデルより高速で動作で
きるようになる。回路変更プロセスが図5から図9まで
の順序で進行するにつれて、この回路変態は、複製論理
ブロックを追加することと、非フェーズ1のFFにフェ
ーズ1を再割当てすることと、それらの接続とを含む。
図10は、この変態中に行われる再接続を示している。
【0068】本発明の変換プロセス中に発生する各種回
路バージョンの論理回路の同等性を理解しやすくするた
め、図5から図9までに発生する各種回路バージョンに
ついて、その同等性の例を示す。ここでは単純にするた
め、図5の論理ブロック11はANDゲートであると想
定するが、実際の論理設計の論理ブロック11は、かな
り複雑で、多くのタイプの組合せ論理ゲートの接続を表
す場合もある。同等性分析は以下の通りである。
【0069】図5のAND論理ブロック11は、入力
A、B、Eを有する。Eは外部入力である。AとBは、
それぞれクロック・フェーズ1のFF12とクロック・
フェーズ2のフリップフロップ14の初期出力状態であ
る。クロック・フェーズ1では、以下のように、FF1
2がブロック11から出力される出力Cを格納する。 C=A&B&E FF12がクロック・フェーズ1で値Cをトリガ・イン
した後、その直後に値Cがフリップフロップ12に格納
され、そこから出力される。ただし、フェーズ1による
FF12のトリガはフェーズ2のFF14の出力Bに影
響しないことに留意されたい。その後、次のクロック・
フェーズ2が起こる前に、以下のように、ゲート11の
出力がC2になる。 C2=C&B&E 次のフェーズ2では、FF14がブロック11から出力
C2をトリガ・インし、その直後にFF14の出力がC
2に変わる。ただし、フェーズ2のトリガ中、FF12
内の出力Cは影響を受けないことに留意されたい。
【0070】図6に示す次の変換済み回路では、複製ゲ
ート13が設けられ、図示のように接続されている。フ
ェーズ1後、図5に示すように、ゲート11の出力Cが
FF12にトリガ・インされる。 C=A&B&E しかし、図6では、次のクロック・フェーズ2の前に、
ゲート13の出力がC2になる。 C2=C&B&E 次のフェーズ2サイクルでは、ゲート13の出力C2が
FF14にトリガ・インされ、FF14の出力をBから
C2に変更する。ただし、フェーズ2中、フリップフロ
ップ12の出力Cは影響を受けないことに留意された
い。
【0071】図7に示す次の回路変換では、フェーズ1
のFF14aがフェーズ2のFF14の出力とブロック
13の入力との間に置かれている。図6に示すように、
ブロック11の出力CはFF12内に設定される。 C=A&B&E 第1のフェーズ1サイクルも、FF14からの信号Bを
FF14a内に設定する。その直後に出力Bはブロック
13への入力としてFF14aによって供給され、Cも
FF12からブロック13に入力される。次にブロック
13はC2を出力する。 C2=C&B&E 次のフェーズ2サイクルでは、ブロック13の出力C2
がFF14内に設定される。
【0072】図8は、先行値BがFF14ではなくFF
14aに格納されるように、フェーズ2のFF14の除
去を示している。値Bはゲート13から図7のFF14
にトリガ・インされる先行出力だったので、図8では次
のフェーズ1サイクルでブロック13からFF14aに
トリガ・インされる。
【0073】図9は、図8に示すものと同じ論理を備え
ているが、除去されたFF14を含まずに示されてい
る。ブロック13からの初期出力Bがブロック11への
直接入力なので、FF12がブロック11からの出力A
を格納すると、その直後にブロック11がCを出力する
ことを理解しておくことは重要である。 C=A&B&E ブロック13からの出力Bは、CがFF12に格納され
るのと同時にFF14aに格納されるので、その直後に
FF14aは、同一フェーズ1サイクルの後半でC2を
出力する。 C2=C&B&E 次のフェーズ1サイクルでは、FF14aがブロック1
3からのC2を格納し、C2は、そのフェーズ1サイク
ルの残りの期間中、ブロック13の出力にとどまってい
る。
【0074】複数フェーズ・バージョンのN個のフェー
ズ内の状態と論理設計の変換済み単一フェーズ・バージ
ョン内の状態との同等性を認識することは、本発明の不
明確な属性の1つである。
【0075】図10は、本発明の一般的な方法の流れ図
を示している。そのステップ101は、設計を検証して
その回路の論理構造内の問題を検出するためにシミュレ
ート/エミュレートすべき複数フェーズ論理設計を用意
することを含む。このような論理設計は、FFにトリガ
・インされる出力を有する論理ブロックを形成する、A
ND、OR、排他OR、反転などの論理ゲート回路を含
む。
【0076】ステップ102は、すべての論理回路と、
論理設計内でのそれらの相互接続およびそれぞれの複数
フェーズ・クロック・フェーズへの接続とを示すコンピ
ュータ表現を生成することを含む。
【0077】ステップ103は、論理設計全体にわたっ
て本明細書で「論理ブロック」と呼ばれるゲート回路の
グループを識別する。「論理ブロック」は、本明細書で
は、接続され、事前定義クロック・フェーズで単一フリ
ップフロップにその状態が格納される単一出力信号を供
給するようにまとまって動作する1つまたは複数のゲー
ト回路を含むものとして定義する。論理設計によって
は、このような論理ブロックとそれに対応するフリップ
フロップを数十万個含むものもある。別々のフェーズで
動作するクロック・サイクル中の様々な時点で関連論理
ブロックの出力を格納するために、別々のクロック・フ
ェーズによって別々のフリップフロップをトリガするこ
とができる。各FFは1つのクロック・フェーズの立上
り(または立下り)で2進信号状態を格納し、その直後
にその信号をFF出力に渡し、その出力からその状態を
一部の論理ブロックへの入力として提示することができ
る。このFF出力状態は、少なくとも同一フェーズの次
のサイクルの開始後までにその接続論理ブロックの入力
に提示される。また、フェーズの数Nが識別される。
【0078】ステップ104は、まず、どのブロックを
複製する必要があるかを判定するが、その複製は、1つ
のブロックのコンピュータ表現のコピーを作成すること
によって行われる。どのブロックの複製が必要か、なら
びにいずれかのブロックの複製がいくつ必要かを判定す
るために、論理設計内の各ブロックの出力をサンプリン
グするためにFFが使用するフェーズの数をカウントす
ることにより、各ブロックごとに数値「m」が決定され
る。どのブロックも、任意の数Nのフェーズによってサ
ンプリングすることができる。たとえば、8つのクロッ
ク・フェーズを使用する論理設計内のクロック・フェー
ズ2、4、7で動作するFFによって、ブロック出力を
サンプリングすることができる。したがって、ブロック
によってはN個のクロック・フェーズすべてでサンプリ
ングできるものもあれば、全フェーズ(N個のフェーズ
のうちの一部であってもよい)のうちの1つだけでサン
プリングできるものもあるが、すべてのブロックはm個
のフェーズでサンプリングされる(mは1〜Nの数であ
る)。それにより、各ブロックには、1〜Nの範囲内の
1つまたは複数の番号からなる順序が割り当てられる。
【0079】さらにステップ104は、受け取った複数
フェーズ論理設計内の各ブロックごとに、値mが1と等
しい(m=1)か、またはmが1より大きい(m>1)
かを判定する。受け取った複数フェーズ論理設計内のブ
ロックは、論理設計の単一フェーズ・バージョン内にの
み含まれる「複製ブロック」と区別するために、本明細
書では「元のブロック」と呼ぶ。元のブロックだけがm
個の値を有する。m=1の場合、その元のブロックにつ
いて複製は一切行われない。m>1の場合、その元のブ
ロックについてm−1回の複製が行われる。元のブロッ
クとその複製ブロックのそれぞれにはフェーズ番号が割
り当てられるが、そのうち、元の各ブロックにはその最
低番号のサンプリング・フェーズ(その出力を受け取る
FFが使用するもの)の番号が割り当てられる。m=1
の場合、元のブロックには(その唯一の接続FFの)そ
の唯一のサンプリング・フェーズの番号が割り当てられ
る。m>1の場合、そのm個のサンプリングFFすべて
のフェーズ番号が使用されるが、最低サンプリング・フ
ェーズ番号は元のブロックに割り当てられ、残りのm−
1個のサンプリング・フェーズ番号はそのm−1個の複
製ブロックに割り当てられる。このような割当て済み番
号は、m>1の元の各ブロックをサンプリングするすべ
てのフェーズを含む順序を形成する。(すべてのFFが
最終的にそのフェーズがフェーズ1に変更されるとして
も、元のブロックおよびその複製ブロックと関連FFと
の間の相互接続を制御するために次のステップでこの順
序を使用する。最終的に、順序内のm個のブロックは、
番号1から始まり、mで終わるそれぞれの関連フェーズ
番号からなる順序に連続して番号が付け直される。)
【0080】元の各ブロックとその最低フェーズFF
は、そのブロックの最低番号サンプリングFFのサンプ
リング・フェーズで番号が付けられたブロック/FF対
と見なすことができる。他の各サンプリングFFは(m
>1の元の各ブロックごとに)、それぞれの複製論理ブ
ロックに関連付けられ、この複製ブロックと同様に番号
が付けられたFFは、元の各ブロック用に表されたm−
1対の複製対のうちの複製ブロック/FF対と見なすこ
とができる。(この最低番号対は、後でブロック1およ
びFF1として番号が付け直される。)
【0081】各複製対の関連FFは、受け取った論理設
計内のFFの1つであると見なすことができる。しか
し、このようなFFは、フェーズ1でのみ動作する新し
いサンプリングFFであると見なすことができ、これ
は、論理設計の単一フェーズ・バージョンで古いサンプ
リングFFに置き換わるものである。
【0082】ステップ105では、複数対からなる各順
序の番号が付け直され、新しい番号付けは番号1から各
順序を開始する。m=1の各順序は単一対を有し、その
うちのブロックはブロック1として番号が付け直され、
FFはFF1として番号が付け直される。m>1の各順
序は1として番号が付け直された元の対を有し、各複製
対は、既存の対の順序を維持しながら、連続して番号が
付け直される。次の対は最低番号複製対として番号2か
ら始まり、事前に決定したフェーズ順序で以下同様に番
号が付けられる。したがって、最低フェーズの元の対は
ブロック1/FF1として番号が付け直され、順序内の
最低複製対はブロック2/FF2として番号が付け直さ
れ、Nを超えない番号を有することになる順序内のm番
目の対まで同様に番号が付け直される。
【0083】たとえば、元のブロックのその出力がフェ
ーズ2、4、7で動作する3つのFFによってサンプリ
ングされる場合、その元のブロックは、3というm値を
有することになる。そのブロックは、m−1=2によっ
て決定された2つのブロック複製を有する。元のブロッ
クと2つの複製ブロックは、それぞれ元のFF2、4、
7を有する3つの対からなる順序を形成し、その3つの
対は最初に2、4、7という番号が付けられる。次にこ
の3つの対は、連続番号1、2、3によってそれぞれ番
号が付け直され、ブロック1/FF1、ブロック2/F
F2、ブロック3/FF3という対を提供する。番号が
付け直されたFFは新しいFFと見なすことができる
か、または、本発明用の次の動作の定義を可能にするた
めに単に1〜mに番号が付け直されただけの古いFFと
見なすことができる。順序内の各複製ブロックIは2〜
mの番号が付け直された値を有するが、これは2≦I≦
Nという式によって表される値の範囲内にある。その順
序では、FF1によってサンプリングされたブロック1
は元のブロックとその関連FFである。
【0084】次にステップ105では、番号が付け直さ
れたブロックと関連FFが本発明の論理設計の単一フェ
ーズ・バージョンになるように再位置決めされ再接続さ
れる。この番号付け直しにより、最後に説明した1〜m
の連続番号付けが得られるが、これは次に、元の論理回
路設計と論理的に同じである変換済み論理構成内でブロ
ックと関連FFを固有に再接続するために使用される。
ブロック接続は以下の通りである。すなわち、論理ブロ
ック1の出力はFFIのフェーズトリガ入力に接続され
る。FF1の出力はブロック1の入力に接続され、さら
に各複製ブロックの入力に接続される。ブロックIの出
力はFFIのフェーズトリガ入力に接続される。また、
論理ブロックIの出力は論理ブロック1の入力に接続さ
れ、さらにIより大きい各複製論理ブロックJの入力に
接続される(すなわち、I<J≦N)。FFIの出力は
各論理ブロックJへの入力になる(すなわち、2≦J≦
I)。
【0085】各FF用のトリガ・クロック・フェーズを
同じクロック・フェーズ(好ましい実施例のフェーズ1
である)に変更するような最終的なクロック・フェーズ
再接続が行われる。論理設計内の任意のFFのトリガ・
フェーズがフェーズ1に変更されていない場合、そのF
Fは除去されるかまたは迂回される。論理設計の変換済
み単一フェーズ・バージョンは持続し、シミュレータ/
エミュレータに入力すべき論理表現を生成するための基
礎として使用される。
【0086】その所与の実施例に応じて本発明について
詳細に説明してきたが、当業者であれば、本発明につい
て多くの修正および変更を実施することができる。した
がって、特許請求の範囲は、本発明の真の精神および範
囲に該当するようなすべての修正および変更を含むもの
とする。
【0087】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0088】(1)複数フェーズ論理回路設計用のシミ
ュレーション/エミュレーション・プログラムを実行す
るために用意されたコンピュータ化システム内のシミュ
レーション/エミュレーションの効率を高めるための論
理変換方法において、複数フェーズ論理設計が元の論理
ブロックと元のFFとを含み、複数フェーズ論理回路設
計内の元の各論理ブロックを識別し、複数フェーズ論理
設計内の各論理ブロックの出力をサンプリングする元の
各フリップフロップ(FF)を識別し、複数のクロック
・フェーズで出力をサンプリングする複数のFFを有す
る元の各論理ブロックを識別するステップと、元の各F
Fを、複数フェーズのうちでそのFFの入力をトリガす
る1つのフェーズに関連付けるステップと、複数の元の
FFによってサンプリングされたものとして識別された
各論理ブロックを1回または複数回複製するステップで
あって、複製の回数が複数の関連FFより1つ少ない数
に等しいステップと、元の各論理ブロックを複製論理ブ
ロック(複数も可)および関連の元のFFに接続して、
関連FFの数に等しい複数のブロック出力を有する論理
ブロック構成にし、関連FFの複数フェーズ・クロック
・トリガを論理ブロック構成用の単一フェーズ・クロッ
ク・トリガに変更し、複数フェーズ論理設計内のすべて
の動作フェーズの出力と同等の出力を単一の動作フェー
ズで供給するような単一フェーズ論理設計を得るステッ
プとを含むことを特徴とする、論理変換方法。 (2)複数フェーズ論理設計が元の論理ブロックと元の
FFとを含み、前記接続ステップが、各論理ブロック構
成内の論理ブロックの出力を格納するために関連FFの
1つに各複製論理ブロックの出力を接続するステップを
さらに含むことを特徴とする、上記(1)に記載のコン
ピュータ化システム内のシミュレーション/エミュレー
ションの効率を高めるための論理変換方法。 (3)複数フェーズ論理設計が元の論理ブロックと元の
FFとを含み、前記複製ステップが、1〜Nの範囲内の
値を有する数値mを得るために元の論理ブロックの出力
を受け取るすべてのFF(複数も可)に接続されたすべ
てのクロック・フェーズをカウントし、Nが複数フェー
ズ論理設計内のクロック・フェーズの総数であり、数値
mが元の各論理ブロックに関連付けられ、元の各論理ブ
ロックがm=1またはm>1の値mを有するステップ
と、m>1という値を有する元の各論理ブロックと同一
の複製論理ブロックを供給するために元の各論理ブロッ
クをm−1回複製するのであって、1と等しい数値m
(m=1)を有する元の論理ブロックを複製するわけで
はないステップとをさらに含むことを特徴とする、上記
(2)に記載のコンピュータ化システム内のシミュレー
ション/エミュレーションの効率を高めるための論理変
換方法。 (4)複数フェーズ論理設計が元の論理ブロックと元の
FFとを含み、前記複製ステップが、元の各論理ブロッ
クと任意の複製ブロック(複数も可)とからなるm個の
ブロックごとに昇順でフェーズ番号を割り当て、そのフ
ェーズ番号が元の論理ブロックの出力を受け取るFF
(複数も可)に接続されたそれぞれのクロック・フェー
ズであり、そのFF(複数も可)がそれぞれのクロック
・フェーズによって最初に番号が付けられるステップ
と、m=1タイプのブロック/FFの順序とm>1タイ
プのブロック/FFの順序とを提供するために前記割当
てステップによって割り当てられたフェーズ番号をそれ
ぞれ置き換えるように、1〜mの連続接続番号を順番に
再割当てするステップと、各順序が、各順序内の最低番
号として番号1が割り当てられた元の論理ブロック/F
Fを含むステップとをさらに含むことを特徴とする、上
記(3)に記載のコンピュータ化システム内のシミュレ
ーション/エミュレーションの効率を高めるための論理
変換方法。 (5)前記再接続ステップが、1〜mの各ブロック/F
F順序内で各論理ブロックの出力を同じ割当て番号を有
するFFの入力に接続し、そのFFの出力をその論理ブ
ロックの入力に接続するステップと、各論理ブロックI
の出力を、m>1の各順序内で1より大きい同じ割当て
番号を有するFFの入力に接続するステップと、論理ブ
ロックIの出力を論理ブロック1の入力に接続し、さら
にm>1の各順序内でIより大きい各論理ブロックJ
(すなわち、I<J≦N)の入力に接続するステップ
と、FFIの出力を、m>1の各順序内で2≦J≦Iで
ある各論理ブロックJに入力として接続するステップと
をさらに含むことを特徴とする、上記(4)に記載のコ
ンピュータ化システム内のシミュレーション/エミュレ
ーションの効率を高めるための論理変換方法。 (6)前記再接続ステップが、同じクロック・フェーズ
を、論理設計内の各順序の各FFのクロック入力に接続
するステップをさらに含むことを特徴とする、上記
(5)に記載のコンピュータ化システム内のシミュレー
ション/エミュレーションの効率を高めるための論理変
換方法。 (7)前記再接続ステップが、論理設計内で動作するす
べてのFFに接続されたクロック・フェーズとしてクロ
ック・フェーズ1を選択するステップをさらに含むこと
を特徴とする、上記(6)に記載のコンピュータ化シス
テム内のシミュレーション/エミュレーションの効率を
高めるための論理変換方法。 (8)前記再接続ステップが、シミュレータ/エミュレ
ータへの入力用として論理設計内の論理ブロックおよび
FFのコンピュータ化表現を生成するステップをさらに
含むことを特徴とする、上記(6)に記載のコンピュー
タ化システム内のシミュレーション/エミュレーション
の効率を高めるための論理変換方法。 (9)論理回路設計のシミュレーション/エミュレーシ
ョンを実行するコンピュータ化システム用の論理変換方
法において、複数フェーズ・クロック・サイクル中にブ
ロック出力がフリップフロップ(FF)に格納される複
数フェーズ・クロック式論理設計の論理ブロック(元の
ブロック)を識別し、元の各ブロックからの出力を受け
取るFFに印加されるクロック・フェーズ(複数も可)
を元の各ブロックに関連付け、数値mが元の各ブロック
用のクロック・フェーズの数のカウントであり、元の各
ブロックのFF(複数も可)に印加されるフェーズ(複
数も可)用のフェーズ番号(複数も可)が元の各ブロッ
クに関連する一連のm個のフェーズ番号であるステップ
と、複数のフェーズ番号(m>1)からなる関連の順序
を有する各論理ブロックごとにm−1個の論理ブロック
(複数も可)を複製するが、m=1を有する元のブロッ
クを複製するわけではなく、複数フェーズ論理設計内の
元のブロックからの出力を受け取るFF(複数も可)の
うちの1つに出力を供給するために元の各ブロックと各
複製ブロックが割り当てられるステップと、FFの出力
(複数も可)を元の各ブロックとその複製論理ブロック
(複数も可)の入力に接続し、そのブロックの出力をF
Fおよびその他のブロックに接続し、各クロック・サイ
クルの複数フェーズ中に複数フェーズ論理設計で設定さ
れると思われるものと同じ値に同じクロック・サイクル
内のFFを設定するステップとを含むことを特徴とす
る、論理変換方法。 (10)前記接続ステップが、元の論理ブロックに関連
する論理ブロック構成内のFFの入力に元の各ブロック
とその複製ブロック(複数も可)を並行してそれぞれ接
続し、論理ブロック構成内の各FFのクロック・フェー
ズを単一フェーズ・クロックに変更し、同一論理格納環
境をシミュレートまたはエミュレートするための複数フ
ェーズ論理設計の複数フェーズ・サイクル中に設定され
たFFの状態と同等の状態に元の各ブロックに関連する
すべてのFFを同じサイクル中に設定する単一フェーズ
論理設計を得るステップをさらに含むことを特徴とす
る、上記(9)に記載の論理回路設計のシミュレーショ
ン/エミュレーションを実行するコンピュータ化システ
ム用の論理変換方法。
【図面の簡単な説明】
【図1】先行技術の複数フェーズ方法を使用するコンピ
ュータ・シミュレータ/エミュレータの動作を表す先行
技術の棒グラフを示す図である。図1は、コンピュータ
による複数動作フェーズのそれぞれについて、シミュレ
ータ/エミュレータによるコンピュータ資源の使い方を
時間の関数として示している。
【図2】本発明を使用する場合のコンピュータ・シミュ
レータ/エミュレータの動作を表す新規の棒グラフを示
す図である。割り当てられたコンピュータ資源は、時間
の関数として示された単一の動作フェーズ内でスケジュ
ーリングされる。
【図3】先行技術に見られる複数フェーズ・クロック式
ハードウェア論理設計を示す単純表現である。これは、
本発明を適用するための開始点として使用することがで
きる。
【図4】Nフェーズ・クロック用の波形を示す図であ
る。
【図5】本発明によって提供される変態プロセス内の開
始点として本明細書で使用する従来の2フェーズ論理設
計の単純な例を示す図であって、シミュレート/エミュ
レート・プロセスのパフォーマンスを大幅に増加するよ
うにシミュレータ/エミュレータに入力を供給するため
の同等の単一フェーズ論理設計に従来の論理設計を変換
するためのものである。
【図6】本発明の変態プロセスにおける図5の回路設計
の初期変更形式を示す図であって、図5の論理設計を本
発明によって提供される同等の単一フェーズ論理設計に
変換するためのものである。
【図7】変態プロセスにおける次の変換ステップの結果
を示す図であって、図6の論理設計を中間回路形式に変
換するためのものである。
【図8】変態プロセスにおける他の変換ステップの結果
を示す図であって、図7の論理設計をその論理設計の拡
張形式に変換するためのものである。
【図9】本発明によって提供される変態プロセスにおけ
る図5の複数フェーズ回路設計の最終的な単一フェーズ
形式を示す図であって、その複数フェーズ論理設計を、
その論理設計のシミュレータ/エミュレータ用の単一フ
ェーズタイプの動作を可能にする形式に変換するための
ものである。
【図10】本発明の変態プロセスの一般的な流れ図であ
る。
【符号の説明】
11 論理ブロック 12 クロック・フェーズ1のフリップフロップ 13 論理ブロック2 14 クロック・フェーズ2のフリップフロップ A 入力 B 入力 C 出力 C2 出力
フロントページの続き (72)発明者 ヘルムート・ロス アメリカ合衆国12590 ニューヨーク州ワ ッピンガーズ・フォールス タウン・ビュ ー・ドライブ 47

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】複数フェーズ論理回路設計用のシミュレー
    ション/エミュレーション・プログラムを実行するため
    に用意されたコンピュータ化システム内のシミュレーシ
    ョン/エミュレーションの効率を高めるための論理変換
    方法において、複数フェーズ論理設計が元の論理ブロッ
    クと元のFFとを含み、 複数フェーズ論理回路設計内の元の各論理ブロックを識
    別し、複数フェーズ論理設計内の各論理ブロックの出力
    をサンプリングする元の各フリップフロップ(FF)を
    識別し、複数のクロック・フェーズで出力をサンプリン
    グする複数のFFを有する元の各論理ブロックを識別す
    るステップと、 元の各FFを、複数フェーズのうちでそのFFの入力を
    トリガする1つのフェーズに関連付けるステップと、 複数の元のFFによってサンプリングされたものとして
    識別された各論理ブロックを1回または複数回複製する
    ステップであって、複製の回数が複数の関連FFより1
    つ少ない数に等しいステップと、 元の各論理ブロックを複製論理ブロック(複数も可)お
    よび関連の元のFFに接続して、関連FFの数に等しい
    複数のブロック出力を有する論理ブロック構成にし、関
    連FFの複数フェーズ・クロック・トリガを論理ブロッ
    ク構成用の単一フェーズ・クロック・トリガに変更し、
    複数フェーズ論理設計内のすべての動作フェーズの出力
    と同等の出力を単一の動作フェーズで供給するような単
    一フェーズ論理設計を得るステップとを含むことを特徴
    とする、論理変換方法。
  2. 【請求項2】複数フェーズ論理設計が元の論理ブロック
    と元のFFとを含み、前記接続ステップが、 各論理ブロック構成内の論理ブロックの出力を格納する
    ために関連FFの1つに各複製論理ブロックの出力を接
    続するステップをさらに含むことを特徴とする、請求項
    1に記載のコンピュータ化システム内のシミュレーショ
    ン/エミュレーションの効率を高めるための論理変換方
    法。
  3. 【請求項3】複数フェーズ論理設計が元の論理ブロック
    と元のFFとを含み、前記複製ステップが、 1〜Nの範囲内の値を有する数値mを得るために元の論
    理ブロックの出力を受け取るすべてのFF(複数も可)
    に接続されたすべてのクロック・フェーズをカウント
    し、Nが複数フェーズ論理設計内のクロック・フェーズ
    の総数であり、数値mが元の各論理ブロックに関連付け
    られ、元の各論理ブロックがm=1またはm>1の値m
    を有するステップと、 m>1という値を有する元の各論理ブロックと同一の複
    製論理ブロックを供給するために元の各論理ブロックを
    m−1回複製するのであって、1と等しい数値m(m=
    1)を有する元の論理ブロックを複製するわけではない
    ステップとをさらに含むことを特徴とする、請求項2に
    記載のコンピュータ化システム内のシミュレーション/
    エミュレーションの効率を高めるための論理変換方法。
  4. 【請求項4】複数フェーズ論理設計が元の論理ブロック
    と元のFFとを含み、前記複製ステップが、 元の各論理ブロックと任意の複製ブロック(複数も可)
    とからなるm個のブロックごとに昇順でフェーズ番号を
    割り当て、そのフェーズ番号が元の論理ブロックの出力
    を受け取るFF(複数も可)に接続されたそれぞれのク
    ロック・フェーズであり、そのFF(複数も可)がそれ
    ぞれのクロック・フェーズによって最初に番号が付けら
    れるステップと、 m=1タイプのブロック/FFの順序とm>1タイプの
    ブロック/FFの順序とを提供するために前記割当てス
    テップによって割り当てられたフェーズ番号をそれぞれ
    置き換えるように、1〜mの連続接続番号を順番に再割
    当てするステップと、 各順序が、各順序内の最低番号として番号1が割り当て
    られた元の論理ブロック/FFを含むステップとをさら
    に含むことを特徴とする、請求項3に記載のコンピュー
    タ化システム内のシミュレーション/エミュレーション
    の効率を高めるための論理変換方法。
  5. 【請求項5】前記再接続ステップが、 1〜mの各ブロック/FF順序内で各論理ブロックの出
    力を同じ割当て番号を有するFFの入力に接続し、その
    FFの出力をその論理ブロックの入力に接続するステッ
    プと、 各論理ブロックIの出力を、m>1の各順序内で1より
    大きい同じ割当て番号を有するFFの入力に接続するス
    テップと、 論理ブロックIの出力を論理ブロック1の入力に接続
    し、さらにm>1の各順序内でIより大きい各論理ブロ
    ックJ(すなわち、I<J≦N)の入力に接続するステ
    ップと、 FFIの出力を、m>1の各順序内で2≦J≦Iである
    各論理ブロックJに入力として接続するステップとをさ
    らに含むことを特徴とする、請求項4に記載のコンピュ
    ータ化システム内のシミュレーション/エミュレーショ
    ンの効率を高めるための論理変換方法。
  6. 【請求項6】前記再接続ステップが、 同じクロック・フェーズを、論理設計内の各順序の各F
    Fのクロック入力に接続するステップをさらに含むこと
    を特徴とする、請求項5に記載のコンピュータ化システ
    ム内のシミュレーション/エミュレーションの効率を高
    めるための論理変換方法。
  7. 【請求項7】前記再接続ステップが、 論理設計内で動作するすべてのFFに接続されたクロッ
    ク・フェーズとしてクロック・フェーズ1を選択するス
    テップをさらに含むことを特徴とする、請求項6に記載
    のコンピュータ化システム内のシミュレーション/エミ
    ュレーションの効率を高めるための論理変換方法。
  8. 【請求項8】前記再接続ステップが、 シミュレータ/エミュレータへの入力用として論理設計
    内の論理ブロックおよびFFのコンピュータ化表現を生
    成するステップをさらに含むことを特徴とする、請求項
    6に記載のコンピュータ化システム内のシミュレーショ
    ン/エミュレーションの効率を高めるための論理変換方
    法。
  9. 【請求項9】論理回路設計のシミュレーション/エミュ
    レーションを実行するコンピュータ化システム用の論理
    変換方法において、 複数フェーズ・クロック・サイクル中にブロック出力が
    フリップフロップ(FF)に格納される複数フェーズ・
    クロック式論理設計の論理ブロック(元のブロック)を
    識別し、元の各ブロックからの出力を受け取るFFに印
    加されるクロック・フェーズ(複数も可)を元の各ブロ
    ックに関連付け、数値mが元の各ブロック用のクロック
    ・フェーズの数のカウントであり、元の各ブロックのF
    F(複数も可)に印加されるフェーズ(複数も可)用の
    フェーズ番号(複数も可)が元の各ブロックに関連する
    一連のm個のフェーズ番号であるステップと、 複数のフェーズ番号(m>1)からなる関連の順序を有
    する各論理ブロックごとにm−1個の論理ブロック(複
    数も可)を複製するが、m=1を有する元のブロックを
    複製するわけではなく、複数フェーズ論理設計内の元の
    ブロックからの出力を受け取るFF(複数も可)のうち
    の1つに出力を供給するために元の各ブロックと各複製
    ブロックが割り当てられるステップと、 FFの出力(複数も可)を元の各ブロックとその複製論
    理ブロック(複数も可)の入力に接続し、そのブロック
    の出力をFFおよびその他のブロックに接続し、各クロ
    ック・サイクルの複数フェーズ中に複数フェーズ論理設
    計で設定されると思われるものと同じ値に同じクロック
    ・サイクル内のFFを設定するステップとを含むことを
    特徴とする、論理変換方法。
  10. 【請求項10】前記接続ステップが、 元の論理ブロックに関連する論理ブロック構成内のFF
    の入力に元の各ブロックとその複製ブロック(複数も
    可)を並行してそれぞれ接続し、論理ブロック構成内の
    各FFのクロック・フェーズを単一フェーズ・クロック
    に変更し、同一論理格納環境をシミュレートまたはエミ
    ュレートするための複数フェーズ論理設計の複数フェー
    ズ・サイクル中に設定されたFFの状態と同等の状態に
    元の各ブロックに関連するすべてのFFを同じサイクル
    中に設定する単一フェーズ論理設計を得るステップをさ
    らに含むことを特徴とする、請求項9に記載の論理回路
    設計のシミュレーション/エミュレーションを実行する
    コンピュータ化システム用の論理変換方法。
JP14773697A 1996-06-13 1997-06-05 シミュレーション/エミュレーションの効率を増すための論理変換方法 Expired - Fee Related JP3905951B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/662383 1996-06-13
US08/662,383 US5761488A (en) 1996-06-13 1996-06-13 Logic translation method for increasing simulation emulation efficiency

Publications (2)

Publication Number Publication Date
JPH1091677A true JPH1091677A (ja) 1998-04-10
JP3905951B2 JP3905951B2 (ja) 2007-04-18

Family

ID=24657490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14773697A Expired - Fee Related JP3905951B2 (ja) 1996-06-13 1997-06-05 シミュレーション/エミュレーションの効率を増すための論理変換方法

Country Status (2)

Country Link
US (1) US5761488A (ja)
JP (1) JP3905951B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503749A (ja) * 2005-08-02 2009-01-29 シンプリシティー インコーポレイテッド 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778814B2 (en) * 2004-03-30 2010-08-17 Siemens Aktiengesellschaft Method and device for simulating an automation system
US7739093B2 (en) * 2004-06-01 2010-06-15 Quickturn Design System, Inc. Method of visualization in processor based emulation system
CN100370466C (zh) * 2006-03-01 2008-02-20 华为技术有限公司 逻辑电路仿真测试方法和系统
US7650267B1 (en) 2006-03-31 2010-01-19 Rockwell Automation Technologies, Inc. Distribution of DES replications in a simulation
US8756557B2 (en) * 2007-05-09 2014-06-17 Synopsys, Inc. Techniques for use with automated circuit design and simulations
US7984400B2 (en) * 2007-05-09 2011-07-19 Synopsys, Inc. Techniques for use with automated circuit design and simulations

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4527249A (en) * 1982-10-22 1985-07-02 Control Data Corporation Simulator system for logic design validation
US4769817A (en) * 1986-01-31 1988-09-06 Zycad Corporation Concurrent fault simulation for logic designs
EP0248268B1 (de) * 1986-06-06 1993-03-31 Siemens Aktiengesellschaft Verfahren zur Simulation eines Verzögerungsfehlers in einer Logikschaltung und Anordnungen zur Durchführung des Verfahrens
US4787061A (en) * 1986-06-25 1988-11-22 Ikos Systems, Inc. Dual delay mode pipelined logic simulator
US5014234A (en) * 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
JPH07114348B2 (ja) * 1987-12-11 1995-12-06 日本電気株式会社 論理回路
US5081601A (en) * 1989-09-22 1992-01-14 Lsi Logic Corporation System for combining independently clocked simulators
JP2638385B2 (ja) * 1992-05-29 1997-08-06 川崎製鉄株式会社 平鋼の圧延方法および圧延設備
US5355321A (en) * 1992-06-12 1994-10-11 Digital Equipment Corporation Static timing verification
EP0591593A1 (en) * 1992-10-09 1994-04-13 International Business Machines Corporation Device and method of managing asynchronous events in a finite state machine
US5302866A (en) * 1993-03-18 1994-04-12 Xilinx, Inc. Input circuit block and method for PLDs with register clock enable selection
US5394443A (en) * 1993-12-23 1995-02-28 Unisys Corporation Multiple interval single phase clock

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503749A (ja) * 2005-08-02 2009-01-29 シンプリシティー インコーポレイテッド 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム

Also Published As

Publication number Publication date
JP3905951B2 (ja) 2007-04-18
US5761488A (en) 1998-06-02

Similar Documents

Publication Publication Date Title
AU2018203563B2 (en) Reciprocal quantum logic (RQL) circuit synthesis
US7865346B2 (en) Instruction encoding in a hardware simulation accelerator
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
JPH03156572A (ja) 論理回路比較検証システムおよび方法
JPH11353357A (ja) 再コンフュギュレ―ション可能なハ―ドウェアの評価装置及び評価方法
US20020152061A1 (en) Data processing system and design system
EP0774139A1 (en) System and method for simulating discrete functions using ordered decision arrays
US5491639A (en) Procedure for verifying data-processing systems
US6557150B1 (en) Method of extracting timing characteristics of transistor circuits, storage medium storing timing characteristic library, LSI designing method, and gate extraction method
US6847927B2 (en) Efficient array tracing in a logic simulator machine
JP3905951B2 (ja) シミュレーション/エミュレーションの効率を増すための論理変換方法
CN107844678B (zh) 包含IP/Memory时序路径的spice仿真方法
JPH04246776A (ja) タイミング情報を編成し解析する方法及び装置
US7257786B1 (en) Method and apparatus for solving constraints
WO2000036532A1 (en) Latch inference using dataflow analysis
Shang et al. Asynchronous system synthesis based on direct mapping using VHDL and Petri nets
US7093224B2 (en) Model-based logic design
US7197445B1 (en) Atomic transaction processing for logic simulation
Bensalem et al. A Simplified Approach for Testing Real-Time Systems Based on Action Refinement.
US10409624B1 (en) Data array compaction in an emulation system
Voss et al. The analysis of modeling styles for system level VHDL simulations
US6898562B2 (en) Method and system for efficiently overriding net values in a logic simulator machine
CN116911219A (zh) 用于逻辑系统设计的仿真的方法、电子设备和存储介质
JPS6311715B2 (ja)
Yakovlev et al. Petri nets and asynchronous circuit design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040512

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: 20070109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070115

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: 20100119

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees