JPH0370158A - Asic開発方法とasicエミュレータと集積回路の設計開発方法と単一集積回路の部分開発方法 - Google Patents

Asic開発方法とasicエミュレータと集積回路の設計開発方法と単一集積回路の部分開発方法

Info

Publication number
JPH0370158A
JPH0370158A JP2201091A JP20109190A JPH0370158A JP H0370158 A JPH0370158 A JP H0370158A JP 2201091 A JP2201091 A JP 2201091A JP 20109190 A JP20109190 A JP 20109190A JP H0370158 A JPH0370158 A JP H0370158A
Authority
JP
Japan
Prior art keywords
pin
asic
model
software
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2201091A
Other languages
English (en)
Other versions
JP2731021B2 (ja
Inventor
Daniel R Watkins
ダニエル・アール・ワトキンス
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.)
LSI Corp
Original Assignee
LSI Corp
LSI Logic 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 LSI Corp, LSI Logic Corp filed Critical LSI Corp
Publication of JPH0370158A publication Critical patent/JPH0370158A/ja
Application granted granted Critical
Publication of JP2731021B2 publication Critical patent/JP2731021B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] く産業上の利用分野〉 本発明は一般に集積回路の発明に関し、より詳細に言え
ば、複合ターゲットボードまたはシステム内に挿入され
るべきデジタルアプリケーション特定集積回路(app
llcaLIon Specific +ntegra
ted clrcuIL 、 A S I C)を開発
するための方法及び装置に関する。
〈従来の技術〉 デジタル集積回路の論理密度は、それが紹介されてから
10年毎にほぼ10倍ずつ増加している。
1960年代には、一般的なデジタル情報(集積回路)
は、その基板上におそらく6個乃至12個より少ない基
本的論理ゲートが郭定されるように組み立てられていた
。1970年代の10年間に、ICチップ上の論理密度
は約100ゲートに増加し、かつそれが1980年代の
初期には1,000論理ゲーl・になり、更に1980
年代の後半には、すでに集積回路毎に100.000論
理ゲートの論理密度に達している。1990年代には、
チップ1個当りのゲート密度が論理セル1,00o、o
oo個程度になると予想される。
この増加に付随して、各ICに設けられるデジタル回路
の機能的複合性が同様に増大している。
単一チップ」二に設けられ得る積和類の数及びデジタル
ICの組合せ論理回路間の連絡の複雑さが、もし量化で
きるとすれば、同様に増加している。
高密度ICの設計及び開発工程も同様により複雑になっ
ている。このようなICの複雑さのために、チップの設
計者にとっては、出来上がったばかりの最初の試行(「
第1シリコン」の成形特)に於て正確に動作するプロト
タイプICを製造することがますます困難になっている
。いわゆる「第1シリコン」プロトタイプに於ける機能
上の欠陥が、全プロトタイプの50%を越える割合で発
生する傾向がある。全ての欠陥は発見して訂正しなけれ
ばならない。欠陥の識別及び訂正によって、設計開発過
程に要する時間が長くなるという不都合が生じる。従っ
て、このような時間を最小にする必要がある。
設計開発過程では、通常未開発ASICのハードウェア
モデルまたはソフトウェアモデルである開発「モデル」
について熟考する。ASICを開発するための従来の2
つの方法A及びBが第1図のフロー図に並列に示されて
いる。
「ハードウェア・ブレッドボーディング」方法または「
ハードウェア・モデリング」方法と称されるこれらの第
1の方法Aは、いわゆる「小規模集積J  (SSI)
回路が最初に開発されていた集積回路技術の全く初期の
年代に行われ始めた。所望の集積回路の初期紙上設計、
記述または「仕様」が立案され、その草案設計10に於
ける思想が個々のトランジスタ、抵抗等のような離散的
素子及び先に開発された集積回路チップを用いて初期ハ
ードウェアモデル12aに転換される。
このハードウェアモデルを構築する過程が第1図に於け
るステップ12aとして模式的に示されている。次に「
ハードウェア」試験ベクトルと称される1組の試験信号
が案出されかつステップ14aに示されるように(適当
な信号発生器を用いて)生成され、かつ初期紙上設計1
0の仕様に従って作動するかどうかを決定するためにハ
ードウェアモデル12aに印加される。
少なくとも集積の程度が小規模(SSI)または中規模
(MSI)と称されるような集積回路技術の初期に於て
は、設計エンジニアにとって、コンピュータの助けを借
りることなく特にそれだけのために試験ベクトルの組を
手作業で開発し、かつこれらの試験ベクトルを用いてハ
ードウェアモデル12aの論理の正確性を検証するのが
一般的であった。手作業による試験ベクトルの作成は、
今日に於てさえ、現在製造されている高密度MSI、L
SI(大規模集積)及びVLSI(超LSI)チップの
複雑さにも拘らず、好ましい場合がある。しかしながら
、大抵の場合には、試験ベクトルはいわゆるコンピュー
タ援助エンジニアリング(CAE)ソフトウェアを用い
てコンピュータの援助により調整される。このソフトウ
ェアは、ハードウェアモデル12aの論理の正確性を検
証するための「完全な」試験ベクトルの組が生成される
と期待される。ここで言う「完全な」の語は、可能な全
ての組合せの入力がハードウェアモデル12aの入力端
子に印加されること及びこれら入力の全組合せに対する
ハードウェアモデル12aの応答が、その各応答が仕様
1oに従っていることを保証するためにモニタされかつ
分析されることを意味する。ハードウェアモデル12a
は一般に、自動試験信号発生手段及びその中に組み込ま
れたハードウェアモデル12aを試験するための応答モ
ニタ手段とを有するテストベツド上で組み立てられる。
前記モニタ手段は、デジタルオシロスコープまたは論理
アナライザと、前記論理アナライザのブローブリードを
接続し得る前記ハードウェアモデル内の複数の試験点と
を有する場合が多い。
最初に構築されたハードウェアモデル12aがステップ
16aに於て設計エンジニアによって作成された全ての
試験シーケンスを合格しなかった場合には、その故障の
理山が、例えばデジタルオシロスコープ及びデジタル論
理アナライザを用いてハードウェアモデル12a内の各
試験点にプローブを差し込むことによって決定される。
論理−Lの欠陥が何故、如何にして起ったかを決定し、
かつステップ18aに於てハードウェアモデル12aを
再設計して問題を補正する。次に、一般に再構成された
ハードウェアモデル12aに対して同じ試験ベクトル1
4aの組を使用し、かつ欠陥検出ステップ16、分析及
び再設計ステップ18aを、1回、2目またはm回再構
成したハードウェアモデル12a1が設計エンジニアに
よって作成されている全ての前記試験シーケンス14a
を合格するまで、繰返して行う(mはハードウェアモデ
ル12aを再構成する回数を表わす整数である)0ハー
ドウエアモデルを構築しかつ再構成するステップ12a
、試験ベクトルを作成するステップ14a、試験ステッ
プ16a、分析及び再構成ステップ18aは、設計/開
発過程Aの「内側」ループを構成している。
ハードウェアモデル12aが試験ステップ16aに於て
一旦「良好」と認められると、設計/開発過程Aの「外
側」ループが開始される。」二連したように開発されて
きたm同量構成ハードウェアモデル12a  の回路設
計は、詳細な「トランジスタレベル」の設計へと変換さ
れる。(トランジスタレベルの設計図には、ハードウェ
アモデル化された回路の個々のトランジスタまたは他の
基本素子が示される。)ステップ20aに於て、前記ト
ランジスタレベルの設計図に従って回路を設計しかつ半
導体基板」二にパターン形成し、それによって「最初の
」プロトタイプ集積回路22(「第1シリコン」)を形
成する。ハードウェアモデル12a″1をプロトタイプ
集積回路22に転換するステップ20aは通常退屈で、
時間がかかりかつ費用を要する。ASICプロ1〜タイ
プ20aの回路が確実に既開発モデル12a1の回路を
正確に複写するように注意しなければならない。エラー
発生の確率は、ハードウェアモデル12a  のill
ll−トの数が増加するにつれて増大する傾向がある。
プロトタイプ集積回路22をターゲット回路ボード24
に挿入し、該ターゲットボード24に電流を流し、かつ
パワーアップステップが成功した場合には、ターゲット
ボード24をステップ26及び28に於て作動させかつ
試験して、プロトタイプ集積回路22が市販できるもの
であるかどうかを決定する。
「最初のJASICAロトタイプ22が組み立てられた
後、この製造・開発の外側ループ段階に於いて動作上の
故障が検出された場合には、通常開発過程Aの前記内側
ループに戻って故障の原因を決定することが必要である
。最初のASICプロトタイプ22内の全ての必要個所
を調査して故障の原因を決めることは困難な場合が多い
前記内側ループ(ステップ14a116a、18a、1
2a)の中からハードウェアモデル12a″1内で外側
ループ(ステップ20a、26a、28a)の故障モー
ドを再生する試みが行なわれている。新しい試験ベクト
ル14aの組が形成され、かつこれらがハードウェアモ
デル12amに適用される。ハードウェアモデル12a
1内の試験点が再び調査される。次に前記ハードウェア
モデル12a1の分析及び再設計が行われる。試験ステ
ップ16aによって故障が根絶されたことが示されると
、「第2の」集積回路プロトタイプ22′が組み立てら
れ(ステップ20a)、ターゲットボード24内に挿入
される(26.28)。
前記外側及び内側ループの故障識別/補正過程Aが、開
発エンジニアによって作成された全試験に2次、3次、
及びそれに続くn次の集積回路プロトタイプ22 が適
合するまで、繰り返される。
この時点に於て、n次のプロトタイプASIC22°の
サンプル複製品が、各「β側」の顧客によって試験され
かつ受は入れられるように市場に分配される。
デジタルICの密度が増大するにつれて、ハードウェア
プロトタイプモデル12aを構築する過程がより面倒に
なった。ICは、物理的に離散素子でモデルを形成する
には密度が高過ぎるようになった。幸いにも、ソフトウ
ェアに於てデジタル回路をシミュレートする分野が充分
に進歩して、ハードウェアモデリングステップ12a1
試験ステツプ14a、16a、分析及び再設計ステップ
18aをより柔軟性のあるソフトウェアモデリング方法
Bに於ける対応するステップ(12b、14b、16b
、18b)で置き換えできるようになった。
ソフトウェアモデリング方法Bはハードウェアモデリン
グ方法Aと平行しており、従って容易に比較し得るよう
に第1図のハードウェアモデリング方法と隣り合せに図
示されている。その平行構造及び共通の始点(初期設計
10)は別にして、ハードウェアモデリング方法Aとソ
フトウェアモデリング方法Bとの間には全く連粘点がな
いことに注意すべきである。後者の方法Bは、シミュレ
ーションプログラム環境内で適当なソフトウェアモデル
を創成するステップ12bと、ソフトウェア12bに適
用されるべきソフトウェア試験ベクトルを調整するステ
ップ14bと、前記シミュレーションプログラム環境内
で前記モデル全体を試験するステップ16bと、前記ソ
フトウェアモデル内の必要な全試験点を適当なソフトウ
ェアデバッグツールを用いて調査するステップと、全ソ
フトウェア生成試験がステップ16bに於て合格するま
でソフトウェアモデル12bを再設計するステップ18
bとからなる。
m同量構成ソフトウェアモデル12biIがステップ1
6bに於て「良好」と認められると、ソフトウェアモデ
ル12b1内の全素子及び連絡のネットワークリスト(
CAD/CAMリスト)が生成され、かつ生成された該
リストがステップ20bに於てハードウェアのプロトタ
イプAS I C22に転換される。」二連した最初の
プロトタイプAS I C22をターゲットボード24
に挿入しかつ試験する過程が、前記最初のまたはそれに
続くn次のプロトタイプAS I C22°が集積回路
開発者によって作成された全試験に適合するまで繰り返
される。
ソフトウェアモデリング方法Bは通営ハードウェアモデ
リング方法Aより好都合である。前記モデルの物理的寸
法が問題とはならない。シミュレーションコンピュータ
には、提案された最も複雑な集積回路をシミュレートす
るのに充分な(バーチャル)メモリ容量を与えることが
できる。ソフトウェアモデルへの変更(再設計18b)
は、対応するハードウェアモデル12aへの変更よりも
より迅速に行うことができる。ソフトウェアモデリング
方法Bを用いてプロトタイプAS I C22を開発す
るための時間は、ハードウェアブレッドボーディング方
法Aのそれより充分に短くすることができる。ソフトウ
ェアモデル12bをシリコンのハードウェアプロトタイ
プ22に転換するステップ20bは、転換過程に於ける
エラーを低減させ、かつこのような転換に伴う退屈さを
回避するために自動化すると好都合である。従って、ソ
フトウェアモデリング方法Bは、高密度のICを開発す
ることに関連する物理的な問題の多くを克服するように
構成することができる。しかし、これだけでは充分でな
い。分離密度が増大するにつれて、新たな問題が発生し
始めている。
ゲート密度が1チップ当り1,000ゲートのレベルを
越え始めると、前記ソフトウェアモデリング方法Bに於
ても、設計エンジニアが最善の努力を行って「完全な」
試験ベクトルの組を作成したにも拘らず、最初のプロト
タイプAS I C22にステップ14bに於て作成さ
れた試験ベクトルが捕えることのできない少なくとも1
個の論理的故障が含まれる場合が約50%またはそれ以
上あることが分った。実際に使用される際にASIC2
2に適用される入力信号の組合せの数は、ゲート密度に
関連して指数的に大きくなり始める。従って、これら全
ての組合せを試験することは物理的に不可能になってい
る。
設計エンジニアは、実際に使用される場合にどのような
組合せの入力の組が適用される可能性が高いかについて
、適確に推定しようとしている。
しかし、これが、即ち適確な(1[論に基づいてという
ことが、試験ベクトルの完全性について言うことができ
る最善である。おそらく、故障が内側ル−プ試験ステッ
プ16bで見逃された場合には、そのプロトタイプ集積
回路をターゲットボード24に結合させて再びステップ
28で試験した場合に、内部「α」でのプロトタイプ集
積回路22の試験に於て検出されると期待される。試験
ステップ28で検出された論理故障の原因を決定し、ソ
フトウェアモデル12b内の適当な部分までその故障を
追跡し、m回変形ソフトウェアモデル12bmを分析し
、再設計しく18b)かつ2番目のプロトタイプチップ
22′に転換する過程は、上述したハードウェアモデリ
ング方法Aと同じままである。ソフトウェア開発方法B
のソフトウェア対ハードウェア転換ステップ20bを含
む外側及び内側ループが、全ての内部「α」テストが充
分に合格するまで繰り返される。
α試験段階に於て1個または2個以上の論理故障が見逃
された場合には、それはおそらく「β」試験顧客によっ
て捕えられる。通常彼等は、独特のアプリケーション特
定ターゲットシステムに於て試験するためにn次のプロ
トタイプチップ221のサンプルを提供される高いレベ
ルの部外者達である。最悪の場合には、論理故障がα試
験及びβ試験に於て発見されず、製造開発サイクルの更
に後に於て、最終ASIC22’より後のASICが市
場に既に分配された段階に於て、一般頭客によって該A
SICの動作中に予期しない「バグ」が発見される。こ
れは、高密度ASIC開発者が最も恐れるところであり
、是非とも防止したいものである。「バグ」を有するA
SICを汚染したASICと取り換えることは重大な費
用がかかる。
1度痛い目に会った顧客は、取り換えた製晶が再び「バ
グ」で悩まされた場合には、新しい技術及び/または開
発者に対する信頼を失う傾向がある。
内部での「α」試験に於て高密度ツチップ内部の大きな
故障を見つけ得る信頼性の高い手段がない場合には、開
発者は高密度チップの設計に消極的になる。このような
姿勢は当該技術分野の発展を遅らせる。従って、これは
ICのゲート密度が以前と同様に急速に上昇し続ける場
合には、解決しなければならない問題である。
本分野に於ては、別の問題が生じ始めている。
デジタルICのゲート密度が増大し続けるにつれて、ソ
フトウェアモデル12bをプロトタイプIC22に転換
するステップ20bの時間が非常に長くなっていること
が分った。ソフトウェアモデル−プロトタイプ転換ステ
ップ20bは設計開発時間を短縮するための重大な障害
物となっている。
設計/開発時間が長過ぎる場合には、重要な市場の機会
を逃すことになる。
設計/開発時間を短縮するために、転換過程20bの速
度を速くする試みが行われている。しかしながら、この
方法は問題の原因を捕え損なっている。問題の真の原因
は、後端のソフトウェア−ハードウェア転換ステップ2
0bにあるのではなく、組み立てられたプロトタイプA
s I C22がターゲットシステムボード24に於て
所望の性能を発揮するようにするための「完全な」試、
験ベクトルの組を設計エンジニアが作成する前端のステ
ップ14bに存在する。ソフトウェアに基づく内側設計
ループ(ステップ12b、14b、16b。
18b)と最初のプロトタイプIC222が1市人され
るべきターゲットシステム24との間に結合点はない。
従って、プロトタイプAs I C22が組み立てられ
た後まで、ターゲットシステム24とASIC設計(モ
デル12b)との非互換性を発見することができない。
本発明は、このような結合点を供給し、かつ後述するよ
うな問題を克服することを目的とする。
しかしながら、本発明について説明する前に、プロトタ
イプモデルとターゲットシステムとの間の結合が有利で
ある理山について理解することが有益であると思われる
。ターゲットシステム24の複雑さは、高密度ASIC
の複雑さの増大と共に徐々に増大している。設計エンジ
ニアにとっては、プロトタイプ組立てステップ20bの
以前に、ステップ14bに於て「完全な」試験ベクトル
の組が作成されていることを確かめることが非常に難し
くなっている。理想的には、ソフトウェアに於てASI
Cと全ての実行可能なターゲットシステム24との間で
可能な全ての関係をシミュレートして、プロトタイプA
s I C22が組み立てられる前に開発中ASICの
起こり得る全ての故障モードを検出し得るようにするの
は、「完全な」試験ベクトルの組である。しかしながら
、現在のターゲットシステムは非常に複雑であって、A
SICとそのターゲットシステムとの間で開発し得る全
ての関係を予見することはほとんど不可能である。
例示すると、ターゲットシステム24は、従来の中央処
理装置(CPU)24aの周囲に構成される複合「オー
プン−アーキテクチュア」マイクロコンピュータとする
ことができる。このようなオープン−アーキテクチュア
ターゲットシステム24によって、試験ベクトル作成ス
テップ14bに新たな次元が加えられる。オープン−ア
ーキテクチュアターゲットシステム24は拡張可能であ
る。これは、ASIC開発者以外の第3者によって供給
される場合がある新しいハードウェアまたはソフトウェ
アをターゲットシステム24に付加してその能力を拡張
し得ることを意味する。或るASIC開発者の内部試験
エンジニアが、別のハードウェア/ソフトウェア開発者
(第3者)の拡張ハードウェア及び/またはソフトウェ
アについて充分な知識を持っていない場合に、ステップ
14bに於ける完全な試験ベクトルの組を構成するもの
を決定することは極めて困難である。
不十分な情報による問題は、時間が経つにつれてかつよ
り複雑なターゲットシステムが考えられるにつれてより
悪化すると考えられる。内部試験段階に於て情報のギャ
ップが広がると予想される。
設計開発過程に於て前記情報ギャップを低減させまたは
取るに足らないものにする方法及び/または装置が一層
必要となっている。
複合(即ち拡張可能)ターゲットシステムのための完全
な試験ベクトルの組を作成する際の上述した問題と平行
して、別の問題が発生し始めている。ターゲットシステ
ムの設計が固定されている(非拡張的である)場合でさ
え、ターゲットシステム24内の全ての要素について完
全な仕様を得ることは不可能である場合が多い。例を挙
げると、ターゲットシステム24には、米国テキサス州
オースチンのモトローラ・コーポレイション(Mot。
rola Corp、)が独占的に製造している680
30(登録商標)や、米国カリフォルニア州すンタクラ
ラのインテル・コーポレイション(Intel  ・C
rp、 )が独、li的に製造している80386 (
登録商標)のようないわゆる「複合第31!!代」マイ
クロプロセッサ24aが含まれる。このような所有マイ
クロプロセッサの全動作モードをソフトウェアAs I
 Cモデル12bのソフトウェア環境内で完全にシミュ
レートすることは極めて困難である。
従って、このような所有デバイスをシミュレートするた
めに内部設計エンジニアがステップ14bに於て作成し
た試験ベクトルが「完全」なものでないという重大な危
険が存在する。試験ベクトルが完全でない場合には、内
部ループ試験ステップ16bに於て未製造ASICプロ
トタイプ22が適正に設計されたターゲットボートCP
U24aと互換性を何するかどうかを確実に知ることが
できない。
内部開発ループを開始した際に、未開発ASICの詳細
な全動作特性が分っていないという別の問題がある。例
を挙げると、初期仕様10は、第3者によって製造され
る所有チップと等価のマイクロセルを未開発AS I 
C22内に含むことを必要とする。前記所有ICチップ
の販売者によって該チップの完全な仕様が提供されず、
従ってソフトウェアに於て正確にシミュレートすること
ができない場合がある。完全な仕様が与えられている場
合でさえ、このようなデバイスのソフトウェアのシミュ
レーションには多くのプログラムのための人手と時間、
及び多くのプログラムコード行が必要な場合があり、プ
ログラム時間及び/またはシミュレーションコードサイ
ズの長さが増大するにつれて、結果的にソフトウェアシ
ミュレーションに暇疵が含まれる危険性が高くなる。
完全には理解されていないがすでに開発済デバイスのハ
ードウェア見本30bの動作特性は、この情報ギャップ
を克服するために、ソフトウェアASICモデル12b
のソフトウェア環境内に導入すべきであることが提案さ
れている。このような1つの導入方法が、1983年5
月9日付出願のエル・シー・ウィッドーズ・ジュニア(
L、C,Wlddoes、 Jr、)による1986年
5月20日発行の米国特許第4,590.581号明細
書、「メソッド・アンド・アパレイタス・フォー・モデ
リング・システムズ・オブ・コンプレックス・サーキッ
ツJ  (MeLhod and ApparaLus
 I’or Modeling SysLems of
’ Complex C1rcuits )  (以下
ウィッドーズ特許と称す)に開示されている。
このウィッドーズ特許の開示事項は、本明細書に於て本
発明の説明のために引用したものであり、その詳細につ
いては説明しない。
簡単に言えば、前記ウィッドーズ特許は、ソフトウェア
シミュレーション環境から入力−刺激を受は取り、これ
ら入力−刺激を低開発基準要素に伝送し、該基準要素か
ら応答出力信号を受信し、かつそれらの応答出力信号を
前記ソフトウェアシミュレーション環境に送り戻すため
に、予め開発された「基準要素」 (ハードウェア見本
)を汎用支持ジグ内に挿入し、かつ「パーソナリティ・
モジュール」と称される特別のインターフェース回路を
構成することが提案されている。
このウィッドーズ特許の提案によって、その複合動作が
完全に知られていないか、またはソフトウェアによって
完全にシミュレートすることが困難過ぎるような低開発
ICのためのソフトウェアシミュレーションモデルを構
築しなければならないという問題が克服される。しかし
ながら、ウィッドーズの方法では、に述した最初の問題
、即ち開発中ASICデバイスのソフトウェアモデル1
2bが複合ターゲットシステム24によって生成され得
る全ての可能な刺激に確実に曝されるようにするような
完全な試験ベクトルの組をどのように作成するかの解答
は与えられない。ウィッドーズ特許に於て議論されてい
るIC導入方法とターゲットシステム24との間には全
く結合点がない。
上述したソフトウェアモデリング方法Bを完全にするた
めに、前記ウィッドーズ導入方法が第1図に於てステッ
プ30bとして示されている。
ハードウェアモデリング方法Aには、前記ウィッドーズ
方法と共に平行な手法が存在することを説明すべきであ
る。試験ソフトウェアをハードウェア12aのハードウ
ェア環境内に導入することができる。これが第1図のス
テップ30aによって示されている。複合予備開発マイ
クロプロセッサの動作をエミュレートするデバイスであ
るいわゆる「回路内CPUエミュレータ」が、ターゲッ
トボード24内の制御CPU24Hの位置に、またはブ
レッドボーディングモデル12aを支持する汎用テスト
ベツド内に挿入されている。前記回路内CPUエミュレ
ータは、置き換えられたCPUと等価の「ブラックボッ
クス」として機能し、かつ更に利用者に対して、ソフト
ウェア制御区切り点を設定し、ソフトウェア制御試験信
号をCPUエミュレートデバイスを介してターゲットボ
ード24内に注入し、かつエミュレートされた前記CP
Uの内部状態を点検する能力を与える。
回路内CPUエミュレータとしては、例えば上述した米
国カリフォルニア州のインテル・コーポレイションから
市販されているものがある。その−例は、インテル80
86 (登録商標)マイクロプロセッサをエミュレート
するICE−86(登録商標)回路内エミュレータであ
る。回路内エミュレータの記述は、更に例えばポレ(P
oreL )他による1987年6月160発行の米国
特許第4゜674.089号、「イン−サーキット・エ
ミュレータJ  (In−C1rcuit En+ul
aLor ) 、ブラウン(Braun )他による1
986年11月40発行の米国特許第4.621,31
9号、「パーソナル◆ディベロップメント・システムJ
  (Personal Development S
ysLem ) 、イエン(Yen )による1978
年4月180発行の米国特許第4,084゜869号、
「インターコネクタ・フォー・インテグレーテッド・サ
ーキット・パッケージJ  (InLerconnec
Lor ror InLegraLed C1rcul
L Package )の各明細書に記載されている。
尚、これらの米国特許は本発明の説明のために引用され
たものに過ぎない。
回路内エミュレータの手法30aによっては、ASTC
設計エンジニアはハードウェアモデル12aの内部動作
を中断させる手段またはハードウェアモデル12a内部
の内部点の論理状態をモニタする手段を得ることができ
ない。従って、ソフトウェアモデリング方法Bによって
得られるのと同程度の柔軟性が得られない。更に、その
ハードウェア元来の性質及び特定の予め指定されたCP
Uへの組付けのために、前記回路内エミュレータの手法
30aによっては、異なるターゲットシステム24(異
なるCPU24a及び他の複合要素で構成され得る)と
その結果であるプロトタイプASIC22との間で完全
な互換性を確保するために、ステップ14に於て「完全
な」試験ベクトルの組を作成するための完全な汎用手段
が提供されない。
要すれば、開発中ASICと1個または2個以上の複合
ターゲットシステム間に於ける互換性を確保するための
「完全な」試験ベクトルの組を生成することは、依然と
して問題である。ハードウェア見本30bをソフトウェ
ア12bのソフトウェアシミュレーション環境内に導入
する前記ウィッドーズ方法によっても、または試験ソフ
トウェアを予備開発CPUを介してターゲットボード内
に導入する回路内CPUエミュレータ方法30aによっ
ても、モデル回路がステップ20a、20bのいずれか
に於て「シリコンで形成される」(プロトタイプICに
転換される)前にASICプロトタイプ22のソフトウ
ェアモデル12bまたはハードウェアモデル12aのい
ずれかに試験ベクトルの全範囲が確実に適用されるよう
にする方法の問題が克nαされていない。従って、より
完全な試験ベクトルの組を作成し、かつ異なるターゲッ
トシステムについて互換性を確保する方法が必要である
〈発明が解決しようとする課題〉 本発明のターゲットは、従来技術の」二連した欠点を克
服し、開発中集積回路(以下、ICUDと称す)のソフ
トウェアモデル、またはハードウェアモデル、もしくは
ラフl−/ハードウェアモデルの組合せを、最終的にタ
ーゲットシステム内に挿入される際に最終的な製品デバ
イス(0次のプロトタイプICIG)に曝されるであろ
うベクトルと類似の広い範囲の試験ベクトルに曝すため
の方法及び装置を提供することにある。これらソフトウ
ェア、ハードウェア及びハイブリッドモデルをそれぞれ
一般的にrASICモデル」と称する。
[発明の構成] 〈課題を解決するための手段〉 本発明によれば、物理的ピン即ち「リアル」ピンのアセ
ンブリ(以下「ピンダミー」と称す)をターゲットシス
テムのASIC受入ソケット内に挿入する。I CUD
のソフトウェアモデル内に郭定されるソフトウェアシミ
ュレーション出力ピン(バーチャル出力ピン)の論理状
態は、I CUDモデルの論理出力ピン状態(即ち、い
わゆるASIC応答)を前記ピンダミーの対応する「リ
アル」出力ピンを介してターゲットシステム内に投影さ
せることによって、ターゲットシステムハードウェア(
及びターゲットシステムソフトウェア)を刺激してソフ
トウェアモデル生成刺激に応答する状態に入るようにす
るハードウェア型「ターゲット−刺激」にソフトウェア
状態がなるようにすることによって、ターゲットシステ
ムの物理的なハードウェア内に再生される。前記ピンダ
ミーのターゲット被駆動「リアル」入力ピンの論理状態
は、このようなターゲット生成状態(ターゲット応答)
を前記ソフトウェアモデルの対応するソフトウェアシミ
ュレート入力ピン(バーチャル入力ピン)を介してソフ
トウェア内に導入することによって、これらの状態がソ
フトウェアモデルを刺激してターゲット生成状態に応答
する相補状態に入らせるrASIC−刺激」になるよう
にすることによって、前記ソフトウェアモデル内に相捕
的に複写される。
このような刺激/応答変化が生じると、前記ピンダミー
が未製造集積回路プロトタイプ(P I C)のチップ
パッケージ上に供給されるASICターゲット連絡ピン
の機能をエミュレートする。ターゲットシステムから見
れば、物理的なASICプロトタイプ(P I C)が
既にそのASIC受入ソケラト内に挿着されていると考
えられる。ソフトウェアモデルから見れば、実際のター
ゲットシステムの「完全な」ソフトウェアエミュレート
版が前J己ソフトウェアモデルのソフトウェアシミュレ
ーション環境(ハードウェア「バラットフォーム」また
は「支持」コンピュータ)内に正確にプログラムされて
いると考えられる。
前記ターゲットシステム/ソフトウェアモデルの各ハー
ドウェア/ソフトウェア環境内に於けるピン状態のミラ
ーリング(mlrrorlng )即ち鏡面関係によっ
て、ASICモデルとそのターゲットシステムとの間に
於ける全ての可能性のあるインタラクションの試験が可
能になる。前記ターゲットシステム/ソフトウェアモデ
ルの各リアル/パーチャルピンに於ける入力/出力状態
の相捕複写によって、前記ターゲットシステムとソフト
ウェアモデル(ASICモデル)との間にタイトカプリ
ングが作られる。このタイトカプリングによって、AS
IC開発者にはICUDのプロトタイプを組み立てる相
当以前に、開発中ASICとターゲットシステムとの間
に存在し得た大部分の非互換性を迅速に暴露しかつ補正
する機会が与えられる。このような開発環境によって開
発時間及び費用に於ける電入な節約が実現され得る。
ピンダミーはさまざまな形態を取ることカもできる。ピ
ンダミーは、前記PICを収容する実際のパッケージに
対して、パーチャルピンの状態が記憶されるパーチャル
ピンレジスタ(後述)に前記ピンダミーのリアルピンを
結合させるように作用するべく延長するへその緒(um
blllcal )ケーブルと実質的に等しい形態のダ
ミーパッケージ(プローブヘッド)とすることができる
。さもなければ、前記ピンダミーは、未製造プロトタイ
プIC(P I C)の対応するピンに結合されるター
ゲットシステム結合点にそれぞれ接続される別個のコネ
クタの組とすることができる。ピンダミーは更に、後者
の集積回路が未製造プロトタイプICのそれと同様にパ
ッケージ内にパッケージされたモノリシック基板からな
り、かつ更に後者のピンダミーICがその半導体基板上
に前記ピンダミーのリアルピンに結合された適当な三状
態ドライバと、前記リアルピンから受信されまたは前記
リアルピンに向けて送られるデータを記憶するために前
記三状態ドライバに結合されたリアルビンレ、ジスタ手
段と、前記リアルピンレジスタ手段内に記憶されたデー
タをパラレル形からシリアル形に(またはその逆に)変
換するために前記リアルピンレジスタ手段に結合された
シリアル−パラレル変換手段とを備えている場合に、「
ピンダミーIC」の一体部分とすることができる。
ターゲットシステムのハードウェアによってパラレルに
前記ピンダミーの信号受信入力ピン(「リアル」入力ピ
ン)に向けて送られる入力ピン信号(ASIC−刺激)
は、シリアルに伝送可能な入力ビットに変換されると好
都合であり、これらは、前記ソフトウェアモデルのソフ
トウェアシミュレート入力ピン(「バーチャル」入力ピ
ン)を支持しているソフトウェアモデルメモリ手段(即
ちパーチャルピンレジスタ)にシリアルに伝送される。
この場合、連続的に受信された入力ビットはパラレル形
に変換(即ち、前記パーチャルピンレジスタ内にシフト
させることによって)すると好都合であり、そのような
パラレル形で前記ソフトウェアのモデルの前記バーチャ
ル入力ピンに向けて送られる。
前記ソフトウェアモデルによって(その池のパーチャル
ピンに於て)作られた出力ピン状態(ターゲット−刺激
)は対応させて連続伝送可能に出力ビットに変換され、
かつこれらは前記リアルピンレジスタ手段に連続的に送
られる。連続的に受信された出力ビットはパラレル形に
変換され、かつリアルピンバッファレジスタ手段等に最
初に記憶されると好都合である。所定数の出力ビットが
受信されかつリアルピンバッファレジスタ手段内に記憶
されると、記憶された出力ビットはパラレル形で前記リ
アルピンレジスタ手段に送られ、かつそこから前記ピン
ダミーに向けて、同時に前記ピンダミーの「リアル」出
力ピンを前記ソフトウェアモデルによって作られる出力
ピン状態を表わす電気的状態に駆動するような適当な手
法で送られる。
ターゲットシステムとASICモデル支持プラットフォ
ーム(即ちワークステーション)との間に於けるバーチ
ャル及びリアル入力/出力ピン状態情報の交換は、実時
間の形でまたは疑似実時間の形で発生する。疑似実時間
信号交換方法が使用される場合には、ターゲットシステ
ムをその本来の速度より遅い速度で1つ進ませるか、ま
たは前記ターゲットシステムのタロツクを別の方法でゆ
っくりと運転されるASICモデル(即ちソフトウェア
モデル)と前記ターゲットシステムを動機させた状態に
するような手法で遅らせる。
実時間方法を取る場合には、前記ターゲットシステムは
全速力で運転することができ、かつ前記ASICモデル
のハードウェアプラットフォーム(即ち、ソフトウェア
モデルを支持するコンピュータハードウェア)が、前記
ターゲットシステムのクロックと同じ速度で前記ASI
Cモデルが進むことができるような充分な速度で操作さ
れる。
いずれの場合にも、ソフトウェアモデルによるICHD
のシミュレーション及びバーチセル/リアル状態の交換
は、実時間または「略実時間JASIC/ターゲットイ
ンタラクションが見られるように少なくとも毎秒100
0ビツトの刺激/応答情報が前記バーチセル/リアルピ
ン鏡面構戊の中を通過し得るような充分な速度で行うべ
きである。
ここでいう「略実時間」とは、妥当な観察時間(即ち、
3分以内)内に、数千または数百万と言わないまでも少
なくとも数百の順次バイトがASICモデルとターゲッ
トシステムとの間で交換されるべきことを意味する。前
記ASICモデルとターゲットシステムとの間に於ける
バーチセル/リアルビン情報交換(刺激と応答)の周期
は、1ミリ秒以下程度であると好都合であり、1マイク
ロセ力ンド以下程度であると一層好都合である。
このような短い処理時間によって、設計者が比較的短時
間内にASICモデルと決定論的または非決定論的ター
ゲットシステムと緊密に粘合されたインタラクションを
観察できるようにすべきである。「非決定論的」とは、
システムが必ずしも同じ結果を何度も繰り返して生じな
いことを意味する。後者の非決定論的ターゲットシステ
ムの刺激一応答時間は、非決定論的インタラクションが
観察される場合には、ピン状態ミラーリング手段と組み
合わされたASICモデルの刺激一応答時間と等しいか
またはそれより大きくすべきである。
本明細書に於て、rAsIc−刺激」/「ターゲット一
応答」または「ターゲット−刺激」/rLsIc一応答
」等の」二連した対の語は1次/2次の順序を意味する
ものではない。これらの語は単にASICモデルの入力
/出力信号と対応するターゲットシステムの出力/入力
信号との間に於ける両方向性の原因/効果関係を表わし
ている。
ASIC−刺激またはまたはターゲット/刺激のいずれ
が先に来るかの問題は、特定のASIC/ターゲットの
組合せの設計に依存する選択の問題であり、これは設計
者に委ねられている。本発叩の別の面によれば、ASI
Cモデルはソフトウェアモデル部分とハードウェアモデ
ル部分双方を含むように形成される(即ち、Al5Cモ
デルはAsIC設計の1部分のソフトウェアモデルとA
sIC設計の別の部分のハードウェアモデルとの組合せ
として即ちハイブリッドモデルとして形成される)。
ハードウェアモデル部分に於て使用されるべき特定のハ
ードウェア論理要素(即ち、ANDゲート、ORゲート
、インバータ、フリップフロップ、マルチプレクサ等)
を郭定し、かつハードウェアモデル部分に形成されるべ
き信号ルーティング線を郭定する第1ソフトウエア情報
がプログラマブル論理デバイスのアレイに送られて、そ
のように定義されたASICモデルのハードウェアモデ
ル部分をハードウェアに於てエミュレートする回路に前
記PLDアレイを形成する。前記PLDアレイはピンダ
ミーによって直接ターゲラ!・システムに結合されてい
ると好都合であるが、前者は後者に対してパーチャルピ
ン/ノード−レジスタ対リアルピン−レジスタ鏡面構成
によって結合させることができる。このパーチャルピン
/ノード−レジスタは、後述するようにプログラム可能
に定義可能なASICモデル(擬似ASIC)のパーチ
ャルピン及び/またはバーチャルノードを支持するメモ
リ手段である。
第2ソフトウエア情報が更にPLDアレイに送られて、
前記バーチャルASICのハードウェアモデル部分内で
ランダムアドレスノード(試験点)をモニタするための
塊込論理アナライザ手段をPLDハードウェア内に郭定
する。このPLD実行ハードウェアーエミュレーション
方法が、比較的高速度で(即ち、1マイクロセカンドま
たはそれ以下のサイクル時間で)ターゲットシステムと
相互に作用するべきASICモデルの部分について続け
られると好都合である。先に記載したソフトウェア−シ
ミュレーション方法(パーチャルピンまたはノードがソ
フトウェアモデルに於て郭定される)が、高速度でター
ゲットシステムと相互作用する必要のないASICモデ
ルの他の部分について続けられると好都合である。
(上ス下金白) 本発明の更に別の面によれば、前記ASICモルの行動
レベルモデル部分(即ち全体)が細分化され、かつ適当
な平行プログラミングによって前記ASICモデルのマ
ツプ即ち写像部分(または全体)をプロセッサのマツシ
ブパラレルアレイ内で同時にシミュレートするために前
記マツシブパラレルアレイ内に写像される。ASICモ
デルの平行シミュレート部分が、後述するようにピンダ
ミー及びパーチャルピン−レジスタ対リアルピンレジス
タミラー構成を介してターゲットシステムにタイトカプ
リングされる。
塊込論理アナライザ手段が、前記ASICモデルのラン
ダム選択ノード(試験点)をモニタするため及び試験信
号をそれと同じまたは他の所望のノードに注入するため
に前記平行プロセッサシミュレータ内に郭定されると好
都合である。高速シリアル通信リンクを用いて、前記ピ
ンダミーのリアル入力/出力ピンと前記ASICモデル
のバーチセル入力/出力ピンとの間で情報を交換すると
好都合である。1ミリ秒以下の情報交換時間が好ましく
かつ単一の各交換サイクルについては1マイクロセカン
ド以下であれば一層好都合である。
このようなリアルピン/パーチャルピン情報の高速交換
によって、前記ピンダミーに於けるリアルピンの論理状
態と前記パラレルプロセッサアレイによってシミュレー
トされるパーチャルピンの論理状態との間に実時間(ま
たは擬似実時間)の鏡像(またはそれと等価)関係が生
じる。
次に前記ターゲットシステムと前記ASICモデルとの
間のインタラクション(後者は全体としてまたは部分的
に、(1)パラレルプロセッサのソフトウェアモデルシ
ミュレートアレイ、(2)PLDのハードウェアモデル
エミュレートアレイ、または(3)ソフトウェアモデル
シミュレート◆フオンノイマン型ワークステーションの
いずれかまたはそれらの組合せによってシミュレート/
エミュレートされる)が検討され、かつプログラム可能
に確定されるASICモデル(バーチャルAS I C
)が必要に応じて設計の目標に一致させるように再構成
される。
本発明の或る特定の側面は、重要な試験及び再設計の全
く以前のICUD設計の状態である前記「初期JASI
Cモデルが、少なくとも部分的に行動レベルのモデル(
ICUDの粗雑な記述)によって定義される場合が多い
という事実に関係する。この行動レベルのモデルは、開
発時に段階的にトランジスタレベルのモデル(ICUD
の詳細の記載)に変換(洗練)され、それと同時にター
ゲットシステムとASICモデル間の非互換性及びAS
ICバグが発見されかつ再設言1によって補正される。
このような同時洗練/デバグ開発方法に関連して、本発
明は、ASICモデルの試験、再設計及び粗雑な記述状
態から詳細な記述状態への記述的洗練が、本発明のパー
チャルピン対リアルピンミラー概念を用いて、設計開発
の最初から少なくとも前記ASICモデルの全体が少な
くともゲートレベルにまで細かく論じられている時間点
まで付随的に実行されるという特徴がある。前記ASI
Cモデルがその全体に於てゲートレベルの洗線状態(も
しくは別の同様な詳細な記述的状態)まで発展されると
、ターゲットシステムとASIC設計との間に於ける全
ての論理機能的非互換性が、(付随するデバギングの結
果として)取り除かれるべきである。従って、このよう
な状態に達すると、大抵の場合に即座にバグのないプロ
トタイプICの組み立てに進むことが可能である。タイ
トリカプルドブバグ及び記述的精密さを同時に使用する
ことが、従来のASIC開発方法と比較して設計/開発
の時間及び費用を大幅に低減させると期待される。
上述の特徴に関連して見過すことのできない本発明の或
る小さい側面は、本明細書中に開示されるASIC設計
/開発方法によって、前記ASICモデルを初期の粗雑
な記述レベルからより精密な記述レベルに向上させるた
めの実質的な努力が支払われる前に、設計/開発の初期
段階に於いてさえターゲットシステムとASICモデル
との間の非互換性に実体を与える(暴露する)能力を開
発者が得られることである。「バーチャル」及び「リア
ル」ピンの論理状態を表わす情報(即ち、デジタルデー
タパケット)は、前記I CUDの全部分を詳細に定義
するために努力が支払われる前に、ターゲットシステム
と「粗雑なJASICモデルとの間で交換することがで
きる。「粗雑」ASICモデルとそのターゲットシステ
ムとの間に於ける粗雑なレベルの非互換性は、初期AS
ICモデルが非互換性の粗雑定義状態から同様の非互換
性の精密定義状態に変形させるために時間と努力とが誤
った方向に費やされる前に、発見されかつ補正すること
ができる。開発時間の実質的な節約は、前記ICUDと
そのターゲットシステムとの間に於ける粗雑な非互換性
を甲、明解法することによって実現するべきである。
本発明の更に別の側面によれば、前記ASICモデルの
前記ソフI・ウェア具体化定義(この定義はソフトウェ
アモデル、前記PLDアレイのコンフィグレーションデ
ータ及び、フオンノイマンプラットフォーム、マツシブ
パラレルプロセッサブラットフオームまたはPLDハー
ドウェアアレイの内の2つまたはそれ以上を互いにプロ
グラム可能に連絡するために使用される連絡データのい
ずれかまたはそれらの全てからなる)が、細分されて複
数のワークステーション間に分配される。これらのワー
クステーションは、互いに連結され、かつ/または、複
数のワークステーションの個々の情報パケットを一績に
し、かつこれらのパケットをピンダミーを介してそのリ
アルピンに、該リアルピンの論理状態がネットワーク分
配ASICモデルのバーチャルインターパッケージピン
の論理状態と実質的に同等になる(またはその逆)よう
な手法で連絡する1個または2個以」二のシリアル通信
ネットワーク(即ち、いわゆるLAN (ローカル・エ
リア・ネットワーク))を介して、1個または2個以上
のピンダミーに連結される。ここに於て、バーチャルイ
ンターパッケージ(lnLerpackage)ピンは
バーチャルイントラパ、ツケージ(1nLrapack
aLe)ピンと区別される。以下の記載の於て「フラク
ショナルノード」と称される後者の型式のパーチャルピ
ンは、ASICモデルを細分化された小部分(フラクシ
ョン)に区分けするため、及び細分化された前記部分を
互いに連結するために使用される。
ASICフラクションがそれぞれワークステーションの
ネットワーク結合アレイの個々の異なる部分及び/また
はパラレルプロセッサのアレイに分配されると、各AS
ICフラクションの対応する「ノードフラクション」 
(区分は作用によって小部分に分割されたノード)に於
ける状態のリアルタイム(または擬似リアルタイム)複
写によって、各フラクションが他のフラクションと依然
として直接に結合(ソフトウェアまたはハードウェアに
於て)されているかのように動作するような状態が作ら
れる。ASICモデルの定義(ソフトウェア/ハードリ
ニア記述)がそのように細分され、ネットワークに分布
され、かつ各フラクションの対応するノードフラクショ
ンの状態を反射することによって再結合されると、或る
開発者が第1の開発位置に於て前記ASICモデルの或
る部分を設計/開発することが可能となり、他方第2の
開発位置に於て別の開発者が同時に前記ASICモデル
の別の部分について作業することができる。それぞれに
異なる位置に配置された異なる開発者の結合させた作業
結果を集めて、更に別の位置に配置することができるタ
ーゲットシステムに対して、それらの各フラクションを
1個または2個以上のパーチャルピン/ノードレジスタ
を対応(リアル)ピンレジスタミラー構成によって連絡
し、かつそのようなビンレジスタ組合せ(リアルタイム
または擬似リアルタイム)の状態を1個または2個以」
二のピンダミーを介して共通のターゲットシステム内に
投影させることによって試験することができる。
本発明の上述した及び更に別の側面が、全体的にまたは
部分的に、ピンダミーを1個または2個以」二の(ネッ
トワーク連結)フォンノイマン型ワークステーション、
PLDアレイ及び/またはパラレルプロセッサのアレイ
と結合させることによって実現される。ソフトウェアコ
ンフィグラブル連結手段を用いて、これらのモデル支持
体の1個または2個以上を前記ピンダミーにプログラム
可能に連結し、それによって前記ASICモデルの全体
設計を定義することができる。好適には、1個または2
個以」二の高速シリアル通信リンク(それぞれにパラレ
ル対シリアル及び対応するシリアル対パラレルピットス
トリーム変換手段の組を有する)を用いて、前記各モデ
ル支持体(ASICエミュレータ/シミュレータ)を連
結し、かつそれによってそのような連結に必要なワイヤ
の数を最小にする。情報交換が、ピンダミー」二のリア
ルピンの論理状態及び前記ASICモデルに於ける対応
するパーチャルピンの論理状態を互いに実質的な複製に
するために、1個または2個以」−のシリアル通信リン
クを介して生じる。
本発明の第1実施例によれば、ピンダミーのリアルピン
がASICエミュレータ装置と粘合される。このASI
Cエミュレータ装置は、(a)前記リアルピンの1個ま
たは2個以」二のターゲット被駆動ピンと結合された入
力端子を有し、ソフトウェアモデルのソフトウェアシミ
ュレート入力ピン(バーチャル入力ピン)に於て反射さ
れる(複製される)べき状態であって、前記ターゲット
被駆動リアルピンに現われる1個または2個以」二のタ
ーゲット発生入力状態を表わす第1デジタルデータをタ
ーゲットシステム、から受は取りかつそのメモリセル内
に記憶するためのリアル入力レジスタ手段と、(b)前
記リアルピンの1個または2個以」二のターゲット駆動
ピンと結合された出力端子を有し、前記ピンダミーのタ
ーゲット駆動リアルピンを介して前記ソフトウェアモデ
ルのソフトウェアシミュレート出力ピン(バーチャル出
力ピン)の状態を表わす第2デジタルデータをそのメモ
リセル内に記憶しかつ前記ターゲットシステムに送るた
めのリアル出力レジスタ平段と、(C)ターゲット駆動
及び/またはターゲット被駆動ピンとして予め選択され
た前記ピンダミーのリアルピンを指定するための方向指
定子段とを有する。
ソフトウェアモデルを、それがピンダミーから所定数の
入力ビット(即ち、第1デジタルデータ)を受は取るま
で一時的に実行を停止させるためにかつ/またはターゲ
ットシステムをそれがソフトウェアモデルから所定数の
出力ビット(即ち、第2デジタルデータ)を受は取るま
で一時的に実行を停止させるために、前記ASICエミ
ュレータ装置内にソフトウェアモデル対ターゲットシス
テム同期手段を設けると好都合である。この実行停止に
よって、前記ASICモデル及びターゲラ!・システム
を互いに密接して動作させることができる。各情報交換
サイクルに於てターゲットシステムとASICモデルと
の間で交換される所定数の入力及び出力ビットは、特定
の動作の際に状態を変化させ得るリアル/パーチャルピ
ンを表わすビットのみが交換されるように最小にすると
好都合である。このような交換ビットの数を最小にする
ことによって、前記ターゲットシステムと前記ソフトウ
ェアモデルとの間に於ける情報交換速度を最大にするこ
とができる。この交換速度の最適化によって、ターゲッ
l−/ICUDトランザクション時間の短縮(好適には
トランザクション毎に実質的に約1ミリ秒以下)が促進
され、かつそれによって試験中の結合されたASICモ
デル/ターゲットシステムのコンフィグレーションに於
ける「バグ」 (設計」二の欠陥)の迅速な識別が可能
になる。
前記第1実施例のターゲットシステムは、ピンダミー及
びその中に投影されるソフトウェアモデルとの組合せに
於て、前記ASICチップが組み立てられかつさまざま
な多くのエンドユーザに分配された際に最終的に直面す
るであろう広い機能的環境との可能な全てのインタラク
ションに対して前記ソフトウェアモデルを曝すために、
ターゲットシステムに於て実行される市販ソフトウェア
(即ち、第3者によって製造されるアプリケーションプ
ログラム)のさまざまなパッケージを用いて、適度に可
能な限り多くの機能的モードによって進ませると好都合
である。前記ターゲットシステムが第3者によって製造
された拡張ハードウェアを挿入するための拡張スロット
/ソケットを何する場合には、このような拡張ハードウ
ェアの合理的に予想し得る全ての入換えは、適当なアプ
リケーヨンプログラムによって挿入されかつ操作される
べきである。従って、開発中の前記ASIC(まだプロ
トタイプとして組み立てられていない「バーチャル」デ
バイス)には、該ASICの開発者以外の者によって開
発された広範囲のアプリケーションソフトウェア及び前
記ターゲットシステムに於て使用するために第3者によ
って開発された広範囲の複合ハードウェア(所1’ji
’AsIcを含む)と相互作用させる機会が与えられる
。バーチャルデバイス(ICUD)とそのターゲットシ
ステムとの間に於ける僅かな非互換性を発見することが
でき、かつその非互換性の存在理山をIll 1IJi
しかつプロトタイプチップを組み立てる前に補正するこ
とができる。
開発中ASICデバイス(ICUD)のソフトウェアモ
デルまたはそのソフトウェアモデル「部分」は、そのソ
フトウェア環堝内に於て、前記ソフトウェアモデル部分
の所望の内部状態をモニタし、所定のトリガ条件(クオ
リファイヤ)の作動時に前記状態に関する情報を収集(
データ捕捉)し、かつソフトウェア試験ベクトル(試験
パターン)を前記ソフトウェアモデル(またはソフトウ
ェアモデル部分)の各ノード(即ち、インターパッケー
ジ及びイントラパッケージパーチャルピン)に注入する
のに適した理込論理アナライザ/試験信号インジェクタ
手段と結合させると好都合である。狸込論理アナライザ
/信号インジェクタ手段とターゲットシステムからの実
際の入力信号との組み合わせを使用すると、前記ASI
Cについて意図された環境の実際の作業条件に対して前
記AS■Cモデルを暴露することが可能になり、かつ同
時に、前記ASICモデルの内部状態をモニタすること
が、そのようなモニタリングが望まれる場合に可能とな
る。
上記説明から、前記I CUDが依然としてソフトウェ
ア記述段階にある状態でターゲットシステムと前記I 
CUDとの間の全てのインタラクションの関する完全な
情報を得ることができることが明らかである。前記ター
ゲットシステムが1個以」二のICUDを有する場合に
は、そのような未開発の全ICを」二連した技術のいず
れかまたはそれらの組み合わせによって同時にモデリン
グすることができ、かつICモデル(「バーチャル」デ
バイス)の相互間の及び前記ターゲットシステムの他の
部分(ハードウェア及びソフトウェア)との同時インタ
ラクションを、その対応するソフトウェア記述をプロト
タイプチップC(rリアル」デバイス)に変換する前に
検討することができる。
本発明の第2実施例によれば、開発中ASICデバイス
の部分または実質的に全体のゲートレベルのモデル(ま
たは他のハードウェア実施可能モデル)を表わすコンフ
ィグレーション情報が、プログラマブル論理デバイスの
アレイからなるハードウェアエミュレータに投影される
。プログラマブル論理デバイス、即ちPLDは、通常そ
の論理機能がソフトウェアプログラミングによって決定
され得るコンフィグラブル論理ブロック(CL B)と
、その信号方向がソフトウェアプログラミングによって
制御され得るコンフィグラブル入力/出力ブロック(I
OB)と、前記コンフィグラブル論理ブロック(CL 
B)間及び/または前記入力/出力ブロック(IOB)
間に於ける信号のソフトウェア制御ルーティングのため
のコンフィグラブル連絡手段(即ち、ソフトウェア制御
マルチプレクサ)とを有する。このようなPLDはソフ
トウェアによって制御されて、ハードウェアに於て開発
中の前記ASICの所望のゲートレベルの部分または全
体でさえモデリングする(エミュレートする)エミュレ
ータを創成する。
各PLD−IC(チップ)が個々のパッケージされ、か
つ全ての内部ノードを汎用PLD・IC内でモニタでき
ることが望ましいので、各PLD・IC(パッケージ集
積回路)の全体ではなく第1部分が、開発中のASIC
デバイス(ICUD)のゲートモデルの予め選択された
部分をエミュレートするために予約されると好都合であ
り、他方、3PLD・ICの第2部分が理込ハードウェ
ア論理アナライザ/試験信号インジェクタ手段の形成に
予約されると好都合である。この後者の手段は、その中
でエミュレートされるハードウェアモデル部分のランダ
ム選択内部ノードでの論理状態をモニタするため及び/
またはそのようなランダムアドレス可能ノードに試験信
号を注入するために、適当にコンフィグレーションソフ
トウェアによって構成し得るような充分な量のハードウ
ェア(即ち、アクセスピン、IOB、プログラマブル論
理ブロック及び連絡部)を有するべきである。
開発中ASICデバイスの前記PLD形成ハードウェア
モデル部分は、ピンダミーを用いてターゲットシステム
と直接に結合(または上述したパーチャルピン−レジス
タ対対応(リアル)ピン−レジスタミラー技術を用いて
間接的に結合)することができる。ハードウェアモデル
部分、ソフトウェアモデル部分及びターゲットシステム
の組合せは、リアルタイムまたは擬似リアルタイムベー
スで動作させることができ、それによってPLD実行モ
デル部分をターゲットシステムの全作動環境に暴露させ
ることができ、かつターゲットシステムを未製造プロト
タイプIC(PIC)の全動作状態に暴露させることが
できる。
ASICモデルの開発の際には、前記PLDアレイの前
記理込論理アナライザ回路が、適当なソフトウェアによ
って、開発中デバイス(ICUD)のハードウェアモデ
ル部分内のランダムアドレス試験点をモニタするように
、かつ所望のトリガ条件の発生時にデータ収集動作をト
リガするように構成される。PLD実行ゲートモデルの
ユーザ選択(ランダムアドレス)試験ノードで生成され
たデータが、所定のトリガ条件(クオリファイヤ)の組
のいずれかが満足されると常に適当なメモリ手段に向け
て送られかつその中の記憶される。次に、記憶されたデ
ータは、例えば通信ネットワークによって前記PLD実
行モデルに連結されたワークステーションを介してアク
セスされ、かつ捕捉したデータを検討して前記ASIC
モデルがそのターゲットシステムと所望の方法で相互作
用しているかどうかが1′11断される。前記ASIC
モデルのハードウェアモデル部分及び/またはそれに結
合される前記抑込論理アナライザ回路は、必要に応じて
適当な再コンフィグレーション情報を(前記ワークステ
ーションから)前記PLDアレイに送ることによって変
更することができる。
ゲートレベルでモデリングするためには充分に開発され
ていないICLIDの部分は、適当なコンピュータプラ
ットフォーム(即ち、エンジニアリングワークステーシ
ョン)に於ける行動レベルのソフトウェアによって同時
にシミュレートすることができ、かつこれらソフトウェ
アシミュレート部分の動作特性は、ソフトウェアシミュ
レート部分に於ける「バーチャル」ピン/ノードの入力
/出力状態と前記ハードウェアエミュレート部分に於け
る「リアル」ピン/ノードとの間の鏡像関係を作ること
によって、」一連したようにPLD実行ハードウェアモ
デル部分と結合させることができる。
本発明の第3実施例によれば、パラレルプロセッサのア
レイが前記ICUDの選択部分または全体の行動をシミ
ュレートするために使用され、かつ入力/出力状態がパ
ラレルにシミュレートされた前記I CUDの「バーチ
ャル」ピン/ノードとターゲットシステムとの間に於て
適当なピンダミーの「リアル」ピンを介して交換され、
それによって前記ICUDを「エミュレート」すること
ができる。
〈実施例〉 以下に本発明をさまざまな実施例を用いて詳細に説明す
る。しかし、これらの実施例は単なる例示であって、本
発明の技術的範囲を制限するものではない。
第2図には、本発明によるアプリケーション特定集積回
路(ASIC)プロトタイプ122bを設計しかつ開発
するための方法Cのフロー図100が示されている。こ
の図示される方法Cによれば、未製造デバイス(以下「
開発中ICJまたは単にICUDと称す)によって発揮
される機能を有する初期仕様10が与えられ、かつソフ
トウェアモデル112bが、高住能ワークステーション
のような適当なソフトウェア支持プラットフォームに於
て前記仕様10に適合するように形成される。ソフトウ
ェア試験ベクトル114bを作成しかつ適用するステッ
プ及びハードウェア見本30bをソフトウェアエミュレ
ーション環境内に導入するステップは、必要に応じて」
二連したように行われる。回路内CPUエミュレータを
用いて試験ソフトウェアを導入するステップ30aは、
後の説明から容易に分かることであるが、ターゲットシ
ステムCPUを回路内エミュレータと単に置き換えるこ
とによって同時に行うことができる。
ソフトウェアモデル112bの於ける「バーチャル」出
力ピン(図示せず)の論理状態を表わすソフトウェアモ
デル生成出力信号(ASIC一応答)が、ピンダミーの
「リアル」出力ピン(ターゲット駆動ピン)に於て前記
「バーチャル」出力ピンの論理状態を複製するように、
ピンダミー122aのリアルピン(rp)を介して同期
させてターゲットボード24*に投影される。これらソ
フトウェアモデル生成論理状態に対する前記ターゲット
ボードの応答(ターゲット応答)は、ソフトウェアシミ
ュレートモデル112bの「バーチャル」入力ピン(図
示せず)に於て「リアル」入力ピン(ターゲラ!・被駆
動ピン)の論理状態をピンダミー122a上に複写する
ように、ピンダミー122aの前記リアルピンを介して
同期させて前記ソフトウェアモデルに反映される。前記
ソフトウェアモデル112bはターゲットボード24*
の豊富な動作環境に暴露することができ、かつ前記ター
ゲットボードは同時に完全には開発されていないICU
D(ソフトウェアモデル112bとピンダミー122a
との組合せによってエミュレートされる)の動作状態に
同時に曝すことができる。
ソフトウェアモデル112bによって定義されるような
前記ICUDの設計に於ける機能の補正は、「リアル」
 (ハードウェア)集積回路プロトタイプ122b(P
IC)がソフトウェアモデル対ハードウェアプロトタイ
プ変換ステップ120に於て組み立てられる前に、エミ
ュレートされたASICとその実際のターゲットシステ
ムとの間のインタラクションを分析することによって試
験(確認)される。ソフトウェアモデル112bの分析
及び再設計118は、その入力が1個または2個以」−
のターゲットシステム24*に於けるASIC受人ソケ
ットの豊富な環境を有する開発ループ内に存在する。タ
ーゲットシステムの「ハードウェア」は、数学的コプロ
セッサ(coprocess。
r)、グラフィックスドライバ、拡張ボード等のような
任意の拡張ハードウェアをターゲットシステム内に挿入
することによって、多数のターゲットを表わすように変
形することができる。更に、前記開発ループの入力は、
ターゲットシステムに於て実行するために開発されてい
るまたは開発された多数の第3者によるアプリケーショ
ンソフトウェアパッケージの豊富な「ソフトウェア」環
境を有することができる。
ビンダミー122a及びソフトウェアモデル112bの
組み合わせによってエミュレートされた開発中デバイス
(ICUD)は、1個または2個以」二の複合ターゲッ
トシステム24*(即ち、ハードウェア及びソフトウェ
ア)の全動作条件に曝されるので、設計」二の欠陥(「
バグ」)が、設計/開発過程の全ハードウェア段階では
なくソフトウェア段階の初期に於て、開発中デバイス(
ICUD)が「シリコン」製プロトタイプ122b(P
 I C)に変換された後に、捕えられる可能性が高い
。設計及び開発のための時間は、従来方法と比較して大
幅に低減させることができる。
ソフトウェアモデル112bは、最初にいわゆる粗雑な
行動レベルのモデリング技術によって定義することがで
き、かつその後にICUDの開発が進むにつれて、前記
ソフトウェアモデルはデバッグに付随していわゆる精密
ゲートレベル及びトランジスタレベルのモデリング技術
と表現されるように洗練することができる。前記ASI
Cモデルの開発が精密なトランジスタレベルの記述(即
ち同様の記述)に達するまでに、前記ΔSICモデルは
いわゆる機能上の設計バグがないようにしなければなら
ない。この場合、ソフトウェアモデル112bの最初の
プロトタイプ122bへの変換(ステップ120)は、
前記プロトタイプがバグを有しないように確実に実行す
ることができる。
プロトタイプAS I C122bが最終的にターゲッ
トシステム24*に於てピンダミー122aに置き換え
られる(ステップ126)と、「ハードウェア」プロト
タイプ122bの前記ターゲットシステムとのインクラ
クションは、そのように開発されたトランジスタレベル
のソフトウェアモデル112bについて観察されるよう
なものと実質的に同じであるべきである。従って、ソフ
トウェアモデル−ASIC変換ステップ120が完壁な
場合には、時間を要するプロトタイプ組立てステップ1
20は、1回以」二実行しなければならないようにする
べきではない。機能」二の全バグは、プロトタイプ組立
ての前に根絶しなければならない。開発費用及び時間は
、従来方法のそれと比較して大幅に低減させることがで
きる。
第2B図及び第2C図には、別個に同期化されるデジタ
ルシステムのノード間にミラー関係を実現し得る方法が
記載されている。第2B図は、互いにASESBの順序
で結合され、かつ3個の異なる開明りロックユニット、
C1ock A、 C1ock E。
C1ock Bによってそれぞれに同期化される3個の
異なる部分、Aブロック、Eブロック、Bブロックを有
する結合デジタルシステムが示されている。
Aブロックは、入力端子150と出力端子152とクロ
ック受信端子154とを何する第1同期デジタルシステ
ム5DSAを有する。前記第1システム5DSAの出力
端子152は、そのビットが、クロックユニット、C1
ock Aによって生成されるクロックパルスの立」二
がリエッジが対応するAクロック線上に現われると、第
1フリツプフロツプFl内の内部記憶セル(ラッチ、図
示せず)内にロードされるようなデジタル出力信号を発
生する。
Aクロック線のパルスは、同時に′:jS1システム5
DSAのクロック受信端子154とAブロックによって
供給されるフリプロッタにFlのクロック受信端子及び
別のフリップフロップF8とに結合される。フリップフ
ロップF1と同様に、他方のフリップフロップF8は、
Aクロック線」二にクロックパルスの立」−がリエッジ
が現われると、そのD入力端子に現われるバイナリレベ
ルを内部メモリセル(ラッチ、図示せず)内にロードす
る。フリップフロップF1及びF8は、その各内部メモ
リセル内に記憶されたバイナリ−レベルを、Aクロック
線に沿ってパルスの立下がりエツジが現われると各Q出
力端子を介して出力する。フリップフロップF8のQ出
力端子が、第1システム5DSAの入力端子150に結
合されているのに対して、フリップフロップFlのQ出
力端子はAブロックの出力ノードNAoに結合されてい
る。フリップフロップF8のD入力端子はAブロックの
入力ノードNAIに対応して接続されている。従って、
ノードNAiはAブロックの入力点を摺戊し、かつノー
ドNAoがAブロックの出力点を構成する。
第1同朋デジタルシステム5DSAは、前記Aブロック
の入力ノードNAIに現われる刺激に対して、そのよう
な刺激がAクロック線J−にクロックパルスの立」二が
りエツジが現われるとIH1時に供給されるのであれば
、応答するように構成することができる。このような刺
激に対する第1システム5DSAの出力端T−152−
にに出力信号として現われる応答は、Aクロックのそれ
に続く立下がりパルスエツジの後にAブロックの出力ノ
ードNA。
に於て検出することができる。Aクロックが低いレベル
、即ちロー(立上がりエツジより以前)の状態で入力ノ
ードNAiに現われる論理レベルは、第1システム5D
SAの刺激として作用しない。
第1システム5DSAの刺激/応答(入力/出力)特性
は、適当な時期に入力信号をノードNAIに印加しかつ
ノードNAoで出力信号を検出することによって検討す
ることができる。
ff12B図のBブロックについて言えば、この第2ブ
ロツクはAブロックの構造に対して相補形、及び実質的
に同じ構造をh−する点に注口する。Bブロックは、ク
ロックユニット・、C1ock Bのクロックパルスを
第2同期デジタルシステム5DSr)のクロック受信端
子164に加えて、フリップフロップF4及びF5のク
ロック受信端子:二接続するBクロック線によって同門
化される。フリップフロップF4のQ出力端子は、第2
システム5DSBの入力端子160に刺激信号を供給す
る。フリップフロップF5のD入力端子は、第2システ
ム5DSBの出力端子162から応答信号を受は取る。
フリップフロップF4のD入力端子に接続されたノード
N旧は、第2システム5DSbの入力端子160に刺激
を供給するためにBブロックへの入力端子を構成する。
フリップフロップF5のQ出力端子によって駆動される
ノードNBoは、出力端子162の応答信号が検出され
るBブロックの出力ノードを構成する。第2システム5
DSBの刺激/応答特性は、適当な時期に入力信号をノ
ードNBIに印加しかつ出力信号をノードNBoで検出
することによって検討することができる。
AブロックとBブロックとの間に挟設された第2B図の
Eブロックは、Aブロックの出力ノードNAoに現われ
る情報を適当な時期にBブロックの入力ノードNr3+
に送り、かつBブロックの出力ノードNBoに現われる
情報をLブロックの入力ノードNAIに適当な時期に送
るためのデータ交換平段を構成する。Eブロックのフリ
ップフロップF2、F3、FB、F7は、そのクロック
ユニット、C1ock A及びC1ock Bに応答す
るAブロック及びBブロックの前記フリップフロップの
動作と実質的に同様に、C1ock Eユニットによっ
て出力されるEクロックパルスの立1−がりエツジ及び
立下がりエツジに応答する。フリップフロップFlのQ
出力信号は、それに続くフリップフロップF2及びF3
を通ってフリップフロップF4のD入力端子に同期的に
送られる。フリップフロップF5のQ出力信号は、その
後のフリップフロップF6及びF7を通ってフリップフ
ロップF8のD入力端子に開明的に送られる。
第2C図のタイミングチャートを見ると、第1及び第2
システム5DSA及び5DSBは、出力モードNAoが
入カノードN口1に直接接続され、かつ出力ノードNB
oが入力モードNAIに直接接続されているかのように
クロック信号、Aクロック、Bクロック及びEクロック
の周波数及び他相関係の適当な制御によって動作するこ
とが分かる。Eクロックの周波数がEクロック及びBク
ロックの周波数に関して充分に高く、それによって2個
またはそれ以−txのEクロックパルスが情報交換周明
TEに於てAクロックパルスの立下がりエツジF1−o
uLとその次に続くBクロックパルスの立ち上がりエツ
ジF4−Inとの間に現われる場合には、出力ノードN
Aoに現われる(立ち下がりエツジFl−outの時刻
)情報の複製が入カノードNBI(立りがりエツジF4
−1nの時刻)に現われる。第1及び第2システム5D
SA及び5DSBにとっては、ノードNAo及びNBI
が図示されない仮想ユニタリノードの一体部分(フラク
ション)であるかのように考えられる。このように適当
な時期に情報の複写(反射)を供給するノードは、本明
細書に於て「ノードフラクション」と称され、かつ相補
形ノードフラクションが仮想の単一ノードに属すること
を意味する。1個のノードフラクションはICパッケー
ジの1個の有形(リアル)ピンに接続されかつその相補
形ノードフラクションがソフトウェアに於てシミュレー
トされているかまたはハードウェアに於てエミュレート
された無形(非リアル)ピンノードであるような場合に
は、第1ノ−ドフラクションを「リアルピン」ノードと
称し、第2ノードフラクシヨンをその相補形である「パ
ーチャルピンjノードと言うことができる。
また、第2C図に於て、Eクロックが次の交換時間TE
内にBクロックの立下がりエツジF 5−ouL(!:
Aクロックの立ち上がりエツジF 8−1nとの間に少
なくとも2個のパルス(前エツジFB−Inと後エツジ
F7−ouL)を有する場合には、出力ノードNBoに
(立下がりエツジF 5−outの時刻に)現われるバ
イナリ状態の複製が入力ノードNAIに(立ち上がりエ
ツジF 8−inの時刻に)現われ、それによってノー
ドNBo及びNAIが第2仮想ユニタリーノード(図示
せず)のノードフラクションと見なされる。
Aクロック及びBクロックは、こののようなノードミラ
ーリング機能を具体化するために略同じ周波数で動作さ
せると好都合である。Aクロック信号とBクロック信号
との間には任意の(1′1.相関係を確立することもで
きるが、当然ながら0位相関係が好ましくかつ180度
位相関係は避けるべきである。足表可能な持続時間即ち
交換時間TEのデータ交換ウィンドウは、Aクロックの
立下がりエツジとそれに続くBクロックの立1−がりエ
ツジとの間またはその逆に於て郭定されるべきである。
Eクロック周波数は、対応するノードフラクションで等
価の論理レベルが確立されるように、交換ウィンドTE
内に於ける完全な情報交換を珂能とするように充分高く
なければならない。明確にするために、第2C図の各デ
ータ交換ウィンドTEには2個のパルスのみが示されて
いる。Eクロックの波形は、各データ交換ウィンドTI
Eに示される唯2個より多くのパルスで構成されること
は明らかである。また、各交挽つィンドTIEに於ける
Eクロックパルスの数は、Eブロック情報交換セクショ
ンに於けるデータシフト段(F2及びF7がこのような
段を郭定している)の数に尚接関係していることによっ
て、Eブロックに於けるシフト段の数が増加する場合に
は、各交換ウィンドTEにより多くのEクロックパルス
が要求されることは明らかである。
対応する入力/出力ノードNAJ/Nl’3o及びNr
31/NAoに等価の論理レベルが現われるので6対の
ノードは互いに対応するミラー関係にあると考えること
ができる。第1及び第2デジタルシステム5DSA及び
5DSBの内部から見ると、各ミラー関係対、例えばN
AI/N[3oが仮想ユニタリーノード(図示せず)を
構成しているかのように思われる。
これだけが本発明の利点であると思われるわけではない
が、各ノード対、N Ao/ N nI及びN no/
NAI内の鏡面関係が、特にAブロック及びBブロック
が共通のクロック線(Aクロック線またはBクロック線
)を両ブロック(A、B)間に於て実行させることが非
現実的である程度に互いに離隔されている場合に、Aブ
ロックとBブロックの組み合わせをデバッグするために
は特に有利である。
各ノード対、Nへo/NB1及びNBo/NAI内に於
ける鏡面関係は、第1及び第2デジタルシステム5DS
A及び5DSf3の一方または双方がソフトウェアに於
てシミュレートされまたはモノリシック半導体基板、プ
リント回路ボードまたはその類似物上に郭定される集積
回路としての最終的形状でそれぞれに実行されるのでは
なく、ソフトウェアプログラマブル論理アレイのアレイ
によってエミュレートされる場合に、−層有利になる。
このような情報交換の利点を説明することによって、第
1デジタルシステム5DSAがソフi・ウェアに於て完
全にシミュレートされ、かつシミュレートされた出力端
子152のバイナリ状態がフリップフロップFlの図示
されない内部メモリセル内に記憶され(支持され)るの
に封して、入力端子150のバイナリ論理状態がフリッ
プフロップF8の内部メモリセル(図示せず)内に同様
に記憶されると仮定する。更に、第2デジタルシステム
5DSI3がハードウェアに於て実行(最終的な設計形
状またはエミュレート・ハードウェアによって支持され
るエミュレーテッド形状に於て)されるものと仮定する
。第1システムSDSへのソフトウェア?ミュレート版
がAクロックと同一歩調を取る程度に充分速い限り、第
2システムSDSP)から見て第1システム5DSAが
ハードウェアまたはソフトウェアに於て実行されている
かどうかが明らかになる。同様に、第1システム5DS
Aから見て第2システム5DSAがソフトウェアまたは
ハードウェアに於て実行されているかどうかが明らかで
ある。従って、第1及び第2システム5DSA及び5D
Sr3は、互いに別個に、必要があれば別々の位置で、
場合によっては各デジタルシステムをソフトウェアまた
はハードウェアに於て実行しつつ開発することができ、
かつそれらを結合させたインタラクションは、第2B図
のEブロックのようなベータ交換手段を用いて検討する
ことができる。このような構成によって、システムの設
計−に大きな柔軟性が得られる。
本発明の内容及び利点については、本発明の第1実施例
300が示される第3図のブロック図によって説明され
るような特定の実施例を参照することによってより一層
理解することができる。第2D図は第3図を構成する芥
分割図その1、その2及びその3が結合される様子を示
している。
概して言えば、第3図は、未開発ASICが組み込まれ
る「ターゲラI・部分J 300aと、AS■C設計の
ソフトウェア記述がロードされる「モデルサポー1・部
分J 300bとからなる設計/開発システム300が
示されている。パーチャルピン対リアルピンミラー技術
が適用されて、ASICソフトウェアモデルと最終的な
ASICチップが挿入されるべきターゲットハードウェ
アとの間にタイトカプリングが形成される。
ASICの設計/開発は、未製造ASICを表わす初期
設定仕様310(この仕様は読み取り可能な、粗雑また
は精密な設計基準のコンピュータの形態であってよい)
を形成することから始まる。
ASICの設計/開発は、後述するように、本発明のタ
イトリカプルドICUD/ターゲット環境内で適当に識
別され得る全「バグ」が識別されかつ根絶されるまで進
められる。そして、実質的に「バグのない」プロトタイ
プAS I C322が、前記ASICのソフトウェア
記述を集積回路実施例に自動的に変換することによって
製造される(第3図に於けるrAsIc目標」)。
最初に第3図の「モデル部分J 300bについて言及
すれば、開発中デバイス(ICUD)の初期ソフトウェ
アモデル312が考案され、かつエンジニアリングワー
クステーション311のような適当なプラットフォーム
内にプログラムされる。
ワークステーション311は、例を挙げると、米国カリ
フォルニア州マウンテンビュウのサン・マイクロシステ
ムズ社(Sun旧crosysLen+s)から販売さ
れている5un−4(登録商標)ワークステーションや
、米国カリフォルニア州パロアルトのヒユーレットパラ
カード社(IIewleLL−Packard )によ
って供給されている類似のシステムのような高性能開発
システムがある。ソフトウェアモデル312は1個また
は2個以」二のシミュレーションソフトウェアパッケー
ジによって定義することができ、それには米国カリフォ
ルニア州ミルビタスのエルニスアイ・ロジック・コーポ
レイション(1,81Logic Corp、 )から
市販されているMDE−LDS (登録商標)や、米国
オレゴン州ビーバートンのメントール・グラフィクス社
(MenLor Graphlcs ) 、または同国
カリフォルニア州のカデンス(インターグラフィクス)
  (Cadence  (InLergraphic
s ) )その他のソフトウェア開発業者が市販してい
る類似の設計シミュレーションパッケージ等のいわゆる
コンピュータ補助エンジニアリング(CAE)及びコン
ピュータ補助設計(CAD)パッケージが含まれる。好
適には、ワークステーション311の1秒当りの命令(
IPS)実行速度が毎秒1,000,000命令(MI
PS)またはそれ以にであり、かつf’rソフトウェア
モデルの「クロック」サイクルについて実行されるコン
ピュータの命令の数が、1秒毎に1,0OOASICク
ロツクサイクルまたはそれ以1−のリアルタイム速度で
前記ソフトウェアモデルを動作させ得るように充分小さ
くすべきである。
ソフトウェアモデル312自体は、開発中ASICを必
要に応じて粗雑にまたは精密に定五するように形成する
ことができる。粗雑かっ/または精密な言葉が意味する
ところの例として、ソフトウェアモデル12は、それぞ
れに開発中デバイス(ICUD)の各部分のいずれかに
対応するトランジスタレベルのモデル部分312a、ゲ
ートレベルのモデル部分312b及び行動レベルのモデ
ル部分312cのいずれかまたは全てを含むことができ
る。当然ながら、ICUDの全体が、そのように要請さ
れる場合には、単一の詳細レベルで定義することができ
る。当業者にとって明らかなように、「トランジスタレ
ベルのモデル」の語は、トランジスタ、抵抗等の基本的
構成要素がそれぞれ個々に定義されるような最終デバイ
スの比較的詳細な(精密な)記述について言っている。
「ゲートレベルのモデル」の語は、ANDゲート、OR
ゲート、NOTゲート等のようなさまざまな論理要素の
プール動作が記述されているが、それらの内部トランジ
スタは記述されていないようなより高いレベルの回路記
述(中程度に精密)を言う。
「行動レベルのモデル」の語は、デバイス(ICUD)
の論理/ゲートアーキテクチュアは定義されていないが
、モデル部分の全体的な入力/出力行動が適当なソフト
ウェアによって記述されているような更により高いレベ
ルの記述(粗雑な)について言及している。
粗雑なモデル及び精密なモデルが意味するところの別の
実施例に関して、最終的デバイス(U標デバイス)32
2が、実行されるべき動作が64ビツトの掛算、・資込
み演算、3次元像回転または他の複雑な関数であるよう
な、a=f (b、c、d、e、・・・)の形を有する
デジタル関数を実行するゲートの複雑な構成を有するよ
うになっていると仮定する。この複合関数の行動レベル
モデル312cは、及びビット幅(ワードの大きさ)及
びデジタル関数a=f (b、c、d%e1・・・)を
実行する際に最後に使用されるべきビットフォーマット
(データ構造)のような詳細な属性を実際に記述する必
要なく、前記関数の入力及び出力特性を記述する。この
関数を具体化するために使用されるべき回路の内部論理
ゲートコンフィグレーション、または該回路のトランジ
スタレベルのコンフィグレーションは、行動レベルで特
定されるべきものではない。他方、ゲートレベルの記述
は、通常音データワードに供給されるべきビットの数、
各データワード内に於けるビットの特定の位置、使用さ
れるべき論理要素(ゲート)の特定の型(即ち、AND
、0RSNOT、フリップフロップ等)、及び後者の入
力/出力端子間に於ける特定の連絡を明確に定義する。
しかしながら、ゲートレベルの記述は、基本プール関数
を実行するために使用されるべきトランジスタの型また
は数を詳細に定義しない。対照的に、トランジスタレベ
ルの記述は、通常特にプロトタイプIC(PIC)の論
理回路を形成する際に使用されるべき電界効果トランジ
スタ、バイポーラトランジスタまたは他のトランジスタ
の型式、そのようなトランジスタの数、及びおそらくは
それらの前記P I CJ−の連絡に使用されるべき導
体パターン及びそれらのチップ基板」二の特定の位i7
〒を定義する。(トランジスタレベル以下の次のレベル
は、各半導体デバイス内の特定の領域のジオメトリ、及
び導体パターンの特定の配置を記述する拡散レベルであ
る。)3つのレベルのモデルの全記述312a、312
b、312cが、ワークステーション311のソフトウ
ェア環境内に存在するように第3図に(既略的に示され
ている。簡単化のために行動レベルのモデル部分312
Cが、入力/出力パラメータaSb、cのビット幅が1
と等しい場合に、2入力パラメータ/1出力パラメータ
関数、a=b*Cを実行するように示されている。各ビ
ット幅が1より大きい多数の入力/出力(パラメータを
有するより複雑な行動レベルのモデルは、当然ながら本
発明の意図する技術的範囲内に充分台まれる点に注意す
べきである。
また、第3図は、行動レベルのモデル部分312Cが、
第1「バーチャル」ピン312pによって供給される一
方の入力パラメータbと、「ソフトウェアノードJSN
cによって供給される他方の入力パラメータCとを有す
るように表わされている点を注意するべきである。後者
のノードSNCは、ANDゲートG1の出力線及びOR
ゲートG4の入力線と行動レベルのモデル部分312C
のパラメータ入力線との交点を定義している。前記行動
レベルのモデル部分の出力パラメータaは、第2パーチ
ヤルピン312pに結合するように表わされている。O
RゲートG4の出力は、トランジスタレベルのモデル部
分312a内に郭定されるFETゲート電極を駆動する
ように表わされている。ORゲートG5の出力線は、F
ETソース電杯を駆動するように示されている。前記F
ETのドレイン電極は、第3パーチヤルピン312pに
結合されている。ANDゲートG2は、第4パーチヤル
ピン312pに接続された1個の入力線を有するように
表わされている。
前記モデル部分間の特定の連絡が単に説明のためにのみ
示されていることが理解される。ソフトウェアモデル3
12全体は、ワークステーション311のメモリ容量に
従って、必要に応じて任意数の行動レベルのモデル部分
またはトランジスタレベルのモデル部分を有するように
定義することができる。また、これらのモデル部分が任
意のビット幅を有する入力/出力バスによって互いに連
絡され得ること、個々のバス線が任意の「ソフトウェア
ノード」 (即ち、5Nc)の組のいずれかによって互
いに結合し得ること、及び更に必要に応じてこれらモデ
ル部分が任意の「パーチャルピンJ 312pの組と結
合され得ることが理解される。
更に、ソフトウェアモデル31°2が上述したレベルの
精密な/粗雑な記述的部分(行動レベル、ゲートレベル
及びトランジスタレベル)に単に限定されるのではなく
、むしろこれらの語が連続する詳細なまたは粗94#な
モデル技術に沿って相対的な点を識別していることが理
解される。この連続性は、最終製晶(目標ASIC32
2)に於ける各要素(即ちマイクロセル)の粗雑な(詳
しくない)記述からその細かく詳細な(即ち拡散レベル
)記述まで延長しているとして特定することができる。
このような連続状態に沿って全てのモデル技術が本発明
の中に含まれる。
開発予定ASICのための仕様310は、最初に立案さ
れた時、その詳細部分(詳細な特徴)が後の時期(即ち
、後の設計/開発に於て)充填されるようになっている
「未熟にj作成された(ブロードプラッシュ)設計部分
を含む場合が多い。
最初にこれら未熟部分がソフトウェアモデル312に於
て粗雑な(即ち行動)レベルで記述され、かつ次に時間
の進行と共に、最終的にソフトウェアモデル312のプ
ロトタイプAS I C322への自動的な変換が可能
となる程度に記述が充分に詳細になるまで、前記記述は
より詳細にされる。
本発明の或る側面は、ASIC/ターゲットタイトカプ
リング方法が前記設計/開発過程を介して、ASIC記
述が最初に大まかに作成された点からASIC記述が詳
細に記載される点まで実行し得ることである。
設計/開発過程の開始点に於て、ASIC記述が大まか
に作成された際に、ターゲットシステムと粗雑に定義さ
れたソフトウェアモデル312との間に粗雑な非互換性
が存在する場合には、これらの非互換性は、そのような
設計/開発過程の開始点に於て、前記粗雑モデルの「ハ
ードウェア」イメージをピンダミーを介してターゲット
システムのハードウェアに投影することによって、かつ
ターゲットシステムと前記担々・ILモデルとの間のタ
イトリーカプルドインクラクションを誘発するように、
前記ターゲットシステムの1ソフトウエア」イメージを
同じビンダミーを介して前記ソフトウェアモデルのソフ
トウェア環境に相反的に投影することによって、暴露さ
れ、かつおそらくは根絶させることができる。基本的エ
ラー(即ち、不正確な設計」二の過程)は、初期ASI
Cモデルの未熟作成要素をより詳細に定義するべく時間
と努力が支払われる(おそらくは無駄骨になる)前に発
見しかつ補正することができる。開発時間は、設計/開
発の視点に於て基本的非互換性を識別することによって
大幅に低減される。
(以下余白) これが、本発明の主要な利点である。ターゲットシステ
ムとモデルの間に於けるタイトカプリングが設計/開発
の視点に於て可能とされるので、ASICモデル及びタ
ーゲットシステムハードウェアの各「バーチャル」ピン
と「リアル」ピンとの間に於ける大まかなインタラクシ
ョンを即座に検討することができる。これによって、設
計エンジニアは主要な見落としを即座に識別することが
でき、それによって方向を誤った開発努力が防止される
この本発明の側面を更に以下に説明する。多くの場合に
、目標AS I C322は第3者によって製造された
または同時に製造されているソフトウェアアプリケーシ
ョンパッケージと共働させることが必要であるが、AS
ICの開発者がそのような第3者のソフトウェアについ
て充分な知識を持っていないのが現状である。例示のた
めに、問題となっている第3者のソフトウェアアプリケ
ーションパッケージが、その全てが相互に関連しなけれ
ばならない多数の3次元グラフィック処理機能を実行し
、かつ更に問題となっているASICが前記ソフトウェ
アパッケージ内に供給されるより遅いイメージ回転機能
の代わりに高速イメージ回転機能を実行するように設計
されるようになっていると仮定する。
ASICの設計者/開発者が最初に、何らかの迎いで前
記ソフトウェアパッケージが球座m (r、θ、φ)で
動作するようになっていることを知らずに、デカルト座
標(X% y”i z)でそのような回転を実行するこ
とを考えていた場合に、大きな非互換性が生じる。この
ようなデカルト座標によるASIC設計を球座標による
ソフトウェアパッケージと結合させようとすることは、
四角形の栓をむりやり丸い孔に入れようとする雪皿的な
問題と同類と考えることができる。プロトタイプASI
Cが製造された後まで基本的な非互換性が発見されない
ような設計/開発過程を行うことは全く好ましくないこ
とである。
しかしながら、本発明によれば、ASICモデルを1個
または2個以上の行動レベルモデル部分によっておそら
くは粗雑にのみ記述しつつ、拡張的開発努力が既に支払
われ、プロトタイプASICが最終的にターゲットシス
テム内に組み込まれ、かつグラフィクスソフトウェアパ
ッケージが最初にASICとのタイトリーカプルド組合
せに於て実行される開発の末端に於てではなく、製造開
発の開始点に於てそのような非互換性を識別することが
できる。
当然ながら、当業者であれば、上述の例が、どのように
ターゲット/ASIC設計非互換性が商業的に実際」二
発生するのかという点について高度に誇張された仮説で
あることが理解される。ターゲットシステムに於て実行
される機能の大まかな様子について少なくとも何等かの
知識を持つことなくチップを製造しようとする開発者は
いないであろう。しかし、ASIC/ターゲット非互換
性の問題はより微妙な形で表面化する。商業的に実際」
二は、例えばASIC開発者のグループが採用する統合
製造開発過程の開発者側に於けるメッセージハンドシェ
イキングプロトコルと、ソフトウェアパッケージ開発者
のグループが合同またはASIC追従ソフトウェア開発
過程のソフトウェアパッケージ開発者側に於て採用する
(−41yかに異なる通信プロクトコルとの間に予見し
難い誤った組合せが存在することが多い。
本発明によれば、このようなハードウェアとアプリケー
ションソフトウェアとの間の非互換性を最初に警告する
ことができる。ASICとアプリケーションソフトウェ
アパッケージの平行(合同)開発は、ASICモデル及
び対応するソフトウェアパッケージの双方が各開発サイ
クルの比較的初期にある場合でさえ始めることができる
。予見困難な不適合な組合せの9期発見は、バーチャル
ASICのハードウェアイメージとソフトウェアパッケ
ージのオブジェクトコード(ターゲットソフトウェア4
25)との双方を共通のターゲットシステム内に投影し
、かつそれらのタイトリーカプルド・インタラクション
を観察することによって可能となる。
第3図のソフトウェアモデル312(本明細書に於て「
バーチャルJASICと称する)は、そのシミュレーシ
ョン環境に於て、ソフトウェアモデル312の内部ノー
ド「バーチセル」試験点)313をモニタするため、及
び前記モデル内に同じまたは他の予め選択されたバーチ
セル試験点313に於てソフトウェア生成試験信号を注
入するために埋込(ソフトウェア形成)論理アナライザ
/試験信号インジェクタ手段314と結合すると好都合
である。この埋込論理アナライザ/試験信号注入手段3
14は、データ収集アクティビティ(データの捕捉)が
起こる内部条件(クオリファイヤ)を特定するためのト
リガ手段314aを有することができ、かつそのような
データを所望の試験点313から収集しかつ収集したデ
ータを分析のために記憶するための1個または2個以上
のデータ収集バッファ314bを−aすることができる
好適には、ワークステーション311には、インタラク
ティブにソフトウェアモデル312を定義し、埋込論理
アナライザ314のためにクオリファイヤ条件を設定し
、シミュレーションプランを開始し、かつ論理アナライ
ザ314によって生成される報告データを分析(第3図
に於てサンプルスクリーン挿入311cによって示され
るように)するために、キーボード311a及びデイス
プレィスクリーン311bのようなユーザーインタラク
ティブ入力/出力手段が設けられている。
ワークステーション311には、未製造目標デバイス(
PIC)322の各入力及び出力ピン(パーチャルピン
)312bの状態を表わと、前記ピンダミーにパーチャ
ルピンレジスタ手段316(または他の適当なメモリ手
段)が設けられている。
例示のために、目標デバイス(P IC322)が、そ
の論理状態が特定の動作モードに於て変化し得るような
予め指定された数、P=N+Mの能動ピンを有すると仮
定する。ここで、Nは前記特定の動作モードに於て入力
端子として機能するピンの数であり、かつMは該動作モ
ードに於て出力ビンとして機能するピンの数である。ワ
ークステーション311内の対応するパーチャルピンレ
ジスタ手段316には、各シミュレートマシンサイクル
について未製造目標デバイス322のN個の入力ピン及
びM個の出力ビン(パーチャルピン)の論理状態を記憶
するために充分なメモリ容量が与えられていると好都合
である。前記ソフトウェアモデルがASICプロトタイ
プのように「リアル」ピンを有していないにも拘らず、
当業者であれば、前記ソフトウェアモデルが、ASIC
チップパッケージの内部と外部との間に於ける情報の交
換を含む前記リアルピンのハードウェア動作をソフトウ
ェアに於てシミュレートする「バーチセル」ピン312
pを有するように定義(設計)できることが理解される
。ワークステーション311内の所定のメモリセルは、
前記リアルピンのシミュレート状態を表わす情報を記憶
することができる。このようなメモリセルは、第2B図
に示されるフリップフロップFl及びF8の情報記憶セ
ルに応答する。
ワークステーション11には、前記ソフトつエアモデル
312を所定数の(通常1)シミュレートマシンサイク
ルだけステップ操作して進ませ(機能320d) 、か
つ前記ソフトウェアモデル312を所定数のサイクルの
最後に一時的に停止させて、ターゲットシステム424
上の後述する第2インターフェイス手段420からN個
の入力ビット(ターゲット生成ビット)受は取るべくた
めに、第1インターフェイス手段320が設けられてい
る。第1インターフェイス手段320は、受は取ったN
個の入力ビットをパーチャルピンレジスタ手段316の
適当なピン(状態記憶セル)内にロードしく機能320
c)、かつ次にソフトウェアモデル312を対応する数
のマシンサイクル(即ち1シミユレートブロツクサイク
ル)ステップ操作で進ませて(機能320d)、それに
よりN個の入力ビットに対するASIC応答を形成する
。その結果得られる(応答する)ソフトウェアモデル3
12の出力ピン状態がビットとしてパーチャルピンレジ
スタ手段316の出力ピン内に記憶され、かつこれらの
出力状態が前記相浦形第2インタ一フエイス手段420
を介してターゲットシステムハードウェア424(開発
システム300の「ターゲット部分J 300a内)に
送られ(ステップ320a)、その語に相補形(反射)
リアルピンレジスタ手段416内で複写される。
(後述する前記リアルピンレジスタ手段416が第3図
に於て各入力レジスタ422f、出力レジスタ420o
、及び方向許可レジスタ422eを有するように記載さ
れている。)ASICモデル312に於ける「バーチセ
ル」出力ビットの表面コピーである「リアル」出力ビッ
トは、次に適当なピンダミー422のリアルピン422
aを介して同期的にターゲットシステムハードウェア4
24に供給される。
ピンダミー422は、少なくともリアルピン422aを
有するが、必要に応じて、更に三状態ドライバ(バッフ
ァ)422b、入力レジスタ422i1出力レジスタ4
22o、方向許可レジスタ422e、ビット交換バス4
22c、及び第2インターフェイス手段420のいずれ
かまたは全てを一体的に組み合わせるように設計するこ
とができる。図示されるように、これらの要素は互いに
連続して結合され、」二連した全ての要素またはそのい
くつかが、ピンダミー422のリアルピン422aを支
持するパッケージフレーム内に収容された図示されない
集積回路基板上に一体的に形成することができる。
」二記説明に於て特定のピンの機能を「入ノ月または「
出力」と指定しているが、この機能性は所望のあらゆる
ピンが双方向シグナルフローを支持するように動的に変
化させ得ることが理解される。
双方向シグナルフローは、例えば、適当な時間点に於て
方向制御レジスタ422 (e)  (R−direc
L)の前記ビットを変化させることによって実現するこ
とができる。ソフトウェアモデル312の対応するパー
チャルピンに於ける双方向性は、周知のプログラミング
技術によって具体化することができる。
当業者にとっては、第1インターフェイス手段20の動
作を一旦理解すると、該第1インターフェイス手段を実
行するためのさまざまな多くの方法が明らかとなる。そ
のような或る方法では、ワークステーション311の回
路シミュレーションプログラム(CAD/CAE)に新
たなソフトウェアを付加する必要がない。その代わりに
、第1インターフェイス手段320は、N個の入カビッ
トヲカウントし、前記ワークステーションのシリアル通
信パッケージから受信したN個の入力ビットをパーチャ
ルピンレジスタ手段316の適当なピン内にロードし、
(ソフトウェアモデル312の「ソフトウェアシミュレ
ート」クロック線またはソフトウェアモデル312内に
設けられた他の適当なシングルステップ手段を用いて)
ソフトウェアモデル312をシングルステップ操作し、
かつ前記ソフトウェアモデルによって「応答」の開発を
待つための適当なシーケンシャル状態altを有する回
路としてワークステーション311内でシミュレートさ
れる。ソフトウェアモデル312によって決定されるM
個の出力ビットは、第1インターフェイス手段320に
よって集められ、かつ順次基準通信リンク340(即ち
、R8−232、SC8I、イーサネット(IELhe
rneL) 、ウルトラネット(UI LraneL)
等)を介して第2インターフェイス手段420に送られ
る。
当然ながら、第1インターフェイス手段320の上述し
た機能を実行するために特別のハードウェアアトインボ
ードを結合させた特別のソフトウェアプログラムを、そ
のような特別なソフトウェア及び/またはハードウェア
を直接ワークステーション311内に挿入することによ
って、またはそのようにワークステーション311のア
ドオンネットワーク通信モジュール内に組み立てること
によって開発することが可能である。多くの場合には、
ソフトウェアによって第1インターフェイス手段320
を実行させる上記技術が最も経済的である。
このように説明してきたワークステーション311、ソ
フトウェアモデル312及び第1インターフェイス手段
320の組合せは、設計/開発システム300の「モデ
ル部分J 300dとして説明してきたものである。先
に述べたように、「ターゲット部分J 300aも同様
に設計/開発システム300全体に含まれる。このター
ゲット部分300aは、第3図に示されるようにモデル
部分300dに隣接させかつ粘合させて設けると好適で
あるが、必要に応じて、前記ワークステーションから離
隔して配置し、かつ該ワークステーションにローカルエ
リアネットワーク(LAN)または長距離通信ネットワ
ークを介して連絡することができる。
ターゲラ!・部分300aは、例えば拡張可能マイクロ
コンピュータシステムのプリント回路マザーボードであ
るターゲットハードウェア424と、前記ターゲットハ
ードウェア424に於て実行されるべき(第3図に於て
フロッピーディスクによって表示される)アプリケーシ
ョン・ソフトウェア425 (ICUDより先に開発さ
れたかまたは同時に開発されている)とを有する。
ターゲットハードウェア424は通常、中央処理装置(
ターゲツトCPU)424aと、ターゲットハードウェ
ア424の各部分にソフトウェアの命令を供給するため
及びターゲットシステムのデータを記憶するためにター
ゲツトCPU424aに結合されかつ/または前記ター
ゲットハードウェアの他の部分に結合されたメモリ手段
424bと、ターゲットハードウェア424のCPU4
24a1メモリ手段424b及びその他の部分424d
〜424j間に於けるデータ転送を同期させるためのシ
ステムクロック手段424cとを有する。他の部分42
4d〜424jは、1個または2個以上の低開発ASI
C424d、1個または2個以上の他の開発中AS I
C(ICUD)424e1チツプが組み立てられた後に
プロトタイプASICのピンを受容するためのチップソ
ケット424fと、外部システムとインターフェイスす
るためのローカルエリアネットワーク(LAN)ボート
424gと、図形及び音声装置インターフェイス424
hと、拡張ハードウェア及びソフトウェアに結合するた
めの拡張ボードスロットのような他の外部リンク424
jとを含むことができる。これから分かるように、ピン
ダミー422が開発中ASICの受入れソケット424
f内に挿入されると、複合論理インタラクションの組(
即ち、短い時間内に交換される何百万の即決論的ビット
/バイト)がASICモデル(即ち、ソフトウェアモデ
ル312によって定義されるバーチセルデバイスのよう
なもの)とターゲットシステム(その図示されないハー
ドウェア424、そ−425及び拡張付加部分)との間
で行われ得る。
ターゲット部分300aの相補形インターフェイス手段
420は、好適にはR8−232,5C8I等のシリア
ル通信リンク340を介して第1インターフェイス手段
と双方向に通信し得るように適当に構成され、それによ
ってリアルピンレジスタ手段416の適当なピンにリン
ク40を介して供給されるN個の出力ピンビット(AS
IC生戊ピッl−)をロードし、かつピンダミー422
のピンを介して伝送しており、かつリアルピンレジスタ
手段416の対応する入力ピンに記憶されるビットから
なるターゲットハードウェア424から受信されたばか
りの新しいN個の入力ピンビットの組をリンク340を
介してソフトウェアモデル312に送り返す。
第3図に示されるように、リアルピンレジスタ手段41
6は、入力レジスタR−input(422i)、出力
レジスタR−ou t pu t  (422o)及び
方向許可レジスタR−direct(422d)とで構
成することができる。方向許可レジスタ422dの出力
端子はそれぞれサン状態ドライバ422b間の対応する
ドライバのサン状態出力許可端子に結合されている。出
力レジスタ422oの出力端子はそれぞれいずれかの三
状態ドライバ422bの対応する入力端子に結合されて
いる。三状態ドライバ422bの出力端子は、ピンダミ
ー(プローブヘッド)422に設けられたリアルピン4
22aの組の対応する1個または2個以上のリアルピン
にそれぞれ結合されている。
当然ながらピンダミー422は、未開発ASIC322
が最終的に挿入されるターゲットソケット424fに適
合するように適当に形成される。ピシダミー422のリ
アルピン422aは、更にそれぞれ入力レジスタ422
1の対応する入力端子に粘合されている。
−に連したように、三状態ドライバ422b、入力レジ
スタ422 i、出力レジスタ422o、方向レジスタ
422e、及び相補形インターフェイス手段420のい
ずれかまたは全ては、リアルピン422aと共にピンダ
ミー422のパッケージフレーム(図示せず)内に一体
的に組み込むことができる。シリアル伝送ケーブル(シ
リアル通信リンク340)が、相補形インターフェイス
手段420とワークステーション311との間に両者間
に於けるデータをシリアルに交換するために延設されて
いる。
相補形インターフェイス手段420は、第3図に示され
るように、前記ワークステーションからのM個の出力ビ
ットの受信を待ち、(機能420a)、受信したM個の
出力ビット(ソフトウェアモデル形成ターゲット−刺激
)を出力レジスタ422oの対応する出力ピンにロード
(機能420b)し、前記ターゲットシステムを所定数
(通常1)のターゲットシステムサイクルだけ進ませ(
機能420c) 、ターゲットシステム424からピン
ダミー422によって受信されたN個の応答入力ビット
(ターゲット応答)を抽出しく機能420d)、かつ次
に前記ソフトウェアモデル312からの次のN個の出力
ビットの組(ASIC応答)を待つように機能420a
にループして戻るターゲットシステム同期手段420a
〜420dが設けられていると好都合である。
方向許可レジスタ422eはピンダミー初期化ステップ
に於て1度だけロードするのが奸ましく、かつその後に
特定の動作モードの所定のP =M+N個のみのノード
ビットがシリアル通信リンク340に沿って交換される
。このように交換ビットの数を所定の最小数Pのみに限
定することによって、リアルピンレジスタとパーチャル
ピンレジスタとの間に於ける情報交換に起因する遅れを
最小にし、それによってソフトウェアモデル312とタ
ーゲットシステム424.425との結合を可能にして
、それらの処理状態を迅速に循環させることができる。
この数Pは、トランザクションサイクル時間が1ミリ秒
より大幅に小さくなるように選択すると好都合であり、
かつ1マイクロセカンド以下であると一層好都合である
当然ながら、当業者にとっては、上述したものがソフト
ウェアモデル312とターゲットシステム424.42
5との間に於ける情報交換を同期化させる唯一の方法で
あることが理解される。必要に応じて、各ASIC−刺
激待機機能とターゲット−刺激待機機能のいずれかまた
は双方を排除することができ、かつソフトウェアモデル
312及び/またはターゲットシステムのクロック周波
数を必要があると認められる場合には遅くし、または早
くして両者間に於けるデータ交換を同期させることがで
きる。
或る場合には、目標As IC322が、ASICとタ
ーゲットシステムとの間に於けるデータ交換を自動的に
同期化させるために1個または2個以上のターゲットシ
ステム対ASICハンドシェイク制御ピンを有する。こ
れらピンのソフトウェアシミュレートハンドシェイク機
能は、機能320d及び/または420cに換えて使用
されて、パーチャルピンレジスタ手段316とリアルピ
ンレジスタ手段416との間の情報交換を同期化させる
ことができる。また、或る場合には、ASIC製品がこ
れらの同期化ビンを−Gしない場合でさえ、前記I C
UD及びそのプロトタイプ」二に同期化ピンを有するこ
と(即ち、複数のICUDを介してターゲットシステム
のクロック線を連釘11すること)が可能である。別の
場合には、ワークステーション311は、ソフトウェア
モデル312が容易にターゲットハードウェア424の
クロックの速度より速くなり、かつASICモデルの「
クロック」受信ピン(バーチセル)が同期化を行い得る
ように充分な高速度で動作するようにtri成すること
ができる。このような場合には、ターゲットハードウェ
ア424はその全速力(その本来の速度)で走らせるこ
とができ、かつソフトウェアモデル312のパーチャル
ピン312pとターゲットシステムのリアルソケット4
24fとの間に於けるデータの同期交換を可能にするた
めにターゲットハードウェア424に特別の同開化回路
(即ち機能420c)を付加する必要が全くない。
第4A図には、本発明と共に使用することができる第1
AS I Cエミュレータ回路500が示されている。
ASICエミュレータ回路500は、通信リンク340
と結合された適当なシリアル及び/またはパラレルイン
ターフェイスポート(即ち、当該分野に於て基本的イン
ターフェイス手段として認められるいわゆる「小型コン
ピュータ基準インターフェイスJ  (SC3I)ポー
トまたはR8−232ポート)と、8ビット幅エミュレ
ータパス520に結合された8ビット幅データボート(
Data)と、データ転送シーケンサに結合された8ビ
ット幅のアドレスポート(Addr)と、ピンダミー4
22のリアルピンとソフトウェアモデル312のパーチ
ャルピンとの間に於けるデータ交換を調整するための適
当なプログラムメモリ(図示せず)とを有するマイクロ
コンピュータ510からなると好都合である。
エミュレータパス520は、マイクロコンピュータ51
0と複数のビンモジュールM (a) 、M(b)、M
(c)、・・・との間に於て時分割多重式に情報を交換
するための共通通路として動作する。
各ピンモジュールM(x)は、Xが特定のモジュールM
(x)を表わすものとして、方向バッファレジスタBR
−d i rec t (x)と、出力バッファレジス
タBR−out (x)と、人)J/<ッファレジスタ
BR−in(x)とを有し、かつこれらのバッファレジ
スタにそれぞれ結合された1次方向レジスタR−di 
rect (x)と、1吹出力レジスタR−out (
x)と、1次入力レジスタR−in(x)とを有する。
「リアル」ピンデータは、各1次入力/出力しジスタR
−in(x)及びR−out (x)のメモリセル内に
パラレルに記憶される。方向レジスタR−direct
(x)は、出力レジスタR−out (x)に記憶され
た出力ビットの各モジュールM (x)の所望のいずれ
かのリアルピンP(〜P8、P9〜PIGへの伝送をプ
ログラム可能にするために、図示されるように三状態ド
ライバDl−D8の「出力許可」端子に接続された出力
線を有する。バッファレジスタBR−d i rec 
t  (x) 、BR−out  (x) 、BR−i
n  (x)は、エミュレータパス520を介して時分
割多重データ交換(シリアルデータ交換)を可能にする
ために1次的記憶手段として機能する。1次しジスタR
−direct (x) 、R−ou t (x) 、
R−i n (x)に記憶されたビットは、後述するよ
うに前記1次レジスタとその対応するバッファレジスタ
またはリアルピンとの間で同次に転送される(パラレル
に)という意味に於てよりパラレルな性質を有する。
マイクロコンピュータ510は、ワークステーション3
11からシリアルリンク340に沿って受信されるシリ
アルデータ(即ち、パーチャルピンレジスタデータ)を
8ビット幅パケットのパラレルデータに変換し、かつ受
信したワークステーションデータの出力ビツト部分を含
むパケットをエミュレータパス520に沿って時分割多
重式(1モジユ一ルM(x)に同次にロードされる)に
個々の各モジュールM(x)の出力バッファレジスタB
R−out (x)に伝送する。データ転送シーケンサ
530はマイクロコンピュータ510によって(即ち、
アドレスポートAddrを介して)動作させられ、モジ
ュール特定プローブ信号LD−out (x)を順次各
モジュールM(x)に発生して、前記プローブモジュー
ルの各出力バッファレジスタBR−out (x)がエ
ミュレータ520上に現われるデータでロードされるよ
うにする。このようにシリアルに受信されたデータが送
信されかつ前記ノードモジュールM(a)、M (b)
 、M (c) 、・・・、M (x)の前記出力バッ
ファレジスタにロードされた後、データ転送シーケンサ
530がモジュールM (a) 〜M (x)の前1次
出力しジスタR−out (x)に同次にグローバル出
カストローブ信号LD−OUTを発生して、それにより
これらパラレルにストローブされたモジュールが同時に
その対応する出力バッファレジスタBR−out(x)
に記憶された出カビットでロードされ、かつそれによっ
てこれらのビットが同時に方向制御レジスタR−dir
ect(x)によって出力ピンとして指定される(写像
される)それらのリアルピンPi−P8、P9〜P[に
現われる。(前記方向制御レジスタは、前記三状態ドラ
イバと組み合わされて、出力ビットをプログラム可能に
前記リアルピンレジスタから前記リアルピンにルーティ
ングするための手段として機能する。) 方向制御レジスタR−di rect (x)は、マイ
クロコンピュータ510がエミュレータバス520上に
対応する方向制御データを出すことによって1行全部の
方向制御バッファレジスタBR−direct (a)
 〜BR−direct (x)を三状態ドライバ許可
ビットでロードするにつれて、各モジュールの方向バッ
ファレジスタBR−direct(x)をスl−o−ブ
するために、モジュール特定方向ストローブ信号LD−
dir(X)を用いて、同様にして順次ロードする(好
適には1次出力レジスタが新しいデータでロードされる
前に)ことができる。全1次方向レジスタR−di r
ect (x)をグローバル方向ストローブ信号LD−
dirでグローバルにスI・ローブすることによって、
全モジュールM(a)、M(b)、・・・の1次方向バ
ッファレジスタR−direct(x)は、1吹出力レ
ジスタR−out(X)のターゲット刺激ビットを選択
的に所望のいずれかのリアルピンピン −P8 、P9
〜P1.6、P17〜P24に結合するために使用され
得る出力マツピングパターンでパラレルに同時にロード
することができる。
第4A図に示されるように、各モジュールM(X)、対
応する1吹出力レジスタR−out(X)上の8個の出
力端子の対応する端rに結合された入力端子と、1次方
向制御レジスタR−direct(x)上の8個の出力
端子の対応する出力端子に結合された出力許可端子と、
ピンダミー422の8個のリアルピンピン −P8 、
P9Pi6の対応する1個のリアルピンピンに結合され
た出力端子とをそれぞれに有する8個の三伏態ドライバ
[)l−I)gの組を有する。各モジュールM(X)の
8個のリアルピンP1〜P8は、該モジュールの1次入
力レジスタR−in(x)の8個の入力線のそれぞれに
対応して結合されている。
ピンダミ−422全体のピンP1〜Pnにパラレルに同
時に現われるターゲット生成応答データ(全体としての
前記ピンダミーはモジュール的に所望の数のピンモジュ
ールを結合することによって形成される)は、データ転
送シーケンサ530がグローバルロード入力信号LD−
INを全モジュールに発生するように命令される選択さ
れた時点に於て、前記全モジュールの1吹入カレジスタ
R−in(x)に同時にロードされる。このパラレルロ
ード入力データ(ターゲット生成データ)は、次にモジ
ュールの入カバッファレジスタBR−in(x)に転送
され、かつそこから前記データは時分割多重化によって
エミュレータバス520を介してマイクロコンピュータ
510に転送される。モジュール特定入力ロードストロ
ーブ信号LD−in(x)と入力許可信号EN−in(
x)とが、このエミュレータバス520への時分割多重
転送を効果あらしめるために、データ転送シーケンサ5
30から前記モジュールに順次供給される。前記マイク
ロコンピュータ510は、受信した前記入カビットの「
入力ピン」と称されるリアルピンに属しないもの(ター
ゲット生成応答ビット)を取り除き、かつマイクロコン
ピュータ50は残りの(除去されなかった)N個の人カ
ビットを所定の順序に従って、第3図に示されるように
シリアルリンク340に沿ってソフトウェアモデル31
2に転送する。
第4a図のASICエミュレータ回路500は、ソフト
ウェアモデル312とターゲットシステム424との間
に於ける汎mデータ交換を行うことができる。各モジュ
ールの人カバッファレジスタBR−in(x)と1次人
カレジスタR−in(X)との結合を、ターゲットシス
テムからバーストしたデータを受は取るための2ビット
長先入れ/先出しくFIFO)レジスタ手段として使用
することができることに注意すべきである。必要な場合
には、追加の入力バッファレジスタ(図示せず)を前記
組合せに付加して、より長い連続データを高速で受信す
ることができる。同様に、出カバッファレジスタBR−
out (x)と1吹出力レジスタR−out (x)
との組合せを用いて、かつ/または拡張させて、必要に
応じてバーストモードの出力をピンダミー422の前記
リアルピンに供給することができる。場合によっては、
t9モジュールの方向制御レジスタR−direct(
x)とBR−d f rec t (x)とについて同
じことを行うことができる。
第4B図は、単一動作モードを行うように設計された別
の(規模縮小)ASICエミュレータ600を示してい
る。第4A図に対応する第4B図の素子は同じ参照番号
を付して表わされている。
マイクロコンピュータ610は、R3−232にシリア
ルポート640を介して5un−4ワークステーシヨン
に両方向に結合されたインテル(InLel ) 80
31 (登録開栓)マイクロコントローラ(米国カリフ
ォルニア州三タクララのインテル・コーポレイションか
ら市販されている)である。
マイクロコンピュータ610の第1・8ビット幅データ
ポートDがエミュレータ回路600の対応する8ビット
幅エミュレータデータバス620に結合されている。マ
イクロコンピュータ610の8ビット幅アドレスポート
Aがアドレスのための4Kx8EPROMメモリ615
に結合され、かつデータ転送シーケンサ(デコード及び
クロック回路)630を制御するために使用される高バ
イトアドレスレジスタL A RHに接続されている。
第2ASICエミユレータ600の各モジュールは、三
状態ドライバD1〜D8の出力許可端子−を制御するた
めの8ビット幅許可レジスタPERを有する。この許可
レジスタPERはモジュール初期化の際に1度だけロー
ドされ、かつその後にその状態に固定され続ける。また
、谷モジュールは、前記ピンダミーのピンからデータを
受は取るための8ビット幅入カレジスタPIRを有する
これら入力レジスタPIRのそれぞれに記憶されたデー
タは、対応する8ビット幅三状態バッファPIBを介し
て時分割多重でエミュレータデータバス620に出力さ
れる。各人カバッファPIBの出力許可端子OE及び各
許可レジスタPEHのデータロード制御端子LDは、概
ね上述したような手法でデータ転送シーケンサ630に
よって生成される適当なストローブ信号によって動作さ
せられる(ストローブされる)。シーケンサ630は、
低アドレスレジスタLARL及び高アドレスレジスタL
ARHに出されたコマンド信号を復調するため及び各モ
ジュールにストローブ信号を1共給するための適当な組
合せ論理手段(即ち、ゲートアレイ)によって形成する
ことができる。簡単化された実施例600の各モジュー
ルは、更にエミュレータデータバス620からの出力ビ
ットを、それらが出力レジスタPOR内に同時に(パラ
レルに)ロードされる時より以前にバッファレジスタP
ORBに時分割多重ロードするための出力バッファレジ
スタPORBを有する。
上述したように、前記ASICモデルは、設計/開発過
程の最初に於て行動レベルモデルまたは類似の粗雑なモ
デルによって定義される場合が多い。ASICモデルの
開発期間には、その或る構成要素がそのハードウェアエ
ミュレータに於けるエミュレーションを可能にするよう
に充分詳細に定義される時が来ることが理解される。A
SICモデルのゲートレベルモデル部分のハードウェア
エミュレーションは、コンフィグラブル論理ブロックC
LB、コンフィグラブル入力/出カブロックIOB及び
そのようなデバイスの連絡マトリックスの適当なコンフ
ィグレーションによってプログラマブル論理デバイス(
PLD)を用いて実行することができる。
PLDの例が、シーエ(f[eleh )による198
8年11月80発行の米国特許第4,783,607号
の、rTTL/CMO8・コンパチブル・インプット◆
バッファ・ウィズ・シュミット・プリガJ  (TTI
、/CMO3ComaLible InLut I’3
u(’f’er WILhSehllLL Trigg
er) 、ハートマン(IIarLman )他による
1988年9月27日発行の米国特許第4゜774.6
21号の「プログラマブル・ロジック・アレイ・デバイ
ス・ユージング・EPROM・テクノロジーJ  (P
rogrammable 1.、ogle Array
  Device Using EPROM Tech
nology ) 、カーター(CarLer)による
1988年7月19目発行の米国特許第4.758.9
85号の「マイクロプロセッサ・オリエンテッド・コン
フィグラブル◆ロジック・エレメント」 (旧crop
rocessor 0riented C。
nl’ygurable Logic Element
) 、1ルガマル(IEIgamal )他による19
86年9月19目出願1988年7月190発行の米国
特許第4,758.745号の「ユーザ・プログラマブ
ル・インチグレイテッド・サーキット・インターコネク
ト・アーキテクチュア・アンド・テスト・メソッドJ 
 (User Programmable lnLeg
raLed CIrculL InLerconnee
l ArchiLecLure and Te5t t
、1eLhod) 、ハートマン(IIarLman 
)他による1987年12月15目発行の米国特許4,
713.792号の「プログラマブル◆マクロセル・ユ
ージング◆EPROM・オア・EEPROM・トランジ
スターズ・フォー・アーキテクチュア・コントロール・
イン・プログラマブル◆ロジック・サーキッッJ  (
Programmable Macrocel I U
sing EPROt4 or EFPROt4 Tr
ansIsLors f’or ArchlLecLu
re ConLrol In Programmabl
e Logic C1rcuits) 、カーターによ
る1987年11月10口発行の米国特許第4,706
,216号の「コンフィグラブル・ロジック・ニレメン
I−J  (Col’1gurable Logic 
Element ) 、ビーンストラ(VeensLr
a)による1987年6月30口発行の米国特許第4,
677、 318シーyの「プログラマブル・ロジック
・スト−レッジ・エレメント・フォー・プログラマブル
・ロジック・デバイシズJ  (Programmab
le L、ogle SLorage EIemenL
 I’or Program+mable Logic
 Devices ) 、及びカーターによる1987
年2月10日発行の米国特許第4.642.487号の
「スペシャル・インターコネクト・フォー・コンフィグ
ラブル・ロジック◆アレイJ  (Special 1
nLerconnect For Con[’igur
able Logic Array )の各明細書に開
示されている。これらは、本発明の説明のために引用し
たものである。
第5図は、前記ASICモデルのゲートレベル部分71
2b及び/またはトランジスタレベルプログラム712
aのハードウェアエミュレーションのためのPLD手段
712を有する設計/開発システム700を示している
。(第2D図は第5図を構成する4つの各分割図その1
乃至その4がどのように結合されるかを示している。)
PLD実行ハードウェアモデル712内の各試験点71
3のモニタリングは、クオリファイヤ(トリガー)71
4aを有する狸込ハードウェア論理アナライザ714を
実行するための各PLD−IC(即ち、ジリンクス(X
lllnxのPLDチップ)の部分を予約することによ
って、かつ更にハードウェアモデル712内のランダム
アドレス可能試験ノード713に信号ルーティング線を
結合するための押込論理アナライザローブ手段を設け、
かつ更に、クオリファイヤ手段714aによって設定さ
れるような適当なトリガ条件が満足されるとプローブ手
段714bによって選択される試験ノード713からの
データを捕捉しかつ記憶するための論理アナライザバッ
ファ手段714Cを設けることによって実行することが
できる。PLD実行ハードウェアモデル712のコンフ
ィグラビリティは、ソフトウェアプローブ制御下段71
4b及び論理アナライザバッファ手段714cを用いて
、その谷ノード713内にテストパターンを注入するた
めに使用することができる。
ASICモデル全体の前記ハードウェアモデル部分71
2以外の部分がそれほど詳細でないレベル、即ち行動レ
ベルで記述されていることから、前記他の部分は、引き
続いてソフトウェアに於て上述したように行動モデル要
X312cによってモデリングすることができ、かつこ
れらのソフトウェアモデル部分の対応するパーチャルピ
ン入力/出力状態をワークステーション711のパーチ
ャルピンレジスタ316から全体システム700のハー
ドウェア側700aにあるミラーリングリアルビンレジ
スタ416*に投影し、それによって静止ソフトウェア
実行ソフトウェアモデル部分312*をPLD実行ハー
ドウェアモデル部分712及びピンダミー422の双方
に結合させることができる。
第5図に於て、破線によるANDゲート及びORゲート
で示されるように、元来第3図のゲートレヘル部分31
2としてソフトウェアに於て支持されるASICモデル
の部分がソフトウェア環境から除去され、かつ第5図の
ハードウェアエミュレート部分712としてハードウェ
アに於て再生されている。好適には、ハードウェアモデ
ル部分712は、最初に前記ターゲットシステムの高速
部分424 kとインターフェースしなければならない
前記ASICモデルの部分について実行(具現化)され
る。前記ASICモデルの新たに洗練された部分は、そ
の記述的レベルが開発中にゲートレベルにまで下りて来
るにつれて、ソフI・ウェアシミュレートモードからハ
ードウェアエミュレートモードに移動させることができ
る。これから、前記ASICモデルは容易にソフトウェ
アモデル部分及びハードウェアモデル部分に細分化(区
分け)することができ、かつその双方の動作が前記ピン
ダミーを介して結合し得ることが分かる。
ASICモデルのソフトウェアモデル部分312*及び
ハードウェアモデル部分712への区分に於て、前記A
SICモデルの幾つかのノードが前記区分けによってそ
れぞれのソフトウェアノード小片部分SNF及びハード
ウェアノードフラクションINFに分割される。同様に
後の説明から分かるように、ハードウェアモデル部分を
ハードウェアサブ部分に区分する際に前記ハードウェア
モデル部分の幾つかの「ハードウェア」ノードを副分割
線によって2個またはそれ以上の対応するハードウェア
ノードフラクションINFに細分化しなければならない
。また、ソフトウェアモデルのソフトウェアサブ部分へ
の区分けに於ては、前記ソフトウェアモデル部分の幾つ
かの「ソフトウェア」ノードを、再び前記副分割線によ
って2個またはそれ以上の対応するソフトウェアノード
フラクションSNFに細分化しなければならないことが
分かる。ここで使用される「ノードフラクションJNF
の語は、一般に前記ASICモデルのいずれかの場所に
、その状態が互いにリアルタイム(または、擬似リアル
タイム)の鏡像(複写)であるような対応する第2ソフ
トウエアまたはハードウェアノードフラクション5NF
2 、HNF2を有する第1ソフトウエアまたはハード
ウェアノードフラクション5NFL /HNFIを一般
に指称している。
第3図及び第5図の双方から、オペランドrcJをa=
b*cの行動モデルに供給する第3図の一方のソフトウ
ェアノードSNcが、第5図に於て、ソフトウェアノー
ドフラクション5NF−c(ソフトウェアモデル部分3
12*内に在住するように示されている)及びハードウ
ェアノードフラクションINF−c (PLD形成ハー
ドウェアモデル部分712内で実行させるように示され
ている)に区分けされる。オペランドrbJを第3図の
行動モデル312aに送るパーチャルピン312pは、
第5図に於てソフトウェアパーチャルピン5vp−bと
して残っている。ソフトウェアパーチャルピン5VP−
aは第5図に於てそのままである。しかしながら、第3
図に於けるトランジスタレベルモデル312aのソフト
ウェア出力ピンは、第5図のソフトウェアモデル部分3
12*から除去され、かつ第5図に於て、ソフトウェア
部分700bに於けるソフトウェアノードフラクション
(試験ノード)SFN−o及びPLD実行ハードウェア
モデル712に於ける対応ハードウェアノードフラクシ
ョンINF−oに置き換えられている。ハードウェアノ
ードフラクションHFN−。
からピンダミー422の対応するリアルピンに及び前記
PLD  IIOブロックを介してリアルピンレジスタ
416*にカプリングがなされる。行動レベルモデル3
12Cの内部パラメータdが、ランダムアドレス可能試
験点313をしてソフトウェア論理アナライザ314に
アクセス可能に示されている。ソフトウェアノードフラ
クション5NF−2が試験点313としてアクセス可能
である。ノードは、ASICモデル全体の各部分が区分
けされ、かつ/またはソフトウェアモデル部分からハー
ドウェア部分であるように変換されるにつれて、その特
性に応じて全体として1個の状態から分離された。しか
しながら等価のノードフラクションに、かつ「ソフトウ
ェア」から「ハードウェア」に切り換えられることが理
解される。更に、前記ASICモデル全体の各内部ノー
ドは、狸込分離アナライザ手段(即ち、314及び71
4)によってモニタするために依然としてアクセス可能
である。
第6A図に示される別の設計/開発800に関して、前
記ASICモデルは、その行動レベル要素が、そのゲー
i・レベルモデル部分312b及びトランジスタレベル
モデル312aがPLDのアレイ870内に写像される
と同様の方式で、プロセッサ880のマツシブなパラレ
ルアレイ(それぞれにマイクロコンピュータモジュール
μC及びメモリモジュールM e mからなる)内に写
像し得るように、更に細分化し得ることが明らかになる
PLD870、パラレルプロセッサ880の組合せは、
前記ASICモデルの予め選択した部分を高速度でシミ
ュレートするために使用することができる。前記ASI
Cモデルの或る部分は、必要に応じて、引き続きフォン
ノイマン型ワークステーション311*に於てシュミレ
ー1・される。ワークステーション311*には、パー
チャルピン/レジスタ手段316*が設けられ、かつ実
施例800には、パーチャルピン/ノードレジスタ31
6*によって支持される「ソフトウェア」ピン/ノード
と後者のレジスタ手段816によって支持される対応ピ
ン/ノードとの間にリアルタイム/疑似リアルタイム等
価関係を形成するように操作される対応ピン/ノードレ
ジスタ手段816が設けられている。このワークステー
ション311*は、前記I CUDのフォンノイマン型
ソフトウェアモデル部分をシミュレートしかつパーチャ
ルピン/ノードレジスタ手段316*及び対応ピン/ノ
ードレジスタ手段データ間に於ける鏡像関係を形成する
機能の他に、PLDアレイ実行ハードウェアモデル部分
870内の各試験ノード、またはパラレルプロセッサア
レイ実行行動モデル部分880内の各試験ノードのモニ
タリングを制御するための手段として使用することがで
きる。更に、適当な論理アナライザ/試験パターンイン
ジェクタ手段が、予め特定されたクオリフィケーション
時間にデータを捕捉しかつ捕捉したデータを後で分析す
るためにワークステーション311*に送るために、パ
ラレルプロセッサアレイ880のソフトウェア/ハード
ウェア環境内に設けられている。前記ASICモデルの
フラグメント部分間の連絡は、マルチプレクサ822(
格子」二の連絡網として概略図示されている)のソフト
ウェア応答アレイまたは他の適当な信号通信手段を用い
て形成される。
ソフトウェア応答信号ルーティグ手段822を用いて、
対応ピン/ノードレジスタ平段816、PLDアレイ8
70及びパラレルプロセッサアレイ880を互いに選択
的に連結し、かつ更にピンダミー422から延出するへ
その賭ケーブル422uに、かつ更に、シリアル/パラ
レル変換手段820に連絡されている。各部分820.
822.816.870.880は、第6A図に於てハ
ードウェア/ソフトウェアモデル部分支持プラットホー
ム(H/S−MPSP)800aに属するように記載さ
れている。
シリアル−パラレル変換手段820は前記ワークステー
ションの対応するパラレル−シリアル変換手段320か
ら通信リンク840に沿って送られる情報のパケット9
00を受は取り、かつそのデータを、送られた情報パケ
ット900に含まれる連絡コンフィグラーションデータ
900aに従ってプログラマブル連絡手段822を構成
しく第6B図参照)、パラレルアレイコンフィグレーシ
ョンデータ900bに従ってパラレルプロセッサアレイ
880を構成することによって、前記ASICモデルの
所定部分をシミュレートするためにパラレルプロセッサ
アレイ880をプロゲラ1、し、PLD870に於て前
記ASICモデルのハードウェアモデル部分を創成する
ために送られたPLDコンフィグレーションデータ90
0Cに従ってPLDアレイ870を構成し、かつパーチ
ャルピン/ノードレジスタ手段316*とシステム80
0の対応ピン/ノードレジスタ手段816との間でピン
/ノード平衡(ミラー)情報を往復させるために、所定
の手法で送信する。更に、シリアルパラレル手段820
は、前記ワークステーションとH/S−MPSP800
aとの間で塊込論理アナライザコンフィグレーションデ
ータ及び論理アナライザレポートデータ900eを往復
させるために使用される。往復させる情報900のブロ
ック図が第6B図に示されている。
第6A図の実施例800では、対応ピン/ノードレジス
タ手段816に記憶されるピン状態がピンダミー422
上のリアルピン422aの全状態に対応させなければな
らない必要はない。むしろ、対応ピン/ノードレジスタ
平段816のメモリセルは、設計/開発システt、80
0全体のいずれかに含まれ(支持され)でいるハードウ
ェアまたはソフトウェア、かつ全体または区分されたノ
ードに結合させることができる。リアルピン情報rpi
かへその緒ケーブル422を介して往復され、ピンダミ
ー422のリアルピン422aとH/S−MPSP80
0a及びワークステーション311*の双方またはいず
れかから支持される図示されない対応ノードフラクショ
ンとの間にミラー関係を創成する。
今まで、H/S−MPS800aが先端820に到来す
る情報パケット900が第6A図に示されるように全て
単一のワークステーション311*から到来するものと
仮定していた。しかしながら、このような必要は全くな
い。第7因に示される実施例1000に関して、時分割
多重情報バケツ)−900A、900B、900Cが各
ワークステーション311A、311B、311Cから
第7図に概略的に示されるように、異なる時間点tに於
て受信され、かつこれらの個別の情報パケット900A
〜900Cが、H/F−MPSP800aを通過してシ
リアル通信ネットワーク840*内で結合され、そこか
ら第1バーチヤルASICハードウエアイメージが第1
ピンダミー422Aを介して第1ターゲットボード42
4A内に投影されることが分かる。更に、第2及び第3
間のバーチャルASICの各ハードウェアイメージが第
2、第3間のピンダミー422B、422Cを介して第
2、第3のターゲットボード422 B。
424Cに投影することができ、かつターゲットボード
424A〜424Cの応答が同様にワークステーション
311A〜311CとH/SMPSP800aとの組合
せ(必ずしもそれぞれではない)によって支持される複
数のASICモデルを反射することができる。
ここで、使用される「バーチャルASICJの語は、全
体としてまたは部分的にソフトウェアモデル部分/また
はハードウェアモデル部分によって定義されるASIC
モデルを指称している。第7図に示される設計開発シス
テム100に於ては、複数のバーチャルASICのそれ
ぞれがASICモデル部分にランダムに区分けされ、か
つこれらのモデル部分がそれぞれ通信ネットワーク84
0*を介して連絡されている異なるワークステーション
311A、311B、311Cによって、または1個ま
たは2個以上のH/S−MP S Pモジュール800
aによって支持されている。このネットワーク分配設計
/開発システム1000によって、ASIC設計の異な
る部分(サブモデル)を異なる開発位疏で並行して開発
することが可能となり、かつこれらの異なる開発(r/
、;;’iで開発されたサブモデルを同時に結合させて
、前記サブモデルの任意の組合せによって定義されるバ
ーチャルI CUDのハードウェアイメージの特定の(
異なる場所に配置することができる)ターゲットボード
424A〜424CのASIC受入れソケットに於て形
成することが可能となる。
第8図には、ASICサブモデルを組合せることによっ
て1個または2個以」二のピンダミー422A〜422
Cを介して1個または2個以上のバーチャルASICの
実像を投影するための別のネットワーク結合方法のブロ
ック線図が示されている。第8図の実施例1100に於
ては、ハードウェア「バーチセル」ピンとソフトウェア
「バーチセル」ピンとの区別が不軒明であり、それらは
−般にパーチャルピンVP−x(xは任意の数)と称さ
れている。ハードウェアモデル支持プラットフォームと
ソフトウェアモデル支持プラットフォームとの区別も同
様に不群明である。この両者は単にモデル(またはサブ
モデル)支持プラットフォームM S P −xと指称
されている。図示されている各1次及び相補形情報交換
レジスタIER1、CIER−1、IER−2、CIE
R−2のメモリセル内に含まれるデータは、バーチャル
ASICのソフトウェアサブモデル内にシミュレートさ
れるバーチセルノード、そのようなASIC内のバーチ
セルインターパッケージ接続、または前記バーチャルA
SICのハードウェアエミュレートサブモデル部分内の
「リアル」ノードのいずれかの論理状態を表している。
第8図のバーチャルASICは区分けされ、かつ分離さ
れたサブモデル支持プラットフォームMSP−1、MS
P−2、MSP−3間に分配される。これら、サブモデ
ル支持プラッI・フオームMSP−xはそれぞれノード
をエミュレートするために少なくも1個のノードフラク
ション支持レジスタ即ちMFR−0(図面には1個だけ
が示されている)を有する。このノードフラクションレ
ジスタ(NFR−0のみが図示されており、その他はM
SPの他のNFを支持するものと解される)は、それぞ
れ1次情報交換レジスタ即ち、IER−1及び相補形交
換レジスタ即ち、CIER−1によって相補形(鏡像)
ノードフラクションレジスタ、即ちNFR−1に接続さ
れている。
図示された1次及び相補形情報交換レジスタ■ER−X
及びCIER−x(xは任意の数)は、それぞれサブモ
デル支持プラットフォームMSP−Xのノードフラクシ
ョンレジスタ(図面にはNFR−0のみを示す)及びそ
れに対応するASICエミュレートモジュール内のノー
ドフラクションレジスタNFR−1、NFR−2に含ま
れるデータ間に上述した技術に従って鏡像関係が形成さ
れるように、シリアル通信リンク1340を介して連続
的に情報を交換するためのシリアルシフトレジスタまた
は他の適当なシリアル/パラレル変換手段によって形成
することができる。前記ASICエミュレートモジュー
ルの相補形情報交換レジスタCIER−xは、それぞれ
パラレル交換線1145によって対応させて対応(リア
ル)ノードフラクションレジスタNFR−xに結合され
、かつ後者は適当なトランシーバ1150によって1個
または2個以」二のピンダミー422のリアルピンRP
−xに結合される。前記トランシーバの信号伝達方向は
、信号ルーティング制御手段1160によって制御され
る。
各サブモデル支持プラッI・フォー1、M S P −
xのノードレジスタ(1個のセル、NFR−0のみを図
示)間で発生する情報交換は別として、台支持プラット
フォームの2次情報交換レジスタ即ちIER−1/1〜
I ER−2/1間で更に情報交換が行われ、それによ
って対応する谷サブモデルに於てビンノード以外の区分
ASICノードの状態が複写される。
第8図の情報交換構成によって、異なる0′/、iF’
iにいる設計者がASICモテルモデルる部分を開発す
ることができ、かつこれらの設計者は、他の設計者が比
較的遠隔に付置する場合でさえ、対応する他の設計者の
開光中の部分と結合させることができ、それによって開
発中のASICの各部分とその目的システムの間に於け
るインタラクションをリアルタイムにまたは擬似リアル
タイムに観察することができる。
当業者にとって明らかなように、1」的システムと組み
合せてアプリケーション特定集積回路を開発するための
上記方法及び装置は、様々に変形・変更を加えて実施す
ることができる。しかしながら、本発明の技術的範四は
、」一連した実施例に限定されるものでないことは明ら
かである。
【図面の簡単な説明】
第1図は、アプリケーション特定集積回路(ASIC)
を開発するための2つの従来方法を・lf2列に示すフ
ロー図である。 第2A図は、本発明によるASIC開発方法を示すフロ
ー図である。 第2B図は、それぞれに独自の同期クロックを何する別
個のデジタルシステムの相補形入力及び出力ノードに於
ける状態を複写するための情報交換システムを概略的に
示す構成図である。 第2C図は、第2B図に示されるA、B及びEブロック
のクロック信号間に於ける関係を示すタイミングチャー
トである。 第2D図は、第3図及び第5図についてその谷分割図の
組合せ方を示す説明図である。 第3図は、分割図その1乃至その3からなり、全体とし
て本発明による第1AS I C設計開発システムを示
すブロック図である。 第4A図は、第1AS I Cエミュレータ回路を概略
的に示す回路図である。 第4B図は、第2AS I Cエミュレータ回路を概略
的に示す回路図である。 第5図は、分割図その1乃至その4からなり、全体とし
て本発明による第2AS I Cによる設=1開発シス
テムを示すブロック図である。 第6A図は、パラレルプロセッサのアレイと結合させた
PLDのアレイからなるASICエミュレータを示すブ
ロック図である。 第6B図は、本発明によるASTCエミュレータとワー
クステーション間に形成されるシリアルリンクを介して
往復されるデータバケットを示す説明図である。 第7図は、ASICモデルの定義が複数のワークステー
ション間で細分化され、かつ通信ネットワークによって
再結合される様子を示すブロック図である。 第8図は、本発明のビンレジスタ/ノードレジスタミラ
ーリング技術の別の応用を示すプロ・ソク図である。 10・・・初期紙」二設計 24*・・・ターゲットシステム 30a・・・試験ソフトウェア導入ステップ30b・・
・ハードウェア見本導入ステップ100・・・フロー図 112b・・・ソフトウェアモデル 114b・・・ソフトウェア試験ベクトル120・・・
ソフトウェアモデル−ハードウェアモデル変換ステップ 122a・・・ピンダミー 122b・・・集積回路プロトタイプ 150・・・入力端子  152・・・出力端子154
・・・クロック受信端子 160・・・入力端子  162・・・出力端子164
・・・クロック受信端子 300・・・第1実施例 300a・・・ターゲット部分 300b・・・モデル部分 312・・・ソフトウェアモデル 320・・・第インターフェース手段 340・・・シリアル通信リンク 311・・・ワークステーション 322・・・目標ASIC

Claims (6)

    【特許請求の範囲】
  1. (1)開発予定集積回路の物理的ピンに結合させるため
    の所定のピン結合点を有するターゲットシステム内に挿
    入されるべきアプリケーション特定集積回路(ASIC
    )を開発するための方法であって、 前記開発予定集積回路のソフトウェアモデルを創成する
    過程と、 前記ソフトウェアモデル内のノードをバーチャルピンノ
    ードとして指定する過程と、 前記バーチャルピンノードの所定のピンノードをバーチ
    ャル入力ピンノード及びバーチャル出力ピンノードとし
    て指定する過程と、 前記ソフトウェアモデルを所定数のサイクル操作させて
    、その前記バーチャル出力ピンノードに於ける論理状態
    を生成させる過程と、 前記バーチャル出力ピンノードの前記論理状態を表わす
    出力信号を前記ターゲットシステム内の前記ピン結合点
    の対応する入力ピン結合点に送る過程と、 前記ターゲットシステムを所定数のサイクルステップ操
    作させて、前記ターゲットシステム内の前記ピン結合点
    の所定の出力ピン結合点の論理状態を生成させる過程と
    、 前記ターゲットシステムの前記出力ピン結合点の論理状
    態を表わす入力信号を前記ソフトウェアモデルの対応す
    るバーチャル入力ピンノードに送る過程とからなること
    を特徴とするASIC開発方法。
  2. (2)所定の1個の前記バーチャルピンノードの指定を
    或る入力・出力機能から他の入力・出力機能に変更し、
    それによって前記所定のバーチャルピンノードに両方向
    シグナルフロー機能を与える過程を更に含むことを特徴
    とする第1請求項に記載のASIC開発方法。
  3. (3)未開発ASICと該ASICが挿入されるべきタ
    ーゲットシステムとの間のインタラクションをエミュレ
    ートするためのASICエミュレータであって、 開発時に前記ASICのモデルを作るためのソフトウェ
    アモデリング手段と、 前記ターゲットシステムによって生成されるASIC入
    力信号を受信し、記憶しかつ出力するための入力レジス
    タ手段と、 前記ソフトウェアモデリング手段によって生成されるA
    SIC出力信号を受信し、記憶しかつ出力するための出
    力レジスタ手段と、 前記入力レジスタ手段内に記憶された前記ASIC入力
    信号を前記ソフトウェアモデリング手段に送り、かつ前
    記ソフトウェアモデリング手段に生成されるASIC出
    力信号を前記ターゲットシステムに送るためのデータ交
    換同期手段とを備えることを特徴とするASICエミュ
    レータ。
  4. (4)前記ターゲットシステムの前記未開発ASICを
    挿入するべき位置に挿入され、かつ前記ソフトウェアモ
    デリング手段と前記ターゲットシステムとの間で交換さ
    れる情報を連絡するように前記ソフトウェアモデリング
    手段と前記ターゲットシステムとの間に配置されるピン
    ダミーを郭定する組合せリアルピンを更に有することを
    特徴とする第3請求項に記載のASICエミュレータ。
  5. (5)集積回路を設計しかつ開発するための方法であっ
    て、 ソフトウェアに於て開発中の前記集積回路の行動レベル
    モデルを定義する過程と、 ソフトウェアに於て前記低開発中の集積回路のリアルピ
    ンを表わすバーチャルピンノードを定義する過程と、 前記低開発中の集積回路の前記リアルピンに対応するリ
    アルピンを有するピンダミーを設ける過程と、 前記ピンダミーの前記リアルピンの状態を表わ すデジ
    タル情報を記憶するためのリアルピンレジスタ手段を設
    ける過程と、 前記バーチャルピンノードのソフトウェアシミュレーシ
    ョン論理状態と前記ピンダミー上の前記リアルピンの論
    理状態との間に鏡面関係が確立されるように、前記リア
    ルピンレジスタ手段と前記バーチャルピンノードを支持
    するメモリセルとの間で情報を交換する過程とからなる
    ことを特徴とする集積回路の設計開発方法。
  6. (6)異なる開発位置に於て単一の集積回路の異なる部
    分を開発するための方法であって、 前記集積回路をモデル部分に区分けする過程と、ハード
    ウェアまたはソフトウェアに於て、異なる位置で前記集
    積回路の前記モデル部分をモデリングする過程と、 前記モデル化部分の各部分からピン情報を集めるための
    リアルピンレジスタ手段を設ける過程と、前記リアルピ
    ンレジスタ手段の論理状態と前記集積回路の前記モデル
    化部分のバーチャルピンノードの論理状態との間に鏡面
    関係を確立するように、前記モデル部分の前記バーチャ
    ルピンノードと前記リアルピンレジスタ手段との間で情
    報を交換する過程とからなることを特徴とする単一集積
    回路の開発方法。
JP2201091A 1989-07-27 1990-07-27 Asic開発方法とasicエミュレータと集積回路の設計開発方法と単一集積回路の部分開発方法 Expired - Lifetime JP2731021B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38633289A 1989-07-27 1989-07-27
US386,332 1989-07-27

Publications (2)

Publication Number Publication Date
JPH0370158A true JPH0370158A (ja) 1991-03-26
JP2731021B2 JP2731021B2 (ja) 1998-03-25

Family

ID=23525160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2201091A Expired - Lifetime JP2731021B2 (ja) 1989-07-27 1990-07-27 Asic開発方法とasicエミュレータと集積回路の設計開発方法と単一集積回路の部分開発方法

Country Status (3)

Country Link
EP (1) EP0410502B1 (ja)
JP (1) JP2731021B2 (ja)
DE (1) DE69030792T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002118459A (ja) * 2000-06-12 2002-04-19 Altera Corp シリアル・デバイスからメモリおよびレジスタをセット・アップする方法
EP1102881A4 (en) * 1998-04-10 2004-11-10 Softfoundry Inc AUTOMATIC EMBROIDERY STITCH
JP2009538481A (ja) * 2006-05-22 2009-11-05 コーヒレント・ロジックス・インコーポレーテッド 処理システムでのソフトウェアプログラムの実行に基づくasicの設計

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596742A (en) * 1993-04-02 1997-01-21 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
US5761484A (en) * 1994-04-01 1998-06-02 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
US5659716A (en) * 1994-11-23 1997-08-19 Virtual Machine Works, Inc. Pipe-lined static router and scheduler for configurable logic system performing simultaneous communications and computation
US5546562A (en) * 1995-02-28 1996-08-13 Patel; Chandresh Method and apparatus to emulate VLSI circuits within a logic simulator
US6286114B1 (en) * 1997-10-27 2001-09-04 Altera Corporation Enhanced embedded logic analyzer
EP1233341B1 (en) * 1997-11-18 2006-06-28 Altera Corporation Embedded logic analyser
DE102011010650A1 (de) * 2011-02-09 2012-08-09 Sciknowtec Gmbh Entwicklungsumgebung für Mikroprozessoren
WO2012154596A1 (en) * 2011-05-06 2012-11-15 Xcelemor, Inc. Computing system with data and control planes and method of operation thereof
US10126362B2 (en) 2014-12-15 2018-11-13 International Business Machines Corporation Controlling a test run on a device under test without controlling the test equipment testing the device under test
CN114997093B (zh) * 2022-06-02 2024-04-26 南京维拓科技股份有限公司 一种仿真数字化模型器件引脚快速生成线的方法
CN117955849A (zh) * 2022-10-31 2024-04-30 华为技术有限公司 数据管理方法、装置、系统及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2138605B (en) * 1983-04-09 1987-03-11 Int Computers Ltd System for verifying design of electronic component
US4901259A (en) * 1988-08-15 1990-02-13 Lsi Logic Corporation Asic emulator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1102881A4 (en) * 1998-04-10 2004-11-10 Softfoundry Inc AUTOMATIC EMBROIDERY STITCH
JP2002118459A (ja) * 2000-06-12 2002-04-19 Altera Corp シリアル・デバイスからメモリおよびレジスタをセット・アップする方法
JP2009538481A (ja) * 2006-05-22 2009-11-05 コーヒレント・ロジックス・インコーポレーテッド 処理システムでのソフトウェアプログラムの実行に基づくasicの設計

Also Published As

Publication number Publication date
JP2731021B2 (ja) 1998-03-25
EP0410502A3 (en) 1993-10-20
DE69030792D1 (de) 1997-07-03
EP0410502B1 (en) 1997-05-28
DE69030792T2 (de) 1997-09-11
EP0410502A2 (en) 1991-01-30

Similar Documents

Publication Publication Date Title
US6701491B1 (en) Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it
JP4456420B2 (ja) ネットワークベースの階層エミュレーションシステム
US6058492A (en) Method and apparatus for design verification using emulation and simulation
US7366652B2 (en) Method of programming a co-verification system
US5937179A (en) Integrated circuit design system with shared hardware accelerator and processes of designing integrated circuits
US8108729B2 (en) Memory-based trigger generation scheme in an emulation environment
JP4664056B2 (ja) 電子機器の動作をエミュレートする装置
US6197605B1 (en) Method and device for test vector analysis
JPH06208602A (ja) 可検査性設計規則の検証方法
JP2731021B2 (ja) Asic開発方法とasicエミュレータと集積回路の設計開発方法と単一集積回路の部分開発方法
JPH0773066A (ja) メモリ回路構成法および装置
US5798645A (en) Hardware emulations system with delay units
US7050958B1 (en) Method and apparatus for accelerating hardware simulation
US7340705B1 (en) In-circuit device, system and method to parallelize design and verification of application-specific integrated circuits (“ASICs”) having embedded specialized function circuits
Gong et al. Modeling dynamically reconfigurable systems for simulation-based functional verification
EP1129483A1 (de) Dram-zellenanordnung und verfahren zu deren herstellung
KR20020069468A (ko) 초대규모급 설계 검증을 위한 하드웨어적으로 구현된대규모 디지털 시스템과 시뮬레이션을 이용하는 디버깅장치 및 이를 이용한 디버깅 방법
US7703054B2 (en) Circuit emulation and debugging method
JP2000215226A (ja) 論理検証装置
KR20010114158A (ko) 신속한 입출력탐침 장치 및 이를 이용한 입출력탐침방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션방법
Brown et al. Experience in designing a large-scale multiprocessor using field-programmable devices and advanced CAD tools
JPH09153077A (ja) デジタル回路設計支援システムおよびデジタル回路のハードウェアおよびソフトウェアの設計方法
Haar Design Reconstruction for Partial Reconfigurable FPGA Systems
CN117272883A (zh) 电路设计的分布式仿真同步
Mahboub Study and development of software based self-test programs for Automotive ECU

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 13

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 13