JP3131177B2 - エミュレーションとシミュレーションを用いた設計検証のための方法および装置 - Google Patents
エミュレーションとシミュレーションを用いた設計検証のための方法および装置Info
- Publication number
- JP3131177B2 JP3131177B2 JP09321879A JP32187997A JP3131177B2 JP 3131177 B2 JP3131177 B2 JP 3131177B2 JP 09321879 A JP09321879 A JP 09321879A JP 32187997 A JP32187997 A JP 32187997A JP 3131177 B2 JP3131177 B2 JP 3131177B2
- Authority
- JP
- Japan
- Prior art keywords
- design
- event
- microprocessor
- simulation
- reconfigurable component
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Tests Of Electronic Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、論理設計を検証す
るためのエミュレーションとシミュレーションの組み合
わせに関する。
るためのエミュレーションとシミュレーションの組み合
わせに関する。
【0002】
【従来の技術と発明が解決しようとする課題】エミュレ
ーションシステムは、システムと集積回路を生産する前
に、機能的に試験するための強力な方法を回路設計者と
システム設計者に提供する。回路設計者と回路技術者
は、エミュレータを用いて、設計を一時的に動作するハ
ードウエアに変換し、これにより、技術者が設計をリア
ルタイムまたはそれに準じて試験することを可能にす
る。さらに、技術者は、集積回路、システムのハードウ
エア及びソフトウエアを並行して検証できる。エミュレ
ーションシステムの例は、Sampleらの米国特許第
5,109,353号とButtsらの米国特許第5,0
36,473号に記載されており、それらはここでの参
照により本明細書に組み込まれる。
ーションシステムは、システムと集積回路を生産する前
に、機能的に試験するための強力な方法を回路設計者と
システム設計者に提供する。回路設計者と回路技術者
は、エミュレータを用いて、設計を一時的に動作するハ
ードウエアに変換し、これにより、技術者が設計をリア
ルタイムまたはそれに準じて試験することを可能にす
る。さらに、技術者は、集積回路、システムのハードウ
エア及びソフトウエアを並行して検証できる。エミュレ
ーションシステムの例は、Sampleらの米国特許第
5,109,353号とButtsらの米国特許第5,0
36,473号に記載されており、それらはここでの参
照により本明細書に組み込まれる。
【0003】典型的には、設計プロセスは、初期設計の
アイデアレベルから詳細な製造レベルまで設計の多重の
変形を含む。技術者は、設計のアイデアから出発でき
る。次に、技術者は、設計のアイデアの行動(behavior
al)定義を生成できる。行動設計で得られるものは、フ
ローチャートまたはフローグラフであってもよい。次
に、技術者は、このシステムの実行に必要なシステムデ
ータ経路を設計でき、レジスタと論理ユニットを特定で
きる。この段階で、技術者は、バスを通ってのレジスタ
と論理ユニットの間のデータ移動を制御するための手順
を確立できる。論理設計は、設計プロセスにおける次の
ステップであり、ここで、技術者は、データレジスタ、
バス、論理ユニット、およびそれらの制御ハードウエア
の実行のために基本的なゲートとフリップフロップを使
用する。この設計段階の結果は、ゲートとフリップフロ
ップのネットリストである。
アイデアレベルから詳細な製造レベルまで設計の多重の
変形を含む。技術者は、設計のアイデアから出発でき
る。次に、技術者は、設計のアイデアの行動(behavior
al)定義を生成できる。行動設計で得られるものは、フ
ローチャートまたはフローグラフであってもよい。次
に、技術者は、このシステムの実行に必要なシステムデ
ータ経路を設計でき、レジスタと論理ユニットを特定で
きる。この段階で、技術者は、バスを通ってのレジスタ
と論理ユニットの間のデータ移動を制御するための手順
を確立できる。論理設計は、設計プロセスにおける次の
ステップであり、ここで、技術者は、データレジスタ、
バス、論理ユニット、およびそれらの制御ハードウエア
の実行のために基本的なゲートとフリップフロップを使
用する。この設計段階の結果は、ゲートとフリップフロ
ップのネットリストである。
【0004】次の設計段階は、ゲートとフリップフロッ
プの上記のネットリストをトランジスタリストまたはト
ランジスタレイアウトに変換する。こうして、ゲートと
フリップフロップは、それらのトランジスタ等価物また
はライブラリセルと置換される。セルとトランジスタの
選択プロセスの間に、タイミングと負荷の要求が考慮さ
れる。最後に、この設計が製造され、ここで、トランジ
スタリストまたはトランジスタレイアウトの詳細が、プ
ログラマブル装置のヒューズを融かすために、または、
集積回路製造のためのマスクを作るために使用される。
プの上記のネットリストをトランジスタリストまたはト
ランジスタレイアウトに変換する。こうして、ゲートと
フリップフロップは、それらのトランジスタ等価物また
はライブラリセルと置換される。セルとトランジスタの
選択プロセスの間に、タイミングと負荷の要求が考慮さ
れる。最後に、この設計が製造され、ここで、トランジ
スタリストまたはトランジスタレイアウトの詳細が、プ
ログラマブル装置のヒューズを融かすために、または、
集積回路製造のためのマスクを作るために使用される。
【0005】ハードウエア記述言語("HDL")は、上
述の種々の設計段階の出力を表現するためのフォーマッ
トを提供する。この言語は、機能ブロックのゲートレベ
ルの表現と完全なシステムの高レベルの表現とを含む種
々のレベルで回路を生成するために使用できる。こうし
て、HDLは、多数の抽象レベルで電子システムを記述
できる。ハードウエア記述言語は、設計のシミュレーシ
ョン、モデル化、試験、作成、ドキュメンテーションを
記述するために使用される。以前は、回路設計者は、論
理ゲートレベルで設計しようとしていた。設計者は、ま
すます、特にHDL技法を用いて、より高レベルで設計
している。HDLは、機能およびワイヤリングの詳細の
表現のための便利なフォーマットを提供し、1以上の抽
象レベルでハードウエアを表現できる。
述の種々の設計段階の出力を表現するためのフォーマッ
トを提供する。この言語は、機能ブロックのゲートレベ
ルの表現と完全なシステムの高レベルの表現とを含む種
々のレベルで回路を生成するために使用できる。こうし
て、HDLは、多数の抽象レベルで電子システムを記述
できる。ハードウエア記述言語は、設計のシミュレーシ
ョン、モデル化、試験、作成、ドキュメンテーションを
記述するために使用される。以前は、回路設計者は、論
理ゲートレベルで設計しようとしていた。設計者は、ま
すます、特にHDL技法を用いて、より高レベルで設計
している。HDLは、機能およびワイヤリングの詳細の
表現のための便利なフォーマットを提供し、1以上の抽
象レベルでハードウエアを表現できる。
【0006】2つのよく使われるハードウエア記述言語
は、VerilogとVery-High-Speed
Integrated Circuit (VHSIC)
ハードウエア記述言語("VHDL")である。VHDL
は、1980年代の初めに米国国防省の中で開発が始め
られ、初めは、デジタルハードウエアシステムの記述の
ためのドキュメンテーション言語であることを意図して
いた。その後、ハードウエア記述言語は、記述がシミュ
レートでき合成できるように洗練された。設計エント
リ、シミュレーションおよび合成を含む、HDLを基に
した設計ツールが到来したので、続いて、VHDLの焦
点は設計ドキュメンテーションから高レベル設計に移っ
た。他のハードウエア記述言語は、A Hardwar
e Programing Language(”AHP
L")、Computer Design Langua
ge ("CDL")、CONsensus LANgua
ge ("CONLAN")、Interactive De
sign Language ("IDL")、Instr
uction Set Processor Speci
fication ("ISPS")、Test Gene
ration And Simulation ("TEG
AS”)、Texas Instruments Har
dware Description Language
("TI−HDL")、Toshiba Descrip
tion Language ("TDL")、ZEUS、
NDLを含むが、これに限定されない。
は、VerilogとVery-High-Speed
Integrated Circuit (VHSIC)
ハードウエア記述言語("VHDL")である。VHDL
は、1980年代の初めに米国国防省の中で開発が始め
られ、初めは、デジタルハードウエアシステムの記述の
ためのドキュメンテーション言語であることを意図して
いた。その後、ハードウエア記述言語は、記述がシミュ
レートでき合成できるように洗練された。設計エント
リ、シミュレーションおよび合成を含む、HDLを基に
した設計ツールが到来したので、続いて、VHDLの焦
点は設計ドキュメンテーションから高レベル設計に移っ
た。他のハードウエア記述言語は、A Hardwar
e Programing Language(”AHP
L")、Computer Design Langua
ge ("CDL")、CONsensus LANgua
ge ("CONLAN")、Interactive De
sign Language ("IDL")、Instr
uction Set Processor Speci
fication ("ISPS")、Test Gene
ration And Simulation ("TEG
AS”)、Texas Instruments Har
dware Description Language
("TI−HDL")、Toshiba Descrip
tion Language ("TDL")、ZEUS、
NDLを含むが、これに限定されない。
【0007】シミュレーションは、長い間、複雑な電子
回路設計の論理的な正確さの検証の好ましい方法であっ
た。シミュレーションは、広く、製造され試験される設
計に対して任意の刺激の下で同様な方法で応答するモデ
ルの作成として定義される。より詳細には、「シミュレ
ーション」の用語は、典型的には、そのようなモデルが
コンピュータプログラムとして実行されるようなときに
使用される。対照的に、「エミュレーション」の用語
は、プログラマブル(「再構成可能な」ともいう)論理
装置またはフィールド・プログラマブル・ゲートアレイ
(FPGA)装置の生成をいう。シミュレーションは、
費用のかかる製造プロセスが着手される前に、技術者が
設計の誤りを検出できるので、時間と財源を大きく節約
する。さらに、設計プロセス自体は、新製品の最初の一
般的概念が詳細な青写真に変換されていく一連のステッ
プとしてみることができる。このプロセスの初めのころ
のステップで検出する誤りも、時間と製造資源を節約す
る。
回路設計の論理的な正確さの検証の好ましい方法であっ
た。シミュレーションは、広く、製造され試験される設
計に対して任意の刺激の下で同様な方法で応答するモデ
ルの作成として定義される。より詳細には、「シミュレ
ーション」の用語は、典型的には、そのようなモデルが
コンピュータプログラムとして実行されるようなときに
使用される。対照的に、「エミュレーション」の用語
は、プログラマブル(「再構成可能な」ともいう)論理
装置またはフィールド・プログラマブル・ゲートアレイ
(FPGA)装置の生成をいう。シミュレーションは、
費用のかかる製造プロセスが着手される前に、技術者が
設計の誤りを検出できるので、時間と財源を大きく節約
する。さらに、設計プロセス自体は、新製品の最初の一
般的概念が詳細な青写真に変換されていく一連のステッ
プとしてみることができる。このプロセスの初めのころ
のステップで検出する誤りも、時間と製造資源を節約す
る。
【0008】シミュレータは、2つの型に分類できる。
第1の型のシミュレータは、レベル化シミュレーション
原理を用い、第2の型のシミュレータは、イベントドリ
ブン・シミュレーション原理を用いる。レベル化シミュ
レータは、各シミュレーションサイクルで、シミュレー
トされる設計の全コンポーネントの新しい状態、コンポ
ーネントへの入力信号が変化したか否かを再評価しなけ
ればならない。さらに、状態が変化していなくても、コ
ンポーネントの状態が、再転送されねばならない。イベ
ントドリブン・シミュレータは、コンポーネントの評価
時間をかなり節約する。しかし、さらに、長いソフトウ
エア実行時間が、コンポーネントが評価されるべきか否
かの決定に費やされる。その結果、従来の2つの型の
(レベル化とイベントドリブン)シミュレータは、同様
な性能をもつ。シミュレーションに対するエミュレーシ
ョンの第1の長所は速度である。エミュレーションは、
検証中の全コンポーネントを、物理的に異なったプログ
ラマブル論理アレイにマップし、したがって、すべての
そのようなコンポーネントは、並列に検証される。しか
し、典型的なシミュレータでは、すべてのシミュレーシ
ョン時間ステップで、単独の処理素子が、各コンポーネ
ントの次の状態を連続的に計算する。
第1の型のシミュレータは、レベル化シミュレーション
原理を用い、第2の型のシミュレータは、イベントドリ
ブン・シミュレーション原理を用いる。レベル化シミュ
レータは、各シミュレーションサイクルで、シミュレー
トされる設計の全コンポーネントの新しい状態、コンポ
ーネントへの入力信号が変化したか否かを再評価しなけ
ればならない。さらに、状態が変化していなくても、コ
ンポーネントの状態が、再転送されねばならない。イベ
ントドリブン・シミュレータは、コンポーネントの評価
時間をかなり節約する。しかし、さらに、長いソフトウ
エア実行時間が、コンポーネントが評価されるべきか否
かの決定に費やされる。その結果、従来の2つの型の
(レベル化とイベントドリブン)シミュレータは、同様
な性能をもつ。シミュレーションに対するエミュレーシ
ョンの第1の長所は速度である。エミュレーションは、
検証中の全コンポーネントを、物理的に異なったプログ
ラマブル論理アレイにマップし、したがって、すべての
そのようなコンポーネントは、並列に検証される。しか
し、典型的なシミュレータでは、すべてのシミュレーシ
ョン時間ステップで、単独の処理素子が、各コンポーネ
ントの次の状態を連続的に計算する。
【0009】エミュレーションは、論理ゲートのネット
ワークとして、またはそれに容易に変換できるように表
現される設計のための有効な検証技術である。しかし、
現在の設計の技法では、初めの頃の設計段階で、大きな
設計部分が行動モデルにより表現される。1連の設計部
分を通して、これらの行動モデルは、同等な構造表現に
次第に置き換えられる。各置き換えステップの正確さ
は、検証に供され、その点で、設計は、行動コンポーネ
ント、構造コンポーネントおよびゲートレベルコンポー
ネントの複雑な混合として設計それ自体を表現する。設
計の構造部分は、広く利用される論理合成プログラムを
用いるエミュレーションハードウエアに直接にマップで
きる。しかし、行動部分は、コンピュータプログラムの
中にコンパイルでき実行できるだけである。設計サイク
ルの初めの段階では、新製品の概念がまだそのコンポー
ネントにより表現されず、むしろその機能の高レベル記
述により表現されるが、エミュレーションは、その性質
により、実際のハードウエアを用いるモデルの生成を必
要とし、したがって、設計サイクルの初めの段階で使用
できない。したがって、初めのころの設計段階での検証
を実行するため、最も適した環境は、エミュレーション
と行動シミュレーションの特徴を有効に組み合わせる。
さらに、エミュレーションとシミュレーションの組み合
わせは、アナログ信号のような物理的制約のためエミュ
レートできない設計コンポーネントを設計者がシミュレ
ートすることを可能にする。
ワークとして、またはそれに容易に変換できるように表
現される設計のための有効な検証技術である。しかし、
現在の設計の技法では、初めの頃の設計段階で、大きな
設計部分が行動モデルにより表現される。1連の設計部
分を通して、これらの行動モデルは、同等な構造表現に
次第に置き換えられる。各置き換えステップの正確さ
は、検証に供され、その点で、設計は、行動コンポーネ
ント、構造コンポーネントおよびゲートレベルコンポー
ネントの複雑な混合として設計それ自体を表現する。設
計の構造部分は、広く利用される論理合成プログラムを
用いるエミュレーションハードウエアに直接にマップで
きる。しかし、行動部分は、コンピュータプログラムの
中にコンパイルでき実行できるだけである。設計サイク
ルの初めの段階では、新製品の概念がまだそのコンポー
ネントにより表現されず、むしろその機能の高レベル記
述により表現されるが、エミュレーションは、その性質
により、実際のハードウエアを用いるモデルの生成を必
要とし、したがって、設計サイクルの初めの段階で使用
できない。したがって、初めのころの設計段階での検証
を実行するため、最も適した環境は、エミュレーション
と行動シミュレーションの特徴を有効に組み合わせる。
さらに、エミュレーションとシミュレーションの組み合
わせは、アナログ信号のような物理的制約のためエミュ
レートできない設計コンポーネントを設計者がシミュレ
ートすることを可能にする。
【0010】設計が完成に近づくにつれ、自然に行動挙
動から論理エミュレーションに主眼点が移る。しかし、
将来の製品の作動環境を表現する部分は、構造表現には
決して変換できない。この場合、システムレベルの環境
の行動記述は、エミュレートされる設計のためのテスト
ベンチとして役立つ。システムレベルの行動記述は、テ
スト刺激を発生し、実際の動作条件をよく複製するよう
に検証中の設計の応答を評価する。そのような行動テス
トベンチを実行する必要は、1つの論理検証システムに
おけるシミュレーションとエミュレーションを組み合わ
せるもう1つの動機である。エミュレーションとシミュ
レーションを組み合わせる1つのアプローチは、ネット
ワークインタフェースでのイベントすなわち信号状態の
変化を通信するホスト・ワークステーション(またはそ
のネットワーク)でシミュレータを動かすことである。
しかし、そのような解決において、イベント転送の速度
は、性能をひどく制限する。実験が示すように、サン・
ワークステーション(たとえばSPARC-20)で動
作する転送制御プロトコル("TCP")での4バイトデ
ータパケットの転送の平均時間は、約50マイクロ秒で
ある。そのような大きさのデータパケットがイベントを
符号化するために使用され、かつ、シミュレーションサ
イクルあたりの1000イベントの平均設計アクティビ
ティが与えらると仮定すると、シミュレーションの速度
は、1秒あたり20サイクルに制限される。したがっ
て、ゲートレベルの表現、構造の表現および行動表現の
混合で有り得る回路設計を効率的に検証するという要求
が現在存在する。
動から論理エミュレーションに主眼点が移る。しかし、
将来の製品の作動環境を表現する部分は、構造表現には
決して変換できない。この場合、システムレベルの環境
の行動記述は、エミュレートされる設計のためのテスト
ベンチとして役立つ。システムレベルの行動記述は、テ
スト刺激を発生し、実際の動作条件をよく複製するよう
に検証中の設計の応答を評価する。そのような行動テス
トベンチを実行する必要は、1つの論理検証システムに
おけるシミュレーションとエミュレーションを組み合わ
せるもう1つの動機である。エミュレーションとシミュ
レーションを組み合わせる1つのアプローチは、ネット
ワークインタフェースでのイベントすなわち信号状態の
変化を通信するホスト・ワークステーション(またはそ
のネットワーク)でシミュレータを動かすことである。
しかし、そのような解決において、イベント転送の速度
は、性能をひどく制限する。実験が示すように、サン・
ワークステーション(たとえばSPARC-20)で動
作する転送制御プロトコル("TCP")での4バイトデ
ータパケットの転送の平均時間は、約50マイクロ秒で
ある。そのような大きさのデータパケットがイベントを
符号化するために使用され、かつ、シミュレーションサ
イクルあたりの1000イベントの平均設計アクティビ
ティが与えらると仮定すると、シミュレーションの速度
は、1秒あたり20サイクルに制限される。したがっ
て、ゲートレベルの表現、構造の表現および行動表現の
混合で有り得る回路設計を効率的に検証するという要求
が現在存在する。
【0011】
【課題を解決するための手段】従って、本発明の一般的
な目的は、シミュレートされる設計部分とエミュレート
される設計部分とのオーバーヘッドが最小になるよう
に、論理設計のシミュレーションとエミュレーションを
効率的に結合する装置及び方法を提供することである。
この目的を達成するために、設計検証方法及び装置は、
検証中の論理設計の1部をエミュレートするために使用
される少なくとも1つの再構成可能な装置を含む。さら
に、少なくとも1つのマイクロプロセッサは、行動記述
として表現できるたの設計部分をシミュレートするため
に使用される。マイクロプロセッサは、シミュレートさ
れる部分とエミュレートされる部分の間のデータ転送時
間を最小にするように上記の再構成可能な装置に接続さ
れる。さらに、イベント検出器は、設計の検証の間にイ
ベントを検出するために備えられる。このマイクロプロ
セッサは、イベント検出機能などを実行しなくてよくな
り、これにより、設計検証時間を減少する。また、設計
検証方法及び装置は、設計をシミュレートするマイクロ
プロセッサをそれぞれ備える複数のシミュレーションモ
ジュールと、このシミュレーションモジュールに接続さ
れ、設計をエミュレートする第1の再構成可能な構成要
素とを含む。複数のシミュレーションモジュールは、さ
らに、第2の再構成可能な構成要素を備え、この第2の
再構成可能な構成要素は、設計のシミュレーションにお
いてマイクロプロセッサを助けるイベントを検出するイ
ベント検出器を備える。本発明のその他の目的、効果お
よび特徴は、以下の説明と添付の図面から当業者にとり
明らかになる。
な目的は、シミュレートされる設計部分とエミュレート
される設計部分とのオーバーヘッドが最小になるよう
に、論理設計のシミュレーションとエミュレーションを
効率的に結合する装置及び方法を提供することである。
この目的を達成するために、設計検証方法及び装置は、
検証中の論理設計の1部をエミュレートするために使用
される少なくとも1つの再構成可能な装置を含む。さら
に、少なくとも1つのマイクロプロセッサは、行動記述
として表現できるたの設計部分をシミュレートするため
に使用される。マイクロプロセッサは、シミュレートさ
れる部分とエミュレートされる部分の間のデータ転送時
間を最小にするように上記の再構成可能な装置に接続さ
れる。さらに、イベント検出器は、設計の検証の間にイ
ベントを検出するために備えられる。このマイクロプロ
セッサは、イベント検出機能などを実行しなくてよくな
り、これにより、設計検証時間を減少する。また、設計
検証方法及び装置は、設計をシミュレートするマイクロ
プロセッサをそれぞれ備える複数のシミュレーションモ
ジュールと、このシミュレーションモジュールに接続さ
れ、設計をエミュレートする第1の再構成可能な構成要
素とを含む。複数のシミュレーションモジュールは、さ
らに、第2の再構成可能な構成要素を備え、この第2の
再構成可能な構成要素は、設計のシミュレーションにお
いてマイクロプロセッサを助けるイベントを検出するイ
ベント検出器を備える。本発明のその他の目的、効果お
よび特徴は、以下の説明と添付の図面から当業者にとり
明らかになる。
【0012】請求項1は、エミュレーションとシミュレ
ーションとを用いた設計検証装置を請求し、この装置
は、設計の第1部分をエミュレートする少なくとも1つ
の再構成可能な構成要素と、前記の再構成可能な構成要
素に電気的に接続され、前記の設計の第2部分をシミュ
レートする少なくとも1つのマイクロプロセッサと、前
記の少なくとも1つのマイクロプロセッサに接続され、
設計検証の間に複数のイベントを検出して前記の少なく
とも1つのマイクロプロセッサをイベント検出から解放
するイベント検出器とからなり、前記の少なくとも1つ
のマイクロプロセッサは、第1のマイクロプロセッサと
第2のマイクロプロセッサを備え、さらに、前記の第1
と第2のマイクロプロセッサの各々による並列の実行の
ために前記の設計の第2部分の独立のフラグメントを選
択する選択器を備えることを特徴とする。請求項2は、
エミュレーションとシミュレーションとを用いた設計検
証装置を請求し、この装置は、設計の第1部分をエミュ
レートする少なくとも1つの再構成可能な構成要素と、
前記の再構成可能な構成要素に電気的に接続され、前記
の設計の第2部分をシミュレートする少なくとも1つの
マイクロプロセッサと、前記の少なくとも1つのマイク
ロプロセッサに接続され、設計検証の間に複数のイベン
トを検出して前記の少なくとも1つのマイクロプロセッ
サをイベント検出から解放するイベント検出器と、前記
のマイクロプロセッサの実行のために前記の設計の第2
部分の独立のフラグメントを選択する選択器とからなる
ことを特徴とする。
ーションとを用いた設計検証装置を請求し、この装置
は、設計の第1部分をエミュレートする少なくとも1つ
の再構成可能な構成要素と、前記の再構成可能な構成要
素に電気的に接続され、前記の設計の第2部分をシミュ
レートする少なくとも1つのマイクロプロセッサと、前
記の少なくとも1つのマイクロプロセッサに接続され、
設計検証の間に複数のイベントを検出して前記の少なく
とも1つのマイクロプロセッサをイベント検出から解放
するイベント検出器とからなり、前記の少なくとも1つ
のマイクロプロセッサは、第1のマイクロプロセッサと
第2のマイクロプロセッサを備え、さらに、前記の第1
と第2のマイクロプロセッサの各々による並列の実行の
ために前記の設計の第2部分の独立のフラグメントを選
択する選択器を備えることを特徴とする。請求項2は、
エミュレーションとシミュレーションとを用いた設計検
証装置を請求し、この装置は、設計の第1部分をエミュ
レートする少なくとも1つの再構成可能な構成要素と、
前記の再構成可能な構成要素に電気的に接続され、前記
の設計の第2部分をシミュレートする少なくとも1つの
マイクロプロセッサと、前記の少なくとも1つのマイク
ロプロセッサに接続され、設計検証の間に複数のイベン
トを検出して前記の少なくとも1つのマイクロプロセッ
サをイベント検出から解放するイベント検出器と、前記
のマイクロプロセッサの実行のために前記の設計の第2
部分の独立のフラグメントを選択する選択器とからなる
ことを特徴とする。
【0013】
【0014】請求項3は、エミュレーションとシミュレ
ーションとを用いた設計検証装置を請求し、この装置
は、設計の第1部分をエミュレートする少なくとも1つ
の再構成可能な構成要素と、前記の再構成可能な構成要
素に電気的に接続され、前記の設計の第2部分をシミュ
レートする少なくとも1つのマイクロプロセッサと、前
記の少なくとも1つのマイクロプロセッサに接続され、
設計検証の間に複数のイベントを検出して前記の少なく
とも1つのマイクロプロセッサをイベント検出から解放
するイベント検出器とからなり、前記の少なくとも1つ
の再構成可能な構成要素が、第1の再構成可能な構成要
素と第2の再構成可能な構成要素を備え、前記の第2の
再構成可能な構成要素は、さらに、前記のイベント検出
器によるイベントの検出において前記の少なくとも1つ
のマイクロプロセッサによりシミュレートされる前記の
設計の第2部分のフラグメントのスケジュールを作成す
るスケジュール作成器を備えることを特徴とする装置を
請求する。請求項4は、エミュレーションとシミュレー
ションとを用いた設計検証装置を請求し、この装置は、
設計の第1部分をエミュレートする少なくとも1つの再
構成可能な構成要素と、前記の再構成可能な構成要素に
電気的に接続され、前記の設計の第2部分をシミュレー
トする少なくとも1つのマイクロプロセッサと、前記の
少なくとも1つのマイクロプロセッサに接続され、設計
検証の間に複数のイベントを検出して前記の少なくとも
1つのマイクロプロセッサをイベント検出から解放する
イベント検出器とからなり、前記の少なくとも1つの再
構成可能な構成要素が、第1の再構成可能な構成要素と
第2の再構成可能な構成要素を備え、前記の第2の再構
成可能な構成要素は、前記の少なくとも1つのマイクロ
プロセッサによる実行のため前記の設計の第2部分の独
立なフラグメントを選択する選択器を備えることを特徴
とする。請求項5は、エミュレーションとシミュレーシ
ョンとを用いた設計検証装置を請求し、この装置は、設
計の第1部分をエミュレートする少なくとも1つの再構
成可能な構成要素と、前記の再構成可能な構成要素に電
気的に接続され、前記の設計の第2部分をシミュレート
する少なくとも1つのマイクロプロセッサと、前記の少
なくとも1つのマイクロプロセッサに接続され、設計検
証の間に複数のイベントを検出して前記の少なくとも1
つのマイクロプロセッサをイベント検出から解放するイ
ベント検出器とからなり、前記の少なくとも1つの再構
成可能な構成要素が、第1の再構成可能な構成要素と第
2の再構成可能な構成要素を備え、前記の第2の再構成
可能な構成要素は、設計検証の間に前記の複数のイベン
トを検出して前記の少なくとも1つのマイクロプロセッ
サを前記のイベント検出から解放する選択器を備えるこ
とを特徴とする。
ーションとを用いた設計検証装置を請求し、この装置
は、設計の第1部分をエミュレートする少なくとも1つ
の再構成可能な構成要素と、前記の再構成可能な構成要
素に電気的に接続され、前記の設計の第2部分をシミュ
レートする少なくとも1つのマイクロプロセッサと、前
記の少なくとも1つのマイクロプロセッサに接続され、
設計検証の間に複数のイベントを検出して前記の少なく
とも1つのマイクロプロセッサをイベント検出から解放
するイベント検出器とからなり、前記の少なくとも1つ
の再構成可能な構成要素が、第1の再構成可能な構成要
素と第2の再構成可能な構成要素を備え、前記の第2の
再構成可能な構成要素は、さらに、前記のイベント検出
器によるイベントの検出において前記の少なくとも1つ
のマイクロプロセッサによりシミュレートされる前記の
設計の第2部分のフラグメントのスケジュールを作成す
るスケジュール作成器を備えることを特徴とする装置を
請求する。請求項4は、エミュレーションとシミュレー
ションとを用いた設計検証装置を請求し、この装置は、
設計の第1部分をエミュレートする少なくとも1つの再
構成可能な構成要素と、前記の再構成可能な構成要素に
電気的に接続され、前記の設計の第2部分をシミュレー
トする少なくとも1つのマイクロプロセッサと、前記の
少なくとも1つのマイクロプロセッサに接続され、設計
検証の間に複数のイベントを検出して前記の少なくとも
1つのマイクロプロセッサをイベント検出から解放する
イベント検出器とからなり、前記の少なくとも1つの再
構成可能な構成要素が、第1の再構成可能な構成要素と
第2の再構成可能な構成要素を備え、前記の第2の再構
成可能な構成要素は、前記の少なくとも1つのマイクロ
プロセッサによる実行のため前記の設計の第2部分の独
立なフラグメントを選択する選択器を備えることを特徴
とする。請求項5は、エミュレーションとシミュレーシ
ョンとを用いた設計検証装置を請求し、この装置は、設
計の第1部分をエミュレートする少なくとも1つの再構
成可能な構成要素と、前記の再構成可能な構成要素に電
気的に接続され、前記の設計の第2部分をシミュレート
する少なくとも1つのマイクロプロセッサと、前記の少
なくとも1つのマイクロプロセッサに接続され、設計検
証の間に複数のイベントを検出して前記の少なくとも1
つのマイクロプロセッサをイベント検出から解放するイ
ベント検出器とからなり、前記の少なくとも1つの再構
成可能な構成要素が、第1の再構成可能な構成要素と第
2の再構成可能な構成要素を備え、前記の第2の再構成
可能な構成要素は、設計検証の間に前記の複数のイベン
トを検出して前記の少なくとも1つのマイクロプロセッ
サを前記のイベント検出から解放する選択器を備えるこ
とを特徴とする。
【0015】
【0016】請求項6は、エミュレーションとシミュレ
ーションのための装置を請求し、この装置は、設計をシ
ミュレートするマイクロプロセッサをそれぞれ備える複
数のシミュレーションモジュールと、このシミュレーシ
ョンモジュールに接続され、前記の設計をエミュレート
する第1の再構成可能な構成要素とからなり、前記の複
数のシミュレーションモジュールは、さらに、第2の再
構成可能な構成要素を備え、前記の第2の再構成可能な
構成要素は、前記の設計のシミュレーションにおいて前
記のマイクロプロセッサを助けるイベントを検出するイ
ベント検出器を備えることを特徴とする。請求項7は、
前記のシミュレーションモジュールの少なくとも1つ
は、前記の第1の再構成可能な構成要素にデータ値を送
信することを特徴とする請求項6に記載された装置を請
求する。請求項8は、前記のシミュレーションモジュー
ルの少なくとも1つは、そのモジュールの外側でデータ
値を送信することを特徴とする請求項6に記載された装
置を請求する。
ーションのための装置を請求し、この装置は、設計をシ
ミュレートするマイクロプロセッサをそれぞれ備える複
数のシミュレーションモジュールと、このシミュレーシ
ョンモジュールに接続され、前記の設計をエミュレート
する第1の再構成可能な構成要素とからなり、前記の複
数のシミュレーションモジュールは、さらに、第2の再
構成可能な構成要素を備え、前記の第2の再構成可能な
構成要素は、前記の設計のシミュレーションにおいて前
記のマイクロプロセッサを助けるイベントを検出するイ
ベント検出器を備えることを特徴とする。請求項7は、
前記のシミュレーションモジュールの少なくとも1つ
は、前記の第1の再構成可能な構成要素にデータ値を送
信することを特徴とする請求項6に記載された装置を請
求する。請求項8は、前記のシミュレーションモジュー
ルの少なくとも1つは、そのモジュールの外側でデータ
値を送信することを特徴とする請求項6に記載された装
置を請求する。
【0017】請求項9は、前記のマイクロプロセッサの
少なくとも1つは、前記の第2の再構成可能な構成要素
にデータ値を送信することを特徴とする請求項6に記載
された装置を請求する。請求項10は、前記の第2の再
構成可能な構成要素は、前記のマイクロプロセッサの中
の1つから受け取った信号を復号するデコーダを備える
ことを特徴とする請求項6に記載された装置を請求す
る。請求項11は、前記の第2の再構成可能な構成要素
は、さらに、前記のデコーダが前記のマイクロプロセッ
サの1つからの前記の信号を認識するときにイネーブル
となる選択器を備えることを特徴とする請求項10に記
載された装置を請求する。請求項12は、前記の第2の
再構成可能な構成要素は、さらに、前記のレジスタが前
記の選択器によりイネーブルとなったときに、前記の信
号を収集するレジスタを備えることを特徴とする請求項
11に記載された装置を請求する。請求項13は、前記
の複数のシミュレーションモジュールのなかの少なくと
も1つのシミュレーションモジュールが前記のシミュレ
ーションモジュールのなかの第2のシミュレーションモ
ジュールからデータ信号を受け取ることを特徴とする請
求項6に記載された装置を請求する。
少なくとも1つは、前記の第2の再構成可能な構成要素
にデータ値を送信することを特徴とする請求項6に記載
された装置を請求する。請求項10は、前記の第2の再
構成可能な構成要素は、前記のマイクロプロセッサの中
の1つから受け取った信号を復号するデコーダを備える
ことを特徴とする請求項6に記載された装置を請求す
る。請求項11は、前記の第2の再構成可能な構成要素
は、さらに、前記のデコーダが前記のマイクロプロセッ
サの1つからの前記の信号を認識するときにイネーブル
となる選択器を備えることを特徴とする請求項10に記
載された装置を請求する。請求項12は、前記の第2の
再構成可能な構成要素は、さらに、前記のレジスタが前
記の選択器によりイネーブルとなったときに、前記の信
号を収集するレジスタを備えることを特徴とする請求項
11に記載された装置を請求する。請求項13は、前記
の複数のシミュレーションモジュールのなかの少なくと
も1つのシミュレーションモジュールが前記のシミュレ
ーションモジュールのなかの第2のシミュレーションモ
ジュールからデータ信号を受け取ることを特徴とする請
求項6に記載された装置を請求する。
【0018】請求項14は、前記の複数のシミュレーシ
ョンモジュールのなかの少なくとも1つのシミュレーシ
ョンモジュールが前記の第2の再構成可能な構成要素か
らデータ信号を受け取ることを特徴とする請求項6に記
載された装置を請求する。請求項15は、前記のマイク
ロプロセッサの1つが前記の第2の再構成可能な構成要
素からデータ信号を受け取ることを特徴とする請求項6
に記載された装置を請求する。請求項16は、前記の第
2の再構成可能な構成要素は、さらに、前記のマイクロ
プロセッサの1つを示すマイクロプロセッサ信号を認識
するデコーダを備えることを特徴とする請求項6に記載
された装置を請求する。請求項17は、前記の第2の再
構成可能な構成要素は、さらに、前記の複数のマイクロ
プロセッサの1つにより収集されたデータ値を選択する
マルチプレクサを備えることを特徴とする請求項6に記
載された装置を請求する。請求項18は、前記のイベン
ト検出器は、イベントが検出されたときに前記の複数の
マイクロプロセッサの1つに割り込みをすることを特徴
とする請求項6に記載された装置を請求する。
ョンモジュールのなかの少なくとも1つのシミュレーシ
ョンモジュールが前記の第2の再構成可能な構成要素か
らデータ信号を受け取ることを特徴とする請求項6に記
載された装置を請求する。請求項15は、前記のマイク
ロプロセッサの1つが前記の第2の再構成可能な構成要
素からデータ信号を受け取ることを特徴とする請求項6
に記載された装置を請求する。請求項16は、前記の第
2の再構成可能な構成要素は、さらに、前記のマイクロ
プロセッサの1つを示すマイクロプロセッサ信号を認識
するデコーダを備えることを特徴とする請求項6に記載
された装置を請求する。請求項17は、前記の第2の再
構成可能な構成要素は、さらに、前記の複数のマイクロ
プロセッサの1つにより収集されたデータ値を選択する
マルチプレクサを備えることを特徴とする請求項6に記
載された装置を請求する。請求項18は、前記のイベン
ト検出器は、イベントが検出されたときに前記の複数の
マイクロプロセッサの1つに割り込みをすることを特徴
とする請求項6に記載された装置を請求する。
【0019】請求項19は、さらに、複数のイベントを
処理する複数のイベント検出器グループを備えることを
特徴とする請求項6に記載された装置を請求する。請求
項20は、前記の複数のイベント検出器グループは、少
なくとも1つのイベント検出器を備えることを特徴とす
る請求項19に記載された装置を請求する。請求項21
は、前記の複数のイベント検出器グループは、少なくと
も1つのANDゲートを備えることを特徴とする請求項
19に記載された装置を請求する。請求項22は、前記
の複数のイベント検出器グループは、第2のイベントの
前に第1のイベントを処理することを特徴とする請求項
19に記載された装置を請求する。請求項23は、前記
の複数のイベント検出器は、第1のイベントと第2のイ
ベントを検出し、第2のイベントの前に第1のイベント
を処理することを特徴とする請求項19に記載された装
置を請求する。
処理する複数のイベント検出器グループを備えることを
特徴とする請求項6に記載された装置を請求する。請求
項20は、前記の複数のイベント検出器グループは、少
なくとも1つのイベント検出器を備えることを特徴とす
る請求項19に記載された装置を請求する。請求項21
は、前記の複数のイベント検出器グループは、少なくと
も1つのANDゲートを備えることを特徴とする請求項
19に記載された装置を請求する。請求項22は、前記
の複数のイベント検出器グループは、第2のイベントの
前に第1のイベントを処理することを特徴とする請求項
19に記載された装置を請求する。請求項23は、前記
の複数のイベント検出器は、第1のイベントと第2のイ
ベントを検出し、第2のイベントの前に第1のイベント
を処理することを特徴とする請求項19に記載された装
置を請求する。
【0020】請求項24は、前記の複数のイベント検出
器は、前記の第1のイベントを表す第1のビジー信号
と、前記の第2のイベントを表す第2のビジー信号を生
成することを特徴とする請求項23に記載された装置を
請求する。請求項25は、前記の複数のイベント検出器
グループは、第1のビジー信号と第2のビジー信号を検
出し、前記の第1のビジー信号が表明されないときに前
記の第2のビジー信号を処理することを特徴とする請求
項19に記載された装置を請求する。請求項26は、前
記の第1のビジー信号と前記の第2のビジー信号の各々
が、それぞれ、前記の複数のイベント検出器の少なくと
も1つに接続されるORゲートで形成されることを特徴
とする請求項25に記載された装置を請求する。請求項
27は、前記の第1のビジー信号と前記の第2のビジー
信号の各々が、それぞれ、前記の複数のイベント検出器
の少なくとも1つに接続されるワイアドORで形成され
ることを特徴とする請求項25に記載された装置を請求
する。請求項28は、グローバルバスが前記の複数のシ
ミュレーションモジュールを接続することを特徴とする
請求項6に記載された装置を請求する。
器は、前記の第1のイベントを表す第1のビジー信号
と、前記の第2のイベントを表す第2のビジー信号を生
成することを特徴とする請求項23に記載された装置を
請求する。請求項25は、前記の複数のイベント検出器
グループは、第1のビジー信号と第2のビジー信号を検
出し、前記の第1のビジー信号が表明されないときに前
記の第2のビジー信号を処理することを特徴とする請求
項19に記載された装置を請求する。請求項26は、前
記の第1のビジー信号と前記の第2のビジー信号の各々
が、それぞれ、前記の複数のイベント検出器の少なくと
も1つに接続されるORゲートで形成されることを特徴
とする請求項25に記載された装置を請求する。請求項
27は、前記の第1のビジー信号と前記の第2のビジー
信号の各々が、それぞれ、前記の複数のイベント検出器
の少なくとも1つに接続されるワイアドORで形成され
ることを特徴とする請求項25に記載された装置を請求
する。請求項28は、グローバルバスが前記の複数のシ
ミュレーションモジュールを接続することを特徴とする
請求項6に記載された装置を請求する。
【0021】請求項29は、前記の第1のビジー信号と
前記の第2のビジー信号を前記の複数のシミュレーショ
ンモジュールに送るグローバルバスを備えることを特徴
とする請求項25に記載された装置を請求する。請求項
30は、前記の複数のイベント検出器は、複数のイベン
トの種類を検出することを特徴とする請求項19に記載
された装置を請求する。請求項31は、前記のシミュレ
ーションモジュールは、さらに、前記の複数のイベント
の種類が前記の複数のイベント検出器によって検出され
ないときに時間アドバンス信号を作るシミュレーション
アドバンス回路を備えることを特徴とする請求項30に
記載された装置を請求する。請求項32は、前記のシミ
ュレーションアドバンス回路がカウンタとNORゲート
を備えることを特徴とする請求項31に記載された装置
を請求する。請求項33は、さらに、前記の時間アドバ
ンス信号を送るグローバルバスを備えることを特徴とす
る請求項30に記載された装置を請求する。
前記の第2のビジー信号を前記の複数のシミュレーショ
ンモジュールに送るグローバルバスを備えることを特徴
とする請求項25に記載された装置を請求する。請求項
30は、前記の複数のイベント検出器は、複数のイベン
トの種類を検出することを特徴とする請求項19に記載
された装置を請求する。請求項31は、前記のシミュレ
ーションモジュールは、さらに、前記の複数のイベント
の種類が前記の複数のイベント検出器によって検出され
ないときに時間アドバンス信号を作るシミュレーション
アドバンス回路を備えることを特徴とする請求項30に
記載された装置を請求する。請求項32は、前記のシミ
ュレーションアドバンス回路がカウンタとNORゲート
を備えることを特徴とする請求項31に記載された装置
を請求する。請求項33は、さらに、前記の時間アドバ
ンス信号を送るグローバルバスを備えることを特徴とす
る請求項30に記載された装置を請求する。
【0022】請求項34は、前記のシミュレーションモ
ジュールが多重バスにより接続されることを特徴とする
請求項6に記載された装置を請求する。請求項35は、
前記の多重バスが、前記の複数のシミュレーションモジ
ュールの間で前記のイベントを送ることを特徴とする請
求項34に記載された装置を請求する。請求項36は、
前記の複数のシミュレーションモジュールが、さらに、
前記の多重バスを制御する送信制御器を備えることを特
徴とする請求項34に記載された装置を請求する。請求
項37は、前記のグローバルバスが前記の複数のシミュ
レーションモジュールの間で前記のイベントを送ること
を特徴とする請求項33に記載された装置を請求する。
請求項38は、前記の第1の再構成可能な構成要素が第
1のフリップ/フロップを備えることを特徴とする請求
項6に記載された装置を請求する。
ジュールが多重バスにより接続されることを特徴とする
請求項6に記載された装置を請求する。請求項35は、
前記の多重バスが、前記の複数のシミュレーションモジ
ュールの間で前記のイベントを送ることを特徴とする請
求項34に記載された装置を請求する。請求項36は、
前記の複数のシミュレーションモジュールが、さらに、
前記の多重バスを制御する送信制御器を備えることを特
徴とする請求項34に記載された装置を請求する。請求
項37は、前記のグローバルバスが前記の複数のシミュ
レーションモジュールの間で前記のイベントを送ること
を特徴とする請求項33に記載された装置を請求する。
請求項38は、前記の第1の再構成可能な構成要素が第
1のフリップ/フロップを備えることを特徴とする請求
項6に記載された装置を請求する。
【0023】請求項39は、さらに、保持時間の違反行
為をシミュレートするため前記の第1のフリップ/フロ
ップから下流に置かれた第2のフリップ/フロップを備
えることを特徴とする請求項38に記載された装置を請
求する。請求項40は、前記の再構成可能な構成要素が
クロック回路を備えることを特徴とする請求項6に記載
された装置を請求する。請求項41は、前記のクロック
回路がフリップ/フロップを備えることを特徴とする請
求項40に記載された装置を請求する。請求項42は、
前記のクロック回路が前記の第1の再構成可能な構成要
素において複製されることを特徴とする請求項41に記
載された装置を請求する。
為をシミュレートするため前記の第1のフリップ/フロ
ップから下流に置かれた第2のフリップ/フロップを備
えることを特徴とする請求項38に記載された装置を請
求する。請求項40は、前記の再構成可能な構成要素が
クロック回路を備えることを特徴とする請求項6に記載
された装置を請求する。請求項41は、前記のクロック
回路がフリップ/フロップを備えることを特徴とする請
求項40に記載された装置を請求する。請求項42は、
前記のクロック回路が前記の第1の再構成可能な構成要
素において複製されることを特徴とする請求項41に記
載された装置を請求する。
【0024】請求項43は、設計をエミュレートしシミ
ュレートする方法を請求し、この方法は、行動設計を含
む設計をインポートして行動データベースを生成するス
テップ、行動設計を複数の行動フラグメントに分割する
ステップ、前記の行動データベースを前処理して、前処
理された行動データベースを作るステップ、複数のシミ
ュレーションモジュールの中での処理のために複数のシ
ミュレーションモジュールのための複数の実行可能部を
作るステップ、ネットリストを作るステップ、及び、こ
のネットリストを処理して、複数の再構成可能な構成要
素のためのコンフィグレーションデータを生成するステ
ップからなる。請求項44は、請求項43に記載された
方法において、前記の前処理ステップが、さらに、前記
の行動データベースを複数のクラスタに分割するステッ
プ、及び、前記の設計を変換して保持時間違反行為を除
去するステップを備えることを特徴とする方法を請求す
る。請求項45は、請求項43に記載された方法におい
て、前記のネットリスト処理ステップが、さらに、前記
のネットリストを区分して、区分されたネットリストを
生成するステップ、前記の区分されたネットリストを置
くステップ、及び、前記の区分されたネットリストの経
路指定をするステップを備えることを特徴とする方法を
請求する。
ュレートする方法を請求し、この方法は、行動設計を含
む設計をインポートして行動データベースを生成するス
テップ、行動設計を複数の行動フラグメントに分割する
ステップ、前記の行動データベースを前処理して、前処
理された行動データベースを作るステップ、複数のシミ
ュレーションモジュールの中での処理のために複数のシ
ミュレーションモジュールのための複数の実行可能部を
作るステップ、ネットリストを作るステップ、及び、こ
のネットリストを処理して、複数の再構成可能な構成要
素のためのコンフィグレーションデータを生成するステ
ップからなる。請求項44は、請求項43に記載された
方法において、前記の前処理ステップが、さらに、前記
の行動データベースを複数のクラスタに分割するステッ
プ、及び、前記の設計を変換して保持時間違反行為を除
去するステップを備えることを特徴とする方法を請求す
る。請求項45は、請求項43に記載された方法におい
て、前記のネットリスト処理ステップが、さらに、前記
のネットリストを区分して、区分されたネットリストを
生成するステップ、前記の区分されたネットリストを置
くステップ、及び、前記の区分されたネットリストの経
路指定をするステップを備えることを特徴とする方法を
請求する。
【0025】請求項46は、エミュレータと複数のマイ
クロプロセッサとの間のデータ転送時間を最小にするよ
うに、前記のエミュレータと前記の複数のマイクロプロ
セッサとを接続するステップ、前記のエミュレータによ
り前記の設計の第1部分をエミュレートするステップ、
前記のシミュレータにより前記の設計の第2部分をシミ
ュレートするステップ、及び、前記のマイクロプロセッ
サにより通常検出される複数のイベントを前記のエミュ
レータにより検出するステップからなる、エミュレーシ
ョンとシミュレーションを組み合わせる方法を請求す
る。請求項47は、請求項46に記載された方法におい
て、さらに、前記のマイクロプロセッサにより通常はス
ケジュールを作成される、前記のエミュレータによる複
数の動作についてスケジュールを作成するステップを備
えることを特徴とする方法を請求する。請求項48は、
請求項46に記載された方法において、さらに、前記の
設計の第2部分の複数の独立フラグメントを選択するス
テップ、前記のマイクロプロセッサにより前記の複数の
独立フラグメントを並列に実行するステップを備えるこ
とを特徴とする方法を請求する。
クロプロセッサとの間のデータ転送時間を最小にするよ
うに、前記のエミュレータと前記の複数のマイクロプロ
セッサとを接続するステップ、前記のエミュレータによ
り前記の設計の第1部分をエミュレートするステップ、
前記のシミュレータにより前記の設計の第2部分をシミ
ュレートするステップ、及び、前記のマイクロプロセッ
サにより通常検出される複数のイベントを前記のエミュ
レータにより検出するステップからなる、エミュレーシ
ョンとシミュレーションを組み合わせる方法を請求す
る。請求項47は、請求項46に記載された方法におい
て、さらに、前記のマイクロプロセッサにより通常はス
ケジュールを作成される、前記のエミュレータによる複
数の動作についてスケジュールを作成するステップを備
えることを特徴とする方法を請求する。請求項48は、
請求項46に記載された方法において、さらに、前記の
設計の第2部分の複数の独立フラグメントを選択するス
テップ、前記のマイクロプロセッサにより前記の複数の
独立フラグメントを並列に実行するステップを備えるこ
とを特徴とする方法を請求する。
【0026】請求項49は、請求項46に記載された方
法において、前記のシミュレートするステップが、さら
に、行動言語で記述された前記の設計の前記の第1部分
をシミュレートするステップを備えることを特徴とする
方法を請求する。請求項50は、請求項46に記載され
た方法において、さらに、前記のマイクロプロセッサに
より通常は操作される複数のイベントを前記のエミュレ
ータにより操作するステップを備えることを特徴とする
方法を請求する。請求項51は、請求項46に記載され
た方法において、さらに、複数の保持時間違反行為を除
去するステップを備えることを特徴とする方法を請求す
る。請求項52は、請求項46に記載された方法におい
て、前記の設計の前記の第1部分が前記の設計の第2部
分と重複することを特徴とする方法を請求する。請求項
53は、請求項46に記載された方法において、前記の
設計の前記の第1部分が前記の設計の第2部分と同じで
あることを特徴とする方法を請求する。
法において、前記のシミュレートするステップが、さら
に、行動言語で記述された前記の設計の前記の第1部分
をシミュレートするステップを備えることを特徴とする
方法を請求する。請求項50は、請求項46に記載され
た方法において、さらに、前記のマイクロプロセッサに
より通常は操作される複数のイベントを前記のエミュレ
ータにより操作するステップを備えることを特徴とする
方法を請求する。請求項51は、請求項46に記載され
た方法において、さらに、複数の保持時間違反行為を除
去するステップを備えることを特徴とする方法を請求す
る。請求項52は、請求項46に記載された方法におい
て、前記の設計の前記の第1部分が前記の設計の第2部
分と重複することを特徴とする方法を請求する。請求項
53は、請求項46に記載された方法において、前記の
設計の前記の第1部分が前記の設計の第2部分と同じで
あることを特徴とする方法を請求する。
【0027】
【発明の実施の形態】図1は、論理検証システムの好ま
しい実施形態を示す。このシステムは、1以上の再構成
可能な論理コンポーネントを含み、この論理コンポーネ
ントは、たとえば、プログラマブル相互接続器12を用
いる相互に接続されるプログラマブルゲートアレイ(F
PGA)装置10である。相互接続器12は、それに接
続される装置の任意の数の入力または出力の間での任意
の接続を生成するようにプログラムできる。また、この
装置は、1個以上のシミュレーションモジュール14を
含む(例として図には3個が示される)。各シミュレー
ションモジュール14は、マイクロプロセッサ16(1
以上のランダムアクセスメモリ装置20にマイクロプロ
セッサバス18を介して接続される)、1個以上の再構
成可能な論理コンポーネント(たとえばFPGA22)
及びシステムバス制御器24を含む。図1は、1個のラ
ンダムアクセスメモリ装置20と1個のFPGA22の
みを示すが、当業者が理解できるように、任意の数のラ
ンダムアクセスメモリ装置20またはFPGA22を使
用できる。さらに、PAL、PLAなどの他の種類の再
構成可能な論理コンポーネントがFPGA10、22の
機能を実行できる。どの種類のFPGAを使用するか
は、純粋に設計の選択事項である。好ましい実施形態で
は、Xilinx社製の4036EXが使用される。こ
れらの装置は、1996年7月の日付のXilinx社
からのThe Programable Logic
Data Book、PN0010303に記載され、
ここでの引用により本明細書に組み込まれる。また、ど
のCPU16を使用するかも、純粋に設計者の選択事項
である。好ましい実施形態では、IBM社製のCPUチ
ップのPPC403GCが使用される。各シミュレーシ
ョンモジュール14における各FPGA装置22は、ま
た、プログラマブル相互接続器12に接続される。
しい実施形態を示す。このシステムは、1以上の再構成
可能な論理コンポーネントを含み、この論理コンポーネ
ントは、たとえば、プログラマブル相互接続器12を用
いる相互に接続されるプログラマブルゲートアレイ(F
PGA)装置10である。相互接続器12は、それに接
続される装置の任意の数の入力または出力の間での任意
の接続を生成するようにプログラムできる。また、この
装置は、1個以上のシミュレーションモジュール14を
含む(例として図には3個が示される)。各シミュレー
ションモジュール14は、マイクロプロセッサ16(1
以上のランダムアクセスメモリ装置20にマイクロプロ
セッサバス18を介して接続される)、1個以上の再構
成可能な論理コンポーネント(たとえばFPGA22)
及びシステムバス制御器24を含む。図1は、1個のラ
ンダムアクセスメモリ装置20と1個のFPGA22の
みを示すが、当業者が理解できるように、任意の数のラ
ンダムアクセスメモリ装置20またはFPGA22を使
用できる。さらに、PAL、PLAなどの他の種類の再
構成可能な論理コンポーネントがFPGA10、22の
機能を実行できる。どの種類のFPGAを使用するか
は、純粋に設計の選択事項である。好ましい実施形態で
は、Xilinx社製の4036EXが使用される。こ
れらの装置は、1996年7月の日付のXilinx社
からのThe Programable Logic
Data Book、PN0010303に記載され、
ここでの引用により本明細書に組み込まれる。また、ど
のCPU16を使用するかも、純粋に設計者の選択事項
である。好ましい実施形態では、IBM社製のCPUチ
ップのPPC403GCが使用される。各シミュレーシ
ョンモジュール14における各FPGA装置22は、ま
た、プログラマブル相互接続器12に接続される。
【0028】Buttsらの米国特許第5,036,47
3号に記載されているように、FPGA装置10は、検
証中の論理回路部分をコンポーネントの相互接続として
エミュレートする。シミュレーションモジュール14
は、検証中の論理回路部分をシミュレートし、論理回路
部分は行動記述により表現できる。これらのモジュール
14の内部で、マイクロプロセッサ16は、行動記述の
フラグメントを選択的に実行する。FPGA22内で実
行されるハードウエア論理は、実行されるべき行動フラ
グメントとその順序を選択する。従来から知られている
イベントドリブンシミュレータと異なり、マイクロプロ
セッサ16は、イベントの検出、スケジューリングおよ
び順序付けの機能から解放される。その結果、シミュレ
ーション速度は劇的に改善される。また、FPGA装置
22は、行動記述部分と、コンポーネントの相互接続に
より表現される設計部分との間で共有される信号値を通
信する。さらに、FPGA22は、異なったシミュレー
ションモジュール14の間で共有される信号値を通信す
る。
3号に記載されているように、FPGA装置10は、検
証中の論理回路部分をコンポーネントの相互接続として
エミュレートする。シミュレーションモジュール14
は、検証中の論理回路部分をシミュレートし、論理回路
部分は行動記述により表現できる。これらのモジュール
14の内部で、マイクロプロセッサ16は、行動記述の
フラグメントを選択的に実行する。FPGA22内で実
行されるハードウエア論理は、実行されるべき行動フラ
グメントとその順序を選択する。従来から知られている
イベントドリブンシミュレータと異なり、マイクロプロ
セッサ16は、イベントの検出、スケジューリングおよ
び順序付けの機能から解放される。その結果、シミュレ
ーション速度は劇的に改善される。また、FPGA装置
22は、行動記述部分と、コンポーネントの相互接続に
より表現される設計部分との間で共有される信号値を通
信する。さらに、FPGA22は、異なったシミュレー
ションモジュール14の間で共有される信号値を通信す
る。
【0029】FPGA22がコンポーネントの相互接続
として表現されない論理回路部分をエミュレートしない
ことは、本発明にとって不可欠ではない。同様に、マイ
クロプロセッサ16による実行のための行動コードフラ
グメントの選択と順序を決定する論理をFPGA22が
備えないことは、本発明にとって不可欠ではない。むし
ろ、好ましい実施形態において、本発明は、FPGA装
置10とFPGA22の間で、これらの目的のいずれか
のために使用されるハードウエア論理が任意に分布され
ることを許す。簡単のためにFPGA22が使用される
けれども、当業者に理解されるように、FPGA10が
同様に使用できる。システムバス制御器24は、システ
ムバス28を介してシステム制御器26に接続される。
システム制御器26は、コンフィギュレーションデータ
のFPGA装置10、22へのダウンロード、実行可能
なデータのランダムアクセスメモリ装置20へのダウン
ロード、論理検証システムの開始、論理検証システムと
ホスト・ワークステーション(図示しない)との間のデ
ータ通信の機能を実行する。システム制御器26は、市
販の組込みコントローラボードや当業者に知られている
他の任意の手段を用いて作られる。
として表現されない論理回路部分をエミュレートしない
ことは、本発明にとって不可欠ではない。同様に、マイ
クロプロセッサ16による実行のための行動コードフラ
グメントの選択と順序を決定する論理をFPGA22が
備えないことは、本発明にとって不可欠ではない。むし
ろ、好ましい実施形態において、本発明は、FPGA装
置10とFPGA22の間で、これらの目的のいずれか
のために使用されるハードウエア論理が任意に分布され
ることを許す。簡単のためにFPGA22が使用される
けれども、当業者に理解されるように、FPGA10が
同様に使用できる。システムバス制御器24は、システ
ムバス28を介してシステム制御器26に接続される。
システム制御器26は、コンフィギュレーションデータ
のFPGA装置10、22へのダウンロード、実行可能
なデータのランダムアクセスメモリ装置20へのダウン
ロード、論理検証システムの開始、論理検証システムと
ホスト・ワークステーション(図示しない)との間のデ
ータ通信の機能を実行する。システム制御器26は、市
販の組込みコントローラボードや当業者に知られている
他の任意の手段を用いて作られる。
【0030】ランダムアクセスメモリ装置20は、行動
記述フラグメント、及び、行動記述部分とコンポーネン
ト相互接続部分との間、または、多数のシミュレーショ
ンモジュール14の間で共用されないシミュレーション
変数の値を格納する。システムバス制御器24は、シス
テムバス28を介してシステム制御器26との間でデー
タを送受信する。論理検証システムは、FPGA装置1
0、22とプログラマブル相互接続器12のためのコン
フィギュレーションデータのプログラミングを可能にす
る。また、実行可能なソフトウエアコードフラグメント
は、ランダムアクセスメモリ装置20にダウンロードさ
れる。そのようなプログラミングは、コンピュータプロ
グラムとして具体化でき、コンピュータワークステーシ
ョンで実行できる。
記述フラグメント、及び、行動記述部分とコンポーネン
ト相互接続部分との間、または、多数のシミュレーショ
ンモジュール14の間で共用されないシミュレーション
変数の値を格納する。システムバス制御器24は、シス
テムバス28を介してシステム制御器26との間でデー
タを送受信する。論理検証システムは、FPGA装置1
0、22とプログラマブル相互接続器12のためのコン
フィギュレーションデータのプログラミングを可能にす
る。また、実行可能なソフトウエアコードフラグメント
は、ランダムアクセスメモリ装置20にダウンロードさ
れる。そのようなプログラミングは、コンピュータプロ
グラムとして具体化でき、コンピュータワークステーシ
ョンで実行できる。
【0031】図2は、論理検証システムの別の実施形態
を示す。この実施形態は、さらに、グローバルイベント
通信バスを備える。このバスは、全FPGA装置22に
並列に接続される複数の信号ライン30と、全FPGA
装置22を直列に接続するデイジーチェーンライン32
からなる。なお、本実施形態は、また、図1に示される
ようなシステムバス制御器24、システム制御器26及
びシステムバス28を備える。これらのコンポーネント
は、図の簡単化のために図2において省略される。グロ
ーバルイベント通信バスが用いられるのは、プログラマ
ブル相互接続器12が制限された高価な資源からなるた
めである。プログラマブル相互接続器12を通して多数
のシミュレーションモジュール14の間で共有される信
号を経路指定するよりはむしろ、そのような信号は、グ
ローバルイベント通信バスを介して、1時に1信号で、
直列に通信できる。新しい信号値の送信器として動作す
るシミュレーションモジュール14は、いくつかの信号
ラインを設定して、そのような信号のシリアル番号とそ
の新しい値を表す。この情報は、すべての他のシミュレ
ーションモジュール14に達し、必要なものとして収集
される。
を示す。この実施形態は、さらに、グローバルイベント
通信バスを備える。このバスは、全FPGA装置22に
並列に接続される複数の信号ライン30と、全FPGA
装置22を直列に接続するデイジーチェーンライン32
からなる。なお、本実施形態は、また、図1に示される
ようなシステムバス制御器24、システム制御器26及
びシステムバス28を備える。これらのコンポーネント
は、図の簡単化のために図2において省略される。グロ
ーバルイベント通信バスが用いられるのは、プログラマ
ブル相互接続器12が制限された高価な資源からなるた
めである。プログラマブル相互接続器12を通して多数
のシミュレーションモジュール14の間で共有される信
号を経路指定するよりはむしろ、そのような信号は、グ
ローバルイベント通信バスを介して、1時に1信号で、
直列に通信できる。新しい信号値の送信器として動作す
るシミュレーションモジュール14は、いくつかの信号
ラインを設定して、そのような信号のシリアル番号とそ
の新しい値を表す。この情報は、すべての他のシミュレ
ーションモジュール14に達し、必要なものとして収集
される。
【0032】いくつかのシミュレーションモジュール1
4が同時に送信器として動作する場合には、信号ライン
30の制御を課する順番が必要である。この順序付けを
達成するために、デイジーチェーンライン32が、トー
クンリング原理により作動される。任意の与えられた時
間に、デイジーチェーンライン32の入力部分で、ある
値により表されるトークンは、シミュレーションモジュ
ール14の1つに存在し、そのモジュール14に信号ラ
イン30を制御する権利を与える。送信を終わった後
で、シミュレーションモジュール14はデイジーチェー
ンライン32にそって次のモジュールにトークンを引き
渡す。以下同様である。シミュレーションモジュール1
4の間で共有される信号の送信に加えて、グローバルイ
ベント通信バスは、また、シミュレーションモジュール
14の動作を同期する信号を送信する。そのような同期
信号の例は、シミュレーション時間アドバンス信号と、
シミュレーションモジュール14が現在のシミュレーシ
ョンサイクルで処理されるべきいくつかのイベントをな
お持っていることを示すビジー信号とを含む。
4が同時に送信器として動作する場合には、信号ライン
30の制御を課する順番が必要である。この順序付けを
達成するために、デイジーチェーンライン32が、トー
クンリング原理により作動される。任意の与えられた時
間に、デイジーチェーンライン32の入力部分で、ある
値により表されるトークンは、シミュレーションモジュ
ール14の1つに存在し、そのモジュール14に信号ラ
イン30を制御する権利を与える。送信を終わった後
で、シミュレーションモジュール14はデイジーチェー
ンライン32にそって次のモジュールにトークンを引き
渡す。以下同様である。シミュレーションモジュール1
4の間で共有される信号の送信に加えて、グローバルイ
ベント通信バスは、また、シミュレーションモジュール
14の動作を同期する信号を送信する。そのような同期
信号の例は、シミュレーション時間アドバンス信号と、
シミュレーションモジュール14が現在のシミュレーシ
ョンサイクルで処理されるべきいくつかのイベントをな
お持っていることを示すビジー信号とを含む。
【0033】行動記述フラグメントを実行する間に、マ
イクロプロセッサ16は、シミュレートされている論理
設計の現在の状態を記述する変数に新しい値を設定する
必要がある。1つのシミュレーションモジュール14の
みにおいて局所的に使用されるこれらの変数は、ランダ
ムアクセスメモリ装置20において適当な記憶場所によ
り表現される。しかし、行動記述部分とコンポーネント
相互接合部分との間で共有される変数と、多数のシミュ
レーションモジュール14の間で共有される変数とは、
そのシミュレーションモジュール14の外側で送信され
ねばならない。図3は、マイクロプロセッサバス18が
複数のアドレスライン34、バス動作(リードまたはラ
イト)ライン36、送信される変数を一意に同定するコ
ード(変数IDともいう)を表現する複数のデータライ
ン38、および、そのような変数の新しい値を表現する
データライン40とに分れている場合でのそのような送
信を示す。i/o命令の実行において、マイクロプロセ
ッサ16は、マイクロプロセッサバスをともに構成する
ライン34〜40に適当な信号を導入する。ライン34
と36でのある一意の組み合わせは、動作デコーダ42
に、マイクロプロセッサ16が変数の新しい値を送信す
ることを示す。これに応答して、動作デコーダ42は、
変数選択器44をイネーブルにし、変数選択器44は、
1つの変数を示すライン38上の値の組み合わせを認識
する。これに応答して、変数選択器44は、レジスタ4
6をイネーブルにし、レジスタ46は、ライン40から
新しい変数値を収集する。
イクロプロセッサ16は、シミュレートされている論理
設計の現在の状態を記述する変数に新しい値を設定する
必要がある。1つのシミュレーションモジュール14の
みにおいて局所的に使用されるこれらの変数は、ランダ
ムアクセスメモリ装置20において適当な記憶場所によ
り表現される。しかし、行動記述部分とコンポーネント
相互接合部分との間で共有される変数と、多数のシミュ
レーションモジュール14の間で共有される変数とは、
そのシミュレーションモジュール14の外側で送信され
ねばならない。図3は、マイクロプロセッサバス18が
複数のアドレスライン34、バス動作(リードまたはラ
イト)ライン36、送信される変数を一意に同定するコ
ード(変数IDともいう)を表現する複数のデータライ
ン38、および、そのような変数の新しい値を表現する
データライン40とに分れている場合でのそのような送
信を示す。i/o命令の実行において、マイクロプロセ
ッサ16は、マイクロプロセッサバスをともに構成する
ライン34〜40に適当な信号を導入する。ライン34
と36でのある一意の組み合わせは、動作デコーダ42
に、マイクロプロセッサ16が変数の新しい値を送信す
ることを示す。これに応答して、動作デコーダ42は、
変数選択器44をイネーブルにし、変数選択器44は、
1つの変数を示すライン38上の値の組み合わせを認識
する。これに応答して、変数選択器44は、レジスタ4
6をイネーブルにし、レジスタ46は、ライン40から
新しい変数値を収集する。
【0034】同様に、行動記述フラグメントの実行の過
程で、マイクロプロセッサ16は、シミュレートされる
論理設計の現在の状態を記述する新しい変数値を収集す
る必要がある。1つのシミュレーションモジュール14
のみにおいて局所的に使用されるこれらの変数は、ラン
ダムアクセスメモリ装置20において適当な記憶場所に
より表現される。行動記述部分とコンポーネント相互接
合部分との間で共有される変数と、多数のシミュレーシ
ョンモジュール14の間で共有される変数とは、そのシ
ミュレーションモジュール14の外側から収集されねば
ならない。図4は、FPGA22がさらにマルチプレク
サ48、中間レジスタ50およびバスドライバ52を含
む場合でのそのような送信を示す。収集動作は、2段階
で進み、2つのマイクロプロセッサ命令の完了を要す
る。第1段階では、ライト命令が実行される。動作デコ
ーダ42は、変数値の収集を開始するマイクロプロセッ
サの意図を示すものとして、ライン34上でのアドレス
の組み合わせとライン36上でのバス動作とを認識す
る。これに応答して、動作デコーダ42は、レジスタ5
0をイネーブルにし、レジスタ50は、次に、ライン3
8上での変数IDに基づいてマルチプレクサ48により
選択される変数値を収集する。
程で、マイクロプロセッサ16は、シミュレートされる
論理設計の現在の状態を記述する新しい変数値を収集す
る必要がある。1つのシミュレーションモジュール14
のみにおいて局所的に使用されるこれらの変数は、ラン
ダムアクセスメモリ装置20において適当な記憶場所に
より表現される。行動記述部分とコンポーネント相互接
合部分との間で共有される変数と、多数のシミュレーシ
ョンモジュール14の間で共有される変数とは、そのシ
ミュレーションモジュール14の外側から収集されねば
ならない。図4は、FPGA22がさらにマルチプレク
サ48、中間レジスタ50およびバスドライバ52を含
む場合でのそのような送信を示す。収集動作は、2段階
で進み、2つのマイクロプロセッサ命令の完了を要す
る。第1段階では、ライト命令が実行される。動作デコ
ーダ42は、変数値の収集を開始するマイクロプロセッ
サの意図を示すものとして、ライン34上でのアドレス
の組み合わせとライン36上でのバス動作とを認識す
る。これに応答して、動作デコーダ42は、レジスタ5
0をイネーブルにし、レジスタ50は、次に、ライン3
8上での変数IDに基づいてマルチプレクサ48により
選択される変数値を収集する。
【0035】第2段階で、リード動作が実行される。動
作デコーダ42は、変数値の収集を開始するマイクロプ
ロセッサの意図を示すものとして、ライン34上でのア
ドレスの組み合わせとライン36上でのバス動作とを認
識する。次に、動作デコーダ42は、バスドライバ52
をイネーブルにし、バスドライバ52は、レジスタ50
の出力からマイクロプロセッサバス18のライン40上
へ変数を送信する。前に述べたように、FPGA10と
22におけるハードウエア論理は、マイクロプロセッサ
16による実行のための行動コードフラグメントを選択
し順序づける。そのような論理の1実施形態は図5に示
される。この実施形態は、1以上のイベント検出器54
(例として2個が示される)、イベントエンコーダ56
及びバスドライバ58を含む。各イベント検出器54
は、独立に、マイクロプロセッサ16による行動コード
のあるフラグメントの実行をトリガーする信号を作る。
この信号は、イベントエンコーダ56に供給され、イベ
ントエンコーダ56は、その出力に、設定されている入
力信号を一意に同定するコード(「イベントID」とし
て知られている)を出力する。もしイベントエンコーダ
56に2以上の入力が同時に設定されるなら、イベント
エンコーダ56は、行動コードフラグメント実行順序に
おける優先性を持つイベントのIDを作る。
作デコーダ42は、変数値の収集を開始するマイクロプ
ロセッサの意図を示すものとして、ライン34上でのア
ドレスの組み合わせとライン36上でのバス動作とを認
識する。次に、動作デコーダ42は、バスドライバ52
をイネーブルにし、バスドライバ52は、レジスタ50
の出力からマイクロプロセッサバス18のライン40上
へ変数を送信する。前に述べたように、FPGA10と
22におけるハードウエア論理は、マイクロプロセッサ
16による実行のための行動コードフラグメントを選択
し順序づける。そのような論理の1実施形態は図5に示
される。この実施形態は、1以上のイベント検出器54
(例として2個が示される)、イベントエンコーダ56
及びバスドライバ58を含む。各イベント検出器54
は、独立に、マイクロプロセッサ16による行動コード
のあるフラグメントの実行をトリガーする信号を作る。
この信号は、イベントエンコーダ56に供給され、イベ
ントエンコーダ56は、その出力に、設定されている入
力信号を一意に同定するコード(「イベントID」とし
て知られている)を出力する。もしイベントエンコーダ
56に2以上の入力が同時に設定されるなら、イベント
エンコーダ56は、行動コードフラグメント実行順序に
おける優先性を持つイベントのIDを作る。
【0036】マイクロプロセッサ16は、次の行動フラ
グメントの実行ができる状態であれば、リード動作を行
う。動作デコーダ42は、実行されるべき次の行動コー
ドフラグメントのIDを収集マイクロプロセッサの意図
を示すものとして、ライン34上でのアドレスの組み合
わせとライン36上でのバス動作を認識する。これに応
答して、動作デコーダは、バスドライバ58をイネーブ
ルにし、バスドライバ58は、イベントエンコーダ56
の出力からマイクロプロセッサバス18のライン38上
へイベントIDを送信する。どのイベント検出器54も
行動コードフラグメントの実行を要求する信号を作らな
いならば、イベントエンコーダ56は、動作がこの時間
に要求されないことをマイクロプロセッサ16に示す出
力信号を作る。少なくとも1つのイベント検出器54の
出力に出力信号が現れると、1実施形態では、マイクロ
プロセッサ16の割り込み動作を生じる。
グメントの実行ができる状態であれば、リード動作を行
う。動作デコーダ42は、実行されるべき次の行動コー
ドフラグメントのIDを収集マイクロプロセッサの意図
を示すものとして、ライン34上でのアドレスの組み合
わせとライン36上でのバス動作を認識する。これに応
答して、動作デコーダは、バスドライバ58をイネーブ
ルにし、バスドライバ58は、イベントエンコーダ56
の出力からマイクロプロセッサバス18のライン38上
へイベントIDを送信する。どのイベント検出器54も
行動コードフラグメントの実行を要求する信号を作らな
いならば、イベントエンコーダ56は、動作がこの時間
に要求されないことをマイクロプロセッサ16に示す出
力信号を作る。少なくとも1つのイベント検出器54の
出力に出力信号が現れると、1実施形態では、マイクロ
プロセッサ16の割り込み動作を生じる。
【0037】マイクロプロセッサ16にイベントIDを
送信した後で、イベントエンコーダ56は、対応するイ
ベント検出器54を自動的にリセットする。リセット回
路は図示されていないが、当業者にとって周知であり、
直ちに複製できる。イベントID計算論理の他の実施形
態は、図6に示される。この実施形態において、イベン
ト検出器54は、行動モデルのスケジューリングの要求
によりグループに分けられる。たとえば、Verilo
gハードウエア記述言語に書かれるモデルにおいて、そ
のような要求は、I.E.E.E. Draft Stand
ard 1364の第5章により定義される。特に、V
erilogモデルは、同じシミュレーションサイクル
において処理される全イベントが4グループ、すなわ
ち、活動(active)イベント、非活動(inactive)イベ
ント、非ブロッキング割り当て(assign)更新イベント
及びモニタイベント、にグループ分けされることを要求
する。Verilogモデルは、さらに、どの活動イベ
ントもいずれの非活動イベントの前に処理されること、
どの非活動イベントもいずれの非ブロッキング割り当て
イベントの前に処理されること、及び、どの非ブロッキ
ング割り当てイベントもいずれのモニタイベントの前に
処理されることを要求する。
送信した後で、イベントエンコーダ56は、対応するイ
ベント検出器54を自動的にリセットする。リセット回
路は図示されていないが、当業者にとって周知であり、
直ちに複製できる。イベントID計算論理の他の実施形
態は、図6に示される。この実施形態において、イベン
ト検出器54は、行動モデルのスケジューリングの要求
によりグループに分けられる。たとえば、Verilo
gハードウエア記述言語に書かれるモデルにおいて、そ
のような要求は、I.E.E.E. Draft Stand
ard 1364の第5章により定義される。特に、V
erilogモデルは、同じシミュレーションサイクル
において処理される全イベントが4グループ、すなわ
ち、活動(active)イベント、非活動(inactive)イベ
ント、非ブロッキング割り当て(assign)更新イベント
及びモニタイベント、にグループ分けされることを要求
する。Verilogモデルは、さらに、どの活動イベ
ントもいずれの非活動イベントの前に処理されること、
どの非活動イベントもいずれの非ブロッキング割り当て
イベントの前に処理されること、及び、どの非ブロッキ
ング割り当てイベントもいずれのモニタイベントの前に
処理されることを要求する。
【0038】これらの要求に対応するため、図6に示さ
れる実施形態は、複数グループのイベント検出器からな
る。各グループは、1以上のイベント検出器54(たと
えば、各グループに1個が示される)とANDゲート6
0(第1グループがそのようなANDゲートを備えない
ことを除く)を備える。第2グループに属するANDゲ
ート60は、第1グループに未処理イベントがあること
を示すBUSY(ビジー)[1]信号62aにより制御
される。同様に、第3グループのANDゲート60は、
BUSY[1]信号62aと、第2グループに未処理イ
ベントがあることを示すBUSY[2]信号62bとに
より制御される。結果として、第2グループに属するイ
ベント検出器54aからの信号は、第1グループにおい
て目立つイベントがないときにのみイベントエンコーダ
56に達する。同様に、第3グループに属するイベント
検出器54bからの信号は、第1または第2グループに
おいて目立つイベントがないときにのみイベントエンコ
ーダ56に達する。このパターンは、必要なより多くの
BUSY信号62を利用して、第4グループやそれ以降
のグループについても続く。
れる実施形態は、複数グループのイベント検出器からな
る。各グループは、1以上のイベント検出器54(たと
えば、各グループに1個が示される)とANDゲート6
0(第1グループがそのようなANDゲートを備えない
ことを除く)を備える。第2グループに属するANDゲ
ート60は、第1グループに未処理イベントがあること
を示すBUSY(ビジー)[1]信号62aにより制御
される。同様に、第3グループのANDゲート60は、
BUSY[1]信号62aと、第2グループに未処理イ
ベントがあることを示すBUSY[2]信号62bとに
より制御される。結果として、第2グループに属するイ
ベント検出器54aからの信号は、第1グループにおい
て目立つイベントがないときにのみイベントエンコーダ
56に達する。同様に、第3グループに属するイベント
検出器54bからの信号は、第1または第2グループに
おいて目立つイベントがないときにのみイベントエンコ
ーダ56に達する。このパターンは、必要なより多くの
BUSY信号62を利用して、第4グループやそれ以降
のグループについても続く。
【0039】ビジー信号の作成は図7に示される。各B
USY信号62は、対応するグループに属する全イベン
ト検出器54の出力信号の論理OR関数64として作ら
れる。特に、BUSY[1]信号62aは、第1グルー
プのイベント検出器を用いて作られ、BUSY[2]信
号62bは、第1と第2のグループのイベント検出器を
用いて作られ、以下同様である。理解されるべきこと
は、全シミュレーションモジュール14からの1グルー
プ内の全イベント検出器54からの出力はともにOR演
算でBUSY信号62を作らねばならないことである。
この発明の1実施形態では、ワイアド論理がBUSY信
号62を作るために使用され、OR関数がワイアとして
暗黙に設けられる。他の実施形態では、グローバルイベ
ント通信バスライン30のいくつかが、全シミュレーシ
ョンモジュール14の間でBUSY信号62を伝えるた
めに用いられる。
USY信号62は、対応するグループに属する全イベン
ト検出器54の出力信号の論理OR関数64として作ら
れる。特に、BUSY[1]信号62aは、第1グルー
プのイベント検出器を用いて作られ、BUSY[2]信
号62bは、第1と第2のグループのイベント検出器を
用いて作られ、以下同様である。理解されるべきこと
は、全シミュレーションモジュール14からの1グルー
プ内の全イベント検出器54からの出力はともにOR演
算でBUSY信号62を作らねばならないことである。
この発明の1実施形態では、ワイアド論理がBUSY信
号62を作るために使用され、OR関数がワイアとして
暗黙に設けられる。他の実施形態では、グローバルイベ
ント通信バスライン30のいくつかが、全シミュレーシ
ョンモジュール14の間でBUSY信号62を伝えるた
めに用いられる。
【0040】どのBUSY信号62も表明(assert)さ
れないとき、現在のシミュレーションサイクルは完了す
る。そのような完了を検出し、シミュレーションを次の
サイクルに進める回路は図8に示される。この回路は、
使用されるBUSY信号62の数に対応する数の入力を
備えるNORゲート66と、カウンタ68とからなる。
4つのBUSY信号62がNOR66の入力として示さ
れているが、理解されるように、任意の数のBUSY信
号が使用できる。どのBUSY信号も表明されないと
き、NORゲート66はカウンタ68の動作をイネーブ
ルにする。カウンタ68は、論理検証システム内におい
て非同期で連続的に動く速い周期的クロック信号70に
よりクロックされる。このクロックの周波数は、このシ
ステムにおける信号転送の周波数より高くあるべきであ
る。BUSY信号62の最長の伝播遅延を補償するのに
必要なクロック信号70のクロックサイクルの数を計数
したあとで、カウンタ68はオーバーフローして、全シ
ミュレーションモジュール14に伝播する時間アドバン
ス信号72を作る。この発明の1実施形態において、グ
ローバルイベント通信バスライン30は、全シミュレー
ションモジュール14の中で時間アドバンス信号を伝播
するために使用される。
れないとき、現在のシミュレーションサイクルは完了す
る。そのような完了を検出し、シミュレーションを次の
サイクルに進める回路は図8に示される。この回路は、
使用されるBUSY信号62の数に対応する数の入力を
備えるNORゲート66と、カウンタ68とからなる。
4つのBUSY信号62がNOR66の入力として示さ
れているが、理解されるように、任意の数のBUSY信
号が使用できる。どのBUSY信号も表明されないと
き、NORゲート66はカウンタ68の動作をイネーブ
ルにする。カウンタ68は、論理検証システム内におい
て非同期で連続的に動く速い周期的クロック信号70に
よりクロックされる。このクロックの周波数は、このシ
ステムにおける信号転送の周波数より高くあるべきであ
る。BUSY信号62の最長の伝播遅延を補償するのに
必要なクロック信号70のクロックサイクルの数を計数
したあとで、カウンタ68はオーバーフローして、全シ
ミュレーションモジュール14に伝播する時間アドバン
ス信号72を作る。この発明の1実施形態において、グ
ローバルイベント通信バスライン30は、全シミュレー
ションモジュール14の中で時間アドバンス信号を伝播
するために使用される。
【0041】図9は、共用される多重バス82での1つ
のFPGA22からもう1つのFPGAへのイベントの
送信を詳細に示す。このデータ送信法は、この発明の1
実施形態において、プログラマブル相互接続器12の価
値ある資源を保存するために使用される。送信FPGA
22(図9の左側に示される)は、イベントデコーダ5
6に機能において似ている第2のイベントデコーダ74
を含む。送信FPGA22は、さらに、バスドライバ7
6(バスドライバ58に似ている)及び送信制御器78
を含む。送信制御器78がバスアービトレーション入力
信号80を検出するとき、イベントエンコーダ74がそ
の入力に複数のイベント検出器54からくる活動信号を
有するかを調べる。もしそのような信号が存在すれば、
バスドライバ76を介し共用される多重バス82への第
1イベントIDの送信をイネーブルにする。バス82の
最長の伝播遅延を補償するのに必要な多数の速い周期の
クロック信号70(図示しない)の後で、送信制御器7
8は、イベントエンコーダ74に信号を送り、既に転送
されたイベントに対応するイベント検出器54をリセッ
トし、あらかじめ決定された順序で次のイベントを持ち
出す。全イベントを送信した後で、送信制御器78は、
バスドライバ76をディスエーブルにし、バスアービト
レーション出力信号84を表明し、こうして、バス82
を介しての制御を放棄する。1つのシミュレーションモ
ジュール14のバスアービトレーション出力信号84
は、他のシミュレーションモジュール14のバスアービ
トレーション入力信号80に接続されて、デイジーチェ
ーンを形成する。
のFPGA22からもう1つのFPGAへのイベントの
送信を詳細に示す。このデータ送信法は、この発明の1
実施形態において、プログラマブル相互接続器12の価
値ある資源を保存するために使用される。送信FPGA
22(図9の左側に示される)は、イベントデコーダ5
6に機能において似ている第2のイベントデコーダ74
を含む。送信FPGA22は、さらに、バスドライバ7
6(バスドライバ58に似ている)及び送信制御器78
を含む。送信制御器78がバスアービトレーション入力
信号80を検出するとき、イベントエンコーダ74がそ
の入力に複数のイベント検出器54からくる活動信号を
有するかを調べる。もしそのような信号が存在すれば、
バスドライバ76を介し共用される多重バス82への第
1イベントIDの送信をイネーブルにする。バス82の
最長の伝播遅延を補償するのに必要な多数の速い周期の
クロック信号70(図示しない)の後で、送信制御器7
8は、イベントエンコーダ74に信号を送り、既に転送
されたイベントに対応するイベント検出器54をリセッ
トし、あらかじめ決定された順序で次のイベントを持ち
出す。全イベントを送信した後で、送信制御器78は、
バスドライバ76をディスエーブルにし、バスアービト
レーション出力信号84を表明し、こうして、バス82
を介しての制御を放棄する。1つのシミュレーションモ
ジュール14のバスアービトレーション出力信号84
は、他のシミュレーションモジュール14のバスアービ
トレーション入力信号80に接続されて、デイジーチェ
ーンを形成する。
【0042】受信FPGA22(図9の右側に示され
る)において、共用される多重バス82は、イベントI
Dライン88、変数ライン86及びイベントレディライ
ン90に分かれる。イベントレディ信号90が検出され
ると、変数選択器92は、1つの値を示すものとして、
ライン88での値の組み合わせを認識する。これに応答
して、変数選択器92は、レジスタ46をイネーブルに
し、レジスタ46は、ライン86からの変数の新しい値
を収集する。この発明の1実施形態において、グローバ
ルイネーブル通信バスライン30は、共用される多重バ
ス82を具体化するために使用され、デイジーチェーン
32の複数の部分は、バスアービトレーション信号80
と84を具体化するために使用される。
る)において、共用される多重バス82は、イベントI
Dライン88、変数ライン86及びイベントレディライ
ン90に分かれる。イベントレディ信号90が検出され
ると、変数選択器92は、1つの値を示すものとして、
ライン88での値の組み合わせを認識する。これに応答
して、変数選択器92は、レジスタ46をイネーブルに
し、レジスタ46は、ライン86からの変数の新しい値
を収集する。この発明の1実施形態において、グローバ
ルイネーブル通信バスライン30は、共用される多重バ
ス82を具体化するために使用され、デイジーチェーン
32の複数の部分は、バスアービトレーション信号80
と84を具体化するために使用される。
【0043】図10は、イベント検出器54の好ましい
実施形態を詳細に示す。イベント検出器54は、1以上
の入力と出力を備える組み合わせ論理ブロック98を含
む。このブロック98の1以上の入力は、変数値(vari
able values)を表す信号に直接に接続できる。このブ
ロック98の他の入力は、他の組み合わせブロック94
とエッジ検出器96を通る変数値を表す信号に接続でき
る。エッジ検出器96は、入力信号の、正、負、または
任意のエッジを検出する。エッジ検出器の構成は、図示
されないが、当業者により容易に作成でき、また、周知
である。図10に示されるように、組み合わせブロック
98の出力は、直接に、または、遅延カウンタ100を
通って、フリップ/フロップ102の"Set"入力に接
続される。後者の場合、組み合わせ論理ブロック98の
出力は、時間アドバンス(time advance)信号72によ
りクロックされる遅延カウンタ100をイネーブルにす
る。あらかじめ決められた数の時間アドバンス信号を計
数した後で、カウンタ100はオーバーフローして、イ
ベント検出器54の出力に信号を生じる。このイベント
出力が送信された後で、イベント検出器54は、前に説
明したように、イベントエンコーダ56によるリセット
(reset)ライン101を用いてリセットされる。図1
0に示される一般構造は、任意のレベルに敏感なイベン
トの制御(組み合わせ論理ブロック98のみを用い
る)、エッジに敏感なイベントの制御(組み合わせブロ
ック94とエッジ検出器96も用いる)、遅延(遅延カ
ウンタ100も用いる)、または、それらの任意の組み
合わせを具体化できる。各々のイベント検出器54は、
これらの性能のうち、全部または一部を必要に応じて備
えることができる。
実施形態を詳細に示す。イベント検出器54は、1以上
の入力と出力を備える組み合わせ論理ブロック98を含
む。このブロック98の1以上の入力は、変数値(vari
able values)を表す信号に直接に接続できる。このブ
ロック98の他の入力は、他の組み合わせブロック94
とエッジ検出器96を通る変数値を表す信号に接続でき
る。エッジ検出器96は、入力信号の、正、負、または
任意のエッジを検出する。エッジ検出器の構成は、図示
されないが、当業者により容易に作成でき、また、周知
である。図10に示されるように、組み合わせブロック
98の出力は、直接に、または、遅延カウンタ100を
通って、フリップ/フロップ102の"Set"入力に接
続される。後者の場合、組み合わせ論理ブロック98の
出力は、時間アドバンス(time advance)信号72によ
りクロックされる遅延カウンタ100をイネーブルにす
る。あらかじめ決められた数の時間アドバンス信号を計
数した後で、カウンタ100はオーバーフローして、イ
ベント検出器54の出力に信号を生じる。このイベント
出力が送信された後で、イベント検出器54は、前に説
明したように、イベントエンコーダ56によるリセット
(reset)ライン101を用いてリセットされる。図1
0に示される一般構造は、任意のレベルに敏感なイベン
トの制御(組み合わせ論理ブロック98のみを用い
る)、エッジに敏感なイベントの制御(組み合わせブロ
ック94とエッジ検出器96も用いる)、遅延(遅延カ
ウンタ100も用いる)、または、それらの任意の組み
合わせを具体化できる。各々のイベント検出器54は、
これらの性能のうち、全部または一部を必要に応じて備
えることができる。
【0044】エミュレーション技術一般は、種々の入力
信号と出力信号のイベントの間の正確な時間間隔を計算
する意味では、設計の実際のタイミングの検証には適し
ていない。したがって、正確なモデルタイミングは、相
互へのデータ依存性を有する異なった回路コンポーネン
トの正確な検証順序を確実にする方法としてのみ重要で
ある。このタイミングの正確さの問題の最も重要な場合
は、保持時間の違反がありうるフリップ/フロップのチ
ェーンの検証である。どのクロックされる装置について
も、特定された「セットアップ時間」と「保持時間」が
ある。セットアップ時間が要求することは、入力データ
がフリップ/フロップ装置のデータ入力リード線に存在
せねばならず、かつ、クロック遷移の前のあらかじめ決
められた時間の間に安定な形であらねばならないことで
ある。保持時間が要求することは、データが、フリップ
フロップの制御リード線に達したときのクロック遷移の
時間から適正な動作のためのクロックの到達の後のある
時間間隔まで安定であることである。ユーザーのネット
リストから論理回路を具体化するときのキ−プロセス
は、データのセットアップ時間と保持時間とを、対応す
るクロックの到達と同期することである。具体化される
論理回路の適正な動作を保証するために、データは、ク
ロック入力での対応するクロックの到達に関して特定の
時空間のあいだフリップフロップのD入力で存在し安定
でなければならない。ユーザーのネットリストからの回
路の具体化において、クロック信号の適当なタイミング
は、クロックスキュー(skew)の理由によりクロックラ
インでの余分な遅延により妨害されるかもしれない。こ
れは、フリップフロップまたはシフトレジスタなどの第
1論理装置におけるデータを、第2のレジスタにおける
データより早くシフトさせるかもしれない。第2のレジ
スタの保持時間の要求が違反され、シフトレジスタが適
当に同期されないならば、次に、データビットが失われ
るかもしれない。
信号と出力信号のイベントの間の正確な時間間隔を計算
する意味では、設計の実際のタイミングの検証には適し
ていない。したがって、正確なモデルタイミングは、相
互へのデータ依存性を有する異なった回路コンポーネン
トの正確な検証順序を確実にする方法としてのみ重要で
ある。このタイミングの正確さの問題の最も重要な場合
は、保持時間の違反がありうるフリップ/フロップのチ
ェーンの検証である。どのクロックされる装置について
も、特定された「セットアップ時間」と「保持時間」が
ある。セットアップ時間が要求することは、入力データ
がフリップ/フロップ装置のデータ入力リード線に存在
せねばならず、かつ、クロック遷移の前のあらかじめ決
められた時間の間に安定な形であらねばならないことで
ある。保持時間が要求することは、データが、フリップ
フロップの制御リード線に達したときのクロック遷移の
時間から適正な動作のためのクロックの到達の後のある
時間間隔まで安定であることである。ユーザーのネット
リストから論理回路を具体化するときのキ−プロセス
は、データのセットアップ時間と保持時間とを、対応す
るクロックの到達と同期することである。具体化される
論理回路の適正な動作を保証するために、データは、ク
ロック入力での対応するクロックの到達に関して特定の
時空間のあいだフリップフロップのD入力で存在し安定
でなければならない。ユーザーのネットリストからの回
路の具体化において、クロック信号の適当なタイミング
は、クロックスキュー(skew)の理由によりクロックラ
インでの余分な遅延により妨害されるかもしれない。こ
れは、フリップフロップまたはシフトレジスタなどの第
1論理装置におけるデータを、第2のレジスタにおける
データより早くシフトさせるかもしれない。第2のレジ
スタの保持時間の要求が違反され、シフトレジスタが適
当に同期されないならば、次に、データビットが失われ
るかもしれない。
【0045】保持時間の違反は、エミュレーション回路
における人工物(artifact)であるので、狙いのシステ
ムまたは最終製品において生じないかもしれない。なぜ
なら、再プログラム可能な論理装置における制限された
資源がクロック信号の発生をサポートするように設計さ
れるので、狙いのシステムにおけるクロックスキューと
しばしば異なるエミュレーション回路におけるクロック
スキューから違反が生じるからである。論理検証システ
ムにおける行動シミュレーションは、シミュレートされ
た回路コンポーネントとエミュレートされた回路コンポ
ーネントとの共存を要求するので、互換性のある手段が
2つの技術におけるタイミングの正確さのために使用さ
れることが重要である。
における人工物(artifact)であるので、狙いのシステ
ムまたは最終製品において生じないかもしれない。なぜ
なら、再プログラム可能な論理装置における制限された
資源がクロック信号の発生をサポートするように設計さ
れるので、狙いのシステムにおけるクロックスキューと
しばしば異なるエミュレーション回路におけるクロック
スキューから違反が生じるからである。論理検証システ
ムにおける行動シミュレーションは、シミュレートされ
た回路コンポーネントとエミュレートされた回路コンポ
ーネントとの共存を要求するので、互換性のある手段が
2つの技術におけるタイミングの正確さのために使用さ
れることが重要である。
【0046】シミュレーション技術において、モデルタ
イミングは、遅延や非ブロッキング割り当て文(statem
ent)などの適当な言語構成物により記述される。その
ような構成物のセマンティクスがシミュレータにより正
確に解釈されるかぎり、タイミングは、定義により正確
である。実際の遅延値が未知であるとされるゼロ遅延の
シミュレーションの場合においても、これは真実であ
る。たとえば、検証の正しい順序を確保するVeril
ogハードウエア記述言語における以下の行動コードに
より2個のフリップ/フロップがそれぞれ定義される。 明示な遅延、ゼロ遅延及び非ブロッキング割り当ての説
明は、異なるシミュレーションサイクルへのイベントの
割り当てまたは同じサイクルにおける異なるグループへ
の割り当てに基づく。これらのイベント割り当ては、行
動設計部分のための言語セマンティクスにより含まされ
るイベント順序を強制する。
イミングは、遅延や非ブロッキング割り当て文(statem
ent)などの適当な言語構成物により記述される。その
ような構成物のセマンティクスがシミュレータにより正
確に解釈されるかぎり、タイミングは、定義により正確
である。実際の遅延値が未知であるとされるゼロ遅延の
シミュレーションの場合においても、これは真実であ
る。たとえば、検証の正しい順序を確保するVeril
ogハードウエア記述言語における以下の行動コードに
より2個のフリップ/フロップがそれぞれ定義される。 明示な遅延、ゼロ遅延及び非ブロッキング割り当ての説
明は、異なるシミュレーションサイクルへのイベントの
割り当てまたは同じサイクルにおける異なるグループへ
の割り当てに基づく。これらのイベント割り当ては、行
動設計部分のための言語セマンティクスにより含まされ
るイベント順序を強制する。
【0047】しかし、エミュレーション技術において、
直列に接続されるフリップ/フロップの対は以下のよう
に記載される。 always @(posedge clk1) q1=#t1 d1; always @(posedge clk2) q2=#t2 d2; assign #td d2=q1; assign #tc clk2=clk1; (全エミュレーション回路遅延t1、t2、td、tc
は未知であるが、上限Tを有する。)正確な検証順序を
確実にするため、エミュレータは、tdの値を人工的に
Tだけ増加する。また、エミュレータは、Tの値ができ
るだけ小さいように、回路変換(クロック木の共通部分
の特殊なFPGAへの分離、クロック論理の2重化な
ど)を行う。この処理は、米国特許第5,475,830
号(1995年12月12日にChenらに発行されQu
ickTurn Systems,Inc.に譲渡された「Structure and Me
thod for Providing a Reconfigurable Emulation Circ
uit without Hold Time Violations」)に説明されてい
る。
直列に接続されるフリップ/フロップの対は以下のよう
に記載される。 always @(posedge clk1) q1=#t1 d1; always @(posedge clk2) q2=#t2 d2; assign #td d2=q1; assign #tc clk2=clk1; (全エミュレーション回路遅延t1、t2、td、tc
は未知であるが、上限Tを有する。)正確な検証順序を
確実にするため、エミュレータは、tdの値を人工的に
Tだけ増加する。また、エミュレータは、Tの値ができ
るだけ小さいように、回路変換(クロック木の共通部分
の特殊なFPGAへの分離、クロック論理の2重化な
ど)を行う。この処理は、米国特許第5,475,830
号(1995年12月12日にChenらに発行されQu
ickTurn Systems,Inc.に譲渡された「Structure and Me
thod for Providing a Reconfigurable Emulation Circ
uit without Hold Time Violations」)に説明されてい
る。
【0048】タイミングの正確さを確実にする各々のア
プローチは、それ自体のドメイン内ではつじつまがあ
う。しかし、エミュレーションモデルとシミュレーショ
ンモデルのタイミングをともに混合すると、問題を生じ
ることがある。たとえば、1つのチェーンまたはそのク
ロック論理の一部の中での第2のフリップ/フロップが
エミュレーションモデルとしてよりはゼロ遅延行動(す
なわち、シミュレーションモデル)として記述されると
考える。この場合、遅延値の上限Tは決定できず、典型
的なエミュレータにより使用されるタイミングの正確さ
を確実にする方法は働かない。
プローチは、それ自体のドメイン内ではつじつまがあ
う。しかし、エミュレーションモデルとシミュレーショ
ンモデルのタイミングをともに混合すると、問題を生じ
ることがある。たとえば、1つのチェーンまたはそのク
ロック論理の一部の中での第2のフリップ/フロップが
エミュレーションモデルとしてよりはゼロ遅延行動(す
なわち、シミュレーションモデル)として記述されると
考える。この場合、遅延値の上限Tは決定できず、典型
的なエミュレータにより使用されるタイミングの正確さ
を確実にする方法は働かない。
【0049】保持時間を除去する1つの解決は、各々の
エミュレーションのフリップ/フロップのデータ経路の
上流に追加のフリップ/フロップを置くことである。こ
のアプローチの1例は、米国特許第5,259,006号
(1993年11月2日にPriceらに発行されQuic
kTurn Systems, Inc.に譲渡された「Method for Substa
ntailly Elliminating Hold Time Violations in Imple
menting High Speed Logic Circuits and the Like」)
に示される。しかし、この解決は、行動検証システムに
おいて提供することは困難であるかまたは不可能であ
る。なぜなら、これは、追加のフリップ/フロップが挿
入される必要があるかを決定するために、各行動ブロッ
クが各フリップ/フロップまたは組み合わせ回路として
分類されることを要求するからである。また、そのよう
なブロックの各入力をデータ入力またはクロック入力と
して同定することが必要である。そのような同定は、ハ
ードウエア記述言語の制約のため困難であるかまたは不
可能である。もし追加のフリップ/フロップが組み合わ
せ論理ブロックの上流に置かれるならば、設計者により
意図された行動を変更することがある。
エミュレーションのフリップ/フロップのデータ経路の
上流に追加のフリップ/フロップを置くことである。こ
のアプローチの1例は、米国特許第5,259,006号
(1993年11月2日にPriceらに発行されQuic
kTurn Systems, Inc.に譲渡された「Method for Substa
ntailly Elliminating Hold Time Violations in Imple
menting High Speed Logic Circuits and the Like」)
に示される。しかし、この解決は、行動検証システムに
おいて提供することは困難であるかまたは不可能であ
る。なぜなら、これは、追加のフリップ/フロップが挿
入される必要があるかを決定するために、各行動ブロッ
クが各フリップ/フロップまたは組み合わせ回路として
分類されることを要求するからである。また、そのよう
なブロックの各入力をデータ入力またはクロック入力と
して同定することが必要である。そのような同定は、ハ
ードウエア記述言語の制約のため困難であるかまたは不
可能である。もし追加のフリップ/フロップが組み合わ
せ論理ブロックの上流に置かれるならば、設計者により
意図された行動を変更することがある。
【0050】本発明により提供される1つの解決は、異
なった種類の遅延に依存しない保持時間違反の除去であ
る。図11に示されるように、保持時間違反をして他の
回路コンポーネント106に潜在的に達しうる信号の発
生源であるすべてのエミュレーションフリップ/フロッ
プ105について、追加のフリップ/フロップ108が
下流に挿入される。シミュレーションクロック110
は、すべてのBUSY信号62が表明されないときに表
明される。その結果、フリップ/フロップ104がエミ
ュレートされるかシミュレートされるかにかかわらず、
フリップ/フロップ104から始まるデータ通路112
における有効遅延は、フリップ/フロップ104のクロ
ック信号116とフリップ/フロップ106のクロック
信号118を分離する組み合わせクロック通路114に
おけるどの遅延よりも常に大きい。
なった種類の遅延に依存しない保持時間違反の除去であ
る。図11に示されるように、保持時間違反をして他の
回路コンポーネント106に潜在的に達しうる信号の発
生源であるすべてのエミュレーションフリップ/フロッ
プ105について、追加のフリップ/フロップ108が
下流に挿入される。シミュレーションクロック110
は、すべてのBUSY信号62が表明されないときに表
明される。その結果、フリップ/フロップ104がエミ
ュレートされるかシミュレートされるかにかかわらず、
フリップ/フロップ104から始まるデータ通路112
における有効遅延は、フリップ/フロップ104のクロ
ック信号116とフリップ/フロップ106のクロック
信号118を分離する組み合わせクロック通路114に
おけるどの遅延よりも常に大きい。
【0051】より複雑な状況が、図12に示され、ここ
では、エミュレートされるフリップ/フロップはクロッ
ク回路122の中に存在する。設計の意図が回路122
の遅延が回路112の遅延より小さいことであると仮定
すると、追加のフリップ/フロップはクロック回路12
2に挿入されるべきでない。もしそのようなフリップ/
フロップ120により作られる信号が他のフリップ/フ
ロップ126のためのデータ源としても使用されるな
ら、フリップ/フロップ124の追加と、回路122の
回路128としての2重化は、図12に示されるように
必要である。回路122を前でフリップ/フロップ12
6と接続する信号130は、除かれるべきである。これ
らの変換が正確に行われるために、どのクロックエッジ
が全記憶素子(エミュレートされるか又はシミュレート
されている)のクロック入力で潜在的に活動的であるこ
とを決定するクロック回路の解析が行われねばならな
い。行動ブロックについて、それらの記憶容量について
の控えめな仮定が使用できる。なぜなら、追加のフリッ
プ/フロップが保持時間違反の危険を引き起こすとして
誤って同定されたとしても、この変換は、検証中の回路
により行われる機能を変えないからである。最悪の場
合、回路のエミュレートされる部分の中のすべてのフリ
ップ/フロップは、シミュレーションクロック信号11
0により同期されるフリップ/フロップで2重化されね
ばならない。
では、エミュレートされるフリップ/フロップはクロッ
ク回路122の中に存在する。設計の意図が回路122
の遅延が回路112の遅延より小さいことであると仮定
すると、追加のフリップ/フロップはクロック回路12
2に挿入されるべきでない。もしそのようなフリップ/
フロップ120により作られる信号が他のフリップ/フ
ロップ126のためのデータ源としても使用されるな
ら、フリップ/フロップ124の追加と、回路122の
回路128としての2重化は、図12に示されるように
必要である。回路122を前でフリップ/フロップ12
6と接続する信号130は、除かれるべきである。これ
らの変換が正確に行われるために、どのクロックエッジ
が全記憶素子(エミュレートされるか又はシミュレート
されている)のクロック入力で潜在的に活動的であるこ
とを決定するクロック回路の解析が行われねばならな
い。行動ブロックについて、それらの記憶容量について
の控えめな仮定が使用できる。なぜなら、追加のフリッ
プ/フロップが保持時間違反の危険を引き起こすとして
誤って同定されたとしても、この変換は、検証中の回路
により行われる機能を変えないからである。最悪の場
合、回路のエミュレートされる部分の中のすべてのフリ
ップ/フロップは、シミュレーションクロック信号11
0により同期されるフリップ/フロップで2重化されね
ばならない。
【0052】図13は、論理検証システムにより使用さ
れるコンフィギュレーションデータを準備するフロー図
を示す。一般に、コンパイルは、たとえばVerilo
gハードウエア記述言語("Verilog HDL")
を用いるユーザーの設計記述ファイルから出発する。し
かし、コンパイルは、種々の他の言語でも出発できる。
インポートステップ132の結果として、行動データベ
ース表現134が生成される。この表現は、もう1つの
行動表現138を生じる前処理ステップ136により増
補(augment)される。ネットリスト発生ステップ14
0とコード発生ステップ144の結果、エミュレーショ
ンモデル142のネットリスト表現と、論理モジュール
プロセッサメモリ20にダウンロードできるエミュレー
ションモデルのネットリスト表現142と、1組の実行
可能物146を生じる。ネットリスト表現142は、F
PGA10とプログラマブル相互接続器12のためのコ
ンフィギュレーションデータ150を作成する区分、配
置および経路指定(routing)のステップ148に供さ
れる。この区分、配置および経路指定のステップは、S
ampleらへの米国特許第5,329,470号とBu
ttsらへの米国特許第5,036,473号に記載さ
れ、当業界において周知である。より詳細には、インポ
ート部132は、ユーザーのVerilogソースファ
イルを処理し、行動データベースライブラリを作る。イ
ンポート部132は、ソースファイル名のリスト、"i
nclude"経路、及び、検索ライブラリのリストを
受け取る。ここで、そうしなければ未定義であったモジ
ュールの参照が解決される。インポート部は、行動記述
を複数の同時に実行可能なコードフラグメントに分割す
る。
れるコンフィギュレーションデータを準備するフロー図
を示す。一般に、コンパイルは、たとえばVerilo
gハードウエア記述言語("Verilog HDL")
を用いるユーザーの設計記述ファイルから出発する。し
かし、コンパイルは、種々の他の言語でも出発できる。
インポートステップ132の結果として、行動データベ
ース表現134が生成される。この表現は、もう1つの
行動表現138を生じる前処理ステップ136により増
補(augment)される。ネットリスト発生ステップ14
0とコード発生ステップ144の結果、エミュレーショ
ンモデル142のネットリスト表現と、論理モジュール
プロセッサメモリ20にダウンロードできるエミュレー
ションモデルのネットリスト表現142と、1組の実行
可能物146を生じる。ネットリスト表現142は、F
PGA10とプログラマブル相互接続器12のためのコ
ンフィギュレーションデータ150を作成する区分、配
置および経路指定(routing)のステップ148に供さ
れる。この区分、配置および経路指定のステップは、S
ampleらへの米国特許第5,329,470号とBu
ttsらへの米国特許第5,036,473号に記載さ
れ、当業界において周知である。より詳細には、インポ
ート部132は、ユーザーのVerilogソースファ
イルを処理し、行動データベースライブラリを作る。イ
ンポート部132は、ソースファイル名のリスト、"i
nclude"経路、及び、検索ライブラリのリストを
受け取る。ここで、そうしなければ未定義であったモジ
ュールの参照が解決される。インポート部は、行動記述
を複数の同時に実行可能なコードフラグメントに分割す
る。
【0053】前プロセッサ136は、インポートステッ
プ132により生成された行動データベースライブラリ
を変換する。前プロセッサ136は、利用できるシミュ
レーションモジュール14の各々での実行のためのクラ
スタに行動コードを区分し、行動コードフラグメントの
実行順序と区分内での変数のローカル性を決定する。ま
た、前処理プロセッサ136は、上述の保持時間違反の
ないモデルの生成に必要な変換を行う。コード発生器1
44は、前処理プロセッサ136により変換された行動
データベースを読み、前プロセッサ136により同定さ
れている各々のシミュレーションモジュール14につい
てダウンロード可能な実行可能物146を作る。ネット
リスト発生器140は、前処理プロセッサ136により
変換された行動データベースを読み、区分、配置および
経路指定のステップ148による次の処理のためネット
リストデータライブラリを作る。
プ132により生成された行動データベースライブラリ
を変換する。前プロセッサ136は、利用できるシミュ
レーションモジュール14の各々での実行のためのクラ
スタに行動コードを区分し、行動コードフラグメントの
実行順序と区分内での変数のローカル性を決定する。ま
た、前処理プロセッサ136は、上述の保持時間違反の
ないモデルの生成に必要な変換を行う。コード発生器1
44は、前処理プロセッサ136により変換された行動
データベースを読み、前プロセッサ136により同定さ
れている各々のシミュレーションモジュール14につい
てダウンロード可能な実行可能物146を作る。ネット
リスト発生器140は、前処理プロセッサ136により
変換された行動データベースを読み、区分、配置および
経路指定のステップ148による次の処理のためネット
リストデータライブラリを作る。
【0054】論理検証システムの動作は、同業者により
周知のイベントドリブン・シミュレーションの原理に基
づく。基本的な仮定は、以下のとおりである。(1)ど
の与えられた行動モデルも、1組の検証手続き(proced
ures)に分割でき、この検証手続きは行動記述に基づい
てコンパイルされる。(2)シミュレーションの過程
は、これらの手続きの一連の実行からなり、ここで、手
続きは、変数(入力)の論理値を読み、他の変数(出
力)の新しい値を計算する。(3)手続きは、シミュレ
ーションモデルの現在の状態に依存する各々の手続きを
実行するか否かを定義する条件をトリガーする手続きが
割り当てられる。たとえば、図14に示されるVeri
log HDLモデルを考える。このモデルは、Q_A
N02で始まる、10個の検証手続きからなる。これら
の手続きの9個は、ライブラリの要素(primitives)で
あるQ_AN02とQ_FDP0への参照によりあらか
じめ定義され、1個は、行動記述で表現される。検証手
続きの間の関係は、図15においてグラフにより記述で
きる。
周知のイベントドリブン・シミュレーションの原理に基
づく。基本的な仮定は、以下のとおりである。(1)ど
の与えられた行動モデルも、1組の検証手続き(proced
ures)に分割でき、この検証手続きは行動記述に基づい
てコンパイルされる。(2)シミュレーションの過程
は、これらの手続きの一連の実行からなり、ここで、手
続きは、変数(入力)の論理値を読み、他の変数(出
力)の新しい値を計算する。(3)手続きは、シミュレ
ーションモデルの現在の状態に依存する各々の手続きを
実行するか否かを定義する条件をトリガーする手続きが
割り当てられる。たとえば、図14に示されるVeri
log HDLモデルを考える。このモデルは、Q_A
N02で始まる、10個の検証手続きからなる。これら
の手続きの9個は、ライブラリの要素(primitives)で
あるQ_AN02とQ_FDP0への参照によりあらか
じめ定義され、1個は、行動記述で表現される。検証手
続きの間の関係は、図15においてグラフにより記述で
きる。
【0055】エミュレーションの目的のため、インスタ
ンスU1とm0〜m7がFPGAにおいて直接に具体化
できる。instance line_selectの出力を評価する行動コ
ードは、埋め込まれたマイクロプロセッサのための命令
シーケンスとしてコンパイルできる。適当な時間にこの
命令シーケンスを呼び出すために、一意のIDが、1個
のマイクロプロセッサにロードされたそのような命令シ
ーケンスの各々に割り当てられねばならない。IDは、
対応するトリガー条件が真になったときに、FPGAに
おいて発生できる。(IDを発生するための回路は、前
に図5に示された。)もしいくつかのトリガー条件が同
時に真になると、IDのなかの最小のものが発生され
る。マイクロプロセッサ16は、IDを連続的にモニタ
ーし、新しいIDが発生されるごとに、対応する命令シ
ーケンスが実行される。line_select機能のIDが5で
あると仮定すると、イベントを発生する論理は、図16
に示されるように具体化できる。CLKの負のエッジが
(速い周期信号により同期されて)検出されるとき、イ
ベント検出器152におけるRSトリガーをセットす
る。もし5より小さいIDを持つイベントがなければ、
イベントエンコーダ154は、数5を発生し、マイクロ
プロセッサ16は、リード命令がFPGAアドレス空間
に属するアドレスの1つから実行されるときに、数5を
検出する。このときに、RSトリガーはリセットされ
る。(動作デコーダ、バスドライバおよびデータレジス
タは示されない。)
ンスU1とm0〜m7がFPGAにおいて直接に具体化
できる。instance line_selectの出力を評価する行動コ
ードは、埋め込まれたマイクロプロセッサのための命令
シーケンスとしてコンパイルできる。適当な時間にこの
命令シーケンスを呼び出すために、一意のIDが、1個
のマイクロプロセッサにロードされたそのような命令シ
ーケンスの各々に割り当てられねばならない。IDは、
対応するトリガー条件が真になったときに、FPGAに
おいて発生できる。(IDを発生するための回路は、前
に図5に示された。)もしいくつかのトリガー条件が同
時に真になると、IDのなかの最小のものが発生され
る。マイクロプロセッサ16は、IDを連続的にモニタ
ーし、新しいIDが発生されるごとに、対応する命令シ
ーケンスが実行される。line_select機能のIDが5で
あると仮定すると、イベントを発生する論理は、図16
に示されるように具体化できる。CLKの負のエッジが
(速い周期信号により同期されて)検出されるとき、イ
ベント検出器152におけるRSトリガーをセットす
る。もし5より小さいIDを持つイベントがなければ、
イベントエンコーダ154は、数5を発生し、マイクロ
プロセッサ16は、リード命令がFPGAアドレス空間
に属するアドレスの1つから実行されるときに、数5を
検出する。このときに、RSトリガーはリセットされ
る。(動作デコーダ、バスドライバおよびデータレジス
タは示されない。)
【0056】動作方法は、以下のようにまとめることが
できる。モデルコンパイル時間に、行動コードにより表
現されるセル(たとえば図15におけるline_select ce
ll)は、対応するイベント発生論理ブロック(図16に
示されたのと同様なもの)で置換される。実行時間に、
マイクロプロセッサ16は、FPGAから次のイベント
のIDを読むことと、このイベントに対応する機能を実
行することからなるループにおいて連続的に動作してい
る。この動作をするためにマイクロプロセッサ16によ
り使用できるプログラムの1例は図17に示される。シ
ミュレーションアルゴリズムのこのソフトウエア・ハー
ドウエアの具体化は、レベル化シミュレーションとイベ
ントドリブン・シミュレーションの最良の特徴を組み合
わせる。イベントドリブン・シミュレーションにおい
て、活動化条件が満足される各サイクルで評価されるた
びに、これらの要素のみが評価される。レベル化シミュ
レーションにおいて、イベントキュー・操作(manipula
tion)のオーバーヘッドが、モデル実行段階から除かれ
る。すべての必要なイベント検出と操作は、再構成可能
なハードウエア(FPGA)においてなされる。イベン
ト検出ハードウエア・ネットリストは、モデル区分化と
分類(sorting)の結果と同様に、各評価ルーチンのた
めのトリガー条件に基づくコンパイル時間に発生され
る。
できる。モデルコンパイル時間に、行動コードにより表
現されるセル(たとえば図15におけるline_select ce
ll)は、対応するイベント発生論理ブロック(図16に
示されたのと同様なもの)で置換される。実行時間に、
マイクロプロセッサ16は、FPGAから次のイベント
のIDを読むことと、このイベントに対応する機能を実
行することからなるループにおいて連続的に動作してい
る。この動作をするためにマイクロプロセッサ16によ
り使用できるプログラムの1例は図17に示される。シ
ミュレーションアルゴリズムのこのソフトウエア・ハー
ドウエアの具体化は、レベル化シミュレーションとイベ
ントドリブン・シミュレーションの最良の特徴を組み合
わせる。イベントドリブン・シミュレーションにおい
て、活動化条件が満足される各サイクルで評価されるた
びに、これらの要素のみが評価される。レベル化シミュ
レーションにおいて、イベントキュー・操作(manipula
tion)のオーバーヘッドが、モデル実行段階から除かれ
る。すべての必要なイベント検出と操作は、再構成可能
なハードウエア(FPGA)においてなされる。イベン
ト検出ハードウエア・ネットリストは、モデル区分化と
分類(sorting)の結果と同様に、各評価ルーチンのた
めのトリガー条件に基づくコンパイル時間に発生され
る。
【0057】ここに発明の好ましい実施形態が開示され
たが、当業者にとって明らかなように、多数の変更がこ
の発明の精神または範囲からはずれることなしに可能で
ある。上述の説明に含まれ添付図面に示されたことは、
例として示されたものであり、制限的なものでないとし
て解釈されるべきである。したがって、この発明は、以
下の請求項によるものを例外として、制限されるべきで
ない。
たが、当業者にとって明らかなように、多数の変更がこ
の発明の精神または範囲からはずれることなしに可能で
ある。上述の説明に含まれ添付図面に示されたことは、
例として示されたものであり、制限的なものでないとし
て解釈されるべきである。したがって、この発明は、以
下の請求項によるものを例外として、制限されるべきで
ない。
【図1】 多数のプロセッサとプログラマブルゲートア
レイ装置を備える論理検証システムの1実施形態のブロ
ック図である。
レイ装置を備える論理検証システムの1実施形態のブロ
ック図である。
【図2】 グローバルイベント転送バスを含む論理検証
システムの他の実施形態のブロック図である。
システムの他の実施形態のブロック図である。
【図3】 計算された変数値の、シミュレートされた設
計部分からエミュレートされた設計部分への転送を示す
ブロック図である。
計部分からエミュレートされた設計部分への転送を示す
ブロック図である。
【図4】 シミュレートされた設計部分からエミュレー
トされた設計部分への変数の計算値の収集を示すブロッ
ク図である。
トされた設計部分への変数の計算値の収集を示すブロッ
ク図である。
【図5】 イベントコードの計算と、行動シミュレーシ
ョンを実行するマイクロプロセッサへのそれらの転送を
示すブロック図である。
ョンを実行するマイクロプロセッサへのそれらの転送を
示すブロック図である。
【図6】 イベントコードの計算と、行動シミュレーシ
ョンを実行するマイクロプロセッサへのそれらの転送を
示す他の実施形態のブロック図であり、ここで、イベン
トは、たとえば、活動イベント、非活動イベント、非ブ
ロッキング割り当て更新イベントおよびモニタイベント
のグループに分けられる。
ョンを実行するマイクロプロセッサへのそれらの転送を
示す他の実施形態のブロック図であり、ここで、イベン
トは、たとえば、活動イベント、非活動イベント、非ブ
ロッキング割り当て更新イベントおよびモニタイベント
のグループに分けられる。
【図7】 イベントグループにおける目立つイベントの
検出を示すブロック図である。
検出を示すブロック図である。
【図8】 シミュレーション時間に先立つ信号の計算を
示すブロック図である。
示すブロック図である。
【図9】 1つのマイクロプロセッサから他のマイクロ
プロセッサへの、共有多重バスを介してのイベントの転
送を描くブロック図である。
プロセッサへの、共有多重バスを介してのイベントの転
送を描くブロック図である。
【図10】 イベント検出器のブロック図である。
【図11】 設計エミュレーションの間での保持時間違
反行為を防止するために、検証中の論理設計に対してな
される変換を示すブロック図である。
反行為を防止するために、検証中の論理設計に対してな
される変換を示すブロック図である。
【図12】 設計エミュレーションの間での保持時間違
反行為を防止するために、論理設計に対してなされる他
の変換を示すブロック図である。
反行為を防止するために、論理設計に対してなされる他
の変換を示すブロック図である。
【図13】 論理検証システムのプログラミングを示す
ブロック図である。
ブロック図である。
【図14】 コンポーネント相互結合による部分的に表
現され、Verilogハードウエア記述言語でのコー
ドフラグメントを用いた、行動記述により部分的に表現
される論理設計の1例を示す図である。
現され、Verilogハードウエア記述言語でのコー
ドフラグメントを用いた、行動記述により部分的に表現
される論理設計の1例を示す図である。
【図15】 (図13に示されるインポートステップ1
30の終了の後で)行動データベースにおける論理設計
の中間表現の1例を示す図である。
30の終了の後で)行動データベースにおける論理設計
の中間表現の1例を示す図である。
【図16】 ネットリスト生成ステップ140(図13
に示されるステップ)により生成される回路フラグメン
トの1例を示す図である。
に示されるステップ)により生成される回路フラグメン
トの1例を示す図である。
【図17】 コード作成ステップ144(図13に示さ
れるステップ)により生成される実行可能なコード(C
プログラム言語による)の1例を示す図である。
れるステップ)により生成される実行可能なコード(C
プログラム言語による)の1例を示す図である。
10,22 FPGA、 12 相互接続器、14 シ
ミュレーションモジュール、 24 システムバス制御
器、28 システムバス、 32 デイジーチェーンラ
イン、42 制作デコーダ、 54 イベント検出器
ミュレーションモジュール、 24 システムバス制御
器、28 システムバス、 32 デイジーチェーンラ
イン、42 制作デコーダ、 54 イベント検出器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ミクヘイル・バーシュテイン アメリカ合衆国95008カリフォルニア州 キャンベル・バレリー・ドライブ4168番 (56)参考文献 特開 平9−293002(JP,A) 特開 平2−291980(JP,A) 特開 平9−153077(JP,A) 特表 平7−506685(JP,A) 欧州特許出願公開777180(EP,A 2) 1.Michael Butts," Future Directions of Dynamically Rep rogrammable System s”,IEEE CICC,IEEE, 1995年,p.487〜494 2.http://support. xilinx.co.jp/prs r ls/qturnDAC.htm (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 G06F 11/26 G01R 31/28 H03K 19/173
Claims (53)
- 【請求項1】 設計の第1部分をエミュレートする少な
くとも1つの再構成可能な構成要素と、 前記の再構成可能な構成要素に電気的に接続され、前記
の設計の第2部分をシミュレートする少なくとも1つの
マイクロプロセッサと、 前記の少なくとも1つのマイクロプロセッサに接続さ
れ、設計検証の間に複数のイベントを検出して前記の少
なくとも1つのマイクロプロセッサをイベント検出から
解放するイベント検出器とからなり、 前記の少なくとも1つのマイクロプロセッサは、第1の
マイクロプロセッサと第2のマイクロプロセッサを備
え、 さらに、前記の第1と第2のマイクロプロセッサの各々
による並列の実行のために前記の設計の第2部分の独立
のフラグメントを選択する選択器を備えることを特徴と
するエミュレーションとシミュレーションを用いた設計
検証装置。 - 【請求項2】 設計の第1部分をエミュレートする少な
くとも1つの再構成可能な構成要素と、 前記の再構成可能な構成要素に電気的に接続され、前記
の設計の第2部分をシミュレートする少なくとも1つの
マイクロプロセッサと、 前記の少なくとも1つのマイクロプロセッサに接続さ
れ、設計検証の間に複数のイベントを検出して前記の少
なくとも1つのマイクロプロセッサをイベント検出から
解放するイベント検出器と、 前記のマイクロプロセッサの実行のために前記の設計の
第2部分の独立のフラグメントを選択する選択器とから
なることを特徴とするエミュレーションとシミュレーシ
ョンを用いた設計検証装置。 - 【請求項3】 設計の第1部分をエミュレートする少な
くとも1つの再構成可能な構成要素と、 前記の再構成可能な構成要素に電気的に接続され、前記
の設計の第2部分をシミュレートする少なくとも1つの
マイクロプロセッサと、 前記の少なくとも1つのマイクロプロセッサに接続さ
れ、設計検証の間に複数のイベントを検出して前記の少
なくとも1つのマイクロプロセッサをイベント検出から
解放するイベント検出器とからなり、 前記の少なくとも1つの再構成可能な構成要素が、第1
の再構成可能な構成要素と第2の再構成可能な構成要素
を備え、 前記の第2の再構成可能な構成要素は、前記のイベント
検出器によるイベントの検出において前記の少なくとも
1つのマイクロプロセッサによりシミュレートされる前
記の設計の第2部分のフラグメントのスケジュールを作
成するスケジュール作成器を備えることを特徴とするエ
ミュレーションとシミュレーションを用いた設計検証装
置。 - 【請求項4】 設計の第1部分をエミュレートする少な
くとも1つの再構成可能な構成要素と、 前記の再構成可能な構成要素に電気的に接続され、前記
の設計の第2部分をシミュレートする少なくとも1つの
マイクロプロセッサと、 前記の少なくとも1つのマイクロプロセッサに接続さ
れ、設計検証の間に複数のイベントを検出して前記の少
なくとも1つのマイクロプロセッサをイベント検出から
解放するイベント検出器とからなり、 前記の少なくとも1つの再構成可能な構成要素が、第1
の再構成可能な構成要素と第2の再構成可能な構成要素
を備え、 前記の第2の再構成可能な構成要素は、前記の少なくと
も1つのマイクロプロセッサによる実行のため前記の設
計の第2部分の独立なフラグメントを選択する選択器を
備えることを特徴とするエミュレーションとシミュレー
ションを用いた設計検証装置。 - 【請求項5】 設計の第1部分をエミュレートする少な
くとも1つの再構成可能な構成要素と、 前記の再構成可能な構成要素に電気的に接続され、前記
の設計の第2部分をシミュレートする少なくとも1つの
マイクロプロセッサと、 前記の少なくとも1つのマイクロプロセッサに接続さ
れ、設計検証の間に複数のイベントを検出して前記の少
なくとも1つのマイクロプロセッサをイベント検出から
解放するイベント検出器とからなり、 前記の少なくとも1つの再構成可能な構成要素が、第1
の再構成可能な構成要素と第2の再構成可能な構成要素
を備え、 前記の第2の再構成可能な構成要素は、設計検証の間に
前記の複数のイベントを検出して前記の少なくとも1つ
のマイクロプロセッサを前記のイベント検出から解放す
る選択器を備えることを特徴とするエミュレーションと
シミュレーションを用いた設計検証装置。 - 【請求項6】 設計をシミュレートするマイクロプロセ
ッサをそれぞれ備える複数のシミュレーションモジュー
ルと、 このシミュレーションモジュールに接続され、前記の設
計をエミュレートする第1の再構成可能な構成要素とか
らなり、 前記の複数のシミュレーションモジュールは、さらに、
第2の再構成可能な構成要素を備え、 前記の第2の再構成可能な構成要素は、前記の設計のシ
ミュレーションにおいて前記のマイクロプロセッサを助
けるイベントを検出するイベント検出器を備えることを
特徴とするエミュレーションとシミュレーションのため
の装置。 - 【請求項7】 前記のシミュレーションモジュールの少
なくとも1つは、前記の第1の再構成可能な構成要素に
データ値を送信することを特徴とする請求項6に記載さ
れた装置。 - 【請求項8】 前記のシミュレーションモジュールの少
なくとも1つは、そのモジュールの外側でデータ値を送
信することを特徴とする請求項6に記載された装置。 - 【請求項9】 前記のマイクロプロセッサの少なくとも
1つは、前記の第2の再構成可能な構成要素にデータ値
を送信することを特徴とする請求項6に記載された装
置。 - 【請求項10】 前記の第2の再構成可能な構成要素
は、前記のマイクロプロセッサの中の1つから受け取っ
た信号を復号するデコーダを備えることを特徴とする請
求項6に記載された装置。 - 【請求項11】 前記の第2の再構成可能な構成要素
は、さらに、前記のデコーダが前記のマイクロプロセッ
サの1つからの前記の信号を認識するときにイネーブル
となる選択器を備えることを特徴とする請求項10に記
載された装置。 - 【請求項12】 前記の第2の再構成可能な構成要素
は、さらに、前記のレジスタが前記の選択器によりイネ
ーブルとなったときに、前記の信号を収集するレジスタ
を備えることを特徴とする請求項11に記載された装
置。 - 【請求項13】 前記の複数のシミュレーションモジュ
ールのなかの少なくとも1つのシミュレーションモジュ
ールが前記のシミュレーションモジュールのなかの第2
のシミュレーションモジュールからデータ信号を受け取
ることを特徴とする請求項6に記載された装置。 - 【請求項14】 前記の複数のシミュレーションモジュ
ールのなかの少なくとも1つのシミュレーションモジュ
ールが前記の第2の再構成可能な構成要素からデータ信
号を受け取ることを特徴とする請求項6に記載された装
置。 - 【請求項15】 前記のマイクロプロセッサの1つが前
記の第2の再構成可能な構成要素からデータ信号を受け
取ることを特徴とする請求項6に記載された装置。 - 【請求項16】 前記の第2の再構成可能な構成要素
は、さらに、前記のマイクロプロセッサの1つを示すマ
イクロプロセッサ信号を認識するデコーダを備えること
を特徴とする請求項6に記載された装置。 - 【請求項17】 前記の第2の再構成可能な構成要素
は、さらに、前記の複数のマイクロプロセッサの1つに
より収集されたデータ値を選択するマルチプレクサを備
えることを特徴とする請求項6に記載された装置。 - 【請求項18】 前記のイベント検出器は、イベントが
検出されたときに前記の複数のマイクロプロセッサの1
つに割り込みをすることを特徴とする請求項6に記載さ
れた装置。 - 【請求項19】 さらに、複数のイベントを処理する複
数のイベント検出器グループを備えることを特徴とする
請求項6に記載された装置。 - 【請求項20】 前記の複数のイベント検出器グループ
は、少なくとも1つのイベント検出器を備えることを特
徴とする請求項19に記載された装置。 - 【請求項21】 前記の複数のイベント検出器グループ
は、少なくとも1つのANDゲートを備えることを特徴
とする請求項19に記載された装置。 - 【請求項22】 前記の複数のイベント検出器グループ
は、第2のイベントの前に第1のイベントを処理するこ
とを特徴とする請求項19に記載された装置。 - 【請求項23】 前記の複数のイベント検出器は、第1
のイベントと第2のイベントを検出し、第2のイベント
の前に第1のイベントを処理することを特徴とする請求
項19に記載された装置。 - 【請求項24】 前記の複数のイベント検出器は、前記
の第1のイベントを表す第1のビジー信号と、前記の第
2のイベントを表す第2のビジー信号を生成することを
特徴とする請求項23に記載された装置。 - 【請求項25】 前記の複数のイベント検出器グループ
は、第1のビジー信号と第2のビジー信号を検出し、前
記の第1のビジー信号が表明されないときに前記の第2
のビジー信号を処理することを特徴とする請求項19に
記載された装置。 - 【請求項26】 前記の第1のビジー信号と前記の第2
のビジー信号の各々が、それぞれ、前記の複数のイベン
ト検出器の少なくとも1つに接続されるORゲートで形
成されることを特徴とする請求項25に記載された装
置。 - 【請求項27】 前記の第1のビジー信号と前記の第2
のビジー信号の各々が、それぞれ、前記の複数のイベン
ト検出器の少なくとも1つに接続されるワイアドORで
形成されることを特徴とする請求項25に記載された装
置。 - 【請求項28】 グローバルバスが前記の複数のシミュ
レーションモジュールを接続することを特徴とする請求
項6に記載された装置。 - 【請求項29】 前記の第1のビジー信号と前記の第2
のビジー信号を前記の複数のシミュレーションモジュー
ルに送るグローバルバスを備えることを特徴とする請求
項25に記載された装置。 - 【請求項30】 前記の複数のイベント検出器は、複数
のイベントの種類を検出することを特徴とする請求項1
9に記載された装置。 - 【請求項31】 前記のシミュレーションモジュール
は、さらに、前記の複数のイベントの種類が前記の複数
のイベント検出器によって検出されないときに時間アド
バンス信号を作るシミュレーションアドバンス回路を備
えることを特徴とする請求項30に記載された装置。 - 【請求項32】 前記のシミュレーションアドバンス回
路がカウンタとNORゲートを備えることを特徴とする
請求項31に記載された装置。 - 【請求項33】 さらに、前記の時間アドバンス信号を
送るグローバルバスを備えることを特徴とする請求項3
1に記載された装置。 - 【請求項34】 前記のシミュレーションモジュールが
多重バスにより接続されることを特徴とする請求項6に
記載された装置。 - 【請求項35】 前記の多重バスが、前記の複数のシミ
ュレーションモジュールの間で前記のイベントを送るこ
とを特徴とする請求項34に記載された装置。 - 【請求項36】 前記の複数のシミュレーションモジュ
ールが、さらに、前記の多重バスを制御する送信制御器
を備えることを特徴とする請求項34に記載された装
置。 - 【請求項37】 前記のグローバルバスが前記の複数の
シミュレーションモジュールの間で前記のイベントを送
ることを特徴とする請求項33に記載された装置。 - 【請求項38】 前記の第1の再構成可能な構成要素が
第1のフリップ/フロップを備えることを特徴とする請
求項6に記載された装置。 - 【請求項39】 さらに、保持時間の違反行為をシミュ
レートするため前記の第1のフリップ/フロップから下
流に置かれた第2のフリップ/フロップを備えることを
特徴とする請求項38に記載された装置。 - 【請求項40】 前記の再構成可能な構成要素がクロッ
ク回路を備えることを特徴とする請求項6に記載された
装置。 - 【請求項41】 前記のクロック回路がフリップ/フロ
ップを備えることを特徴とする請求項40に記載された
装置。 - 【請求項42】 前記のクロック回路が前記の第1の再
構成可能な構成要素において2重化されることを特徴と
する請求項41に記載された装置。 - 【請求項43】 行動設計を含む設計をインポートして
行動データベースを生成するステップ、 行動設計を複数の行動フラグメントに分割するステッ
プ、 前記の行動データベースを前処理して、前処理された行
動データベースを作るステップ、 複数のシミュレーションモジュールの中での処理のため
に複数のシミュレーションモジュールのための複数の実
行可能部を作るステップ、 ネットリストを作るステップ、及び、 このネットリストを処理して、複数の再構成可能な構成
要素のためのコンフィグレーションデータを生成するス
テップからなる、設計をエミュレートしシミュレートす
る方法。 - 【請求項44】 請求項43に記載された方法におい
て、前記の前処理ステップが、さらに、 前記の行動データベースを複数のクラスタに分割するス
テップ、及び、 前記の設計を変換して保持時間違反行為を除去するステ
ップを備えることを特徴とする方法。 - 【請求項45】 請求項43に記載された方法におい
て、前記のネットリスト処理ステップが、さらに、 前記のネットリストを区分して、区分されたネットリス
トを生成するステップ、 前記の区分されたネットリストを置くステップ、及び、 前記の区分されたネットリストの経路指定をするステッ
プを備えることを特徴とする方法。 - 【請求項46】 エミュレータと複数のマイクロプロセ
ッサとを接続するステップ、 前記のエミュレータにより前記の設計の第1部分をエミ
ュレートするステップ、 前記のシミュレータにより前記の設計の第2部分をシミ
ュレートするステップ、及び、 前記のマイクロプロセッサにより通常検出される複数の
イベントを前記のエミュレータにより検出するステップ
からなる、エミュレーションとシミュレーションを組み
合わせる方法。 - 【請求項47】 請求項46に記載された方法におい
て、さらに、前記のマイクロプロセッサにより通常はス
ケジュールを作成される、前記のエミュレータによる複
数の動作についてスケジュールを作成するステップを備
えることを特徴とする方法。 - 【請求項48】 請求項46に記載された方法におい
て、さらに、 前記の設計の第2部分の複数の独立フラグメントを選択
するステップ、 前記のマイクロプロセッサにより前記の複数の独立フラ
グメントを並列に実行するステップを備えることを特徴
とする方法。 - 【請求項49】 請求項46に記載された方法におい
て、前記のシミュレートするステップが、さらに、行動
言語で記述された前記の設計の前記の第1部分をシミュ
レートするステップを備えることを特徴とする方法。 - 【請求項50】 請求項46に記載された方法におい
て、さらに、前記のマイクロプロセッサにより通常は操
作される複数のイベントを前記のエミュレータにより操
作するステップを備えることを特徴とする方法。 - 【請求項51】 請求項46に記載された方法におい
て、さらに、複数の保持時間違反行為を除去するステッ
プを備えることを特徴とする方法。 - 【請求項52】 請求項46に記載された方法におい
て、前記の設計の前記の第1部分が前記の設計の第2部
分と重複することを特徴とする方法。 - 【請求項53】 請求項46に記載された方法におい
て、前記の設計の前記の第1部分が前記の設計の第2部
分と同じであることを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/733352 | 1996-10-17 | ||
US08/733,352 US5841967A (en) | 1996-10-17 | 1996-10-17 | Method and apparatus for design verification using emulation and simulation |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000216060A Division JP2001060219A (ja) | 1996-10-17 | 2000-07-17 | エミュレーションとシミュレーションを用いた設計検証のための方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10171847A JPH10171847A (ja) | 1998-06-26 |
JP3131177B2 true JP3131177B2 (ja) | 2001-01-31 |
Family
ID=24947260
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09321879A Expired - Fee Related JP3131177B2 (ja) | 1996-10-17 | 1997-10-17 | エミュレーションとシミュレーションを用いた設計検証のための方法および装置 |
JP2000216060A Pending JP2001060219A (ja) | 1996-10-17 | 2000-07-17 | エミュレーションとシミュレーションを用いた設計検証のための方法および装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000216060A Pending JP2001060219A (ja) | 1996-10-17 | 2000-07-17 | エミュレーションとシミュレーションを用いた設計検証のための方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (2) | US5841967A (ja) |
EP (1) | EP0838772A3 (ja) |
JP (2) | JP3131177B2 (ja) |
KR (1) | KR100483636B1 (ja) |
CA (1) | CA2218458C (ja) |
IL (1) | IL121955A (ja) |
SG (1) | SG54583A1 (ja) |
TW (1) | TW464828B (ja) |
Families Citing this family (150)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905883A (en) * | 1996-04-15 | 1999-05-18 | Sun Microsystems, Inc. | Verification system for circuit simulator |
DE69704004T2 (de) * | 1996-06-19 | 2001-06-07 | Matsushita Electric Industrial Co., Ltd. | Vorrichtung zur Programmfehlerbeseitigung |
US5841967A (en) | 1996-10-17 | 1998-11-24 | Quickturn Design Systems, Inc. | Method and apparatus for design verification using emulation and simulation |
US6421251B1 (en) | 1997-05-02 | 2002-07-16 | Axis Systems Inc | Array board interconnect system and method |
US6134516A (en) | 1997-05-02 | 2000-10-17 | Axis Systems, Inc. | Simulation server system and method |
US6389379B1 (en) * | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US6321366B1 (en) | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US6009256A (en) | 1997-05-02 | 1999-12-28 | Axis Systems, Inc. | Simulation/emulation system and method |
US6099577A (en) * | 1997-05-13 | 2000-08-08 | Kabushiki Kaisha Toshiba | Logic circuit conversion method and logic circuit design support device |
US5943490A (en) * | 1997-05-30 | 1999-08-24 | Quickturn Design Systems, Inc. | Distributed logic analyzer for use in a hardware logic emulation system |
US5960191A (en) | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US6081864A (en) * | 1997-07-31 | 2000-06-27 | Advanced Micro Devices, Inc. | Dynamic configuration of a device under test |
JPH1185810A (ja) * | 1997-09-09 | 1999-03-30 | Mitsubishi Electric Corp | 半導体集積回路の論理回路検証装置および論理回路検証装置における論理回路検証方法 |
US5999734A (en) * | 1997-10-21 | 1999-12-07 | Ftl Systems, Inc. | Compiler-oriented apparatus for parallel compilation, simulation and execution of computer programs and hardware models |
US6728667B1 (en) * | 1998-10-20 | 2004-04-27 | Quickturn Design Systems, Inc. | Multiple instantiation system |
US6338158B1 (en) * | 1997-10-31 | 2002-01-08 | Vlsi Technology, Inc. | Custom IC hardware modeling using standard ICs for use in IC design validation |
US6216258B1 (en) * | 1998-03-27 | 2001-04-10 | Xilinx, Inc. | FPGA modules parameterized by expressions |
US6317706B1 (en) * | 1998-03-31 | 2001-11-13 | Sony Corporation | Simulation development tool for an embedded system |
US6571204B1 (en) * | 1998-08-04 | 2003-05-27 | Micron Technology, Inc. | Bus modeling language generator |
US6381565B1 (en) * | 1998-08-21 | 2002-04-30 | Nec Corporation | Functional logic circuit verification device |
US6356862B2 (en) * | 1998-09-24 | 2002-03-12 | Brian Bailey | Hardware and software co-verification employing deferred synchronization |
US6212491B1 (en) * | 1998-11-09 | 2001-04-03 | International Business Machines Corporation | Automatic adjustment for counting instrumentation |
US6202042B1 (en) * | 1998-11-09 | 2001-03-13 | International Business Machines Corporation | Hardware simulator instrumentation |
US6195629B1 (en) * | 1998-11-09 | 2001-02-27 | International Business Machines Corporation | Method and system for selectively disabling simulation model instrumentation |
GB2359162B (en) * | 1998-11-10 | 2003-09-10 | Fujitsu Ltd | Parallel processor system |
KR100337006B1 (ko) | 1998-11-17 | 2002-05-17 | 김 만 복 | 전자회로 설계검증장치 및 방법 |
US6898189B1 (en) * | 2000-08-23 | 2005-05-24 | Cisco Technology, Inc. | Restartable spanning tree for high availability network systems |
KR100306596B1 (ko) * | 1999-03-19 | 2001-09-29 | 윤덕용 | 프로세서와 재설정가능 칩을 사용한 집적회로 에뮬레이터 |
US6493841B1 (en) * | 1999-03-31 | 2002-12-10 | Synopsys, Inc. | Method and apparatus for determining expected values during circuit design verification |
US6553531B1 (en) | 1999-04-22 | 2003-04-22 | Synopsys, Inc. | Method and apparatus for random stimulus generation |
US6513144B1 (en) | 1999-04-22 | 2003-01-28 | Synopsys, Inc. | Method and apparatus for random stimulus generation |
US6499127B1 (en) | 1999-04-22 | 2002-12-24 | Synopsys, Inc. | Method and apparatus for random stimulus generation |
US6449745B1 (en) | 1999-04-22 | 2002-09-10 | Synopsys, Inc. | Method and apparatus for random stimulus generation |
US6427223B1 (en) | 1999-04-30 | 2002-07-30 | Synopsys, Inc. | Method and apparatus for adaptive verification of circuit designs |
US6701491B1 (en) * | 1999-06-26 | 2004-03-02 | Sei-Yang Yang | Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it |
KR20010006983A (ko) * | 1999-06-26 | 2001-01-26 | 양세양 | 신속 프로토타이핑 장치와 그것의 입출력 탐침방법 및그것을 이용한 혼합 검증 방법 |
KR100710972B1 (ko) * | 1999-06-26 | 2007-04-24 | 양세양 | 혼합된 에뮬레이션과 시뮬레이션이 가능한 혼합 검증 장치및 이를 이용한 혼합 검증 방법 |
US6470478B1 (en) | 1999-06-29 | 2002-10-22 | International Business Machines Corporation | Method and system for counting events within a simulation model |
US6611924B1 (en) * | 1999-07-16 | 2003-08-26 | Lucent Technologies Inc. | Reducing code size of debug output statements |
US6272451B1 (en) * | 1999-07-16 | 2001-08-07 | Atmel Corporation | Software tool to allow field programmable system level devices |
US6601025B1 (en) | 1999-08-10 | 2003-07-29 | International Business Machines Corporation | Method to partition the physical design of an integrated circuit for electrical simulation |
US6346427B1 (en) | 1999-08-18 | 2002-02-12 | Utmc Microelectronic Systems Inc. | Parameter adjustment in a MOS integrated circuit |
US7062425B1 (en) * | 1999-09-30 | 2006-06-13 | Cypress Semiconductor Corp. | Method and apparatus for automated enumeration, simulation, identification and/or irradiation of device attributes |
US7185293B1 (en) | 1999-11-29 | 2007-02-27 | Cellot, Inc. | Universal hardware device and method and tools for use therewith |
US6873946B1 (en) | 1999-12-01 | 2005-03-29 | The United States Of America As Represented By The Secretary Of The Navy | Zeus code tool a method for implementing same and storage medium storing computer readable instructions for instantiating the zeus code tool |
US6816829B1 (en) | 2000-01-04 | 2004-11-09 | International Business Machines Corporation | System and method to independently verify the execution rate of individual tasks by a device via simulation |
US6539522B1 (en) * | 2000-01-31 | 2003-03-25 | International Business Machines Corporation | Method of developing re-usable software for efficient verification of system-on-chip integrated circuit designs |
US6907546B1 (en) | 2000-03-27 | 2005-06-14 | Accenture Llp | Language-driven interface for an automated testing framework |
US6701514B1 (en) | 2000-03-27 | 2004-03-02 | Accenture Llp | System, method, and article of manufacture for test maintenance in an automated scripting framework |
US6519757B1 (en) * | 2000-04-11 | 2003-02-11 | International Business Machines Corporation | Hardware design language generation for input/output logic level |
US6611936B2 (en) * | 2000-04-28 | 2003-08-26 | Hewlett-Packard Development Company, L.P. | Programmable delay elements for source synchronous link function design verification through simulation |
US7379859B2 (en) * | 2001-04-24 | 2008-05-27 | Mentor Graphics Corporation | Emulator with switching network connections |
KR100824503B1 (ko) * | 2000-06-20 | 2008-04-22 | 양세양 | 신속한 입출력탐침 장치 및 이를 이용한 입출력탐침방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션방법 |
US6546531B1 (en) * | 2000-10-06 | 2003-04-08 | Sun Microsystems, Inc. | Automatic delay element insertion system for addressing holdtime problems |
US7054802B2 (en) * | 2000-10-20 | 2006-05-30 | Quickturn Design Systems, Inc. | Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading |
US6978231B2 (en) | 2000-12-05 | 2005-12-20 | Derek Edward Williams | Embedded hardware description language instrumentation |
US7039574B1 (en) * | 2000-12-29 | 2006-05-02 | International Business Machines Corporation | Naming and managing simulation model events |
US7092864B2 (en) * | 2000-12-29 | 2006-08-15 | International Business Machines Corporation | Signal override for simulation models |
US6941257B2 (en) * | 2000-12-30 | 2005-09-06 | International Business Machines Corporation | Hierarchical processing of simulation model events |
US20020128809A1 (en) * | 2000-12-30 | 2002-09-12 | International Business Machines Corporation | Randomized simulation model instrumentation |
US6920418B2 (en) | 2000-12-30 | 2005-07-19 | International Business Machines Corporation | Detecting events within simulation models |
US6922665B1 (en) * | 2001-01-08 | 2005-07-26 | Xilinx, Inc. | Method and system for device-level simulation of a circuit design for a programmable logic device |
US6493850B2 (en) * | 2001-02-16 | 2002-12-10 | Texas Instruments Incorporated | Integrated circuit design error detector for electrostatic discharge and latch-up applications |
US20020173942A1 (en) * | 2001-03-14 | 2002-11-21 | Rochit Rajsuman | Method and apparatus for design validation of complex IC without using logic simulation |
US7080365B2 (en) * | 2001-08-17 | 2006-07-18 | Sun Microsystems, Inc. | Method and apparatus for simulation system compiler |
KR100794916B1 (ko) * | 2001-09-14 | 2008-01-14 | 양세양 | 에뮬레이션과 시뮬레이션을 혼용한 점진적 설계 검증을위한 설계검증 장치 및 이를 이용한 설계 검증 방법 |
US20030149962A1 (en) * | 2001-11-21 | 2003-08-07 | Willis John Christopher | Simulation of designs using programmable processors and electronically re-configurable logic arrays |
ES2188418B1 (es) * | 2001-11-29 | 2004-11-16 | Universidad De Sevilla | Metodo para analisis y test funcional de circuito digitales de gran dimension mediante emuladores hardware. |
US20030105617A1 (en) * | 2001-12-05 | 2003-06-05 | Nec Usa, Inc. | Hardware acceleration system for logic simulation |
US7353156B2 (en) * | 2002-02-01 | 2008-04-01 | International Business Machines Corporation | Method of switching external models in an automated system-on-chip integrated circuit design verification system |
US20030163788A1 (en) * | 2002-02-22 | 2003-08-28 | Jim Dougherty | Structured design documentation importer |
US20030188278A1 (en) * | 2002-03-26 | 2003-10-02 | Carrie Susan Elizabeth | Method and apparatus for accelerating digital logic simulations |
US20030188302A1 (en) * | 2002-03-29 | 2003-10-02 | Chen Liang T. | Method and apparatus for detecting and decomposing component loops in a logic design |
US7672452B2 (en) * | 2002-05-03 | 2010-03-02 | General Instrument Corporation | Secure scan |
US7024654B2 (en) * | 2002-06-11 | 2006-04-04 | Anadigm, Inc. | System and method for configuring analog elements in a configurable hardware device |
US7577553B2 (en) * | 2002-07-10 | 2009-08-18 | Numerate, Inc. | Method and apparatus for molecular mechanics analysis of molecular systems |
US20040010401A1 (en) * | 2002-07-11 | 2004-01-15 | International Business Machines Corporation | Unified simulation system and method for selectively including one or more cores in an integrated circuit simulation model |
JP2004086546A (ja) * | 2002-08-27 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 回路シミュレーション方法 |
US20040044508A1 (en) * | 2002-08-29 | 2004-03-04 | Hoffman Robert R. | Method for generating commands for testing hardware device models |
FR2845497B1 (fr) | 2002-10-08 | 2004-12-24 | Renault Sa | Dispositif de simulation d'un systeme embarque dans un vehicule automobile |
US6856951B2 (en) | 2002-11-15 | 2005-02-15 | Rajat Moona | Repartitioning performance estimation in a hardware-software system |
US7146581B2 (en) * | 2002-11-15 | 2006-12-05 | Russell Alan Klein | Automated repartitioning of hardware and software components in an embedded system |
US20040115995A1 (en) * | 2002-11-25 | 2004-06-17 | Sanders Samuel Sidney | Circuit array module |
US7552445B2 (en) * | 2002-12-13 | 2009-06-23 | Savvis Communications Corporation | Systems and methods for monitoring events from multiple brokers |
US7181652B2 (en) * | 2003-01-07 | 2007-02-20 | Hewlett-Packard Development Company, L.P. | System and method for detecting and isolating certain code in a simulated environment |
US20040225459A1 (en) * | 2003-02-14 | 2004-11-11 | Advantest Corporation | Method and structure to develop a test program for semiconductor integrated circuits |
US7460988B2 (en) * | 2003-03-31 | 2008-12-02 | Advantest Corporation | Test emulator, test module emulator, and record medium storing program therein |
US20040242261A1 (en) * | 2003-05-29 | 2004-12-02 | General Dynamics Decision Systems, Inc. | Software-defined radio |
US7120571B2 (en) * | 2003-06-16 | 2006-10-10 | Fortelink, Inc. | Resource board for emulation system |
US7509548B2 (en) * | 2003-06-30 | 2009-03-24 | Mates John W | Method and apparatus for integrated circuit self-description |
WO2005038676A2 (en) * | 2003-10-17 | 2005-04-28 | University Of Delaware | Method and apparatus for emulation of logic circuits |
US7779212B2 (en) * | 2003-10-17 | 2010-08-17 | Micron Technology, Inc. | Method and apparatus for sending data from multiple sources over a communications bus |
JP4656929B2 (ja) * | 2003-11-18 | 2011-03-23 | クイックターン・デザイン・システムズ・インコーポレイテッド | エミュレーションシステムとシミュレータとの間でのシミュレーション及び可視化データ転送のための最適化インターフェース |
US7664846B2 (en) * | 2003-11-26 | 2010-02-16 | Siemens Communications, Inc. | System and method for distributed modeling of real time systems |
KR100536293B1 (ko) * | 2004-02-17 | 2005-12-12 | 박현주 | 칩 설계 검증 장치 및 방법 |
FR2867290A1 (fr) * | 2004-03-08 | 2005-09-09 | Jean Paul Petrolli | Reseau logique programmable a traitement ordonnance par echeancier |
WO2005096500A1 (ja) * | 2004-03-30 | 2005-10-13 | Nec Corporation | 回路検証装置および回路検証方法並びにそのための信号分配方法 |
US7379861B2 (en) * | 2004-05-28 | 2008-05-27 | Quickturn Design Systems, Inc. | Dynamic programming of trigger conditions in hardware emulation systems |
US7606697B2 (en) * | 2004-06-01 | 2009-10-20 | Quickturn Design Systems, Inc. | System and method for resolving artifacts in differential signals |
US7739093B2 (en) * | 2004-06-01 | 2010-06-15 | Quickturn Design System, Inc. | Method of visualization in processor based emulation system |
US7738399B2 (en) * | 2004-06-01 | 2010-06-15 | Quickturn Design Systems Inc. | System and method for identifying target systems |
US7440866B2 (en) * | 2004-06-01 | 2008-10-21 | Quickturn Design Systems Inc. | System and method for validating an input/output voltage of a target system |
US7640155B2 (en) * | 2004-06-01 | 2009-12-29 | Quickturn Design Systems, Inc. | Extensible memory architecture and communication protocol for supporting multiple devices in low-bandwidth, asynchronous applications |
US7721036B2 (en) * | 2004-06-01 | 2010-05-18 | Quickturn Design Systems Inc. | System and method for providing flexible signal routing and timing |
US7278122B2 (en) * | 2004-06-24 | 2007-10-02 | Ftl Systems, Inc. | Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization |
KR100921314B1 (ko) * | 2004-07-12 | 2009-10-13 | 양세양 | 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법 |
US8566616B1 (en) | 2004-09-10 | 2013-10-22 | Altera Corporation | Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like |
US8612772B1 (en) * | 2004-09-10 | 2013-12-17 | Altera Corporation | Security core using soft key |
KR100594593B1 (ko) * | 2004-12-31 | 2006-06-30 | 한국전자통신연구원 | 반도체 소자의 설계 검증을 위한 고속 병렬 시뮬레이션 방법 |
US7778812B2 (en) * | 2005-01-07 | 2010-08-17 | Micron Technology, Inc. | Selecting data to verify in hardware device model simulation test generation |
US7353162B2 (en) * | 2005-02-11 | 2008-04-01 | S2C, Inc. | Scalable reconfigurable prototyping system and method |
US8036873B2 (en) | 2005-02-28 | 2011-10-11 | Synopsys, Inc. | Efficient clock models and their use in simulation |
US7444276B2 (en) * | 2005-09-28 | 2008-10-28 | Liga Systems, Inc. | Hardware acceleration system for logic simulation using shift register as local cache |
US20070074000A1 (en) * | 2005-09-28 | 2007-03-29 | Liga Systems, Inc. | VLIW Acceleration System Using Multi-state Logic |
US20070073999A1 (en) * | 2005-09-28 | 2007-03-29 | Verheyen Henry T | Hardware acceleration system for logic simulation using shift register as local cache with path for bypassing shift register |
US20070129926A1 (en) * | 2005-12-01 | 2007-06-07 | Verheyen Henry T | Hardware acceleration system for simulation of logic and memory |
US20070129924A1 (en) * | 2005-12-06 | 2007-06-07 | Verheyen Henry T | Partitioning of tasks for execution by a VLIW hardware acceleration system |
US20070150702A1 (en) * | 2005-12-23 | 2007-06-28 | Verheyen Henry T | Processor |
US8359186B2 (en) * | 2006-01-26 | 2013-01-22 | Subbu Ganesan | Method for delay immune and accelerated evaluation of digital circuits by compiling asynchronous completion handshaking means |
US8612201B2 (en) * | 2006-04-11 | 2013-12-17 | Cadence Design Systems, Inc. | Hardware emulation system having a heterogeneous cluster of processors |
US8706467B2 (en) * | 2008-04-02 | 2014-04-22 | Synopsys, Inc. | Compact circuit-simulation output |
FR2932040A1 (fr) * | 2008-05-30 | 2009-12-04 | Jean Paul Petrolli | Dispositif electronique d'aiguillage automatique de donnees pour le circuit simulateur. |
US8776019B2 (en) * | 2008-12-05 | 2014-07-08 | Invensys Systems, Inc. | Configurator with embedded firmware for offline instrument user settings implementation |
WO2010095635A1 (ja) * | 2009-02-18 | 2010-08-26 | 日本電気株式会社 | 回路設計支援装置、回路設計支援方法、ならびに、コンピュータ読み取り可能な記録媒体 |
US10423740B2 (en) * | 2009-04-29 | 2019-09-24 | Synopsys, Inc. | Logic simulation and/or emulation which follows hardware semantics |
US8589133B1 (en) * | 2009-07-17 | 2013-11-19 | The United States Of America As Represented By The Secretary Of The Navy | Dynamic simulation of a system of interdependent systems |
US8739088B1 (en) * | 2009-10-16 | 2014-05-27 | Xilinx, Inc. | Using constraints wtihin a high-level modeling system for circuit design |
US10474784B2 (en) * | 2009-12-17 | 2019-11-12 | Texas Instruments Incorporated | Method and system for defining generic topologies for use in topology matching engines |
KR101647817B1 (ko) | 2010-03-31 | 2016-08-24 | 삼성전자주식회사 | 재구성 가능한 프로세서의 시뮬레이션 장치 및 방법 |
US8522176B2 (en) * | 2010-05-11 | 2013-08-27 | Synopsys, Inc. | Method of recording and replaying call frames for the testbench |
TWI450118B (zh) * | 2010-11-02 | 2014-08-21 | Global Unichip Corp | 混合的電子設計系統及其可重組連接矩陣 |
US8959010B1 (en) | 2011-12-08 | 2015-02-17 | Cadence Design Systems, Inc. | Emulation system with improved reliability of interconnect and a method for programming such interconnect |
US8743735B1 (en) | 2012-01-18 | 2014-06-03 | Cadence Design Systems, Inc. | Emulation system for verifying a network device |
JP5927012B2 (ja) * | 2012-04-11 | 2016-05-25 | 太陽誘電株式会社 | 再構成可能な半導体装置 |
US8595683B1 (en) | 2012-04-12 | 2013-11-26 | Cadence Design Systems, Inc. | Generating user clocks for a prototyping environment |
US8601415B2 (en) | 2012-04-13 | 2013-12-03 | International Business Machines Corporation | Planning for hardware-accelerated functional verification |
TWI448968B (zh) * | 2012-07-30 | 2014-08-11 | Faraday Tech Corp | 系統級模擬與仿真之裝置及方法 |
US8726205B1 (en) | 2013-04-15 | 2014-05-13 | Nvidia Corporation | Optimized simulation technique for design verification of an electronic circuit |
US9122823B2 (en) * | 2013-12-20 | 2015-09-01 | International Business Machines Corporation | Stacked multiple-input delay gates |
US9026966B1 (en) | 2014-03-13 | 2015-05-05 | Cadence Design Systems, Inc. | Co-simulation methodology to address performance and runtime challenges of gate level simulations with, SDF timing using emulators |
US9405877B1 (en) | 2014-12-22 | 2016-08-02 | Cadence Design Systems, Inc. | System and method of fast phase aligned local generation of clocks on multiple FPGA system |
US9495492B1 (en) | 2015-01-05 | 2016-11-15 | Cadence Design Systems, Inc. | Implementing synchronous triggers for waveform capture in an FPGA prototyping system |
US9294094B1 (en) | 2015-01-08 | 2016-03-22 | Cadence Design Systems, Inc. | Method and apparatus for fast low skew phase generation for multiplexing signals on a multi-FPGA prototyping system |
US10437949B1 (en) * | 2017-08-14 | 2019-10-08 | Xilinx, Inc. | Scheduling events in hardware design language simulation |
US10962595B1 (en) | 2017-12-04 | 2021-03-30 | Synopsys, Inc. | Efficient realization of coverage collection in emulation |
US11138089B2 (en) * | 2018-12-19 | 2021-10-05 | International Business Machines Corporation | Performance benchmark generation |
US11080446B2 (en) * | 2019-03-18 | 2021-08-03 | Synopsys, Inc. | Method to regulate clock frequencies of hybrid electronic systems |
WO2020223955A1 (en) * | 2019-05-09 | 2020-11-12 | Yangtze Memory Technologies Co., Ltd. | Simulation method for use in functional equivalence check |
KR20200139525A (ko) * | 2019-06-04 | 2020-12-14 | 삼성전자주식회사 | Fpga를 포함하는 전자 시스템 및 이의 동작 방법 |
CN111274750B (zh) * | 2020-03-05 | 2023-05-30 | 中国工程物理研究院计算机应用研究所 | 一种基于可视化建模的fpga仿真验证系统和方法 |
Family Cites Families (150)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL134125C (ja) * | 1958-04-25 | |||
US3287703A (en) * | 1962-12-04 | 1966-11-22 | Westinghouse Electric Corp | Computer |
US3287702A (en) * | 1962-12-04 | 1966-11-22 | Westinghouse Electric Corp | Computer control |
US3473160A (en) * | 1966-10-10 | 1969-10-14 | Stanford Research Inst | Electronically controlled microelectronic cellular logic array |
US4315315A (en) * | 1971-03-09 | 1982-02-09 | The Johns Hopkins University | Graphical automatic programming |
GB1444084A (en) | 1972-06-21 | 1976-07-28 | Honeywell Inf Systems | Generalized logic device |
NL7408823A (ja) * | 1974-07-01 | 1974-09-25 | ||
US4020469A (en) * | 1975-04-09 | 1977-04-26 | Frank Manning | Programmable arrays |
CH584488A5 (ja) * | 1975-05-05 | 1977-01-31 | Ibm | |
US4306286A (en) * | 1979-06-29 | 1981-12-15 | International Business Machines Corporation | Logic simulation machine |
US4357678A (en) * | 1979-12-26 | 1982-11-02 | International Business Machines Corporation | Programmable sequential logic array mechanism |
US4386403A (en) * | 1979-12-31 | 1983-05-31 | International Business Machines Corp. | System and method for LSI circuit analysis |
JPS57105898A (en) * | 1980-12-23 | 1982-07-01 | Fujitsu Ltd | Field programmable element |
US4404635A (en) * | 1981-03-27 | 1983-09-13 | International Business Machines Corporation | Programmable integrated circuit and method of testing the circuit before it is programmed |
FR2508669A1 (fr) * | 1981-06-24 | 1982-12-31 | Fordahl | Dispositif logique programmable de prise, traitement et transmission de donnees |
US4488354A (en) * | 1981-11-16 | 1984-12-18 | Ncr Corporation | Method for simulating and testing an integrated circuit chip |
US4503386A (en) * | 1982-04-20 | 1985-03-05 | International Business Machines Corporation | Chip partitioning aid (CPA)-A structure for test pattern generation for large logic networks |
US4656580A (en) * | 1982-06-11 | 1987-04-07 | International Business Machines Corporation | Logic simulation machine |
JPS5916050A (ja) * | 1982-07-16 | 1984-01-27 | Nec Corp | ダイナミツクゲ−トアレイ |
US4525789A (en) * | 1982-07-16 | 1985-06-25 | At&T Bell Laboratories | Programmable network tester with data formatter |
US4539564A (en) * | 1982-08-04 | 1985-09-03 | Smithson G Ronald | Electronically controlled interconnection system |
US4613940A (en) * | 1982-11-09 | 1986-09-23 | International Microelectronic Products | Method and structure for use in designing and building electronic systems in integrated circuits |
US4527115A (en) * | 1982-12-22 | 1985-07-02 | Raytheon Company | Configurable logic gate array |
US4578761A (en) * | 1983-03-25 | 1986-03-25 | At&T Bell Laboratories | Separating an equivalent circuit into components to detect terminating networks |
US4791602A (en) * | 1983-04-14 | 1988-12-13 | Control Data Corporation | Soft programmable logic array |
US4612618A (en) * | 1983-06-10 | 1986-09-16 | Rca Corporation | Hierarchical, computerized design of integrated circuits |
US4621339A (en) * | 1983-06-13 | 1986-11-04 | Duke University | SIMD machine using cube connected cycles network architecture for vector processing |
US4593363A (en) * | 1983-08-12 | 1986-06-03 | International Business Machines Corporation | Simultaneous placement and wiring for VLSI chips |
US4524240A (en) * | 1983-08-17 | 1985-06-18 | Lucasfilm Ltd. | Universal circuit prototyping board |
US4577276A (en) * | 1983-09-12 | 1986-03-18 | At&T Bell Laboratories | Placement of components on circuit substrates |
US4600846A (en) * | 1983-10-06 | 1986-07-15 | Sanders Associates, Inc. | Universal logic circuit modules |
EP0138535A3 (en) * | 1983-10-13 | 1987-01-28 | British Telecommunications Plc | Visual display logic simulation system |
NL8303536A (nl) * | 1983-10-14 | 1985-05-01 | Philips Nv | Geintegreerde schakeling op grote schaal welke verdeeld is in isochrone gebieden, werkwijze voor het machinaal ontwerpen van zo een geintegreerde schakeling, en werkwijze voor het machinaal testen van zo een geintegreerde schakeling. |
WO1985002033A1 (en) * | 1983-11-03 | 1985-05-09 | Prime Computer, Inc. | Digital system simulation method and apparatus |
US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4695999A (en) * | 1984-06-27 | 1987-09-22 | International Business Machines Corporation | Cross-point switch of multiple autonomous planes |
JPS6124250A (ja) * | 1984-07-13 | 1986-02-01 | Nippon Gakki Seizo Kk | 半導体集積回路装置 |
JPS6142040A (ja) * | 1984-08-03 | 1986-02-28 | Nec Corp | 論理シミユレ−タ |
US4695950A (en) * | 1984-09-17 | 1987-09-22 | International Business Machines Corporation | Fast two-level dynamic address translation method and means |
US4642487A (en) * | 1984-09-26 | 1987-02-10 | Xilinx, Inc. | Special interconnect for configurable logic array |
US4695740A (en) * | 1984-09-26 | 1987-09-22 | Xilinx, Inc. | Bidirectional buffer amplifier |
US4713557A (en) * | 1984-09-26 | 1987-12-15 | Xilinx, Inc. | Bidirectional buffer amplifier |
US5023775A (en) * | 1985-02-14 | 1991-06-11 | Intel Corporation | Software programmable logic array utilizing "and" and "or" gates |
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US4937827A (en) * | 1985-03-01 | 1990-06-26 | Mentor Graphics Corporation | Circuit verification accessory |
JPS61199166A (ja) * | 1985-03-01 | 1986-09-03 | Nec Corp | 配線経路探索装置 |
US4697241A (en) * | 1985-03-01 | 1987-09-29 | Simulog, Inc. | Hardware logic simulator |
US4761768A (en) * | 1985-03-04 | 1988-08-02 | Lattice Semiconductor Corporation | Programmable logic device |
US4766569A (en) * | 1985-03-04 | 1988-08-23 | Lattice Semiconductor Corporation | Programmable logic array |
US4814646A (en) * | 1985-03-22 | 1989-03-21 | Monolithic Memories, Inc. | Programmable logic array using emitter-coupled logic |
JPS61226844A (ja) * | 1985-03-30 | 1986-10-08 | Nec Corp | 論理回路のシミユレ−シヨン制御方法 |
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
JPH0668756B2 (ja) * | 1985-04-19 | 1994-08-31 | 株式会社日立製作所 | 回路自動変換方法 |
DE3520003A1 (de) * | 1985-06-04 | 1986-12-04 | Texas Instruments Deutschland Gmbh, 8050 Freising | Elektrisch programmierbare verknuepfungsmatrix |
DE3630835C2 (de) * | 1985-09-11 | 1995-03-16 | Pilkington Micro Electronics | Integrierte Halbleiterkreisanordnungen und Systeme |
US4725835A (en) * | 1985-09-13 | 1988-02-16 | T-Bar Incorporated | Time multiplexed bus matrix switching system |
JPH0756656B2 (ja) * | 1985-09-26 | 1995-06-14 | 株式会社日立製作所 | ゲ−ト論理自動更新方法 |
JPS6274158A (ja) * | 1985-09-27 | 1987-04-04 | Hitachi Ltd | 回路変換方式 |
US4722084A (en) * | 1985-10-02 | 1988-01-26 | Itt Corporation | Array reconfiguration apparatus and methods particularly adapted for use with very large scale integrated circuits |
US4868419A (en) * | 1985-10-23 | 1989-09-19 | Pilkington Micro-Electronics Limited | Gated transmission circuit (on-chip) |
US4845633A (en) * | 1985-12-02 | 1989-07-04 | Apple Computer Inc. | System for programming graphically a programmable, asynchronous logic cell and array |
US4700187A (en) * | 1985-12-02 | 1987-10-13 | Concurrent Logic, Inc. | Programmable, asynchronous logic cell and array |
JPS62182939A (ja) * | 1986-02-07 | 1987-08-11 | Hitachi Ltd | 情報処理装置の論理シミユレ−シヨン方法 |
JPS63137A (ja) * | 1986-02-17 | 1988-01-05 | Mitsubishi Electric Corp | 配線領域決定処理装置 |
US4744084A (en) * | 1986-02-27 | 1988-05-10 | Mentor Graphics Corporation | Hardware modeling system and method for simulating portions of electrical circuits |
JPH0770598B2 (ja) * | 1986-03-20 | 1995-07-31 | 株式会社東芝 | 半導体集積回路装置の配線方法 |
US4862347A (en) * | 1986-04-22 | 1989-08-29 | International Business Machine Corporation | System for simulating memory arrays in a logic simulation machine |
US4777606A (en) * | 1986-06-05 | 1988-10-11 | Northern Telecom Limited | Method for deriving an interconnection route between elements in an interconnection medium |
US5126966A (en) | 1986-06-25 | 1992-06-30 | Ikos Systems, Inc. | High speed logic simulation system with stimulus engine using independent event channels selectively driven by independent stimulus programs |
US4787061A (en) * | 1986-06-25 | 1988-11-22 | Ikos Systems, Inc. | Dual delay mode pipelined logic simulator |
US4787062A (en) * | 1986-06-26 | 1988-11-22 | Ikos Systems, Inc. | Glitch detection by forcing the output of a simulated logic device to an undefined state |
GB8621357D0 (en) * | 1986-09-04 | 1986-10-15 | Mcallister R I | Hinged barrier semiconductor integrated circuits |
US4758745B1 (en) * | 1986-09-19 | 1994-11-15 | Actel Corp | User programmable integrated circuit interconnect architecture and test method |
US5083083A (en) | 1986-09-19 | 1992-01-21 | Actel Corporation | Testability architecture and techniques for programmable interconnect architecture |
US4736338A (en) * | 1986-10-07 | 1988-04-05 | Silicon Solutions Corporation | Programmable look up system |
US4945503A (en) * | 1986-10-21 | 1990-07-31 | Nec Corporation | Hardware simulator capable of reducing an amount of information |
US4768196A (en) * | 1986-10-28 | 1988-08-30 | Silc Technologies, Inc. | Programmable logic array |
US4918440A (en) * | 1986-11-07 | 1990-04-17 | Furtek Frederick C | Programmable logic cell and array |
US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US4786904A (en) * | 1986-12-15 | 1988-11-22 | Zoran Corporation | Electronically programmable gate array having programmable interconnect lines |
US4849928A (en) * | 1987-01-28 | 1989-07-18 | Hauck Lane T | Logic array programmer |
JPS63204441A (ja) * | 1987-02-20 | 1988-08-24 | Fujitsu Ltd | 論理シミユレ−シヨン専用プロセツサの処理方式 |
JP2699377B2 (ja) * | 1987-02-25 | 1998-01-19 | 日本電気株式会社 | ハードウエア論理シミユレータ |
US4827427A (en) * | 1987-03-05 | 1989-05-02 | Hyduke Stanley M | Instantaneous incremental compiler for producing logic circuit designs |
US4965739A (en) * | 1987-03-26 | 1990-10-23 | Vlsi Technology, Inc. | Machine process for routing interconnections from one module to another module and for positioning said two modules after said modules are interconnected |
US4908772A (en) * | 1987-03-30 | 1990-03-13 | Bell Telephone Laboratories | Integrated circuits with component placement by rectilinear partitioning |
US5329471A (en) | 1987-06-02 | 1994-07-12 | Texas Instruments Incorporated | Emulation devices, systems and methods utilizing state machines |
US4849904A (en) * | 1987-06-19 | 1989-07-18 | International Business Machines Corporation | Macro structural arrangement and method for generating macros for VLSI semiconductor circuit devices |
US4815003A (en) * | 1987-06-19 | 1989-03-21 | General Electric Company | Structured design method for high density standard cell and macrocell layout of VLSI chips |
US5093920A (en) | 1987-06-25 | 1992-03-03 | At&T Bell Laboratories | Programmable processing elements interconnected by a communication network including field operation unit for performing field operations |
JPS6425399A (en) * | 1987-07-21 | 1989-01-27 | Fujitsu Ltd | Programmable device and its test method |
DE3853860D1 (de) * | 1987-09-22 | 1995-06-29 | Siemens Ag | Vorrichtung zur Herstellung einer testkompatiblen, weitgehend fehlertoleranten Konfiguration von redundant implementierten systolischen VLSI-Systemen. |
US4855669A (en) * | 1987-10-07 | 1989-08-08 | Xilinx, Inc. | System for scan testing of logic circuit networks |
US4901260A (en) * | 1987-10-28 | 1990-02-13 | American Telephone And Telegraph Company At&T Bell Laboratories | Bounded lag distributed discrete event simulation method and apparatus |
JP2541248B2 (ja) * | 1987-11-20 | 1996-10-09 | 三菱電機株式会社 | プログラマブル・ロジック・アレイ |
FR2623653B1 (fr) * | 1987-11-24 | 1992-10-23 | Sgs Thomson Microelectronics | Procede de test de cellules de memoire electriquement programmable et circuit integre correspondant |
JP2564344B2 (ja) * | 1987-12-23 | 1996-12-18 | 株式会社日立製作所 | 半導体集積回路の設計方式 |
US4922432A (en) * | 1988-01-13 | 1990-05-01 | International Chip Corporation | Knowledge based method and apparatus for designing integrated circuits using functional specifications |
JP2563451B2 (ja) | 1988-03-10 | 1996-12-11 | 松下電器産業株式会社 | 論理シミュレーション方法と論理シミュレーション装置 |
US4931946A (en) * | 1988-03-10 | 1990-06-05 | Cirrus Logic, Inc. | Programmable tiles |
US5253363A (en) | 1988-03-15 | 1993-10-12 | Edward Hyman | Method and apparatus for compiling and implementing state-machine states and outputs for a universal cellular sequential local array |
US4914612A (en) * | 1988-03-31 | 1990-04-03 | International Business Machines Corporation | Massively distributed simulation engine |
US4854039A (en) * | 1988-05-04 | 1989-08-08 | The Technology Congress, Ltd. | Prototype circuit board and method of testing |
US5003487A (en) * | 1988-06-28 | 1991-03-26 | International Business Machines Corporation | Method and apparatus for performing timing correction transformations on a technology-independent logic model during logic synthesis |
US4901259A (en) * | 1988-08-15 | 1990-02-13 | Lsi Logic Corporation | Asic emulator |
JPH0650514B2 (ja) * | 1988-09-30 | 1994-06-29 | 日本電気株式会社 | 論理回路の自動合成方式 |
DE68929518T2 (de) * | 1988-10-05 | 2005-06-09 | Quickturn Design Systems, Inc., Mountain View | Verfahren zur Verwendung einer elektronisch wiederkonfigurierbaren Gatterfeld-Logik und dadurch hergestelltes Gerät |
US5452231A (en) | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US5329470A (en) | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
US5140526A (en) | 1989-01-06 | 1992-08-18 | Minc Incorporated | Partitioning of Boolean logic equations into physical logic devices |
GB8902982D0 (en) | 1989-02-10 | 1989-03-30 | Plessey Co Plc | Machine for circuit design |
US5051938A (en) | 1989-06-23 | 1991-09-24 | Hyduke Stanley M | Simulation of selected logic circuit designs |
US5172011A (en) | 1989-06-30 | 1992-12-15 | Digital Equipment Corporation | Latch circuit and method with complementary clocking and level sensitive scan capability |
US5231588A (en) | 1989-08-15 | 1993-07-27 | Advanced Micro Devices, Inc. | Programmable gate array with logic cells having symmetrical input/output structures |
US5233539A (en) | 1989-08-15 | 1993-08-03 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure, input/output structure and configurable logic block |
US5377124A (en) | 1989-09-20 | 1994-12-27 | Aptix Corporation | Field programmable printed circuit board |
US5081602A (en) | 1989-11-07 | 1992-01-14 | Amp Incorporated | Computer simulator for electrical connectors |
JPH03180976A (ja) | 1989-12-11 | 1991-08-06 | Hitachi Ltd | 入出力端子割付方法 |
US5128871A (en) | 1990-03-07 | 1992-07-07 | Advanced Micro Devices, Inc. | Apparatus and method for allocation of resoures in programmable logic devices |
US5084824A (en) | 1990-03-29 | 1992-01-28 | National Semiconductor Corporation | Simulation model generation from a physical data base of a combinatorial circuit |
US5259006A (en) | 1990-04-18 | 1993-11-02 | Quickturn Systems, Incorporated | Method for substantially eliminating hold time violations in implementing high speed logic circuits or the like |
US5224056A (en) | 1991-10-30 | 1993-06-29 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning algorithm |
US5280826A (en) | 1991-09-20 | 1994-01-25 | Sugano Farm Machinery Mfg. Co., Ltd. | Coulter adjusting device for reversible plow |
JP2941135B2 (ja) | 1992-01-24 | 1999-08-25 | 富士通株式会社 | 疑似lsi装置及びそれを用いたデバッグ装置 |
US5475830A (en) | 1992-01-31 | 1995-12-12 | Quickturn Design Systems, Inc. | Structure and method for providing a reconfigurable emulation circuit without hold time violations |
JP3620860B2 (ja) | 1992-06-05 | 2005-02-16 | 株式会社メガチップス | シミュレーション装置 |
US5352123A (en) | 1992-06-08 | 1994-10-04 | Quickturn Systems, Incorporated | Switching midplane and interconnection system for interconnecting large numbers of signals |
US5339262A (en) | 1992-07-10 | 1994-08-16 | Lsi Logic Corporation | Method and apparatus for interim, in-situ testing of an electronic system with an inchoate ASIC |
US5572710A (en) | 1992-09-11 | 1996-11-05 | Kabushiki Kaisha Toshiba | High speed logic simulation system using time division emulation suitable for large scale logic circuits |
US5425036A (en) | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
US5452239A (en) | 1993-01-29 | 1995-09-19 | Quickturn Design Systems, Inc. | Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system |
US5596742A (en) | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5535223A (en) | 1993-05-28 | 1996-07-09 | Sun Microsystems, Inc. | Method and apparatus for the verification and testing of electrical circuits |
US5581738A (en) | 1993-06-07 | 1996-12-03 | Xilinx, Inc. | Method and apparatus for back-annotating timing constraints into simulation models of field programmable gate arrays |
US5479355A (en) * | 1993-09-14 | 1995-12-26 | Hyduke; Stanley M. | System and method for a closed loop operation of schematic designs with electrical hardware |
US5448522A (en) | 1994-03-24 | 1995-09-05 | Quickturn Design Systems, Inc. | Multi-port memory emulation using tag registers |
US5604888A (en) | 1994-04-07 | 1997-02-18 | Zycad Corporation | Emulation system employing motherboard and flexible daughterboards |
US5633813A (en) | 1994-05-04 | 1997-05-27 | Srinivasan; Seshan R. | Apparatus and method for automatic test generation and fault simulation of electronic circuits, based on programmable logic circuits |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
JP3168839B2 (ja) | 1994-09-09 | 2001-05-21 | 株式会社日立製作所 | 論理エミュレーションシステム及び等価回路生成方法 |
US5659716A (en) | 1994-11-23 | 1997-08-19 | Virtual Machine Works, Inc. | Pipe-lined static router and scheduler for configurable logic system performing simultaneous communications and computation |
US5546562A (en) * | 1995-02-28 | 1996-08-13 | Patel; Chandresh | Method and apparatus to emulate VLSI circuits within a logic simulator |
US5857091A (en) * | 1995-03-14 | 1999-01-05 | Siemens Business Communication Systems, Inc. | Machine and method for simulating a processor-based digital system |
US5649176A (en) | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
US5872953A (en) | 1995-08-30 | 1999-02-16 | Mentor Graphics Corporation | Simulating circuit design on a circuit emulation system |
US5574388A (en) | 1995-10-13 | 1996-11-12 | Mentor Graphics Corporation | Emulation system having a scalable multi-level multi-stage programmable interconnect network |
US5838948A (en) * | 1995-12-01 | 1998-11-17 | Eagle Design Automation, Inc. | System and method for simulation of computer systems combining hardware and software interaction |
US5748875A (en) | 1996-06-12 | 1998-05-05 | Simpod, Inc. | Digital logic simulation/emulation system |
US5841967A (en) | 1996-10-17 | 1998-11-24 | Quickturn Design Systems, Inc. | Method and apparatus for design verification using emulation and simulation |
-
1996
- 1996-10-17 US US08/733,352 patent/US5841967A/en not_active Expired - Lifetime
-
1997
- 1997-10-13 IL IL12195597A patent/IL121955A/xx not_active IP Right Cessation
- 1997-10-14 EP EP97117782A patent/EP0838772A3/en not_active Withdrawn
- 1997-10-15 TW TW086115169A patent/TW464828B/zh not_active IP Right Cessation
- 1997-10-16 CA CA002218458A patent/CA2218458C/en not_active Expired - Fee Related
- 1997-10-16 SG SG1997003763A patent/SG54583A1/en unknown
- 1997-10-17 JP JP09321879A patent/JP3131177B2/ja not_active Expired - Fee Related
- 1997-10-17 KR KR1019970053374A patent/KR100483636B1/ko not_active IP Right Cessation
-
1998
- 1998-11-12 US US09/191,228 patent/US6058492A/en not_active Expired - Lifetime
-
2000
- 2000-07-17 JP JP2000216060A patent/JP2001060219A/ja active Pending
Non-Patent Citations (2)
Title |
---|
1.Michael Butts,"Future Directions of Dynamically Reprogrammable Systems",IEEE CICC,IEEE,1995年,p.487〜494 |
2.http://support.xilinx.co.jp/prs rls/qturnDAC.htm |
Also Published As
Publication number | Publication date |
---|---|
KR19980032933A (ko) | 1998-07-25 |
CA2218458A1 (en) | 1998-04-17 |
TW464828B (en) | 2001-11-21 |
IL121955A0 (en) | 1998-03-10 |
JPH10171847A (ja) | 1998-06-26 |
EP0838772A2 (en) | 1998-04-29 |
EP0838772A3 (en) | 1998-05-13 |
KR100483636B1 (ko) | 2005-06-16 |
US6058492A (en) | 2000-05-02 |
SG54583A1 (en) | 1998-11-16 |
US5841967A (en) | 1998-11-24 |
IL121955A (en) | 2000-12-06 |
JP2001060219A (ja) | 2001-03-06 |
CA2218458C (en) | 2005-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3131177B2 (ja) | エミュレーションとシミュレーションを用いた設計検証のための方法および装置 | |
JP4125675B2 (ja) | タイミングに鈍感なグリッチのない論理システムおよび方法 | |
US6009256A (en) | Simulation/emulation system and method | |
US6389379B1 (en) | Converification system and method | |
KR100491461B1 (ko) | SoC 설계 검증을 위한 방법 및 장치 | |
US8136065B2 (en) | Integrated prototyping system for validating an electronic system design | |
US6993469B1 (en) | Method and apparatus for unified simulation | |
Ogawa et al. | A practical approach for bus architecture optimization at transaction level | |
EP0463301A2 (en) | Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof | |
WO2007066319A1 (en) | Conversion of switching signals of a circuit simulation into a transaction model | |
WO2003077078A2 (en) | Hub array system and method | |
US20060130029A1 (en) | Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium | |
Abdi et al. | Automatic communication refinement for system level design | |
US7050958B1 (en) | Method and apparatus for accelerating hardware simulation | |
KR100928134B1 (ko) | 주문형 vcd 시스템 및 방법 | |
Pétrot et al. | Cycle precise core based hardware/software system simulation with predictable event propagation | |
Gong et al. | Modeling dynamically reconfigurable systems for simulation-based functional verification | |
Chevalier et al. | SPACE: A hardware/software SystemC modeling platform including an RTOS | |
Lund | Design and Application of a Co-Simulation Framework for Chisel | |
JP2004310568A (ja) | シミュレータ装置、シミュレーション方法および性能解析方法 | |
KR20070039857A (ko) | 체계적 점진적 구체화를 통한 전자시스템수준에서부터게이트수준까지의 검증 방법 | |
US20040158443A1 (en) | Functional verification using heterogeneous simulators | |
Kurula | A FRAMEWORK FOR EARLY SYSTEM-ON-CHIP CO-VALIDATION | |
Siddiqui | System-on-Chip (SoC) emulation | |
CN117272883A (zh) | 电路设计的分布式仿真同步 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |