JP2001508202A - ディジタル論理シミュレーション/エミュレーションシステム - Google Patents

ディジタル論理シミュレーション/エミュレーションシステム

Info

Publication number
JP2001508202A
JP2001508202A JP50184498A JP50184498A JP2001508202A JP 2001508202 A JP2001508202 A JP 2001508202A JP 50184498 A JP50184498 A JP 50184498A JP 50184498 A JP50184498 A JP 50184498A JP 2001508202 A JP2001508202 A JP 2001508202A
Authority
JP
Japan
Prior art keywords
stimulus
response
logic
data
digital logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP50184498A
Other languages
English (en)
Inventor
ゾーリ、イフタック
Original Assignee
ゾーリ、イフタック
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ゾーリ、イフタック filed Critical ゾーリ、イフタック
Publication of JP2001508202A publication Critical patent/JP2001508202A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

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)
  • Quality & Reliability (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 ディジタルロジック・シミュレーション/エミュレーションシステム(20)は、複数の刺激/反応セル(72)を提供するように配置された構成可能論理IC(36)を有するハードウェアポッド(32)を具備し、ディジタル論理回路に連結できるようになっている。刺激信号をディジタル論理回路(316)に提供する刺激/反応セル(72)は、接続して、刺激/反応サイクル中に刺激制御データをダウンロード(252)し、反応データをアップロード(262)する。論理構成ライブラリー(86)は構成データを記憶し、刺激/応答セル(72)のビットスライス階層を確立する。構成データの作成を促進するため、システムは、GUIユーザーインターフェースを有する構成可能論理仕様プロセス(224)を備える。論理仕様プロセス(224)は、各刺激/反応セルに対する所定のビットスライス構成データを構成可能論理IC(36)の全体に亘る特定位置に割り当て、構成データの高速(迅速)コンパイルを達成する。

Description

【発明の詳細な説明】 ディジタル論理シミュレーション/エミュレーションシステム 発明の分野 本発明は一般にディジタル論理(ロジック)シミュレーション/エミュレーシ ョンシステム、特に、シミュレーション(模擬)又はエミュレーション(模倣) 操作に含まれる物理的ディジタル論理装置(ロジック)をシミュレート(模擬) 及びエミュレート(模倣)するシステムに関する。 背景技術 ディジタル論理システムをシミュレート及び/又はエミュレートする、種々の 異なるソフトウェア及びハードウェアシステムが有る。ディジタル論理システム をシミュレートするために広く用いられているソフトウェアの一例は、ベリログ (Verilog)と呼ばれる米国電気電子学会標準シミュレーションプログラミング ランゲージ(模擬プログラム作成言語)である。ベリログのシミュレーションラ ンゲージのコンパイラ又はインタプリタを、種々のベング又はコンピュータメー カー、例えば、米国カリフォルニア州、サンノゼのカデンス・ディジタル・シス テムズ(Cadence Degital Systems)が提供している。ベリログのようなソフトウ ェア・ディジタル論理システム用シミュレータは通常、個々の集積回路(IC) 程度まで物理的に小さい寸法のシステムと、種々の多数のICを含む、ずっと大 きいディジタル論理システムの設計の両方に用いられている。ベリログシミュレ ーションを実行するには、ディジタル論理設計者は、そのシステムに対しシミュ レーションコンピュータモデルを用い、種々のソフトウェアモジュールをシミュ レーションコンピュータプログラムに集成して、これを行う必要がある。ベリロ グモデルを組み立てるソフトウェアモジュールには、そのシミュレーション操作 に含まれる各ディジタル論理回路のモジュールが構成され、ベリログ論理回路モ ジュール間の相互接続を特定し、また相互接続されるベリログ論理回路モジュー ル間のタイミング関係を特定する。種々のICを含むディジタル論理システムの シミュレーションコンピュータプログラムを作成することは、システムに含まれ る各ディジタル論理回路に、それぞれ個々にベリログモジュールを書かなければ ならないとしたら、極めて困難な仕事になることは容易に分かる。 ICの製造者は、製作されるのがプロトタイプである場合も、製作の前に自分 の設計をシミューレートするから、開発の段階から放置された各ICにも、一般 にシミュレーションモデルがある。更に、IC製造者はそのシミュレーションコ ンピュータモデルを、IC設計の保守、修理、向上の目的で、たいてい保持する ものである。しかしながら、ICシミュレーションモデルは、製造者が実際の、 又は潜在的競合者に知られたくないIC設計の詳細を漏らすものであるから、I C製造者は、ICの設計の際に開発されたシミュレーションコンピュータモデル を、そのICを用いるシステム設計者に、全くでないとしても、殆ど利用させる ことはない。更に、たとえ、ICの設計に用いられたシミュレーションコンピュ ータモデルが利用できても、そのICを部品として組み込むディジタル論理シス テムを設計するには、不必要に複雑な、IC動作に関する詳細を含むことになる 。したがって、ICを含む、より大型のディジタル論理システムをシミュレート 場合には、ICの設計シミュレーションコンピュータプログラムを用いても、よ り簡単なシミュレーションモデルを用いて得られる結果より良いシミュレーショ ン結果は得られない。また同時に、より大型のディジタル論理システムシミュレ ートに要する計算の量は、著しく増大する。 上記の理由で、特定のICのシミュレーションモデルを、且つ/或いは、しば しば多数の異なるICメーカーから得た、多数の異なるICをシミュレートする シミュレーションモデルのライブラリーを、ディジタル論理システムの設計者に 提供するベンダ、しばしばICメーカーとは無閲係のベンダが居る。しかしなが ら、このような第三者のシミュレーションモデルはICの設計に実際に用いられ るシミュレーションより単純なので、第三者のシミュレーションモデルはICを 誠実に再現していない、即ちこの第三者のシミュレーションモデルは潜在するバ グを含んでいるか、或いは特定のICに、それが市場に有るものであっても、第 三者のシミュレーションモデルが使えない可能性が常にある。潜在バグを含んだ シミュレーションモデルでも、或種のディジタル論理システムに用いると、正確 なシミュレーション結果をもたらす一方、それは他のディジタル論理システムを シミュレートする場合には不正確な結果を生じることは直ちに分かる。更に、特 定のICに使えるシミュレーションモデルが無い場合、そのICを含んだディジ タル論理システムの設計者は、コンピュータモデルがIC動作を再現する忠実度 が不十分になることもあると云う、付随するリスクを抱えて、そのようなシミュ レーションモデルを書かなければならない。 ソフトウェアディジタル論理シミュレーションに加えて、ディジタル論理シス テムをエミュレートするハードウェアシステムが、カリフォルニア州マウンテン ビューのクイックターン・デザイン・システムズ(QuckTurn Design Systems)や マサチュウセット州ケンブリッジのバーチュアル・マシーン・ワークス(Virtual Machine Wors)等のベンダにより提供されている。このようなハードウェアシミ ュレーションシステムの一例は、バーチュアル・マシーン・システムスが提供す るバーチュアロジック(VirtuaLogic)(登録商標)エミュレーションシステムで ある。バーチュアロジックエミュレーションシステムは、ディジタル論理システ ム、あるいはベリログ構造ネットリストに特定されたディジタル論理システムを 別個のパーツに分割し、これ等のパーツを個々に処理して幾つかのフィールドプ ログラマブルアレイ(Field Proguramable Arrays、以下FPGAと云う)を構成 する。次いで、構成した数個のFPGAの入力ピンと出力ピンを、バーチュアロ ジックエミュレーションシステムが相互に接続し、ディジタル論理システムをエ ミュレートする。 構成可能アプリケーション特定集積回路(ASIC)として、或いはシミュレ ーション又はエミュレーションにおいて、FPGAを用いる際に遭遇する一つの 問題は、FPGAを構成するのに必要なデータファイルを作成するのに要する有 意の時間量である。FPGA構成(configuration)データファイルを作成する通 常の方法では、FPGAに慣れた人々に「プレース・アンド・ルート」と呼ばれ ている技術である。コンピュータプログラムは「プレースアンドルート」を自動 化してFPGA構成データファイルを作成するが、通常の「プレースアンドルー ト」コンピュータプログラムを用いて一つのFPGAを作成するのに、数〜数十 時間のコンピュータ時間を要する。更に、通常の「プレースアンドルート」コン ピュータプログラム技術は、プログラム時間消費計算を終えた上で、その意図す る目的のためにFPGAを確実に構成する、データファイルの生成を保証し得な い。各々のシミュレーション又はエミュレーションを実行する前に、多数のFP GAを、例えばそれを一ダース、或いは1/2ダースでも、構成する必要がある なら、一技術をICシミュレーション又はエミュレーションの一般的「プレース アンドルート」方法として用いるのは、面倒過ぎて、非現実的である。 ディジタル論理システムのソフトウェアエミュレーションとディジタル論理シ ステムのハードウェアエミュレーションの両極端に加えて、ディジタルエミュレ ーション又はシミュレーションにハードウェアとソフトウェアのハイブリッドを 用いる中間のシステムも有る。ソフトウェアアクセス可能ハードウェアICエミ ュレーションの一例は、インサーキットエミュレータ(ICE)と呼ばれる。特 定のICをエミュレートするICEは市場にある。しかしながら、一般には、I CEはエミュレートされるようとする物理的ICを含み、それに、IC動作のソ フトウェア監視を許容するIC付加回路を追加する。したがって、ICEは比較 的柔軟性を欠き、シミュレーションモデルのある、どんなICをもシミュレート する汎用ICEは、現在のところ存在しない。 ハードウェアICモデルをソフトウェアディジタル論理シミュレーションに組 み込んだ、他の種のハードウェア/ソフトウェア混成システムもある。このよう なハードウェアICモデルシステムの一例は、カリフォルニア州マウンテンビュ ーのシノプシス・ロジック・モデリング(Synopsys Logic Modeling)により市販 されているモデルソース(ModelSource)システムである。モデルソースシステム を用いてハードウェアICモデルをディジタル論理シミュレーションに組み込む ため、ロジック設計者は、特殊目的アダプタボードに設けられたICをモデルソ ースシステムに差し込まなければならない。モデルソースシステムを、ワークス テーション等のモデルソースプロセッサがイーサネット(Ethernet)等のローカル エリアネットワーク(LAN)に接続し、このネットワーク上でモデルソースワ ークステーションが、シミュレーションシミュレーションコンピュータプログラ ムを作動する他のワークステーションと通信する。シミュレーション中、ハード ウェアモデル化ICの入力ピンに加えられる信号に変化が生じれば、ピンの変化 はローカルエリアネットワークを介してモデルソースプロセッサに送られる。モ デルソースシステムは次いで、ピンの変化をICに呈示し、ICの出力ピンに有 る信号に生じた変化を感知する。次いで、モデルソースは出力ピンの変化と対応 するタイミング情報をローカルエリアネットワークを介してシミュレーションコ ンピュータプログラムに帰還する。ハードウェアICモデルをディジタルロジッ クシミュレーションに組み込んだ、同様のシステムの種々のアスペクトが、米国 特許第4744084号、同第5146460号、同第5353243号及び同 第5369593号に記載されている。 ICをシミュレートすることに加え、特定のICのシミュレーションモデルは あるが、ディジタル論理システムの設計者が、ICを組み込んだディジタル論理 システムを実現し、検査しようとするとき、IC自体が入手できないと云う、逆 の状況も起こる。或いは、ディジタル論理システムの設計を実現、検査に用いら れるICは有っても、ディジタル論理システムを設計、デバグする際にICEを 用いるのと同様に、IC、の他の回路素子、例えば他のICとの相互作用を設計 者が観測及び監視したい、又はする必要がある場合がある。これ等の状況の何れ にあっても、一つ又は複数のICのソフトウェアシミュレーションから得られた 結果であるディジタル論理信号を導入して、ディジタル論理システムに実現する のが望ましいと、設計者が考える場合もある。 一つのIC全体をシミュレート又はエミュレートする要求に加えて、一つのI Cの一部のみを、有効且つ効率よくシミュレート又はエミュレートする必要も有 る。全IC設計の一部、又はその核心部のみを構成する設計を、販売又はライセ ンスする会社が現在ある。例えば、或CPU設計をもつ或企業が、それを別の企 業に販売又はライセンスすることを望み、かかる別の企業がこのCPU設計を自 社のIC設計に組み込む場合がある。しかしながら、かかる、即ち第二の企業が 第一の企業の設計を購入又はライセンスする前に、第一の企業の設計が適切に働 き、第二の企業のIC設計の残部と互換性があることの確認を、第二の企業は欲 するものである。この場合、第一の企業は、第一の企業の設計を検査、試験する 第二の企業の必要を、第二の企業に第一の企業の設計のシミュレーションコンピ ュータプログラムのソースコードを提供することにより、容易に満たすことがで きよう。あいにく、第一の企業は第二の企業に、シミュレーションランゲージプ ログラムのソースコードを提供するの通常好まない。そのレベルの設計の詳細を 提供すると、第一の企業が採用し、第一の企業に競争上の優位をもたらしている 所有権に係わる設計技術を第三者に漏らすことになるからである。このヂレンマ に対する一つの解決は、第一の企業が第二の企業に、所有権対象の設計技術を漏 らさずに、設計の詳細の全てを含む設計のネットリスト提供するかどうかである 。あいにく、設計のネットリスト表示をシミュレーションに挿入すると、生じる エミュレーションは、望まれない程度まで、或いは許容不能な程度までにさえ、 遅くなってしまう。 発明の開示 本発明の目的は、ディジタル論理システムの設計者に、一つ又は複数のICを 、ICのシミュレーションモデルがシミュレーションコンピュータプログラムに 含むことを要せず、ディジタル論理コンピュータに忠実に組み込む、簡単で且つ コスト効率の高いシミュレーションシステムを提供することにある。 換位的に、本発明の他の目的は、ディジタル論理設計者が、一つ又は複数のI Cのコンピュータプログラムシミュレーションを、迅速且つ容易に、ディジタル 論理システムに組み込み、ICをエミュレートできるようにしたエミュレーショ ンシステムを提供することにある。 本発明の他の目的は、種々の型のICとディジタル論理コンピュータシミュレ ーション間を迅速且つ容易にインターフェースできるシミュレーション/エミュ レーションシステムを提供することにある。 本発明の他の目的は、構成可能論理ICを構成するより迅速で且つより簡単な 方法を提供することにある。 本発明の更なる、他の目的は、ディジタル論理シミュレーション/エミュレー ションシステムに含まれるハードウェアポッド(pod)と、使用が簡単で、柔軟性 があり、製造が経済的で、保守が容易なディジタル論理シミュレーション/エミ ュレーションシステムを提供することにある。 簡単に云って、本発明は、ディジタル論理シミュレーション/エミュレーショ ンシステムに組み込まれるハードウェアポッドと、このハードウェアポッドを組 み込んだディジタル論理シミュレーション/エミュレーションシステムを含む。 ハードウェアポッドに加えて、ディジタル論理シミュレーション/エミュレーシ ョンシステムは、ディジタルコンピュータにより実行されるベリログ(Verilog) コンピュータプログラム等の、ディジタル論理システムをモデル化するコンピュ ータプログラムディジタル論理シミュレーションプロセスを含む。 ハードウェアポッドは、ディジタル論理回路に連結ができるものとする。例え ば、ハードウェアが、ハードウェアポッドに含まれるソケットに差し込まれたI Cを受容するか、ハードウェアをディジタル論理システムに差し込むコネクタを 、ハードウェアが備える。ハードウェアポッドはまた、複数の刺激(スチミュラ ス)/反応(レスポンス)セルを含むことができる構成可能論理(ロジック)I Cを備える。刺激/応答セルは、刺激−反応サイクル中、刺激信号をディジタル 論理回路に提供し、刺激−反応サイクル中、ディジタル論理回路からから反応を 受け取る。更に、ハードウェアポッドは、構成論理ICに送られ、刺激−反応サ イクル中、ディジタル論理回路の刺激を制御する、刺激制御データを受け取る通 信ポートを備える。この通信ポートはまた、ハードウェアポッドから送られる、 刺激−反応サイクル中、その刺激に反応してディジタル論理回路から構成可能論 理ICが受け取る、反応データを受け取る。 ディジタル論理シミュレーション/エミュレーションシステムはまた、ディジ タル論理シミュレーションプロセスとハードウェアポッドの両方に連結されるサ ーバープロセスを含む。このサーバープロセスは、ディジタル論理シミュレーシ ョンプロセスとハードウェアポッドの間で、刺激制御データと反応データを交換 する。このようにして、ディジタル論理シミュレーションプロセスは、刺激制御 データをサーバープロセスを通してハードウェアポッドに送り、刺激−反応サイ クル中に、刺激/反応セルによるディジタル論理回路の刺激を制御することがで きる。同様に、ディジタル論理シミュレーションプロセスはまた、刺激−反応サ イクル中に刺激に対するディジタル論理回路の反応を報告する構成可能ICの刺 激/反応セルから、サーバープロセス反応データをハードウェアポッドを通して 受け取ることができる。 好ましい実施例において、ディジタル論理シミュレーション/エミュレーショ ンシステムはまた、論理構成(コンフィギュレーション)データを含んだ論理構 成データファイルを記憶する、論理構成ライブラリーを備える。この論理構成ラ イブラリーは、サーバープロセスが論理構成ライブラリーからの構成データファ イルを検索でき、構成データファイルをハードウェアポッドに送って、構成可能 論理ICを構成できるようにした、サーバープロセスに連結される。論理構成デ ータは、ハードウェアポッドの構成可能論理ICに加えられて、構成可能論理I C内に複数の刺激/反応セルを設定する。好ましい実施例においては、論理構成 データがハードウェアポッドの構成可能論理ICに加えられると、構成可能論理 ICの動作を制御する状態(ステート)マシーンも設定される。このように構成 されるステートマシーンは、ディジタル論理回路への刺激信号の供給と、ディジ タル論理回路からの反応の受け取りを制御する論理構成データはまた、個々の刺 激/反応セルが、刺激信号をディジタル論理回路に提供、且つ/或いは反応をデ ィジタル論理回路から受け取る、刺激−反応サイクル内の時間間隔を設定するス テートマシーンの制御の下に、タイミング発生器を構成論理IC内に設定する。 ディジタル論理シミュレーション/エミュレーションシステムの好ましい実施 例において、ハードウェアポッドの構成可能論理ICに構成データファイルを負 荷すると、セルが互いに連結されてシフトレジスタを形成する、刺激/反応セル のビットスライスアーキテクチャが設定される。この刺激−反応セルのシフトレ ジスタ相互接続により、ビットスライス刺激制御データが構成可能論理ICにダ ウンロードされ、刺激−反応サイクル中のディジタル論理回路の刺激を特定する 。刺激−反応セルのシフトレジスタ相互接続はまた、構成可能論理ICからビッ トスライス反応データをアップロードさせ、刺激−反応サイクル中の刺激に対す るディジタル論理回路の反応を報告する。論理構成データは好ましくは、構成可 能論理ICの各エッジに沿って1群とする、4個の刺激/反応セル群を設定する 。各刺激/反応セル群は、刺激/反応セルが互いに連結されてシフトレジスタを 形成する別個のビットスライスアーキテクチャを形成する。 論理構成データを含んだ構成データファイルの作成を容易にするため、ディジ タル論理シミュレーション/エミュレーションシステムの好ましい実施例はまた 、構成可能論理仕様プロセスを備える。この構成可能論理仕様プロセスは、論理 構成ライブラリーと構成可能論理セルライブラリーの両方に接続される。構成可 能論理セルライブラリーは、種々の異なる型の個々の刺激/反応セルを特定する 構成データを記憶する。構成可能論理仕様プロセスは、 1.構成データファイルに含まれる構成可能論理セルライブラリーから、個々 の刺激/反応セルの選択 2.ディジタル論理回路に関する選択刺激/反応セルの場所の特定 3.選択刺激/反応セルが動作して、刺激信号をディジタル論理回路に提供す る、且つ/或いはディジタル論理回路から反応信号を受け取る、刺激−反応サイ クル内の時間間隔の特定 が行えるユーザーインターフェースを提供する。構成可能論理仕様プロセスのユ ーザーインターフェースを用いて、刺激/反応セルが全て選ばれ、特定されると 、構成可能論理仕様プロセスは、論理構成ライブラリー内に記憶されるべきデー タファイルのセットを発生するコンパイル(編集)動作を許容する。 構成可能データファイルセットに記憶される構成可能論理構成データの迅速な コンパイルのため、本発明は、各論理機能セルに付き、構成可能論理ICの所定 構成データの全体に亘る特定箇所に割り当てることにより、構成データをコンパ イルする。この所定構成データは構成可能論理セルライブラリーから検索される 。本発明の好ましい実施例では、ビットスライス論理機能セルを特定する所定構 成データが用いられ、ビットスライス論理機能セルは、直隣接論理機能セルの所 定構成データを単に対向させることにより、構成可能論理IC全体に亘る特定位 置に割り当てられる。 これ等及び他の特徴、目的及び利点は、以下、添付する図面を参照して記述さ れる好ましい実施例の詳細な記載から、当業者に理解され、明らかになろう。 図面の簡単な説明 図1は、本発明によるディジタル論理シミュレーション/エミュレーションシ ステムであって、シミュレーションプロセス、サーバープロセス、論理構成ライ ブラリー、及び通信ポート、RAM、ROM、CPU、一つ又は複数の構成可能 IC及び、シミュレーションシステムに使われるか、エミュレーションシステム に使われるかにより、ディジタル論理ICを受容できるか、ポッドをディジタル 論理システムに接続できる、ソケットを含むハードウェアポッドとを備えたディ ジタル論理シミュレーション/エミュレーションシステムを示す概略的ブロック 図である。 図2は、図1のポッドに含まれた構成可能論理ICの構成に用いられる機能素 子であって、複数の刺激/反応セル、ステートマシーン、タイミング発生器、先 入れ先出し(FIFO)入力及び出力ICを含む機能素子を示すブロック図であ る。 図3は、図1のシミュレーション/エミュレーションシステムを用いる、ディ ジタル論理のシミュレーション又はエミュレーションを例示するタイミング図で ある。 図4は、図に示されたディジタル論理シミュレーション/エミュレーションシ ステムによるシミュレーションであって、ICが或最小周波数以下で動作する場 合にIC状態がフェードするICのエミュレーションを示すタイミング図である 。 図5は、図2に示されたような構成可能論理ICに具現することができる簡単 な入力刺激/反応セルを示すタイミング図と、この刺激/反応セルの動作を例示 するタイミング図である。 図6は、図2に示されたような構成可能論理ICに具現することができるよう な簡単な出力刺激/反応セルを示すタイミング図と、この刺激/反応セルの動作 を例示するタイミング図である。 図7は、図2に示されたような構成可能論理ICに具現することができるよう な、エネーブルの無いパルス刺激/反応セルを示すタイミング図と、この刺激/ 反応セルの動作を例示するタイミング図である。 図8は、図2に示されたような構成可能論理ICに具現することができるよう な、エネーブルの有るパルス刺激/反応セルを示すタイミング図と、この刺激/ 反応セルの動作を例示するタイミング図である。 図9は、図2に示されたような構成可能論理ICに具現することができるよう な、簡単な双方向刺激/反応セルを示すタイミング図と、この刺激/反応セルの 動作を例示するタイミング図である。 図10は、図1に示された論理構成ライブラリーに記憶されるファイルの編成 を示す構造図である。 図11は、ディジタル論理シミュレーション/エミュレーションシステムが用 い、図1に示されたハードウェアポッドのソケットに受容されるべきICの特性 であって、オペレータがその特性を特定して用いるグラフックユーザーインター フェース(GUI)コンピュータプログラムが呈示するスクリーンディスプレー を示す。 図12は、図11に図示のディスプレーからオペレータが選択した後、GUI コンピュータプログラムがオペレータに呈示し、ディジタル論理ICの入力ピン の特性を特定する、スクリーンディスプレーを示す。 図13は、図11に図示のディスプレーからオペレータが選択した後、GUI コンピュータプログラムがオペレータに呈示し、ディジタル論理ICの出力ピン の特性を特定する、スクリーンディスプレーを示す。 図14は、図11に図示のディスプレーからオペレータが選択した後、GUI コンピュータプログラムがオペレータに呈示し、ディジタル論理ICの双方向ピ ンの特性を特定する、スクリーンディスプレーを示す。 図15は、図11に図示のディスプレーからオペレータが選択した後、GUI コンピュータプログラムがオペレータに呈示し、ディジタル論理ICの電力ピン の特性を特定する、スクリーンディスプレーを示す。 図16は、図1及び2に示されたような構成可能論理ICの構成可能論理セル に対する刺激/反応セルの割当を例示するブロック図である。 図17は、4個の別個シフトレジスタが有り、各々のシフトレジスターが入力 FIFOから刺激制御データを受け取り、反応を出力FIFOに送る、構成可能 論理ICの好ましい構成を示すブロック図である。 図18aは、相互接続された刺激/反応セルが形成する構成可能論理IC内の 異なるシフトレジスタにダウンロードされるビットスライス刺激制御データの多 数セットを示す図である。 図18bは、相互接続された刺激/反応セルが形成する構成可能論理IC内の 異なるシフトレジスタからアップロードされるビットスライス反応データの多数 セットを示す図である。 図19は、図2に示されたFIFO−ICを介して、図1に示された構成可能 論理ICとCPUの間で、刺激制御データと反応データを転送するためのデータ ワードを示す図である。 図20は、多数導体ケーブルによりディジタル論理システムに接続された、図 1のポッドを示すブロック図である。 図21は、多数導体ケーブルによりディジタル論理システムに接続され、高サ イクル、高速シミュレーション又はエミュレーションのできる、図1のディジタ ル論理シミュレーション/エミュレーションシステムの代替的実施例を示すブロ ック図である。 図22は、刺激制御データと反応データを刺激プロセスとハードウェアポッド が交換するネットワークに接続されたコンピュータにより実行される刺激プロセ スと他のプロセス間で生じるトランザクションを示すソフトウェア構造図である 。 図23は、同ネットワークに接続されたコンピュータにより実行されるデモン ・ステートマシーンプロセスの状態図である。 図24は、同ネットワークに接続されたコンピュータにより実行されるマネジ ャー(管理プログラム)ステートマシーンプロセスの状態図である。 図25は、図23に例示されたデモン・ステートマシーンにより開始されるデ モンマネジャー有限ステートマシーンプロセスの状態図である。 図26は、ハードウェアポッド内のCPUにより実行されるハードウェアポッ ド・ステートマシーンプロセスの状態図である。 図27は、図23に例示されたデモン・ステートマシーンプロセスにより開始 されるデモン・ハードウェアポッド有限ステートマシーンプロセスの状態図であ る。 図28は、シミュレーションプロセスに含まれるアプリケーションステートマ シーンの状態図である。 図29は、図23に例示されたデモン・ステートマシーンプロセスにより開始 されるデモンアプリケーション有限ステートマシーンプロセスの状態図である。 図30は、シミュレーションプロセス内の構成可能論理ICビットストリーム とソフトウェアモジュールをコンパイルするプロセスを示す決定フローチャート である。 図31は、図30に示されたコンパイルプロセスの共通データベースの組立を 示す決定フローチャートである。 図32は、シミュレーションプロセスモジュールのコンパイルを示す決定フロ ーチャートである。 図33は、構成可能論理ICビットストリームのコンパイルを示す決定フロー チャートである。 図34は、構成可能論理ICビットストリームの組み合わせ(マージング)を 示す決定フローチャートである。 好ましい実施例の詳細な記載 図1は、本発明によるディジタル論理シミュレーション/エミュレーションシ ステムを示すブロック図である。このディジタル論理シミュレーション/エミュ レーションシステムは、一般的参照番号20で示され、破線24で表されたディ ジタルコンピュータにより実行されるコンピュータプログラムディジタル論理シ ミュレーションプロセス22を備える。シミュレーションプロセス22は、ディ ジタル論理システムをモデル化し、好ましくはベリログ(Verilog)プログラミン グランゲージでプログラムされる。ディジタルコンピュータ24は好ましくは、 アメリカ合衆国カリフォルニア州マウンテンビューのサン・マイクロシステムズ のスパークステーション(SparcStation)4ワークステーションである。ディジタ ル論理シミュレーション/エミュレーションシステム20が備えるキーボード2 6とディスプレー28は、シミュレーションプロセス22に接続され、シミュレ ーションプロセスを監視でき、且つ該プロセスと対話ができるようになっている 。 ディジタル論理シミュレーション/エミュレーションシステム20はまた、ハ ードウェアポッド32を備える。本発明の図1に示された実施例では、ハードウ ェアポッド32は、ゼロ差し込み力(ZIF)ICソケット34で、ディジタル 論理ICを受容する。ソケット34に加えて、図1のハードウェアポッド32は 、二つの構成可能IC36a及び36bを備える。IC34内のICピンレセプ タクル38は全て、個々の印刷回路基板トレース(線)42により、構成可能論 理IC36a及び36bに接続されている。 ハードウェアポッド32は更に、中央処理装置(CPU)44を備え、これを 好ましくは、カリフォルニア州サンタクララのインテグレイテッド・デバイス・ テクノロジー・インクのR3081 MIPS R3000派生(derivative)R ISCマイクロプロセッサと他の付属ICで構成する。CPU44を、マイクロ プロセッサバス46がリードオンリーメモリ(ROM)48、ランダムアクセス メモリ(RAM)52及び通信ポート54に連結する。通信ポート54は好まし くは、カリフォルニア州サンタクララのナショナル・セミコンダクタ・インクが 市販するソニックイーサネット(Sonic Ethernet)である。ROM48は512k バイトの記憶を提供し、CPU44を充分ブートし、通信ポート54を通して付 加的コンピュータの受容を許容するのに要する最小コンピュータプログラムのみ を保持する。RAM52は、 1.CPU44により実行されるコンピュータプログラム 2.構成可能論理IC36a及び36bをプログラムし、刺激−反応サイクル 中にICソケット34に挿入されるディジタル論理ICを刺激するのに用いられ る刺激制御データ及び 3.刺激−反応サイクル中にかかるディジタル論理ICから構成可能論理IC 36a及び36bが受け取る反応データ 用に16Mバイトの記憶を提供する。 図1に示されているように、ディジタル論理シミュレーション/エミュレーシ ョンシステム20はまた、サーバープロセス20を含む。サーバープロセス62 は、ディジタルコンピュータ24の内部で、両頭矢印64により示されているよ うに、ソフトウェアでシミュレーションプロセス22に連結される。サーバープ ロセス62はまた、イーサネットケーブル66によりハードウェアポッド32に 、また要すれぱ、図1に示されていない付加的ハードウェア32に連結されてい る。サーバープロセス62は、シミュレーションプロセス22とハードウェアポ ッド32の間で、刺激制御データと反応データを交換する。シミュレーションプ ロセス22から刺激制御データが転送される間、構成可能論理IC36a又は36 bに送られ、刺激−反応サイクル中に構成可能論理IC36a及び36bによる ディジタル論理ICへの刺激を制御するデータを、通信ポート54が受け取る。 ハードウェアポッド32から反応データが転送される間、通信ポート54は、刺 激付与−反応サイクル中にディジタル論理ICから、その刺激受容に反応して受 け取る反応データを送信する。 さて図2のブロック図に関し、構成可能論理IC36a及び36bは両者とも 好ましくは、カリフォルニア州サンノゼのアトメル・コーポレーション(Atmel C orporation)が市販するAT6005細粒度FPGAである。ここに引用により 挿入する、アトメルコーポレーションによる"Configurable Logic Design and A pplication Book"(「構成可能論理(ロジック)設計及び応用ブック」)に更に詳 細に記載されているように、AT6005は、フレクシブルバスネットワークに 接続される小型で、歯科も強力な構成可能論理セルの対称マトリックスを提供す るSRAMに基づくFPGAである。FPGAの対称マトリックスは、FPGA ICのピンに接続するプログラマブルI/Oセルにより囲まれている。FPG Aに慣れた人々に良く知られているように、上記「構成可能ロジック設計及び応 用ブック」に更に詳細に記載されているように、AT6005は、構成データ、 通常構成ビットストリームとしてフォーマットされたデータをFPGAの少なく とも一つのピンに供給することにより、特定のディジタル論理回路として動作す るように構成されている。FPGA内で、この構成データが組み込みシフトレジ スタを介し、FPGA対称マトリックスを通って移動し、特定数のビットがFP GAに供給された後は、FPGAは完全に構成されているようにする。 図2のブロック図に例示されているように、入力ピン68に供給される構成デ ータは、構成可能論理IC36a及び36bに加えられると、構成されたFPG A内に、FPGAの対称マトリックスの周囲に複数の刺激/反応セル72が位置 する、ビットストリームアーキテクチャを設定する。構成データはまた、刺激/ 反応セル72の各々が、FPGAプログラマブルI/OセルとFPGAピン(何 れも図示せず)とハードウェアポッド32のトレースの一つとを通して、ZIF −ICソケット34の特定ICピン−レセプタクル38に連結されるようにする 。 ICピン−レセプタクル38に連結される刺激/反応セル72が形成されるの に加え、構成データが構成可能論理IC36a及び36bに加わると、シフトレ ジスタリンク74により刺激/反応セル72は相互に接続され、それにより刺激 /反応セル72を通って延びるシフトレジスタを設定する。刺激/反応セル72 シフトレジスタリンク74が相互に組み合わされて、構成可能論理IC36a及 び36b内に形成されるシフトレジスタは、別々のFPGAピン(図示せず)で 始まり且つ終わる。構成データが構成可能論理ICに加えられることにより、こ うして設定されたシフトレジスタにより、ビットスライスデータストリームの刺 激付与制御データが刺激/反応セル72にダウンロードされ、このビットスライ スストリームが、刺激−反応サイクル中に、構成可能論理ICによるディジタル 論理ICへの刺激を特定する。上記シフトレジスタにより、また、刺激−反応サ イクル中、刺激に対するディジタル論理ICの反応を報告するビットスライスス トリームの反応データが、構成可能論理IC36a及び36bの刺激/反応セル 72からアップロードされる。 刺激/反応セル72とシフトレジスタリンク74が設定されるのに加え、論理 構成データの構成可能論理IC36a及び36bへの負荷により、ステート(状 態)マシーン76とシフトレジ又タタイミング発生器78の両者が設定される。 ステートマシーン76はシフトパルスを刺激/反応セル72に提供し、相互に組 み合わされた刺激/反応セル72とシフトレジスタリンク74により形成された シフトレジスタを通る、刺激/反応制御データと反応データの移動を整合する。 ステートマシーン76はまた、タイミング発生器78を介して、刺激信号をディ ジタル論理ICに提供し、ディジタル論理ICから反応データを受け取る際の、 構成可能論理IC36a及び36bの動作を制御する。タイミング発生器78は、 個々の刺激/反応セル72が刺激信号をディジタル論理ICに送る、且つ/或い はディジタル論理ICから反応信号を受け取る、刺激一反応サイクル中の時間間 隔を設定する。構成可能論理IC36a及び36bに負荷される論理構成データ はまた、タイミング発生器78が発生する時間間隔を、、構成可能論理IC36 a及び36bの各々に含まれる全刺激/反応セル72に連結するタイミング信号 バス82を設定する。 各刺激−反応サイクル中、ハードウェアポッド32内の数個の構成可能論理I Cによりディジタル論理ICのピンに供給される刺激信号と、これ等の構成可能 論林ICによる反応信号の受け取りは、必ず同期されなければならない。即ち、 ハードウェアポッド32内の全構成可能論理ICからの刺激信号はディジタル論 理ICに同相で到達しなければならず、構成可能論理ICはディジタル論理IC からの反応信号を同相で受け取らなければならない。数個の構成可能論理ICの この同期化は、構成可能論理ICの全てを単一印刷回路基板に設けることにより 、 また共通のクロック信号を構成可能論理ICの全てに供給することにより達成さ れる。 論理構成データを構成可能論理IC36a及び36bに供給するため、ディジ タル論理シミュレーション/エミュレーションシステム20は、構成可能論理I C36a及び36bに負荷された論理構成データを含んだ構成データファイルを 記憶する論理構成ライブラリー86をも備える。矢印88で表されているように 、論理構成ライブラリー86は、サーバープロセス62が論理構成ライブラリー 86から構成データを検索し、論理構成データをハードウェアポッド32に送信 し、構成可能論理ICの構成を許容するサーバープロセス62に連結されている 。 論理構成ライブラリー86から検索され、構成可能論理IC36a及び36b に負荷される論理構成データは、ディジタル論理ICのピンに加えられる刺激信 号、及び/又はディジタル論理ICから受け取られる反応信号にのみ係わる。電 力、例えばVccの、ICの特定ピンへの供給は、かかる電力をディジタル論理 ICの個々のピンに連結する手動設置ジャンパーにより、ハードウェアポッド3 2の設定中に行われる。したがって、ハードウェアポッド32のあらゆるトレー スは、ICソケット34のICピン−レセブタクル38と構成論理IC36a及 び36との両方、及び図示されないジャンパーピンに接続する。ICソケット3 4の特定のICピンーレセプタクル38を電気的接地又は電源にすべき場合は、 そのピン−レセプタクル38に接続されたトレース42と電気回路接地(Gnd )又は電源(Vcc)の何れかの間に、ジャンバーを手動で設置する。システム20のシミュレーション/エミュレーション動作 さて図3に関し、図3の最上の水平線は、より好ましいベルログ(Verilog)シ ミュレーションのようなコンピュータプログラムディジタル論理シミュレーショ ンプロセス22を示す。シミュレーションプロセス22は水平線92の左端部で 始まり、初期設定間隔が垂直線94で始まり、垂直線96で終わる。パルス列9 8で示されたような初期設定間隔中、サーバープロセス62は論理構成ライブラ リー86から論理構成データを検索し、かかるデータをハードウェアポッド32 に送信する。ハードウェアポッド32内では、論理構成データは構成可能論理I C36a及び36bに負荷され。、それによって構成可能論理IC36a及び3 6bを、シミュレーションの残りに対して、構成する。初期設定間隔が終わった 後、図3のタイミング図では短い垂直線102の直隣接対間で起こる一連のシミ ュレーションサイクルを、シミュレーションプロセス22は実行する。 図の中央の水平線104は、シミュレーションプロセスの一般的シミュレーシ ョンサイクルを例示する。垂直線106と垂直線108の間にある、シミュレー ションサイクルの初期時間間隔において、ハードウェアポッド32に送られてI Cソケット34内のディジタル論理ICを構成するシミュレーション制御データ を、シミュレーションプロセス22が作成する。ディジタル論理ICの構成に要 する全デバイス入力データをシミュレーションプロセス22が作成した後、矢印 112で表されているように、シミュレーションプロセス22に含まれるディジ タル論理ICを表す、シミュレーションプロセス22に含まれる、「シェル」モ ジュールが、図3でパルス列114により表されているように、ビットスライス 刺激制御データをサーバープロセス62を通してハードウェアポッド32のRA M52にダウンロードする。ビットスライスデータをシェルモジュールがハード ウェアポッド32にダウンロードした後、シミュレーションプロセス22はシミ ュレーションを回復し、ICソケット34に差し込まれたディジタル論理ICか らの反応データに依存しない処理を実行する。RAM52にビットスライスデー タがグウンロードされた後、隣接した刺激/反応セル72を相互接続するシフト レジスタ74により形成されたシフトレジスタを介して、CPU44により実行 されるコンピュータプログラムは、RAM52からのビットスライス刺激制御デ ータを取り出し(フェッチし)、図3にパルス列116により表されているよう に、該データを構成可能論理IC36a及び36bに負荷する。疑似付与制御デ ータが構成可能論理IC36a及び36bに負荷されると、刺激−反応サイクル 中に種々の刺激/反応セル72がディジタル論理ICに供給しようとする信号付 与信号が特定される。 構成可能論理IC36a及び36bにビットスライス刺激制御データが負荷さ れた後、刺激−反応サイクルの実行のため、ステートマシーン76はタイミング 発生器78に働き、図3に垂直線118により表された一連のタイミングパルス をタイミング信号バス82を介して全刺激/反応セル72に送信させる。刺激− 反応サイクル中には、タイミング発生器78により送信されるパルスは2個を下 回ることは無く、好ましくは8個のタイミングパルスがタイミング発生器78に より送信される。タイミング発生器78により送信されるタイミングパルスが設 定する時間間隔中、各個々の刺激/反応は、構成可能論理IC36a及び36b に負荷される論理構成データにしたがい且つ刺激/反応セル72に負荷される刺 激制御データにしたがって、刺激信号をICソケット34に差し込まれたディジ タル論理ICに送信する、且つ/或い反応信号を該ICから受信する。タイミン グ発生器78から全パルスが送信されると、刺激−反応サイクルは終了し、刺激 信号に対するディジタル論理ICの反応が種々の刺激/反応セル72内に有る。 刺激−反応サイクルの終了時、隣接する刺激/反応セル72を相互接続するシ フトレジスタリンク74により形成されたシフトレジスタを介して、CPU44 により実行されるコンピュータプログラムは、図3にパルス列122により表さ れたビットスライス反応データを構成可能論理IC36a及び36bから検索し 、該データをRAM52に記憶する。RAM52に反応データが負荷された後、 通信ポート54は、パルス列124で表された該データをRAM52から検索し 、図3に矢印126で示されているように、この反応データをサーバープロセス 62を通してシミュレーションプロセス22のシェルモジュールに送り戻す。 反応データをシミュレーションプロセス22が検索した後、コンピュータプロ グラムディジタル論理シミュレーションプロセス22がディジタル論理ICから の反応データを処理する、垂直線128で始まるシミュレーションサイクルの最 終段階をシミュレーションプロセス22は開始する。反応データの処理を完了し たら、シミュレーションプロセス22は次のシミュレーションサイクルを直ちに 開始する。 ICソケット34に差し込まれたディジタル論理ICの状態が時間に亘り「フ ェード」してきたら、例えばディジタル論理ICがフェーズロックループを含む 場合、刺激−反応サイクル中のハードウェアポッド32の上記動作は増強されて 、刺激−反応サイクル中にかかるIC状態を適切に確立する必要がある。状態が フェードするディジタル論理ICに対し、ハードウェアポッド32はRAM52 に、シミュレーションプロセス22の引き続くシミュレーションサイクル、例え ば図 4に示されたシミュレーションサイクル1から12の、各々に対する刺激制御デ ータの履歴を保存する。次いで、シミュレーションプロセス22により実行され る各引き続くシミュレーションサイクル中、CPUにより実行されるコンピュ− タプログラムは一連の刺激−反応サイクルを実行する。その各々は、図4で数を 囲んだ矩形132により表されている。CPU44により実行されるコンピュー タプログラムは、図3で示されるように、パルス列116で始まり、パルス列1 22で終わるシーケンス内の各刺激−反応サイクルを、初期記憶刺激−反応サイ クルのデータで始まり、最終刺激−反応サイクルのデータで終わる全記憶刺激− 反応データに対して開始する。最終刺激−反応サイクルの終了時、ハードウェア ポッド32はサイクルシーケンス内の最終刺激−反応サイクルに対する反応デー タをサーバープロセス62に送り、それをシミュレーションプロセス22に送ら せる。刺激/反応セルの種類 種々の異なる型のディジタル論理ICのピンに適切な刺激信号を送信し、かか るICのピンから反応信号を適切に受信するためには、ディジタル論理シミュレ ーション/エミュレーションシステム20は、刺激/反応セル72を種々の異な る様式で動作させるように構成可能論理IC36a及び36b構成できなければ ならない。以下に記載される表は、構成可能論理IC36a及び36bに構成さ れ得る種々の異なる型の刺激/反応セル72を纏めたものである。 入力セル 単純入力セル 刺激−反応サイクル当たり1反応 刺激−反応サイクル当たり2反応 出力セル 単純入力サル 刺激−反応サイクル当たり1トランジション 刺激−反応サイクル当たり2トランジション 3状態出力セル 刺激−反応サイクル当たり1トランジション 刺激−反応サイクル当たり2トランジションパルス出力セル エネーブル信号無し エネーブル信号有り 双方向セル 刺激−反応サイクル当たり1トランジション 刺激−反応サイクル当たり2トランジション 単純入力セル 図5に関し、示されているのは、構成可能論理ICに具現が可能な単純入力刺 激/反応セル72のブロック図と、この単純入力刺激/反応セル72の動作を示 すタイミング図である。図5に示された刺激/反応セル72は、3データ入力端 子及び2制御入力端子シフトレジスタ・マルチプレクサ142と、ビットストリ ームデータ記憶フリップフロップを備える。図3で垂直線94と垂直線96の間 に示された、シミュレーションプロセス22の初期設定時間間隔中に構成可能論 理IC36a及び36bに負荷される構成データにより、これ等のシフトレジス タ・マルチプレクサ142とビットストリームデータ記憶フリップフロップ14 4の両方が設定される。前記のように、刺激/反応セル72が刺激−反応サイク ルを実行できる前に、構成可能論理IC36a及び36bに含まれる刺激/反応 セル72の全てにビットスライス刺激制御データが負荷されなけれがならない。 ビットスライス刺激制御データの負荷中、図5の右側に示されたシフトレジス タリンク74を介して、シフトレジスタ内の直前の刺激/反応セル72が、ビッ トストリーム刺激制御データ1ビットに対するデータ値を、シフトレジスタ・マ ルチプレクサ142の「2」データ入力端子に供給する。また、構成可能論理I C36a及び36bに負荷された構成データがステートマシーン76に働き、シ フトパルスをシフトパルス信号線146を介してシフトレジスタ・マルチプレク サ142の「1」制御入力端子に周期的に送信させる。リフトレジスタ・マルチ プレクサ142はシフトパルスを受信すると、「2」データ入力端子に有るデー タ値をビットストリームデータ記憶フリップフロップ144の「D]入力端子に 送信する。次いで、クロック信号線148を介して、構成可能論理IC36a及 び36bに対するマスタークロックパルスが、ビットストリームデータ記憶フリ ップフロップ144内に記号「Λ」で表された、ビットストリームデータ記憶フ リップ144のクロック信号入力端子に印加される。マスタークロックパルスを 受信すると、ビットストリームデータ記憶フリップフロップ144は「D」入力 端子に有るデータ値を記憶し、該データ値をビットストリームデータ記憶フリッ プフロップ144の「Q]出力端子から送信する。ビットストリームデータ記憶 フリップフロップ144の「Q]出力端子は、シフトレジスタ・マルチプレクサ 142の「0」出力端子に接続する。シフトレジスタ・マルチプレクサ142の 「0」入力端子と「1」制御入力端子に印加された信号が否定される間、シフト レジスタ・マルチプレクサ142はその「0」データ入力端子に有るデータ値を ビットストリームデータ記憶フリップフロップ144の「D]入力に送信する。 このようにして、刺激/反応セル72は、シフトパルスがシフトパルス信号線1 46を介してシフトレジスタ・マルチプレクサ142に送られる毎に、1ビット のビットスライス刺激制御データを負荷、且つ記憶する。更に、ビットストリー ムデータ記憶フリップフロップ144の「Q]出力端子は、シフトレジスタ内の 刺激/反応セル72を次の刺激/反応セル72に接続するシフトレジスタリンク 74にそれが保持するデータ値を供給するから、図5に示された刺激/反応セル 72は、ビットストリームデータ記憶フリップフロップ144に記憶されたデー タ値を、シフトレジスタ内の次の刺激/反応セル72に呈示する。 図5に示された刺激/反応セル72はまた、優先して用いられるAT6005 FPGAに含まれるもののようなプログラマブルI/Oセルの入力バッファー 増幅器152を備える。入力バッファー増幅器152の入力端子はトレース42 の一つを介してディジタル論理ICのピンに接続する一方、入力バッファー増幅 器152の出力端子はシフトレジスタ・マルチプレクサ142の「1」データ入 力端子に接続する。構成可能論理IC36a又は326bに負荷された構成デー タは、シフトレジスタマルチプレクサ142の「0」制御入力端子をタイミング 信号バス82に含まれたタイミング信号線に連結する。こうして、シフトレジス タマルチプレクサ142がタイミング信号パルスをタイミング信号バス82を介 して受信するとき、シフトレジスタマルチプレクサ142は「1」データ入力端 子に有る信号をビットストリームデータ記憶フリップフロップ144の「D]入 力に連結する。クロック信号線148から次のマスタークロックパルスをビット ストリームデータ記憶フリップフロップ144が受信すると、ICソケット34 に設置されたディジタル論理ICのピンから送信されたデータ値が、刺激/反応 セル72に記憶される。前記のように、ビットストリームデータ記憶フリップフ ロップ144の「Q]出力がシフトレジスタ・マルチプレクサ142の「0」デ ータ入力端子につながると、シフトレジスタ・マルチプレクサ142の「0」制 御入力端子からタイミング信号をタイミング発生器78が除いた後も、刺激/反 応セル72内の記憶データは維持される。 当業者に直ちに理解されるように、構成可能論理IC36a又は36bに負荷 された構成データは、シフトレジスタ・マルチプレクサ142の「0」制御入力 端子をタイミング信号バス82に含まれる線の何れかに接続することができる。 したがって、図5に示された単純入力刺激/反応セル72は、各刺激−反応サイ クル中、タイミング発生器78により発生された8個のタイミングパルスの何れ か一つに反応して、トレース42上に有るデータ値を記憶することができる。更 に、刺激/反応セル72が誤って構成され、タイミング信号バス82の一つ又は 複数の線に接続されると、刺激−反応サイクルの終了時に刺激/反応セル72に 有るデータ値は、シフトレジスタマルチプレクサ142の「0」制御入力端子に より受信される最高数位のタイミングパルスに続いてトレース42に有るものと なる。 図5に含まれるタイミング図における垂直線118は、刺激−反応サイクル中 、タイミング発生器78から送信される8個のタイミング信号パルスを表す。図 5の例示は、シフトレジスタマルチプレクサ142の「0」制御入力端子に、タ イミング信号バス82からの、図5で垂直線118により表された7番目のタイ ミング信号パルスが連結されるのを示す。図5のタイミング図では、シフトレジ スタ・マルチプレクサ142を介して刺激/反応セル72に供給される信号は論 理(0)又は論理(1)の何れかのデータ値を取ることができることを、刺激− 反応サイクルに跨って水平に延びる破線154a及び154bが示している。刺 激付与−反応サイクルに跨って水平に延びる破線156a及び156bの、7番 目 のタイミング信号パルスの左側に有る部分は、そのタイミング信号パルスの前に は、刺激/反応セル72が論理(0)又は論理(1)の何れかのデータ値を記憶 することができることを表している。刺激−反応サイクルに跨って水平に延びる 破線156a及び156bの、7番目のタイミング信号パルスの右側に有る部分 は、そのタイミング信号パルスの後も、刺激/反応セル72が論理(0)又は論 理(1)の何れかのデータ値を取ることができることを表している。しかしなが ら、7番目のタイミング信号パルスの直ぐ右に有る破線158は、そのタイミン グ信号パルスの後、且つ直ぐ続くマスタークロックパルスの後で、刺激/反応セ ル72により保持されるデータ値は、図5に破線154a及び154bにより表 されたトレース42上に有るものと同じになることを表している。 単純出力セル 図6に関し、示されているのは、構成可能論理IC36a及び36bに具現が 可能な単純出力刺激/反応セルのブロック図と、単純出力刺激/反応セル72の 動作を例示するタイミング図である。図6に示された刺激/反応セル72は、2 データ入力端子及び1制御入力端子シフトレジスタマルチプレクサ162と、ビ ットストリームデータ記憶フリップフロップ164と、2データ入力端子及び1 制御入力端子出力信号マルチプレクサ166と、出力信号フリップフロップ16 8を備える。シフトレジスタ・マルチプレクサ162と、ビットストリームデー タ記憶フリップフロップ164と、出力信号マルチプレクサ166と、出力信号 フリップフロップ168は全て、図3で垂直線94と垂直線96の間に示された シミュレーションプロセス22の初期設定時間間隔の間、構成可能論理IC36 a又は36bに負荷される構成データにより、設定される。上記のように、刺激 /反応セル72が刺激−反応サイクルを行える前に、構成可能論理IC36a及 び36bに含まれる刺激/反応セル72の全てに、ビットストリーム刺激制御デ ータが負荷(ロード)されなければならない。 ビットスライス刺激制御データの負荷(ローディング)中、図6の右側に示さ れたシフトレジスタリンク74を介して、シフトレジスタ内の直ぐ前の刺激/反 応セル72が、ビットストリーム刺激制御データ内の1ビットに対するデータ値 を、シフトレジスタマルチプレクサ162の「1」データ入力端子に供給する。 ステートマシーン76はシフトパルスを、シフトパルス信号線146を介して、 シフトレジスタマルチプレクサ162の「0」制御入力端子に送信する。シフト パルスを受信すると、シフトレジスタマルチプレクサ162は「1」データ入力 端子に有るデータ値を、ビットストリームデータ記憶フリップフロップ164の 「D]入力端子に送信する。次いで、ビットストリームデータ記憶フリップフロ ップ164内で記号「Λ」で表されている、ビットストリームデータ記憶フリッ プフロップ164のクロック信号入力端子に、構成可能論理IC36a及び36 bに対するマスターがクロック信号線148を介して印加される。ビットストリ ームデータ記憶フリップフロップ164の「Q]出力端子は、シフトレジスタ1 62の「0」データ入力端子に接続する。シフトレジスタマルチプレクサ162 の「0」制御入力端子に印加される信号が否定される間、シフトレジスタマルチ プレクサ162は、その「0」データ入力端子に有るデータ値をビットストリー ムデータ記憶フリップフロップ164の「D]入力端子に送信する。こうして、 シフトパルス信号線146を介してシフトレジスタマルチプレクサ162にに送 信されるシフトパルスの各発生毎に、1ビットのビットスライス刺激制御データ を刺激/反応セル72が負荷し、記憶する。更に、ビットストリームデータ記憶 フリップフロップ164の「Q]出力端子は、それが保持するデータ値を、シフ トレジスタ内の刺激/反応セル72を次の刺激/反応セル72に接続するシフト レジスタリンク74に供給するので、図6に示された刺激/反応セル72は、ビ ットストリームデータ記憶フリップフロップ164に記憶されたデータ値をシフ トレジスタ内の次の刺激/反応セル72に呈示する。 出力信号マルチプレクサ166の「1」データ入力ターミナルはまた、ビット ストリームデータ記憶フリップフロップ164に記憶されたデータ値を受信する 。構成可能論理IC36a又は36bに負荷された構成データは、出力信号マル チプレクサ166の「0」制御入力端子を、タイミング信号バス82に含まれる タイミング信号線に連結する。こうして、出力信号マルチプレクサ166がタイ ミング信号パルスをタイミング発生器78からタイミング信号バス82を介して 受信すると、出力信号マルチプレクサ166は「1」データ入力端子に有る信号 を出力信号フリップフロップ168の「D]入力端子に連結する。マスタークロ ッ クパルスを受信すると、出力信号フリップフロップ168は「D]入力端子に有 るデータ値を記憶し、その同一データ値が出力信号フリップフロップ168の「 Q]出力端子から送信される。出力信号フリップフロップ168の「Q]出力が 出力信号マルチプレクサ166の「0」データ入力端子に連結されると、タイミ ング発生器78がシフトレジスタ・マルチプレクサ162の「0」制御入力端子 からのタイミング信号パルスを除いても、出力信号フリップフロップ168内に 記憶されたデータ値はそのまま維持される。 図6に示された刺激/反応セル72はまた、好ましいAT6005 FPGA に含まれたもののようなプログラマブルI/Oセルの出力バッファー増幅器17 2を備える。出力バッファー増幅器172の入力端子は出力信号フリップフロッ プ168の「Q]出力端子に連結され、出力信号増幅器172に有るデータ値を 受信する。出力バッファー増幅器172の出力端子は、トレース42の一つを介 してディジタル論理ICのピンに接続する。こうして、タイミング信号パルスが 出力信号マルチプレクサ166の「0」端子に連結されたタイミング発生器78 から送信されると、図6に示された信号/反応セル72がディジタル論理ICの ピンに、ビットストリームデータ記憶フリップフロップ164に記憶された刺激 −反応データ値を送信する。 当業者に直ちに理解されるように、構成可能論理IC36a又は36bに負荷 される構成データは、出力信号マルチプレクサ166の「0」入力端子をタイミ ング信号バス82に含まれるラインの全てに、任意に接続することができる。し たがって、ビットストリームデータ記憶フリップフロップ164に有るデータ値 を図65に示された単純出力刺激/反応セルが72出力信号フリップフロップ1 68に送ることができ、該データ値が、各信号付与−反応サイクル中、タイミン グ発生器78が発生する8個のタイミング信号パルスの何れか一つに反応して出 力バッファー増幅器172から送信されるようにする。更に、刺激/反応セル7 2が誤って構成され、タイミング信号バス82二つ又はそれ囲繞のラインにつな がれるとビットストリームデータ記憶フリップフロップ164に有るデータ値は 出力信号フリップフロップ168に転送され、第一のタイミング信号パルスに応 答する出力バッファー増幅器172によりトレース42に印加され、続く全タイ ミング信号パルスはディジタル論理ICのピンに印可された刺激を変えることは ない。 図6に含まれるタイミング図の垂直線118は、刺激−反応サイクル中、タイ ミング発生器78から送信される8個のタイミング信号パルスを表す。図6の例 示は、垂直線118で表された、タイミング信号バス82からの第三のタイミン グ信号パルスが、出力信号マルチプレクサ166の「0」制御入力端子に連結さ れるのを示す。図6のタイミング図において、刺激−反応サイクルに跨って水平 に延びる太線156aは、刺激−反応サイクルの全体に亘って、論理(1)デー タ値がビットストリームデータ記憶フリップフロップ164に有ることを表して いる。刺激−反応サイクルに跨って水平に延びる破線156aは、論理(1)デ ータの代わりに、論理(0)データ値が刺激−反応サイクルの全体に亘ってビッ トストリームデータ記憶フリップフロップ164に有り得、論理(0)データ値 がビットスライス刺激制御データの構成可能論理IC36a又は36bへの負荷 中、ビットストリームデータ記憶フリップフロップ164に記憶されていれば、 有ることを表している。刺激−反応サイクルに跨って3番目のタイミング信号パ ルスの左側に水平に延びる破線部分154a及び154bは、このタイミング信 号パルスの前では、刺激/反応セル72は、論理(0)又は論理(1)の何れの データ値に対しても、ディジタル論理ICのピンに刺激を供給できることを表し ている。3番目のタイミング信号パルスの右に延びる太線部分154bは、この タイミング信号パルスの後では、刺激/反応セル72が論理(1)データ値の刺 激をディジタル論理ICのピンに供給することを表している。3番目のタイミン グ信号パルスの直ぐ右に有る傾斜した破線部分178は、トレース42に供給さ れた信号が論理(0)データ値から、ビットストリームデータ記憶フリップフロ ップ164に記憶された論理(1)データに換わることが可能であることを表し ている。 エネーブルの無いパルス出力セル 図7に関して、図示されているのは、構成可能論理IC36a又は36bに具 現が可能な、エネーブルの無いパルス刺激/反応セル72のブロック図と、エネ ーブルの無いパルス刺激/反応セル72の動作を例示するタイミング図である。 図7に示された刺激/反応セル72は、2データ入力端子及び1制御入力端子出 力信号マルチプレクサと、出力信号フリップフロップと、出力バッファー増幅器 とを備え、これ等はそれぞれ、図6に示された単純出力刺激/反応セル72のマ ルチプレクサ166、フリップフロップ168及びバッファー増幅器と同じ動作 をする。図7のエネーブルの無いパルス刺激/反応セル72に示されたこれ等の 素子は、このように図6に示された単純出力刺激/反応セル72と共通し、プラ イム記号(’)」で区別された同一参照番号を有する。図7に示された、エネー ブルの無いパルス刺激/反応セル72はまた、2入力端子ORゲート182を備 える。出力信号マルチプレクサ166’、出力信号フリップフロップ168’、 出力バッファー増幅器172’及びORゲート182は全て、図3で垂直線94 と垂直線96の間に有る、シミュレーションプロセス22の初期設定時間間隔中 、構成可能論理IC36a又は36bに負荷される構成データにより設定される 。 図7に示されたパルス刺激/反応セル72はエネーブルが無いので、刺激/応 答セル72の動作は刺激制御データによっては制御されない。したがって、直ぐ 前の刺激/反応セル72からの、及び直ぐ次の刺激/反応セル72へのシフトレ ジスタリンク74は、刺激/反応セル72内で単に相互に接続している。 図7に示されたように、ORゲート182の出力端子は、出力信号マルチプレ クサ166’の「0」制御入力天使に接続する。したがって、ORゲート182 の何れかの入力端子の肯定により、出力信号マルチプレクサ166’は「1」デ ータ入力端子に有る信号を出力信号フリップフロップ168’の「D]入力に送 信する。次いで、クロック信号線148を介して、構成可能論理IC36a及び 36bに対するマスタークロックパルスが、出力信号フロップ168’内の記号 「Λ」で表された出力信号フリップフロップ168’のクロック信号入力端子に 印加される。マスタークロックパルスを受信すると、出力信号フリップフロップ 168’は、その時「D」入力端子に有るデータ値を記憶し、出力信号フリップ フロップ168’の「Q]出力端子から、同じデータ値を出力信号マルチプレク サ166’の「0」データ入力端子に送信する。 出力信号マルチプレクサ166’の「1」データ入力端子とORゲート182 のデータ入力端子は、タイミング信号バス82に含まれている一つのタイミング 信号線に接続し、ORゲート182の他のデータ入力端子は、タイミング信号バ ス82に含まれている異なるタイミング信号線に接続している。ORゲート18 2の入力端子と出力信号マルチプレクサ166’の「1」データ入力端子の両方 に接続するタイミング信号線にタイミング信号パルスが発生すると、このタイミ ング信号パルスは出力信号フリップフロップ168’に記憶される。逆に、OR ゲート182にのみ接続するタイミング信号線にタイミング信号が発生すると、 出力信号フリップフロップ168’がリセットされる。図6に示された刺激/応 答セル72に関して上に述べたように、トレース4出力バッファー増幅器172 ’は、出力信号フリップフロップ168’の「Q]出力端子に有る信号をトレー ス42を介して、ICソケット34に挿入されたディジタル論理ICのピンに送 信する。 図7に含まれるタイミング図は、ORゲート182のデータ入力端子のみに接 続する、タイミング信号バス82のタイミング信号線にタイミング信号パルスが 発生する前に、出力信号マルチプレクサ166’の「1」データ入力端子に接続 する、タイミング信号バス82のタイミング信号線にタイミング信号パルスが発 生するときの、エネーブルの無いパルス刺激−反応サイクル動作を示している。 図7は、ORゲート182のデータ入力端子、出力信号マルチプレクサ166’ の「1」データ入力端子の両方に、この第三のタイミング信号パルスが印加され るのを示している。図7に垂直線118で表された第三のタイミング信号パルス の前は、出力バッファー増幅器172’の出力に接続されたトレース42上に有 る信号は、第三のタイミング信号を表す垂直線118の右側の太線部分の部分に より表されたような論理(0)データ値を有する。第三のタイミング信号パルス が発生すると、トレース42上に有る信号は、上方に傾斜する太線部分184と 、第三のタイミング信号パルスを表す垂直線118の右側の水平な太線部分15 4Bとにより表されるような論理(1)のデータ値に変わる。図7はまた、7番 目のタイミング信号パルスはORゲート182のデータ入力端子にのみ印加され るのを示す。7番目のタイミング信号パルスが発生した後、トレース42上に有 る信号は、下方に傾斜する太線部分186と、7番目のタイミング信号パルスを 表す垂直線118の左側の、水平な太線部分154aの延長部により表されるよ う な論理(0)データ値に戻る変化をする。 図7に示されたエネーブルの無いパルス刺激/反応セル72は、ハードウェア ポッド32により実行される、あらゆる刺激−反応サイクル中に動作する。エネ ーブルの無いパルス刺激/反応セル72により発生されるパルスは、二つの直前 後するタイミング信号パルス間の時間間隔より短くはなり得ない。このパルスは 、タイミング発生器78により発生される第一のタイミング信号パルスで開始し 、最後のかかるタイミング信号パルスで終了することができる。図7に示された 刺激/反応セル72により発生されるパルスは、出力信号マルチプレクサ166 ’の「1」データ入力端子に、前のタイミング信号パルスではなく、後のタイミ ング信号パルスを印加することにより、反転が可能である。エネーブルの無いパ ルス刺激/反応セル72は、ハードウェアポッド32により刺激されているディジ タル論理ICにクロック信号を供給するのに特に適している。 エネーブルの有るパルス出力セル 図8に関して、示されているのは、構成可能論理IC36a又は36bにより 具現が可能な、エネーブルの有るパルス刺激/反応セル72のブロック図と、こ のエネーブルの有るパルス刺激/反応セル72の動作を例示するタイミング図で ある。図8に示された刺激/反応セル72は、図6に示された単純出力刺激/応 答セル72のマルチプレクサ162とフリップフロップ164と動作が同じ、2 データ入力端子及び1制御入力端子シフトレジスタマルチプレクサとビットスト リームデータ記憶フリップフロップを備える。図6に示された単純出力刺激/応 各セル72にのみ共通する、図8のエネーブルの有るパルス刺激/反応セル72 内に示された素子は、単一プライム記号「’」により区別された同一参照番号が 付されている。図8に示された刺激/反応セル72はまた、図6に示された単純 出力刺激/反応セル72や、図7に示されたエネーブルの無いパルス刺激/反応 セル72のマルチプレクサ166、フリップフロップ168及びバッファー増幅 器172と動作を同じくする2データ入力端子及び1制御入力端子出力信号マル チプレクサ、出力信号フリップフロップ及び出力バッファー増幅器を備える。図 6に示された単純出力刺激/反応セル72及び図7に示されたエネーブルの無い パルス刺激/反応セル72と共通する図8のエネーブルの有るパルス刺激/反応 セル72に示された素子は、二重プライム記号「”」で区別された同一参照番号 が付されている。エネーブルの有るパルス刺激/反応セル72はまた、図7に示 されたエネーブルの無いパルス刺激/反応セル72のORゲート182と動作を 同じくする2入力端子ORゲートを備える。図6に示された単純出力刺激/反応 セル72にのみ共通する図8のエネーブルの有るパルス刺激/反応セル72内に 示された素子は、単一プライム記号「’」で区別された同一参照番号が付されて いる。図8に示されたエネーブルの有るパルス刺激/反応セル72はまた、2入 力端子ANDゲート192を備える。シフトレジスタ・マルチプレクサ162’ 、ビットストリームデータ記憶フリップフロップ164’、出力信号マルチプレ クサ166”、出力信号フリップフロップ168”、出力バッファー増幅器17 2”、ORゲート182’及びANDゲート192は全て、図3で垂直線94と 垂直線96の間に示されたシミュレーションプロセス22の初期設定時間間隔中 に構成可能論理IC36a又は36bに負荷される構成データにより設定される 。 上記のように、エネーブルの有るパルス刺激/反応セル72が刺激−反応サイ クルを実行できる前に、構成可能論理IC36a及び36bに含まれる全ての刺 激/反応セル72にビットスライス刺激制御データが負荷されなければならない 。図8に示されたシフトレジスタマルチプレクサ162’とビットストリームデ ータ記憶フリップフロップ164’へのビットスライス刺激制御データの負荷と 、引き続く刺激/反応セル72への刺激制御データの送信は、図6に示された単 純出力刺激/反応セル72に対して上記したものと同一である。また、上記のよ うに、出力信号マルチプレクサ166”、出力信号フリップフロップ168”及 び出力バッファー増幅器172”は、図7に示されたエネーブルの無いパルス刺 激/反応セル72に対する上記のものと同一動作をする。 図8に示されたエネーブルの有るパルス刺激/反応セル72内のORゲート1 82’のデータ入力端子に適用される接続と印加される信号は、図7に示された エネーブルの無いパルス刺激/反応セル72に対する上記のものと同一である。 ORゲート182’の出力端子は、ANDゲート192のデータ入力端子に接続 している。ANDゲート192の第二のデータ入力端子は、ビットストリームフ リップフロップ164’の「Q]出力端子に接続している。ANDゲート192 の出力端子は、出力信号マルチプレクサ166”の「0」制御入力端子に接続し ている。したがって、ANDゲート192の両入力信号が肯定されたときのみ、 出力信号マルチプレクサ166”「1」データ入力端子に有る信号を出力信号フ リップフロップ168”の「D]入力端子に印加する。したがって、シフトレジ スタ・マルチプレクサ162’とビットストリームデータ記憶フリップフロップ 164’が論理(1)データ値を記憶するとき、ORゲート182’のそれぞれ のデータ入力端子にタイミング信号パルスが印加されると、出力バッファー増幅 器172”によりトレース42に印加された信号は論理(1)と論理(0)のデ ータ値の間を交替する。 刺激−反応サイクル中にビットストリームデータ記憶フリップフロップ164 ’が論理(1)のデータ値を保持するとき、図8に示されたエネーブルの有る( 有エネーブル)パルス刺激/反応セル72は、図7のタイミング図に示されたエ ネーブルの無い(無エネーブル)パルス刺激/反応セル72と同様に動作する。 逆に、ビットストリームデータ記憶フリップフロップ164’が出力信号マルチ プレクサ166’の動作を禁止し、有エネーブル・パルス刺激/反応競る72は トレース42上にパルスを発生しない。したがって、図8のタイミング図では、 ビットストリームデータ記憶フリップフロップ164’に論理(0)を存在しめ る有エネーブル・パルス刺激/反応セル72の動作中、トレース42にパルスの 無いことが、図8に垂直線118により表された3番目と7番目のタイミング信 号パルスの間に延びる破線部分154aにより示されている。無エネーブル・パ ルス刺激/反応セル72と同様、出力信号マルチプレクサ166’の「1」デー タ入力端子に、前のタイミング信号パルスではなぐ後のタイミング信号パルスが 印加されると、出力バッファー幅器172により図8のタイミング図に例示され たものからパルスが反転する。 双方向セル 図9に関して、示されているのは、構成可能論理IC36a又は36bに具現 される双方向刺激/反応セル72のブロック図と、この双方向刺激/反応セル7 2の動作を示すタイミング図である。図9に示された刺激/反応セル72は、図 5に示されたシフトレジスタ・マルチプレクサ142、ビットストリームデータ 記憶フリップフロップ144及び入力バッファー増幅器152と同様に動作する 3データ入力端子、2制御入力端子シフトレジスタ・マルチプレクサ、ビットス トリームデータ記憶フリップフロップ及び入力バッファー幅器を備える。図5に 示された単純入力刺激/反応セル72と共通する図9の双方向刺激/反応セル7 2に示された素子は、単一プライム符号「’」により区別される同一参照番号が 付されている。図9に示された刺激/反応セル72は、図6に示された単純出力 刺激/反応セル72や、図8に示された有エネーブル・パルス刺激/反応セル7 2のマルチプレクサ162及びフリップフロップ164と同様に動作する2デー タ入力端子及び1制御入力端子シフトレジスタ・マルチプレクサを備える。図6 に示された単純出力刺激/反応セル72及び図8に示された有エネーブル・パル ス刺激/セル72と共通する図9の双方向セル刺激/反応72に示された素子は 、二重プライム記号「”」により区別される同一参照番号が付されている。 上記のように、双方向刺激/反応セル72が刺激−反応サイクルを実行する前 に、構成可能論理IC36a及び36bに含まれた全刺激/反応セル72にビッ トスライス刺激制御データが負荷されなければならない。図9に示されたシフト レジスタ・マルチプレクサ142’及びビットストリームデータ記憶フリップフ ロップ144’へのビットスライス刺激制御データの負荷は、双方向刺激/反応 セル72を次の刺激/反応セル72に連結するシフトレジスタリンク74にビッ トストリームデータ記憶フリップフロップ144’の「Q]出力端子が接続しな い点を除いて、図5に示された単純出力刺激/反応セル72に対する上記のもの と同一である。同様に、図9に示されたシフトレジスタ・マルチプレクサ162 ”及びビットストリームデータ記憶フリップフロップ164”へのビットスライ ス刺激制御データの負荷と、次の刺激/反応セル72への同刺激制御データの送 信は、双方向刺激/反応セル72を直前の刺激/反応セル72に接続するシフト レジスタリンク74からではなく、ビットストリームデータ記憶フリップフロッ プ164’から記憶される刺激制御データが来る点を除いて、単純出力刺激/反 応セル72に対する上記のものと同一である。 図9に示された刺激/反応セル72はまた、二つの対の2データ入力端子、1 制御入力端子出力マルチプレクサ、及び出力フリップフロップを備える。各対の 出力信号マルチプレクサ及び出力信号フリップフロップは、図6に示された単純 出力刺激/反応セル72、図7に示された無エネーブル・パルス刺激/反応セル 72、及び図8に示された有エネーブル・パルス刺激/反応セル72のマルチプ レクサ166及びフリップフロップ168と同様に動作する。図6に示された単 純出力刺激/反応セル72、図7に示された無エネーブル・パルス刺激/反応セ ル72、及び図8に示された有エネーブル刺激/反応セル72と共通する図9の 有エネーブル・双方向刺激/反応セル72に示された第一の対の素子は、三重プ ライム記号「’”」により区別される同一参照番号が付され、第二の対の素子は 、四重プライム記号「””」により区別される同一参照番号が付されている。図 9に示された双方向刺激/反応セル72はまた、図6に示された単純出力刺激/ 応答セル72、図7に示された無エネーブル・パルス刺激/反応セル72、及び 図8に示された有エネーブル・パルス刺激/反応セル72のバッファー増幅器1 72と同様に動作する出力バッファー増幅器を備える。図9に示された双方向刺 激/反応セル72に示された出力バッファー増幅器は、三重プライム記号「’” 」により区別される同一参照番号が付されている。 シフトレジスタ・マルチプレクサ142’、ビットストリームデータ記憶フリ ップフロップ144’、入力バッファー増幅器152’、シフトレジスタ・マル チプレクサ162”、ビットストリームデータ記憶フリップフロップ164”、 出力信号マルチプレクサ166’”、出力信号フリップフロップ168’”、出 力信号マルチプレクサ166””、出力信号フリップフロップ168””及び出 力バッファー増幅器172’”は全て、図3で垂直線94と垂直線96の間に示 されたシミュレーションプロセス22の初期設定時間間隔の間に構成可能論理I C36a又は36bに負荷される構成データによって設定される。 図9に示された双方向刺激/反応セル72に含まれる出力信号フリップフロッ プ168””の「Q]出力端子は出力バッファー増幅器172’”に接続するが 、この出力端子は、出力信号フリップフロップ168”’の「Q]出力端子と同 様、出力増幅器172’”の入力端子に接続しない。寧ろ、出力信号フリップフ ロップ168””の「Q]出力端子は、バッファー増幅器172’”のエネーブ ル入力端子に接続する。したがって、出力信号フリップフロップ168””の「 Q] 出力端子から出力バッファー増幅器172’”のエネーブル入力端子に送られる 信号の肯定が出力バッファー増幅器172’”を活動状態にし、論理(0)又は 論理(1)の何れかのデータ値をトレース42に送り、送信データ値は出力信号 フリップフロップ168’”の「Q]出力端子から出力バッファー増幅器172 ’”のデータ入力端子に供給されるデータ値に対応する。逆に、出力信号フリッ プフロップ168””の「Q]出力端子から出力バッファー増幅器172’”の エネーブル入力端子に送られる信号の否定は、出力バッファー増幅器172’” をトレース42から分離させ、それによりトレース42に連結された他の電気回 路の動作がトレース42上の信号値を決定するようにする。 図9に示された双方向刺激/反応セル72は、刺激−反応サイクル中に出力信 号をトレース42に送信するか、刺激−反応サイクル中にトレース42から入力 信号を受信することの何れもできる。しかしながら、一つの刺激−反応サイクル 中、図9に示された刺激/反応セル72は出力信号をトレース42に送信し、且 つトレース42から入力信号を受信することはできない。したがって、双方向刺 激/反応セル72が刺激−反応サイクル中にトレース42から入力信号を受信す るように構成されるとき、入力バッファー増幅器152’、シフトレジスタ・マ ルチプレクサ142’及びビットストリームデータ記憶フリップフロップ144 ’は、図5に示された単純入力刺激/反応セル72に対して上記したのと同じよ うに動作する。逆に、双方向刺激/反応セル72が刺激−反応サイクル中にトレ ース42に出力信号を送信するように構成されるときは、出力信号マルチプレク サ166’”と出力信号フリップフロップ168’”が、図6に示された単純出 力刺激−反応セル72に対して上記したものと同様に動作する。但し、図6に示 されたビットストリームデータ記憶フリップフロップ164ではなく、図9に示 されたビットストリームデータ記憶フリップフロップ144’が論理データ値を 出力信号マルチプレクサ166”の「1」データ入力端子に供給する。 シフトレジスタ・マルチプレクサ162”及びビットストリームデータ記憶フ リップフロップ164”に記憶されたデータ値は双方向刺激/反応セル72を構 成し、トレース42からデータ値を受信、又はトレース42にデータ値を送信す る。シフトレジスタ・マルチプレクサ162”とビットストリームデータ記憶フ リップフロップ164”が、図9のタイミング図で水平な太線202aによって 示されたような論理(1)のデータ値を記憶するなら、出力バッファー増幅器1 72’”はエネーブルとなって、シフトレジスタ・マルチプレクサ142’とビ ットストリームデータ記憶フリップフロップ144’に記憶されたデータ値を、 出力信号マルチプレクサ166’”及び166””の両方の「0」制御信号入力 に接続するタイミング信号バス82のタイミング信号線にパルスが発生したとき、 トレース42に送信する。逆に、シフトレジスタ・マルチプレクサ162”とビ ットストリームデータ記憶フリップフロップ164”が図9のタイミング図で水 平な破線202bにより示されたような論理(0)のデータ値を記憶するなら、 出力バッファー増幅器172’”はディスエーブルとなって信号をトレース42 に送信するのを禁止され、シフトレジスタ・マルチプレクサ142’の「0」制 御信号入力に接続するタイミングバス信号82のタイミング信号線にパルスが発 生すると、シフトレジスタ・マルチプレクサ142’とビットストリームデータ 記憶フリップフロップ144’はその時トレース42に有るデータ値を記憶する 。この後者の場合、双方向刺激/反応セル72の動作は図5のタイミング図に示 されたものと同じである。 他の型の刺激/反応セル 図9に示された双方向刺激/反応セル72は機能的に、三状態出力刺激/反応 セルと組み合わされた単純入力刺激/反応セル72と等価である。したがって、 図9のブロック図から入力バッファー増幅器152’をを除き、3データ入力端 子シフトレジスタ・マルチプレクサ142’をシフトレジスタ・マルチプレクサ 162”のような2データ入力端子マルチプレクサと交換し、タイミング信号バ ス82とシフトレジスタ・マルチプレクサ142’に換わるシフトレジスタ・マ ルチプレクサ162”との間の接続を解き、シフトパルス信号線146をシフト レジスタ・マルチプレクサ142’に換わるシフトレジスタ・マルチプレクサ1 62”の「0」制御入力端子に接続すると、三状態出力刺激/反応セル72が得 られる。 同様に、各信号付与−反応サイクル中、二つの反応を受信する単純入力刺激/ 反応セル72を、図5に示されたシフトレジスタ・マルチプレクサ142とビッ トストリームデータ記憶フリップフロップ144の二つの対を同図に示された単 純入力刺激/反応セル72に対して単に縦続すことにより容易に組み立てること ができる。同様に、刺激−反応サイクル当たり2遷移の単純出力刺激/反応セル 72を、図6に示されたシフトレジスタ・マルチプレクサ162とビットストリ ームデータ記憶フリップフロップ164の二つの対を縦続し、図6に示された1 制御入力端子出力信号マルチプレクサ166を、図5にシフトレジスタマルチプ レクサ142に対して示されたものと同様な3データ入力端子、2制御入力端子 マルチプレクサで置き換えることにより容易に組み立てることができる。 以上記載されたものに機能を増加する、或いは機能を異にする更なる型の刺激 /反応セルは、ICソケット34に差し込まれるディジタル論理ICのシミュレ ートに、或いはディジタル論理ICのエミュレートに有益であることは容易に分 かる。構成データを構成可能論理IC36a及び36bに負荷して、以上記載さ れた種々の刺激/反応セル72を具現する方法の以下に述べる記載は、当業者が かかる代替的刺激/反応セルを採用して、本発明のディジタル論理シミュレーシ ョン/エミュレーションシステム20を利用することを可能にする。 ビットスライス刺激制御データ 種々の異なる種の刺激/反応セル72の以上の記載から、刺激/反応セルが型 を異にすると、ビットスライス刺激制御データに1、2、3又はそれ以上のデー タビットが必要になることが容易に分かる。したがって、ビットスライス刺激付 与制御データの長さとビットスライス刺激制御データ内の個々のビットの意義を 、シフトレジスタリンク74によってシフトレジスタに接続される刺激/反応セ ルの型とシーケンスを知らずに設定又は確認することはできない。 ロジック構成ライブラリー86 図10は、図1に示された論理(ロジック)構成ライブラリー86に記憶され るファイルの編成と構造を示す図である。ロジック構成ライブラリー86は、図 10に示されたファイルセット212aから212eのような多数のファイルセ ットを含むことができる。各ファイルセット212は、ディジタルロジックシミ ュレーション/エミュレーションシステム20を用いて、特定のディジタルロジ ックICを動作するのに必要なデータを含む。ファイルセット212cに付き図 10に示されているように、各個々のファイルセット212は、シミュレーショ ンプロセスに必要なシミュレーションモデル214と、多数のFPGA構成デー タファイル216aから216gを記憶する。シミュレーションモジュール21 4は、シミュレーションプロセス22に組み込まなければならないシェルモデル 、サーバープロセス62、及びCPU44が実行数rコンピュータプログラムに より用いられるデータファイルを含む。ファイルセット212に記憶されるFP GA構成データファイル216a〜216gの数は、ハードウェアポッド32に 含まれる構成可能ロジックICの数に等しい。 図1に矢印22により表示されているように、ロジック構成ライブラリー86 に有るファイルは、ディジタルコンピュータ24により実行される構成可能仕様 (特定化)プロセス224により作成される。構成可能ロジック特定化プロセス 224は、ディジタルロジックICの特性の特定にオペレータが用いるグラフィ ックユーザーインターフェース(GUI)コンピュータプログラム226を含む 。 GUI226 図11に示されているように、好ましいGUIコンピュータ35プログラム2 26はオペレータに、ICソケット34をグラフィックで表すスクリーンディス プレーを呈示する。ロジック構成ライブラリー86に含まれるべきファイルセッ ト212を特定するに際して、図11に示されたスクリーンディスプレーはオペ レータに、図11の左側に沿って設けられた階層テーブルから、ICソケット3 4に差し込まれるディジタルロジックICの物理的パッケージを選ばせる。ディ ジタルロジックICの物理的パッケージを選んで、オペレータは次いでファイル セット212の名称を特定し、次いでGUIコンピュータプログラム226がそ れを、図11の左側に沿って階層テーブルにリストされた異なる型のディジタル ロジックICのモデル登録簿に加える。 モデルのパッケージを特定し、モデルに名称を付した後、オペレータはGUI コンピュータプログラムを用い、ICソケット34のICピンレセプタクル38 に挿入されるディジタルロジックICの種々のピンの電気的特性を特定する。図 11に示されたスクリーンディスプレーを用い、オペレータは先ず図11に示さ れたスクリーンディスプレーの左下隅に設けられた一列のボタンから一つのボタ ンを選び、トレース42を介してICピンレセプタクル38に連結される刺激/ 反応セル72の型を特定する。刺激/反応セル72の型を特定した後、オペレー タは、図11に箱の方形マトリックスで図形表示された一列のICピンレセプタ クル38から特定のICピンレセプタクル38を選択する。オペレータがピンを 方形の箱マトリックスから選ぶと、GUIはオペレータに、図12〜15に示さ れたスクリーンディスプレーの適切な一つを呈示する。 図12はGUIコンピュータプログラム226がオペレータに呈示するスクリ ーンディスプレーで、構成可能ロジックIC36a又は36bの何れかに含まれ た出力刺激/反応セル72に、トレース42を介して連結されるディジタルロジック ICの入力ビンの特性を特定できるようにするものである。或いは、図12のス クリーンディスプレーは、構成可能ロジックIC36a又は36bに含まれるの は、パルス刺激/反応セル72であると特定することもできる。GUIコンピュ ータプログラム226がオペレータに呈示する、図13に示されるスクリーンデ ィスプレーは、構成可能ロジックIC36a又は36bの何れかに含まれる入力 刺激/反応セル72に、トレース42を介して連結されるディジタルロジックI Cの出力ピンの特性を特定できるようにするものである。図14に示されるスク リーンディスプレーは、構成可能ロジックIC36a又は36bの何れかに含ま れる双方向刺激/反応セル72に、トレース42を介して連結されるディジタル ロジックICの双方向ピンの特性を特定できるようにするものである。或いは、 図14のスクリーンディスプレーは、構成可能ロジックIC36a又は36bに 含まれるのは、パルス刺激/反応セル72であると特定することもできる。図1 5に示されるスクリーンディスプレーは、構成可能ロジックIC36a又は36 bの何れかに含まれる入力刺激/反応セル72に、トレース42を介して連結さ れるディジタルロジックICの電源又は接地ピンの特性を特定できるようにする ものである。 図12〜14に示されるように、GUIコンピュータプログラム226が呈示 するスクリーンディスプレーは、特定の刺激/反応セルが刺激信号をディジタル ロジックICに呈示する、及び/又は反応をディジタルロジックICから受け取 る、刺激/反応サイクル中の時間間隔を特定することができる。図5〜9に関し て前記した刺激/反応セル72の種々の特性の特定に加えて、図12〜15に示 されたスクリーンディスプレーは、構成可能ロジックIC36a及び36bが構 成データ内への特定を本質的又は内在的に許容する、刺激/反応セルの他の特性 をオペレータが特定できるようにする。GUIコンピュータプログラム226を 用いて、オペレータがディジタルロジックICのピン特性を特定した後、構成可 能ロジック仕様(特定化)プロセス224に含まれるコンピュータプログラムは 、斯く特定されたデータを処理してシミュレーションモジュール214とFPG A構成データファイル216a〜216gをコンパイルする。次いで、構成可能 ロジック特定化プロセス224は、シミュレーションモジュール214及びFP GA構成データファイル216a〜216gをロジック構成ライブラリー86に 記憶する。 構成データファイル216のコンパイル 前記のように、Atmel AT6005 FPGAは、小型で、しかも強力 な構成可能ディジタル論理セル、例えばAtmelの「構成可能ロジック設計及 びアプリケーションの本」の頁2〜9に示されたようなセルの対称マトリックス を提供する。構成可能ディジタル論理セルのマトリックスは、フレキシブルブッ シングネットワークに接続する。FPGAの対称マトリックスを、FPGA I Cのピンに接続するプログラマブルI/Oセル取り囲む。好ましいAT6005 のような、FPGAを構成するデータを発生する通常の方法は、「プレースアン ドルート」コンピュータプログラムである。 通常の「プレースアンドルート」コンピュータプログラムが通常受け入れる入 力データは、構成可能論理セルを相互接続して具現するディジタル論理機能を特 定するファイルと、ディジタル論理機能のある種を適切に動かすべきとき満足す る必要のある、例えば速度のような他の特性を特定する付加的データである。通 常の「プレースアンドルート」コンピュータプログラムは次ぎに、ある程度任意 だが、特定されたディジタル論理機能をFPGAの種々の構成可能論理セルに割 り当てる。ディジタル論理機能を種々の構成可能論理セルに割り当てた後、通常 の「プレースアンドルート」コンピュータプログラムは次いで、構成可能論理セ ル割当の不規則変動(ラングムバリエーション)をテストし、或バリエーション が構成可能論理セル経路指定(ルーティング)の質を改善したら、それを受け入 れる。多数のラングムバリエーションをテストし、構成可能論理セル経路指定の 質を改善するものを受け入れると共に、ルーティングを悪化させるものを除くこ とにより、通常の「プレースアンドルート」コンピュータプログラムは、特定さ れたディジタル論理機能を具現するFPGA構成可能論理セルの最適な構成の開 発を求める。 通常の「プレースアンドルート」コンピュータプログラムは上記のように動作 するから、かかるプログラムのユーザーは通常、プログラムを徹夜で動かして一 つのFPGAの構成データを獲得する。しかしながら、ディジタル論理シミュレ ーション/エミュレーションシステム20のようなシステムに対して、通常の通 常の「プレースアンドルート」プロセスのような技術を用いることは、ディジタ ル論理シミュレーション/エミュレーションシステム20が一つのシミュレーシ ョン/エミュレーションを実行できるようになる前に、多数のFPGAを、それ を1ダースも、或いは半ダースでも、構成しなければならないとしたら、煩雑す ぎて、到底実施不能である。したがって、本発明の好ましい実施例は、上記従来 技術を置き換える高速(迅速)データ決定を採用する。即ち、構成可能ロジック IC36a及び36bに含まれる刺激/−反応セル72、シフトレジスタリンク 74、ステートマシーン76、タイミング発生器78及びタイミング信号バス8 2を設定・確立するFPGA構成データを、ものの何秒かで、急速に決定する技 術である。 従来の「プレースアンドルート」コンピュータプログラムを用いずに構成可能 ロジックIC36a及び36bの構成データを決定するため、ディジタル論理シ ミュレーション/エミュレーションシステム20は、図1に示された構成可能論 理セルライブラリー232を具備する。構成可能論理セルライブラリー232は 、構成可能ロジックIC36a及び36bに含まれる数個の構成可能論理セルの 所定相互接続を、刺激/反応セルの各異なる型に対して、特定する、一組の構成 データを他のデータと共に記憶する。構成可能論理セルライブラリー232は別 個のファイルに、構成データが構成可能論理セルライブラリー232内に存在す る、刺激/反応セル72の異なる型のリストも記憶する。構成データが構成可能 論理 セルライブラリー内に存在する、刺激/反応セル72の異なる型のこのリストは 、新しい型の刺激/反応セル72を、構成可能論理セルライブラリー232が既 に特定したものに追加するのを容易にする。矢持する234により示されている ように、構成可能ロジックIC36a及び36bに負荷されるべき構成データを 特定し、コンパイルするのに用いるため、構成可能論理セルライブラリー232 から構成データを含むデータを構成可能ロジック仕様プロセス224が検索する 。 構成可能論理セルライブラリー232から検索された特定の型の刺激/反応セ ル72に対する一組の構成データを構成可能ロジックIC36a又は36bに負 荷すると、予め設定された構成データが、図16に示された数個の構成可能論理 セル236を相互接続して、その刺激/反応セル72に対して特定されたディジ タル論理機能を実行する出来たる論理回路を形成する。構成可能論理セルライブ ラリー232はまた、構成可能ロジックIC36a又は36bに負荷されるとス テートマシーン76、タイミング発生器78及びタイミング信号バス82を設定 ・確立する、所定複数セットの構成可能論理セル236の所定セット数を記憶す る。構成可能論理セルライブラリー232に記憶される所定複数セットの構成デ ータは全て、構成可能ロジックIC36a又は36b全体のデータが、単に構成 可能ロジックIC36a又は36bの全体に亘る特定箇所に、構成可能論理セル ライブラリー232から検索された種々のセットの構成データを割り当てること によって、決定されるように配置される。 数個の異なる型の刺激/反応セル72に対する所定構成データは、一対の刺激 /反応セル72を対向(並列)すると、セルの型に拘らず、対向刺激/反応セル 対間に、シフトレジスタリンク74とシフトパルス信号線146の両方を含む信 号経路238が設定・確立されるように、配置される。対向刺激/反応セル72 の各対に有るシフトパルス信号線146により、シフトパルスデータ信号を両刺 激/反応セル72を通して、上記対の刺激/反応セルの一方の側で対向する、一 刺激/反応セル72に送信する信号経路が提供される。前述のように、信号経路 238は、各対の対向刺激/反応セル72を相互接続してシフトレジスタを形成 する。 図16に示されているように、横に2個縦に8個のセルで構成されるAT60 05構成可能論理セル236の矩形アレイを、各刺激/反応セル72が占める。 三つのI/Oライン242は構成可能論理セル236の2x8アレイを直接、プ ログラマブル入力セル244とプログラマブル出力セル246に接続する。プロ グラマブル入力セル244とプログラマブル出力セル246は図5〜9に示され た入力バッファー増幅器152と出力バッファー増幅器172をそれぞれ構成す る。刺激/反応セル72の各々に含まれる少なくとも一つの構成可能論理セルが タイミング信号バス82に接続していれば良いので、AT6005の対称マトリ ックスの何れかのコーナーに有るピンの幾つかから刺激/反応セル72が除かれ ている。一般に、AT6005の各コーナーに有る8個のピンがトレース42に 接続していない。 図16はまた、ディジタルロジックICのピンに接続しないトレース42に対 する構成可能ロジックIC36a又は36bの構成を示す。トレース42が刺激 /反応セル72に連結していない場合、1刺激/反応セル72に対するシフトレ ジスタリンク74とシフトパルス信号線146を構成データが、内在的にAT6 005に含まれるブッシングネットワークを介して次の刺激/反応セル72に接 続する。茲に参照により挿入されるAtmel出版物「AT6005ビットスト リーム仕様」はが、FPGA構成データファイル216a〜216gに記憶され る構成データのフォーマットを記載している。 教示的理由で、これまでは構成可能ロジックIC36a及び36bの記載は好 ましい実施例から少々単純化されていた。即ち、構成可能ロジックIC36a及 び36bの周りを連続して延びる単一の一体シフトレジスタで編成されず、構成 可能ロジックIC36a及び36bに負荷される構成データは4個の独立したシ フトレジスタを、その一つが図17に示されているように構成可能ロジックIC 36a及び36bの各縁に沿って位置するように、設定・確立する。刺激/反応 セル72を別個のシフトレジスタ4個に割り当てることにより、構成可能ロジッ クIC36a及び36bの構成可能論理セル236に対する刺激/反応セル72 の割当が簡単になると共に、ビットスライス刺激制御データを構成可能ロジック 36a及び36bに負荷し、後者からビットスライス反応データを検索するのに 要する時間が短縮される。更に、AT6005の対称マトリックスの各コーナー に位置するピンの幾つかが刺激/反応セル72に用いられないから、かかるピン は各シフトレジスタの入出力に、また制御信号をステートマシーン76に出入り させるのに用いられていない。 シミュレーションモジュール214とFPGA構成データファイル216a〜 216gをコンパイルするに際して、構成可能論理仕様プロセス224は、構成 可能論理セルライブラリー232に含まれ、ハードウェアポッド32のソフトウ ェア記述を提供するファイルを用いる。構成可能論理仕様プロセスがハードウェ アポッド32のソフトウェア記述を参照することにより、ディジタル論理シミュ レーション/エミュレーションシステム20は異なる構造のハードウェアポッド 32でも動作するように容易に適合される。刺激制御データの負荷と反応データの検索 前記のように、ビットスライス刺激制御データの長さを、刺激/反応セル72 が相互シフトレジスタリンク74により相互接続され、シフトレジスタを形成す る型とシーケンスを知らずに設定・確立又は確認することはできない。一般に、 各構成可能ロジックIC36a又は36b内の4個のシフトレジスタの各々の長 さは異なり、4シフトレジスタ長は構成可能ロジックIC36aと36bの間で 異なる。図18は、構成可能ロジックIC36a及び36bの各内部のシフトレ ジスタの中の異なる長さを示す。図18aの例示では、構成可能ロジックIC3 6a及び36bの各々に含まれる全4シフトレジスタ(a−b)に対するビット スライス刺激制御データ252のそれぞれの長さが、実線の矩形ボックスで示さ れている。 CPU44からのビットスライス刺激制御データ252(図18a、矢印25 4)が構成可能ロジックIC36a及び36bに向けて(矢印265a及び25 6b)送信されるとき、ディジタル論理シミュレーション/エミュレーションシ ステム20は、4個のシフトレジスタを形成するデータの異なる長さを適切に負 荷できる構成可能ロジックIC36a及び36b内でディジタル論理を用いよう とするよりは寧ろ、CPU44が実行するコンピュータプログラムをして、構成 可能ロジックIC36a及び36bに、要すれば図18aでビットスライス刺激 制御データ252の右側に延びる破線258で表示の付加的・無関係データが前 書きされた、ビットスライス刺激制御データ252を提供せしめる。このように ビットスライス刺激制御データ252の各々に前書きされたデータは、短いビッ トスライス刺激制御データの長さを延ばし、最長のビットスライス刺激制御デー タ252の長さと等しくする。有意のビットスライス刺激制御データ252の前 に無関係なデータが有るので、この無関係なデータは、相互接続された刺激/反 応セル72により設定・確立される短いシフトレジスタから完全に流出される。 斯くして、構成可能ロジックIC36a及び36bに全ビットスライス刺激制御 データ252が負荷されると、各ビットスライス刺激制御データ252はそのシ フトレジスタ内に適切に位置付けられる。 図18bは、構成可能ロジックIC36a及び36bに有る種々の長さのシフ トレジスタから反応データを検索するところを示す。構成可能ロジックIC36 a及び36bからビットスライス応答データ262(図18b、矢印264a及 び264b)がCPU44に(18b、266)送信される間、CPU44によ り実行されるコンピュータプログラムは両構成可能ロジックIC36a及び36 b内の全シフトレジスタから同一量のデータを検索する。しかしながら、CPU 44により実行されるコンピュータプログラムは短い方のシフトレジスタに対し て始めに検索されたビットスライス反応データのみを保持する。18b中、ビッ トスライス反応データ262から左に延びる破線268により表示されているよ うに、CPU44により実行されるコンピュータプログラムは、シフトレジスタ 長を越える、シフトレジスタから検索された全データを棄却する。 教示的理由で、これまではハードウェアポッド32の記載は好ましい実施例か ら少々単純化されていた。図1に示されたハードウェアポッド32は二つの構成 可能ロジックIC36a及び36bのみを示すが、CPU44が32ビットデー タワードをもつ場合、ハードウェアポッド32は好ましくは7.5個までのAT 6005 FPGAを用いることができる。CPU44がこれより長いデータワ ードをもつ場合、ハードウェアポッド32は都合良くもっと多くのFPGAを含 むことができる。例えば、CPU44が64ビットデータワードをもつと、ハー ドウェアポッド32は、ディジタル論理シミュレーション/エミュレーションシ ステム20の性能を損なわずに、15.5個までのAT6005 FPGAを含 むことができる。 ハードウェアポッド32に含み得るFPGAの数に関する上記の限定は、CP U44と構成可能ロジックIC36a及び36bがビットスライス刺激制御デー タとビットスライス応答データ262を交換する方法から生ずる。ビットスライ ス刺激制御データ252を構成可能ロジックIC36a及び36bに送信するす るに際し、CPU44により実行されるコンピュータプログラムは全シフトレジ スタに対する斯くビットスライス刺激制御データ252から1ビットを図19に 示された単一32ビットコンピュータデータワード272に割り当てる。各構成 可能ロジックIC36内のステートマシーン76の動作を結集するデータに対し 、2制御ビットが残しおかれる。データワード272中の残る30ビットの各々 は、ビットスライス刺激制御データ252の一つに割り当てるのに用いることが できる。 再び図17に関し、図18aの図示にしたがって逐次データワード272を構 成可能ロジックICに送信するに際し、CPU44により実行されるコンピュー タプログラムは制御ビット247をCPU44内の一対の広域FIFO276a 及び276bに記憶する。制御データを広域FIFO276a及び276bに負 荷するのと同時に、データワード272中の残る30ビットは、図1及び2に示 された刺激/反応データバス278を介して、図19に示されたような4ビット 群で、各構成可能ロジックIC36に分散される。各構成可能ロジックIC36 において、群282の各ビットは図17に占めされた入力FIFO284に入る 。各入力FIFO284の出力端子は、構成可能ロジックIC36に負荷される 構成データが形成するシフトレジスタの一つの入力に接続する。 CPU44内に位置する広域動作モードFIFO276aは、動作モードビッ トを、制御信号バス内の動作モード信号線286を介して、全構成可能ロジック IC36内の各ステートマシーンに送信する。動作モードビットの一状態がステ ートマシーン76を、相互接続刺激/反応セル72が形成するシフトレジスタに 沿ってシフトさせる。動作モードビットの他の状態がステートマシーン76をし て、その時シフトレジスタに有るビットスライス刺激制御データに対し、刺激反 応サイクルを実行させる。 広域動作モードFIFO276aが全ステートマシーン76に供給する制御ビ ット274の一つを受信することに加え、広域動作モードFIFO276aは、 広域動作モードFIFO276aの「ナル」(空の)端子に有る信号を、2入力 端子ORゲート292の入力端子に供給する。ORゲート292の出力端子は、 2入力端子ANDゲート294の入力端子に接続する。ANDゲートの第二の入 力端子は、出力FIFO296の「フル」(満)出力端子に接続する。制御信号 バス288内のFIFOレディ信号線29は、ANDゲート294の出力端子を 、全構成可能ロジックIC36内のステートマシーン76に連結する。 CPU44により実行されるコンピュータプログラムが広域動作モードFIF O276aにデータを記憶し、各構成可能ロジックIC36内のステートマシー ン76にビットスライス刺激制御データ252をシフトレジスタにシフトするよ うに命ずると、ステートマシーン76は信号を、FIFO作動信号線302を介 して入力FIF0284に、且つ信号経路238内のシフトパルス信号線146 を介して刺激/反応セル72に送信する。これにより、ビットスライス刺激制御 データ252のビットが入力FIFO284からシフトレジスタに転送され、入 力FIFO284内のデータがFIFO内で一位置前進する。ハードウェアポッ ド32内の構成可能ロジックIC36の一つがまた、FIFO作動信号線302 上に有る信号を広域FIF0276a及び276bに供給し、これがFIFO2 76a及び276bに有るデータを一位置前進させる。 CPU44により実行されるコンピュータプログラムが広域動作モードFIF O276aにデータを置き、ステートマシーン76にビットスライス刺激制御デ ータ252をシフトレジスタに転送するように命じるときはいつでも、同コンピ ュータプログラムははまたリセットFIFO276bに、制御信号バス288内 の出力FIFOリセット信号線304を介して全出力FIFO296のリセット 入力端子に送られるデータも置く。こうして、相互接続刺激/反応セル72が形 成するシフトレジスタにビットスライス制御データ252が負荷される間、出力 FIFO296は完全にディスエーブルとなり、出力FIFO296の出力端子 はトライステートとなる。 制御ビット274は、ビットスライス刺激制御データ252を含む最終データ ワード272の直ぐ後、データワード272にFIFO276a及び276bに 負荷され、全出力FIFO296からリセット信号を除去し、全構成可能ロジッ クIC36内のステートマシーン76に刺激−反応サイクルを実行させる。刺激 −反応サイクルが終わると、CPU44はシフト反応データ信号をORゲート2 92の第二の入力に供給し、構成可能ロジックIC36からそれぞれの出力FI FO296にビットスライス反応データ262がシフトされるのを開始する。シ フト反応データ信号が送信されると、各ステートマシーン76は信号経路238 内のシフトパルス信号線146を介して刺激/反応セル72へ、及びFIFO作 動信号線302を介して出力FIFO296への、ビットスライス反応データ2 62をシフトレジスタから出力FIFO296にシフトする信号の送信を開始す る。 構成可能ロジックIC36はビットスライス反応データ262を出力FIFO 296に負荷した後、図18bに示されているように、CPU44により実行さ れるコンピュータプログラムはビットスライス反応データ262を出力FIFO 296から刺激/反応データバス278を介して検索する。出力FIFO296 からビットスライス反応データ262の逐次データワード272を検索するため に、CPU44により実行されるコンピュータプログラムは読み取り信号を、制 御信号バス288内の読み取り出力FIFO信号線308を介して全出力FIF 0296に送信する。コンピュータプログラムが出力FIF0296から逐次デ ータワードを検索するに従い、出力FIFO296内のビットスライス反応デー タ262は前進し、CPU44により実行されるコンピュータプログラムが最長 のビットスライス反応データ262を組み立てる全ビットの検索を終えるまで、 このように創生されたスペースをステートマシーン76はシフトレジスタからの より多いビットスライス反応データ262で満たす。 図17には唯1ビット幅のFIFO276a及び276bが示されているが、 ハードウェアポッド32の好ましい実施例は、FIFO276a及び276bと して、4x1/2ビット幅のFIFO ICを用いる。同様に、各構成可能ロジ ックIC36に、一個の4ビット幅入力FIFO284と一個の4ビット幅出力 FIFO284を付髄させている。ソフトウェアの記述 ディジタル論理シミュレーション/エミュレーションシステム20の好ましい 実施例においては、数個の異なるコンピュータプログラムが同時に動作する。こ れ等のプログラムの少なくとも一つ、即ちシミュレーションプログラムは、ディ ジタルコンピュータ24により実行されなければならない。他のコンピュータプ ログラムは、ディジタルコンピュータ24でも、ディジタルコンピュータ24が イーサネット・ケーブルを介して通信できる他のコンピュータによって実行され ても良い。更に他のコンピュータプログラムは、ハードウェアポッド32のCP U44により実行されなければならない。GUIコンピュータプログラムを除く 全コンピュータプログラムは、周知のCプログラミング言語で書かれる。GUI コンピータプログラム226は、これも周知のビジュアルC++プログラミング 言語で書かれる。ディジタルコンピュータ24により実行されるコンピュータプ ログラムは、アメリカ合衆国カリフォルニア州マウンテンビューのサンマイクロ システムズ・インク(Sun Microsystems,Inc.)が製造するスパークステーション (SparcStation)作業端末で実行される。CPU44により実行されるコンピュー タプログラムは、インテグレーテテッド・デバイス・テクノロジー・インク(Int egrated Device Technology,Inc.)のR4640RISCマイクロプロセッサで 実行される。本発明の代替的等価実施例として他の種々のプログラミング言語及 び/又はディジタルコンピュータを用い得ることは、当業者に極めて明白である 。 図22は、シミュレーションプロセス22とディジタルコンピュータ24によ り実行される他のコンピュータプログラム、又はディジタルコンピュータ24が イーサネットケーブル66を介して通信できる他のコンピュータにより実行され る他のコンピュータプログラムとの間、及びシミュレーションプロセス22とC PU44との間で行われるトランザクションを示すソフトウェア構造図である。 即ち、図22中、二頭矢印404で表示されているように、シミュレーションプ ロセス22は先ずデモン・ステートマシーン76と通信し、シミュレーションプ ロセス22の存在を記録し、次いでシミュレーションプロセス22が次にシミュ レーション制御データと反応データを交換するハードウェアポッド32を割り 当てる。ディジタル論理システムのモデル化の間、シミュレーションプロセス2 2は管理及び状態データを二頭矢印406のようにデモン・ステートマシーン7 6と交換し、一頭矢印408のように誤差をデモン・ステートマシーン402に 報告する。前記のように、図22の二頭矢印412は、シミュレーションプロセ ス22とハードウェアポッド414の間でハードウェアポッド32内CPU44 により実行されるコンピュータプログラムが為す刺激制御データと反応データの 交換を表す。 デモン・ステートマシーン402とシミュレーションプロセス22との間で行 われるトランザクションに加え、二頭矢印のように、デモン・ステートマシーン 402はまたハードウェアポッドステートマシーン414から記録データを受け 取り、構成データをハードウェアポッドステートマシーン414に供給する。デ ィジタル論理システムのモデル化の間、デモン・ステートマシーン402とハー ドウェアポッドステートマシーン414は、二頭矢印424のように管理及び状 態データを交換し、一頭矢印426にようにハードウェアポッドステートマシー ン414が誤差をデモン・ステートマシーン402も報告する。 デモン・ステートマシーン402はまた、一頭矢印434のように管理者(管 理)ステートマシーン432を記録する。記録後、一頭矢印436のようにデモ ン・ステートマシーン402と管理ステートマシーン432は状態及び命令メッ セージを交換し、ディジタル論理シミュレーション/エミュレーションシステム 20のユーザーがシミュレーション/エミュレーションと対話し、これを制御で きるようにする。一頭矢印438が表示するようにデモン・ステートマシーン4 02はまたエラーメッセージを管理ステートマシーン432に送り、ディジタル 論理シミュレーション/エミュレーションシステム20のユーザーに呈示させる 。 図22には唯1個のシミュレーションプロセス22と唯1個のハードウェアポ ッドステートマシーン414が示されているが、ディジタル論理シミュレーショ ン/エミュレーションシステム20は同時に、各々がハードウェアポッド32の CPU44により実行される多数のハードウェアポッドステートマシーン414 とハードウェアポッド32と同数までのシミュレーションプロセス22を含んで も良い。ディジタル論理シミュレーション/エミュレーションシステム20は数 個の管理ステートマシーン432を含むこともできる。 ディジタル論理システムのモデル化では、実行を開始する第一のプロセスは図 23に詳細に示されたデモン・ステートマシーン402である。デモン・ステー トマシーン402の唯一のコビーで、いつでも、イーサネットケーブル66に接 続されたコンピュータネットワーク上の何処でも、実行が可能である。実行を開 始すると、デモン・ステートマシーン402は始めに、処理プロック442で表 示されたアイドル状態に入る。通常先ず管理ステートマシーン432から記録の 請求を受けると、処理ブロック444でデモン・ステートマシーン402はこの プロセスを記録し、次いでこのように記録されたプロセスと通信する適切なデモ ンプロセスを開始する。ハードウェアポッド・ステートマシーン414を記録す るプロセスの一部として、デモン・ステートマシーン402は、デモン・ステー トマシーン402をイーサネットケーブル66と通信させるハードウェアポッド 32のリストを作成(コンパイル)する。このハードウェアポッド32のリスト にデモン・ステートマシーン402は、トランザクションをシミュレーションプ ロセス22、ハードウェアポッド・ステートマシーン414及び一つ又は複数の 管理ステートマシーン432で適切に処理するためにデモン・ステートマシーン が必要とする全情報を記憶する。図23に示されているように、記録処理ブロッ ク4445はデモン管理者(管理)有限ステートマシーン(FSM)446、デ モン・アプリケーション管理FSM446又はデモンハードウェアポッドFSM 452を開始しても良い。デモン管理FSM446、デモン・アプリケーション FSM及びデモンハードウェアポッドFSM452は図23では独立プロセスと して示されているが、これ等は全て、いつでも一部が実行中で、その一部は他の 何れか一部が実行を開始する前に、実行を終える共通なコンピュータプログラム の一部として実施されるものである。 管理(者)ステートマシーン432 実行を開始すると、図24に示されているように管理ステートマシーン432 は処理ブロック462で表示されたアイドル状態に入る。処理ブロック462の アイドル状態から、管理ステートマシーン432は処理ブロック464に入り、 記録メッセージをデモンステートマシーン402に送る。デモンステートマシー ン402は処理ブロック444でこの記録メッセージに応答するが、これを図2 5に示されたデモン管理FSM446の動作を開始して行う。デモン管理FSM は処理ブロック466で実行を開始し、記録確認メッセージを管理ステートマシ ーン432に送り返す。管理ステートマシーン432は処理ブロック468でデ モン管理FSM446が送る記録確認メッセージを受け取り、次いで処理ブロッ ク472で直ちにレディ状態に入る。これに対応して、デモン管理FSM446 は処理ブロック466で記録確認メッセージを送った後、レディ状態に入る。 処理ブロック472のレディ状態から、管理ステートマシーン432は処理ブ ロック482で状況要請をデモン管理FSM446に送ることができる。状況要 請メッセージを受け取ると、デモン管理FSM446は処理ブロック474でレ ディ状態を出、処理ブロック484に入って状況要請メッセージを処理する。デ モン管理FSM446は処理ブロック492で、要請された状況情報を含む状況 確認メッセージを管理ステートマシーン432に送り、次いで処理ブロック47 4でレディ状態に再び入る。管理ステートマシーン432は処理ブロック496 で状況確認メッセージを受け取り、次いで処理ブロック498で状況情報をディ ジタル論理シミュレーション/エミュレーションシステム20のユーザーに表示 し、次いで処理ブロック472でレディ状態に再び入る。 処理ブロック474のレディ状態から、デモン管理FSM446は処理ブロッ ク502でエラー報告を管理ステートマシーン132に送ることができる。エラ ーメッセージを受け取ると、管理ステートマシーン432は処理ブロック472 でレディ状態を出、処理ブロック504に入ってエラー報告メッセージを処理す る。管理ステートマシーン432は次いで処理ブロック506に入り、エラーメ ッセージ確認メッセージをデモン管理FSM446に送り返す。デモン管理FS M446は処理ブロック508でエラーメッセージ確認メッセージを受け取り、 次いで処理ブロック474でレディ状態に再び人る。エラーメッセージを受け取 りを確認した後、管理ステートマシーン432は処理ブロック512でエラー情 報をディジタル論理シミュレーション/エミュレーションシステム20のユーザ ーに表示し、次いで処理ブロック472でレディ状態に再び入る。 処理ブロック472のレディ状態から、管理ステートマシーン432は処理ブ ロック522でディジタル論理シミュレーション/エミュレーションシステム2 0を制御する指令メッセージを送る。指令メッセージを受け取ると、デモン管理 FSM446は処理ブロック474でレディ状態を出、処理ブロック524に入 り、指令を処理する。管理ステートマシーン432から受け取った指令が局所効 果以上の効果をもつ、例えばシミュレーションプロセス22及び/又はハードウ ェアポッドステートマシーン414に係わるものであれば、デモン管理FSM4 46は次いで処理ブロック526に入り、適切な指令メッセージをシミュレーシ ョンプロセス22及び/又はハードウェアぽっどステートマシーン414に送る 。デモン管理FSM446は次いで処理ブロック528に入り、シミュレーショ ンプロセス22及び/又はハードウェアポッドステートマシーン414から指令 確認メッセージを受け取る。この指令確認メッセージを受け取った後、デモン管 理FSM446は処理ブロック532で指令確認メッセージを管理ステートマシ ーン432に送り返す。管理ステートマシーン432から受け取った指令が局所 効果のみをもつ、即ちデモンステートマシーン402に影響するのみのものであ れば、デモン管理FSM446は処理ブロック526と処理ブロック528をバ イパスし、直ちに処理ブロック532に入る。指令確認メッセージを送った後、 デモン管理FSM446は処理ブロック474で再びレディ状態に入る。管理ス テートマシーン432は処理ブロック534でデモン管理FSM446から指令 確認メッセージを受け取り、次いで処理ブロック536で指令情報をディジタル 論理シミュレーション/エミュレーションシステム20のユーザーに表示し、次 いで処理ブロック472で再びレディ状態に入る。尚、管理ステートマシーン4 32からの指令メッセージの処理の前に、管理ステートマシーン432からの状 況要請メッセージへの応答は終わってい、且つデモン管理FSM446は処理ブ ロック474でレディ状態に戻っていなければならず、その逆も満たされねばな らない。ハードウェアポッドステートマシーン414 実行を開始したら、図26aに示されているように、ハードウェアポッドステ ートマシーン414は先ず、ブロック542で表示されたアイドル状態に入る。 処理ブロック542のアイドル状態から、ハードウェアポッドステートマシーン 414は処理ブロック544に入り、記録メッセージをデモンステートマシーン 402に送る。デモンステートマシーン402は処理ブロック444でこの記録 メッセージに応答するが、これは図27に示されたデモンハードウェアポッドF SM452の動作を開始して行う。デモンハードウェアポッドFSM452は実 行を開始して、ハードウェアポッド32をハードウェアポッドリストに付加する プロセスを開始する。ハードウェアポッド32をハードウェアポッドリストに付 加するプロセスは処理ブロック552で始まり、ハードウェアポッド32にポー トを割り当てるハードウェアポッドステートマシーン414にデモンハードウェ アポッドFSM452が信号を送る。ハードウェアポッドステートマシーン41 4は処理ブロック554でポート割当を受信し、次いで処理ブロック546でハ ードウェアポッド32のモデル識別番号を送信する。デモンハードウェアポッド FSM452は処理ブロック558でハードウェアポッド32のモデル識別番号 をハードウェアポッドステートマシーン414から受け取る。モデル識別番号を デモンハードウェアポッドFSM452に供給することにより、ハードウェアポ ッド32の異なるモデルをイーサネットケーブル66に同時に接続することがで き、刺激制御データと反応データを同時に異なるシミュレーションプロセスで交 換することができる。 モデル識別番号を受け取ったデモンハードウェアポッドFSM452は処理ブ ロック562で、ロジック構成ライブラリー86に記憶されたピン分散(分布) ファイルにアクセスし、ピン分散ファイル内のデータをハードウェアポッドステ ートマシーン414に送る。ピン分散ファイル中の各記録は、ICソケット34 のICピンレセプタクル38を記述し、ICピンレセプタクル38の座標、その ICピンレセプタクル38に付いて具現されるべき刺激/反応セル及びそのIC ピンレセプタクル38に嵌合するピンの名称を含む。したがって、処理ブロック 562、564、566及び568で、デモンハードウェアポッドFSM452 はピンレセプタクルデータの逐次アイテムを繰り返しハードウェアポッドステー トマシーン414に送り、そのデータの受け取りを確認するデモンハードウェア ポッドFSM452にハードウェアポッドステートマシーン414はメッセージ を送り、このデモンハードウェアポッドFSM452がその確認を受け取る。処 理ブロック568で確認を受け取った後、未送データがピン分散ファイルに残っ ていれば、デモンハードウェアポッドFSM452は処理ブロック562に戻っ て、ピン分散データファイルの最終に達するまでピン分散データを送り続ける。 全ピン分散データを受け取ると、ハードウェアポッドステートマシーン414 は処理ブロック572で、以下に詳細に記載されるように、ICソケット34の ピンレセプタクル38に供給される電力のチェックと、構成可能ロジックICか らの電力テスト応答データの検索に用いられるテーブルを作成(コンパイル)す る。ハードウェアポッドステートマシーン414がIC電力チェック用テーブル を組み立てた後、デモンハードウェアポッドFSM452は処理ブロック582 で、電力テスト構成ビットストリームを含むロジック構成ライブラリー86内の ファイルにアクセスし、電力テスト構成ビットストリームファイル内のデータを ハードウェアポッドステートマシーン414に送る。したがって、処理ブロック 582、584、586及び588でデモンハードウェアポッドFSM452は 電力テスト構成ビットストリームデータの逐次アイテムを繰り返しハードウェア ポッドステートマシーン414に送り、そのデータの受け取りを確認するデモン ハードウェアポッドFSM452にハードウェアポッドステートマシーン414 はメッセージを送り、デモンハードウェアポッド452がその確認を受け取る。 処理ブロック588で確認を受け取った後、未送データが電力テスト構成ビット ストリームファイルに残っていれば、デモンハードウェアポッドFSM452は 処理ブロック582に戻って、電力テスト構成ビットストリームデータファイル の最終に達するまで、かかるデータの送信を続ける。全電力テスト構成ビットス トリームデータを受け取った後、ハードウェアポッドステートマシーン414は 処理ブロック590で電力テスト構成ビットストリームデータを構成可能ロジッ クIC36に付加し、ICソケット34への電力の接続をチェックする。 ICソケット34への電力の接続をチェックした後、ハードウェアポッドステ ートマシーン414は処理ブロック592で、刺激制御データの構成可能ロジッ クIC36a及び36bへの負荷と、構成可能ロジックIC36a及び36bか らの反応データの検索に用いられるテーブルを作成(コンパイル)する。ハード ウェアポッドステートマシーン414がこれ等のテーブルを組み立てた後、デモ ンハードウェアポッドFSM452は処理ブロック602で、構成データビット ストリームを含むロジック構成ライブラリー86内のファイルにアクセスし、構 成データビットストリームファイル内のデータをハードウェアポッドステートマ シーン414に送る。したがって、処理ブロック602、604、606及び6 08でデモンハードウェアポッドFSM452は構成データビットストリームの 逐次アイテムを繰り返しハードウェアポッドステートマシーン414に送り、そ のデータの受け取りを確認するデモンハードウェアポッドFSM452にハード ウェアポッドステートマシーン414はメッセージを送り、デモンハードウェア ポッドFSM452がその確認を受け取る。処理ブロック608で確認を受け取 った後、未送データが構成データビットストリームファイルに残っていれば、デ モンハードウェアポッドFSM452は処理ブロック602に戻って、構成デー タビットストリームファイルの最終に達するまで、構成データビットストリーム の送信を続ける。全構成データを受け取った後、ハードウェアポッドステートマ シーン414は処理ブロック610で構成データビットストリームを構成可能ロ ジックICに負荷し、構成可能ロジックICを構成して刺激−反応サイクルを行 う。 上記のように、ハードウェアポッドステートマシーン414はピン構成データ を用いて、電力チェック用テーブルを作成し、刺激−反応サイクルを行う。ハー ドウェアポッドステートマシーン414はピン構成データを用いて、2対の変換 (翻訳)テーブル、即ち電力チェック用の一対と、刺激−反応サイクル用の他の 対のテーブルを設定・確立する。各対の変換テーブルの中一方のテーブルは、ハ ードウェアポッド32が受け取ったビットスライストデータ又はビットスライス 刺激−制御データ252の何れかをシフトレジスタに負荷する前に、かかるデー タをマトリックスに負荷する仕方をそれぞれ特定する。各対の変換テーブルの中 一方のテーブルは、ビットスライス電力テスト結果データ又はビットスライス反 応データ262の何れかがシフトレジスタから検索されたら、かかるデータをハ ードウェアポッド32から送信のため、マトリックスから抜き出す仕方を特定す る。刺激−お反応サイクルに用いられるマトリックスは、図18a及び18bに 示され、上に述べられたものである。即ち、刺激−反応サイクルに用いあっれる マトリックス内の前列は長さが最長のシフトレジスタに等しいものであり、マト リックス内の列数はハードウェアポッド32内の構成可能ロジックIC36の数 の4倍に等しい。電力テストに用いられるマトリックスは刺激−反応サイクルに 用いられるマトリックスと列数は等しいが、各列の長さは電力テストに要する最 長シフトレジスタの長さに等しい。 全構成可能データビットストリームをハードウェアポッドステートマシーン4 14に送信した後、デモンハードウェアポッドFSM452は処理ブロック61 2で、ハードウェアポッド32をハードウェアポッドリストに加えて、その実行 を完了する。処理ブロック610で構成可能ロジックIC36を構成データビッ トストリームで負荷して刺激−反応サイクルを実行した後、ハードウェアポッド ステートマシーン414は、図26bに示された処理ブロック614でレディ状 態に入る。処理ブロック614でレディ状態に入った後、ハードウェアポッドス テートマシーン414は、図22で二頭矢印412で表示されているように、シ ミュレーションプロセス22からの刺激−反応制御データに応答し、反応データ をシミュレーションプロセス22に戻すサーバーとして機能する。図22に二頭 矢印424により表示されたように、ハードウェアポッドステートマシーン41 4、管理及び状況データを交換するデモンステートマシーン402のサーバーと して、また一頭矢印426により表示されたエラーメッセージを送るデモンステ ートマシーン402のクライアントとしても機能する。 図2bに示されているように、ハードウェアポッドステートマシーン414は 処理ブロック614でレディー状態に入り種々の異なる機能を果たす。シミュレ ーション又はエミュレーションを実行するに、ハードウェアポッドステートマシ ーン414は二つの代替モードの何れでもで動作することができる。「エンゲー ジ」と呼ばれる第一のモードでは、ハードウェアポッドステートマシーン414 とシミュレーションプロセス22はシミュレーションプロセス22にサイクルロ ックして刺激データをハードウェアポッド32に送り、直ちにハードウェアポッ ド32から反応データを受け取る。ハードウェアポッドステートマシーン414 がエンゲージ動作モードで常に機能する可能性の高い場合は、ハードウェアポッ ド32がICソケット34に有るマイクロプロセッサを刺激し、且つその反応を シミュレーションプロセス22に返送する場合であろう。かかるシミュレーショ ンでは、シミュレーションプロセス22は多分、マイクロプロセッサに別の指令 かデータを取り込ませるメモリアクセスのアドレスを、マイクロプロセッサから 受け取るマイクロプロセッサ実行指令を提供して、マイクロプロセッサを刺激す る。 或いは、ハードウェアポッドステートマシーン414は「ディスエンゲージ」 と呼ばれる他の動作モードで動作することができる。この動作では、ハードウェ アポッド32はシミュレーションプロセス22に対し非サイクルロックで動作す る。ディスエンゲージモードで動作するハードウェアポッド32は、ハードウェ アポッド32とシミュレーションプロセス22の間で対話を要する事態が生じる まで、シミュレーションプロセス22の実行とは独立してディジタルロジックを 刺激する。ハードウェアポッドステートマシーン414がディスエンゲージ動作 モードで機能する可能性の高い場合は、シミュレーションプロセス22がある種 の入力/出力装置(I/O装置)を刺激し、且つハードウェアポッド32が刺激 を、マイクロプロセッサとプログラムメモリの両方が含まれる全マイクロプロセ ッサシステムに提供する場合であろう。マイクロプロセッサシステムとI/O装 置の独立動作では、シミュレーションはある点で同期化する必要があり、ハード ウェアポッドステートマシーン414上記のようなエンゲージモードと同様に動 作することを要する。シミュレーションがI/O装置をシミュレートするなら、 ハードウェアポッドステートマシーン414がエンゲージモードに入ることを要 する事態は、マイクロプロセッサシステムがデータを、シミュレーションプロセ ス22によりシミュレートされるI/O装置から読み取るか、かかるI/O装置 にデータを書き込む場合であろう。シミュレーションプロセス22とハードウェ アポッド32の同期化動作を要する事象の間以外では、シミュレーションプロセ ス22とハードウェアポッドステートマシーン414は互いに独立して動作する ことができる。ハードウェアポッドステートマシーン414がエンゲージモード で動作することを要する間の時間間隔が終了すると、ハードウェアポッドステー トマシーン414は、再びエンゲージモードでの動作を要する次の事象が生じる まで、ディスエンゲージモードの動作に戻る可能性が高い。 刺激/反応動作を実行するに際し、ハードウェアポッドステートマシーン41 4は処理ブロック614のレディ状態を出ると、決定ブロック622で、ハード ウェアポッド32がシミュレーションプロセス22からデータを受け取ったかど うかを決定する。ハードウェアポッド32がシミュレーションプロセス22から データを受け取っていれば、ハードウェアポッドステートマシーン414は処理 ブロック624シミュレーションプロセス22から受け取ったデータを得る。次 いでハードウェアポッドステートマシーン414は決定ブロック626で、ハー ドウェアポッドステートマシーン414がエンゲージモードで動作することをデ ータが特定しているかどうかを決定する。データがエンゲージモードで動作する ことを特定しなければ、ハードウェアポッドステートマシーン414は処理ブロ ック628でハードウェアポッド32に刺激−反応サイクルを実行させる。ハー ドウェアポッド32に刺激−反応サイクルを実行させた後、ハードウェアポッド ステートマシーン414は決定ブロック632で、それがエンゲージモードで、 或いはそれがディスエンゲージモードで動作しているかを査定する。ハードウェ アポッドステートマシーン414がディスエンゲージモードで動作していれば、 ハードウェアポッドステートマシーン414は決定ブロック634で、シミュレ ーションプロセス22がハードウェアポッド32から応答データを要するかを決 定する。ハードウェアポッドステートマシーン414ディスエンゲージモードで 動作し、且つシミュレーションプロセス22がハードウェアポッド32から反応 データを要しなければ、ハードウェアポッドステートマシーン414は処理ブロ ック614で直ちにレディ状態に再び入る。ハードウェアポッドステートマシー ン414がディスエンゲージモードで動作し、且つシミュレーションプロセス2 2がハードウェアポッド32から反応データを要すれば、或いはハードウェアポ ッドステートマシーン414がエンゲージモードで動作していれば、ハードウェ アポッドステートマシーン414は処理ブロックで、ハードウェアポッド32に 反応データをシミュレーションプロセス22に送り返す。反応データをシミュレ ーションプロセス22に送り返した後、ハードウェアポッドステートマシーン4 14は処理ブロック614で再びレディ状態に入る。 ハードウェアポッドステートマシーン414が決定ブロック622で、刺激デ ータは得られないことを決定したら、ハードウェアポッドステートマシーン41 4はそれがエンゲージモードで動作しているかを査定する。ハードウェアポッド ステートマシーンがエンゲージモードで動作していれば、ハードウェアポッドス テートマシーン414は直ちに決定ブロック642から決定ブロック622に戻 り、シミュレーションプロセス22からの次の刺激データの到着を待つ。決定ブ ロック642でハードウェアポッドステートマシーン414が、それがディスエ ンゲージモードで動作しているのを決定すれば、処理ブロック628に進み、刺 激−反応サイクルを実行する。 ハードウェアポッドステートマシーン414が処理ブロック624で、ハード ウェアポッドステートマシーン414にディスエンゲージモードに入らせる刺激 信号を得たら、ハードウェアポッドステートマシーン414は決定ブロック62 6でハードウェアポッドステートマシーン414がディスエンゲージモードに入 るべきことを確認したら、ハードウェアポッドステートマシーン414は処理ブ ロック652でディスエンゲージ確認メッセージをデモンステートマシーン40 2に送り、次いで次処理ブロック614で再びレディ状態に入る。 上記の刺激機能に加えて、ハードウェアポッドステートマシーン414は処理 ブロック614のレディ状態を出て種々の他の機能を果たすことができる。例え ば、ハードウェアポッドステートマシーン44は処理ブロック614のレディ状 態を出、デモンステートマシーン402からシミュレーションプロセス22の終 了を表す指令を受けて、処理ブロック662に入ることができる。その場合、ハ ードウェアポッドステートマシーン414は処理ブロック664で、シミュレー ション確認メッセージをデモンステートマシーン402に送り、次いで処理ブロ ック614で再びレディ状態に入る。或いは、ハードウェアポッドステートマシ ーン414は処理ブロックのレディ状態を出、デモンステートマシーン402か ら、シミュレーションプロセス22より状況情報を求める指令を受けて、処理ブ ロック672に入ることができる。その場合、ハードウェアポッドステートマシ ーン414は処理ブロック674で、状況情報と共に状況要請確認メッセージを デモンステートマシーン402に送り、次いで処理ブロック614で再びレディ 状態に入る。最後に、ハードウェアポッドステートマシーン414は処理ブロッ ク614のレディ状態に再び入り、ハードウェアポッドステートマシーン414 に特殊機能を実行することを命じる指令をデモンステートマシーン402又はシ ミュレーションプロセス22から受けて、処理ブロック682に入る。その場合 、ハードウェアポッドステートマシーン414は処理ブロック684で特殊機能 確認メッセージを送り、次いで処理ブロック614で再びレディ状態に入る。特 殊機能の一例は、コンピュータプログラムを、ハードウェアポッド32がシミュ レーションプロセス22から受け取る刺激制御信号に応答して後期刺激するマイ クロプロセッサ内の静的ランダムアクセスメモリ(SRAM)に、コンピュータ プログラムを負荷するものである。 シミュレーションプロセス・ステートマシーン702 シミュレーションプロセス22には、図28に示されたような、実行を開始す ると、処理ブロック704により表示されたアイドル状態に始めに入るシミュレ ーションプロセス・ステートマシーン702が含まれている。処理ブロック70 4のアイドル状態から、シミュレーションプロセス・ステートマシーン702は 処理ブロック706に入り、記録(登録)メッセージをデモンステートマシーン 402に送る。処理ブロック444で、図29に示されたデモンアプリケーショ ンFSMの動作を開始することにより、この登録メッセージに応答する。デモン アプリケーションFSM448は実行を開始して、シミュレーションプロセス2 2に、ハードウェアポッドリストから選ばれたハードウェアポッド32を割り当 て、処理ブロック712でレディ状態に直ちに入る。処理ブロック714でシミ ュレーションプロセス・ステートマシーン702は割り当てられるハードウェア ポッド32を受け取り、処理ブロック716で直ちにレディ状態に入る。シミュ レーションプロセス・ステートマシーン702は処理ブロック716でレディ状 態を出て、二つの異なる機能を実行、即ち割り当てられたハードウェアポッド3 2で刺激−反応サイクルを行い、或いはデモンステートマシーン402からの状 況要請に応答すことができるる。 シミュレーションプロセス22に実行中、割り当てられたハードウェアポッド 32で刺激−応答サイクルを実行するに際し、シミュレーションプロセス・ステ ートマシーン702は先ず、処理ブロック722で刺激−制御データをハードウ ェアポッド32に送る。刺激制御データをハードウェアポッド32に送った後、 シミュレーションプロセス・ステートマシーン702は処理ブロック724でハ ードウェアポッド32から反応データを受け取ることができる。上記のように、 刺激制御データをハードウェアポッド32に送ると、ハードウェアポッドステー トマシーン414は常にエンゲージング動作モードに入るので、シミュレーショ ンプロセス・ステートマシーン702が刺激制御データをハードウェアポッド3 2に送った後、シミュレーションプロセス22がディスエンゲージモードで動作 すべき場合、処理ブロック726に示されたように、シミュレーションステート マシーン702は直ちにディスエンゲージメッセージハードウェアポッド32に 直ちに送らねばならない。ディスエンゲージメッセージをハードウェアポッド3 2に送った後、シミュレーションプロセスステートマシーン702は処理ブロッ ク728で、ハードウェアポッドステートマシーン414の処理ブロック625 から送られるディスエンゲージ確認メッセージを受け取る。処理ブロック724 で反応データの受け取り、又は処理ブロック728でディスエンゲージ確認メッ セージの受け取りの後、シミュレーションプロセス・ステートマシーン702は 処理ブロック716でレディ状態に戻る。 図29の処理ブロック732に示されているように、デモンアプリケーション FSM448は状況要請をシミュレーションプロセスステートマシーン702に 送ることができる。シミュレーションプロセス・ステートマシーン702は処理 ブロック702でレディ状態を出て、処理ブロック734でステータス要請を受 け取る。シミュレーションプロセス・ステートマシーン702は処理ブロック7 36で、状況要請確認で状況データをデモンアプリケーションFSM448に送 り返し、次いで処理ブロック716で直ちにレディ状態に戻る。デモンステート マシーンFSM448は処理ブロック738でシミュレーションプロセス・ステ ートマシーン702からの状況確認を受け取り、処理ブロック712で直ちにレ ディ状態に戻る。 デモンアプリケーションFSM448はまたは処理ブロック712のレディ状 態を出て、処理ブロック742に入り、管理ステートマシーン432からシミュ レーション終了指令を受け取る。デモンアプリケーションFSM448は、処理 ブロック744でシミュレーション終了確認を管理ステートマシーン432に送 ってシミュレーション終了指令に応答し、次いで直ちに処理ブロック746でシ ミュレーションを終了する。 構成可能ロジック仕様プロセス224 図30は、構成可能ロジック仕様プロセス224の全体的例示を提供する決定 フローチャートである。構成可能ロジック仕様(特定化)プロセス224は処理 ブロック802で、上記のようにハードウェアポッド32のソフトウェア記述を 提供する構成可能論理ロジックセルライブラリー232に含まれるファイルの読 み取りから始まる。次いで、構成可能ロジック仕様プロセス224は処理ブロッ ク804で、ICソケット34に差し込まれるディジタル論理ICを記述したG UIコンピュータプログラム226を用いて作成されたファイルセット212の 一つを読み取る。これ等二つのファイルを読み込んだ後、構成可能ロジック仕様 プロセス224はブロック806で、図31に示され、以下に詳細に記載される 、サブルーチン呼び出し、上記二つのファイルから抽出されたデータを用い共通 データベースを構築する。共通データベースを構築した後、構成可能ロジック仕 様プロセス224はブロック808で、図32に示され、以下に詳細に記載され るサブルーチンを呼び出し、シミュレーションモジュール214を作成(コンパ イル)する。 シミュレーションモジュール214をコンパイルした後、構成可能ロジック仕 様プロセス224はブロック812でビットストリーム型インデックスをゼロに 初期化する。ビットストリーム型インデックスがゼロに等しくなる間、構成可能 ロジック仕様プロセスは224は、電力チェックに用いられる構成可能ロジック IC36a及び36bのビットストリームをコンパイルする。電力テスト構成ビ ットストリームをコンパイルした後、構成可能ロジックしようプロセス224は ビットストリームインデックスを1だけ増分し、次いで構成データビットストリ ームをコンパイルする。構成データビットストリームをコンパイルした後、構成 可能ロジック仕様プロセス224は再びビットストリームインデックスを1だけ 増分し、ビットストリームインデックスが2の値に達したら、構成可能ロジック 仕様プロセスの実行を終了する。 処理ブロック812でビットストリーム型インデックスをゼロに初期化した後 、構成可能ロジック仕様プロセス224は処理ブロック814で、ビットストリ ーム型インデックスが2に等しいかを検査する。ビットストリーム型インデック スが2に等しくなければ、構成可能ロジック仕様プロセス224は処理ブロック 816で、FPGA数インデックスをゼロに初期化する。次いで、構成可能ロジ ック仕様プロセス224は決定ブロック818で、FPGA数インデックスはハ ードウェアポッド32内の構成可能ロジックIC36の最大数に等しいかを決定 する。FPGA数インデックスがハードウェアポッド32内の構成可能ロジック IC36の最大数に等しくなければ、構成可能ロジック仕様プロセス224はブ ロック822で、図33に示され、以下に詳細に記載されるサブルーチンを呼び 出し、構成可能ロジックICビットストリームをコンパイルする。電力テスト構 成ビットストリーム又は構成データビットストリームの何れかを、ブロック82 2で呼びされたサブルーチンでコンパイルした後、構成可能ロジック仕様プロセ ス224は処理ブロック824でFPGA数インデックスを1だけ増分し、次い で決定ブロック818に戻って、FPGA数インデックスをハードウェアポッド 32内の構成可能ロジックIC36の最大数と比較する。 FPGA数インデックスがハードウェアポッド32内の構成可能ロジックIC 36の最大数に等しければ、構成可能ロジック仕様プロセス224はブロック8 32で、図34に示され、以下に詳細に記載されるサブルーチンを」呼び出し、 電力テスト構成ビットストリーム又は構成データビットストリームの何れかをマ ージし、電力テスト構成ビットストリームデータファイル又はFPGA構成デー タファイル216にそれぞれ記憶させる。電力テスト構成ビットストリーム又は 構成データビットストリームを電力テスト構成ビットストリームデータファイル 又はFPGA構成データファイル216にマージしたら、構成可能ロジック仕様 プロセス224は処理ブロック834でビットストリーム型インデックスを1だ け増分し、次いで決定ブロック814に戻って、再びビットストリーム型インデ ックスが2に等しいかを決定する。ビットストリーム型インデックスが2に等し ければ、構成可能ロジック仕様プロセス224は終了ブロック838で構成可能 ロジック仕様プロセスの実行を終了する。共通データベースの構築 図31は、ブロック806で構成可能ロジック仕様プロセス224により呼び 出された共通データベースを構築するサブルーチンを示す。共通データベース構 築サブルーチン806は処理ブロック842で、ICソケット34に含まれる各 ICピンレセプタクル38のデータを初期化する。各ICピンレセプタクルに付 き初期化されるデータは、ICピンレセプタクル38がトレース42により連結 される構成可能ロジックIC36、図17に関し既述ようにICピンレセプタク ル38が連結される構成可能ロジックIC36の縁部、及び図18a及び18b に関し既述の最大長シフトレジスタ内のICピンレセプタクル38の位置である 。全ICピンレセプタクル38のデータを初期化した後、共通データベース構築 サブルーチン806は処理ブロック844でICソケット34の第一のICピン レセプタクル38を選ぶ。決定ブロック846で共通データベース構築サブルー チン806は、処理クロック804でファイルセット212から読み出されたデ ィジタル論理システムデータに現在ICピンレセプタクル38があるかを検査す る。現ICピンレセプタクル38がファイルセット212内にあれば、処理ブロ ック848で共通データベース構築サブルーチン806は、現ICピンレセプタ クル38に対し特定された刺激−反応セル72を割り当て、FPGA構成データ 、FPGAプログラマブル入力セル244及びFPGAプログラマブル出力セル 246を割り当てる。次いで、共通データベース構築サブルーチン806は処理 ブロック852で、GUIコンピュータプログラムの実行中、図12、13及び 14に特定されたように、ファイルセット212から、現ICピンレセプタクル 38のハードウェアタイミングデータを抽出する。処理ブロック854で共通デ ータベース構築サブルーチン806は、GUIコンピュータプログラムの実行中 、図12、13及び14に特定されたファイルセット212から、現ICピンレ セプタクル38のシミュレーションタイミング情報を抽出する。次いで、共通デ ータベース構築サブルーチン806は処理ブロック856で、現ICピンレセプ タクル38に割り当てられた名称をファイルセット212から抽出する。処理ブ ロック858で共通データベース構築サブルーチン806は、用いられた現IC ピンレセプタクル38マーク読み取りし、処理ブロック848、852、85 4及び856で抽出されたデータを共通データベースに割り当てる。処理ブロッ ク864で共通データベース構築サブルーチン806は、ICソケット34に対 する全ICピンレセプタクル38が処理されたかを検査する。ICソケット34 に対する全ICピンレセプタクル38が処理されていなければ、共通データベー ス構築サブルーチン806は決定ブロック846に戻る。ディジタル論理システ ムデータに現ICピンレセプタクル38は無いことを共通データベース構築サブ ルーチン806が決定すれば、共通データベース構築サブルーチン806は直接 、処理ブロック862に進み、次のICピンレセプタクル38に増分する。IC ソケット34に対する全ICピンレセプタクル38が処理されていることを共通 データベース構築サブルーチン806が処理ブロック862で決定すると、共通 データベース構築サブルーチン806は終了ブロック866に進み、構成可能ロ ジック仕様プロセス224に戻る。シミュレーションモジュール214 図32は、ブロック808で構成可能ロジック仕様プロセス224により呼び 出されたシミュレーションモジュール214をコンパイル(作成)するサブルー チンを示す。実行を開始すると、シミュレーションモジュール作成サブルーチン 808は処理ブロック872で、ICソケット34の第一のICピンレセプタク ル38を選ぶ。決定ブロックでシミュレーションモジュール作成サブルーチン8 08は、処理ブロック804でファイルセット212から読み出されたディジタ ル論理システムデータに現ICピンレセプタクル38が有るかどうかを検査する 。現ICピンレセプタクル38がファイルセット212に有れば、処理ブロック 876でシミュレーションモジュール作成サブルーチン808は、現ICピンレ セプタクル38のプロトタイプベリログ(Verilog)機能を、ユーザーが後でシミ ュレーションプロセス22のソースコンピュータプログラムに組み込むベリログ ソースコードファイルに書き込む。これ等のプロトタイプベリログ機能は、シミ ュレーションプロセス22のベリログソースコードコンピュータプログラムの書 き込み中にマニュアルで編集されなければならない。現ICピンレセプタクル3 8のプロトタイプベリログ機能をファイルに書き込んだ後、シミュレーションモ ジュール作成サブルーチン808は処理ブロック878で、現ICピンレセプタ ク ル38の名称を現ICピンレセプタクル38のベリログモジュールソースコード のヘッダーとして書き込む。処理ブロック882で、次のICピンレセプタクル 38に増分して進む。。決定ブロック884でシミュレーションモジュール作成 サブルーチン808は、ICソケット34に対する全ICピンレセプタクル38 が処理されたかどうかを検査する。ICソケット34に対する全ICピンレセプ タクル38が処理されていなければ、シミュレーションモジュール作成サブルー チン808は決定ブロック874に戻る。ディジタル論理システムデータに現I Cピンレセプタクル38は無いことをシミュレーションモジュール作成サブルー チン808が決定すれば、シミュレーションモジュール作成サブルーチン808 は直接、処理ブロック882に進み、次のICピンレセプタクル38に増分する 。ICソケット34に対する全ICピンレセプタクル38が処理されていること をシミュレーションモジュール作成サブルーチン808が決定すれば、シミュレ ーションモジュール作成サブルーチン808は処理ブロック892に進み、呼び 出したベリログソースコードモジュールファイルに、シミュレーションプロセス 22とハードウェアポッド32の間の通信を開始し、両者間のその後の通信を予 定するサブルーチンを書き込む。ベリログソースコードモジュールファイルに、 シミュレーションプロセス22とハードウェアポッド32の間の通信を開始し、 両者間のその後の通信を予定する呼出を書き込んだ後、シミュレーションモジュ ール作成サブルーチン808は処理ブロック902で再び、ICソケット34の 第一のICピンレセプタクル38を選択する。決定ブロック904でシミュレー ションモジュール作成サブルーチン808は、処理クロック804でファイルセ ット212から読み出されたディジタル論理システムデータに現在ICピンレセ プタクル38があるかを検査する。現ICピンレセプタクル38がファイルセッ ト212内にあれ、ば処理ブロック906で、また刺激−反応サイクル中、現在 ICピンレセプタクル38がICソケットに差し込まれるICに入力信号を提供 していれば、シミュレーションモジュール作成サブルーチン808は、図3中、 垂直線106と垂直線108の間に示された、ベリログシミュレーションサイク ルの部分の間に、予定時刻にシミュレーションプロセス22により計算されたベ リログデータを受け入れるベリログソースコードファイルに、現ICピンレセプ タ クル38のベリログモジュールを書き込む。現ICピンレセプタクル38が刺激 −反応サイクル中、ICソケットに差し込まれるICから出力信号を受け取るな ら、シミュレーションモジュール作成サブルーチン808は処理ブロック06で 、既にブロック896で作成されたベリログ初期化モジュールに組み込まれるテ ーブルに、図3に示されたベリログシミュレーションサイクルの垂直線128上 で、或いはその後、シミュレーションプロセス22にデータ値が供給されるベリ ログ事象待ち行列内の位置を特定する項目を作成する。処理ブロック906を実 行後、シミュレーションモジュール作成サブルーチン808は決定ブロック90 8で、現ICピンレセプタクル38はICソケットの最後のICピンレセプタク ル38かどうかを検査する。現ICピンレセプタクル38がICソケットの最後 のICピンレセプタクル38でないなら、シミュレーションモジュール作成サブ ルーチン808は決定ブロック912で次のICピンレセプタクル38に増分し て進み、次いで決定ブロック904に戻る。現ICピンレセプタクル38がIC ソケットの最後のICピンレセプタクル38であることをシミュレーションモジ ュール作成サブルーチン808が決定ブロック908で決定した場合、シミュレ ーションモジュール作成サブルーチン808は終了ブロック914に進み、構成 可能ロジック仕様プロセス224に戻る。 構成可能論理データファイル216 図33は、ブロック822で構成可能ロジック仕様プロセス224により呼び 出されるサブルーチンであって、後でマージされFPGA構成データファイル2 16を作る構成可能ロジックICビットストリームデータをコンパイル(作成) するためのサブルーチンを示す。実行を開始すると、FPGAビットストリーム 作成サブルーチン822は処理ブロック922で、FPGAビットストリームデ ータを受け取る作業領域を初期化する。次いで処理ブロック924でFPGAビ ットストリーム作成サブルーチン822は、ステートマシーン76、タイミング 発生器78及びタイミング信号バス82等の共通下部構造を特定する構成ビット ストリームデータを作業領域に記憶する。共通か武功増の構成ビットストリーム データを作業領域に記憶した後、FPGAビットストリーム作成サブルーチン8 22は処理ブロック926でICソケット34の第一のICピンレセプタクル3 8を選択する。次いで、FPGAビットストリーム作成サブルーチン822は決 定ブロック928で、処理部六804でファイルセット212から読み出された ディジタル論理システムデータに現ICピンレセプタクル38が有るかどうかを 検査する。現ICピンレセプタクル38がファイルセット212に有れば、FP GAビットストリーム作成サブルーチン822は決定ブロック932で、現IC ピンレセプタクル38の構成ビットストリームデータは現在処理中の構成可能ロ ジックIC36に記憶されるべきかを決定する。現ICピンレセプタクル38の 構成ビットストリームデータが現在処理中の構成可能ロジックIC36に記憶さ れるべきとき、FPGAビットストリーム作成サブルーチン822は決定ブロッ ク934で、現ICピンレセプタクル38の構成ビットストリームデータは現ビ ットストリームに割り当てられるべきかを決定する。即ち、現ICピンれせぷた くる38は電力ピンか、そしてFPGAビットストリーム作成サブルーチン82 2は電力テスト構成ビットストリームを作成している、或いは現ICレセプタク ル38は刺激信号をICに供給し、ICから反応データを受け取るっているのか そしてFPGAビットストリーム作成サブルーチン822は、刺激−反応サイク ルの実行に用いられるビットストリームの一つを作成しているのか。 現ICピンレセプタクル38の構成ビットストリームデータが現ビットストリ ームに割り当てられるべきであれば、FPGAビットストリーム作成サブルーチ ン822は現ICピンレセプタクル38を、処理ブロック562、564、56 6及び568でデモンハードウェアポッドFSM452が繰り返しハードウェア ポッドステートマシーン414に送るピン分散データファイルに追加する。現I Cピンレセプタクル38をピン分散データファイルに追加した後、FPGAビッ トストリーム作成サブルーチン822は処理ブロック938で構成可能論理セル ライブラリー232から適切な刺激/反応セル72を検索する。構成可能論理セ ルライブラリー232から適切な刺激−反応セル72を検索した後、FPGAビ ットストリーム作成サブルーチン822は処理ブロック942で、刺激−反応セ ル72が図17に示されたように割り当てられる構成可能ロジック1C36の縁 部二」対する刺激/反応セル72を特定するデータを配向し、配向構成データを 作業領域に記憶する。FPGAビットストリーム作成サブルーチン822は、処 理ブロック944で配向刺激−反応セル72をタイミング信号バス82に接続し 、処理ブロック946で、プログラマブル入力セル244とプログラマブル出力 セル246を特定する構成データを作業領域に記憶する。FPGAビットストリ ーム作成サブルーチン822は処理ブロック952で次のICピンレセプタクル 38に増分する。決定ブロック954でFPGAビットストリーム作成サブルー チン822は、現ICピンレセプタクル38はICソケット34の最後のICピ ンレセプタクル38かを問う。現ICピンレセプタクル38がICソケット34 の最後のICピンレセプタクル38でなければ、FPGAビットストリーム作成 サブルーチン822は処理ブロック956で次のICピンレセプタクル38に増 分し、次いで決定ブロック928に戻る。現ICピンレセプタクル38がICソ ケット34の最後のICピンレセプタクル38であるとFPGAビットストリー ム作成サブルーチン822が決定ブロック954で決定すると、FPGAビット ストリーム作成サブルーチン822は処理ブロック962で、作業領域で作成さ れた構成可能論理ビットストリームデータをファイルに書き込む。構成可能論理 ビットストリームデータをファイルに書き込んだ後、FPGAビットストリーム 作成サブルーチン822は終了ブロック964に進み、構成可能ロジック仕様プ ロセス224に戻る。 FPGAビットストリーム作成サブルーチン822が構成可能ロジック仕様プ ロセス224により繰り返し呼び出され、電力テスト又は刺激−反応サイクルの 実行のため、全構成可能ICビットストリームを作成した後、構成可能ロジック 仕様プロセス224が図34に示されたビットストリームマージサブルーチン8 32を呼び出した上で、構成可能IC36に負荷されるFPGA構成データファ イル216の作成が為され、電力テスト構成ビットストリーム又は刺激−反応サ イクルビットストリームをマージして、それぞれ電力テストビットストリームデ ータファイル又はFPGA構成データファイルに記憶させる。構成ロジック仕様 プロセス224により呼び出されたビットストリームマージサブルーチン832 は、処理ブロック972でビット位置カウンターをゼロに初期化する。ビットス トリームマージサブルーチン832は決定ブロック974で、ビット位置カウン ターの現在の位置は構成可能ロジックIC36を完全に構成するために必要なビ ットストリーム長に等しいかを問う。ビット位置カウンターが構成可能ロジック IC36を完全に構成するために必要なビットストリーム長より少なければ、ビ ットストリームマージサブルーチン832は、処理ブロック976でデータバイ トをゼロに初期化し、処理ブロック978でFPGAカウンターをゼロに初期化 する。次いで、ビットストリームマージサブルーチン832は決定ブロックで、 FPGAカウンターがハードウェアポッド32内の構成可能ロジックIC36の 数に等しいかを問う。FPGAカウンターがハードウェアポッド32内の構成可 能ロジックIC36の数に等しくなければ、ビットストリームマージサブルーチ ン832は処理ブロック984で、FPGAカウンターの現在値に対するビット 位置カウンターの現在値により特定されるビットを一時的位置に読み込む。FP GAカウンターの現在値に対するビット位置カウンターの現在値により特定され るビットを一時的位置に読み込んだ後、ビットストリームマージサブルーチン8 32は処理ブロック986で、処理ブロック984で読まれたビットをFPGA カウンターの現在値に対しデータバイト内の適切な位置に桁送りし、次いで桁送 りビットをデータバイト内でオアする。桁送りビットをデータバイト内でオアし た後、ビットストリームマージサブルーチン832は処理ブロック988でFP GAカウンターを1だけ増分し、次いで処理ブロック832に戻る。FPGAカ ウンターはハードウェアポッド32内の構成可能ロジックIC32の数に等しい とビットストリームマージサブルーチン832が決定ブロック832で決定する と、ビットストリームマージサブルーチン832は決定ブロック992でデータ バイトをFPGA構成データファイル216に書き込む。データバイトを構成デ ータファイルに書き込んだ後、ビットストリームマージサブルーチン832は処 理ブロック994でビット位置カウンターを1だけ増分し、次いで決定ブロック 974に戻る。ビット位置カウンターの現在値が構成可能ロジックIC36を完 全に構成するのに要するビットストリームの長さに等しいとビットストリームマ ージサブルーチン832が決定ブロック974で決定すると、ビットストリーム マージサブルーチン832は終了ブロック996に進み、構成可能ロジック仕様 プロセス224に戻る。 エミュレーションにシステム20を用いる ディジタル論理シミュレーション/エミュレーションシステム20の以上の記 載は、シミュレーションプロセス22にディジタルロジックICを組み込むのみ に焦点を当てた。代替として、以上の全記載は、ディジタル論理シミュレーショ ン/エミュレーションシステム20を用いて、或ディジタル論理ICの動作を或 ディジタル論理システムにエミュレートするもののみに焦点を当てても良かった 。図20は、本明細書に開示されるハードウェアポッド32を、ディジタル論理 ICの動作のエミュレーションに直ちに適応させ得る一方法を例示する。図20 は、多数導体ケーブル314の第一の端部に取り付けられたコネクタ312を、 ICソケット34に差し込んだものを示す。ケーブル314の第二の端部は、デ ィジタル論理ICエミュレーションを受けるディジタル論理回路316に接続す る。図20は、ディジタル論理回路316に含まれるソケット322に差し込ま れた、ケーブルの第二の端部に有るコネクタ318を示すが、原理的にはケーブ ルの第二の端部はディジタル論理回路316に直接接続しても良い。或いは、ハ ードウェアポッド32のICソケット34を、ソケット322に嵌合し、これに 差し込まれるコネクタで置き換えても良い。ディジタル論理ICをエミュレート する用途に対して、ディジタル論理シミュレーション/エミュレーションシステ ム20は僅かな改造をすれば足りるから、ディジタル論理シミュレーション/エ ミュレーションシステム20をシミュレーションにも、エミュレーションにも同 様に用い得ることは明かである。 高速(迅速)動作シミュレーション/エミュレーション 図21は、高速(迅速)動作シミュレーション/エミュレーションに用い得る るディジタル論理シミュレーション/エミュレーションシステム20の代替的実 施例を示す。図21に示されたディジタル論理シミュレーション/エミュレーシ ョンシステム20はシミュレーションプロセス22を除去し、それを刺激制御デ ータファイル332で置き換える。刺激制御データファイル322は、シミュレ ーションプロセス22が発生する一連の(シーケンス)ビットスライス刺激制御 データ252から成る。各ビットスライス刺激制御データ252には、それに応 答して発生されるビットスライス反応データ262が伴っても良い。図21中、 矢印334により示されているように、サーバープロセス62は刺激制御データ ファイル332を検索し、それをハードウェアポッド32にダウンロード出きる 。その場合、CPU44により実行されるコンピュータプログラムはダウンロー ドされた刺激制御データファイル332を用い、ICソケット34に差し込まれ るディジタル論理IC、又は図21に示されているように、ケーブル314によ りICソケット34に接続されるディジタル論理回路の何れか働く。ハードウェ アポッド32の内部で、コンピュータプログラムCPU44は、構成可能論理I C36が受け取るビットスライス反応データ262を、刺激制御データファイル 3322内のビットスライス反応データ262と比較し、ディジタル論理IC又 はディジタル論理回路が適切に機能するかを決定する。或いは、構成(コンフィ ギュレーション)データが構成可能(コンフィギュラブル)ロジックIC36内 に、構成可能ICが受け取るビットスライス反応データ262を、刺激制御デー タファイル332内のビットスライス反応データ262と比較する比較器ディジ タル論理回路を確立・設定しても良い。何れでも、これ等二つのセットのビット スライス反応データ262の間に不一致が生じた場合のみ、ハードウェアポッド 32はその繰り返し動作を中断し、サーバープロセス62に不一致を知らせる。 再び図3に関して、ディジタル論理シミュレーション/エミュレーションシス テム20の上記の高速実行動作はシミュレーション又はエミュレーションの全オ バーヘッドを事実上除去し、図3の底部に沿って示される刺激−反応サイクルの みを実質的に行う。こうして、図21に示される本発明の代替的実施例はハード ウェア32を解放し、ハードウェア32の能力のみで制限される速度で、ディジ タル論理IC又はディジタル論理回路を動かす。 IC電力検知(チェック) シミュレーション又はエミュレーションに用いられる、種々のソフトウェアモ ジュールと、各ファイルセットに記憶される構成データに加えて、構成可能ロジ ック仕様プロセス224はまた、Vcc、Gnd等の電力(電源)がICピンレ セプタクル38に適切に接続されていないことを確認するのに用いられる、特殊 セットのソフトウェアモジュールと、ロジック構成ライブラリー86に記憶される 構成データも作成する。この特殊セットのソフトウェアモジュールと構成データ は、構成可能ロジックIC36を構成して、ICピンレセプタクル38上に有 る電圧を感知し、かかる電圧を、GUIコンピュータプログラム226が呈示す る、図15のスクリーンディスプレーを用いて特定される電圧と比較する。ディ ジタル論理シミュレーション/エミュレーションシステム20のオぺレータは、 これ等の特殊IC電力(電源)検知ソフトウェアモジュールと構成データを呼び 出し、これをIC電力(電源)検知シミュレーションプロセス22を用い、1差 来るシミュレーションを実行して行う。電力(電源)がICピンレセプタクル3 8に不適切に接続されているとIC電力検知シミュレーションプロセス22が決 定したら、シミュレーションプロセス22は電力(電源)を切り、同時にハード ウェアポッド32の組立に用いられる印刷基板のVcc面とGnd面を一緒にす る。 産業上の適用性 以上本発明を現在のところ好ましい実施例に付いて述べてきたが、かかる開示 は純粋に例示的であり、限定的に解釈されるべきでないことが理解されるべきで ある。例えば、マイクロプロセッサとしてIntegrated Device Technologies,In c.のR3081 RISC以外のものもCPU44に含まれて良く、またハードウェアポ ッド32はCPU44を全く含まず、場合によってはFPGAで、又は特定用途 向け集積回路(ASIC)で具現することもできる。同様に、通信ポート54は 原則として、どんな双方向通信ポートでも良い。同様に、通信ポート54は好ま しいイーサネット接続でなくても良く、シリアルポート、パラレルポート、10 ベースTポート、SCSIバスポート等の他の通信ポートを用いて具現すること もできる。同様に、構成可能ロジック36a及び36bは、優先的に用いられる Atmel AT6005 FPGA以外のSRAM FPGAでも良く、或いは電気的消去可能FPGAで 具現することもできる。更に、現在のところ好ましい実施例では、シミュレーシ ョンプロセス22、サーバープロセス62及び構成可能ロジック仕様プロセス2 24は一個のディジタルコンピュータ24上で実行されるが、これ等のプロセス の各々は充分、相互独立しているので、要すれば、別個のディジタルコンピュー タ上で個々のプロセスを実行するようにしても良い。 以上、ディジタル論理(ロジック)シミュレーション/エミュレーションシス テム20を、一つのIC全体をシミュレート又はエミュレートする用途に付き記 述したが、これは一つのICの一部のみを有効、且つ効率的にシミュレート又は エミュレートする目的にも利用できる。一企業がICの核心に対する自己の設計 へのアクセスを、そのIC設計の詳細を漏らさずに、他の企業に提供しようとす る場合、その企業は核心設計(コアデザイン)を電気的消去可能FPGAとして 構成可能ロジックICに記憶すれば良い。その場合、第一の企業は第二の企業に 構成済FPGAを、FPGAの全部のピンの作用を特定する書類と共に納品する 。GUIコンピュータプログラム226を用いて、構成済ICの仕様をディジタ ル論理(ロジック)シミュレーション/エミュレーションシステム20に入力し 、且つ構成済ICをICソケット34に差し込むことにより、第二の企業はこの コアデザインを自己のIC設計に対する自己のシミュレーションに有効且つ効率 的に組み込むことができる。このようにして、第二の企業は第一の企業のコアデ ザイン詳細にアクセスせず、コアデザインの適否に能率的にアクセスできる。 構成可能ロジックIC36に対する構成データを、刺激/反応セル72に対す る構成データを並列することによって決定する方法は、刺激/反応信号をディジ タル論理IC又は回路と交換する状況で行われたが、この方法はディジタル論理 (ロジック)設計の他の状況でも利用できる。例えば、ビットスライス加算器や 論理演算装置が周知である。したがって、かかるビットスライス論理演算機能を 行った構成可能論理セルライブラリー232に論理機能セルが予め確立・設定さ れてい、且つGUIコンピュータプログラム226が特定の演算/論理機能を構 成可能ロジックIC36の特定ピンに割当できるように適宜調整されていれば、 構成可能ロジックIC36の構成データを決定する方法は、FPGA内に計算デ ィジタル論理ICを確立・設定するのに用い得る。 したがって、発明の精神と範囲を逸脱せず、発明の種々の変更、集成及び/又 は代替的用途が、以上の開示を読了した当業者に確実に示唆されよう。従って、 以下に記載の請求項は、本発明の真の精神及び範囲に入る全ての変更、修正又は 代替を包括するものと解釈されるよう意図するものである。

Claims (1)

  1. 【特許請求の範囲】 1. ディジタルコンピュータにより実行され、ディジタル論理システムをモデル化 するコンピュータプログラムディジタル論理シミュレーションプロセスと ディジタル論理回路に連結できるハードウェアポッドであって、 複数の刺激/反応セルを含んで、一つの刺激−反応サイクル中に複数の刺激 信号をディジタル論理回路に供給し、且つ該刺激−反応サイクル中に該ディジタ ル論理回路から複数の反応を受け取るように配置された構成可能論理IC(集積 回路)を備え、更に 該構成可能論理ICに送信され、刺激−反応サイクル中、構成可能論理IC によるディジタル論理回路の刺激を制御する、刺激制御データを受信すると共に 、刺激−反応サイクル中、構成可能論理ICがディジタル論理回路から、該ディ ジタル論理回路の刺激に応答(反応)して受け取る反応データを受信し、それを 上記ハードウェアポッドから送信させる通信ポートを備えたハードウェアポッド と 上記ディジタル論理シミュレーションプロセス及び上記ハードウェアポッドの 両方に連結され、該ディジタル論理シミュレーションプロセスとハードウェアポ ッドとの間で刺激制御データと反応データを交換するサーバープロセスと を具備し、 刺激制御データをディジタル論理シミュレーションプロセスが上記サーバープ ロセスを通して上記ハードウェアポッドに送信することにより、刺激−反応サイ クル中、上記刺激/反応セルによるディジタル論理回路の刺激の制御を可能にす ると共に、 刺激−応答サイクル中、刺激に対するディジタル論理回路の反応を報告する、 構成可能論理ICの刺激−反応セルからの反応データを、上記ディジタル論理シ ミュレーションプロセスが上記ハードウェアポッドから上記サーバープロセスを 通して受信できるようにした ディジタル論理シミュレーション/エミュレーションシステム。 2.更に、前記ハードウェアポッドの構成可能論理ICに負荷されて、該構成可 能論理IC内に上記複数の刺激/反応セルを設定する論理構成データを含んだ構 成データファイルを記憶する論理構成ライブラリーを具備し、該論理構成ライブ ラリーは前記サーバープロセスに連結され、それにより該サーバープロセスは該 論理構成ライブラリーから構成データファイルを検索し、論理構成データを上記 ハードウェアポッドに送信して構成可能論理ICを構成できるようにした、請求 項1に記載のディジタル論理シミュレーション/エミュレーションシステム。 3.論理構成データは前記ハードウェアポッドの構成可能論理ICに負荷される と構成可能論理IC内に、前記複数の刺激/反応セルに加え、 刺激信号をディジタル論理回路に提供し、ディジタル論理回路から反応を受信 する構成可能論理ICの動作を制御するステートマシーンと 該ステートマシーンにより制御され、個々の刺激/反応セルが刺激信号をディ ジタル論理回路に提供且つ/或いはディジタル論理回路から反応を受信する刺激 −反応サイクル内に時間間隔を設定するタイミング発生器と を設定するようにした、請求項2に記載のディジタル論理シミュレーション/エ ミュレーションシステム。 4.更に、 構成データを記憶し、個々の刺激/反応セルの種々の異なった型を特定する構 成可能論理セルライブラリーと 該構成可能論理セルライブラリーと前記論理構成ライブラリーの両方に連結さ れ、 構成可能論理セルライブラリーから、上記論理構成ライブラリーに記憶され るべき構成データファイルに挿入される個々の刺激/反応セルを選択; 選択された刺激/反応セルの、ディジタル論理回路に対する位置を特定; 選択された刺激/反応セルが、刺激信号をディジタル論理回路に提供、且つ /或いはディジタル論理回路から反応を受信する動作をする、刺激/応答サイク ル内の時間間隔を特定; 上記論理構成ライブラリーに記憶できる構成データファイルに選択・特定さ れた刺激/反応セルを集合;及び 斯く集合された上記構成データファイルを上記論理構成ライブラリーに記憶 することを可能にするユーザーインターフェースを提供する構成可能論理仕様プ ロセスと を具備する、請求項3に記載のディジタル論理シミュレーション/エミュレーシ ョンシステム。 5.構成データファイルを前記ハードウェアポッドの構成可能論理ICに負荷し て設定された刺激/応答セルは、ビットスライス階層を形成し、該階層内で刺激 /反応セルが互いに連結されてシフトレジスタを形成し、該シフトレジスタは、 刺激−反応サイクル中、構成可能論理ICのディジタル論理回路の刺激を特定す る、ビットスライスデータストリームの刺激制御データを、構成可能論理ICに ダウンロードする機能と、刺激−反応サイクル中、刺激に対するディジタル論理 回路の反応を報告する、ビットスライスデータストリームの反応データを、構成 可能論理ICからアップロードする機能とを有する、請求項2に記載のディジタ ル論理シミュレーション/エミュレーションシステム。 6.構成データファイルを前記ハードウェアポッドの構成可能論理ICに負荷し て設定された刺激/応答セルは、複数の別個の刺激/反応セル群に分割され、各 個別刺激/反応セル群の刺激/反応セルビットスライス階層を形成し、該階層内 で刺激/反応セル群の刺激/反応セルが互いに連結されてシフトレジスタを形成 し、該シフトレジスタは、刺激−反応サイクル中、構成可能論理ICによるディ ジタル論理回路の刺激を特定する、ビットスライスデータストリームの刺激制御 データを、構成可能論理ICにダウンロードする機能と、刺激−反応サイクル中 、刺激に対するディジタル論理回路の反応を報告する、ビットスライスデータス トリームの反応データを、構成可能論理ICからアップロードする機能とを有す る、請求項2に記載のディジタル論理シミュレーション/エミュレーションシス テム。 7.4個の別個の刺激/反応セル群が有る、請求項6に記載のディジタル論理シ ミュレーション/エミュレーションシステム。 8.刺激/反応セルはビットスライス階層を形成し、該階層内で刺激/反応セル が互いに連結されてシフトレジスタを形成し、該シフトレジスタは、刺激−反応 サイクル中、構成可能論理ICによるディジタル論理回路の刺激を特定する、ビ ットスライスデータストリームの刺激制御データを、構成可能論理ICにグウン ロードする機能と、刺激−反応サイクル中、刺激に対するディジタル論理回路の 反応を報告する、ビットスライスデータストリームの反応データを、構成可能論 理ICからアップロードする機能とを有する、請求項1に記載のディジタル論理 シミュレーション/エミュレーションシステム。 9.刺激/応答セルは複数の別個の刺激/反応セル群に分割され、各個別刺激/ 反応セル群の刺激/反応セルビットスライス階層を形成し、該階層内で刺激/反 応セル群の刺激/反応セルが互いに連結されてシフトレジスタを形成し、該シフ トレジスタは、刺激−反応サイクル中、構成可能論理ICによりディジタル論理 回路が受ける刺激を特定する、ビットスライスデータストリームの刺激制御デー タを、構成可能論理ICにダウンロードする機能と、刺激−反応サイクル中、刺 激に対するディジタル論理回路の反応を報告する、ビットスライスデータストリ ームの反応データを、構成可能論理ICからアップロードする機能とを有する、 請求項1に記載のディジタル論理シミュレーション/エミュレーションシステム 。 10.4個の別個の刺激/反応セル群が有る、請求項9に記載のディジタル論理 シミュレーション/エミュレーションシステム。 11.ハードウェアポッドは更に、 一連の逐次刺激/反応サイクルに亘る刺激制御データで、初期刺激−反応サイ クルの刺激制御データと最終刺激−反応サイクルの刺激制御データを含む刺激制 御データを記憶するランダムアクセツメモリ(RAM)と 初期刺激−反応サイクルで始まり、最終刺激−反応サイクルで終わる、逐次刺 激−反応サイクルの間、RAMから刺激制御データを選び、各逐次刺激制御デー タを構成可能論理ICに送信し、ディジタル論理回路に一連の刺激信号を提供す る手段とを備え、 ハードウェアポッドは上記一連の刺激信号内で、最終刺激−反応サイクルの間 、反応データを前記サーバープロセスに送信し、前記ディジタル論理シミュレー ションプロセスに再送させる 請求項1に記載のディジタル論理シミュレーション/エミュレーションシステム 。 12.ディジタルコンピュータにより実行されるコンピュータプログラムが、サ ーバープロセスを提供する、請求項1に記載のディジタル論理シミュレーション /エミュレーションシステム。 13.コンピュータプログラムディジタル論理シミュレーションプロセスとコン ピュータプログラムサーバープロセスは何れも、同一のディジタルコンピュータ により実行される請求項12に記載のディジタル論理シミュレーション/エミュ レーションシステム。 14.コンピュータプログラムディジタル論理シミュレーションプロセスとコン ピュータプログラムサーバープロセスは、異なるのディジタルコンピュータによ り実行される請求項12に記載のディジタル論理シミュレーション/エミュレー ションシステム。 15.ディジタル論理回路に連結でき、またディジタル論理シミュレーション/ エミュレーションシステムに組み込むことができるハードウェアポッドであって 、該ディジタル論理シミュレーション/エミュレーションシステムは、ディジタ ルコンピュータにより実行され、ディジタル論理システムをモデル化するコンピ ュータプログラムディジタル論理シミュレーションプロセスと、ディジタル論理 シ ミュレーションプロセス及び上記ハードウェアポッドの両方に連結され、該ディ ジタル論理シミュレーションプロセスとハードウェアポッドとの間で刺激制御デ ータと反応データを交換するサーバープロセスとを具備し、ハードウェアポッド は 複数の刺激/反応セルを含んで、一つの刺激−反応サイクル中に複数の刺激信 号をディジタル論理回路に供給し、且つ該刺激−反応サイクル中に該ディジタル 論理回路から複数の反応を受け取るように配置された構成可能論理ICと 該構成可能論理ICに送信され、刺激−反応サイクル中、構成可能論理ICに よるディジタル論理回路の刺激を制御する、刺激制御データを受信すると共に、 刺激−反応サイクル中、構成可能論理ICがディジタル論理回路から、該ディジ タル論理回路の刺激に応答(反応)して受け取る反応データを受信し、それを上 記ハードウェアポッドから送信させる通信ポートとを備え 刺激制御データをディジタル論理シミュレーションプロセスが上記サーバープ ロセスを通して上記ハードウェアポッドに送信することにより、刺激−反応サイ クル中、上記刺激/反応セルによるディジタル論理回路の刺激の制御を可能にす ると共に、 刺激−応答サイクル中、刺激に対するディジタル論理回路の反応を報告する、 構成可能論理ICの刺激−反応セルからの反応データを、上記ディジタル論理シ ミュレーションプロセスが上記ハードウェアポッドから上記サーバープロセスを 通して受信できるようにした ハードウェアポッド。 16.論理構成データは前記ハードウェアポッドの構成可能論理ICに負荷され ると構成可能論理IC内に、前記複数の刺激/反応セルに加え、 刺激信号をディジタル論理回路に提供し、ディジタル論理回路から反応を受信 する構成可能論理ICの動作を制御するステートマシーンと 該ステートマシーンにより制御され、個々の刺激/反応セルが刺激信号をディ ジタル論理回路に提供且つ/或いはディジタル論理回路から反応を受信する刺激 −反応サイクル内に時間間隔を設定するタイミング発生器と を設定するようにした、請求項15に記載のハードウェアポッド。 17.刺激/反応セルはビットスライス階層を形成し、該階層内で刺激/反応セ ルが互いに連結されてシフトレジスタを形成し、該シフトレジスタは、刺激−反 応サイクル中、構成可能論理ICによるディジタル論理回路の刺激を特定する、 ビットスライスデータストリームの刺激制御データを、構成可能論理ICにダウ ンロードする機能と、刺激−反応サイクル中、刺激に対するディジタル論理回路 の反応を報告する、ビットスライスデータストリームの反応データを、構成可能 論理ICからアップロードする機能とを有する、請求項15に記載のハードウェ アポッド。 18.刺激/応答セルは複数の別個の刺激/反応セル群に分割され、各個別刺激 /反応セル群の刺激/反応セルビットスライス階層を形成し、該階層内で刺激/ 反応セル群の刺激/反応セルが互いに連結されてシフトレジスタを形成し、該シ フトレジスタは、刺激−反応サイクル中、構成可能論理ICによるディジタル論 理回路の刺激を特定する、ビットスライスデータストリームの刺激制御データを 、構成可能論理ICにダウンロードする機能と、刺激−反応サイクル中、刺激に 対するディジタル論理回路の反応を報告する、ビットスライスデータストリーム の反応データを、構成可能論理ICからアップロードする機能とを有する、請求 項15に記載のハードウェアポッド。 19.4個の別個の刺激/反応セル群が有る、請求項18に記載のハードウェア ポッド。 20.ハードウェアポッドは更に、 一連の逐次刺激/反応サイクルに亘る刺激制御データで、初期刺激−反応サイ クルの刺激制御データと最終刺激−反応サイクルの刺激制御データを含む刺激制 御データを記憶するラングムアクセツメモリ(RAM)と 初期刺激−反応サイクルで始まり、最終刺激−反応サイクルで終わる、逐次刺 激−反応サイクルの間、RAMから刺激制御データを選び、各逐次刺激制御デー タを構成可能論理ICに送信し、ディジタル論理回路に一連の刺激信号を提供す る手段とを備え、 ハードウェアポッドは上記一連の刺激信号内で、最終刺激−反応サイクルの間 、反応データを前記サーバープロセスに送信し、前記ディジタル論理シミュレー ションプロセスに再送させる 請求項15に記載のハードポッド。 21.特定されたディジタル論理機能を実行する構成可能論理ICであって、構 成データにより論理的に相互接続され特定されたディジタル論理機能を実行でき る構成可能論理セルのアレイを含む構成可能論理ICを構成するのに用いられる 構成データの迅速決定方法であって、 構成可能論理IC内に設定される複数の論理機能セルに対して、各かかる論理 機能セルにより実行されるディジタル論理機能を決定し、 個々の論理機能セルの種々の異なる型を特定する構成データを記憶した構成可 能論理セルライブラリーから、上記複数の論理機能セルの各論理機能セルに対す る構成データを検索し、各論理機能に対して検索された構成データは、構成可能 論理ICに含まれた数個の構成可能論理セルの所定の相互接続を特定し、該相互 接続は、かかる構成データが構成可能論理ICに負荷されると、数個の構成可能 論理セルの相互接続により、構成可能論理IC内に、その論理機能セルに対して 特定されたディジタル論理機能を実行するディジタル論理回路を設定するように し、且つ 構成可能論理ICを構成するために用いられる構成データの決定を単に、論理 機能説の各々に対して構成可能論理セルライブラリーから検索された構成データ を、構成可能論理ICの全体に亘る特定位置に割り当てることにより行うことを 特徴とする方法。 22.一対の論理機能セルに対して、構成データを構成可能論理IC内の特定の 位置に割り当て、該割当を単に、上記対の論理機能セルに対する構成データを並 列して行い、斯く並列された論理機能セルの上記対に対する構成データはまた、 該並列する論理機能セルの間でデータ信号を交換するための信号経路を確立・設 定することを特徴とする請求項21に記載の方法。 23.並列する対の論理機能セルの間でデータ信号を交換する信号経路は、該並 列する対の論理機能セルに完全に跨って通り、並列論理機能セルがデータ信号を 両並列論理機能セルを通って、並列論理機構セル対の一方と並列し得る第三の論 理庫能セルに送信する信号経路を確立・設定することを特徴とする請求項22の 記載の方法。 24.並列する対の論理機能セルの間でデータ信号を交換する信号経路は、該並 列対の論理機能セルを接続してシフトレジスタを形成することを特徴とする請求 項22に記載の方法。 25.構成可能ICを構成するのに用いられる構成データがまた、構成可能論理 IC内に以下を確立・設定する: タイミング信号バス、ここで論理機能セルに対する構成データが各論理機能セ ルの該タイミング信号バスとの接続を特定する;及び タイミング信号に接続するタイミング発生器、ここでその動作が、タイミング 信号バスを介して接続された論理機能セルに送信され、個々の論理機能セルの動 作を制御する時間間隔を設定する 請求項21に記載の方法。 26.構成可能論理ICを構成するのに用いられる構成データが、構成可能論理 IC内に、タイミング発生器の動作を制御するステートマシーンを設定する構成 データを含む、請求項25に記載の方法。 27. 複数の刺激−応答サイクルの間、ディジタル論理回路に印加される刺激−反応 サイクルデータを特定する刺激制御データを備え、 該刺激−反応サイクルデータを受信でき、且つディジタル論理回路に連結でき るハードウェアポッドであって、 複数の刺激/反応セルを含んで、複数のの刺激−反応サイクル中に複数の刺 激信号をディジタル論理回路に供給し、且つ該刺激−反応サイクル中に該ディジ タル論理回路から複数の反応を受け取るように配置された構成可能論理ICを備 え、更に 該構成可能論理ICに送信され、複数の刺激−反応サイクル中、構成可能論 理ICによるディジタル論理回路の刺激を制御する、刺激制御データを受信する 通信ポートを備えたハードウェアポッドと 該ハードウェアポッドに連結され、刺激−応答サイクルデータをハードウェア ポッドに供給するサーバープロセスとを具備し、 該サーバープロセスにより上記ハードウェアポッドに供給される刺激−反応サ イクルデータが、上記刺激−反応サイクル中、上記刺激/反応セルによるディジ タル論理回路の刺激を制御するようにした 高速動作ディジタル論理シミュレーション/エミュレーションシステム。 28.更に、前記ハードウェアポッドの構成可能論理ICに負荷されて、該構成 可能論理IC内に上記複数の刺激/反応セルを設定する論理構成データを含んだ 構成データファイルを記憶する論理構成ライブラリーを具備し、該論理構成ライ ブラリーは前記サーバープロセスに連結され、それにより該サーバープロセスは 該論理構成ライブラリーから構成データファイルを検索し、論理構成データを上 記ハードウェアポッドに送信して構成可能論理ICを構成できるようにした、請 求項27に記載のディジタル論理シミュレーション/エミュレーションシステム 。 29.論理構成データは前記ハードウェアポッドの構成可能論理ICに負荷され ると構成可能論理IC内に、前記複数の刺激/反応セルに加え、 刺激信号をディジタル論理回路に提供し、ディジタル論理回路から反応を受信 する構成可能論理ICの動作を制御するステートマシーンと 該ステートマシーンにより制御され、個々の刺激/反応セルが刺激信号をディ ジタル論理回路に提供且つ/或いはディジタル論理回路から反応を受信する刺激 −反応サイクル内に時間間隔を設定するタイミング発生器と を設定するようにした、請求項28に記載のディジタル論理シミュレーション/ エミュレーションシステム。 30.論理構成データは前記ハードウェアポッドの構成可能論理ICに負荷され ると構成可能論理IC内に、前記複数の刺激/反応セルに加え、 ディジタル論理回路から構成可能論理ICが受信する反応を、通信ポートが受 信する刺激−反応サイクルデータに含まれる反応データと比較する比較器ディジ タル論理回路を確立・設定するようにした請求項28に記載のディジタル論理シ ミュレーション/エミュレーションシステム。 31.構成データファイルを前記ハードウェアポッドの構成可能論理ICに負荷 して設定された刺激/応答セルは、ビットスライス階層を形成し、該階層内で刺 激/反応セルが互いに連結されてシフトレジスタを形成し、該シフトレジスタは 、刺激−反応サイクル中、構成可能論理ICによるディジタル論理回路の刺激を 特定する、ビットスライスデータストリームの刺激制御データを、構成可能論理 ICにダウンロードするようにした、請求項28に記載のディジタル論理シミュ レーション/エミュレーションシステム。 32.構成データファイルを前記ハードウェアポッドの構成可能論理ICに負荷 して設定された刺激/応答セルは、複数の別個の刺激/反応セル群に分割され、 各個別刺激/反応セル群の刺激/反応セルビットスライス階層を形成し、該階層 内で刺激/反応セル群の刺激/反応セルが互いに連結されてシフトレジスタを形 成し、該シフトレジスタは、刺激−反応サイクル中、構成可能論理ICによるデ ィジタル論理回路の刺激を特定する、ビットスライスデータストリームの刺激制 御データを、構成可能論理ICにダウンロードするようにした、請求項28に記 載のディジタル論理シミュレーション/エミュレーションシステム。 33.4個の別個の刺激/反応セル群が有る、請求項32に記載のディジタル論理 シミュレーション/エミュレーションシステム。 34.構成可能論理ICは更に、ディジタル論理回路から構成可能論理ICが受 信する反応を、通信ポートが受信する刺激−反応サイクルデータに含まれる反応 データと比較する比較器ディジタル論理回路を備える、請求項27に記載のディ ジタル論理シミュレーション/エミュレーションシステム。 35.刺激/反応セルはビットスライス階層を形成し、該階層内で刺激/反応セ ルが互いに連結されてシフトレジスタを形成し、該シフトレジスタは、刺激−反 応サイクル中、構成可能論理ICによるディジタル論理回路の刺激を特定する、 ビットスライスデータストリームの刺激制御データを、構成可能論理ICにダウ ンロードする、請求項27に記載のディジタル論理シミュレーション/エミュレ ーションシステム。 36.刺激/応答セルは複数の別個の刺激/反応セル群に分割され、各個別刺激 /反応セル群の刺激/反応セルビットスライス階層を形成し、該階層内で刺激/ 反応セル群の刺激/反応セルが互いに連結されてシフトレジスタを形成し、該シ フトレジスタは、刺激−反応サイクル中、構成可能論理ICによるディジタル論 理回路の刺激を特定する、ビットスライスデータストリームの刺激制御データを 、構成可能論理ICにダウンロードする、請求項27に記載のディジタル論理シ ミュレーション/エミュレーションシステム。 37.4個の別個の刺激/反応セル群が有る、請求項36に記載のディジタル論 理シミュレーション/エミュレーションシステム。 38.前記ハードウェアポッドは更に、 一連の逐次刺激/反応サイクルに亘る刺激制御データで、初期刺激−反応サイ クルの刺激制御データと最終刺激−反応サイクルの刺激制御データを含む刺激制 御データを記憶するRAMと 初期刺激−反応サイクルで始まり、最終刺激−反応サイクルで終わる、逐次刺 激−反応サイクルの間、RAMから刺激制御データを選び、各逐次刺激制御デー タを構成可能論理ICに送信し、ディジタル論理回路に一連の刺激信号を提供す る手段とを備える、請求項27に記載のディジタル論理シミュレーション/エミ ュレーションシステム。 39.前記ハードウェアポッドは更に中央処理装置(CPU)を備え、ディジタ ル論理回路から受信された反応を、構成可能論理ICがCPUに送信し、通信ポ ートにより受信した刺激−反応サイクルデータに含まれる反応データと比較する ようにした、請求項38に記載のディジタル論理シミュレーション/エミュレー ションシステム。 40.ディジタルコンピュータにより実行されるコンピュータプログラムが前記 サーバープロセスを提供する、請求項27に記載のディジタル論理シミュレーシ ョン/エミュレーションシステム。
JP50184498A 1996-06-12 1997-06-12 ディジタル論理シミュレーション/エミュレーションシステム Pending JP2001508202A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/661,991 US5748875A (en) 1996-06-12 1996-06-12 Digital logic simulation/emulation system
US08/661,991 1996-06-12
PCT/US1997/010266 WO1997047981A1 (en) 1996-06-12 1997-06-12 Digital logic simulation/emulation system

Publications (1)

Publication Number Publication Date
JP2001508202A true JP2001508202A (ja) 2001-06-19

Family

ID=24655946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50184498A Pending JP2001508202A (ja) 1996-06-12 1997-06-12 ディジタル論理シミュレーション/エミュレーションシステム

Country Status (5)

Country Link
US (1) US5748875A (ja)
EP (1) EP0904547A1 (ja)
JP (1) JP2001508202A (ja)
CA (1) CA2257969C (ja)
WO (1) WO1997047981A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305137A (ja) * 2006-05-12 2007-11-22 Samsung Electronics Co Ltd 分配された同時的シミュレーション
KR101205325B1 (ko) 2006-05-12 2012-11-29 삼성전자주식회사 시뮬레이션 시스템 및 그 방법
KR101524828B1 (ko) * 2008-04-23 2015-06-02 삼성전자주식회사 에뮬레이션 시스템 및 그 구동 방법

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2888512B2 (ja) * 1995-09-22 1999-05-10 三菱電機マイコン機器ソフトウエア株式会社 エミュレーション装置
US5841967A (en) 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6032135A (en) * 1997-04-29 2000-02-29 Diebold, Incorporated Electronic purse card value system terminal programming system and method
US6389379B1 (en) * 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US6134516A (en) 1997-05-02 2000-10-17 Axis Systems, Inc. Simulation server system and method
US6009256A (en) 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
JP2002505024A (ja) * 1997-06-13 2002-02-12 シンポッド・インク 並行ハードウェア―ソフトウェア・コシミュレーション
JP3544457B2 (ja) * 1997-08-22 2004-07-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 電子メール又はエージェントを利用してクライアント上でguiを作成する方法及び装置、そのためのプログラムを記録した記録媒体
JP3982782B2 (ja) * 1998-06-10 2007-09-26 株式会社ルネサステクノロジ 論理モジュール
US6862563B1 (en) 1998-10-14 2005-03-01 Arc International Method and apparatus for managing the configuration and functionality of a semiconductor design
US6263303B1 (en) * 1998-10-26 2001-07-17 Sony Corporation Simulator architecture
US6477683B1 (en) * 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
US6560754B1 (en) * 1999-05-13 2003-05-06 Arc International Plc Method and apparatus for jump control in a pipelined processor
JP2003503791A (ja) * 1999-06-26 2003-01-28 セイ−ヤン ヤン、 入出力探針装置及びこれを用いた入出力探針方法と、これを基盤とする混合エミュレーション/シミュレーション方法
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6618839B1 (en) * 1999-11-30 2003-09-09 Synplicity, Inc. Method and system for providing an electronic system design with enhanced debugging capabilities
US7072818B1 (en) * 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6931572B1 (en) 1999-11-30 2005-08-16 Synplicity, Inc. Design instrumentation circuitry
US7065481B2 (en) 1999-11-30 2006-06-20 Synplicity, Inc. Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US6823497B2 (en) 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US7036106B1 (en) * 2000-02-17 2006-04-25 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
US6763327B1 (en) * 2000-02-17 2004-07-13 Tensilica, Inc. Abstraction of configurable processor functionality for operating systems portability
WO2001069411A2 (en) 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
US7266490B2 (en) 2000-12-28 2007-09-04 Robert Marc Zeidman Apparatus and method for connecting hardware to a circuit simulation
USRE42227E1 (en) 2000-03-28 2011-03-15 Ionipas Transfer Company, Llc Apparatus and method for connecting hardware to a circuit simulation
US8160863B2 (en) * 2000-03-28 2012-04-17 Ionipas Transfer Company, Llc System and method for connecting a logic circuit simulation to a network
US8176296B2 (en) * 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8103496B1 (en) * 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8160864B1 (en) * 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7222315B2 (en) * 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
US20070016396A9 (en) * 2000-12-28 2007-01-18 Zeidman Robert M Apparatus and method for connecting a hardware emulator to a computer peripheral
US6775823B2 (en) * 2001-03-07 2004-08-10 Palmsource, Inc. Method and system for on-line submission and debug of software code for a portable computer system or electronic device
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US7526422B1 (en) 2001-11-13 2009-04-28 Cypress Semiconductor Corporation System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7493470B1 (en) 2001-12-07 2009-02-17 Arc International, Plc Processor apparatus and methods optimized for control applications
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
CN102902839B (zh) * 2002-04-25 2016-04-06 新思科技公司 管理集成电路设计的装置和方法
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
FR2843200B1 (fr) * 2002-07-30 2004-12-10 Bull Sa Procede et systeme de reconnaissance automatique de configurations de simulations d'un circuit integre
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7290089B2 (en) 2002-10-15 2007-10-30 Stmicroelectronics, Inc. Executing cache instructions in an increased latency mode
US20050049843A1 (en) * 2003-08-29 2005-03-03 Lee Hewitt Computerized extension apparatus and methods
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7721036B2 (en) * 2004-06-01 2010-05-18 Quickturn Design Systems Inc. System and method for providing flexible signal routing and timing
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) * 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7353162B2 (en) * 2005-02-11 2008-04-01 S2C, Inc. Scalable reconfigurable prototyping system and method
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US7613951B2 (en) * 2005-05-13 2009-11-03 Texas Instruments Incorporated Scaled time trace
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
DE102005044728A1 (de) * 2005-09-19 2007-03-29 Silicon Software Gmbh Programmierung und Layoutdesign von Hardware
US7493519B2 (en) * 2005-10-24 2009-02-17 Lsi Corporation RRAM memory error emulation
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8566389B2 (en) * 2006-07-10 2013-10-22 Samsung Electronics Co., Ltd. Thin network protocol
US8127113B1 (en) 2006-12-01 2012-02-28 Synopsys, Inc. Generating hardware accelerators and processor offloads
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8260985B2 (en) 2007-10-05 2012-09-04 Pano Logic, Inc. Universal serial bus assistance engine
US7930165B2 (en) * 2008-02-07 2011-04-19 Accemic Gmbh & Co. Kg Procedure and device for emulating a programmable unit providing system integrity control
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8179161B1 (en) 2009-05-05 2012-05-15 Cypress Semiconductor Corporation Programmable input/output circuit
US8487655B1 (en) 2009-05-05 2013-07-16 Cypress Semiconductor Corporation Combined analog architecture and functionality in a mixed-signal array
US9612987B2 (en) 2009-05-09 2017-04-04 Cypress Semiconductor Corporation Dynamically reconfigurable analog routing circuits and methods for system on a chip
US9384107B2 (en) * 2010-11-08 2016-07-05 Mentor Graphics Corporation Improper voltage level detection in emulation systems
US9236852B2 (en) * 2012-02-01 2016-01-12 Microchip Technology Incorporated Input capture peripheral with gating logic
US9250900B1 (en) 2014-10-01 2016-02-02 Cadence Design Systems, Inc. Method, system, and computer program product for implementing a microprocessor with a customizable register file bypass network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590581A (en) * 1983-05-09 1986-05-20 Valid Logic Systems, Inc. Method and apparatus for modeling systems of complex circuits
US4635218A (en) * 1983-05-09 1987-01-06 Valid Logic Systems Method for simulating system operation of static and dynamic circuit devices
US4691316A (en) * 1985-02-14 1987-09-01 Support Technologies, Inc. ROM emulator for diagnostic tester
US4744084A (en) * 1986-02-27 1988-05-10 Mentor Graphics Corporation Hardware modeling system and method for simulating portions of electrical circuits
CN1045655A (zh) * 1988-11-23 1990-09-26 约翰弗兰克制造公司 系统自动诊断的内核测试接口和方法
US5353243A (en) * 1989-05-31 1994-10-04 Synopsys Inc. Hardware modeling system and method of use
US5369593A (en) * 1989-05-31 1994-11-29 Synopsys Inc. System for and method of connecting a hardware modeling element to a hardware modeling system
US5068852A (en) * 1989-11-23 1991-11-26 John Fluke Mfg. Co., Inc. Hardware enhancements for improved performance of memory emulation method
US5146460A (en) * 1990-02-16 1992-09-08 International Business Machines Logic simulation using a hardware accelerator together with an automated error event isolation and trace facility
EP0494788B1 (en) * 1991-01-11 1996-10-02 Canon Kabushiki Kaisha Fault diagnosis using simulation
US5325365A (en) * 1991-10-04 1994-06-28 John Fluke Mfg. Co., Inc. In a memory emulation test apparatus, a method of and system for fast functional testing of memories in microprocessor-based units
US5546562A (en) * 1995-02-28 1996-08-13 Patel; Chandresh Method and apparatus to emulate VLSI circuits within a logic simulator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305137A (ja) * 2006-05-12 2007-11-22 Samsung Electronics Co Ltd 分配された同時的シミュレーション
KR101205325B1 (ko) 2006-05-12 2012-11-29 삼성전자주식회사 시뮬레이션 시스템 및 그 방법
KR101524828B1 (ko) * 2008-04-23 2015-06-02 삼성전자주식회사 에뮬레이션 시스템 및 그 구동 방법

Also Published As

Publication number Publication date
US5748875A (en) 1998-05-05
EP0904547A1 (en) 1999-03-31
CA2257969A1 (en) 1997-12-18
CA2257969C (en) 2001-01-30
WO1997047981A1 (en) 1997-12-18

Similar Documents

Publication Publication Date Title
JP2001508202A (ja) ディジタル論理シミュレーション/エミュレーションシステム
US6202044B1 (en) Concurrent hardware-software co-simulation
US6389558B1 (en) Embedded logic analyzer for a programmable logic device
US8839179B2 (en) Prototype and emulation system for multiple custom prototype boards
US6247147B1 (en) Enhanced embedded logic analyzer
US5146460A (en) Logic simulation using a hardware accelerator together with an automated error event isolation and trace facility
US5329470A (en) Reconfigurable hardware emulation system
US7120571B2 (en) Resource board for emulation system
US7072825B2 (en) Hierarchical, network-based emulation system
US6704889B2 (en) Enhanced embedded logic analyzer
US5604888A (en) Emulation system employing motherboard and flexible daughterboards
US7721036B2 (en) System and method for providing flexible signal routing and timing
US20020107682A1 (en) Apparatus for emulation of electponic hardware system specification
KR20040028599A (ko) 타이밍-비민감성 글리치 없는 로직 시스템 및 방법
Gateley et al. Ultrasparc-i
US20120136645A1 (en) Managing Communication Bandwidth in Co-Verification of Circuit Designs
Tessier et al. The virtual wires emulation system: A gate-efficient ASIC prototyping environment
EP0410502B1 (en) Method and apparatus for emulating interaction between application specific integrated circuit (asic) under development and target system
CN116029242A (zh) 一种云原生的硬件逻辑仿真fpga加速方法及系统
KR100928134B1 (ko) 주문형 vcd 시스템 및 방법
JP4656929B2 (ja) エミュレーションシステムとシミュレータとの間でのシミュレーション及び可視化データ転送のための最適化インターフェース
CN113204929A (zh) 基于sv和uvm实现ahb vip的方法、电子装置及存储介质
JPH06342454A (ja) 複数のシミュレーション・プロセッサを備えたロジック・シミュレーション・マシン