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
Links
- 238000011161 development Methods 0.000 title claims description 101
- 230000036961 partial effect Effects 0.000 title description 10
- 238000000034 method Methods 0.000 claims description 89
- 230000006870 function Effects 0.000 claims description 36
- 230000003542 behavioural effect Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 24
- 230000003993 interaction Effects 0.000 claims description 15
- 238000010168 coupling process Methods 0.000 claims description 14
- 230000008878 coupling Effects 0.000 claims description 12
- 238000005859 coupling reaction Methods 0.000 claims description 12
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 30
- 230000000295 complement effect Effects 0.000 abstract description 21
- 238000012360 testing method Methods 0.000 description 85
- 238000013461 design Methods 0.000 description 76
- 238000004549 pulsed laser deposition Methods 0.000 description 32
- 239000013598 vector Substances 0.000 description 32
- 238000004891 communication Methods 0.000 description 30
- 239000000872 buffer Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 22
- 238000006243 chemical reaction Methods 0.000 description 15
- 210000004027 cell Anatomy 0.000 description 13
- 230000000630 rising effect Effects 0.000 description 10
- 239000000523 sample Substances 0.000 description 10
- 238000004088 simulation Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 239000002131 composite material Substances 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 6
- 230000006399 behavior Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 229910052710 silicon Inorganic materials 0.000 description 6
- 239000010703 silicon Substances 0.000 description 6
- 239000000758 substrate Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000011960 computer-aided design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 210000000352 storage cell Anatomy 0.000 description 3
- 239000011230 binding agent Substances 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000638 stimulation Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 210000003954 umbilical cord Anatomy 0.000 description 2
- 102100022094 Acid-sensing ion channel 2 Human genes 0.000 description 1
- 101710099902 Acid-sensing ion channel 2 Proteins 0.000 description 1
- 108091008591 ER-X Proteins 0.000 description 1
- 108010023321 Factor VII Proteins 0.000 description 1
- 101100024440 Globodera rostochiensis MSP-3 gene Proteins 0.000 description 1
- 101001106523 Homo sapiens Regulator of G-protein signaling 1 Proteins 0.000 description 1
- 108010057081 Merozoite Surface Protein 1 Proteins 0.000 description 1
- HCUVEUVIUAJXRB-UHFFFAOYSA-N OC1=C(C=C(CNC(CCCC=2SC=CC=2)=O)C=C1)OC Chemical compound OC1=C(C=C(CNC(CCCC=2SC=CC=2)=O)C=C1)OC HCUVEUVIUAJXRB-UHFFFAOYSA-N 0.000 description 1
- 102100021269 Regulator of G-protein signaling 1 Human genes 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000002425 crystallisation Methods 0.000 description 1
- 230000008025 crystallization Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- ULFHSQLFQYTZLS-UHFFFAOYSA-N difluoroamine Chemical compound FNF ULFHSQLFQYTZLS-UHFFFAOYSA-N 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007849 functional defect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 101150031507 porB gene Proteins 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000005204 segregation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
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
め要約のデータは記録されません。
Description
ば、複合ターゲットボードまたはシステム内に挿入され
るべきデジタルアプリケーション特定集積回路(app
llcaLIon Specific +ntegra
ted clrcuIL 、 A S I C)を開発
するための方法及び装置に関する。
10年毎にほぼ10倍ずつ増加している。
は、その基板上におそらく6個乃至12個より少ない基
本的論理ゲートが郭定されるように組み立てられていた
。1970年代の10年間に、ICチップ上の論理密度
は約100ゲートに増加し、かつそれが1980年代の
初期には1,000論理ゲーl・になり、更に1980
年代の後半には、すでに集積回路毎に100.000論
理ゲートの論理密度に達している。1990年代には、
チップ1個当りのゲート密度が論理セル1,00o、o
oo個程度になると予想される。
の機能的複合性が同様に増大している。
ICの組合せ論理回路間の連絡の複雑さが、もし量化で
きるとすれば、同様に増加している。
ている。このようなICの複雑さのために、チップの設
計者にとっては、出来上がったばかりの最初の試行(「
第1シリコン」の成形特)に於て正確に動作するプロト
タイプICを製造することがますます困難になっている
。いわゆる「第1シリコン」プロトタイプに於ける機能
上の欠陥が、全プロトタイプの50%を越える割合で発
生する傾向がある。全ての欠陥は発見して訂正しなけれ
ばならない。欠陥の識別及び訂正によって、設計開発過
程に要する時間が長くなるという不都合が生じる。従っ
て、このような時間を最小にする必要がある。
モデルまたはソフトウェアモデルである開発「モデル」
について熟考する。ASICを開発するための従来の2
つの方法A及びBが第1図のフロー図に並列に示されて
いる。
ハードウェア・モデリング」方法と称されるこれらの第
1の方法Aは、いわゆる「小規模集積J (SSI)
回路が最初に開発されていた集積回路技術の全く初期の
年代に行われ始めた。所望の集積回路の初期紙上設計、
記述または「仕様」が立案され、その草案設計10に於
ける思想が個々のトランジスタ、抵抗等のような離散的
素子及び先に開発された集積回路チップを用いて初期ハ
ードウェアモデル12aに転換される。
るステップ12aとして模式的に示されている。次に「
ハードウェア」試験ベクトルと称される1組の試験信号
が案出されかつステップ14aに示されるように(適当
な信号発生器を用いて)生成され、かつ初期紙上設計1
0の仕様に従って作動するかどうかを決定するためにハ
ードウェアモデル12aに印加される。
(MSI)と称されるような集積回路技術の初期に於て
は、設計エンジニアにとって、コンピュータの助けを借
りることなく特にそれだけのために試験ベクトルの組を
手作業で開発し、かつこれらの試験ベクトルを用いてハ
ードウェアモデル12aの論理の正確性を検証するのが
一般的であった。手作業による試験ベクトルの作成は、
今日に於てさえ、現在製造されている高密度MSI、L
SI(大規模集積)及びVLSI(超LSI)チップの
複雑さにも拘らず、好ましい場合がある。しかしながら
、大抵の場合には、試験ベクトルはいわゆるコンピュー
タ援助エンジニアリング(CAE)ソフトウェアを用い
てコンピュータの援助により調整される。このソフトウ
ェアは、ハードウェアモデル12aの論理の正確性を検
証するための「完全な」試験ベクトルの組が生成される
と期待される。ここで言う「完全な」の語は、可能な全
ての組合せの入力がハードウェアモデル12aの入力端
子に印加されること及びこれら入力の全組合せに対する
ハードウェアモデル12aの応答が、その各応答が仕様
1oに従っていることを保証するためにモニタされかつ
分析されることを意味する。ハードウェアモデル12a
は一般に、自動試験信号発生手段及びその中に組み込ま
れたハードウェアモデル12aを試験するための応答モ
ニタ手段とを有するテストベツド上で組み立てられる。
アナライザと、前記論理アナライザのブローブリードを
接続し得る前記ハードウェアモデル内の複数の試験点と
を有する場合が多い。
16aに於て設計エンジニアによって作成された全ての
試験シーケンスを合格しなかった場合には、その故障の
理山が、例えばデジタルオシロスコープ及びデジタル論
理アナライザを用いてハードウェアモデル12a内の各
試験点にプローブを差し込むことによって決定される。
かつステップ18aに於てハードウェアモデル12aを
再設計して問題を補正する。次に、一般に再構成された
ハードウェアモデル12aに対して同じ試験ベクトル1
4aの組を使用し、かつ欠陥検出ステップ16、分析及
び再設計ステップ18aを、1回、2目またはm回再構
成したハードウェアモデル12a1が設計エンジニアに
よって作成されている全ての前記試験シーケンス14a
を合格するまで、繰返して行う(mはハードウェアモデ
ル12aを再構成する回数を表わす整数である)0ハー
ドウエアモデルを構築しかつ再構成するステップ12a
、試験ベクトルを作成するステップ14a、試験ステッ
プ16a、分析及び再構成ステップ18aは、設計/開
発過程Aの「内側」ループを構成している。
一旦「良好」と認められると、設計/開発過程Aの「外
側」ループが開始される。」二連したように開発されて
きたm同量構成ハードウェアモデル12a の回路設
計は、詳細な「トランジスタレベル」の設計へと変換さ
れる。(トランジスタレベルの設計図には、ハードウェ
アモデル化された回路の個々のトランジスタまたは他の
基本素子が示される。)ステップ20aに於て、前記ト
ランジスタレベルの設計図に従って回路を設計しかつ半
導体基板」二にパターン形成し、それによって「最初の
」プロトタイプ集積回路22(「第1シリコン」)を形
成する。ハードウェアモデル12a″1をプロトタイプ
集積回路22に転換するステップ20aは通常退屈で、
時間がかかりかつ費用を要する。ASICプロ1〜タイ
プ20aの回路が確実に既開発モデル12a1の回路を
正確に複写するように注意しなければならない。エラー
発生の確率は、ハードウェアモデル12a のill
ll−トの数が増加するにつれて増大する傾向がある。
に挿入し、該ターゲットボード24に電流を流し、かつ
パワーアップステップが成功した場合には、ターゲット
ボード24をステップ26及び28に於て作動させかつ
試験して、プロトタイプ集積回路22が市販できるもの
であるかどうかを決定する。
後、この製造・開発の外側ループ段階に於いて動作上の
故障が検出された場合には、通常開発過程Aの前記内側
ループに戻って故障の原因を決定することが必要である
。最初のASICプロトタイプ22内の全ての必要個所
を調査して故障の原因を決めることは困難な場合が多い
。
2a)の中からハードウェアモデル12a″1内で外側
ループ(ステップ20a、26a、28a)の故障モー
ドを再生する試みが行なわれている。新しい試験ベクト
ル14aの組が形成され、かつこれらがハードウェアモ
デル12amに適用される。ハードウェアモデル12a
1内の試験点が再び調査される。次に前記ハードウェア
モデル12a1の分析及び再設計が行われる。試験ステ
ップ16aによって故障が根絶されたことが示されると
、「第2の」集積回路プロトタイプ22′が組み立てら
れ(ステップ20a)、ターゲットボード24内に挿入
される(26.28)。
発エンジニアによって作成された全試験に2次、3次、
及びそれに続くn次の集積回路プロトタイプ22 が適
合するまで、繰り返される。
サンプル複製品が、各「β側」の顧客によって試験され
かつ受は入れられるように市場に分配される。
プロトタイプモデル12aを構築する過程がより面倒に
なった。ICは、物理的に離散素子でモデルを形成する
には密度が高過ぎるようになった。幸いにも、ソフトウ
ェアに於てデジタル回路をシミュレートする分野が充分
に進歩して、ハードウェアモデリングステップ12a1
試験ステツプ14a、16a、分析及び再設計ステップ
18aをより柔軟性のあるソフトウェアモデリング方法
Bに於ける対応するステップ(12b、14b、16b
、18b)で置き換えできるようになった。
グ方法Aと平行しており、従って容易に比較し得るよう
に第1図のハードウェアモデリング方法と隣り合せに図
示されている。その平行構造及び共通の始点(初期設計
10)は別にして、ハードウェアモデリング方法Aとソ
フトウェアモデリング方法Bとの間には全く連粘点がな
いことに注意すべきである。後者の方法Bは、シミュレ
ーションプログラム環境内で適当なソフトウェアモデル
を創成するステップ12bと、ソフトウェア12bに適
用されるべきソフトウェア試験ベクトルを調整するステ
ップ14bと、前記シミュレーションプログラム環境内
で前記モデル全体を試験するステップ16bと、前記ソ
フトウェアモデル内の必要な全試験点を適当なソフトウ
ェアデバッグツールを用いて調査するステップと、全ソ
フトウェア生成試験がステップ16bに於て合格するま
でソフトウェアモデル12bを再設計するステップ18
bとからなる。
6bに於て「良好」と認められると、ソフトウェアモデ
ル12b1内の全素子及び連絡のネットワークリスト(
CAD/CAMリスト)が生成され、かつ生成された該
リストがステップ20bに於てハードウェアのプロトタ
イプAS I C22に転換される。」二連した最初の
プロトタイプAS I C22をターゲットボード24
に挿入しかつ試験する過程が、前記最初のまたはそれに
続くn次のプロトタイプAS I C22°が集積回路
開発者によって作成された全試験に適合するまで繰り返
される。
リング方法Aより好都合である。前記モデルの物理的寸
法が問題とはならない。シミュレーションコンピュータ
には、提案された最も複雑な集積回路をシミュレートす
るのに充分な(バーチャル)メモリ容量を与えることが
できる。ソフトウェアモデルへの変更(再設計18b)
は、対応するハードウェアモデル12aへの変更よりも
より迅速に行うことができる。ソフトウェアモデリング
方法Bを用いてプロトタイプAS I C22を開発す
るための時間は、ハードウェアブレッドボーディング方
法Aのそれより充分に短くすることができる。ソフトウ
ェアモデル12bをシリコンのハードウェアプロトタイ
プ22に転換するステップ20bは、転換過程に於ける
エラーを低減させ、かつこのような転換に伴う退屈さを
回避するために自動化すると好都合である。従って、ソ
フトウェアモデリング方法Bは、高密度のICを開発す
ることに関連する物理的な問題の多くを克服するように
構成することができる。しかし、これだけでは充分でな
い。分離密度が増大するにつれて、新たな問題が発生し
始めている。
越え始めると、前記ソフトウェアモデリング方法Bに於
ても、設計エンジニアが最善の努力を行って「完全な」
試験ベクトルの組を作成したにも拘らず、最初のプロト
タイプAS I C22にステップ14bに於て作成さ
れた試験ベクトルが捕えることのできない少なくとも1
個の論理的故障が含まれる場合が約50%またはそれ以
上あることが分った。実際に使用される際にASIC2
2に適用される入力信号の組合せの数は、ゲート密度に
関連して指数的に大きくなり始める。従って、これら全
ての組合せを試験することは物理的に不可能になってい
る。
組合せの入力の組が適用される可能性が高いかについて
、適確に推定しようとしている。
ことが、試験ベクトルの完全性について言うことができ
る最善である。おそらく、故障が内側ル−プ試験ステッ
プ16bで見逃された場合には、そのプロトタイプ集積
回路をターゲットボード24に結合させて再びステップ
28で試験した場合に、内部「α」でのプロトタイプ集
積回路22の試験に於て検出されると期待される。試験
ステップ28で検出された論理故障の原因を決定し、ソ
フトウェアモデル12b内の適当な部分までその故障を
追跡し、m回変形ソフトウェアモデル12bmを分析し
、再設計しく18b)かつ2番目のプロトタイプチップ
22′に転換する過程は、上述したハードウェアモデリ
ング方法Aと同じままである。ソフトウェア開発方法B
のソフトウェア対ハードウェア転換ステップ20bを含
む外側及び内側ループが、全ての内部「α」テストが充
分に合格するまで繰り返される。
された場合には、それはおそらく「β」試験顧客によっ
て捕えられる。通常彼等は、独特のアプリケーション特
定ターゲットシステムに於て試験するためにn次のプロ
トタイプチップ221のサンプルを提供される高いレベ
ルの部外者達である。最悪の場合には、論理故障がα試
験及びβ試験に於て発見されず、製造開発サイクルの更
に後に於て、最終ASIC22’より後のASICが市
場に既に分配された段階に於て、一般頭客によって該A
SICの動作中に予期しない「バグ」が発見される。こ
れは、高密度ASIC開発者が最も恐れるところであり
、是非とも防止したいものである。「バグ」を有するA
SICを汚染したASICと取り換えることは重大な費
用がかかる。
グ」で悩まされた場合には、新しい技術及び/または開
発者に対する信頼を失う傾向がある。
故障を見つけ得る信頼性の高い手段がない場合には、開
発者は高密度チップの設計に消極的になる。このような
姿勢は当該技術分野の発展を遅らせる。従って、これは
ICのゲート密度が以前と同様に急速に上昇し続ける場
合には、解決しなければならない問題である。
フトウェアモデル12bをプロトタイプIC22に転換
するステップ20bの時間が非常に長くなっていること
が分った。ソフトウェアモデル−プロトタイプ転換ステ
ップ20bは設計開発時間を短縮するための重大な障害
物となっている。
を逃すことになる。
度を速くする試みが行われている。しかしながら、この
方法は問題の原因を捕え損なっている。問題の真の原因
は、後端のソフトウェア−ハードウェア転換ステップ2
0bにあるのではなく、組み立てられたプロトタイプA
s I C22がターゲットシステムボード24に於て
所望の性能を発揮するようにするための「完全な」試、
験ベクトルの組を設計エンジニアが作成する前端のステ
ップ14bに存在する。ソフトウェアに基づく内側設計
ループ(ステップ12b、14b、16b。
るべきターゲットシステム24との間に結合点はない。
た後まで、ターゲットシステム24とASIC設計(モ
デル12b)との非互換性を発見することができない。
うな問題を克服することを目的とする。
イプモデルとターゲットシステムとの間の結合が有利で
ある理山について理解することが有益であると思われる
。ターゲットシステム24の複雑さは、高密度ASIC
の複雑さの増大と共に徐々に増大している。設計エンジ
ニアにとっては、プロトタイプ組立てステップ20bの
以前に、ステップ14bに於て「完全な」試験ベクトル
の組が作成されていることを確かめることが非常に難し
くなっている。理想的には、ソフトウェアに於てASI
Cと全ての実行可能なターゲットシステム24との間で
可能な全ての関係をシミュレートして、プロトタイプA
s I C22が組み立てられる前に開発中ASICの
起こり得る全ての故障モードを検出し得るようにするの
は、「完全な」試験ベクトルの組である。しかしながら
、現在のターゲットシステムは非常に複雑であって、A
SICとそのターゲットシステムとの間で開発し得る全
ての関係を予見することはほとんど不可能である。
理装置(CPU)24aの周囲に構成される複合「オー
プン−アーキテクチュア」マイクロコンピュータとする
ことができる。このようなオープン−アーキテクチュア
ターゲットシステム24によって、試験ベクトル作成ス
テップ14bに新たな次元が加えられる。オープン−ア
ーキテクチュアターゲットシステム24は拡張可能であ
る。これは、ASIC開発者以外の第3者によって供給
される場合がある新しいハードウェアまたはソフトウェ
アをターゲットシステム24に付加してその能力を拡張
し得ることを意味する。或るASIC開発者の内部試験
エンジニアが、別のハードウェア/ソフトウェア開発者
(第3者)の拡張ハードウェア及び/またはソフトウェ
アについて充分な知識を持っていない場合に、ステップ
14bに於ける完全な試験ベクトルの組を構成するもの
を決定することは極めて困難である。
り複雑なターゲットシステムが考えられるにつれてより
悪化すると考えられる。内部試験段階に於て情報のギャ
ップが広がると予想される。
取るに足らないものにする方法及び/または装置が一層
必要となっている。
な試験ベクトルの組を作成する際の上述した問題と平行
して、別の問題が発生し始めている。ターゲットシステ
ムの設計が固定されている(非拡張的である)場合でさ
え、ターゲットシステム24内の全ての要素について完
全な仕様を得ることは不可能である場合が多い。例を挙
げると、ターゲットシステム24には、米国テキサス州
オースチンのモトローラ・コーポレイション(Mot。
30(登録商標)や、米国カリフォルニア州すンタクラ
ラのインテル・コーポレイション(Intel ・C
。
登録商標)のようないわゆる「複合第31!!代」マイ
クロプロセッサ24aが含まれる。このような所有マイ
クロプロセッサの全動作モードをソフトウェアAs I
Cモデル12bのソフトウェア環境内で完全にシミュ
レートすることは極めて困難である。
めに内部設計エンジニアがステップ14bに於て作成し
た試験ベクトルが「完全」なものでないという重大な危
険が存在する。試験ベクトルが完全でない場合には、内
部ループ試験ステップ16bに於て未製造ASICプロ
トタイプ22が適正に設計されたターゲットボートCP
U24aと互換性を何するかどうかを確実に知ることが
できない。
な全動作特性が分っていないという別の問題がある。例
を挙げると、初期仕様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との間には全
く結合点がない。
めに、前記ウィッドーズ導入方法が第1図に於てステッ
プ30bとして示されている。
方法と共に平行な手法が存在することを説明すべきであ
る。試験ソフトウェアをハードウェア12aのハードウ
ェア環境内に導入することができる。これが第1図のス
テップ30aによって示されている。複合予備開発マイ
クロプロセッサの動作をエミュレートするデバイスであ
るいわゆる「回路内CPUエミュレータ」が、ターゲッ
トボード24内の制御CPU24Hの位置に、またはブ
レッドボーディングモデル12aを支持する汎用テスト
ベツド内に挿入されている。前記回路内CPUエミュレ
ータは、置き換えられたCPUと等価の「ブラックボッ
クス」として機能し、かつ更に利用者に対して、ソフト
ウェア制御区切り点を設定し、ソフトウェア制御試験信
号をCPUエミュレートデバイスを介してターゲットボ
ード24内に注入し、かつエミュレートされた前記CP
Uの内部状態を点検する能力を与える。
国カリフォルニア州のインテル・コーポレイションから
市販されているものがある。その−例は、インテル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 )の各明細書に記載されている。
たものに過ぎない。
設計エンジニアはハードウェアモデル12aの内部動作
を中断させる手段またはハードウェアモデル12a内部
の内部点の論理状態をモニタする手段を得ることができ
ない。従って、ソフトウェアモデリング方法Bによって
得られるのと同程度の柔軟性が得られない。更に、その
ハードウェア元来の性質及び特定の予め指定されたCP
Uへの組付けのために、前記回路内エミュレータの手法
30aによっては、異なるターゲットシステム24(異
なるCPU24a及び他の複合要素で構成され得る)と
その結果であるプロトタイプASIC22との間で完全
な互換性を確保するために、ステップ14に於て「完全
な」試験ベクトルの組を作成するための完全な汎用手段
が提供されない。
ターゲットシステム間に於ける互換性を確保するための
「完全な」試験ベクトルの組を生成することは、依然と
して問題である。ハードウェア見本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−刺激)
は、シリアルに伝送可能な入力ビットに変換されると好
都合であり、これらは、前記ソフトウェアモデルのソフ
トウェアシミュレート入力ピン(「バーチャル」入力ピ
ン)を支持しているソフトウェアモデルメモリ手段(即
ちパーチャルピンレジスタ)にシリアルに伝送される。
に変換(即ち、前記パーチャルピンレジスタ内にシフト
させることによって)すると好都合であり、そのような
パラレル形で前記ソフトウェアのモデルの前記バーチャ
ル入力ピンに向けて送られる。
ピンに於て)作られた出力ピン状態(ターゲット−刺激
)は対応させて連続伝送可能に出力ビットに変換され、
かつこれらは前記リアルピンレジスタ手段に連続的に送
られる。連続的に受信された出力ビットはパラレル形に
変換され、かつリアルピンバッファレジスタ手段等に最
初に記憶されると好都合である。所定数の出力ビットが
受信されかつリアルピンバッファレジスタ手段内に記憶
されると、記憶された出力ビットはパラレル形で前記リ
アルピンレジスタ手段に送られ、かつそこから前記ピン
ダミーに向けて、同時に前記ピンダミーの「リアル」出
力ピンを前記ソフトウェアモデルによって作られる出力
ピン状態を表わす電気的状態に駆動するような適当な手
法で送られる。
ーム(即ちワークステーション)との間に於けるバーチ
ャル及びリアル入力/出力ピン状態情報の交換は、実時
間の形でまたは疑似実時間の形で発生する。疑似実時間
信号交換方法が使用される場合には、ターゲットシステ
ムをその本来の速度より遅い速度で1つ進ませるか、ま
たは前記ターゲットシステムのタロツクを別の方法でゆ
っくりと運転されるASICモデル(即ちソフトウェア
モデル)と前記ターゲットシステムを動機させた状態に
するような手法で遅らせる。
全速力で運転することができ、かつ前記ASICモデル
のハードウェアプラットフォーム(即ち、ソフトウェア
モデルを支持するコンピュータハードウェア)が、前記
ターゲットシステムのクロックと同じ速度で前記ASI
Cモデルが進むことができるような充分な速度で操作さ
れる。
のシミュレーション及びバーチセル/リアル状態の交換
は、実時間または「略実時間JASIC/ターゲットイ
ンタラクションが見られるように少なくとも毎秒100
0ビツトの刺激/応答情報が前記バーチセル/リアルピ
ン鏡面構戊の中を通過し得るような充分な速度で行うべ
きである。
3分以内)内に、数千または数百万と言わないまでも少
なくとも数百の順次バイトがASICモデルとターゲッ
トシステムとの間で交換されるべきことを意味する。前
記ASICモデルとターゲットシステムとの間に於ける
バーチセル/リアルビン情報交換(刺激と応答)の周期
は、1ミリ秒以下程度であると好都合であり、1マイク
ロセ力ンド以下程度であると一層好都合である。
間内にASICモデルと決定論的または非決定論的ター
ゲットシステムと緊密に粘合されたインタラクションを
観察できるようにすべきである。「非決定論的」とは、
システムが必ずしも同じ結果を何度も繰り返して生じな
いことを意味する。後者の非決定論的ターゲットシステ
ムの刺激一応答時間は、非決定論的インタラクションが
観察される場合には、ピン状態ミラーリング手段と組み
合わされたASICモデルの刺激一応答時間と等しいか
またはそれより大きくすべきである。
応答」または「ターゲット−刺激」/rLsIc一応答
」等の」二連した対の語は1次/2次の順序を意味する
ものではない。これらの語は単にASICモデルの入力
/出力信号と対応するターゲットシステムの出力/入力
信号との間に於ける両方向性の原因/効果関係を表わし
ている。
が先に来るかの問題は、特定のASIC/ターゲットの
組合せの設計に依存する選択の問題であり、これは設計
者に委ねられている。本発叩の別の面によれば、ASI
Cモデルはソフトウェアモデル部分とハードウェアモデ
ル部分双方を含むように形成される(即ち、Al5Cモ
デルはAsIC設計の1部分のソフトウェアモデルとA
sIC設計の別の部分のハードウェアモデルとの組合せ
として即ちハイブリッドモデルとして形成される)。
ードウェア論理要素(即ち、ANDゲート、ORゲート
、インバータ、フリップフロップ、マルチプレクサ等)
を郭定し、かつハードウェアモデル部分に形成されるべ
き信号ルーティング線を郭定する第1ソフトウエア情報
がプログラマブル論理デバイスのアレイに送られて、そ
のように定義されたASICモデルのハードウェアモデ
ル部分をハードウェアに於てエミュレートする回路に前
記PLDアレイを形成する。前記PLDアレイはピンダ
ミーによって直接ターゲラ!・システムに結合されてい
ると好都合であるが、前者は後者に対してパーチャルピ
ン/ノード−レジスタ対リアルピン−レジスタ鏡面構成
によって結合させることができる。このパーチャルピン
/ノード−レジスタは、後述するようにプログラム可能
に定義可能なASICモデル(擬似ASIC)のパーチ
ャルピン及び/またはバーチャルノードを支持するメモ
リ手段である。
前記バーチャルASICのハードウェアモデル部分内で
ランダムアドレスノード(試験点)をモニタするための
塊込論理アナライザ手段をPLDハードウェア内に郭定
する。このPLD実行ハードウェアーエミュレーション
方法が、比較的高速度で(即ち、1マイクロセカンドま
たはそれ以下のサイクル時間で)ターゲットシステムと
相互に作用するべきASICモデルの部分について続け
られると好都合である。先に記載したソフトウェア−シ
ミュレーション方法(パーチャルピンまたはノードがソ
フトウェアモデルに於て郭定される)が、高速度でター
ゲットシステムと相互作用する必要のないASICモデ
ルの他の部分について続けられると好都合である。
レベルモデル部分(即ち全体)が細分化され、かつ適当
な平行プログラミングによって前記ASICモデルのマ
ツプ即ち写像部分(または全体)をプロセッサのマツシ
ブパラレルアレイ内で同時にシミュレートするために前
記マツシブパラレルアレイ内に写像される。ASICモ
デルの平行シミュレート部分が、後述するようにピンダ
ミー及びパーチャルピン−レジスタ対リアルピンレジス
タミラー構成を介してターゲットシステムにタイトカプ
リングされる。
ダム選択ノード(試験点)をモニタするため及び試験信
号をそれと同じまたは他の所望のノードに注入するため
に前記平行プロセッサシミュレータ内に郭定されると好
都合である。高速シリアル通信リンクを用いて、前記ピ
ンダミーのリアル入力/出力ピンと前記ASICモデル
のバーチセル入力/出力ピンとの間で情報を交換すると
好都合である。1ミリ秒以下の情報交換時間が好ましく
かつ単一の各交換サイクルについては1マイクロセカン
ド以下であれば一層好都合である。
によって、前記ピンダミーに於けるリアルピンの論理状
態と前記パラレルプロセッサアレイによってシミュレー
トされるパーチャルピンの論理状態との間に実時間(ま
たは擬似実時間)の鏡像(またはそれと等価)関係が生
じる。
間のインタラクション(後者は全体としてまたは部分的
に、(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と
そのターゲットシステムとの間に於ける粗雑な非互換性
を甲、明解法することによって実現するべきである。
前記ソフI・ウェア具体化定義(この定義はソフトウェ
アモデル、前記PLDアレイのコンフィグレーションデ
ータ及び、フオンノイマンプラットフォーム、マツシブ
パラレルプロセッサブラットフオームまたはPLDハー
ドウェアアレイの内の2つまたはそれ以上を互いにプロ
グラム可能に連絡するために使用される連絡データのい
ずれかまたはそれらの全てからなる)が、細分されて複
数のワークステーション間に分配される。これらのワー
クステーションは、互いに連結され、かつ/または、複
数のワークステーションの個々の情報パケットを一績に
し、かつこれらのパケットをピンダミーを介してそのリ
アルピンに、該リアルピンの論理状態がネットワーク分
配ASICモデルのバーチャルインターパッケージピン
の論理状態と実質的に同等になる(またはその逆)よう
な手法で連絡する1個または2個以」二のシリアル通信
ネットワーク(即ち、いわゆるLAN (ローカル・エ
リア・ネットワーク))を介して、1個または2個以上
のピンダミーに連結される。ここに於て、バーチャルイ
ンターパッケージ(lnLerpackage)ピンは
バーチャルイントラパ、ツケージ(1nLrapack
aLe)ピンと区別される。以下の記載の於て「フラク
ショナルノード」と称される後者の型式のパーチャルピ
ンは、ASICモデルを細分化された小部分(フラクシ
ョン)に区分けするため、及び細分化された前記部分を
互いに連結するために使用される。
ネットワーク結合アレイの個々の異なる部分及び/また
はパラレルプロセッサのアレイに分配されると、各AS
ICフラクションの対応する「ノードフラクション」
(区分は作用によって小部分に分割されたノード)に於
ける状態のリアルタイム(または擬似リアルタイム)複
写によって、各フラクションが他のフラクションと依然
として直接に結合(ソフトウェアまたはハードウェアに
於て)されているかのように動作するような状態が作ら
れる。ASICモデルの定義(ソフトウェア/ハードリ
ニア記述)がそのように細分され、ネットワークに分布
され、かつ各フラクションの対応するノードフラクショ
ンの状態を反射することによって再結合されると、或る
開発者が第1の開発位置に於て前記ASICモデルの或
る部分を設計/開発することが可能となり、他方第2の
開発位置に於て別の開発者が同時に前記ASICモデル
の別の部分について作業することができる。それぞれに
異なる位置に配置された異なる開発者の結合させた作業
結果を集めて、更に別の位置に配置することができるタ
ーゲットシステムに対して、それらの各フラクションを
1個または2個以上のパーチャルピン/ノードレジスタ
を対応(リアル)ピンレジスタミラー構成によって連絡
し、かつそのようなビンレジスタ組合せ(リアルタイム
または擬似リアルタイム)の状態を1個または2個以」
二のピンダミーを介して共通のターゲットシステム内に
投影させることによって試験することができる。
部分的に、ピンダミーを1個または2個以」二の(ネッ
トワーク連結)フォンノイマン型ワークステーション、
PLDアレイ及び/またはパラレルプロセッサのアレイ
と結合させることによって実現される。ソフトウェアコ
ンフィグラブル連結手段を用いて、これらのモデル支持
体の1個または2個以上を前記ピンダミーにプログラム
可能に連結し、それによって前記ASICモデルの全体
設計を定義することができる。好適には、1個または2
個以」二の高速シリアル通信リンク(それぞれにパラレ
ル対シリアル及び対応するシリアル対パラレルピットス
トリーム変換手段の組を有する)を用いて、前記各モデ
ル支持体(ASICエミュレータ/シミュレータ)を連
結し、かつそれによってそのような連結に必要なワイヤ
の数を最小にする。情報交換が、ピンダミー」二のリア
ルピンの論理状態及び前記ASICモデルに於ける対応
するパーチャルピンの論理状態を互いに実質的な複製に
するために、1個または2個以」−のシリアル通信リン
クを介して生じる。
がASICエミュレータ装置と粘合される。このASI
Cエミュレータ装置は、(a)前記リアルピンの1個ま
たは2個以」二のターゲット被駆動ピンと結合された入
力端子を有し、ソフトウェアモデルのソフトウェアシミ
ュレート入力ピン(バーチャル入力ピン)に於て反射さ
れる(複製される)べき状態であって、前記ターゲット
被駆動リアルピンに現われる1個または2個以」二のタ
ーゲット発生入力状態を表わす第1デジタルデータをタ
ーゲットシステム、から受は取りかつそのメモリセル内
に記憶するためのリアル入力レジスタ手段と、(b)前
記リアルピンの1個または2個以」二のターゲット駆動
ピンと結合された出力端子を有し、前記ピンダミーのタ
ーゲット駆動リアルピンを介して前記ソフトウェアモデ
ルのソフトウェアシミュレート出力ピン(バーチャル出
力ピン)の状態を表わす第2デジタルデータをそのメモ
リセル内に記憶しかつ前記ターゲットシステムに送るた
めのリアル出力レジスタ平段と、(C)ターゲット駆動
及び/またはターゲット被駆動ピンとして予め選択され
た前記ピンダミーのリアルピンを指定するための方向指
定子段とを有する。
入力ビット(即ち、第1デジタルデータ)を受は取るま
で一時的に実行を停止させるためにかつ/またはターゲ
ットシステムをそれがソフトウェアモデルから所定数の
出力ビット(即ち、第2デジタルデータ)を受は取るま
で一時的に実行を停止させるために、前記ASICエミ
ュレータ装置内にソフトウェアモデル対ターゲットシス
テム同期手段を設けると好都合である。この実行停止に
よって、前記ASICモデル及びターゲラ!・システム
を互いに密接して動作させることができる。各情報交換
サイクルに於てターゲットシステムとASICモデルと
の間で交換される所定数の入力及び出力ビットは、特定
の動作の際に状態を変化させ得るリアル/パーチャルピ
ンを表わすビットのみが交換されるように最小にすると
好都合である。このような交換ビットの数を最小にする
ことによって、前記ターゲットシステムと前記ソフトウ
ェアモデルとの間に於ける情報交換速度を最大にするこ
とができる。この交換速度の最適化によって、ターゲッ
l−/ICUDトランザクション時間の短縮(好適には
トランザクション毎に実質的に約1ミリ秒以下)が促進
され、かつそれによって試験中の結合されたASICモ
デル/ターゲットシステムのコンフィグレーションに於
ける「バグ」 (設計」二の欠陥)の迅速な識別が可能
になる。
びその中に投影されるソフトウェアモデルとの組合せに
於て、前記ASICチップが組み立てられかつさまざま
な多くのエンドユーザに分配された際に最終的に直面す
るであろう広い機能的環境との可能な全てのインタラク
ションに対して前記ソフトウェアモデルを曝すために、
ターゲットシステムに於て実行される市販ソフトウェア
(即ち、第3者によって製造されるアプリケーションプ
ログラム)のさまざまなパッケージを用いて、適度に可
能な限り多くの機能的モードによって進ませると好都合
である。前記ターゲットシステムが第3者によって製造
された拡張ハードウェアを挿入するための拡張スロット
/ソケットを何する場合には、このような拡張ハードウ
ェアの合理的に予想し得る全ての入換えは、適当なアプ
リケーヨンプログラムによって挿入されかつ操作される
べきである。従って、開発中の前記ASIC(まだプロ
トタイプとして組み立てられていない「バーチャル」デ
バイス)には、該ASICの開発者以外の者によって開
発された広範囲のアプリケーションソフトウェア及び前
記ターゲットシステムに於て使用するために第3者によ
って開発された広範囲の複合ハードウェア(所1’ji
’AsIcを含む)と相互作用させる機会が与えられる
。バーチャルデバイス(ICUD)とそのターゲットシ
ステムとの間に於ける僅かな非互換性を発見することが
でき、かつその非互換性の存在理山をIll 1IJi
しかつプロトタイプチップを組み立てる前に補正するこ
とができる。
デルまたはそのソフトウェアモデル「部分」は、そのソ
フトウェア環堝内に於て、前記ソフトウェアモデル部分
の所望の内部状態をモニタし、所定のトリガ条件(クオ
リファイヤ)の作動時に前記状態に関する情報を収集(
データ捕捉)し、かつソフトウェア試験ベクトル(試験
パターン)を前記ソフトウェアモデル(またはソフトウ
ェアモデル部分)の各ノード(即ち、インターパッケー
ジ及びイントラパッケージパーチャルピン)に注入する
のに適した理込論理アナライザ/試験信号インジェクタ
手段と結合させると好都合である。狸込論理アナライザ
/信号インジェクタ手段とターゲットシステムからの実
際の入力信号との組み合わせを使用すると、前記ASI
Cについて意図された環境の実際の作業条件に対して前
記AS■Cモデルを暴露することが可能になり、かつ同
時に、前記ASICモデルの内部状態をモニタすること
が、そのようなモニタリングが望まれる場合に可能とな
る。
ア記述段階にある状態でターゲットシステムと前記I
CUDとの間の全てのインタラクションの関する完全な
情報を得ることができることが明らかである。前記ター
ゲットシステムが1個以」二のICUDを有する場合に
は、そのような未開発の全ICを」二連した技術のいず
れかまたはそれらの組み合わせによって同時にモデリン
グすることができ、かつICモデル(「バーチャル」デ
バイス)の相互間の及び前記ターゲットシステムの他の
部分(ハードウェア及びソフトウェア)との同時インタ
ラクションを、その対応するソフトウェア記述をプロト
タイプチップC(rリアル」デバイス)に変換する前に
検討することができる。
の部分または実質的に全体のゲートレベルのモデル(ま
たは他のハードウェア実施可能モデル)を表わすコンフ
ィグレーション情報が、プログラマブル論理デバイスの
アレイからなるハードウェアエミュレータに投影される
。プログラマブル論理デバイス、即ちPLDは、通常そ
の論理機能がソフトウェアプログラミングによって決定
され得るコンフィグラブル論理ブロック(CL B)と
、その信号方向がソフトウェアプログラミングによって
制御され得るコンフィグラブル入力/出力ブロック(I
OB)と、前記コンフィグラブル論理ブロック(CL
B)間及び/または前記入力/出力ブロック(IOB)
間に於ける信号のソフトウェア制御ルーティングのため
のコンフィグラブル連絡手段(即ち、ソフトウェア制御
マルチプレクサ)とを有する。このようなPLDはソフ
トウェアによって制御されて、ハードウェアに於て開発
中の前記ASICの所望のゲートレベルの部分または全
体でさえモデリングする(エミュレートする)エミュレ
ータを創成する。
つ全ての内部ノードを汎用PLD・IC内でモニタでき
ることが望ましいので、各PLD・IC(パッケージ集
積回路)の全体ではなく第1部分が、開発中のASIC
デバイス(ICUD)のゲートモデルの予め選択された
部分をエミュレートするために予約されると好都合であ
り、他方、3PLD・ICの第2部分が理込ハードウェ
ア論理アナライザ/試験信号インジェクタ手段の形成に
予約されると好都合である。この後者の手段は、その中
でエミュレートされるハードウェアモデル部分のランダ
ム選択内部ノードでの論理状態をモニタするため及び/
またはそのようなランダムアドレス可能ノードに試験信
号を注入するために、適当にコンフィグレーションソフ
トウェアによって構成し得るような充分な量のハードウ
ェア(即ち、アクセスピン、IOB、プログラマブル論
理ブロック及び連絡部)を有するべきである。
モデル部分は、ピンダミーを用いてターゲットシステム
と直接に結合(または上述したパーチャルピン−レジス
タ対対応(リアル)ピン−レジスタミラー技術を用いて
間接的に結合)することができる。ハードウェアモデル
部分、ソフトウェアモデル部分及びターゲットシステム
の組合せは、リアルタイムまたは擬似リアルタイムベー
スで動作させることができ、それによってPLD実行モ
デル部分をターゲットシステムの全作動環境に暴露させ
ることができ、かつターゲットシステムを未製造プロト
タイプIC(PIC)の全動作状態に暴露させることが
できる。
記理込論理アナライザ回路が、適当なソフトウェアによ
って、開発中デバイス(ICUD)のハードウェアモデ
ル部分内のランダムアドレス試験点をモニタするように
、かつ所望のトリガ条件の発生時にデータ収集動作をト
リガするように構成される。PLD実行ゲートモデルの
ユーザ選択(ランダムアドレス)試験ノードで生成され
たデータが、所定のトリガ条件(クオリファイヤ)の組
のいずれかが満足されると常に適当なメモリ手段に向け
て送られかつその中の記憶される。次に、記憶されたデ
ータは、例えば通信ネットワークによって前記PLD実
行モデルに連結されたワークステーションを介してアク
セスされ、かつ捕捉したデータを検討して前記ASIC
モデルがそのターゲットシステムと所望の方法で相互作
用しているかどうかが1′11断される。前記ASIC
モデルのハードウェアモデル部分及び/またはそれに結
合される前記抑込論理アナライザ回路は、必要に応じて
適当な再コンフィグレーション情報を(前記ワークステ
ーションから)前記PLDアレイに送ることによって変
更することができる。
ていないICLIDの部分は、適当なコンピュータプラ
ットフォーム(即ち、エンジニアリングワークステーシ
ョン)に於ける行動レベルのソフトウェアによって同時
にシミュレートすることができ、かつこれらソフトウェ
アシミュレート部分の動作特性は、ソフトウェアシミュ
レート部分に於ける「バーチャル」ピン/ノードの入力
/出力状態と前記ハードウェアエミュレート部分に於け
る「リアル」ピン/ノードとの間の鏡像関係を作ること
によって、」一連したようにPLD実行ハードウェアモ
デル部分と結合させることができる。
レイが前記ICUDの選択部分または全体の行動をシミ
ュレートするために使用され、かつ入力/出力状態がパ
ラレルにシミュレートされた前記I CUDの「バーチ
ャル」ピン/ノードとターゲットシステムとの間に於て
適当なピンダミーの「リアル」ピンを介して交換され、
それによって前記ICUDを「エミュレート」すること
ができる。
る。しかし、これらの実施例は単なる例示であって、本
発明の技術的範囲を制限するものではない。
路(ASIC)プロトタイプ122bを設計しかつ開発
するための方法Cのフロー図100が示されている。こ
の図示される方法Cによれば、未製造デバイス(以下「
開発中ICJまたは単にICUDと称す)によって発揮
される機能を有する初期仕様10が与えられ、かつソフ
トウェアモデル112bが、高住能ワークステーション
のような適当なソフトウェア支持プラットフォームに於
て前記仕様10に適合するように形成される。ソフトウ
ェア試験ベクトル114bを作成しかつ適用するステッ
プ及びハードウェア見本30bをソフトウェアエミュレ
ーション環境内に導入するステップは、必要に応じて」
二連したように行われる。回路内CPUエミュレータを
用いて試験ソフトウェアを導入するステップ30aは、
後の説明から容易に分かることであるが、ターゲットシ
ステムCPUを回路内エミュレータと単に置き換えるこ
とによって同時に行うことができる。
力ピン(図示せず)の論理状態を表わすソフトウェアモ
デル生成出力信号(ASIC一応答)が、ピンダミーの
「リアル」出力ピン(ターゲット駆動ピン)に於て前記
「バーチャル」出力ピンの論理状態を複製するように、
ピンダミー122aのリアルピン(rp)を介して同期
させてターゲットボード24*に投影される。これらソ
フトウェアモデル生成論理状態に対する前記ターゲット
ボードの応答(ターゲット応答)は、ソフトウェアシミ
ュレートモデル112bの「バーチャル」入力ピン(図
示せず)に於て「リアル」入力ピン(ターゲラ!・被駆
動ピン)の論理状態をピンダミー122a上に複写する
ように、ピンダミー122aの前記リアルピンを介して
同期させて前記ソフトウェアモデルに反映される。前記
ソフトウェアモデル112bはターゲットボード24*
の豊富な動作環境に暴露することができ、かつ前記ター
ゲットボードは同時に完全には開発されていないICU
D(ソフトウェアモデル112bとピンダミー122a
との組合せによってエミュレートされる)の動作状態に
同時に曝すことができる。
前記ICUDの設計に於ける機能の補正は、「リアル」
(ハードウェア)集積回路プロトタイプ122b(P
IC)がソフトウェアモデル対ハードウェアプロトタイ
プ変換ステップ120に於て組み立てられる前に、エミ
ュレートされたASICとその実際のターゲットシステ
ムとの間のインタラクションを分析することによって試
験(確認)される。ソフトウェアモデル112bの分析
及び再設計118は、その入力が1個または2個以」−
のターゲットシステム24*に於けるASIC受人ソケ
ットの豊富な環境を有する開発ループ内に存在する。タ
ーゲットシステムの「ハードウェア」は、数学的コプロ
セッサ(coprocess。
任意の拡張ハードウェアをターゲットシステム内に挿入
することによって、多数のターゲットを表わすように変
形することができる。更に、前記開発ループの入力は、
ターゲットシステムに於て実行するために開発されてい
るまたは開発された多数の第3者によるアプリケーショ
ンソフトウェアパッケージの豊富な「ソフトウェア」環
境を有することができる。
組み合わせによってエミュレートされた開発中デバイス
(ICUD)は、1個または2個以」二の複合ターゲッ
トシステム24*(即ち、ハードウェア及びソフトウェ
ア)の全動作条件に曝されるので、設計」二の欠陥(「
バグ」)が、設計/開発過程の全ハードウェア段階では
なくソフトウェア段階の初期に於て、開発中デバイス(
ICUD)が「シリコン」製プロトタイプ122b(P
I C)に変換された後に、捕えられる可能性が高い
。設計及び開発のための時間は、従来方法と比較して大
幅に低減させることができる。
行動レベルのモデリング技術によって定義することがで
き、かつその後にICUDの開発が進むにつれて、前記
ソフトウェアモデルはデバッグに付随していわゆる精密
ゲートレベル及びトランジスタレベルのモデリング技術
と表現されるように洗練することができる。前記ASI
Cモデルの開発が精密なトランジスタレベルの記述(即
ち同様の記述)に達するまでに、前記ΔSICモデルは
いわゆる機能上の設計バグがないようにしなければなら
ない。この場合、ソフトウェアモデル112bの最初の
プロトタイプ122bへの変換(ステップ120)は、
前記プロトタイプがバグを有しないように確実に実行す
ることができる。
トシステム24*に於てピンダミー122aに置き換え
られる(ステップ126)と、「ハードウェア」プロト
タイプ122bの前記ターゲットシステムとのインクラ
クションは、そのように開発されたトランジスタレベル
のソフトウェアモデル112bについて観察されるよう
なものと実質的に同じであるべきである。従って、ソフ
トウェアモデル−ASIC変換ステップ120が完壁な
場合には、時間を要するプロトタイプ組立てステップ1
20は、1回以」二実行しなければならないようにする
べきではない。機能」二の全バグは、プロトタイプ組立
ての前に根絶しなければならない。開発費用及び時間は
、従来方法のそれと比較して大幅に低減させることがで
きる。
ルシステムのノード間にミラー関係を実現し得る方法が
記載されている。第2B図は、互いにASESBの順序
で結合され、かつ3個の異なる開明りロックユニット、
C1ock A、 C1ock E。
異なる部分、Aブロック、Eブロック、Bブロックを有
する結合デジタルシステムが示されている。
ック受信端子154とを何する第1同期デジタルシステ
ム5DSAを有する。前記第1システム5DSAの出力
端子152は、そのビットが、クロックユニット、C1
ock Aによって生成されるクロックパルスの立」二
がリエッジが対応するAクロック線上に現われると、第
1フリツプフロツプFl内の内部記憶セル(ラッチ、図
示せず)内にロードされるようなデジタル出力信号を発
生する。
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ブロックの出力点を構成する。
の入力ノードNAIに現われる刺激に対して、そのよう
な刺激がAクロック線J−にクロックパルスの立」二が
りエツジが現われるとIH1時に供給されるのであれば
、応答するように構成することができる。このような刺
激に対する第1システム5DSAの出力端T−152−
にに出力信号として現われる応答は、Aクロックのそれ
に続く立下がりパルスエツジの後にAブロックの出力ノ
ードNA。
、即ちロー(立上がりエツジより以前)の状態で入力ノ
ードNAiに現われる論理レベルは、第1システム5D
SAの刺激として作用しない。
は、適当な時期に入力信号をノードNAIに印加しかつ
ノードNAoで出力信号を検出することによって検討す
ることができる。
ロツクはAブロックの構造に対して相補形、及び実質的
に同じ構造をh−する点に注口する。Bブロックは、ク
ロックユニット・、C1ock Bのクロックパルスを
第2同期デジタルシステム5DSr)のクロック受信端
子164に加えて、フリップフロップF4及びF5のク
ロック受信端子:二接続するBクロック線によって同門
化される。フリップフロップF4のQ出力端子は、第2
システム5DSBの入力端子160に刺激信号を供給す
る。フリップフロップF5のD入力端子は、第2システ
ム5DSBの出力端子162から応答信号を受は取る。
N旧は、第2システム5DSbの入力端子160に刺激
を供給するためにBブロックへの入力端子を構成する。
ノードNBoは、出力端子162の応答信号が検出され
るBブロックの出力ノードを構成する。第2システム5
DSBの刺激/応答特性は、適当な時期に入力信号をノ
ードNBIに印加しかつ出力信号をノードNBoで検出
することによって検討することができる。
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入力端子に開明的に送られる。
システム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ノードと言うことができる。
内に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クロック信号
との間には任意の(1′1.相関係を確立することもで
きるが、当然ながら0位相関係が好ましくかつ180度
位相関係は避けるべきである。足表可能な持続時間即ち
交換時間TEのデータ交換ウィンドウは、Aクロックの
立下がりエツジとそれに続くBクロックの立1−がりエ
ツジとの間またはその逆に於て郭定されるべきである。
価の論理レベルが確立されるように、交換ウィンドTE
内に於ける完全な情報交換を珂能とするように充分高く
なければならない。明確にするために、第2C図の各デ
ータ交換ウィンドTEには2個のパルスのみが示されて
いる。Eクロックの波形は、各データ交換ウィンドTI
Eに示される唯2個より多くのパルスで構成されること
は明らかである。また、各交挽つィンドTIEに於ける
Eクロックパルスの数は、Eブロック情報交換セクショ
ンに於けるデータシフト段(F2及びF7がこのような
段を郭定している)の数に尚接関係していることによっ
て、Eブロックに於けるシフト段の数が増加する場合に
は、各交換ウィンドTEにより多くのEクロックパルス
が要求されることは明らかである。
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ブロックの組み合わせをデバッグするために
は特に有利である。
ける鏡面関係は、第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ブロックのようなベータ交換手段を用いて検討する
ことができる。このような構成によって、システムの設
計−に大きな柔軟性が得られる。
300が示される第3図のブロック図によって説明され
るような特定の実施例を参照することによってより一層
理解することができる。第2D図は第3図を構成する芥
分割図その1、その2及びその3が結合される様子を示
している。
る「ターゲラI・部分J 300aと、AS■C設計の
ソフトウェア記述がロードされる「モデルサポー1・部
分J 300bとからなる設計/開発システム300が
示されている。パーチャルピン対リアルピンミラー技術
が適用されて、ASICソフトウェアモデルと最終的な
ASICチップが挿入されるべきターゲットハードウェ
アとの間にタイトカプリングが形成される。
設定仕様310(この仕様は読み取り可能な、粗雑また
は精密な設計基準のコンピュータの形態であってよい)
を形成することから始まる。
イトリカプルドICUD/ターゲット環境内で適当に識
別され得る全「バグ」が識別されかつ根絶されるまで進
められる。そして、実質的に「バグのない」プロトタイ
プAS I C322が、前記ASICのソフトウェア
記述を集積回路実施例に自動的に変換することによって
製造される(第3図に於けるrAsIc目標」)。
すれば、開発中デバイス(ICUD)の初期ソフトウェ
アモデル312が考案され、かつエンジニアリングワー
クステーション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−のリアルタイム速度で
前記ソフトウェアモデルを動作させ得るように充分小さ
くすべきである。
要に応じて粗雑にまたは精密に定五するように形成する
ことができる。粗雑かっ/または精密な言葉が意味する
ところの例として、ソフトウェアモデル12は、それぞ
れに開発中デバイス(ICUD)の各部分のいずれかに
対応するトランジスタレベルのモデル部分312a、ゲ
ートレベルのモデル部分312b及び行動レベルのモデ
ル部分312cのいずれかまたは全てを含むことができ
る。当然ながら、ICUDの全体が、そのように要請さ
れる場合には、単一の詳細レベルで定義することができ
る。当業者にとって明らかなように、「トランジスタレ
ベルのモデル」の語は、トランジスタ、抵抗等の基本的
構成要素がそれぞれ個々に定義されるような最終デバイ
スの比較的詳細な(精密な)記述について言っている。
ゲート、NOTゲート等のようなさまざまな論理要素の
プール動作が記述されているが、それらの内部トランジ
スタは記述されていないようなより高いレベルの回路記
述(中程度に精密)を言う。
の論理/ゲートアーキテクチュアは定義されていないが
、モデル部分の全体的な入力/出力行動が適当なソフト
ウェアによって記述されているような更により高いレベ
ルの記述(粗雑な)について言及している。
実施例に関して、最終的デバイス(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より大きい多数の入力/出力(パラメータを
有するより複雑な行動レベルのモデルは、当然ながら本
発明の意図する技術的範囲内に充分台まれる点に注意す
べきである。
第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の組と結
合され得ることが理解される。
精密な/粗雑な記述的部分(行動レベル、ゲートレベル
及びトランジスタレベル)に単に限定されるのではなく
、むしろこれらの語が連続する詳細なまたは粗94#な
モデル技術に沿って相対的な点を識別していることが理
解される。この連続性は、最終製晶(目標ASIC32
2)に於ける各要素(即ちマイクロセル)の粗雑な(詳
しくない)記述からその細かく詳細な(即ち拡散レベル
)記述まで延長しているとして特定することができる。
の中に含まれる。
れた時、その詳細部分(詳細な特徴)が後の時期(即ち
、後の設計/開発に於て)充填されるようになっている
「未熟にj作成された(ブロードプラッシュ)設計部分
を含む場合が多い。
て粗雑な(即ち行動)レベルで記述され、かつ次に時間
の進行と共に、最終的にソフトウェアモデル312のプ
ロトタイプAS I C322への自動的な変換が可能
となる程度に記述が充分に詳細になるまで、前記記述は
より詳細にされる。
リング方法が前記設計/開発過程を介して、ASIC記
述が最初に大まかに作成された点からASIC記述が詳
細に記載される点まで実行し得ることである。
に作成された際に、ターゲットシステムと粗雑に定義さ
れたソフトウェアモデル312との間に粗雑な非互換性
が存在する場合には、これらの非互換性は、そのような
設計/開発過程の開始点に於て、前記粗雑モデルの「ハ
ードウェア」イメージをピンダミーを介してターゲット
システムのハードウェアに投影することによって、かつ
ターゲットシステムと前記担々・ILモデルとの間のタ
イトリーカプルドインクラクションを誘発するように、
前記ターゲットシステムの1ソフトウエア」イメージを
同じビンダミーを介して前記ソフトウェアモデルのソフ
トウェア環境に相反的に投影することによって、暴露さ
れ、かつおそらくは根絶させることができる。基本的エ
ラー(即ち、不正確な設計」二の過程)は、初期ASI
Cモデルの未熟作成要素をより詳細に定義するべく時間
と努力が支払われる(おそらくは無駄骨になる)前に発
見しかつ補正することができる。開発時間は、設計/開
発の視点に於て基本的非互換性を識別することによって
大幅に低減される。
ムとモデルの間に於けるタイトカプリングが設計/開発
の視点に於て可能とされるので、ASICモデル及びタ
ーゲットシステムハードウェアの各「バーチャル」ピン
と「リアル」ピンとの間に於ける大まかなインタラクシ
ョンを即座に検討することができる。これによって、設
計エンジニアは主要な見落としを即座に識別することが
でき、それによって方向を誤った開発努力が防止される
。
、目標AS I C322は第3者によって製造された
または同時に製造されているソフトウェアアプリケーシ
ョンパッケージと共働させることが必要であるが、AS
ICの開発者がそのような第3者のソフトウェアについ
て充分な知識を持っていないのが現状である。例示のた
めに、問題となっている第3者のソフトウェアアプリケ
ーションパッケージが、その全てが相互に関連しなけれ
ばならない多数の3次元グラフィック処理機能を実行し
、かつ更に問題となっているASICが前記ソフトウェ
アパッケージ内に供給されるより遅いイメージ回転機能
の代わりに高速イメージ回転機能を実行するように設計
されるようになっていると仮定する。
記ソフトウェアパッケージが球座m (r、θ、φ)で
動作するようになっていることを知らずに、デカルト座
標(X% y”i z)でそのような回転を実行するこ
とを考えていた場合に、大きな非互換性が生じる。この
ようなデカルト座標によるASIC設計を球座標による
ソフトウェアパッケージと結合させようとすることは、
四角形の栓をむりやり丸い孔に入れようとする雪皿的な
問題と同類と考えることができる。プロトタイプASI
Cが製造された後まで基本的な非互換性が発見されない
ような設計/開発過程を行うことは全く好ましくないこ
とである。
または2個以上の行動レベルモデル部分によっておそら
くは粗雑にのみ記述しつつ、拡張的開発努力が既に支払
われ、プロトタイプASICが最終的にターゲットシス
テム内に組み込まれ、かつグラフィクスソフトウェアパ
ッケージが最初にASICとのタイトリーカプルド組合
せに於て実行される開発の末端に於てではなく、製造開
発の開始点に於てそのような非互換性を識別することが
できる。
ターゲット/ASIC設計非互換性が商業的に実際」二
発生するのかという点について高度に誇張された仮説で
あることが理解される。ターゲットシステムに於て実行
される機能の大まかな様子について少なくとも何等かの
知識を持つことなくチップを製造しようとする開発者は
いないであろう。しかし、ASIC/ターゲット非互換
性の問題はより微妙な形で表面化する。商業的に実際」
二は、例えばASIC開発者のグループが採用する統合
製造開発過程の開発者側に於けるメッセージハンドシェ
イキングプロトコルと、ソフトウェアパッケージ開発者
のグループが合同またはASIC追従ソフトウェア開発
過程のソフトウェアパッケージ開発者側に於て採用する
(−41yかに異なる通信プロクトコルとの間に予見し
難い誤った組合せが存在することが多い。
ションソフトウェアとの間の非互換性を最初に警告する
ことができる。ASICとアプリケーションソフトウェ
アパッケージの平行(合同)開発は、ASICモデル及
び対応するソフトウェアパッケージの双方が各開発サイ
クルの比較的初期にある場合でさえ始めることができる
。予見困難な不適合な組合せの9期発見は、バーチャル
ASICのハードウェアイメージとソフトウェアパッケ
ージのオブジェクトコード(ターゲットソフトウェア4
25)との双方を共通のターゲットシステム内に投影し
、かつそれらのタイトリーカプルド・インタラクション
を観察することによって可能となる。
バーチャルJASICと称する)は、そのシミュレーシ
ョン環境に於て、ソフトウェアモデル312の内部ノー
ド「バーチセル」試験点)313をモニタするため、及
び前記モデル内に同じまたは他の予め選択されたバーチ
セル試験点313に於てソフトウェア生成試験信号を注
入するために埋込(ソフトウェア形成)論理アナライザ
/試験信号インジェクタ手段314と結合すると好都合
である。この埋込論理アナライザ/試験信号注入手段3
14は、データ収集アクティビティ(データの捕捉)が
起こる内部条件(クオリファイヤ)を特定するためのト
リガ手段314aを有することができ、かつそのような
データを所望の試験点313から収集しかつ収集したデ
ータを分析のために記憶するための1個または2個以上
のデータ収集バッファ314bを−aすることができる
。
ティブにソフトウェアモデル312を定義し、埋込論理
アナライザ314のためにクオリファイヤ条件を設定し
、シミュレーションプランを開始し、かつ論理アナライ
ザ314によって生成される報告データを分析(第3図
に於てサンプルスクリーン挿入311cによって示され
るように)するために、キーボード311a及びデイス
プレィスクリーン311bのようなユーザーインタラク
ティブ入力/出力手段が設けられている。
PIC)322の各入力及び出力ピン(パーチャルピン
)312bの状態を表わと、前記ピンダミーにパーチャ
ルピンレジスタ手段316(または他の適当なメモリ手
段)が設けられている。
の論理状態が特定の動作モードに於て変化し得るような
予め指定された数、P=N+Mの能動ピンを有すると仮
定する。ここで、Nは前記特定の動作モードに於て入力
端子として機能するピンの数であり、かつMは該動作モ
ードに於て出力ビンとして機能するピンの数である。ワ
ークステーション311内の対応するパーチャルピンレ
ジスタ手段316には、各シミュレートマシンサイクル
について未製造目標デバイス322のN個の入力ピン及
びM個の出力ビン(パーチャルピン)の論理状態を記憶
するために充分なメモリ容量が与えられていると好都合
である。前記ソフトウェアモデルがASICプロトタイ
プのように「リアル」ピンを有していないにも拘らず、
当業者であれば、前記ソフトウェアモデルが、ASIC
チップパッケージの内部と外部との間に於ける情報の交
換を含む前記リアルピンのハードウェア動作をソフトウ
ェアに於てシミュレートする「バーチセル」ピン312
pを有するように定義(設計)できることが理解される
。ワークステーション311内の所定のメモリセルは、
前記リアルピンのシミュレート状態を表わす情報を記憶
することができる。このようなメモリセルは、第2B図
に示されるフリップフロップFl及びF8の情報記憶セ
ルに応答する。
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内で複写される。
に於て各入力レジスタ422f、出力レジスタ420o
、及び方向許可レジスタ422eを有するように記載さ
れている。)ASICモデル312に於ける「バーチセ
ル」出力ビットの表面コピーである「リアル」出力ビッ
トは、次に適当なピンダミー422のリアルピン422
aを介して同期的にターゲットシステムハードウェア4
24に供給される。
有するが、必要に応じて、更に三状態ドライバ(バッフ
ァ)422b、入力レジスタ422i1出力レジスタ4
22o、方向許可レジスタ422e、ビット交換バス4
22c、及び第2インターフェイス手段420のいずれ
かまたは全てを一体的に組み合わせるように設計するこ
とができる。図示されるように、これらの要素は互いに
連続して結合され、」二連した全ての要素またはそのい
くつかが、ピンダミー422のリアルピン422aを支
持するパッケージフレーム内に収容された図示されない
集積回路基板上に一体的に形成することができる。
出力」と指定しているが、この機能性は所望のあらゆる
ピンが双方向シグナルフローを支持するように動的に変
化させ得ることが理解される。
方向制御レジスタ422 (e) (R−direc
L)の前記ビットを変化させることによって実現するこ
とができる。ソフトウェアモデル312の対応するパー
チャルピンに於ける双方向性は、周知のプログラミング
技術によって具体化することができる。
作を一旦理解すると、該第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に送られ
る。
た機能を実行するために特別のハードウェアアトインボ
ードを結合させた特別のソフトウェアプログラムを、そ
のような特別なソフトウェア及び/またはハードウェア
を直接ワークステーション311内に挿入することによ
って、またはそのようにワークステーション311のア
ドオンネットワーク通信モジュール内に組み立てること
によって開発することが可能である。多くの場合には、
ソフトウェアによって第1インターフェイス手段320
を実行させる上記技術が最も経済的である。
フトウェアモデル312及び第1インターフェイス手段
320の組合せは、設計/開発システム300の「モデ
ル部分J 300dとして説明してきたものである。先
に述べたように、「ターゲット部分J 300aも同様
に設計/開発システム300全体に含まれる。このター
ゲット部分300aは、第3図に示されるようにモデル
部分300dに隣接させかつ粘合させて設けると好適で
あるが、必要に応じて、前記ワークステーションから離
隔して配置し、かつ該ワークステーションにローカルエ
リアネットワーク(LAN)または長距離通信ネットワ
ークを介して連絡することができる。
コンピュータシステムのプリント回路マザーボードであ
るターゲットハードウェア424と、前記ターゲットハ
ードウェア424に於て実行されるべき(第3図に於て
フロッピーディスクによって表示される)アプリケーシ
ョン・ソフトウェア425 (ICUDより先に開発さ
れたかまたは同時に開発されている)とを有する。
ターゲツト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及び拡張付加部分)との間
で行われ得る。
420は、好適にはR8−232,5C8I等のシリア
ル通信リンク340を介して第1インターフェイス手段
と双方向に通信し得るように適当に構成され、それによ
ってリアルピンレジスタ手段416の適当なピンにリン
ク40を介して供給されるN個の出力ピンビット(AS
IC生戊ピッl−)をロードし、かつピンダミー422
のピンを介して伝送しており、かつリアルピンレジスタ
手段416の対応する入力ピンに記憶されるビットから
なるターゲットハードウェア424から受信されたばか
りの新しいN個の入力ピンビットの組をリンク340を
介してソフトウェアモデル312に送り返す。
6は、入力レジスタR−input(422i)、出力
レジスタR−ou t pu t (422o)及び
方向許可レジスタR−direct(422d)とで構
成することができる。方向許可レジスタ422dの出力
端子はそれぞれサン状態ドライバ422b間の対応する
ドライバのサン状態出力許可端子に結合されている。出
力レジスタ422oの出力端子はそれぞれいずれかの三
状態ドライバ422bの対応する入力端子に結合されて
いる。三状態ドライバ422bの出力端子は、ピンダミ
ー(プローブヘッド)422に設けられたリアルピン4
22aの組の対応する1個または2個以上のリアルピン
にそれぞれ結合されている。
が最終的に挿入されるターゲットソケット424fに適
合するように適当に形成される。ピシダミー422のリ
アルピン422aは、更にそれぞれ入力レジスタ422
1の対応する入力端子に粘合されている。
スタ422 i、出力レジスタ422o、方向レジスタ
422e、及び相補形インターフェイス手段420のい
ずれかまたは全ては、リアルピン422aと共にピンダ
ミー422のパッケージフレーム(図示せず)内に一体
的に組み込むことができる。シリアル伝送ケーブル(シ
リアル通信リンク340)が、相補形インターフェイス
手段420とワークステーション311との間に両者間
に於けるデータをシリアルに交換するために延設されて
いる。
るように、前記ワークステーションからのM個の出力ビ
ットの受信を待ち、(機能420a)、受信したM個の
出力ビット(ソフトウェアモデル形成ターゲット−刺激
)を出力レジスタ422oの対応する出力ピンにロード
(機能420b)し、前記ターゲットシステムを所定数
(通常1)のターゲットシステムサイクルだけ進ませ(
機能420c) 、ターゲットシステム424からピン
ダミー422によって受信されたN個の応答入力ビット
(ターゲット応答)を抽出しく機能420d)、かつ次
に前記ソフトウェアモデル312からの次のN個の出力
ビットの組(ASIC応答)を待つように機能420a
にループして戻るターゲットシステム同期手段420a
〜420dが設けられていると好都合である。
に於て1度だけロードするのが奸ましく、かつその後に
特定の動作モードの所定のP =M+N個のみのノード
ビットがシリアル通信リンク340に沿って交換される
。このように交換ビットの数を所定の最小数Pのみに限
定することによって、リアルピンレジスタとパーチャル
ピンレジスタとの間に於ける情報交換に起因する遅れを
最小にし、それによってソフトウェアモデル312とタ
ーゲットシステム424.425との結合を可能にして
、それらの処理状態を迅速に循環させることができる。
より大幅に小さくなるように選択すると好都合であり、
かつ1マイクロセカンド以下であると一層好都合である
。
ウェアモデル312とターゲットシステム424.42
5との間に於ける情報交換を同期化させる唯一の方法で
あることが理解される。必要に応じて、各ASIC−刺
激待機機能とターゲット−刺激待機機能のいずれかまた
は双方を排除することができ、かつソフトウェアモデル
312及び/またはターゲットシステムのクロック周波
数を必要があると認められる場合には遅くし、または早
くして両者間に於けるデータ交換を同期させることがで
きる。
ーゲットシステムとの間に於けるデータ交換を自動的に
同期化させるために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)を付加する必要が全くない。
AS I Cエミュレータ回路500が示されている。
と結合された適当なシリアル及び/またはパラレルイン
ターフェイスポート(即ち、当該分野に於て基本的イン
ターフェイス手段として認められるいわゆる「小型コン
ピュータ基準インターフェイスJ (SC3I)ポー
トまたはR8−232ポート)と、8ビット幅エミュレ
ータパス520に結合された8ビット幅データボート(
Data)と、データ転送シーケンサに結合された8ビ
ット幅のアドレスポート(Addr)と、ピンダミー4
22のリアルピンとソフトウェアモデル312のパーチ
ャルピンとの間に於けるデータ交換を調整するための適
当なプログラムメモリ(図示せず)とを有するマイクロ
コンピュータ510からなると好都合である。
0と複数のビンモジュールM (a) 、M(b)、M
(c)、・・・との間に於て時分割多重式に情報を交換
するための共通通路として動作する。
(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)とを有する。
−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次レジスタとその対応するバッファレジスタ
またはリアルピンとの間で同次に転送される(パラレル
に)という意味に於てよりパラレルな性質を有する。
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に結合するために使用され
得る出力マツピングパターンでパラレルに同時にロード
することができる。
応する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個の入力線のそれぞれに
対応して結合されている。
時に現われるターゲット生成応答データ(全体としての
前記ピンダミーはモジュール的に所望の数のピンモジュ
ールを結合することによって形成される)は、データ転
送シーケンサ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に転送する。
ウェアモデル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)とについて同
じことを行うことができる。
の(規模縮小)ASICエミュレータ600を示してい
る。第4A図に対応する第4B図の素子は同じ参照番号
を付して表わされている。
ルポート640を介して5un−4ワークステーシヨン
に両方向に結合されたインテル(InLel ) 80
31 (登録開栓)マイクロコントローラ(米国カリフ
ォルニア州三タクララのインテル・コーポレイションか
ら市販されている)である。
ポートDがエミュレータ回路600の対応する8ビット
幅エミュレータデータバス620に結合されている。マ
イクロコンピュータ610の8ビット幅アドレスポート
Aがアドレスのための4Kx8EPROMメモリ615
に結合され、かつデータ転送シーケンサ(デコード及び
クロック回路)630を制御するために使用される高バ
イトアドレスレジスタL A RHに接続されている。
状態ドライバD1〜D8の出力許可端子−を制御するた
めの8ビット幅許可レジスタPERを有する。この許可
レジスタPERはモジュール初期化の際に1度だけロー
ドされ、かつその後にその状態に固定され続ける。また
、谷モジュールは、前記ピンダミーのピンからデータを
受は取るための8ビット幅入カレジスタPIRを有する
。
タは、対応する8ビット幅三状態バッファPIBを介し
て時分割多重でエミュレータデータバス620に出力さ
れる。各人カバッファPIBの出力許可端子OE及び各
許可レジスタPEHのデータロード制御端子LDは、概
ね上述したような手法でデータ転送シーケンサ630に
よって生成される適当なストローブ信号によって動作さ
せられる(ストローブされる)。シーケンサ630は、
低アドレスレジスタLARL及び高アドレスレジスタL
ARHに出されたコマンド信号を復調するため及び各モ
ジュールにストローブ信号を1共給するための適当な組
合せ論理手段(即ち、ゲートアレイ)によって形成する
ことができる。簡単化された実施例600の各モジュー
ルは、更にエミュレータデータバス620からの出力ビ
ットを、それらが出力レジスタPOR内に同時に(パラ
レルに)ロードされる時より以前にバッファレジスタP
ORBに時分割多重ロードするための出力バッファレジ
スタPORBを有する。
程の最初に於て行動レベルモデルまたは類似の粗雑なモ
デルによって定義される場合が多い。ASICモデルの
開発期間には、その或る構成要素がそのハードウェアエ
ミュレータに於けるエミュレーションを可能にするよう
に充分詳細に定義される時が来ることが理解される。A
SICモデルのゲートレベルモデル部分のハードウェア
エミュレーションは、コンフィグラブル論理ブロックC
LB、コンフィグラブル入力/出カブロックIOB及び
そのようなデバイスの連絡マトリックスの適当なコンフ
ィグレーションによってプログラマブル論理デバイス(
PLD)を用いて実行することができる。
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。
) 、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 )の各明細書に開
示されている。これらは、本発明の説明のために引用し
たものである。
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内にテストパターンを注入するた
めに使用することができる。
2以外の部分がそれほど詳細でないレベル、即ち行動レ
ベルで記述されていることから、前記他の部分は、引き
続いてソフトウェアに於て上述したように行動モデル要
X312cによってモデリングすることができ、かつこ
れらのソフトウェアモデル部分の対応するパーチャルピ
ン入力/出力状態をワークステーション711のパーチ
ャルピンレジスタ316から全体システム700のハー
ドウェア側700aにあるミラーリングリアルビンレジ
スタ416*に投影し、それによって静止ソフトウェア
実行ソフトウェアモデル部分312*をPLD実行ハー
ドウェアモデル部分712及びピンダミー422の双方
に結合させることができる。
で示されるように、元来第3図のゲートレヘル部分31
2としてソフトウェアに於て支持されるASICモデル
の部分がソフトウェア環境から除去され、かつ第5図の
ハードウェアエミュレート部分712としてハードウェ
アに於て再生されている。好適には、ハードウェアモデ
ル部分712は、最初に前記ターゲットシステムの高速
部分424 kとインターフェースしなければならない
前記ASICモデルの部分について実行(具現化)され
る。前記ASICモデルの新たに洗練された部分は、そ
の記述的レベルが開発中にゲートレベルにまで下りて来
るにつれて、ソフI・ウェアシミュレートモードからハ
ードウェアエミュレートモードに移動させることができ
る。これから、前記ASICモデルは容易にソフトウェ
アモデル部分及びハードウェアモデル部分に細分化(区
分け)することができ、かつその双方の動作が前記ピン
ダミーを介して結合し得ることが分かる。
ハードウェアモデル部分712への区分に於て、前記A
SICモデルの幾つかのノードが前記区分けによってそ
れぞれのソフトウェアノード小片部分SNF及びハード
ウェアノードフラクションINFに分割される。同様に
後の説明から分かるように、ハードウェアモデル部分を
ハードウェアサブ部分に区分する際に前記ハードウェア
モデル部分の幾つかの「ハードウェア」ノードを副分割
線によって2個またはそれ以上の対応するハードウェア
ノードフラクションINFに細分化しなければならない
。また、ソフトウェアモデルのソフトウェアサブ部分へ
の区分けに於ては、前記ソフトウェアモデル部分の幾つ
かの「ソフトウェア」ノードを、再び前記副分割線によ
って2個またはそれ以上の対応するソフトウェアノード
フラクションSNFに細分化しなければならないことが
分かる。ここで使用される「ノードフラクションJNF
の語は、一般に前記ASICモデルのいずれかの場所に
、その状態が互いにリアルタイム(または、擬似リアル
タイム)の鏡像(複写)であるような対応する第2ソフ
トウエアまたはハードウェアノードフラクション5NF
2 、HNF2を有する第1ソフトウエアまたはハード
ウェアノードフラクション5NFL /HNFIを一般
に指称している。
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−。
PLD IIOブロックを介してリアルピンレジスタ
416*にカプリングがなされる。行動レベルモデル3
12Cの内部パラメータdが、ランダムアドレス可能試
験点313をしてソフトウェア論理アナライザ314に
アクセス可能に示されている。ソフトウェアノードフラ
クション5NF−2が試験点313としてアクセス可能
である。ノードは、ASICモデル全体の各部分が区分
けされ、かつ/またはソフトウェアモデル部分からハー
ドウェア部分であるように変換されるにつれて、その特
性に応じて全体として1個の状態から分離された。しか
しながら等価のノードフラクションに、かつ「ソフトウ
ェア」から「ハードウェア」に切り換えられることが理
解される。更に、前記ASICモデル全体の各内部ノー
ドは、狸込分離アナライザ手段(即ち、314及び71
4)によってモニタするために依然としてアクセス可能
である。
記ASICモデルは、その行動レベル要素が、そのゲー
i・レベルモデル部分312b及びトランジスタレベル
モデル312aがPLDのアレイ870内に写像される
と同様の方式で、プロセッサ880のマツシブなパラレ
ルアレイ(それぞれにマイクロコンピュータモジュール
μC及びメモリモジュールM e mからなる)内に写
像し得るように、更に細分化し得ることが明らかになる
。
前記ASICモデルの予め選択した部分を高速度でシミ
ュレートするために使用することができる。前記ASI
Cモデルの或る部分は、必要に応じて、引き続きフォン
ノイマン型ワークステーション311*に於てシュミレ
ー1・される。ワークステーション311*には、パー
チャルピン/レジスタ手段316*が設けられ、かつ実
施例800には、パーチャルピン/ノードレジスタ31
6*によって支持される「ソフトウェア」ピン/ノード
と後者のレジスタ手段816によって支持される対応ピ
ン/ノードとの間にリアルタイム/疑似リアルタイム等
価関係を形成するように操作される対応ピン/ノードレ
ジスタ手段816が設けられている。このワークステー
ション311*は、前記I CUDのフォンノイマン型
ソフトウェアモデル部分をシミュレートしかつパーチャ
ルピン/ノードレジスタ手段316*及び対応ピン/ノ
ードレジスタ手段データ間に於ける鏡像関係を形成する
機能の他に、PLDアレイ実行ハードウェアモデル部分
870内の各試験ノード、またはパラレルプロセッサア
レイ実行行動モデル部分880内の各試験ノードのモニ
タリングを制御するための手段として使用することがで
きる。更に、適当な論理アナライザ/試験パターンイン
ジェクタ手段が、予め特定されたクオリフィケーション
時間にデータを捕捉しかつ捕捉したデータを後で分析す
るためにワークステーション311*に送るために、パ
ラレルプロセッサアレイ880のソフトウェア/ハード
ウェア環境内に設けられている。前記ASICモデルの
フラグメント部分間の連絡は、マルチプレクサ822(
格子」二の連絡網として概略図示されている)のソフト
ウェア応答アレイまたは他の適当な信号通信手段を用い
て形成される。
対応ピン/ノードレジスタ平段816、PLDアレイ8
70及びパラレルプロセッサアレイ880を互いに選択
的に連結し、かつ更にピンダミー422から延出するへ
その賭ケーブル422uに、かつ更に、シリアル/パラ
レル変換手段820に連絡されている。各部分820.
822.816.870.880は、第6A図に於てハ
ードウェア/ソフトウェアモデル部分支持プラットホー
ム(H/S−MPSP)800aに属するように記載さ
れている。
ションの対応するパラレル−シリアル変換手段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図に示されている。
タ手段816に記憶されるピン状態がピンダミー422
上のリアルピン422aの全状態に対応させなければな
らない必要はない。むしろ、対応ピン/ノードレジスタ
平段816のメモリセルは、設計/開発システt、80
0全体のいずれかに含まれ(支持され)でいるハードウ
ェアまたはソフトウェア、かつ全体または区分されたノ
ードに結合させることができる。リアルピン情報rpi
かへその緒ケーブル422を介して往復され、ピンダミ
ー422のリアルピン422aとH/S−MPSP80
0a及びワークステーション311*の双方またはいず
れかから支持される図示されない対応ノードフラクショ
ンとの間にミラー関係を創成する。
る情報パケット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。
424A〜424Cの応答が同様にワークステーション
311A〜311CとH/SMPSP800aとの組合
せ(必ずしもそれぞれではない)によって支持される複
数のASICモデルを反射することができる。
体としてまたは部分的にソフトウェアモデル部分/また
はハードウェアモデル部分によって定義される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受入れソケットに於て形
成することが可能となる。
て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のハードウェアエミュレートサブモデル部分内の
「リアル」ノードのいずれかの論理状態を表している。
れたサブモデル支持プラットフォーム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に接続さ
れている。
及び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によって制御され
る。
xのノードレジスタ(1個のセル、NFR−0のみを図
示)間で発生する情報交換は別として、台支持プラット
フォームの2次情報交換レジスタ即ちIER−1/1〜
I ER−2/1間で更に情報交換が行われ、それによ
って対応する谷サブモデルに於てビンノード以外の区分
ASICノードの状態が複写される。
iにいる設計者がASICモテルモデルる部分を開発す
ることができ、かつこれらの設計者は、他の設計者が比
較的遠隔に付置する場合でさえ、対応する他の設計者の
開光中の部分と結合させることができ、それによって開
発中の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)開発予定集積回路の物理的ピンに結合させるため
の所定のピン結合点を有するターゲットシステム内に挿
入されるべきアプリケーション特定集積回路(ASIC
)を開発するための方法であって、 前記開発予定集積回路のソフトウェアモデルを創成する
過程と、 前記ソフトウェアモデル内のノードをバーチャルピンノ
ードとして指定する過程と、 前記バーチャルピンノードの所定のピンノードをバーチ
ャル入力ピンノード及びバーチャル出力ピンノードとし
て指定する過程と、 前記ソフトウェアモデルを所定数のサイクル操作させて
、その前記バーチャル出力ピンノードに於ける論理状態
を生成させる過程と、 前記バーチャル出力ピンノードの前記論理状態を表わす
出力信号を前記ターゲットシステム内の前記ピン結合点
の対応する入力ピン結合点に送る過程と、 前記ターゲットシステムを所定数のサイクルステップ操
作させて、前記ターゲットシステム内の前記ピン結合点
の所定の出力ピン結合点の論理状態を生成させる過程と
、 前記ターゲットシステムの前記出力ピン結合点の論理状
態を表わす入力信号を前記ソフトウェアモデルの対応す
るバーチャル入力ピンノードに送る過程とからなること
を特徴とするASIC開発方法。 - (2)所定の1個の前記バーチャルピンノードの指定を
或る入力・出力機能から他の入力・出力機能に変更し、
それによって前記所定のバーチャルピンノードに両方向
シグナルフロー機能を与える過程を更に含むことを特徴
とする第1請求項に記載のASIC開発方法。 - (3)未開発ASICと該ASICが挿入されるべきタ
ーゲットシステムとの間のインタラクションをエミュレ
ートするためのASICエミュレータであって、 開発時に前記ASICのモデルを作るためのソフトウェ
アモデリング手段と、 前記ターゲットシステムによって生成されるASIC入
力信号を受信し、記憶しかつ出力するための入力レジス
タ手段と、 前記ソフトウェアモデリング手段によって生成されるA
SIC出力信号を受信し、記憶しかつ出力するための出
力レジスタ手段と、 前記入力レジスタ手段内に記憶された前記ASIC入力
信号を前記ソフトウェアモデリング手段に送り、かつ前
記ソフトウェアモデリング手段に生成されるASIC出
力信号を前記ターゲットシステムに送るためのデータ交
換同期手段とを備えることを特徴とするASICエミュ
レータ。 - (4)前記ターゲットシステムの前記未開発ASICを
挿入するべき位置に挿入され、かつ前記ソフトウェアモ
デリング手段と前記ターゲットシステムとの間で交換さ
れる情報を連絡するように前記ソフトウェアモデリング
手段と前記ターゲットシステムとの間に配置されるピン
ダミーを郭定する組合せリアルピンを更に有することを
特徴とする第3請求項に記載のASICエミュレータ。 - (5)集積回路を設計しかつ開発するための方法であっ
て、 ソフトウェアに於て開発中の前記集積回路の行動レベル
モデルを定義する過程と、 ソフトウェアに於て前記低開発中の集積回路のリアルピ
ンを表わすバーチャルピンノードを定義する過程と、 前記低開発中の集積回路の前記リアルピンに対応するリ
アルピンを有するピンダミーを設ける過程と、 前記ピンダミーの前記リアルピンの状態を表わ すデジ
タル情報を記憶するためのリアルピンレジスタ手段を設
ける過程と、 前記バーチャルピンノードのソフトウェアシミュレーシ
ョン論理状態と前記ピンダミー上の前記リアルピンの論
理状態との間に鏡面関係が確立されるように、前記リア
ルピンレジスタ手段と前記バーチャルピンノードを支持
するメモリセルとの間で情報を交換する過程とからなる
ことを特徴とする集積回路の設計開発方法。 - (6)異なる開発位置に於て単一の集積回路の異なる部
分を開発するための方法であって、 前記集積回路をモデル部分に区分けする過程と、ハード
ウェアまたはソフトウェアに於て、異なる位置で前記集
積回路の前記モデル部分をモデリングする過程と、 前記モデル化部分の各部分からピン情報を集めるための
リアルピンレジスタ手段を設ける過程と、前記リアルピ
ンレジスタ手段の論理状態と前記集積回路の前記モデル
化部分のバーチャルピンノードの論理状態との間に鏡面
関係を確立するように、前記モデル部分の前記バーチャ
ルピンノードと前記リアルピンレジスタ手段との間で情
報を交換する過程とからなることを特徴とする単一集積
回路の開発方法。
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)
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)
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)
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 |
-
1990
- 1990-07-11 EP EP90201869A patent/EP0410502B1/en not_active Expired - Lifetime
- 1990-07-11 DE DE69030792T patent/DE69030792T2/de not_active Expired - Fee Related
- 1990-07-27 JP JP2201091A patent/JP2731021B2/ja not_active Expired - Lifetime
Cited By (3)
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 |