JP3500633B2 - マイクロエレクトロニクス・デバイスのエミュレーション方法及びエミュレーション装置並びにシミュレーション装置 - Google Patents

マイクロエレクトロニクス・デバイスのエミュレーション方法及びエミュレーション装置並びにシミュレーション装置

Info

Publication number
JP3500633B2
JP3500633B2 JP51394693A JP51394693A JP3500633B2 JP 3500633 B2 JP3500633 B2 JP 3500633B2 JP 51394693 A JP51394693 A JP 51394693A JP 51394693 A JP51394693 A JP 51394693A JP 3500633 B2 JP3500633 B2 JP 3500633B2
Authority
JP
Japan
Prior art keywords
functional modules
microelectronic device
design proposal
physically
functional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP51394693A
Other languages
English (en)
Other versions
JPH07506685A (ja
Inventor
チョン ミン リン
リー トロン ニューエン
ウェイーヤン ホー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of JPH07506685A publication Critical patent/JPH07506685A/ja
Application granted granted Critical
Publication of JP3500633B2 publication Critical patent/JP3500633B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

【発明の詳細な説明】 発明の背景 1.産業上の利用分野 本発明はチップのテスト・システム並びに方法に関
し、より具体的にはハードウエアのエミュレーション・
アクセラレータ・システム並びにマイクロエレクトロニ
クス・デバイス設計をテストするための方法に関する。
2.関連技術 VLSI(Very Large Scale Integrated)チップのコン
ピュータ・アーキテクチャを設計するに当たって忘れて
はならない、考慮すべき問題がたくさんある。いくつか
の主要な問題点については、Stephen B.Furberが著書
「VLSI RISC Architecture and Organization」(Marce
l Dekker社、1988)の中で述べている。
ある特定の大きさのウエハを製作(プロセス)する費
用は大体一定しているが、欠陥(不良品)によってダイ
(型)のコストは面積比より顕著に増加してしまう。あ
る一定の面積以上のチップは事実上製造不可能である。
従って、1個のチップ上に盛り込まれるべき機能性は、
経済的に妥当な製品を確保するために非常に注意して指
定されなければならない。設計者はまた、機能と接続の
トポロジを極めて重要なものにしている、VLSI設計の非
常に二次元的な特質を知っていなければならない。
トポロジ上効率的なレイアウト(ほとんどのメモリ・
デバイスがそうである)は、インターコネクト(配線)
支配型のランダム・ロジック構造に比べて、単位面積当
たり一桁多くトランジスタを入れることができる。ロジ
ック図面から最終的なレイアウトのサイズを見積るのは
困難である。
VLSIの1つの重要な特性として、設計を産み出すのに
要する仕事量は、使用されるトランジスタの総数ではな
く、むしろ必要とされる様々な基本(リーフ又はスタン
ダード)セルの数によって決まるということが挙げられ
る。1個のレジスタ・ビットの設計が一度なされてしま
えば、その設計を模写して任意の大きさのレジスタ・バ
ンクを作るのは比較的容易なことである。そうする方
が、はるかに少ない数のトランジスタを使用するランダ
ム論理関数を生成するより明らかに手早い。
従ってVLSIの設計者達は、モザイク式配列のスタンダ
ード・セルをベースにするレギュラ・ストラクチャを構
築しようと懸命である。現在のところ、ASIC設計のため
のレギュラ・ストラクチャのアプローチ(方法)には次
の4つがある。即ち、シー・オブ・ゲート(sea−of−g
ates)、ゲート・アレイ、スタンダード・セル、及びメ
ガセル(最も組織化されているのがメガセル)である。
ランダム論理への中間的方法は、スタンダード・ゲー
ト、ラッチ、フリップ・フロップなどの集合体が設計さ
れ特性が明らかになっているセル・ライブラリを使用す
るやり方で、回路設計者は適切なセルを選び配線すれば
よい。この方法からは最少のレイアウトは産み出せない
が、TAT(turn around time)が短縮される。この方法
はまた、何らかの理由でレギュラ・ストラクチャに組み
込むことのできない少量の論理を実現するのに適してい
ることがある。
この設計手法はULSI(Ultra Large Scale Integratio
n)チップにも適用することができる。相違点は、ULSI
ではレギュラ・ストラクチャがより大規模で、機能性が
もっと多いことである。ULSIで、ユニークな機能特徴を
もつレギュラ・ストラクチャはメガセルと呼ばれてい
る。
装置(デバイス)がうまく作動しない場合、規模がさ
らに大きいULSIデバイスは言うまでもなく、VLSIデバイ
スでもどこが悪いのかを見極めるのは困難である。一
度、問題点が突き止められてもそれを直すには数箇月あ
るいはそれ以上の月日を要することがある。それゆえ
に、初期の設計に基づいて作動するデバイスを生産する
ことが非常に重要になってくる。そのデバイスが、例え
ばスーパスカラRISC型プロセッサのように込み入ったも
のだったら、これは簡単なことではない。
設計が修正されれば、すぐに大量生産に移行できると
考えたいところだが、そう考えるのは間違いである。大
規模な集積回路が大量に製造される場合、製造されたデ
バイスの少なくとも半分が機能しなくなる。不良原因と
なる欠陥はさまざま且つランダムなので、不合格品を見
極めるためには全てのデバイスを徹底的にテストしなけ
ればならない。テスト・プログラムにおいては、トラン
ジスタの全てが機能していることを確かめるために、チ
ップ上の全てのトランジスタを作動させ、不良があれば
端子の測定出力にその影響が確実に現われるようになっ
ていなければならない。また、トランジスタが必要性能
等を満たしていることを確認するためにクリティカル・
パスの速度を測定しなければならない。
1.従来からのソフトウエア・エミュレーション マイクロプロセッサ等マイクロエレクトロニクス・デ
バイスのテスト用に、幾つかのソフトウエア・シミュレ
ーション・アプリケーションが市販されている。動作レ
ベルでのエミュレーションとトランジスタ・レベルでの
回路解析がその2極をなすものである。(SILOS等の論
理レベル・シミュレータや、Timemillのようなスイッチ
ング・レベル・シミュレータは中間のシミュレーション
・ツールである。) 米国カリフォルニア州サンノゼ市に本拠を置く、Cade
nce Design Systems,Inc.製のVerilogと呼ばれる動作レ
ベルのソフトウエア・シミュレーション・ツールは、高
レベルの設計概念を検証するために数多くの設計会社で
従来から使われているものである。このソフトウエア・
シミュレーションは動作オペレーションだけしか考慮に
入れていないから、マイクロエレクトロニクス・デバイ
ス設計のタイミング、レイアウト並びに物理的現象は正
確に評価されない。VLSI及びULSIのマイクロエレクトロ
ニクス・デバイス用として、この種のシミュレーション
は、初期のアーキテクチャの観点からは問題ないが、回
路のタイミングやローディングに関してはモデリング上
限界があるからマイクロエレクトロニクス・デバイスそ
のものが果たして機能するのかどうかを予想するまでに
は遠く及ばない。例を上げれば、データを両方向に伝播
する双方向回路は、トランジスタが出力ノードにつなが
るフィードバック・ループを持っている場合、フィード
バック・ループが強すぎて、入力を変えることがある
(時間と結合している場合、その結果はVerilogでは容
易に決められない。)。
回路解析レベルでオペレートするソフトウエア・アプ
リケーションはもっと正確にデバイスをエミュレートす
るが、トランジスタ数わずか10万のマイクロエレクトロ
ニクス・デバイスに対してテスト・ベクタ1本を処理す
るのに数日かかることがある。しかるに、こうした回路
解析ソフトウエア・ツールでは、相当数のテスト・ベク
タを処理するのは事実上不可能である。このようなソフ
トウエア・シミュレータの一例が米国カリフォルニア州
キャンベル市に本拠を置くMeta−Software,Inc.製のSAG
Eである。SAGEタイプのシミュレータはSPICE型のシミュ
レータよりも速いが、SAGEシミュレーションでさえデバ
イス・モデルや近似のデバイス方程式をベースにしてい
るから、デバイスや配線への温度や3−Dの影響などシ
ミュレーションによる解決法には限界があることは言う
までもない。
2.従来からのFPGAエミュレーション 米国カリフォルニア州マウンテンビュー市に拠するQu
ickturn Systems,Inc.はフィールド・プログラマブル・
ゲートアレイ(FPGA:Field Programmable Gate Array
s)を使って1MHzのハードウエア・エミュレータを製造
しているが、この会社のエミュレータは前項に述べたソ
フトウエアによるテスト方法に比べておよそ6桁の性能
向上がみられる。この方法においては、テストされるマ
イクロエレクトロニクス・デバイスの設計に機能的にマ
ッチしたビルディング・ブロックを論理的に構築するた
めに、ヒューズ式PAL、EPROM、EEPROM等フィールド・プ
ログラマブル・ゲートアレイのプログラミングが行なわ
れる。しかしながら、テストされるマイクロエレクトロ
ニクス・デバイスの論理設計を変更する度毎にそのFPGA
の再プログラミングと分割(partioning)が必要にな
る。こうしたハードウエアの置き換えや再プログラミン
グにはある程度の費用や手間が掛かり、機能検証にも時
間を要する。
上述の従来からの両テスト方法においては、トランジ
スタやクリティカル・タイミング・パス、ローディング
や結合、より微妙なデバイスのリークや電荷配分の影響
等々は正確にテストされないので、ソフトウエア、ハー
ドウエアともに、モデリングの精度の問題を抱えてい
る。
Verilogのように動作レベルでオペレートするソフト
ウエア・アプリケーションでは1個のULSIチップに対し
てテスト・ベクタ1本を実行するのに数秒もしくは数十
秒で済む。しかしながら先に明確に述べたように、動作
レベルでのテストからは各々のトランジスタやクリティ
カル・パスに関する必要なモデルは得られない。
テスト・プログラムの設計や開発にはデバイスそのも
のの論理設計と同じ位の仕事がかかるが、論理設計の段
階でテストのことを慎重に考慮しておくことによって大
きく軽減することができる。テスト簡易化のためだけに
相当数の論理が追加されることがある。テスト費用がデ
バイスの費用合計のかなりの割合を占める場合もある。
テスタビリティ(試験性)を考慮した設計にすることが
極めて重要である。
設計をデバイス/回路モデルに変換するに当たって、
Quickturn社などのベンダは特定の変換テーブルを調べ
なければならず、その結果、実回路より5〜10倍多くFP
GAタイプのチップ上に載ることになる。経費が途方もな
く大きくなることがある。400万個のトランジスタを有
するULSIチップ・エミュレータの大きさをもとにして40
00万個のトランジスタの場合を想像してみよう。その
上、そのサイズのFPGAエミュレータをバーンインしたり
プログラムするのに要する費用や時間は相当なものであ
る。設計をテストできる状態に変換するにはエンジニア
・チームが1年以上かかることがある。
こうした問題は複雑にアーキテクチャの決定に影響す
るし、さらに急速に進歩している半導体テクノロジを制
限することになる。こうした制約は移動目標のようなも
のである。即ち、時代の一時点で何らかの意味において
最適とされているVLSIやULSIのアーキテクチャは、数年
後にはもはやそうではなくなるだろうし、逆に数年前に
は製造不可能なものであった。
従って、VLSIやULSIのアーキテクチャの設計に当たっ
ては、設計が完了しその設計を実現させるまでの時間を
見積ること、その設計を将来利用可能と思われる半導体
テクノロジにマッチさせることが必要である。
発明の概要 本発明は、スーパASICメガセル・ライブラリをサポー
トする物理的なコンポーネントを有するハードウエア・
エミュレーション・アクセラレータをその対象としてい
る。
本発明による、一般的なハードウエア・エミュレーシ
ョン・アクセラレータ・チップ(以後、ハードウエア・
アクセラレータと呼ぶ)はテスタビリティ(試験性)並
びにインターコネクト強化型の設計になっている。当該
ハードウエア・エミュレータはパラレルI/Oバスライン
に接続された物理的に実現された(physically impleme
nted)複数の機能モジュールから成り立っている。物理
的に実現された機能モジュールは各々が少なくとも1個
以上のブロックで構成されている場合がある。テスタビ
リティ(試験性)強化型の設計であるから、欠陥のある
チップは容易にテストされ見極めることができる。従っ
て、不良チップ内でも、物理的に実現された機能モジュ
ールやブロックの無傷の部分はハードウエア・エミュレ
ータのコンポーネントとして利用することができる。1
個のモジュール内のどのモジュールまたはブロックにお
いてもパラレル・アクセス/ランダム・スキャン・テス
タビリティ(試験性)は、テストやエミュレーション中
使用するために備えられている前記パラレルI/Oバスラ
インを介して実現される。その上、さらに一層の節電と
チップの寿命を延ばすために、新規の「選択的パワー・
ダウン」方式を実現している。
スーパASIC(Application Specific Integrated Circ
uit)メガセル・ライブラリは、テスト済みの物理的に
実現された機能モジュールやブロックの集合から成り立
っている。これらのモジュールやブロックは、マイクロ
エレクトロニクス・デバイス設計にかなうハードウエア
・アクセラレータを作り出すために、当該ライブラリか
ら選択され、配線接続することができる。この場合、当
該ハードウエア・アクセラレータは、その設計が得意先
の満足いく性能を満たしているかどうかを検証するため
にテストすることができる。設計が検証されたら、その
チップは前記ハードウエア・アクセラレータ用に使用さ
れたものと等価のライブラリ・モジュールで構成される
ことになるから、そのチップは製造に回すことができ
る。
物理的に実現された機能モジュールはテストされ、そ
の後にエミュレーションのために使われる。従って、ハ
ードウエア・アクセラレータと、製品化されたマイクロ
エレクトロニクス・デバイスとの間の性能差は事実上最
小限に押さえられる。
当該ハードウエア・アクセラレータを使うマイクロエ
レクトロニクス・デバイスのエミュレーションはクロッ
ク速度で実行されるが、クロック速度はテスト済みのチ
ップを配線接続することによって制限される。ある特定
のマイクロプロセッサの設計を満たすハードウエア・ア
クセラレータを1つ作るために、多数(例えば、5から
10個)のテスト済みのチップが必要になるから、そのハ
ードウエア・アクセラレータのクロック速度は限られて
しまう。しかしながら、減速されたクロック速度(例え
ば、10MHz台)でのテストでも、当該ハードウエア・ア
クセラレータは従来からのハードウエア・エミュレーシ
ョン・アプリケーションより優に10倍以上のテスト・ベ
クタ数を処理することができる。さらに、当該ハードウ
エア・アクセラレータのモデリングの精度は従来からの
エミュレーション・アプリケーションよりはるかに優れ
ている。何故なら、当該ハードウエア・アクセラレータ
は、最終の製品であるマイクロエレクトロニクス・デバ
イスを構成する物理的に実現された機能モジュールから
成り立っているからである。使っていないモジュールへ
のパワーを選択的に断つ機能を組み込めば、実際のオペ
レーション時の消費電力に近い消費電力に調整すること
ができる。
テスト・ベクタの処理時間を短縮することによって得
意先は新しい設計をより速く市場に出すことが可能にな
る。市場導入までに掛かる時間が短いということは普通
は性能が確かでないという解釈になるのであるが、本発
明の秀でたモデリング精度によってこの問題は改善され
るだろう。これによって、ハードウエア・アクセラレー
ションに使われる物理的に実現された機能モジュールの
チップの歩留まりが非常に高くなり、本発明に基づく製
造並びにテストに掛かる費用は低くなる。
トランジスタ・ゲート幅率のミスマッチが原因で起こ
るトリガリングの問題も本発明によってテストすること
ができる。スィッチング速度もテストすることが可能で
ある。速すぎるレートでのスィッチングはグラウンド・
バウンスやレース・コンディションの原因になり、逆に
遅いと不要な遅延を起こすことになる。
さらに、異なるプロセス・コーナをもつチップから選
択された機能モジュールやブロックを、チップ・レベル
やボード・レベルにおける最悪のコーナをテストするた
めに、使用することができる。このテスタビリティ(試
験性)により、テスト済みで特性が明らかになったデー
タが得られる。このデータは提案された設計の基準を満
たし「最悪」のシナリオをテストするために、チップを
選択する際に使われる。こうした問題は変換テーブル方
式のハードウエア・アプローチではチェックできない
し、ソフトウエアによって正確にシミュレートすること
もできない。
前述したところの、さらにその他の本発明が有する特
徴並びに優れた点については、本発明の実施例における
以下のより具体的な記述及び添付の図面から明確になる
であろう。
図面の簡単な説明 本発明は以下の添付図面を参照するとより良く理解さ
れるであろう。
第1A及びB図はマイクロエレクトロニクス・デバイス
用の設計・組立て・テストの工程を表す典型的なフロー
チャートである。
第2図は本発明による新規の検証工程における作業ス
テップを示す高レベルのフローチャートである。
第3図は本発明によるマイクロエレクトロニクス・デ
バイスの典型的な機能モジュールを示す平面図の高レベ
ルのブロック図である。
第4図は本発明による典型的なマイクロエレクトロニ
クス・デバイスを示す平面図の高レベルのブロック図で
ある。
第5図は本発明による典型的なマイクロエレクトロニ
クス・デバイスを示す平面図のさらに一層高レベルのブ
ロック図である。
第6図は本発明による自動ハードウエア・アクセラレ
ータ・システムの典型的な一例である。
第7図は第6図で示した自動ハードウエア・アクセラ
レータ・システムによってアセンブルされたハードウエ
ア・エミュレーション・アクセラレータの実施例を図解
したものである。
第8A〜F図は本発明によりテストされたシリコン・チ
ップ並びに機能モジュールを示すウエハ・マップであ
る。
第9図は本発明により製造された実際のシリコン・チ
ップの機能モジュールの「周波数対電圧」表である。
発明の詳細な説明 第1A図はマイクロエレクトロニクス・デバイスの典型
的な設計・組立て・テストの工程を示すフローチャート
である。ブロックまたはステップ102は、提案されたマ
イクロエレクトロニクス設計を実現するために使われる
SPICEモデル、レイアウト設計ルール等のメーカの開発
ツールを表す。ブロック102で表された知識ベースは次
に、ブロック104で示すように、得意先から提案された
マイクロエレクトロニクス・デバイス設計に適用され
る。その提案されたマイクロエレクトロニクス・デバイ
ス設計には、例えば、アーキテクチャの定義とシミュレ
ーション、論理設計とシミュレーション、回路設計とシ
ミュレーション、さらにその提案されたマイクロエレク
トロニクス・デバイスのレイアウトが盛り込まれている
ことがある。
集積設計・シミュレーションの工程は第1B図に示す通
りである。提案されたマイクロエレクトロニクス・デバ
イスは一度設計がなされると、その設計はまず動作シミ
ュレータ及び論理シミュレータを使ってテストされ、レ
イアウトが行なわれる。次に設計ルール、スケマティッ
ク、抽出ローディング情報を基に検証が行なわれる。ブ
ロックの120から134で示した設計・シミュレーションの
工程は様々なソフトウエア・シミュレーション・ツール
並びに技法を用いて実行される。動作、論理、タイミン
グ、回路等様々なレベルのシミュレーションが市販品を
使って実行できる。この検証工程の1例が、Weste他の
著書「Principles of CMOS VLSI Design,A System
s Perspective(Massachusetts州ReadingのAddison−W
esley出版社、1985年、ページ255〜269)」の中で説明
されている。
レイアウト後の検証が完了すると、ブロック108で示
すように、マスク生成のステップが「生産」工程の最初
に実行される。次に、ブロック110のウエハ組立ステッ
プで示すように、マイクロエレクトロニクス・デバイス
が組み立てられる。
第1A図に示す典型的工程の最終の3ステップは、ブロ
ック114、116及び118それぞれに示すように、ウエハ選
別試験、実装、最終テストである。
本発明によるスーパASIC(Application Specific Int
egrated Circuit)メガセル・ライブラリの作成並びに
オペレーションについて以下に記述する。
本発明においては、マイクロエレクトロニクス・デバ
イスを、全て手仕事で作るのではなく、可能な限りにお
いて、マイクロエレクトロニクス・デバイスの設計並び
に組立てのために物理的に実現された機能モジュールの
形で使用する。様々な物理的に実現された機能モジュー
ルで編成されたスーパASICメガセル・ライブラリが作成
される。その物理的に実現された機能モジュールは、浮
動小数点演算装置、論理演算装置、キャッシュ制御装
置、メモリ変換装置、入出力(I/O)コントローラ、RO
M、RAMもしくはその他の記憶装置と、ハードウエアに実
現されたニューラル・ネットのモジュールまたはその同
種のものから成り立っている。そのような高度な機能モ
ジュールは、本発明によるスーパASICメガセル・ライブ
ラリの方法を用いれば、スタンダード・セルやゲートア
レイでのインプリメンテーション(実現)に比べて、も
っと容易に実現される。スタンダード・セルやゲートア
レイでのインプリメンテーションで同じ機能性を獲得す
るにはより規模の小さいブロックを数多く配線接続しな
ければならず、速度は下がり消費電力は上がるだろう。
本発明によるスーパASICメガセル・ライブラリから選
択された物理的に実現された機能モジュールを用いてア
センブルしたハードウエア・エミュレーション・アクセ
ラレータが、新規の検証工程の中で使われる。比較的に
短時間で他のいかなる検証方法よりも信頼度の高い設計
を達成するために、この新しい検証工程を従来からの検
証工程とともに使うことが可能である。
本発明による検証工程の典型的なフローチャートは第
2図に示す通りである。検証工程はブロック220に始ま
る。検証工程の第1のステップはブロック222で示す通
りであるが、提案されたマイクロエレクトロニクス・デ
バイスの設計を実現するために、スーパASICメガセル・
ライブラリから物理的に実現された機能モジュールを選
択する作業を含む。適切な、物理的に実現された機能モ
ジュールが、マイクロエレクトロニクス・デバイス設計
(設計仕様とも呼ばれる)にかなうべく選ばれる。
次に、その選択された、物理的に実現された機能モジ
ュールやブロックは、ブロック224に示すように、当該
マイクロエレクトロニクス・デバイスをエミュレートす
るためのハードウエア・エミュレーション・アクセラレ
ータを作成するために「接続」される。その接続はハー
ドウエアとソフトウエアの接続もしくは結合の組み合わ
せであり、アプリケーション固有である。ブロック226
で示すように、次に複数本のテスト・ベクタがハードウ
エア・エミュレーション・アクセラレータに流される
(apply)。検証工程の終わりはステップもしくはブロ
ック228で示されている。
「物理的に実現された機能モジュール」という言い方
は、そのハードウエア・エミュレーション・アクセラレ
ータが、マイクロエレクトロニクス・デバイス製品その
ものを最終的に構成する機能モジュールと物理的に同等
な機能モジュールから成り立っているということを示し
ている。その物理的に実現された機能モジュールは機能
的に物理モジュールと同等であるばかりでなく、レイア
ウトやデバイス・レベルにおいても当該マイクロエレク
トロニクス・デバイスと全く同じである。
本発明では、提案されたマイクロエレクトロニクス・
デバイス設計にかなうべく、制御の目的上、ハードウエ
ア・エミュレーション・アクセラレータのわずかな部分
に限って特別に従来からの方法に従って設計することが
必要になる場合も想定している。そうしたことから、ハ
ードウエア・エミュレーション・アクセラレータの主要
なコンポーネントとなるモジュールが、メガセル・ライ
ブラリから既製の物理的に実現された機能ユニットとし
て簡単に選択されるということが評価されるのである。
従って、マイクロエレクトロニクス・デバイスの実際の
オペレーションは、本発明によるハードウエア・エミュ
レーション・アクセラレータによってエミュレートされ
ることになる。
マイクロエレクトロニクス・デバイスのオペレーショ
ンは、設計とその設計の物理的現象、実際のレイアウト
によって定義される物理的現象、さらにそのレイアウト
がいかにして具現化(accomplish)されるかということ
によって決定される。本発明は非常に精度の高いエミュ
レータである。何故なら、実際のレイアウトとそのレイ
アウトがいかにして具現化される(実デバイス)かとい
うことは、物理的に実現された機能モジュールと、最終
の製品であるマイクロエレクトロニクス・デバイスの中
に組み立てられた機能モジュールと、その両方において
同じだからである。
第3図は、典型的な半導体チップ302と、ハードウエ
ア・エミュレーション・アクセラレータを作るための機
能モジュールの接続を示す本発明の一例である。
チップ302は多数の物理的に実現された機能モジュー
ル304と1本の内部入出力(I/O)バス306とから成り立
っている。物理的に実現された機能モジュール304は多
数のトライステート・バッファ308を使って、バス306に
連結されている。当業者には明らかなように、トライス
テート・バッファ308は、データが機能モジュール304・
バス306間を正しく流れるようにするために使用可能に
したり使用不能にしたりすることができる。その他のバ
ッファ方式やI/Oバスを用いることも可能である。内部
バス306は外部並列バス310に接続していることがわか
る。これは概念的なものであり、典型的にはI/Oパッド
やその他同種のものにより処理される。外部電源との接
続は示していない。
本発明による機能モジュール304は少なくとも1個以
上のより規模の小さな機能ブロック312から成り立って
いる。本明細書による開示において、「機能モジュー
ル」もしくは「物理的に実現された機能モジュール」と
いう言葉は、より規模の大きい機能モジュール304自
体、もしくは当該機能モジュール304内のブロック312を
等しく言い表すものである。機能モジュール304やブロ
ック312の具体的なオペレーションは本発明にとって決
定的な意味をもつものではない。本発明は、単一の半導
体チップもしくは基板上の物理的に実現された機能モジ
ュール304またはなんらかのモジュールから選択された
ブロック312を用いて実現される、現在及び将来のコン
ピュータ・アーキテクチャ及びASICを含むマイクロエレ
クトロニクス・デバイスのエミュレーションを想定(co
ntemplate)している。そのハードウエア・エミュレー
ション・アクセラレータ自体が少なくとも1個以上のチ
ップで構成されていることがある。
本発明によるチップ302のレイアウトは、個々の機能
モジュール304への並列アクセスやランダム・スキャン
を容易にする共通バス306を基礎にしている。ブロック3
12も個々にバス306を介してアクセスすることができ
る。「個々にアクセス可能な」とは、別々の機能モジュ
ール304とブロック312が、個別に且つ階層的にアドレス
指定できるということを意味する。従って、データや制
御信号は、チップ302への入出力がなされ、その後制御
ブロック318によってデコードされる。ランダム・スキ
ャンによって、チップ302上のいかなるモジュール内の
いかなるブロックもテストすることが容易になる。バス
306を介して行なう並列アクセスによって、I/Oバスライ
ンの全てがテストや使用ができるようになり、ブロック
318の制御あるいはバス310に接続する外部コントローラ
(表示していない)によって、各モジュールがバス306
を介して他のモジュールやブロックと対話することが可
能になる。
システム・クロック・ジェネレータ314もチップ302上
に1個の機能モジュールとして表示されている。各チッ
プ302は自身のクロック・ジェネレータ314を備え持って
いる場合もあれば持っていない場合もあり、それはアプ
リケーションによって異なる。クロック・ジェネレータ
314は、そのチップ上の機能モジュール304やブロック31
2、プログラム可能型のオーバラップしないクロック位
相機能を備えた他のチップ上のモジュールやブロックを
個別に同期させるか、またはバス310に結合したマスタ
・クロックのスレーブになる場合がある。クロック・ジ
ェネレータ314は、バス306/310か或いは専用のクロック
制御ライン(表示していない)を介して機能モジュール
/ブロックを制御することができる。
1つの好適な実施例において、I/O制御ブロック316は
トライステート・バッファ308用のセレクト信号を生成
するために組み込まれている。チップの節電のため機能
モジュール304へのクロック信号を選択してON/OFFにす
るように、パワー管理制御ブロック318が組み込まれて
いることもある。また、同じ節電結果を得るために、パ
ワー管理制御ブロック318がトライステート・バッファ3
08を使用可能にしたり使用不能にしたりするようになっ
ている場合もある。パワー管理制御ブロック318は、エ
ミュレートされるマイクロエレクトロニクス・デバイス
の真の電力消費をより正確にモデル化するために、未使
用の機能モジュールやブロックを選択してパワー・ダウ
ンすることもできる。
スーパASICメガセル・ライブラリのアプローチはバス
306/310を介して互いに接続される個々のチップ302の高
レベル、高集積の物理的に実現された機能モジュールを
サポートしている。これらの物理的に実現された機能モ
ジュールは非常に高速且つ高集積で、ゲートアレイやス
タンダード・セルのアプローチよりも消費電力が低い。
トライステート・バッファ論理308は、各機能モジュー
ルが選択的にバス306と結合したり結合を断たれたりで
きるように、チップ302上に組み立てられている。よっ
て単一チップ上での機能モジュールの電気的接続(結
合)や、I/Oバス310と少なくとも2個以上のチップとの
接続が可能となり、時間/空間多重化方式によって、マ
イクロエレクトロニクス・デバイスをエミュレートする
ために、異なるチップ上の機能モジュールを相互に接続
できるようになる。
物理的に実現された機能モジュールを使ってのハード
ウエア・エミュレーション・アクセラレータの構築によ
って、プロトタイプが実際に製造される前にマイクロエ
レクトロニクスの提案された設計をテストできるように
なる。その上、ハードウエア・エミュレーション・アク
セラレータは、製造工程のどの段階においても、提案さ
れた設計変更をテストするために使用することができ
る。このように、本発明は、プロセス温度や電圧コーナ
などの条件付きの、配線接続された、テスト済み、特性
指定済みの機能モジュールをベースにしたマイクロエレ
クトロニクス・デバイスのためのテスト手法をサポート
している。そうした利点は従来のエミュレーション/シ
ミュレーション技法からは得られない。
第3図で示したレイアウトがなされている物理的に実
現された機能モジュールから成り立っているチップなら
事実上どれでも、本発明のハードウエア・エミュレーシ
ョン・アクセラレータとして使うことができる。本発明
を実現するために用いるチップは、任意数のメガセル・
ライブラリ・モジュールを成すために特別に製造された
チップかもしくは第3図のバス・レイアウト手法に従っ
て設計されたその他のチップとする。第3図に示す手法
に従って製造された半導体チップは、並列アクセス・ラ
ンダム・スキャンやテストに適しているため、例えば物
理的に実現された機能モジュールが1個しか正常に機能
していない不良のチップでも、ハードウエア・エミュレ
ーション・アクセラレータで使うことができる。非常に
低コストで、本発明によるハードウエア・エミュレーシ
ョン・アクセラレータのチップとともに用いることがで
きる従来からのデバイス/プロセス技法の例として、NM
OS、PMOS、CMOS、BiCMOS、GaAs、フォトニック・デバイ
ス、さらにこれらを組み合わせたものなどが挙げられ
る。
第3図に示す手法に従って製造された2個のチップの
例を考察しよう。第4図に示したNビットのマイクロプ
ロセッサ440及び第5図に示したキャッシュ記憶装置550
は、それぞれ、上述の手法に従ってレイアウトされたト
ライステート・バッファ446、558を介してバス444、556
に結合する機能モジュール442と552〜554から構成され
ている。
Nビットのマイクロプロセッサ440の機能モジュール4
42は、例えば、中央演算処理装置(CPU)、浮動小数点
演算装置(FPU)、変換索引バッファ(TLB)、及びクロ
ック・ジェネレータ448から成り立っていることがあ
る。キャッシュ記憶装置550は、例えば、キャッシュ・
コントローラ552とキャッシュRAM554とで構成されてい
る場合がある。
チップ440と550の組立て後、その個々の機能モジュー
ルはそれぞれバス444と556を介して個々にテストするこ
とができる。100%使用可能なこれらのチップはそれぞ
れ本来の目的のために使用される。従来のやり方では、
100%使用可能とまではいかないか或いは全く使いもの
にならない残りのチップ(即ち、欠陥のあるチップ)は
廃棄される。
しかしながら、本発明においては、チップ当たりの欠
陥が1件(即ち、1cm2当たり欠陥が1件)といった程度
の不良チップの多くは、少なくとも1個以上の使用可能
な機能モジュールを有するため、メガセル・ライブラリ
機能を果たすために使用することができる。メガセル・
ライブラリの一部になる部分的に使用可能なチップが、
ハードウエア・エミュレーション・アクセラレータを実
現するために、最終的に選ばれる。メガセル・ライブラ
リ機能を果たすために使用される部分的に使用可能なそ
のチップは、正常に機能している機能モジュール/ブロ
ックを少なくても1個、或いは多数有していることがあ
る。クロックや入出力の欠陥またはVDDやVSSの金属回線
のショートといった極端な欠陥がある場合のみ、そのチ
ップは全く使われない。総体的なチップの歩留まりは従
来に比べて非常に高くなる。一つのアプリケーション用
にしかバーンインされないFPGAのような従来の方法に比
べて、コストは非常に安くなる。
例えば、正常に機能している機能モジュールが4個に
満たないチップ440はNビットのマイクロプロセッサ・
チップとしては使用できないこととみなされる。しかし
ながら、そのチップを廃棄するのではなくて、その中の
正常に機能している機能モジュールを確認してその旨ラ
ベルを付けておく。そして、そのチップは本発明による
スーパASICメガセル・ライブラリの一部になる。しかる
に、そのライブラリは、本発明によるハードウエア・エ
ミュレーション・アクセラレータを作成すべく、後に配
線接続される機能モジュールを有するテスト済みのチッ
プから成り立つことになる。
本発明によるハードウエア・アクセラレータを組み立
てるために望ましい機能モジュール/ブロックが選択さ
れ、位置指定され、さらに少なくともゼロ以上の他のチ
ップと配線接続することができる限り、ライブラリ内の
チップのラベル付けや類別は本発明にとって決定的な意
味をもつものではない。こうしたラベル付け、類別、選
択、位置指定、組立てのステップは、当該メガセル・ラ
イブラリがいかにして実現されるかを説明するものにす
ぎない。本発明ではこのような例示したタスクを実行す
るためのシステムを手動と自動とで想定している。
本発明による自動のハードウエア・アクセラレータ・
システム600の典型的な1例を第6図に示す。好適な実
施例における自動ハードウエア・アクセラレータ・シス
テム600は、ワークステーション602、メガセル・ライブ
ラリ604、設計開発ツール・データベース606、並びに自
動ハードウエア・アクセラレータ・アセンブラ608から
成っている。
ユーザ610はワークステーション602を使って自動ハー
ドウエア・アクセラレータ・システム600に命令を入力
する。ユーザ610は、ワークステーション602と設計開発
ツール・データベース606を使って、マイクロエレクト
ロニクス設計をテストするためにハードウエア・エミュ
レーション・アクセラレータを作成し改良することがで
きる。ユーザ610は、そのマイクロエレクトロニクス設
計に基づいて、当該マイクロエレクトロニクス設計の要
件を満たすべくバス612を介してメガセル・ライブラリ6
04から機能モジュールを選択する。ハードウエア・エミ
ュレーション・アクセラレータ616をアセンブルするた
めに、メガセル・ライブラリ604内の選択された機能ユ
ニットがバス614を介して自動ハードウエア・アクセラ
レータ・アセンブラ608に送られるように、ワークステ
ーション602を周知の方法で事前にプログラムすること
ができる。ユーザ610は、ハードウエア・エミュレーシ
ョン・アクセラレータ616が完成したら、ワークステー
ション602を使ってそのアクセラレータにテスト・ベク
タを流す。テスト・ベクタはバス618を介してハードウ
エア・エミュレーション・アクセラレータ616に流され
る。エミュレーションはハードウエア・エミュレーショ
ン・アクセラレータ616とワークステーション602とをつ
なぐバス620に介してモニタされる。当該ハードウエア
・エミュレーション・アクセラレータを使って従来から
のテストを実行することも可能である。
ワークステーション602は、Sunワークステーション、
IBM PS/2やIBMと互換性のあるコンピュータ、メインフ
レーム、またはその他同種のものであることがある。メ
ガセル・ライブラリ604は、全自動型の記憶機構の形式
かまたは機能モジュールを有するテスト済みのチップを
格納し操作するための同じような自動型倉庫の形式のも
のであることがある。同様に、自動ハードウエア・アク
セラレータ・アセンブラ608は、メガセル・ライブラリ6
04から選択されたチップを受取りそれをハードウエア・
エミュレーション・アクセラレータ616にアセンブルす
る全自動型アセンブリ機構の形式であることがある。当
業者は、本発明を実現する上で、過度の実験を必要とし
ない自動ハードウエア・アクセラレータ・システム600
の機能性の実行に適した、或いは適するように修正可能
な数多くの自動システムやCAD/CAMソフトウエア・アプ
リケーションを、容易に思い浮かべることであろう。
提案されたマイクロエレクトロニクス・デバイス設計
のために、第6図に示す自動ハードウエア・アクセラレ
ータ・システム600によってアセンブルされた、ハード
ウエア・エミュレーション・アクセラレータ700の一実
施例を第7図で示す。エミュレートされる提案されたマ
イクロエレクトロニクス・デバイスはオンチップ・キャ
ッシュ・システム付きのNビットのマイクロプロセッサ
である。従って、ハードウエア・エミュレーション・ア
クセラレータ700は、第4図と第5図において説明した
両方のチップからの機能モジュールで構成されていなけ
ればならない。例えば、ハードウエア・エミュレーショ
ン・アクセラレータ700は2個のNビットのマイクロプ
ロセッサ・チップ440、2個のキャッシュ記憶装置チッ
プと1本の外部I/Oバス702から成り立っている。
704のラベルを付けた1番目のNビットのマイクロプ
ロセッサ・チップには機能しているCPU706とクロック・
ジェネレータ708が1個ずつ含まれる。710のラベルの付
いた2番目のNビットのマイクロプロセッサ・チップは
機能しているFPU712とTLB714を1個ずつ有している。1
番目のキャッシュ記憶装置のチップ716には機能してい
るキャッシュ・コントローラ718が、また2番目のキャ
ッシュ記憶装置のチップ720には機能しているキャッシ
ュRAM722がそれぞれ備わっている。チップを配線接続す
るために1本の外部バスが使われる。機能モジュール間
のパスは最終の製品であるチップの場合よりもハードウ
エア・エミュレーション・アクセラレータ700において
の方が長いから、エミュレーションのクロック速度を下
げなければならない。しかるに、クロック・ジェネレー
タ708から得たこの例におけるクロック・システムは、
提案されたマイクロエレクトロニクス・デバイス設計に
おける所望のクロック速度に比べて減速された速度でオ
ペレートされる。本発明による好適な実施例におけるク
ロック・ジェネレータはクロック・スキューの問題が起
きないように、ワイドな、オーバーラップしないデュー
ティ・サイクル(クロック・レート)になっていなけれ
ばならない。
ハードウエア・エミュレーション・アクセラレータ70
0のI/Oバス702はテスト・ベクタを流すためにワークス
テーション602に接続されている。ワークステーション6
02はまたI/Oバス702を介してハードウエア・エミュレー
ション・アクセラレータ700をモニタする。制御や機能
性を追加できるように、ソフトウエア・サポート・ブロ
ック724がシステムに加えられている。ソフトウエア・
ブロック724によって、モジュールやブロックの制御を
自由に変更したり、ハードウエア・エミュレーション・
アクセラレータに機能性を追加することができる。
ハードウエア・エミュレータ・アクセラレータとして
使用されない機能モジュールに対して「選択式パワーダ
ウン」を行使することによって、節電をさらに促進し、
チップの寿命を延ばすことができる。スタティックCMOS
回路はスイッチングしていない時には微量の電力を消費
しているから、そのハードウエア・エミュレータ・アク
セラレータを構成する使用されていない機能モジュール
にクロック信号や入力信号を送らなくても選択式パワー
ダウンを実現することができる。選択式パワーダウンに
ついては係属中の米国特許出願第07/860,717号(代理人
整理番号SP045/1397.023000)においてさらに詳しく記
載されており、当該米国特許出願の番号を参照すること
により当該米国特許出願の開示が本明細書の一部分を構
成するものとする。
本発明のさらに別の実施例においては、FPGAテスタを
バス702に接続することによってテスタビリティ(試験
性)を追加することができる。特定のテスト・ベクタを
流すために、上述のQuickturn社の製品のようなテスタ
を追加することができるし、あるいは再プログラム可能
型のEPROMやEEPROMのデバイスによって、Quickturn社の
製品と同じようなものに変更されたテスタを当ハードウ
エア・エミュレーション・アクセラレータと併せて使用
することができる。
バス702上の混雑問題が起きないようにするために、
少なくとも1個以上の従来型のマルチプレクサ/デマル
チプレクサ(MUX/DEMUX)730を使用することができる。
MUX/DEMUX730はチップ440や550上に直接組み込むことに
よってローカルに実現されていることがあり、チップと
バス702との間にディスクリート・デバイスとして接続
することによってグローバルに実現されていることもあ
る。第7図に示すのは後者の例である。当業者には明ら
かなように、制御論理とランダムな「グルー論理(glue
logic)」は、論理のプロトコルをマッチさせ、クロッ
ク・エッジを調整するなどの作業を必要とする場合があ
る。そうした制御論理やグルー論理は概して参照番号73
2で示してある。例えば、制御論理732は、様々なチップ
からの信号の時間ドメイン多重化をサポートするために
MUX/DEMUX730用のセレクト信号(表示なし)を生成する
ことがある。制御論理732はハードウエア・エミュレー
ション・アクセラレータのディスクリート・コンポーネ
ントとして示されているが、例えばチップ440や550上の
機能モジュールやブロックとして実現されている場合も
ある。制御論理732は双方向バス734を介してデータ/制
御バス702と結合されている。
第8A〜8F図に示すのは、本発明に従ってテストが行な
われた実際のシリコン・チップと機能モジュールを表す
ウエハ・マップである。ウエハ802は、ある特定の提案
された設計にかなうべく製造された実際の半導体マイク
ロエレクトロニクス・デバイスのチップである多数の正
方形に再分割されている。第8A図におけるウエハ802は
各々のマイクロエレクロニクス・デバイス(即ち、各正
方形)のオペレーションを検証するためにテストされた
ウエハである。第8B〜8F図におけるウエハ802は、第8A
図に示したウエハと同じものであるが、本発明によるレ
イアウト手法の強化されたテスタビリティ(試験性)に
従って、各マイクロエレクトロニクス・デバイス上の5
個の機能モジュールは他の機能モジュールとは別々にテ
ストされたものである。
第8A〜8F図は1個の実際のマイクロエレクトロニクス
・デバイスのテスト結果を示す。第8A図はマイクロエレ
クトロニクス・デバイス全体のグローバルなテスト結果
を示すものである。第8B〜8F図は下記の各機能モジュー
ルのテスト結果をそれぞれ示している。この機能モジュ
ールは、バレル・シフタ(BS)、32ビットのレジスタ・
ファイル(RF)、4入力の加算器(QAD)、単精度論理
演算装置(ALS)、スキャナ(SCN)である。第8A図の白
い正方形804は100%使用できるマイクロエレクトロニク
ス・デバイスを表し、第8B〜8F図の白い正方形814は使
用可能な特定の機能モジュールの総数を表す。同様に、
第8A図で黒い正方形806は100%使用可能とはいかないマ
イクロエレクトロニクス・デバイスを表し、第8B〜8F図
での黒い正方形816は使用できない機能モジュールを表
している。808で示されている部分はウエハ802でテスト
されなかった部分である。
第8A図のテスト結果を検証したところ、マイクロエレ
クトロニクス・デバイスの多数が、100%使用可能とは
いかないものだった。より具体的には、従来からの計算
方法ではその特定のウエハの歩留まりは28%だった。本
発明による第8B〜8F図に示した個々の機能モジュールの
歩留まりは81%、76%、87%、83%、93%であった。こ
のように、本発明により、マイクロエレクトロニクス・
デバイス全体としての歩留まりに比べて、個々の機能モ
ジュールの歩留まりは大きく向上する。
第8B〜8F図において説明した5個の機能モジュールを
含む実際のハードウエア・アクセラレータのテスト結果
について述べる。第9図は本発明によるその5個の機能
モジュールの「周波数対電圧」をグラフにしたものであ
る。このグラフは異なる速度における、ハードウエア・
エミュレーション・アクセタレータの真の電気/温度性
能を表している。
3つの異なる温度テストT1(70℃)、T2(25℃)、及
びT3(0℃)のグラフはそれぞれ902、904、906に示す
通りである。RF、SCN、BS、QAD、ALSの各機能モジュー
ルのグラフはそれぞれ908、910、912、914、916に示
す。当該機能モジュールがテストされた電圧VDD(5V±1
V)をX軸で表し、周波数(10〜100MHz)をY軸で表し
ている。
第9図に表した結果は比較的に短時間のうちに得られ
たものである。得意先向けの設計から実際にテスト結果
を得るまでの通し時間は、本発明を用いると大幅に短縮
される。これらの結果は従来の技法では、たとえできる
としても、簡単にはエミュレートすることはできない。
本発明による様々な実施例を説明してきたが、これら
の実施例は例題として提示されたものであって、それに
よって制限されるものではないことが理解されるはずで
ある。従って、本発明の広さと適用の範囲は、いかなる
場合においても、上記の例題としての実施例によって制
限されるべきものではない。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ホー ウェイーヤン アメリカ合衆国 95131 カリフォルニ ア州 サン ホゼ,ヘアフィールド ド ライブ 1230 (56)参考文献 特開 昭63−20543(JP,A) STEPHEN B.FURBER, VLSI RISC Architec ture and Organizat ion,米国,MARC EL DEK KER,INC,NEW YORK A ND BASEL,1989年,p.23−24 (58)調査した分野(Int.Cl.7,DB名) G06F 11/26 G06F 17/50 G01R 31/28

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】物理的に実現された機能モジュールを用い
    て少なくとも2つの機能モジュールを有するマイクロエ
    レクトロニクス・デバイスの設計案の作動をエミュレー
    トするための方法であって、 (1)複数の機能モジュールを有する複数のチップにお
    いて、前記各機能モジュールが正常に機能しているか否
    かを識別するために試験を行い、少なくとも正常に機能
    している機能モジュールを有する前記チップをメガセル
    ・ライブラリに保存するステップと、 (2)前記マイクロエレクトロニクス・デバイスの前記
    設計案を構成する2つまたはそれ以上の機能モジュール
    候補を特定するステップと、 (3)前記マイクロエレクトロニクス・デバイスの前記
    設計案を構成する2つまたはそれ以上の前記機能モジュ
    ール候補の1つと物理的および機能的に同一である前記
    正常に機能している機能モジュールを有する2つまたは
    それ以上の前記チップを前記メガセル・ライブラリから
    選択するステップと、 (4)前記選択された前記チップの前記選択された正常
    に機能している機能モジュールを物理的に相互結合する
    ステップと、 (5)クロックレートを選択し、前記相互結合された機
    能モジュールに適用するステップと、 (6)1つまたはそれ以上の試験ベクトルを前記相互結
    合された機能モジュールを用いて前記設計案に適用する
    ステップ の各ステップで構成されるエミュレーション方法。
  2. 【請求項2】ステップ4がさらに、 (i)各信号を前記相互結合された機能モジュールへ転
    送し、各機能モジュールから転送するための入出力バス
    手段を提供するステップと、 (ii)前記マイクロエレクトロニクス・デバイスの前記
    設計案を実現するために、前記相互結合された機能モジ
    ュールと前記入出力バス手段とを選択的に結合するバッ
    ファ手段を提供するステップ の各ステップで構成されることを特徴とする請求項1に
    記載の方法。
  3. 【請求項3】ステップ5がさらに、クロック・スキュー
    の問題が起きないようにオーバラップしないデューティ
    サイクルを有し、前記設計案のための選択クロックレー
    トより遅いクロックレートを選択するステップを含むこ
    とを特徴とする請求項1に記載の方法。
  4. 【請求項4】前記選択ステップがさらに、最悪の状態の
    エミュレーションをカバーする異なるプロセスコーナを
    有する機能モジュールを選択するステップを含むことを
    特徴とする請求項2に記載の方法。
  5. 【請求項5】ステップiiがさらに、前記マイクロエレク
    トロニクス・デバイスの前記設計案を実現するために、
    前記相互結合された機能モジュールと前記入出力バス手
    段とを選択的に結合するトライステートバッファを提供
    するステップを含むことを特徴とする請求項2に記載の
    方法。
  6. 【請求項6】ステップiiがさらに、前記物理的に実現さ
    れた機能モジュールと前記入出力バス手段との間を転送
    されるデータの双方向トライステートバッファリングを
    実施するステップを含んでいることを特徴とする請求項
    5に記載の方法。
  7. 【請求項7】物理的に実現された機能モジュールを用い
    て少なくとも2つの機能モジュールを有するマイクロエ
    レクトロニクス・デバイスの設計案の作動をエミュレー
    トするための装置であって、 別個に試験することができ、また電気的に分離されてい
    る1つまたはそれ以上の機能モジュールを有する第1マ
    イクロエレクトロニクス・デバイスを設計するための手
    段と、 前記第1マイクロエレクトロニクス・デバイスの機能性
    を試験し、前記機能モジュールの1つまたはそれ以上が
    正常に機能するときには、前記第1マイクロエレクトロ
    ニクス・デバイスをセーブする手段と、 第2マイクロエレクトロニクス・デバイスの前記設計案
    を構成する機能モジュール候補を特定するための手段
    と、 前記第2マイクロエレクトロニクス・デバイスの前記設
    計案で特定された前記第1マイクロエレクトロニクス・
    デバイスから前記第2マイクロエレクトロニクス・デバ
    イスの設計案の前記機能モジュール候補の1つと物理的
    および機能的に同一である1つまたはそれ以上の正常に
    機能する機能モジュールを選択するための手段と、 前記機能モジュールが互いに直接連絡するように、前記
    第1マイクロエレクトロニクス・デバイスの前記1つま
    たはそれ以上の選択された正常に機能する機能モジュー
    ルと第3マイクロエレクトロニクス・デバイスの機能モ
    ジュールとを物理的に相互結合するための手段と、 クロックレートを選択し、前記相互結合された機能モジ
    ュールに適用するための手段と、 1つまたはそれ以上の試験ベクトルを前記物理的に相互
    結合された機能モジュールを用いて前記設計案に適用す
    るための手段と で構成されるエミュレーション装置。
  8. 【請求項8】前記第3マイクロエレクトロニクス・デバ
    イスが、少なくとも正常に機能する機能モジュールを有
    することを特徴とする請求項7に記載の装置。
  9. 【請求項9】物理的に相互結合するための前記手段が、 信号を前記選択された機能モジュールへ転送し、また各
    モジュールから転送する入出力バス手段を提供する手段
    と、 前記マイクロエレクトロニクス・デバイスの前記設計案
    を実現するために、前記選択された物理的に相互結合さ
    れた機能モジュールと前記入出力バス手段とを選択的に
    結合するバッファを提供するための手段と で構成されることを特徴とする請求項7に記載の装置。
  10. 【請求項10】クロックレートを選択し適用するための
    前記手段がさらに、クロック・スキューの問題が起きな
    いようにオーバラップしないデューティーサイクルを有
    し、前記設計案のための選択クロックレートより遅いク
    ロックレートを選択するための手段を含むことを特徴と
    する請求項7に記載の装置。
  11. 【請求項11】1つまたはそれ以上の正常に機能する機
    能モジュールを選択するための前記手段がさらに、最悪
    の状態のエミュレーションをカバーする異なるプロセス
    コーナを有する機能モジュールを選択するための手段を
    含むことを特徴とする請求項9に記載の装置。
  12. 【請求項12】バッファを提供するための前記手段がさ
    らに、前記マイクロエレクトロニクス・デバイスの前記
    設計案を実現するために、前記選択された物理的に相互
    結合された機能モジュールと前記入出力バス手段とを選
    択的に結合するトライステートバッファリングを実施す
    るための手段を含むことを特徴とする請求項9に記載の
    装置。
  13. 【請求項13】バッファを提供するための前記手段がさ
    らに、前記物理的に相互結合された機能モジュールと前
    記入出力バス手段との間で転送されるデータの双方向ト
    ライステートバッファリングを実施するための手段を含
    んでいることを特徴とする請求項12に記載の装置。
  14. 【請求項14】メガセル・ライブラリからの2つまたは
    それ以上の機能モジュールを実際に物理的に実現して用
    いるマイクロエレクトロニクス・デバイスのためのシミ
    ュレーション装置であって、 前記機能モジュールが正常に機能しているか否かをを識
    別するために、それぞれ複数の機能モジュールを有する
    複数のチップを試験するための手段と、 少なくとも正常に機能している機能モジュールを有する
    前記チップを前記メガセル・ライブラリ内に保存するた
    めの手段と、 マイクロエレクトロニクス・デバイスの設計案の機能モ
    ジュールと物理的および機能的に同一である機能モジュ
    ールを有する2つまたはそれ以上のチップを前記メガセ
    ル・ライブラリから選択して前記設計案を実現するため
    に、前記チップが互いに直接連絡できるように前記チッ
    プを電気的に結合するための相互結合手段と、 前記設計案を実現するために前記相互結合されたチップ
    を用いて前記設計案の選択クロック速度で1つまたはそ
    れ以上の試験ベクトルを実行させるための試験手段と で構成されているシミュレーション装置。
  15. 【請求項15】前記相互結合手段がさらに、 信号を前記機能モジュールへ転送し、前記モジュールか
    ら転送するための入出力バス手段と、 前記設計案を実現するために、前記機能モジュールと前
    記入出力バス手段とを選択的に結合するバッファ手段と
    で構成されることを特徴とする請求項14に記載の装置。
  16. 【請求項16】前記バッファ手段が、トライステートバ
    ッファを含むことを特徴とする請求項15に記載の装置。
  17. 【請求項17】前記トライステートバッファが、前記機
    能モジュールと前記入出力バス手段との間でデータを転
    送する双方向トライステートバッファを含むことを特徴
    とする請求項16に記載の装置。
  18. 【請求項18】前記機能モジュールと前記入出力バス手
    段との間のデータの前記転送を実行するために、前記ト
    ライステートバッファが、選択信号を受ける少なくとも
    1つの制御入力部を含むことを特徴とする請求項17に記
    載の装置。
JP51394693A 1992-02-07 1993-02-05 マイクロエレクトロニクス・デバイスのエミュレーション方法及びエミュレーション装置並びにシミュレーション装置 Expired - Fee Related JP3500633B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US83127292A 1992-02-07 1992-02-07
PCT/JP1993/000149 WO1993016433A1 (en) 1992-02-07 1993-02-05 Hardware emulation accelerator and method
US831,272 1997-03-31

Publications (2)

Publication Number Publication Date
JPH07506685A JPH07506685A (ja) 1995-07-20
JP3500633B2 true JP3500633B2 (ja) 2004-02-23

Family

ID=25258696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51394693A Expired - Fee Related JP3500633B2 (ja) 1992-02-07 1993-02-05 マイクロエレクトロニクス・デバイスのエミュレーション方法及びエミュレーション装置並びにシミュレーション装置

Country Status (3)

Country Link
US (2) US5581562A (ja)
JP (1) JP3500633B2 (ja)
WO (1) WO1993016433A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
JP3042761B2 (ja) * 1995-08-07 2000-05-22 株式会社日立製作所 論理エミュレーションシステムにおけるプログラマブルデバイスのプログラムデータ生成方法およびプログラマブルデバイスのプログラムデータ生成装置
JP2988380B2 (ja) * 1996-06-27 1999-12-13 日本電気株式会社 半導体試験装置およびこの試験装置を用いた試験方法
FR2752967B1 (fr) * 1996-09-03 1998-11-20 Info Technologies Procede de developpement d'un circuit integre specifique d'une application (asic) et emulateur correspondant
US5862365A (en) * 1996-09-17 1999-01-19 Lucent Technologies Inc. Configuration pin emulation circuit for a field programmable gate array
JPH11507478A (ja) 1996-10-10 1999-06-29 セミコンダクトレス インヴェスティゲシオン イ ディセノ,エス.エイ. 混合信号アプリケーションのプロトタイピングのためのプロセス及び該プロセスの前記アプリケーションのためのチップ上のフィールドプログラマブルシステム
US5841788A (en) * 1996-10-18 1998-11-24 Lucent Technologies Inc. Methods for backplane interconnect testing
US6028993A (en) * 1997-01-10 2000-02-22 Lucent Technologies Inc. Timed circuit simulation in hardware using FPGAs
US6147890A (en) * 1997-12-30 2000-11-14 Kawasaki Steel Corporation FPGA with embedded content-addressable memory
US6321295B1 (en) * 1998-03-19 2001-11-20 Insilicon Corporation System and method for selective transfer of application data between storage devices of a computer system through utilization of dynamic memory allocation
US6237101B1 (en) 1998-08-03 2001-05-22 International Business Machines Corporation Microprocessor including controller for reduced power consumption and method therefor
US6618698B1 (en) 1999-08-12 2003-09-09 Quickturn Design Systems, Inc. Clustered processors in an emulation engine
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
US6581191B1 (en) 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language
US7356786B2 (en) 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6823497B2 (en) 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
JP2001188691A (ja) * 1999-12-28 2001-07-10 Toshiba Corp 検証プログラム自動生成方法及び検証プログラム自動生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6560755B1 (en) 2000-08-24 2003-05-06 Cadence Design Systems, Inc. Apparatus and methods for modeling and simulating the effect of mismatch in design flows of integrated circuits
US6959257B1 (en) * 2000-09-11 2005-10-25 Cypress Semiconductor Corp. Apparatus and method to test high speed devices with a low speed tester
US7222315B2 (en) 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
JP2003030269A (ja) * 2001-05-16 2003-01-31 Internatl Business Mach Corp <Ibm> メタモデルを用いた単一マイクロプロセッサ上の並列シミュレーションのための方法
US8605911B2 (en) 2001-07-10 2013-12-10 Dolby International Ab Efficient and scalable parametric stereo coding for low bitrate audio coding applications
SE0202159D0 (sv) 2001-07-10 2002-07-09 Coding Technologies Sweden Ab Efficientand scalable parametric stereo coding for low bitrate applications
US6792579B2 (en) * 2001-10-05 2004-09-14 Lsi Logic Corporation Spice to verilog netlist translator and design methods using spice to verilog and verilog to spice translation
ES2188418B1 (es) * 2001-11-29 2004-11-16 Universidad De Sevilla Metodo para analisis y test funcional de circuito digitales de gran dimension mediante emuladores hardware.
WO2003046891A1 (en) 2001-11-29 2003-06-05 Coding Technologies Ab Methods for improving high frequency reconstruction
US6730527B1 (en) 2001-12-31 2004-05-04 Hyperchip Inc. Chip and defect tolerant method of mounting same to a substrate
US7114133B2 (en) * 2002-01-10 2006-09-26 Lsi Logic Corporation Broken symmetry for optimization of resource fabric in a sea-of-platform architecture
SE0202770D0 (sv) 2002-09-18 2002-09-18 Coding Technologies Sweden Ab Method for reduction of aliasing introduces by spectral envelope adjustment in real-valued filterbanks
US6951000B2 (en) * 2003-01-22 2005-09-27 Lsi Logic Corporation Simulated voltage contrasted image generator and comparator
FR2854703B1 (fr) * 2003-05-07 2005-06-24 Arteris Dispositif d'emulation d'une ou plusieurs puces de circuits integres
KR100860985B1 (ko) * 2003-05-23 2008-09-30 삼성전자주식회사 패딩 정보를 이용한 기록/재생 방법
US7287238B2 (en) * 2003-06-25 2007-10-23 Lsi Corporation Method and apparatus for exposing pre-diffused IP blocks in a semiconductor device for prototyping based on hardware emulation
WO2005038676A2 (en) * 2003-10-17 2005-04-28 University Of Delaware Method and apparatus for emulation of logic circuits
US20050166170A1 (en) * 2004-01-26 2005-07-28 Payman Zarkesh-Ha Field programmable platform array
JP2006285572A (ja) * 2005-03-31 2006-10-19 Toshiba Corp 半導体集積回路のレイアウト方法
US7356787B2 (en) * 2005-04-06 2008-04-08 Taiwan Semiconductor Manufacturing Co., Ltd. Alternative methodology for defect simulation and system
US7970594B2 (en) * 2005-06-30 2011-06-28 The Mathworks, Inc. System and method for using model analysis to generate directed test vectors
US7310758B1 (en) * 2005-08-22 2007-12-18 Xilinx, Inc. Circuit for and method of implementing programmable logic devices
JP4549280B2 (ja) * 2005-11-07 2010-09-22 富士通株式会社 設計支援装置、設計支援方法、および設計支援プログラム
US7906982B1 (en) 2006-02-28 2011-03-15 Cypress Semiconductor Corporation Interface apparatus and methods of testing integrated circuits using the same
US9470760B2 (en) * 2011-04-01 2016-10-18 International Business Machines Corporation Functional ASIC verification using initialization microcode sequence
US9759772B2 (en) 2011-10-28 2017-09-12 Teradyne, Inc. Programmable test instrument
US10776233B2 (en) 2011-10-28 2020-09-15 Teradyne, Inc. Programmable test instrument
US9075623B2 (en) * 2012-01-18 2015-07-07 International Business Machines Corporation External auxiliary execution unit interface for format conversion of instruction from issue unit to off-chip auxiliary execution unit
CN103778087B (zh) * 2012-10-25 2016-10-19 加弘科技咨询(上海)有限公司 同系列多平台fpga应用合并系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488354A (en) * 1981-11-16 1984-12-18 Ncr Corporation Method for simulating and testing an integrated circuit chip
US4448354A (en) * 1982-07-23 1984-05-15 The United States Of America As Represented By The Secretary Of The Air Force Axisymmetric thrust augmenting ejector with discrete primary air slot nozzles
US4527234A (en) * 1982-08-02 1985-07-02 Texas Instruments Incorporated Emulator device including a semiconductor substrate having the emulated device embodied in the same semiconductor substrate
US4811201A (en) * 1982-09-28 1989-03-07 Trw Inc. Interconnect circuit
GB8309692D0 (en) * 1983-04-09 1983-05-11 Int Computers Ltd Verifying design of digital electronic systems
US4635218A (en) * 1983-05-09 1987-01-06 Valid Logic Systems Method for simulating system operation of static and dynamic circuit devices
US4937827A (en) * 1985-03-01 1990-06-26 Mentor Graphics Corporation Circuit verification accessory
US4868770A (en) * 1987-12-02 1989-09-19 Analogy, Inc. Simulation results enhancement method and system
DD266436B3 (de) * 1987-12-11 1993-02-04 Jenoptik Jena Gmbh Systembuserweiterung zur kopplung multimasterfaehiger mehrrechnersysteme
US4872126A (en) * 1988-01-11 1989-10-03 General Electric Company Digital circuit design verification
GB8902982D0 (en) * 1989-02-10 1989-03-30 Plessey Co Plc Machine for circuit design
US5253181A (en) * 1989-04-27 1993-10-12 Kawasaki Steel Corporation Programmable one-board computer, and methods of verification of logic circuit and alteration to actual circuit using the programmable one-board computer
US5051938A (en) * 1989-06-23 1991-09-24 Hyduke Stanley M Simulation of selected logic circuit designs
EP0445454B1 (en) * 1990-03-08 1997-06-18 International Business Machines Corporation Hardware simulator
US5084824A (en) * 1990-03-29 1992-01-28 National Semiconductor Corporation Simulation model generation from a physical data base of a combinatorial circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEPHEN B.FURBER,VLSI RISC Architecture and Organization,米国,MARC EL DEKKER,INC,NEW YORK AND BASEL,1989年,p.23−24

Also Published As

Publication number Publication date
US5581562A (en) 1996-12-03
JPH07506685A (ja) 1995-07-20
US5581742A (en) 1996-12-03
WO1993016433A1 (en) 1993-08-19

Similar Documents

Publication Publication Date Title
US5581742A (en) Apparatus and method for emulating a microelectronic device by interconnecting and running test vectors on physically implemented functional modules
Trimberger A reprogrammable gate array and applications
US6311317B1 (en) Pre-synthesis test point insertion
US7430725B2 (en) Suite of tools to design integrated circuits
US7257799B2 (en) Flexible design for memory use in integrated circuits
WO2014059168A2 (en) Microcontroller or direct mode controlled network-fabric on a structured asic
US8000950B2 (en) Random initialization of latches in an integrated circuit design for simulation
US5027355A (en) Logic circuit and design method for improved testability
US6898767B2 (en) Method and apparatus for custom design in a standard cell design environment
Shohal et al. Efficient rtl to gds ii flow for finite state machine integration: A physical design approach
US6240543B1 (en) Integration of manufacturing test of multiple system on a chip without substantial simulation
US7954077B2 (en) Integrated circuit design utilizing array of functionally interchangeable dynamic logic cells
Benabdenbi Contributions to the Test, Fault Tolerance and Approximate Computing of System on a Chip
Jackson et al. Robot fault-tolerance using an embryonic array
US12112818B2 (en) Scan chain compression for testing memory of a system on a chip
US20230106989A1 (en) Method of verifying semiconductor device, method of designing and manufacturing semiconductor device using the same, and system performing the same
US6779170B1 (en) Method and apparatus for performing logic emulation
TW202324409A (zh) 用於嵌入式記憶體之電源追踪電路
Maragos et al. Application performance improvement by exploiting process variability on FPGA devices
Dunlop et al. Managing complexity in IC design—past, present, and future
Jacobs Self-timed integrated circuits for digital signal processing
Vacca Study and Development of a Radiation-Hardened Implementation of the RISC-V Processor on Reconfigurable Devices
Lin et al. An Implementation of Rapid Prototyping Platform of Embedded Systems
Brothers et al. The Megacell concept: an approach to painless custom design
Eljhani Design and Comparative Analysis of An Alternative Approach of Bus-Interconnect for Systems on Programmable Chip

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees