JP2002526908A - ブロックをベースとする設計方法 - Google Patents
ブロックをベースとする設計方法Info
- Publication number
- JP2002526908A JP2002526908A JP2000572780A JP2000572780A JP2002526908A JP 2002526908 A JP2002526908 A JP 2002526908A JP 2000572780 A JP2000572780 A JP 2000572780A JP 2000572780 A JP2000572780 A JP 2000572780A JP 2002526908 A JP2002526908 A JP 2002526908A
- Authority
- JP
- Japan
- Prior art keywords
- design
- circuit
- block
- test
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013461 design Methods 0.000 title claims abstract description 591
- 238000000034 method Methods 0.000 title claims abstract description 427
- 238000003672 processing method Methods 0.000 claims abstract description 11
- 238000012360 testing method Methods 0.000 claims description 597
- 230000008569 process Effects 0.000 claims description 105
- 239000003292 glue Substances 0.000 claims description 76
- 239000011159 matrix material Substances 0.000 claims description 57
- 230000006870 function Effects 0.000 claims description 56
- 238000012546 transfer Methods 0.000 claims description 43
- 238000004088 simulation Methods 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 26
- 238000010998 test method Methods 0.000 claims description 21
- 239000013598 vector Substances 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 19
- 238000011161 development Methods 0.000 claims description 17
- 238000004519 manufacturing process Methods 0.000 claims description 17
- 230000001965 increasing effect Effects 0.000 claims description 16
- 238000009826 distribution Methods 0.000 claims description 14
- 230000002829 reductive effect Effects 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000007670 refining Methods 0.000 claims description 5
- 230000036961 partial effect Effects 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000002360 preparation method Methods 0.000 claims description 2
- 230000001939 inductive effect Effects 0.000 claims 4
- 238000013439 planning Methods 0.000 description 50
- 238000003775 Density Functional Theory Methods 0.000 description 43
- 238000007689 inspection Methods 0.000 description 43
- 239000003086 colorant Substances 0.000 description 26
- 238000005259 measurement Methods 0.000 description 25
- 230000007246 mechanism Effects 0.000 description 22
- 230000010354 integration Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000006399 behavior Effects 0.000 description 16
- 238000004040 coloring Methods 0.000 description 15
- 230000018109 developmental process Effects 0.000 description 14
- 230000002093 peripheral effect Effects 0.000 description 14
- 238000013459 approach Methods 0.000 description 12
- 238000012938 design process Methods 0.000 description 12
- 238000002955 isolation Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000003786 synthesis reaction Methods 0.000 description 10
- 230000003542 behavioural effect Effects 0.000 description 9
- 238000010200 validation analysis Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 7
- 230000000875 corresponding effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000011990 functional testing Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 6
- 239000000047 product Substances 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013075 data extraction Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000007598 dipping method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000014616 translation Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013440 design planning Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 229920008347 Cellulose acetate propionate Polymers 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 101000972349 Phytolacca americana Lectin-A Proteins 0.000 description 1
- 206010035664 Pneumonia Diseases 0.000 description 1
- 241000183290 Scleropages leichardti Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000013142 basic testing Methods 0.000 description 1
- 238000011956 best available technology Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000009470 controlled atmosphere packaging Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/08—Intellectual property [IP] blocks or IP cores
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
BLOCK-BASED DESIGN METHODOLOGY”に従属する。
予め設計済みの回路ブロックを再使用するシステムの設計に関する。
烈に低下させ、性能及び機能を向上させ、それによってエレクトロニクス製造及
び情報処理産業の開発を刺激してきた。これらの急速に成長する産業自体が、集
積回路設計システム開発者により高速且つ安価なデバイスに関してさらなる要求
を賦課するようになっている。その結果、設計産業は、現在、以下のものを含む
急激な変化に曝されている。
年の典型的な集積回路は100−500Kのゲートを含んでいた。1998年の典型的なデ
バイスは1乃至2百万のゲートを含んでいた。1999年における技術はこの傾向の
継続を示しており、4乃至6百万ゲートのデバイスを構築することを目指してい
る。
には、デバイス製造者は、エンドユーザが彼等の電子製品内に計画したいろいろ
な“オフザシェルフ”チップを製造していた。現在では、電子製品製造者が特定
機能を遂行させるための特注チップ設計を発注することがより多くなってきてい
る。
れが製品の寿命を短縮させ、従って許容される設計時間及び資源を短縮させてき
た。例えば1987年には、平均設計サイクルは12−18ヶ月であった。1998年にはこ
の平均時間は10−12ヶ月に短縮され、1999年においては当業界は8−10ヶ月の設
計サイクル時間まで短縮することを目指している。
、上流システム成分のための臨界的設計決定は、下流システム成分の設計が検査
されてしまうまで待機させられていた。設計管理者は、最早設計タスクを順次に
遂行するという贅沢さを有していない。幾つかのシステム成分を、同時に開発し
なければならない。従って設計管理者は、少なくとも若干のシステム成分設計が
完了する前に、重大な予測を行うことが要求されるようになってきた。
ロックをベースとする設計」(“BBD”)として知られている方法に移行しつ
つある。この方法においては、複数の既存成分設計ブロック(当分野では“知的
プロパティブロック”または“IPブロック”と呼ばれている)を統合すること
によってシステムを設計する。これらの予め設計済みのブロックは、内部設計チ
ームから入手することも、または他の設計会社からライセンスを受けることも、
または根本的に異なる設計構造及び環境によって支援されることもできる。更に
、予め設計済みのブロックは、異なる設計要求及び制約に合致するように開発す
ることができる。
るか否かを決定する際の不確実性によってもたらされるフロントエンド(プロジ
ェクト受入れ)遅延、及びリスクである。現在のASIC(特定用途向け集積回
路)設計は、主としてRTL(レジスタトランスファレベル)ステージにおいて
、及びそれよりもやや早めの仕様レベルにおいて顧客から設計者に提示される。
次いで、これらの設計は、費用有効に実施するのに要求される面積、性能、及び
電力のトレードオフに従って、利用可能な合成技術の制約に基づく手法で分割さ
れる。このようにして、設計者は入力としてシステム仕様を受入れ、最終的に物
理的実施(設計場所、ルート、及び検査を含む)についてのネットリストレベル
設計を提供する。もし設計仕様が、クロッキング、電力、及びサイズ仕様を含む
意図された、または利用可能な処理技術の能力内にあれば利用可能な設計方法が
合理的に予測可能であり、この方法が利用可能な回路設計ツールを用いて良好に
作業する。
典型的には結合されていないか、またはゆるく結合されており、これはシステム
レベル機能の限界からASIC(RTL)レベルまでコヒーレントなリンクが存
在しないことを意味している。RTLレベル設計は、ペーパーASIC仕様に基
づいて開発され、ASICインタフェースの周りに作成された新たに形成された
試験の組によって検査される。従って、ASIC設計のために利用可能な設計及
び実施方法は、効率的なブロック統合を阻害する多くの問題を呈する。
複数の設計ブロックを統合しながら、厳格な時間対市場の制約の中で階層的検査
及び短いアセンブリ時間を提供するという両立性をを包括的に評価し、保証する
トップダウンアプローチを提供しない。
既存方法は、フラット設計に集中している。このアプローチは、百万より多くの
ゲートを有するシステムのためのトップレベル設計をアセンブルするのに必要な
時間の長さに重大な問題を抱えている。
には適していない。従来のスキームは、特定のデバイスアーキテクチャ内に回路
設計ブロックを統合するのに伴うタイミング、クロック、バス、電力、ブロック
配列、検査、及び試験の諸問題を解決するためのガイドラインを提供しない。従
って、ブロック再使用のための包括的アプローチを用いない場合には、既存の方
法は、特別の且つ予測不能の設計アプローチをもたらし、設計実施の実現可能性
を低下させ、引渡し費用及び時間を増加させ、そしてそれらを設計済みのシステ
ム内に適合させるために、予め設計済みの回路ブロック自体の性能を低下させる
ような変更を強制することが多い。更に、既存方法は、性能トレードオフ解析、
クロック周波数のような臨界的設計パラメタのフィードバック、及び面積対成功
裏に且つ予測可能にチップ設計及び実施を完了させるリスクを提供しない。
術の欠点に対処することができる方法に対する要望が存在している。
用、及び再使用する適当な方法に対する要望も存在している。
させることを可能にする論理である“グルー(glue:接続)”論理に対する
要望ももたらす。グルー論理は主として設計ブロックを相互接続することを責務
とする論理であり、通常は設計全体に分散するブロック間に存在している。グル
ー論理要素は、チップ計画の種々のステージの間に設計に追加することも、また
は設計内の各ブロックの最も外側の境界に存在してホストブロックのための相互
接続メカニズムとして動作することもできる。ブロック間にグルー論理を配置す
ることによって生ずるワイヤーの混雑及びタイミングの複雑さ(元のブロック設
計者によって企図されてはいなかった遅延を導入する)を最小にするためには、
そのソースには無関係に、グルー論理を設計内に最適に配置しなければならない
。
グルー論理を配置し、分散させる改善された方法に対する要望が存在している。
計ブロックにグループ化するグルー論理分配メカニズムに対する要望も存在して
いる。
ー論理分配メカニズムに対する要望も存在している。
していない。従来のスキームは、特定のデバイスアーキテクチャ内に回路設計ブ
ロックを統合するのに伴うタイミング、クロック、バス、電力、ブロック配列、
検査、及び試験の諸問題を解決するためのガイドラインを提供しない。回路ブロ
ックは複数の一貫性ソースからであるから、どのようにしてこれらの回路ブロッ
クを、ブロックをベースとする設計に適する態様で回路システム内に統合するか
が挑戦である。
設計に適する態様で相互接続するのに適する方法及び装置に対する要望が存在し
ている。
を有する回路ブロックに変換するためのインタフェースを提供する方法及び装置
に対する別の要望も存在している。
なICであっても、チップが性能要求を満足させていること、及び隠れた製造欠
陥が存在しないことを確認するために、一連の試験に合格しなければならない。
もし製造欠陥を見逃せば、アセンブリが処理された後まで、または更に悪い場合
には実装されるまで、障害チップが発見されないことになる。顧客を犠牲にする
ようなそれらの効果で表される“試験エスケープ”の費用が、生産ラインを荒廃
させる恐れがある。
試験、交流パラメトリック試験、及び機能(“PLL”)試験が存在している。
直流パラメトリック試験では、チップの入力、出力、入力から出力への伝送、合
計電流、及び電力消費が測定される。交流パラメトリック試験では、チップの入
力及び出力信号の立上がり及び立下がり時間、入力端子と出力端子との間の伝播
の遅延時間、最小クロックパルス幅、及び動作周波数が測定される。機能試験で
は、チップは規定された動作条件の下で設計通りに機能するか否かを調べるため
に試験される。典型的には、入力端子へ試験パターン(“試験ベクトル”)を印
加し、出力端子において検出された出力パターンと予測されるパターンとを比較
することによって機能試験が遂行される。
ンブルし、次いで完了した設計を試験設計者に引渡していた。試験設計者はパッ
ケージレベル試験論理を追加し、チップを製造者(“fab”)に送る。Fab試験者
はチップを試験し、パッケージレベル論理上で上述した試験を含む広範な試験プ
ロトコルを走らせる。チップ全体に“単一”試験方法を適用し、予測可能な、そ
して一貫した試験結果を得る高度に効果的な、且つ広く使用されている方法の簡
単な例は、従来の「走査設計方法」である。走査不能な設計スタイルを処理する
ために、他の特別な方法も使用できる。
、またはより大きいチップ内に含まれる設計ブロックとして使用する。従って、
最早、回路設計が完了した後に試験を設計することはできない。設計者は、設計
プロセスを通して、各設計ブロックを、並びにパッケージ済みのチップ全体をど
のように試験するのかを計画しなければならない。従って、設計プロセスは、1
つまたはそれ以上の試験方法を適切に適用することによって、可試験性を保証し
なければならない。
イクルの初期において短い、生産を実行することが可能か否かの試験を可能にす
る。またDFT走査経路は、それ以外では利用できないチップ及びシステム状態
へのアクセスを提供する。それにより、良好なDFT計画は、市場への時間を短
縮し、フロントエンド設計プロセス及び製造試験の開発を容易にすることによっ
て試験費用を低減させる。
Dのための新しいDFTは、他の異なる試験方法の中の予め設計済みの試験デー
タを効果的に使用できること、制限された試験アクセスを共用すること、及び総
合SOCレベル試験目的に合致させることができなければならない。
ベル、混合された信号及び混合された技術設計の新しい複雑さ、及び増加するI
/Oカウント及び新しいパッケージング技術が出現する困難さに直面しなければ
ならない。
統合することの困難さに直面しなければならない。SOCレベル試験アクセス及
び障害分離が必要であり、現在利用可能なDFT方法によっては十分に支援され
ない低電力設計技術(即ち、ラッチをベースとする、ゲーテッドクロック、導出
されたクロック、パイプライン、及び低しきい値電圧)に対する要望に対処しな
ければならない。
面しても、コヒーレントで一貫した試験統合モデルを使用して市場までの時間の
圧力を打破しなければならない。
することができるように、構造的情報(即ち、障害モデル及び試験モデル)を必
要とする。例えば「走査設計方法」は同期設計だけに適用可能であり、単一の縮
退故障モデルだけを検出する。更に、他のDFT解決法は走査をベースにしてお
り、従って構造的情報を含まないハードIP試験モデルを共用し、検査すること
をかなり困難にしている。
としても、現在のゲートカウントの急増を支えることができない非線形計算モデ
ルを必要とする。しかしながら、ソフトIPは必ずしも走査可能または併合可能
でなく、場合によっては予測不能な、そして管理不能な試験開発をもたらす。
用することによって提示される挑戦は、信頼できる且つ効率的な機能検査方法に
対する要望である。従来の技術では、試験の組が多重ブロック設計を検査するた
めに使用される。組内の各試験は、統合する前の各ブロックを試験するために使
用される。ブロックを統合した後に、システムレベルで機能検査可能にするよう
に試験の組を調整するには、かなりの努力を必要とする。最終的な全システム検
査を確信をもって提供できるようになるまでには、何回も試験してデバッグする
プロセスを繰り返す必要がある。
する挙動モデルに置換し、それによってチップレベルシミュレーション及び混合
モード状況での試験を可能にすることである。このアプローチは、もし効果的に
遂行されれば望ましい結果を提供することができ、また上述した繰り返し型のブ
ロックをベースとするシミュレーションよりも低費用とすることができるが、そ
れでもこのアプローチは、機能を信頼できるように検査するためには全チップを
シミュレートしなければならないので、極めて高価であり、低速である。
は特に困難な挑戦が提示される。従来の技術では、バス検査は2つの方法の何れ
かで達成されている。バスは、総合チップの一体部分としてデバッグし、検査す
ることも、または新たに作成されたブロックによって提供される詳細な実施を斟
酌し、予め設計済みのブロックのためのバス機能モデルを使用して検査すること
もできる。しかしながら、統合バス検査は遅く、且つ高費用であり得る。バス設
計を検査するためにはチップ全体を使用しなければならず、また細部のレベル及
びバス関連バグが見出せない可能性があるためにデバッギングが困難であり且つ
時間を消費する場合には、統合バス検査は設計サイクルの後半にしか実行するこ
とができない。バス機能モデルアプローチはこれらの問題の若干を軽減するが、
新しく作成されたブロックの実施の詳細を必要とする。更に、バス機能モデルは
それら自体エラーを生じ易く、また“ブラックボックス”としてしか利用できな
いので信号追跡及びデバッグを困難にするか、または不可能にする。
法及び装置を提供する。本方法は、 (a)上記回路システムを設計するのに使用するために、複数の予め設計済み
の回路ブロックを選択するステップと、 (b)上記予め設計済みの回路ブロックに関する設計者の経験を反映するデー
タを収集するステップと、 を含み、上記設計者の経験は処理方法に適用可能であり、 (c)上記設計者の経験データ及び許可可能なリスクの程度に基づくような手
法で、上記回路システムの設計を許可するか、または拒絶するステップと、 (d)許可された場合には、各回路ブロック毎の基準及び変更された制約(F
EA)を含むブロック仕様を形成するステップと、 (e)許可された場合には、上記選択された回路ブロック及び上記処理方法を
変化させることなく、上記基準及び上記変更された制約に従って上記回路ブロッ
クをチップのフロアプラン上に展開させるためのブロック仕様を形成するステッ
プと、 を更に含んでいる。
“BBD”)のための新しい方法及び実施を開示する。
BBD)に基づく設計プロセスを示している。図1に示すように、この設計プロ
セスは、フロントエンド受入れ設計ステージ102、チップ計画設計ステージ1
04、ブロック設計ステージ106、チップアセンブリ設計ステージ108、及
び検査設計ステージ110を含んでいる。
)が、予測される設計プロジェクトの実現可能性を評価できるようにする。フロ
ントエンド受入れ設計ステージ102において、設計者は、ASICを設計する
ために、機能その他の要求(納期及び予算のような)を含む仕様を顧客から受け
る。顧客は、予め設計済みの回路ブロック、及びこれらの回路ブロックのための
試験ベンチを供給することもできる。フロントエンド受入れ設計ステージ102
を使用する設計者は、顧客が提供したブロックに加えて、入力として異なるソー
スからの回路ブロックを受入れる。これらの回路ブロックのあるものはサードパ
ーティから供給することができ、あるものは受け継がれた回路ブロックであるこ
とができ、あるものは新たに作成されたものであることができる。これらの選択
された回路ブロックは、ソフト、ファーム、またはハード設計状態にあることが
できる。(ソフト状態はRTLレベルにあり、ハードはGDSIIレベルにあり
、そしてファームはゲートレベルまたはネットリストレベルのようなソフトとハ
ードとの間にあることに注目されたい。)次いでフロントエンド受入れ設計ステ
ージ102は、設計者の利用可能な経験(データ使用分野、挙動シミュレーショ
ンを通しての推定データ、及び/または部分的実施データを含む)を収集する。
フロントエンド受入れ設計ステージ102のプロセスは、設計者が、顧客の要求
、設計者の利用可能な経験、及び設計者の受入れ可能なリスクの程度を含む設計
プロパティパラメタに基づいて、設計プロジェクトを許可するか否かを決定する
のを援助するアセスメントを提供する。更に、機能仕様に基づいて、フロントエ
ンド受入れ設計ステージ102は、予め設計済みの回路ブロックの最終セットを
回路設計内に使用するように指令する。
粗粒アセスメント、中粒アセスメント、及び細粒アセスメントを提供する。もし
1つの相におけるアセスメントで満足できなければ、フロントエンド受入れ設計
ステージ102は、設計プロパティパラメタを精細化することを可能にし、次の
相においてさらなるアセスメントを行わせる。
トエンド受入れ設計ステージ102は包括的なステップを提供して、前の設計内
の諸問題を早めに検出するように、及びこれらの諸問題をプロジェクト要求、設
計者の利用可能な経験、及び選択された処理方法によって限定される境界内で包
括的に解消できるようにする。フロントエンド受入れ設計ステージ102は、選
択された予め設計済みの回路ブロック、設計基準、及び相互に依存し合う設計制
約を含む処理方法を限定する設計仕様を生成する。
の出力からの設計仕様を、各選択された回路ブロック毎のブロック仕様に翻訳す
る。チップ計画設計ステージ104内で実行されるタスクは、(1)チップ設計
、アセンブリ、及び遅延の予測可能性、ルータビリティ、面積、電力消費、及び
タイミングに集束される実施のための計画を開発すること、及び(2)制約を識
別し、調整することを含む。詳述すれば、フロントエンド受入れ設計ステージ1
02の出力として供給される設計基準及び相互に依存し合う制約に基づいて、チ
ップ計画設計ステージ104は、フロントエンド受入れにおいて指令された境界
(要求及び制約のような)内でチップ計画を供給する。本発明のチップ計画設計
ステージ104は一時に1つの制約を考慮し、しかもフロントエンド受入れ設計
ステージ102によって指定された総合設計基準を満足させる。チップ計画設計
ステージ104は、フロントエンド受入れ設計ステージ102において選択され
た各回路ブロック毎に予算を計上し、回路ブロックの仕様を改訂し、そしてフロ
ントエンド受入れ設計ステージ102によって指定された処理方法の中で制約を
調整することによってこれを達成する。本発明のチップ計画設計ステージとは対
照的に、既存の方法は新しい機能ブロックを生成するか、または設計基準に合わ
せるように処理技術を変化させているが、これは設計時間を長引かせ、プロジェ
クトリスクを高める。チップ計画設計ステージ104は、詳細を後述するように
、グルー論理の仕様(即ち、選択された回路ブロックを相互接続するのに必要な
ハードウェア)をも生成する。チップ計画設計ステージ104は、出力として、
チップ内の1つまたはそれ以上の領域を占有する新しいグルー論理ブロック、選
択された回路ブロック内へ分散されている分散グルー論理、及びトップレベルブ
ロックグルー論理要素を含む3つの型のグルー論理を供給する。
、ブロック設計ステージ106は各回路ブロックの周りにインタフェース(カラ
ー(collar)と呼ぶ)を埋め込み、標準インタフェースを形成させる。回
路ブロックはソフト、ファーム、またはハードであることができるから、各カラ
ーもソフト、ファーム、またはハードであることができる。ブロック設計ステー
ジ106の出力は、以下のものを提供する。即ち、(1)チップ内の全ての回路
ブロックは制約及び予算を満足させ、指令されたチップ設計計画及びアーキテク
チャに適合する;(2)チップアセンブリ設計ステージ108には、全ての要求
されたモデル及び全ての回路ブロックのビューが供給される;(3)チップ計画
設計ステージ104において生成された新しい回路ブロックを作成するための方
法及び流れを開発し、引き継がれた回路ブロックを適合させ、そしてサードパー
ティ回路ブロックを適合させるように設計が可能化される;(4)設計を所与の
チップアーキテクチャ及び予算に適合させる。
ジ製造のためのトップレベル設計をテープアウトする。チップアセンブリ設計ス
テージ108は、ハードブロック及びチップバスルーティングの最終配置、並び
に何等かのグローバル設計詳細の完了を含む。チップアセンブリ設計ステージ1
08は、全ての回路ブロックが設計され、変更され、そしてチップ計画内に統合
されるまでは開始されない。チップアセンブリ設計ステージ108への入力は、
フロントエンド受入れ設計ステージ102またはチップ計画設計ステップ104
から受けた電力、面積、及びタイミングマージン仕様を含む。
れ設計ステージ102に供給される機能仕様に詳細が示されている顧客の機能要
求及びチップ試験ベンチに合致させることを保証する。検査設計ステージ110
は、機能検査112、タイミング検査114、及び物理的検査116を含む。
クのための論理機能及びチップ試験ベンチを、顧客仕様の機能要求に合致させる
ことを保証する。機能検査は、フロントエンド受入れ設計ステージ102、チッ
プ計画設計ステップ104、ブロック設計ステージ106、またはチップアセン
ブリ設計ステージ108中に遂行させることができる。タイミング検査は、設計
の各ステージにおける信号タイミングを、論理機能を生成させるのに適切である
ことを、また顧客の仕様に指定されている試験に合格させることを保証する。タ
イミング検査は、フロントエンド受入れ設計ステージ102、チップ計画設計ス
テップ104、ブロック設計ステージ106、またはチップアセンブリ設計ステ
ージ108中に遂行させることができる。物理的検査は、回路設計のための物理
的レイアウトを顧客の仕様に合致させることを保証する。
計ステップ104、ブロック設計ステージ106、及びチップアセンブリ設計ス
テージ108はそれらの機能を遂行するだけではなく、まとまって検査機能11
0を構成している機能検査112、タイミング検査114、及び物理的検査11
6に必要な情報をも生成する。もし設計プロセスの特定のステージにおける検査
中に何等かのエラーが発生すれば、次のステージへ進む前に訂正することが好ま
しい。
ップを製造するためのトップレベル設計を生成するだけではなく、設計に使用さ
れる各回路ブロック毎のチップ試験ベンチの検査、及びチップのための総合チッ
プ試験ベンチをも完了させる。
料の高レベル記述を与えている。
ージ102のステップ210−216を示している。
ている。
ている。
査の流れを示している。
回路ブロックを使用して回路設計の実現可能性を評価する本発明による方法を示
している。
して使用するために初めに設計される。しかしながら、新しい設計プロジェクト
を評価するには、新しい設計プロジェクトの実現可能性を評価するために、新し
い型の入力1、2、及び3を使用する必要がある。この方法を受入れるには、こ
の方法が新しい型の入力を使用して新しい設計プロジェクトについての実現可能
性アセスメントを遂行できるように、新しい型の入力が処理される。
トの結果を示している。図17は、垂直軸上にリスクを、また水平軸に沿って時
間/費用を示している。リスクインディケータによれば、これら3つの型の新し
いデータを使用する場合のリスクは、使用データのフィールドだけを使用する場
合のリスクに比して僅かに増加する。また図17から、型3の入力がリスクに対
して最大のインパクトを有していることが解る。しかしながら、時間/費用イン
ディケータによれば、これら3つの型の新しいデータを使用することによって時
間/費用は、使用データのフィールドだけを使用することによって発生するリス
クに比して大きく増加する。図17に示されている本発明のリスク対時間/費用
計算の結果を考えることによって、事前にステージ化されたブロックが予め設計
され、設計方法において適切に使用するために認定される。事前にステージ化さ
れた設計計画は、既存方法の1区分、例えばブロックオーサリング片であること
が好ましい。
設計の実現可能性を評価する方法を示している。図18において、この方法への
入力は、使用データのフィールドを入力として使用するために初めに設計される
。しかしながら、新しい設計プロジェクトを評価するには、新しい設計プロジェ
クトの実現可能性を評価するために、新しい型の入力X、Y、及びZを使用する
必要がある。この方法を受入れるには、新しい入力型を適応させるために、新し
い設計プロジェクトについての実現可能性アセスメントを遂行するように、これ
らの新しい入力を使用できるように方法を変更する。
れた実現可能性を示している。図19は、垂直軸にリスクを、水平軸に時間/費
用を表している。リスクインディケータによれば、これら3つの新しい入力型を
使用する場合のリスクは、使用データのフィールドだけを使用する場合のリスク
に比して大きく増加する。また図19から、型Zの入力がリスクに対して最大の
インパクトを有していることが解る。しかしながら、時間/費用インディケータ
によれば、これら3つの型の新しい入力を付加的に使用することによって与えら
れる時間/費用は、使用データのフィールドだけを使用することによる時間/費
用に比して中程度に増加している。
であることができる。図16−19に示す結果に基づいて、システム統合者はト
レードオフ決定を行うことができる。
計の実現可能性及びリスクアセスメントを含んでいる。もし評価された基準が許
容されるリスク許容差内にあれば、設計は実行可能である。
を想定することができる点まで設計を精細化するプロセスである。従って、それ
は知識の欠如を減少させる、従って要求された設計の最終結果内のエラーを減少
させるプロセスである。開始点として、FEAプロセスは顧客が供給した1組の
設計要求、設計を受入れるための統合者のリスクプロファイル、1組の予め設計
済みのブロック、及び予め設計済みのブロックに関する統合者の先行知識及び経
験を受ける。予め設計済みのブロックは、いろいろな分解能(ハード、ソフト、
またはファーム)レベルにあることができる。分解能、先行経験、及びブロック
の理解は、ブロックの全域で面積、電力、性能等の予測に大きい範囲のエラー境
界をもたらす。
推定、及び (3)ブロックを、それが受けられた時よりも高レベルの設計分解能に取り入
れることによるディップ。 これら3つのレベルの設計分解能が、ソフト、ファーム、及びハードのような昇
順に配列されていることに注目されたい。効率は、全てのブロック及び相互接続
基準予測を不必要に精細化することなく、実現可能性アセスメントを遂行するメ
カニズムを提供することによって達成される。
反映する3つの相の実現可能性アセスメントを含んでいる。これら3つの相は、
粗粒アセスメント、中粒アセスメント、及び細粒アセスメントである。
支配された」アセスメントのフィールドである。粗粒アセスメントは、数十のブ
ロック及びシステム設計オプションに、及び設計推定エラー許容差が50%または
それ以上の程度であるような状況に特に適している。ブロック間の相互作用の推
定が臨界的ではない場合に、検討中のブロックを粗調査するために粗解析を使用
することができる。この相においては、検討中のブロックの全てが最終設計内に
使用されない可能性が最も大きい。
化によって推定する「推定に支配された」アセスメントである。中粒アセスメン
トは、2から10までのシステム設計オプションにとって、及び受入れ可能な設計
推定エラー許容差が20%程度であり、統合者がブロックがどのように相互作用す
るかを理解しているような状況に特に適している。中粒アセスメントは、設計の
動作の充足度について臨界的であるブロック間の相互作用を調べるために使用す
ることができる。この相においては、検討中の全てのブロックが最終設計に使用
される高い確率を有している。
なされる「設計・ディップに支配された」アセスメントである。ディッピングは
、新しいブロックをソフトブロックに、予め設計済みのソフトブロックをファー
ムブロックに、そして予め限定済みのファームブロックをハードブロックに変換
するプロセスである。結果は、シミュレーション、エミュレーション、またはプ
ロトタイピングから生成される。細粒アセスメントは、既存の設計精細化では不
十分である臨界的な結果の最終分解能のような、受入れ可能な設計推定エラー許
容差が5%またはそれ以上の程度であるような全ての、または一部の単一オプシ
ョンチップ設計に適している。細粒アセスメントは、充足度を保証するために、
またはそのブロックのための何等かの既存シミュレーションモデルが十分である
ことによって与えられる分解能を保証するために、詳細に検討する必要があるチ
ップ挙動またはブロック相互作用のサブセットを調べるのに使用することができ
る。また細粒アセスメントは、設計要求を満足させるために、ブロックの障害(
最終設計実現可能性に強いインパクトを与える)を調べるためにも使用すること
ができる。この相においては、検討中の全てのブロックがディップされるのでは
なく、代わりに、実質的にFEA決定に臨界的なインパクトを与えるブロックだ
けがディップされる。
いる。アセスメントの各レベルにおけるキーは、FEA決定を迅速に行うことが
できるように設計者のエラーを減少させながら、可能な限り小さくFEA基準を
精細化することである。FEAプロセスの各相における基本的な目的及び戦略は
、以下にリストするように同一である。
局部的に識別し、精細化する、 (3)設計がFEA制約を満足するか否かを評価する。もし満足すれば、FE
Aプロセスを停止する。もし満足しなければ、 (4)もしFEA制約を満足しなければ、システム内のブロック推定をグロー
バルに精細化する。
れ可能なグローバルエラー(または、総合エラー)をどのように計算するのか、
及びそのグローバルエラーを受入れ可能な境界内に導くためには、どの数ブロッ
クを推定精細化する必要があるかを識別することである。この計算プロセスは、
次の3つのパラメタを必要とする。
の感受性(ブロックエラーインパクトとも呼ばれる)。
される制約、及びグローバルエラーの良好な予測(現在のデータの状態に基づく
システム予測から得られる)によって限定される。第2及び第3のパラメタは全
て、正確な「エラーインパクト曲線」を作成することから導出される。図21は
、本発明により、エラーインパクト曲線が与えられた場合の精細化プロセスの駆
動を示している。
ント技術を使用する。
の推定の正しさ曲線を使用する。各推定の正しさ曲線はFEA軸上に提示され、
これはFEAプロセスを検査するための要素及び基準を視覚的に提供する。推定
の正しさ曲線の機能を解り易く説明するために、以下の要素及び基準を定義する
。これらの要素及び基準を、まとめて「FEA受入れ軸」と呼ぶ。これらの定義
は、ブロック及び総合システムの両方に適用される。
以下の情報を供給する。
回路ブロック、 (2)ブロックのための1組のシミュレータ(エスティメータ)または先行経
験推定を、推定のためのエラー許容差と共に、 (3)総合チップ機能及び性能要求を記述する1組の仕様、及び (4)プロジェクトのための受入れ可能なスケジュール、費用、及びリスクに
関する1組の規定。
及び (6)既知の臨界的結果の識別。
要求(リクワイヤメント)を満足することの確実さ。これは、単に標準偏差測度
、即ちAσ設計受入れリスクとして表される; c.拒絶リスク−指定された設計が、利用可能なブロックを用いてアセ
ンブルまたは製造することができないことの確実さ。拒絶は、実際にシステム統
合者にとって危険な挙動であることに注目されたい。採用されるリスクは、たと
え初期アセスメントが疑わしいことを明らかにしたとしても、拒絶された設計が
実際に実現不能であったことである。これも、標準偏差測度、即ちRσ設計拒絶
リスクとして表される; を含む設計が適当であることを評価するリスクプロファイルを決定し、 (2)何等かの新しい、またはサードパーティブロックと組合わせた提示され
たブロックが、受入れ可能なリスクの限界内のプロジェクト制約を十分に満足す
ることを確認する べきである。
の顧客制約、またはシステムのための総合制約を表すことができるFEA軸であ
る。説明を容易にするために、FEA軸が電力を表しているものとする。垂直軸
は、推定の正しさを表している。図22によれば、電力制約の保護帯は、顧客に
よって初めに指定された制約と、FEAプロセスによって変更された制約との間
である。この例では、保護帯によって変更された電力制約が拒絶領域内にあるの
で、設計は拒絶される。これは、たとえ初期に指定された電力制約が拒絶領域内
になくても、真である。
ば、FEA精細化プロセスが進められていたであろう。このプロセスは、精細化
された推定の正しさ曲線に基づいて受入れ、または拒絶を決定することができる
ようになるまで、予測されるエラー分散(即ち、この例では電力・エラー分散)
を減少させ続ける。
EA検査プロセスは、以下の4つの相を含んでいる。
れた推定の正しさ曲線を示している。上述したFEA相0から3まで移動する精
細化プロセスを通して、精細化された推定の正しさ曲線上の予測されるエラー分
散は、図22に示す推定の正しさ曲線のそれに比して大きく減少している。従っ
て、受入れるか、拒絶するかの決定は、図24に示す精細化された推定の正しさ
曲線に基づいて行うことができ、一方このような決定を図22に示す推定の正し
さ曲線に基づいて行うことも、または行わないこともできる。
行うことができなければ、本発明は予測されるエラー分散を減少させるために、
設計プロパティ精細化プロセスを遂行する。精細化されたデータ及び情報に基づ
いて、本発明は次の相におけるFEA検査を遂行する。設計プロパティ精細化プ
ロセスは、以下の3つの面からなっている。
計内の各ブロックに関連付けられた予測エラーのための“システムインパクトの
推定”を確立するための標準化メカニズム、またはプロセスが存在する。「ブロ
ック精細化識別」と称するこのメカニズムは、FEAシステム設計アセスメント
の各精細化相毎に、どの特定ブロックのプロパティに対して要求されたエラー境
界(FEA設計基準−例えば電力、面積、性能等)をも決定することを可能にす
る。
マージンによって変更された、顧客が指定した限界とする。FEA基準βに対し
て測定された設計の予測値をE(β)とする。「設計決定制約」、即ちFEA基準
βに対する合格/不合格として定義される設計の“許容される最大エラー”は、
DDC(β)=|L(β)−E(β)|である。E(β)自体は、予測される“合格” に関
してはFEA基準のための受入れ領域内になければならず、予測される“不合格
”に関しては拒絶領域内になければならない。実際的言えば、“合格”のための
第1の場合には我々はAσsystem<DDCであることを要求し、“不合格”のための
第2の場合にはRσsystem<DDCであることを要求する。もしこの不等性が満足さ
れなければ、システム解析は決定・同等性結果を発生しない。
ム基準βの最終推定であることに注目されたい。即ち、「中粒アセスメント」ス
テージは、平均として「粗粒アセスメント」ステージの最終推定を取り、「細粒
アセスメント」ステージは、平均として「中粒アセスメント」ステージの最終推
定を取る。プロセスを開始するために、粗粒アセスメントステージは、先ず各F
EA基準毎の粗レベル予測値推定を確立することから入らなければならない。
場合、ブロック推定に伴うエラーと、システムのための合計推定エラーとの間の
関係を確立しなければならない。ブロック推定に伴うエラーは、そのブロックの
ためのβ基準を推定することの固有エラーだけではなく、そのブロックの特定の
影響力、及び統合費用を推定することの困難さに基づくブロックエラーでもある
ことに注目されたい。従って、ブロック推定のエラーは、FEA基準βのための
そのプロパティ、または欠如または定義(エラー)に基づくブロックの統合の困
難さの測度であるシステムクリティカリティ測度Cによって基準化される。シス
テムの合格(不合格)に関する決定は、σsystemに対する{Cblock.σblock|
ブロックε システム}のセットの関係、及び各FEA基準毎の要求される不等
性Aσsystem<DDC(Rσsystem<DDC)を通して確立される。
合わせて表される式Cblock.σblockから公式化される)ためには、Σblocks(
Cblock)2=1のようにクリティカリティ測度が正規化されることにも注目され
たい。これを評価するためのプロセスは、処理中のシステムプロパティのクラス
に僅かに依存して変化する。FEAの透視から、以下にそれぞれ記述されている
3つのクラスのシステムプロパティが存在する。 ・ 絶対(ブロック)制約(例えば、サイクル内遅延、スループット)、 ・ 相対(ブロック)制約(例えば、電力、面積、待ち時間、費用、スケジュ
ール)、 ・ 混合(ブロック)制約(例えば、品質)。
義する。ここに、設計受入れのための試験の場合はBDCblock=A.Cblock.σbl ock であり、設計拒絶のための試験の場合はBDCblock=R.Cblock.σblockであ
る。従って、各FEA基準毎の、 a.絶対制約:決定品質結果を達成するために、各ブロック、またはその直接 の環境(例えば、ルーティングロードを含む、等)内に浸された各ブロッ クは、絶対制約に関してDDCに合格しなければならない。数学的には、 絶対制約上での決定品質結果の達成は、 システム内の全てのブロックε に対して、BDCblock<DDC を暗示している。
している。図示のように、FEAブロック精細化識別には、以下のものを含む3
つのステップが存在する。 1:絶対或は混合の拘束タイプの各FEA評価規準に対して、絶対誤り許容差(
CIC)を達成するために必要とされる作動レベルは決定される。絶対拘束の必
要性を満たすべくモデルを純化する副産物又は副作用として、相対的拘束と関連
された幾つかの誤り−バウンドも低減され得る。 2:モデルが絶対拘束及び混合拘束タイプの絶対部分を満たすべく純化された後
に予測される誤りに基づいて、システムに対する残りのシステム−誤り許容差(
CIC)が決定され、個別IPブロック間で区切られる。この区切りは見積を構
築するために必要とされる作動を最小限に為すように規定されることになる。こ
の区切りの柔軟性はアセンブルされたシステム内におけるブロック各々に対する
寄与の規定された重要性によって加減される。これは誤り衝撃の認識を規定する
。留意することは、この問題が各FEA軸に沿って許容できる誤り許容差に対す
る必要な作動を同時に最適化しなければならないことである。 3:もし任意の段階でシステム適合性が提案されたCICを用いて決定出来なけ
れば、これは更に締め付けられる必要性があり、プロセスは、 (a)ブロックに対して、もし特定の絶対拘束が不十分であれば反復されるか、
或は (b)システムに対して、もしチップに対する相対的拘束が不十分であるか、 の何れかで反復される。
する表(テーブル)を含むFEA評価軸測定が示されており、もし適合すれば、
模範的な重要性尺度を含んでいる。このAACは、関係:ISI=AAC*EE
Eに基づく予想見積誤り(EEE)を介しての予想システム衝撃(ESI)に関
係している。
ク或はチップ入力パッドの任意の出力ピンに対して、ピン経路指定重要性=(予
想正味長さ)*(キャパシタンス/単位長さ)として規定されている。ブロック
経路指定重要性はブロックの出力ピンにわたってのピン経路指定重要性の合計で
ある。
重要性)は経路指定重要性の単位及びスケールを領域適用数へ変換する。
る。これはブロック或は解像度のピン・レベルで為され得る。ブロックに適用さ
れた際、活動見積はEblockとして示されるブロックの出力線上の平均活動から
誘導される。
任意のファンアウト点としてカウントする。共有バスは単一の個別ブロックとし
てカウントする。経路指定重要性はピンへの経路指定接続に関する予想困難性の
尺度であり、それ故に、FEA不確定性の尺度である。
て識別され得、例えば、SOC設計チップ・レベル拘束をブロック・レベル拘束
に区切るべく、領域は初期フロア・プランが規定且つ使用された後の混合として
規定され得る。しかしながら、急速FEA期間中に使用される優勢拘束タイプが
リストされる。
対するバウンドを言及している。経験データの分野の組織化 設計者経験はBBD方法論のシステム決定プロセスにおける決定的な部分であ
る。BBD方法論は単一キー設計者或は設計技師に関連された経験の概念を「会
社設計経験」の概念まで拡張する。経験のこの一般的な「プール」は本発明の経
験のBBD分野(FOE)と呼称される。
案することである。これら概念は: a)データ収集−FOEデータを獲得及び初期化するための厳格なプロセスの定
義。 b)データ分類−関連分類を発展するための情報分類及び機構。収集されたデー
タが、充分に分析され、外挿され、そして、蓄積された設計知識増大量として、
全体的に改善され得ることのそうした分類保証。 c)データ証明−さもなければ「経験法則」数として呼称され得る「信頼性」の
正しい保証を構築するプロセスの定義。FOEデータを証明することはFOEデ
ータベースから構築された見積が充分満足にバウンドされていることを保証する
ことになる。 d)データ適用−FOEの設計プロセスへの適用のための機構。これはBBDに
対するフロントエンド受容である。経験定義の分野 BBDにおいて経験の分野は、設計形式、設計目的、並びに、設計特性の重要
な測定に従って分類された先行設計の測定からのコンパイルされたデータとして
定義され得る。重要な特性は、領域、スループット、パワー、並びに、冗長性を
含み得る。経験に基づく見積の定義は同様の設計或は設計行動に係わる経験に基
づく系統だった予測である。これは、FOE見積の定義がFOEデータ用いての
経験に基づく見積を模範としている。
、或は、ハードウェア設計がこれまでの直接体験から実際に知られている場合、
そのハードウェアに必要された新しい行動の特定分析を暗示しないことでBBD
とは区別されることである。例えば、DSPコアは会社内で開発され得て、FI
R−フィルタ埋め込みルーチンはコアの先行する例示におけるその上でランする
。次いで要求され得ることは、その同一コア上をランするFFTアルゴリズムの
実現可能性は考慮されることである。もしその第1経験法則がその設計に対する
RIF操作を実行する際に観察される先行するアルゴリズム効率だけに基づくが
、FFTアルゴリズムに相当特有の詳細に入ることがなければ、これはFOE見
積である。
ジェクトのセット中から誘導された情報を明白に活用しなければならない。FO
Eデータはカタログに作成され、保存され、そして、規格データベースにわたっ
てアクセスされ得るように為す必要がある。
各フォームは特定の誤りプロファイルと関連されている。 a)プロジェクト・データ(Project Data)−プロジェクト時の設
計者要求見積。設計者は、FOEデータベースにログされると他の者の経験を活
用しないが、彼自身の未カタログ化の設計経験をより多く活用する。設計見積に
おける誤りは設計者誤り変動(Designer−Error Varianc
e)によって付与され、該設計者誤り変動は一般的設計に対して観察されたもの
である。設計者誤り変動は、正確に結果を予想すべく、設計者能力の一般的履歴
を測定することから構築される。 b)予想データ(Predicted Data)−記憶された特定プロジェク
ト無しの設計分類内において、設計者には現行のFOEデータを拡張すべく自身
の最良の推測をパラメータ関係に付与するように要求される。この場合、拡張さ
れるFOEデータはせいぜい単一の設計点から構成され得る。これに対する誤り
は、部分的には、パラメータ化誤りでの設計者の最良の推測によって特定される
が、結果を正しく予想すべく設計者能力の履歴によっても変更される。統計的な
独自性を仮定すれば、これら誤り変動は合計されることになる。 c)照合データ−設計経験セットからの照合され、分類され、そして、パラメー
タ化されたデータ。このデータに直に関連された測定誤りの可能性があるが、こ
れはおそらくは些細なことであろう。主要誤りは測定結果とデータ・パラメータ
の変動によって予想される対応するものとの間の差として規定される。
く拡張しないのでFOEデータのフォームではない。更には、プロジェクト・デ
ータはプロジェクトの終了時ではなく開始時に収集されので、カタログ化設計経
験に対して立証できない。これはそれが証明されていないことを暗示している。
設計の最終測定から収集された任意のデータはFOEデータベースへ入ることが
出来、プロジェクト・データの精度対最終測定は会社に対する設計者誤り変動を
改善する。
FOE見積に直ちに付与され得る。
用されなければならない。そうした共通分類は、受け取りデータの迅速な識別及
びカタログ化を可能とする。初期分類−仕様書はFOEに対するプランニング段
階として見做され、データの入力/収集は構築段階である。FOEデータベース
における情報量は成長するので、改善プロセスが適用されて、誤り許容差を統計
的に観察されるもの以内までに低減するように為す。これらの段階の3つ全てに
平行するものがFOE証明プロセスである。
現行の一般的なFOEデータから外挿するために使用される。外挿見積及びFO
Eデータの間のそうした関係は、好ましくは、各設計分類に対して規定される。
各パラメータFOE関係は設計者個人の経験によって規定され得る(先の予想デ
ータを参照のこと)か、或はもし充分な情報が利用可能であれば、FOEデータ
の曲線の当てはめを介して経験的に特定化され得る。パラメータは、パイプライ
ン深さ、類似度、ビット幅、並びに、クロック速度等のそうした技術的変数を含
むであろう。
ロック間の相互接続にも適用されることである。そうした場合、FOEは一方の
分類のブロックと他方の分類のブロックとの間の経路指定のコストとして特定化
され得る。ブロックへの適用と同様に、相互接続に対するFOE見積もパラメー
タ化され得る。
一般化である。これは2重プロセスである。 a)改善−先に述べたように、改善は、見積の誤りを統計的に観察されるもの以
内までに低減するように為すプロセスである。即ち、特定範疇におけるFOEデ
ータ量が小さいとき、データに対する誤り許容差は大きい。これは固有誤りによ
るものではなく、むしろパラメータ化データの他の特定設計に対する未知(又は
未試験)の適用性によるものである。審査された設計の数が増大すると、データ
の統計的拡散は直にパラメータ化予想に対して測定可能である。多数の場合が設
計の特定分類に対してカタログ化されると、パラメータ化方法の精度が充分に設
定されることになる。大きな相関誤りの識別(データの無作為拡散に対する)は
パラメータ関係の再考の動機付けとなり得る。 b)分類崩壊−設計の異なる分類は接近によって相互に関係させられ得る。例え
ば、バタフライFFT具現化は設計の1分類であり得るが、全てのFFTブロッ
クはこの設計に密接に近接しているように見られることが可能である。もし対象
の特定分類に関連されたデータ数が統計的に意味を持つには余りにも小さければ
、密接な近接FOEデータは一体的に又は一緒に崩壊されて、全見積誤りを低減
する。分類の一体的な崩壊はそれ自体で設計タイプにおける僅かな装置によって
誤りを誘発することになるが、考慮された設計数という意味での統計的改善はこ
の相違誤りを負かし得る。図28に示されるような曲線を計算することが好まし
く、そこから最良の誤りの形態を精選する。
) III. 密接近接の範疇を見積誤りが改善すべく途絶えるまで崩壊する IV. FOE見積に対して予想誤りは充分か? イェス−最良FOE見積を戻して終了 ノー−進める V. 設計者にその設計に対する彼の最良推測を生成するように求める。(
これはBBDの見積位相内への沈下であり得る。
が信頼性があるように示される。この証明プロセスは構築及び改善の段階中に見
積の誤りを設定する。
能でなければならない。 b)精度の証明−設計者に対する経験尺度と、収集データの精度を保証するプロ
セスの定義とを含む。 膠論理 本発明は改善された膠論理分布及び低減方法論を更に開示する。3つの代替的
な膠論理分布機構の組み合わせは本発明の好適実施例を含む。第1として、予備
設計されたブロック内に組み込まれていない膠論理は現行ブロックへの分布用に
多数コピーに複製され得る。第2として、ブロックにトップ・レベルで親和性を
有さない論理は小数ブロックとして残留させられ得て、最適には、効果的なゲー
ト独占化、配線密集度、並びに、仕入れ資金融資方法衝撃を最小化すべく据えら
れる。第3として、ブロック数がブロック場所及び経路指定限定を超えた場合、
膠論理がブロック・カウントが許容出きるレベルまで低減されるまで膠クラスタ
・ブロック内にクラスタ化され得る。
も常駐している回路設計図が図示されており、それによってシリコン面積の大き
な領域の使用が非効率化されて、著しい配線密集を作り出している。
論理の多数コピーを作り出す本発明の方法の説明を始める。要素3010が多数
付加を駆動する出力正味を有すれば、この要素は、各々が出力に対する単一のみ
の負荷を有している多数の要素3012内へこぼされる。次いで、複製された要
素を駆動する各入力「コーン(cone)」(不図示)も、全てのブロック出力
が達成されるまでコピーされる。同様に大きな入力ゲートは、木の頂部にオリジ
ナル関数の2入力ゲートを伴う非反転2入力ゲートの木にまで低減される。この
ようにして、実質的により多くの論理が先行する相当により小さな膠論理関数に
専用化される。しかしながら、より大きなブロック間の領域から膠論理を除去す
ることによって、それらより大きなブロックはより効率的に配置されて、正味効
率増大となる。
要素に最も緊密な親和性を有するより大きなブロック内に好ましくは合併される
。膠論理合併は多数の規準に基づいた様式で実行され、その内の最も重要なもの
は合併がトップ・レベルのピン・アウト数を低減するかどうかである。よって、
多数コピーが作り出されると、結果として論理の殆どが2入力ゲートから構成さ
れるので、そうしたゲートを1つのピンがそのブロックに接続されているブロッ
ク内へ合併することはピン・カウントを2だけ低減する。2つ或はそれ以上のブ
ロックが合併のための同等候補である際、最低のピン密度を有するブロックが好
ましくは選択される。最後に最低の優先権は、好ましくは、タイミング考慮へ行
く。
10とはクラスタ3112内にクラスタ化される。合併できないゲートも殆ど同
様にそれらの入力及び出力の両正味に対する多数負荷を有する。ゲートを同様な
関数を有する入力と再組合せすることによってゲート・カウントは低減され得る
。
る回路へ変換する方法を更に開示する。
た回路ブロックに対する任意の喪失アブストラクトを作り出し、(2)回路ブロ
ックをそれらのカラー(collar)として既知の各規格化インターフェース
内へ埋め込み、そして、(3)カラー付けされた回路ブロックに対するアブスト
ラクトから成る完全セットを作り出す。
ラー付けプロセスが図示されている。BBD方法論において、選択された回路ブ
ロックはチップ・レベルでの主要な入力構成要素である。カラー付けプロセスは
回路ブロック各々の回りにカラーを据え付けて、回路ブロック境界回りに規格イ
ンターフェースを作り出す。カラー付けされたブロックをチップ・レベルへ首尾
よく統合するために、アブストラクトから成る完全セットをそのカラー付けられ
たブロックに対して作り出さなければならない。そのアブストラクトから成る完
全セットを作り出す前に本発明のシステムは、アブストラクトがブロックのモデ
ル若しくは風景、チップ・レベルでの組立で要求されるカラー付けブロックの設
計、或は、プランニング・ツールである場合、選択されたブロックに対する任意
の喪失アブストラクトを先ず形成する。模範的なアブストラクトは: (1)固定状態のタイミング・アブストラクト−TLF (2)レイアウト遮断ファイル−LEF (3)立証用モデル−ボルト締めバス・ブロック・モデル (4)システムへのブロックレイアウト拘束 図33を参照すると、本発明に従った回路ブロックのアブストラクトから成る
完全セットの作成が図示されている一方で、図34は図32及び図33に図示さ
れた特徴の組合せを図示している。
れるべきブロックタイプ毎に規定されていると仮定している。ブロックの内の任
意のものが完全ブロック・アブストラクトを具備しなければ、このプロセスはそ
のブロックに対する完全ブロック・アブストラクトを形成する。
に、ブロックは:メモリ・タイプ、プロセッサ・タイプ、パワー・タイプ、或は
、アナログ/混合信号タイプであり得る。しかしながら異なるソースからの回路
ブロックのタイプは異なるインターフェースを有し、それらインターフェースは
他の回路ブロックに接続すべく異なる設計を必要とする。例えば、異なる売り主
によって設計されたプロセッサは異なるインターフェース及びバス構造を有し得
る。
格と関連させる。
続可能な構成要素を含む第1カラー部を作り出す。
格インターフェースに準じた第2カラー部を作り出す。
スと接続可能なフォーマットに変換する構成要素を含む第3カラー部を作り出し
て、第1カラー部を第2カラー部に接続する。
ック規格カラー及びシステム特定カラー)がBBD及びSOC用にそれぞれ規定
されている。図35を参照すると、2層を含むカラーが示され、その一方のカラ
ーが特定ブロックに対する規格であり、他方がブロックが展開されることになっ
ている特定システムに特有のものとなっている。ブロック規格カラーは、特定シ
ステム或は統合されることになる特定前後関係の知識無しで規定され得るような
インターフェース構成要素を含む。例えば、BBDの前後関係において、特定の
設計グループはJTAG規格試験インターフェースが設計で必要とされていると
決定し得る。よって、設計されるシステムの内の任意のシステムにおいて使用さ
れるべきブロックの全てに対して、JTAG試験インターフェースが規格となり
、よってブロック規格カラーに属する。システム特定カラー(或は適合カラー)
はブロックに属するインターフェース構成要素を含むが、システム或は前後関係
特定ではない。例えばデータ線に対する規格セットはパリティ・ビットを必要と
し得ないが、設計される特定システムに対してパリティ・ビットが全データ線に
対して必要とされている。パリティ・ビットを生成する論理は、チップ・プラン
ニング中、ブロックと関連させられ、システム特定カラー内に常駐すべきである
。
エンド受容及びチップ・プランニング(チップ・プランニングは初期カラーが必
要とされたチップ・プランニング関数をより良好に実行すべく沈下プロセスの一
部として設計されることを要求し得る)に先行してつけられるが、システム特定
カラーはチップ・プランニング後にだけ付加され得る。
セットがSOCにおける規格セットよりも範囲において相当に狭くなり得ること
である。例えば、特定のパワー・インターフェースはBBDに対して規格となり
得るが、特定の会社に対してだけであり、その他の会社はブロックに対するその
規格パワー・インターフェースに一致する必要性はない。結果として、会社の外
側からのブロックはシステム特定カラーを必要とし、それは規格パワー・インタ
ーフェースを会社のものに変換する。これはSOCとは対照的であり、そこでは
産業の範囲にわたるインターフェース規格が存在し、ブロック規格カラー内に常
駐している。SOCにおける最終ゴールは産業の範囲にわたる規格である規格カ
ラーを作り出すことである。そうしたカラーを有するブロックはソケットに入れ
られたブロックと呼称される。将来、もしカラーの局面の全てが産業の範囲にわ
たるものであれば、システム特定カラーの追加的な層状化の必要性はなく、よっ
てブロックはプラグ・アンド・プレイの理想へより近づけられる。
れることが意図されているが、チップ・プランニングにおいてシステム特定カラ
ーを作り出すことによってチップ統合化プロセスをスピードアップすることがで
き、システム特定カラーが標的とされるべき範囲を獲得するためのパラメータで
ある。これは統合化プロセスを加速し、その理由としては、チップ・プランニン
グ後、パラメータのみが変動される必要性がある一方で、システム特定カラーは
スクラッチから再設計される必要性がないからである。
あり得る。ブロックのハード性に関して長所及び短所があるのと同じように、カ
ラーのソフト性、ファーム性、並びに、ハード性の長所及び短所がある。例えば
、もしブロック自体がソフトであれば、そのブロック規格をソフトのままとして
、システム特定カラーが追加される際、ブロック全体が合成化、据え付けられ、
そして最終的なレイアウトへの変換用に平坦となるように経路指定され得るよう
に為すことが適切である。しかるにもしブロックがハードであれば、小量のみの
規格機能変換を伴う物理的インターフェース発行を際だって取り扱うべくハード
・ブロック規格カラーを使用することが適切であり得て、それはシステム特定発
行を取り扱うソフトのシステム特定カラーが殆ど機能変化を含むからである。
タフェースに変換する。すなわち、 (1)ブロックに特異的な物理的コンフィギュレーションを標準的な物理的コ
ンフィギュレーションに変換することで、ピン層、ピン配置、及びピン分離が含
まれ、 (2)ブロックに特異的な電源を標準的な電源に変換することで、電源ローデ
ィング及び物理的配置が含まれ、 (3)ブロックに特異的なテストプロセスを標準的なテストプロセスに変換す
ることで、テストアクセスポート(TAP)コントローラ及びテストプロトコル
が含まれ、 (4)ブロックに特異的なタイミングを標準的なタイミングに変換することで
、セットアップ及び保持タイマーフリップフロップ、又はラッチが含まれ、 (5)ブロックに特異的なクロックポートを標準的なクロックポートに変換す
ることで、クロックポートの各々のローディングが含まれ、 (6)ブロックに特異的なデータ/制御信号を標準的なデータ/制御信号に変
換することで、信号ポジティブ/ネガティブ表明を標準化することが含まれ、さ
らに、 (7)効力のある入力を期待するブロックに対してレジスタを全てのサイクル
、大きいエンディアン(endian)又は小さいエンディアン(大きいエンデ
ィアンはデータ単位の左端に0ビットを有し、小さいエンディアンのものは右側
にある)加えることで、ブロック特異的なバスインタフェースを標準的なバスイ
ンタフェースに変換する。
ックコンポーネント(上記したように、グルー論理)を含むものであってもよい
。グルーは、3つのレベルで存在することができる。すなわち、(1)カラーの
中に配置されたグルー、(2)チップレベルで結合されたグルー、及び(3)チ
ップレベルで1つ以上の小さなブロックに配置されたグルーである。特に、グル
ー論理は単純機能的トランスレータ(例えば、ビットラインの各々に沿ったNA
NDゲート)からより複雑な機能(例えば、レジスタ、アキュムレータ等)まで
何でも含むことができる。グルー論理は任意の大きさであるが、もしグルーサイ
ズがブロックに対して著しく大きくなると、フロントエンドアセンブリの間で推
定が行われ、グルーサイズが考慮されていないことからチッププラニングが不正
確となる。ブロックに対するグルーの相対的サイズに対して制約条件が加えられ
る必要があるかもしれない。
ち、 (1)グルー論理を加えるかどうかの判断はチッププラニングで行われる。
の組み合わせグルー、チップレベルでミニブロックに置かれたグルー)について
、カラーリングプロセスは、好ましくはカラーに置かれたグルーのみにアドレス
する。
は処理されない)。
するためのもので、カラー602とブロック604との間の論理図が示されてい
る。
を含む。第1の部分はブロック604の境界部分周辺の特定インタフェースに対
して接続可能なコンポーネントを含む。第2の部分は標準に従って入出力コンポ
ーネントを含む。さらに、第3の部分はブロック604から標準へ出力を変換す
るためにコンポーネントを含む。
12の中に2つの一方向性バス608及び610を結合する。テストアクセスポ
ート614は、ブロック604から情報を得て該ブロック604上でテストを実
行するために入力616に接続している。ゲート618は入力される信号をブロ
ック604に適したフォーマットに変転させ、ゲート620〜624はクロック
バッファリングを実行する。
するためのもので、カラー702とブロック704との間の物理図が示されてい
る。図37中、カラー702及びブロック704は共に多数の金属層を含んであ
る。金属層3(M3)上にVdd電圧を配置し、金属層4(M4)にGNDを配
置するために電源標準が存在する。もしブロック704が電源標準に従わない場
合は、カラー702は電源を従うように変換する。領域706はピン間隔/層標
準を設定する。もしブロック704がピン間隔/層標準に従わなければ、カラー
702はそれをピン間隔/層標準に従うように変換する。カラー702はまた、
硬い状態でグルー708を含む。
している。図38に示すように、システム設計800は4つの回路ブロックA、
B、C、及びDから構成される。ブロックに接続した各矢印線は、そのブロック
のインタフェースを設計するための制約条件を表す。したがって、もしシステム
がn個の回路ブロック(例えば、この実施例ではn=4)から構成されるもので
あるならば、任意の特定のブロックに対するインタフェースはn−1セットの制
約条件まで満足させる必要があるかもしれない。したがって、全てのブロックに
対して満足させられる必要がある制約条件の全体の数は0(n2)である。
ている。システム設計900は4つの回路ブロックA、B、C、及びDから構成
される。ブロックに接続した各矢印線は、そのブロックのインタフェースを設計
するための制約条件を表す。本発明のカラーリング/プロセスを用いることで、
各ブロックはカラーリングインタフェースによって定義された1セットの制約条
件を満足させることのみが必要である。したがって、もしシステムが回路ブロッ
ク(この実施例ではn=4)から構成されるならば、全てのブロックを満足させ
るのに必要な制約条件の全体的な数は0(n)である。
的なBBDプロセスのためのステップを実行するコンピュータシステム1000
を示す。コンピュータシステム1000は、システムバス1001、処理ユニッ
ト1002、メモリデバイス1004、ディスクドライブインタフェース100
6、ハードディスク1008、ディスプレイインタフェース1010、ディスプ
レイモニタ1012、シリアルバスインタフェース1014、マウス1016、
及びキーボード1018を含む。
し、モニタディスプレイ1012はディスプレイインタフェース1010に結合
し、さらにマウス1016及びキーボード1018はシリアルバスインタフェー
ス1014に結合している。システムバス1001に結合しているものは、プロ
セッシングユニット1002、メモリデバイス1004、ディスクドライブイン
タフェース1006、及びディスプレイインタフェース1010である。
ブインタフェース1006とともに動作することで、ハードディスク1008も
またデータ及びプログラムを格納する。しかし、メモリデバイス1004はハー
ドディスク1008よりも速い速度でアクセスされ、一方ハードディスク100
8は、一般にメモリデバイス1004よりも容量が大きい。
モニタ1012は実行されたプログラムとユーザとの間にビジュアルインタフェ
ースを提供し、該プログラムによって生成された出力を表示する。シリアルバス
インタフェース1014とともに動作することで、マウス1016及びキーボー
ド1018はコンピュータシステム1000に対する入力を提供する。
い)は、メモリデバイス1004及びハードディスク1008に格納されたプロ
グラムを実行することでコンピュータシステム1000の動作を制御する。プロ
セッシングユニットはまた、データ転送の制御とメモリデバイス1004とハー
ドディスク1008との間のプログラムの制御とを行う。
が関係する当該技術分野の当業者によって理解されるように、メモリデバイス1
004又はハードディスク1008に格納することができ、またプロセッシング
ユニット1002によって実行することができる。
うに、エンドユーザ又は設計チームによって望まれたシステムの全体的な設計の
パフォーマンス要求を満たす。パフォーマンスが本発明の設計方法に対する主な
検討を要求する一方で、第2の検討はバスタイプ選択の間にゲートカウントを減
少させることである。なぜなら、バスサイズは大きく、単純なバスは小さな、よ
り複雑なものよりも多くの論理を消費するように利用可能なバスタイプ間で変化
することができる。
る。ステップ4110で、カスタマーの一次仕様のフロントエンドアクセプタン
スが完了する。このステップの詳細は上に述べられている。次に、ステップ41
12では、定義済み要求が以下に例示するように分析される。ステップ4114
では、バスクラスタリングがプラニングされ、一方で、レイテンシー、バンド幅
、方向、及びブロックの各々に対する存在するインタフェースを含む変数が十分
に分析され、バス分類法レファレンスライブラリに対してステップ4116で参
照が作られる。次に、ステップ4118で、新たなバス仕様が発生し、コンプラ
イアンスの組及びバスモデル検証サブステップの生成が含め、ステップ4120
で新たな仕様が検討される。ステップ4118及び4120は、アービタ及びブ
リッジをカバーする新たなブロック仕様が生成され、カラーを含むブロック仕様
が修正され、グルー仕様が定義され、テストベンチが生成されるブロックプレス
テージングステップ4122を参照して実行される。
れるバスプラニングについて説明する。利用可能な技術では、システム設計者は
高レベル機能モデル又は設計されているシステムの仕様でスタートする。類似の
システムのシステムノウハウ及び知識を用いて、設計者は該設計のためのバス構
造のハイレベルな図を組み立てる。設計者は一般に各々のバス上のトラフィック
についての大まかなアイデアを有し、いくつのバス、及び何の複雑さが必要とさ
れているかについて推定することができる。バスは、要求されたシステムパフォ
ーマンスを満たすように、また一方でインタフェースを最小限にするように設計
される。次に、設計者はこのアーキテクチャを用いてバス機能モデルを精製し、
該設計が仕様で定義されたように動作するかを確認する。この伝統的な方法は、
結果がノウハウや設計者の過去の経験によって変化することから数量化すること
が難しかった。ここに定義されたタスクは、チップ設計においてバス構造を定義
するプロセスに対して正式の構造を適用する。しかし、そのようなタスクは、最
良の結果を達成するために関連するバス及びシステム開発技術における平均的な
レベルの技量を必要とする。
形態にあるバスは、僅かな論理を必要とするが多くのワイヤは必要としない点間
接続の集まりとすることができる。単純なバスは各クロックサイクルでブロック
間でのデータの移送を行う。いくつかのブロックがこのタイプの情報転送を必要
とする一方で、システムの殆どのブロックが時折他のブロックからの情報を必要
とする。チップピンは大きなシステム設計では非常に高価であることから、パフ
ォーマンスを殆ど失うことなくシステム内で必要とするチップピンの数を減少さ
せ、かつ多くの異なるブロック間での周期的な通信を可能とするためにバスが一
般的に使用される。このことを行うことで、データ転送スケジューリング問題、
例えばどのブロックがバス線を使用することができるか、データが送られるのは
どのブロックか、いつ送信者がデータを送ったか、さらに受信者がデータを得た
かどうか等を把握するために設計者はブロックの各々に論理を加えなければなら
ない。これらの問題はバス上の制御信号及びブロック(バスプロトコル)間の通
信を制御するためのプロシージャを確立することによって処理される。
純な周辺機器バスプロトコルで、1つのデバイスが該バスを制御する。全ての情
報及びデータはこのデバイスを貫流し、ブロックがデータを送信又は受信する一
度に1つのケースを決定する。周辺機器バス処理が相対的に小さい論理を必要と
するが、バス線を効率よく使うことなく、また非常にフレキシブルではない。パ
ケットネットワークプロトコルは比較的複雑である。どのブロックがデータを送
り、またどのブロックがそれを受信しなければならないかについての情報全てが
データと共にパケットに格納される。パケットプロトコルは、任意のブロックを
任意の他のブロックへ任意の時間にデータを送るようにする。このプロトコルは
、非常にフレキシブルであり、バス線を効率的に使用するが、各ブロックはパケ
ットがいつ送られ、またそれが受け取るパケットを解読するかを知るために多く
の論理を必要とする。他のバスプロトコルは異なるレベルのフレキシビリティ、
利用度、及び遅延(バス上で1つのブロックから別のブロックへの情報の転送に
おける最初の遅れ)を有するフレキシビリティの異なるレベルを有する。異なる
バスのタイプ及びそのプロトコルは図59に示されている。
計者はオーサーブロックの部分であるかどうかにかかわらずスクラッチからバス
が生ずるとは期待していない。また、設計者は、複雑なバスによりも既存の十分
に定義されたバス・タイプで論理的にブロックを接続する。したがって、本発明
のBBD方法はブロック間の単一の接続としてのバスを処理する。バスが外部と
通信すること許すためのグルー論理があるように、またグルー論理セクションで
既に説明したように、バスの論理は、好ましくは設計のブロックの間で好ましく
は分散される。
続の単純な形態は、バス接続規則によって定義されるが、複雑なバスの特定のプ
ロトコルは好ましくは定義されない。本発明のBBD方法は、階層を有し、ブロ
ック内に完全に含まれ、ブロックの外にあるワイヤを有し、論理階層の1つのレ
ベルに完全に含まれ、物理的階層の1つのレベルに完全に含まれ、VSIのオン
チップバス(OCB)属性仕様に従って、さらにコンプライアンストランザクシ
ョンベクターによって確認される。また、BBDの範囲外にある条件の多くは、
好ましくは本発明のSOC方法でサポートされる。
で相互接続として定義されるかのいずれか一方である。トップレベルで定義され
たバスは、そのレベルで生成され、ブロック間又はブロック内に分散されるバス
コンポーネントを可能とする。
造に接続しなければならない。このタスクは、もしハードブロックが特定のバス
インタフェースを含むならば、そのインタフェースはカラーを参照して既に仮定
されたように、柔らかいと仮定することができる。また、全てのタイプのブロッ
クがバスインタフェース論理とブロックの実際の機能との間で単純かされたイン
タフェースを含むと仮定する。このことは、周辺ブロックに対しては理由のない
仮定である。なぜなら、多くのサードパーティブロックプロバイダはユーザがバ
スインタフェース論理を加えることができるよう、単純化したインタフェースを
生成する。多数の設計に対して仕立てられるブロックは、最初の機能とバスイン
タフェース論理とを離れさせる。内部インタフェースは、異なるバスでそれらの
ブロックを再利用することを可能とする。内部機能から分けることのできない特
定のバスインタフェース論理をハードブロックが有する場合、より複雑なバスプ
ロトコルトランスレーションがブロックに再送点されてもよい。いずれの場合も
、結果として生ずるバスインタフェースがブロックを設計している間に生成され
た柔らかいカラーの部分になる。 バス必要条件の抽出 フロントエンドアクセプタンスタスクから受け取ったデータは、バスネット、
信号ネット、及びブロックの各々上にあるピンを含む。信号ネットには4通りの
カテゴリーがある。(1)事前に設定されたバス信号であり、プロセッサ等のあ
る種のブロックによって要求された、PCI又はAMBAバス等のバスから構成
されるブロックピン又はネットである。(2)バス信号であり、該信号はピン及
びバスに違いないネットであり、例えば読み出し及び書き込み信号である。(3
)起こりうるバス信号であり、ワイヤ又はブースかもしれないブロックピン及び
ネットであり、(4)信号、ワイヤネット又であってバスによって処理されない
。
信したデータは、信号ネットのそれら4通りのタイプに基づいて維持される。タ
イプ1及び2のネットは、バスを生成するために必要なデータは、カスタマーに
よって、又はさもなければ入手可能のいずれかいっぽうによって提供されなけれ
ばならない。必要なデータは、さらにVSIのオンチップバス(OCB)属性仕
様OCB1 1.0(VSI’s On−Chip Bus (OCB) At
tributes Specification OCB 1 1.0)よって
さらに定義される。なお、この仕様をこの明細書で援用する。
十分な完全なユーザガイド、明日の物理的要求を定義する実装ガイド、バスをテ
ストし、かつ検証するためのシミュレーションツールの完全セット、及び技術的
属性とどのようにしてバスをリストと比較するかについてのリストを持たなけれ
ばならない。また、VSIのオンチップバス(OCB)属性仕様に従うバスを生
成するために、ベンダーは後述するドキュメンテーション及びモデルを提供しな
ければならない。
てバスコンポーネントの形成及び試験が行われる。シミュレーションツールのセ
ットは、以下の要素の行動的ベリログ(Verilog)及び/又はVHDLで
記載されたモデルが含まれる。すなわち、該要素は、バスマスタ、バススレーブ
、バスサポート機能(アービタ、アドレス、デコーダ)、及び標準バスブリッジ
である。これらは、バス検証に関連したセクションで記載されている。
るブロック設計、チップアセンブリ、及びその後のタスクで使用される。以下の
情報はブロック仕様の一部分としてブロック設計に渡される。すなわち、求めら
れた固有のセル、該セルの物理的特性、バス多重化又はステアリングオプション
、メモリマップ、電力配分、及びタイミングガイドラインである。タイミング及
び最大負荷ガイドラインもまたチップ設計プラニングの次のサブステップで使用
される。バスレイアウト又は配線に対するタイミングガイドライン、最大負荷、
及び制限はバス実装で使用するためにチップアセンブリタスクに渡される。
る形態に翻訳されなければならない。したがって、バス分類法参照及びバスタイ
プテーブルはバスタイプを選ぶために設計者に使用される。事前定義バス信号に
対して、設計者は要求された接続が最大負荷及びタイミングガイドラインに適合
することができるか、さらにバスレイアウト及び肺炎制限がチップアセンブリの
際に適合するかどうかを確かめる。もし適合しなければ、設計はフロントエンド
アクセプタンスタスクに送り戻されカストマーによって修正される。
アクセプタンスで受信した相互接続バンド幅及び遅延を使用する。このステップ
は、クラスタの各々及び該クラスタ内のブロックに対して、バンド幅、存在して
いるバスインタフェースのタイプ、及びデータフローの方向を決定する。続いて
、この情報は次のステップに送られて、バスの選択がなされる。
グすることで定義される。ポイント間ネットである可能バス信号は、この及び次
のバス分析及び設計から除去することができる。なぜなら、そのような信号はル
ーティングのためのチップアセンブリタスクに対して直接与えられるからである
。
びアブストラクトモデルを含む。一般に、この相互接続はテストベンチとブロッ
クとの間でデータを転送するソフトウェア機構である。理想的には、通信マネー
ジャの形態、おそらくスケジューラであり、これに全てのブロックが接続される
。一方で、相互接続は挙動モデルにおいて直接接続されたポイント間インタフェ
ースでもあってもよい。
レーションモジュールである。そのようなスケジューラの仮コードは以下のよう
なものである。すなわち、 キューが空ではないときは; キューから次のトランザクションを得る; トランザクションからターゲット・ブロックを得る; ターゲット・ブロック(トランザクション)を呼び出す; 終了; この仮コード例では、各ブロックは以下のことを行う: ターゲット・ブロック(トランザクション) ブロック機能を行う; キューに対して新しいトランザクションを加える; 終了; このコードレベルでは、タイミング及びバスサイズともに定義されていない。
全ての通信がトランザクションで行われ、又は任意のサイズの情報パケットを転
送することによって行われる。トランザクションは、ブロック間の全ての通信が
スケジューラを通して行われるように可能なバス信号と非バス線とを含むもので
あってもよい。
読み取りを行うことができる。この場合、各ブロックは以下のことを行う。すな
わち、 目標ブロック(トランザクション); トップレベルから非バス信号値を得る; ブロック機能を行う; キューに新たなトランザクションを加える; 新たな非バス信号値をトップレベルに与える; 終了 単純化のために、これらの例が非バス信号を含まないことを指摘しておくべき
である。しかし、設計者は上記例に対して同様の調整を施すことで非バス信号を
含めることができる。
ベクタのコレクションである。テストベンチは、チップ全体の機能性を実行する
のに十分なパターンセットを含むものでなければならない。設計者は目標パフォ
ーマンスレベルを粗野なレベルでパターンセットの各々に割り当てなければなら
ない。例えば、もし1つのパターンセットにMPEGデコーダのフレームデータ
が存在するならば、設計者はどれぐらい長く目標ハードウェアがそのセットで該
フレームの処理にかかれるかを定義しなければならない。もし、設計者が出力速
度を1秒あたり約30フレームとしなければならないことを知っているならば、
処理速度はその数を超えなければならない。これらのパフォーマンス目標は、必
要とされるバスバンド幅を定義するためにこのプロセスの次の段階で使われる。
仕様を有するものでなければならない。もし挙動モデルが既にそのような仕様を
持つならば、このステップでモデルに取り込まれるべきである。
である。第1に、テストベンチ及び要求条件が受信される。次に、予備のスケジ
ューラが生成される。相互接続マネージャ/スケジューラ4210は設計のブロ
ック間で情報を伝送し、該ブロックの実行の予定を立てる。相互接続4210は
、次に修正され、かつ修正された相互接続マネージャ4212は統計値ギャザリ
ングを含み、モデルとして加えられる遅延マトリックスがサイクル近似的オペレ
ーションに調整される。最後に、テストベンチはテスト及び設計繰り返しのため
に再び利用される。これらの変更の詳細は以下に続くセクションで説明される。
ッチはデータ遅延(データの最初のユニットが送信元から受信元へ送られるに要
した時間の長さ)に敏感である。殆どのネットワークデバイス、特に非同期転送
モード(ATM)デバイスは、ネットワーク内のコンポーネント及びバスのため
の緊密な遅延要求に翻訳される情報転送のための特定の遅延要求を持つ。ひとた
び設計者が設計のための遅延要求を知ると、該設計者は以下のように相互接続を
調整する。最初に、(1)ブロック間で転送されるデータの量と(2)実行され
たトランザクションの数とを特定する各パターンセットに対して2つのマトリッ
クスを生成する。第2に、サイクルカウント近似を特定する各パターンセットに
対してマトリックスを生成する。この第2のステップは遅延要求がない設計に対
しては必要ではない。
ブロックまで転送されているデータ量をコミュニケーションマネージャーモデル
に加える。次に、スプレッドシートツールを使用して、設計者は各パターンセッ
トのためテーブルにこのデータを蓄積する。 例えば、3つのブロック及びテストベンチを有するチップ用テーブルは、バイト
の状態でテーブルの各項目に転送されたすべてのデータの合計を有するテーブル
からテーブルまで4×4になるはずである。対角線方向はすべて0になるはずで
ある。より多くの実用的なモデルでは、チップの中へ及びチップの外へ進むバス
を考慮に入れると、テストベンチが各評価軸の項目より多くを有することになる
ことに留意されたい。 データ転送マトリクスの例を図43のテーブルに示す。このマトリクスの背後に
ある設計には、テストベンチのための 3つのブロックと3つのポートがある:外部メモリへのインターフェース、PC
Iインターフェース及び並列I/Oインターフェースである。テーブルに示すよ
うに、ブロック1からブロック2へ転送されたデータは10,000バイトであ
り、かつブロック2からブロック1へ転送されたデータは8,000バイトであ
る。 このように、データ転送マトリクスを作成する第1ステップは模範的パターンセ
ットXのトランザクションを示す図44に示すように、すべてのトランザクショ
ンの総計でテーブルを作成することである。 図43及び図44に示すテーブルを作成するには、設計者は次のようにスケジュ
ーラ擬似コードを修正してもよい: 列が空白ではない間に、 列から次のトランザクションを取得する; トランザクションから送信ブロックを取得する; トランザクションからターゲットブロックを取得する; トランザクションバイトカウントを取得する; トランザクションマトリクス(送信側、目標)=トランザクションマトリクス(
送信側、目標)+1; トランザクションマトリクス(送信側、目標)=トランザクションマトリクス(
送信側、目標)+トランザクションバイトカウント; 目標ブロック(トランザクション)呼出す;End; を行う。 非バスブロックからブロックへのワイヤにはある遅延(代表的には、1クロック
サイクル)があるので、バストランザクションの他にタイミング列における分離
したトランザクションとしてこれらを加えることが好ましい。 待ち時間マトリクス 各ブロックのクロックサイクルタイムがフロントエンドキャパシタンスですでに
定義されているため、設計者は原パフォーマンスを次のようにサイクルカウント
に翻訳することができる: 1.それらの仕様で定義されたサイクルに近い動作を反映するため、設計者はそ
の既存挙動モデルに各ブロックの予測クロックサイクルを加える。このステップ
は送るブロックをブロックデザインタスクへ送信する前、しかし検査の後に実行
することが好ましい。 2.設計者はブロックをチップモデルに一体化する。チップモデルは相互接続で
同時に定義されたサイクルに近いブロックを有することになる。 3.設計者はスプレッドシートを使用して図43及び44に示すそれに類似のテ
ーブルをセットアップする。転送されたバイトの数の代わりに、設計者はデータ
が利用可能になる時間からデータが次のブロックまたはテストブロックに到着す
る時間(待ち時間)までのサイクル数を各転送受取り量に指定する。 4.設計者は、新しいテーブルに示したパフォーマンス値を使用するため相互接
続モデルを修正する。 図45に模範的待ち時間マトリクスを示す。これらの修正の疑似コード例を次に
示す: 列が空白ではない間に、 列から次のトランザクションを取得する; トランザクションから時間を取得する; トランザクションからターゲットブロックを取得する; ターゲットブロック(トランザクション、時間)を取得する; End;を行う。 ここで、各ブロックは次を実行する: ターゲットブロック(トランザクション、時間); ブロックの機能を実行する; トランザクション時間を時間+遅延+待ち時間(このブロック目標); 列に対する新しいトランザクションを並べ替える; End。 図44の「0」を読取る項目が、データが転送されずかつ待ち時間マトリクスに
適用不可能であることを表示していることに留意されたい。 5.設計者はテストベンチを修正して設計データフローの知識を使用して予測さ
れたれた相互接続サイクルカウント遅延を有するチップ待ち時間要件を含むよう
にする。 6.設計者はそれがサイクル要件を満たしているかどうかを確かめるように設計
をシミュレートする。 7.チップのサイクル要件が満たされるまで、設計者は待ち時間マトリクスを修
正して検証プロセスを繰り返す。 各タイプのバス転送に利用可能な最大サイクルカウントを有するテーブルを作成
するため、より厳格な待ち時間要件がよりゲート制御集約型バス相互接続方式に
翻訳するため要件が満たされるまで、設計者は大きいサイクルカウントを使用し
てそれらから始めかつそれらを低減なければならない。 クラスタ測定の判定 次に、データの自然なクラスタを反映するため、設計者は対角線方向の中心に最
も近接した最も大きいカウントを移動させることによってデータ転送マトリクス
を再組織する。このプロセスを行う多数の方法がある;好ましい方法は本明細書
においてピボット運動と呼ばれる。ピボット運動の目的は、必要なピン数を最小
にするための最高転送速度でブロックを集合させることである。設計者は自動的
に計算を行うためのスプレッドシートをセットアップしてもよい。 集合させることがどのくらい効果的であるか測定するため、データ転送マトリク
スの各サイトを正確に重みを加えなければならない。この例では、サイトに重み
を加えるため、図46に示した距離マトリクスを使用する。図46のテーブルで
、各セルにはセルが対角線方向による距離の二乗が含まれる。データ転送マトリ
クスサイトに重みを加えるための他の方法を使用してもよいが、より高度の測定
により制限される、システムの要素のある程度の移動し易さがある間急速に集中
することが配置アルゴリズムで示されているため、距離の二乗が好ましい。 次に、設計者は距離マトリクスのその対応するセルでデータ転送マトリクスの各
セルを乗算し、かつセルすべてのためすべての値をまとめて加える。結果がクラ
スタ測定値である。図43のテーブルのマトリクスのクラスタ測定値は428,
200である。クラスタ測定値が低いほど、バス集合はより効果的である。 ピボット運動ブロック より低いクラスタ測定値を取得するように試みるには、クラスタ測定値が向上し
ているかどうかを確かめるため設計者は、ひとつずつ列を交換しかつすべての交
換の後クラスタ測定値を再計算することによりデータ転送マトリクスをピボット
運動しなければならない。下記擬似コードに示したように、サイトが並べ替えら
れるべき一覧表の要素である場合の並べ替えを実行することにより、列の交換が
行われる。 マトリクスの電流クラスタ測定値を取得する(Get Current clu
ster measure of matrix); 現行サイトに対して=マトリクスのサイト1に、をn−1を実行する(Do f
or Current site − site 1 to n−1 in t
he matrix); 次のサイトに対して=現行サイト+1をnに、を実行する(Do for N
ext site − Current site + 1 to n in
the matrix); 現行サイトと次のサイトを交換する(Swap Next site wi
th Current site); マトリクスの次のクラスタ測定値を取得する(Get Next clus
ter measure of matrix); 次のクラスタ測定値>現行クラスタ測定値なら、現行サイトと次のサイトを
交換し元の場所へ戻す(If Next cluster measure >
Current cluster measure Then Swap Next site with Current sit
e back to original location.)。 さもなければ(Else)、 現行クラスタ測定値=次のクラスタ測定値(Current cluste
r me8sure = Next cluster); End; End。 接続でなく相互接続は帯域幅であるけれども、この並べ替えは二次方程式配置ア
ルゴリズムに類似している。設計者はこのひとつの代わりに類似の結果をもたら
す他の方法を使用することができる。 上記に示すようにピボット運動させると、117,000の改良クラスタ測定値
を有する図47のマトリクスが生成される。この理想化された例では、構成要素
が情報を作成しないことに留意されたい。構成要素はそれらが読取ることを書込
むので、列及び行はブロック3及びPIOを除いて、一致するものを合計する。
これは現場で使用するためのケースではないかもしれない。 設計者は図47に示すようなテーブルを使用してバスクラスタを定義することが
できる。この例はブロック1、ブロック2、PCI及びメモリ間の高速データ転
送を示す。従って、これらの構成要素は高速バスでなければならない。ブロック
3とPIO間には低データ転送速度があるため、これらの設計要素は低度バス上
にある。 PIOは出力のみであるが、他の構成要素はすべて双方向性である。クラスタ内
部及び外部の構成要素は連通していなければならないので、図48に示すように
、設計者は2つのバス間のブリッジを作成しなければならない。 クラスタ化に基づくバスの定義 初期のクラスタ化には、好ましくは、すべての予め定義されたバス信号ネットが
含まれなければならない。設計者はクラスタ内でピボット運動させて本質の内部
サブクラスタを示すことができるが、ひとつの以上のバス形式がこれらのシグナ
ルのために定義されなければ、それらを次のタスクのひとつのクラスタとして取
扱う必要がある。 プロセッサのシステム及び周辺機器バスが定義されている場合、クラスタはシス
テムバスと周辺機器バスまたはクラスタ化情報に基づくバスに分けられる。例え
ば図47のテーブルのバスマトリクスが前もって定義されたバスシグナルネット
から構成されている場合、初期クラスタ化にはマトリクス全体が含まれる。ひと
つの以上のバスが定義されている場合、高速バスにあるべきブロックがひとつの
バスを、かつ残りの部分が別のバスを形成する。この分割はその後、次のタスク
に渡される。予め定義されたバス接続がない場合、バスはクラスタ情報に基づい
た方法で定義される。ピボット運動されたマトリクスは通常、他の隣接したブロ
ックと比較されたそれらの間の比較的高いレベルの交信を有する隣接したブロッ
クのグループを有する。図49のテーブルに以前のピボット運動されたマトリク
スに類似の、この種類のクラスタ化を示す。図49は、クラスタ化プロセスをよ
り明らかにするため以前に示したそれらからの異なる例に基づいている。「##
」が大きい数を表すことに留意されたい。 ここの例では、3つのブロック間に高速の交信があり、かつHを介してこれらの
ブロックとブロックD間に交信がないため、ブロックA、Bと、及びCが1つの
独立したバスクラスタを形成する。3つのブロックすべての間に高速の交信があ
るため、ブロックD,E、及びFが別のバスクラスタを形成する。さらに、ブロ
ックD,E、及びFが2つの別々のバス、即ち、D及びE間の二地点間バス及び
別のE及びF間の二地点間バスを形成する。ブロックG及びHが第3クラスタを
形成する。EF対及びGH対間により低い帯域幅接続が存在する。データ転送量
に依存して、E、F、G及びHはより低いレベルの交信のためひとつのバス上ま
たはそれらの間に双方向性ブリッジを有する2つの別々のEF及びGHバス上に
存在してもよい。 多数の異なるクラスタからオプションを選択するために、次の指針に従う: 1.比較的低い交信領域から高い交信領域の、ブロック間のカットポイントを指
定して可能なクラスタを決定する。図49のマトリクスのCとD間のカットによ
り図50に示したダイアグラムが生成される。ABCとDEFGHグループ間交
信量を決定するため、下方左側及び上方右側のセルを合計する。この例の場合の
この合計がOである場合、2つのグループにはそれらの間には交信がない。これ
らのグループは完全に分離したバスを形成する。カットを横切って生じる交信が
Oである場合のピボット運動したマトリクスを切断する。 指定グループの各々内に、効果のあるカットを見つける。生じるグループ間の交
信は各グループ内より非常に少なくなければならない。図50にひとつのカット
がD−Hグループに現れ、かつ図51に示すようにいかなるカットもA−Cグル
ープには現れない。GHグループ間のデータ転送速度は22であるが、他のグル
ープ内のデータ転送速度は非常に大きい数(##)である。これらのクラスタは
それらの間にブリッジで2つのバスを形成することができる。 クラスタ間またはクラスタ内の交信にすべてのブロックが含まれまい場合、ユー
ザに最適化が必要な可能性がある。待ち時間マトリクスにある一定のブロック間
交信に対する非常に異なった要求がある場合、最適化することのみが重要である
。例えば、図51はGHクラスタはDEと交信しないことを示している。DE及
びEFは交信しているが、DとFは交信しない。DEに対する待ち時間要求が非
常に厳密な場合、それ故、設計者はバスの残り部分からDE 交信を分割する必
要がある。図52から、生じるマトリクスが確かめられる。この例ではEがE及
びE’に分割されて、分離したインターフェースが2つのバスのためEに生成さ
れることになるため、それは2つの分離したブロックであるように見える。ブロ
ックに2つの以上のバスインターフェースがある場合、分離したインターフェー
スを効果的に使用するためこの技術を使用してもよい。 この技術が図43の例で使用される場合、図53に示したそれらの間のブリッジ
2つのバスを有するクラスタが生成される。ひとつのバスがデータ著しい量を転
送する一方、その他は非常に少ない量を転送する。ブロック3とPIO間の別の
カットがクラスタ間のより低い交信にさえも生ずることになる。しかし、それが
クラスタにただひとつのブロックを残すためこれは重要なカットではなく、従っ
てそれは作成されない。 4.すべてのカットが作成されると、生じるクラスタ情報は次のタスクへ渡され
る。 このクラスタ化技術には、チップのためバス構造を生成するシステム知識が必要
とされる。設計者は現行ブロックバスインターフェース、追加プロセッサ要求、
及びバスに関するマスタ数などのデータタイミング及び実行詳細を考慮しなけれ
ばならない。これらの要因は、このクラスタ化方法を使用して得られた構造から
はずれることがよりよい性能または処理手順に単に追従することにより得られた
ものよりより低いゲートカウントを有するバス構造を生成することを示唆してい
る。そうであれば、設計者はこのタスクを繰り返えしてクラスタ化結果を修正す
ることを欲する可能性がある。 バスの選択 設計者がクラスタ化方法を使用してバスを定義したら、バス形式及び性能階層構
造を選択しなければならない。バス階層構造とは最高性能のバスからその最低性
能のバスまで低下するバスの水準である。例えば、設計に高速システムバス及び
2つのより低速の周辺機器バスが含まれている場合、階層構造はシステムバスか
ら2つの周辺機器バスまでである。 バス分類参照ライブラリによるバス属性及びサイズは、各バスのバス形式を定義
するため使用されることが好ましい。ライブラリにより利用可能なバス形式の各
々のため1組のバス属性が一覧表にされる。適切なバスを選択するため、設計者
は現行バスインターフェースのためのクラスタで各ブロックを分析する。何もな
いかまたはほとんどない場合、バスは最も類似する属性を有するバス分類参照ラ
イブラリのバス形式が選択される。この選択プロセスの結果がバス設計を指定す
る、次のタスクで使用される定義されたひと組のバス及び階層構造である。 バス分類参照ライブラリ及び設計におけるブロックのインターフェースをチェッ
クインして、バスを以下の通りに選択する必要がある: ラスタの帯域幅及び待ち時間を満足しないバスを除去する; 2.バスがすでに定義されている場合、そのバスを使用するが、さもなければ; 3.プロセッサが存在れば、それがすでに接続しているシステムバスを使用する
、さもなければ; 4.ほとんどのブロックがすでに接続しているバスを選択する; 5.それが接続されるものに、ほとんどのブロックのendian−nessを
扱うことが可能なバスを使用する(大きいendianにはデータユニットの左
端にOビットがある;小さなendianは右側にはない) ; 6.バスの負荷が過大な場合、多数のバスを使用する; 7.より低帯域幅のデバイスを周辺機器バスまたは(複数の)バスに分離する; 8.既存ブリッジを有する周辺機器バスを使用してシステムバスを選択する; 9.選択プロセスの終了後、ひとつの以上の選択がある場合、それが最良ツール
及びモデルサポートを有することになるため、OCB属性一覧表を最もよく満足
するバス形式を選択する。 バスサイズの計算 バス待ち時間テーブルは、このステップの出発点として使用される。クラスタ化
を使用して指定バスコンフィギレーションが識別されると、情報をバスのサイズ
を決定するのに使用可能な形態に翻訳しれなければならない。以前のタスクの例
からのマトリクスでは、最初の4つのエントリはひとつのグループにクラスタ化
され、かつ後の2つは2つのグループにクラスタ化される。 バスサイズの計算には、目標帯域幅が可能な限り近くに接近するまで別のバス幅
値を代入して、転送されるデータ量のためかつ帯域幅を計算するため必要な帯域
幅の決定が必要とされる。 目標帯域幅の決定 パターンセットのバスに必要なターゲット帯域幅の決定には次のステップが必要
とされる; 1.ピボット運動されたデータ転送マトリクスの各クラスタで生ずるトランザク
ションすべてを加える。同様の例について続行すると、大きいクラスタで62,
600、小さなクラスタで100、及びクラスタ間で1,200である。従って
、図55のマトリクスは図54の4つのグループの各々にエントリを加えること
によって生成される。 2.このパターンセットが取り込むことが予期される時間を決定する。フロント
エンド受け入れタスクがこの情報を提供する。この例については、パターンセッ
トは1ミリ秒で転送されなければならない、即ち、高速クラスタは63,800
バイトのデータ−1,200バイトをブリッジへかつ内部の62,600バイト
をバスへ−11ミリ秒で転送しなければならない。帯域幅は1秒で転送可能な、
ビットでの、データ量として定義される。この例では、1ミリ秒に510 Kビ
ットが転送され、帯域幅はほぼ510MHzである。 バス幅の計算 帯域幅はデータが転送されているクロック周波数倍のバス(バス幅)のワイヤ数
により構成される。 帯域幅はデータが転送されているクロック周波数倍のバス(バス幅)のワイヤ数
により構成される。 計算は次のように実行される: (until / clock_cycle) × bus_width =b
andwidth ここで、 untilは、選択されたバス形式の最小バス利用百分率である(図59を参照
); clock_cycleは、設計のためのクロックサイクルであり;かつ bus_widthは、バスのワイヤ数である。この値は2のべき数でなければ
ならない。 計算のため、bus_ widthに対して21から始め、かつ生じる帯域幅値
が目標帯域幅より大きくなるまでより高い値(22、23、 ...)を代入し
続ける。例えば、クロックサイクルが20ナノ秒であり、かつバス利用が25%
である場合、2に最も近いべき数に端数をまるめられたワイヤの数は、64ビッ
トである。ここで、 (25%/20 ns)*26 =800 MHz>510MHz。 この例では、図59のテーブルから形式4または5が選択される場合、高速クラ
スタのためのバスでは少なくとも64ビットが必要とされることになる。同様に
、20 ナノ秒のサイクル時間は、より遅いクラスタのためただ8ビットが必要
とされることになる。 バスの増大された利用が待ち時間を増大させるため、待ち時間情報は部分的利用
機能である。例を簡単にしておくため、このような複雑さは含まれていない;そ
れは、利用数の部分的な説明になっている。しかし一般的に、ひとつの帯域幅計
算のために最小バス利用数を使用する場合、待ち時間も同様に最小に向う傾向が
ある。この効果を説明するために、設計者は、クラスタから最も悪いケース(最
も少ない)待ち時間要求を選択する必要がある。 従って、設計者はシミュレーションで使用した待ち時間マトリクスからトランザ
クション全体の待ち時間を導出すことができるが、図59のテーブルは分離した
数としてバス待ち時間データ及び転送値を示す。図59に形式4のバスの10通
りの最大転送待ち時間を示す。最小データ待ち時間は単独データのため必要なサ
イクル数に近い。従って、設計者は、いずれが正味の転送待ち時間であるかを、
下記に示す待ち時間マトリクス数からデータ転送時間を減算することにより計算
する必要がある; deta_transfer_time * min_cycles / nu
m_words * avg_trans ここで、 min_cyclesは、このバス形式のデータ待ち時間サイクルの最小数であ
り; num_wordsは、バスにおけるワード数であり;かつ avg_transは、平均トランザクションサイズ;トランザクションマトリ
クス(図44)におけるトランザクション数で分割されたデータ転送マトリクス
(図43)からのデータのバイト数である。 テーブルからの待ち時間を比較するために、設計者はトランザクションのデータ
待ち時間をマイナスシミュレーションマトリクスから引いた待ち時間値を使用す
る新しい待ち時間マトリクスを作成しなければならない。上記例では、このテー
ブルは図53に示すようになるはずである。このマトリクスの各要素は次のよう
に計算される:[Resulting Latency(x,y) − Min
Bus Latency data (type)] *(Data Tra
nsfer(x,y) / Transaction(x,y) t bus
size))。 システムバスクラスタの最少数は25である。この値は帯域幅のために必要なバ
スの形式の最大転送待ち時間より大きくなければならない。その数はバス形式4
の転送待ち時間の図59のテーブルでは10であり、従って、設計者は高速クラ
スタのためバス形式4または更に良好ないものを選択することができる。 バス階層の生成 設計者が一旦バスとそれらの負荷を確認すると、いずれが高速バスであるか、い
ずれが低速バスであるか、及びどのブリッジ及びアービタが必要とされているか
を判定するステップを含むバスパ性能階層が指定されなければならない。2つの
バスが低減バスマトリクス(セルから/セルへのそれらはゼロでない値を有する
)で接続される場合、それらの間でブリッジが生成される。図54の例を使用し
て、ピボット運動したデータマトリクス及び低減バスマトリクスからの次のバス
モデルが生成される: 下記に接続された64ビットのシステムバス(形式4または5): Block 1(RNV) Block 2 (RNV) Memory (RNV) PCI (RNV)。
ブリッジ(RNV): Block 3 (読込み/書込み) , PIO (書込みのみ)。 注記:それからの到来データがないため、PIOは書込みのみである。バス1と
2間の両対角線方向がゼロではないため、ブリッジは読込み/書込みである。 このマップは次のタスクに渡されバス設計が指定される。 バス設計の指定 バス設計を指定するため、設計者は作成されたバスを元のブロック、ブリッジ及
びアービタなどのひと組の新しいブロック、及びひと組のグリュウ論理回路のた
めのひと組のインターフェース仕様に拡張する。新旧のロック仕様はブロック設
計タスクへ渡される。グリュウ論理回路はミニブロックとしてブロック設計を通
ってチップ組立体タスクへ転送される。バスがOCB属性仕様を満足する場合、
それにはアービタ及びブリッジなどの他のバス対象と同様に、マスタスレーブデ
バイスのためのモデルを有している。バスを選択する定義されたマップを使用し
て、設計者は詳細バス構造を作成する。 詳細バス構造 詳細バス構造を作成するため、設計者は下記を実行しなければならない: 1. 単一負荷及びブリッジですべてのバスを除去することによってバスを最適
化する。システムバスのプロトコルとただひとつの周辺機器のバスとの間の翻訳
がゲートの観点から緩慢でかつ高価であるため、負荷をブリッジの反対側に置く
必要がある。設計者はブリッジ論理回路を完全に除去できない可能性があるが、
バスが二地点間交信に縮小するのでトリステートインターフェースは除去される
。さらに、2つの端部を一緒に置くことができるため、8ビットを多くの不利点
なしに16ビットに変えることができる。 2.バス・マスタ(bus master)及びスレーブを様々なロードに割り当てる。設
計者は、ブリッジでまる。それは、より遅いサイド(side)でのマスタ及びより
速いサイドでのスレーブである。周辺バス上のすべての装置は、スレーブ装置で
ある。システム・バス上では、マスタ及びスレーブは、どの装置が、前記バスを
制御する必要があるかによって定義される。設計の知識は、この決定を手助けす
ることができる。プロセッサが、前記バスに接続されている場合、そのインター
フェースはマスタである。そうでなければ、明白なマスタがない場合、PCI等
の外部インターフェースがマスタである。メモリ・インターフェースは、ほぼ常
に、スレーブ・インターフェースである。どのブロックがマスタ・インターフェ
ースを要求するかを決定するために、設計者は、前記バスへの相互接続条件を参
照しなければならない。 3.プロセッサ又は他のブロックが、メモリ・インターフェースも有するバスに
接続されている場合、及び前記ブロックが特定的にそれを必要とする場合、設計
者は、前記バス上に、一つ以上の直接メモリ・アクセス(direct memory access
)(DMA)装置を含むべきである。これらの装置は、バス・マスタとして動作
する。 4.最後に、一つのバス上の二つ以上の装置がバス・マスタである場合、アービ
タ(arbiter)を追加する。 詳細なバス設計 バス構造が定義されると、ブロック・バス・インターフェースが検査される。
ブロックがすでにバス・インターフェースを有する場合、前記インターフェース
は、前記バスに合わせるために、ソフト(soft)、ファーム(firm)、又はパラ
メータ表示された形式でなければならない。この場合には、存在するバス・イン
ターフェース・ロジックが使用されるべきであり、そうでなければ、前記バスを
備えたモデルが容認される。異なるバス・インターフェースが前記ブロック上に
ある場合、それは可能であれば排除されるべきである。
ばならない: 前記インターフェースの各々に、アドレス空間を割り当てる。前記アドレス空間
は、通常はこのブロックがアドレス指定されているか決定するために、トランザ
クション・アドレスの上位ビットに適合するように設計される。また、各ブロッ
クが、内部記憶装置に関して十分なアドレス空間を、又は前記ブロックにおいて
使用される操作コードを有することを確実にしなければならない。 一つの機能のみが使用される場合、書き込み又は読み取りバッファを排除する。
ほとんどの現存するバス・インターフェースは、読み取り及び書き込みの両方の
ために設計されている。設計者は、これらの機能のたった一つが必要とされる場
合に、ロジックを顕著に低減させることができる。例えば、前記バスが1以上の
クロック・サイクルを必要とする場合、読み取り及び書き込みデータは、通常個
別にバッファされる。一つの機能のみが必要とされる場合、設計者は、レジスタ
・ビットの半分を排除することができる。 定義されたバス・サイズに適合するように、設計を拡張し又は短絡させる。ほと
んどのバス・インターフェースは、標準32又は64ビット・バスに設計されて
いるが、他の選択肢も可能である。設計者が、非標準バス・インターフェースを
必要とする場合、前記設計者は、レジスタ又は信号線を排除し又は追加するため
に、前記ロジックを変更しなければならない。同様に、前記アドレスは通常、デ
ータと同じサイズであるが、そうでなくてもよい。アドレス及びデータを、同じ
バス信号に交互に配置するバスに関して、データ及びアドレス・サイズにおける
不適合は、信号ではなく、上位オーダのアドレス・デコード又はデータ・レジス
タ・ロジックを排除するのみである。 必要な場合は、前記ブリッジにバッファを追加する。そのような変更は、ステッ
プ3におけるように、前記ブリッジの両方のサイドに対してなされなければなら
ない。
ンターフェースに関して、ブリッジは、各機能に関して少なくとも一つのレジス
タを必要とし、両サイド上のバスの大きい方に等しい。各機能に関するデータ・
バッファに加えて、データのバーストは、データが、例えば図57に記載された
ブリッジを使用して、次のバスに転送される前に、ブリッジによって受容される
場合に、より効率的に転送されることができる。図58のブリッジにおいて記載
のとおり、これは、各機能に関するFIFOに、バーストを記憶し、及びそれを
次のバスに転送するよう要求する。 バス・マスタ及びアービトレーション(arbitration)の種類の優先順位を定義
する。バス上に一つ以上のマスタがある場合、マスタ間には、ある種のアービト
レーションがなければならない。厳格な順番の優先順位から、ラウンドロビン・
アービトレーション(round-robin arbitration)まで、多くの種類のアービト
レーションがある。前記マスタの両方が、類似の数のトランザクション及び必要
とされる待ち時間で、同じ量のデータを扱う場合、それらは、等しい優先順位を
有するであろう。その一方で、前記マスタの重要における明白な順位がある場合
、データ、トランザクション、及び待ち時間の量における同等の順番で、アービ
トレーションは並列化され、最も重要なマスタを第一位に置く。 ステップ5における定義に基づいて、アービタを作成し及び接続する。アービト
レーション体系は、バスに依存して、分散され又は中央化されうる。アービトレ
ーション・ロジックは、それが、グルー・ロジック(glue logic)でブロックへ
と分散されるように、可能な限り分散されるであろう。 装置のエンディアンネス(endian-ness)によって要求されるとおり、前記バス
を前記インターフェース・ロジックにマッピングする。ほとんどのバスは、リト
ル・エンディアン(little-endian)であるが、いくつかの装置は、ビッグ・エ
ンディアン(big-endian)である。エンド・タイプ間に不適合がある場合、設計
者は、前記バスからデータのバイトをどのようにスワップするかを決定しなけれ
ばならない。この決定は通常、コンテクスト(context)に依存する。前記バス
へ、及び前記バスからのすべてのトランザクションが、同じ種類のデータである
場合、設計者は、固定バイト・スワッピング(fixed byte-swapping)を使用し
てもよく、そうでなければ前記バス・マスタは、スワッピングをしなければなら
ない。 DMA装置を、前記バスに合わせる。直接メモリ・アクセス装置は、データを一
つのブロックから他のブロックへと転送するコントローラである。それらは、他
の装置と同じように、アドレス・バスのサイズへと変更されるべきである。 10.必要な場合、テスト容易性ポート及びインターフェースを追加する。最低
レベルのテストは、バスそのものをテストする性能である。標準チップ・テスト
・ロジックは、バスを使用することもできる。これらのテスト特性は、テストを
、通常のオペレーション・モードから区別するために、さらなる信号を必要とし
てもよい。 11.必要な場合、初期化パラメータを追加する。PCI等のいくつかのバスは
、コンフィギュレーション・レジスタを有する。これらのレジスタは、変化しな
いコンフィギュレーションに関してハードコード化されてもよい。 12.前記バス上の装置によって要求される場合、任意のバス性能を追加する。
いくつかのバスは、スレッド、分割トランザクション、及びエラー・リトライ(
error retry)等の進化した性能を有し、それは前記バスに接続された前記装置
が、それらを必要としない場合は、実行される必要がないかもしれない。DMA
装置、非連続バースト転送、及びエラー回復制御等、追加の性能のいくつかは、
標準バスにおいて定義されるよりも多くの信号を必要とするかもしれない。これ
らの信号は、必要な場合は、前記バスに追加されるべきである。 これらの変更が完了すると、バス・インターフェース・ロジックは、前記ブロッ
クの結果としてのインタフェースに接続される。
)において使用可能なバスに関する帯域幅、待ち時間、及びデータ方向との関係
を列挙するライブラリである。分類ライブラリは、比較的固定された情報の集ま
りである。このライブラリの責任者は、新しいバスが利用可能になる時、前記バ
ス属性を更新する必要があるかもしれない。 バス・タイプ参照 バス・タイプは、待ち時間及び帯域幅ユーティライゼーションによって分類さ
れることができる。純粋な帯域幅は、バスにおけるワイヤの数に、前記データが
転送されるクロック周波数をかけたものの関数であるが、帯域幅ユーティライゼ
ーションは、アーキテクチャの関数である。
域幅ユーティライゼーション及び最短待ち時間までの特定のバス属性のリストを
示す。通常は、ロジック及びワイヤにおけるコストは、最初は最小で最後は最大
である。ライブラリにおける各バスは、このテーブルから割り当てられたバス・
タイプを有しなければならない。各バス・タイプは、ある範囲のサイクルにおけ
る待ち時間及びユーティライゼーション率におけるバス帯域幅を有しうる。各バ
スは、異なるクロック・サイクル時間及びサイズを有してもよいので、ユーティ
ライゼーション率は、サイクル時間にバスのサイズをかけた積に対する有効処理
量である。100%のバス・ユーティライゼーション値は、すべてのサイクルが
完全に利用されていることを意味する。データ待ち時間列は、バスが1ワードの
データを転送するためにかかるサイクルの数を示す。転送待ち時間列は、バス・
トランザクションを開始するためにかかるサイクルの平均数である。図59にお
けるテーブルは、バス・ユーティライゼーション及び待ち時間値の概算を示す。
設計者のグループは、経験及びその設計の種類に基づいて、値を特定することが
できる。 バス分類参照 多くのプロジェクトに対して、設計グループは、バスのライブラリを蓄積する
。各バスは、図41に記載の参照ライブラリからのバスの種類を含む一組の情報
を含み、及び「ブロック・ベースの設計方法の文書化(Block-Based Design Met
hodology Documentation)」バージョン1.2、1999年5月21日(そのす
べては、参照のため、ここに採用されている)B.2節、ページB−5乃至B−
10に記載のVSI OCB属性仕様及びバス分類参照からの、バス属性のリス
トを含む。この情報は、記載のとおり、どのバスを使用するか決定するために使
用されるであろう。テストのための設計 背景で記載されたとおり、テストの容易性は、SOC設計の最も重要な特性で
ある。このようにテストのための設計(design for test)(“DFT”)は、
標準になった。一定の顧客仕様に関して、本発明の方法及びシステムを使用して
引き出されたDFT知識ベースは、顧客に質疑応答(Q&A)形式を提示するた
めに、探索され及び抽出されうる。この装置を通して、テスト目標が検討され、
及びテスト問題が、フロントエンド受容の間に検討されたステートメント・オブ
・ワーク(Statement Of Work)(SOW)で解決される。
管理が続き、その結果、一組の公知のリソース及びプロシージャを伴う、明確に
定義された目標のために、さらにテスト開発を、個別の、独立したサブタスクに
分解するために、一組の仕様及びテスト・プランを生む。
の利用可能な技術でテストされうる。
/O制限が適用されない、制約を受けないSOC境界にマッピングされ、それに
よって各層は、設計ブロックへと変換されるべき、制約を受けないSOCのため
の「テスト準備」テンプレートになる。制約を受けないSOCは、追加のI/O
レベル・テストを伴う特定のI/Oパッケージングに制約される。これによって
、テスト・スケジュール処理が発生し、及びSOCレベル・テスト目的が満たさ
れる。 DFTテスト・プランを作成する FEA中の顧客のプランの入手後、本発明のテスト・プラン開発体系は、好ま
しくは、それがテスト・マージ可能(test-mergeable)であるか(前記テストが
、複数のブロック上で自発的に実行されるか)を見るために、各ブロックの査定
で開始する。次に、設計者は、マージ非可能ブロックの各々がどれほど「テスト
可能である」かを決定する。第三に、JTAG境界走査、DCテスト、及びPL
Lテスト等のテスト・タイプを含むチップ・レベル・テスト仕様が開発される。
最後に、テスト故障補償が、チップ・レベル全体におけるテスト・マージ可能ブ
ロックのために、ブロック・レベルにおけるマージ非可能ブロックのために、及
び相互接続のために特定される。この四叉の初期分析の結果は、本発明のシステ
ム設計全体に関して、DFT目標を与える。 DFT規則を使用する DFTアーキテクチャ規則は、特定的な、テスト関連の制約であり、一貫した
テスト開発フロー及び結合テスト・データ管理を維持するために使用される。こ
れらの規則は、最高レベルにおける仮想ソケットにおける配置のための各マージ
非可能ブロックへのテスト属性の適用を導き、最も単純で最も適応性のあるテス
ト戦略を得るために、トレード・オフの実行を導き、設計のために、最高レベル
のテスト仕様の作成をし、及びテスト・プランの抽出が、テスト実行処理を詳述
できるようにする。 DFTグロッサリ(DFT Glossary) 列挙されたDFT用語は、ここに使用され主張されているとおり、以下の定義
を有する: オーソライゼーション 予め設計されたブロックを統合することを可能にする変
換処理。
ort) DAP 設計アクセス・ポート(Design access port) DFT テストのための設計(Design for test) 故障補償 テストの縮退故障補償 ICTAP 集積回路テスト・アクセス・ポート (Integrated circuit test access port) IP 知的財産(Intellectual property) JTAG 結合テストアクション・グループ(Joint Test Action
Group)(iEEE−i149.1) レガシー・ブロック 未知の結果を危険にさらすことなく、再使用性のために
、変更又は分解模倣されることができない、予め設計されたゲート・レベル・ブ
ロック マージ可能 マージ可能コンポーネントに関するテスト条件は、一つ
以上の他のコンポーネントのそれと結合されうるので、それらは、一単位として
テストされることができ、テスト時間及びコストを節約する。
ignature generator) Mux マルチプレクサ(Multiplexer) マージ非可能 並行テストのために、他のブロックとマージされること
ができない PRPG 偽ランダム・パターン・ジェネレータ(Pseudo-random
pattern generator) SAP ソケット・アクセス・ポート(Socket access port) ソケット化 テスト・カラー(test collar)を特定し、及び設計内
のテストを許可する、予め設計されたブロックに追加するための適応処理 TAP テスト・アクセス・ポート(Test access port) TBA テスト・バス・アーキテクチャ(Test bus architectur
e) テスト・カラー テスト・アクセス及び制御を供給する、予め設計された
ブロックを取り囲むテスト・ポート及びロジックの集まり テスト・マージ可能 少なくとも一つの他のブロックと併合可能なブロックで
あり、二つ以上のブロックが、単一のテスト・プロトコルでテストされる Timeset サイクル化されたテスタ時間フォーマット:RZ(ゼロ
復帰)、NRZ(非ゼロ復帰)、RTO(1復帰)、DNRZ(遅延非ゼロ復帰
) UDL ユーザ定義のロジック(User-defined logic) VC 仮想コンポーネント(Virtual component) 仮想ソケット そのテスト・インターフェースを含む、予め設計された
ブロックに関するプレースホルダ(placeholder) VSIA 仮想ソケット・インターフェース連合(Virtual Socket Interface Alliance) テスト・プランを作成する DFTテスト・プランの全体を作成する処理は、FEAが生成した入力から、
各ブロックに関するテスト技術と、予想されるテスト・ベクトル仕様と、製造に
関するテスト時間条件と、及びI/O及びアナログ/混合信号(“AMS”)条
件モジュール(xref)によって供給される特別なパラメトリックな、又はア
ナログのテストを受け取るテスト設計者で始まる。それゆえに、完全なDFTプ
ランを作成することは、このデータの有効な編成及び使用を具備する。 マージ非可能ブロックに関するテスト条件 チップ・レベル・テスト条件は、マージ非可能ブロック・テスト条件を含み、
それは、順に、四つのコンポーネント:テスト・モデル、専用テスト・ポート及
びテスト・モード等のテスト制御ロジック、セーフ・アウト(safe-outs)等の
テスト分離ロジック、及びテスト・ベンチ及びテスト・ベクトル等のテスト妥当
性検査コンポーネント、を具備する。マージ非可能ブロックは、顧客に届けられ
る時、それらは:テスト・アクセス及び制御データ(テスト・モード、活動化、
及び非活動化等)、テスト・プロトコル、テスト・データ、テスタ・フォーマッ
ト、及びテスト・アプリケーション/セットアップ時間を特定する。 マージ可能ブロックに関するテスト条件 チップ・レベル・テスト条件はまた、すべてのテスト・マージ可能ブロックに
関するテスト情報を含み、それは、順に、テスト方法、テスト制御ロジック、相
互接続実行メカニズム、及びテスト妥当性検査コンポーネントを具備する。 チップ・レベル・テスト条件 チップ・レベル・テスト条件はまた、DCテスト条件、ACテスト条件、配電
等のlddqテスト条件、及びアナログ・テスト条件も含む。 チップ・レベル・テスト・コントローラ チップ・レベルにおけるテスト制御は、テスト・インターフェース、JTAG
、PRPG及びMISRでもよい。 コンポーネント属性マトリックス 設計者は、BBD設計におけるコンポーネントに関するテスト開発環境を計画
するために、マトリックスを使用してもよい。このマトリックス文書は、可能な
解決法、及び追加の情報が必要とされる注記を発行し、推奨し、又は評価する。
前記マトリックスはまた、テスト設計における難点及び互換性があるコンフリク
ト領域を識別する。 DFT規則を使用する 一度、設計者がマトリックスを使用することによって、チップ・レベル・テス
ト条件をフィルタに掛け、及び階級化すると、前記設計者はこれらの条件を、一
組のDFTアーキテクチャ規則で処理することができる。アーキテクチャ規則を
使用することによって、共通アクセス、テスト制御、テスト・クロック及び非同
期属性の確立、及び利用可能なDFTアーキテクチャに基づいたトレード・オフ
が、設計されているチップに関する独自の混成したDFTアーキテクチャの作成
を可能にすることができる。
合を確実にするために、設計者は、仮想ソケットを、フロントエンド受容の端部
において受信された制約及びテスト情報に基づいて、各マージ非可能ブロックに
割り当てる。DFTアーキテクチャは、これらの仮想ソケットを、チップ・レベ
ル・テスト条件の残りに統合することによって、仕様を完成させる。各仮想ソケ
ットは、そのようなテスト・データの変換を達成するために、チップ・アクセス
・ポート(CAP)へとマッピングされたソケット・アクセス・ポート(SAP
)を有する。
前記設計者は、一貫性及び結合性のために、前記グループのDFTアーキテクチ
ャ規則を検査しなければならない。 一貫性 一貫性は、各コンポーネントに関するテスト開発補償が、4つのオペレーティ
ング・モードにおいて、完了する程度であり、4つのモードとは:通常、テスト
、分離、及び境界(コテスト(co-test))である。設計者は、そのモデル、コ
ントローラ設計、分離、及びテスト妥当性検査値が、各ブロックとチップ・レベ
ル記述の間で一貫することを確実にするために、各コンポーネントに関するチェ
ックリストを使用してもよい。
、テスト・コントローラ設計は、ブロックB及びCが分離される場合のみ、ブロ
ックAをテストすることができる。テスト・コントローラ仕様は、特定的に、B
及びCの両方が分離される時のみ、ブロックAテスト・アクセスを可能にしなけ
ればならない。ブロックB及びブロックCが、同時にテストされることになって
いる場合、テスト・コントローラ仕様は、単一のシミュレーション環境において
、それらのテスト・データを同期させるテスト妥当性検査体系で、両方のブロッ
クへのテスト・アクセスを可能にしなければならない。
。 結合性 結合性は、ある流れにおけるテスト方法が、互いに関与する程度である。5つ
の密接な関係を有するテスト方法パラメータがある;各々は、他を変更すること
ができる。例えば、前記テスト・アクセス方法は、テスト・プロトコルの活動化
条件を定義し、前記テスト・プロトコルは、テスト・データがどのように順番を
つけられるかを定義し、及びテスト・データは、特定の手スタ・タイムセットを
有する、一組のパターンに分解される。そして、埋め込みブロックへのテスト・
アクセスは、チップI/O制限及びコントローラ設計の影響を受けやすいので、
これらのパラメータの結合性は、テスト・データの保全性を維持するために、独
自の検査スタイルを必要とする。それゆえに、前記5つのテスト方法パラメータ
は、テスト・アクセス、テスト・プロトコル、テスト・データ、テスタ・タイム
セット、及びテスト時間である。 アーキテクチャ規則 図61は、DFT透視図からの、チップの最高レベルの階層を示す。設計者が
DFT処理を始める前に、前記設計者は、機能的ブロックの集まりとしてよりも
、図61に記載のとおり、前記チップを視覚化するであろう。図62は、マージ
非可能ブロックがソケット化されるSAP及びDAPを伴う、機能的ブロックで
作られた設計を示す。
は混合レベルのHDLで記述されうる。HDLファイルは、ディレクトリ構造で
編成される。テスト・ファイルを編成するための好ましい方法は、以下のアーキ
テクチャ規則で説明されるとおり、ディレクトリ階層を作成し、それからテスト
・ディレクトリにおけるリンクを、設計階層におけるデータ・ファイルへと入れ
ることである。この方法で、チップはHDLディレクティブを使用して、異なる
コンフィギュレーションで作られうる。
べての属性は、最高レベルにある。それゆえに設計者は、最高レベル設計ファイ
ルに、抽出可能コメント形式で、属性を入れるために、本発明の方法に従って、
以下のアーキテクチャ規則を使用するであろう: DFTアーキテクチャを階層的に記述する。 階層の最高レベルにおいて、単一のチップ・アクセス・ポート(CAP)を作成
する。前記CAP仕様は好ましくは: a.設計及びテスト・データを一貫して維持するために、すべてのテスト制御及
びテスト・データ・ピンを、パッケージ・レベル・ピンにマッピングする b.テスト制御ピンを、テスト・データ・ピンから分離する。 c.テスト制御ピン属性を、専用又は選択可能のいずれかに設定する: それが、好ましくは、通常モードで専ら非活動化される場合、「専用」である;
専用ピンは、機能ピンと共有されえない。 それが、テスト全体を通して、テスト定数−論理値−に設定されうる場合に、「
選択可能」である;選択可能ピンは、機能ピンと共有されうる。
ック・ピンとのみ共有されうる。 リセットのために、テスト中に非同期的に使用される場合は、 test_asyncに設定される;test_asyncピンは、他のテスト
、テスト・モード、又は分離モードとの矛盾を生じない場合、専用にされ又は共
有されうる。 (i)が、test_groupピンと、テスト中に同期される test_clockである、test_group(i)に設定される。
テスト・セットアップ。JTAG命令、テスト・クロック、又はテスト・リセッ
ト等、プロトコルを記述する。 実際のテストを実行するために必要なテスト実行。タスク・レベル、繰り返し数
、サイクル時間、テスト長、及びテスト結果への段階における、テストの順序を
記述する。 前記テストを閉鎖し、及び前記チップを、デフォルト状態(通常モード)に戻す
ために必要なテストの後処理。 各テスト・モードに関して、テスト・セットアップ及びテスト処理順序を記述す
るCAPコントローラ仕様を作成する。前記仕様は、好ましくは、実行可能(合
成可能)で、(テスト・ベンチ及びテスト順序を介して)検査可能である。 設計者は任意で、内部テスト・データ・バスを、利用可能なテスト・データ・ピ
ンへと包み込むために、一組のステージング・ラッチ(staging latches)を特
定してもよい。ステージング・アクションは、好ましくは、それに続くテスト結
果を変えない。前記ステージングは、好ましくは a.状態変更、時間依存(time-sensitive)信号を免れる。 test_async信号を使用するか、又は分解するために、 test_clockと関連する、一貫した発生順序に従う。
するであろう。この規則は好ましくは、テスト・パッケージ問題を回避するため
に、賢明に使用される。 設計者は任意で、テスト・データを圧縮するために、MISR等のテスト・デー
タ・シグネチャ分析機能を特定してもよく、それは物理的I/O制約を最小化す
る。前記シグネチャ分析は好ましくは、各オペレーションのサイクルに関して決
定的であり、好ましくは: a.MISR入力でそれを避けることによって、X値伝播(X-value propagatio
n)を免れる。 b.ステップaが失敗した場合、影響を受けたMISRサイクルを抑制する。こ
の規則は、故障補償の損失を避けるために、賢明に従われる。 設計者は任意で、以下の特殊テストを実行するために、チップ周辺における一組
の他のテスト・メカニズムを作成してもよい:境界走査テスト等のDC及びAC
パラメトリック・テスト;PLLテスト等の周波数テスト(frequency tests)
;及びADO及びDACテスト等の混合信号テストである。これらのテストに関
する制御ピンは好ましくは、すべてのtest_controlピンのテーブル
に含まれる。設計者はまた、矛盾するインタラクションを避けるために、CAP
コントローラ仕様においてそれらを含みたいと思うかもしれない。 次のレベルの階層において、単一の装置アクセス・ポート(DAP)を特定し、
前記レベルはI/O又はI/O関連セルがなく、物理的I/Oに制限されない。
前記DAPは好ましくは、TAPベースのポート等、汎用ポートを連結し、マー
ジし、リサイズし(resizing)、及び多重化することによって、形成されうる、
混成テスト・ポートである。 設計者は好ましくは、前記CAPコントローラから直接、前記DAPを構成する
ことができる。各コンフィギュレーションを、テスト制御、テスト・データ、又
はテスト分離ポートに分割する。各コンフィギュレーションにおいて: a.テスト制御ポート属性を 好ましくは、対象となるコンフィギュレーションkを設定するために、使
用される場合、test_con f(k)に設定する。 テスト定数に設定されうる場合、test_selectに設定する。
ある。
はZである安全状態論理値で分離される場合、 safe_stateに設定し、それが0又は1である非浮動論理値に設定され
うる場合には、dont_careに設定する。 10.最高レベルのDFTアーキテクチャにおいて、CAP、CAPコントロー
ラ、ステージング・ラッチ、MISR、DAP、及び他のテスト・メカニズムの
相互接続を特定する。 11.専用のセクションにおいて、CAPコントローラ、ステージング・ラッチ
、MISR、設計本体、及び他のテスト・メカニズムを特定する。 12.設計本体のアーキテクチャのみに関するDAP、ソケット、UDL及びテ
ストの相互接続の詳細を特定する。 13.設計本体のアーキテクチャは好ましくは、階層的に記述される。 14.好ましくは、階層の次のレベル、ソケット・レベルに、多重SAPがある
。 15.各SAPは好ましくは、DAPが利用できる一つ又は多数の適用可能なコ
ンフィギュレーションを有する、DAPの再帰的画像である。前記SAPのすべ
てのコンフィギュレーションは、好ましくは、DARによってサポートされる。 ソケット化規則 一度、マージ非可能ブロック又はVCが設計内に配置されると、そのI/Oポ
ートはもはやチップI/Oからアクセスできない。そのテスト・データは、I/
Oポートで作成され、もはや使用できない。
ければならないので、チップ・レベルでのテスト・データの再作成は難しく、予
測できない。それゆえに、好ましいアプローチは、設計ブロックに関する仮想ソ
ケットを作成することによって、設計ブロック自身にアクセス性を追加すること
である。仮想ソケットは、テスト・アクセス、分離、及び前記チップI/Oから
アクセス可能な境界テスト機能を含む。
想ソケットを使用することができ、又は設計ブロック自身に、テスト制約を課す
ために、前記ソケットを使用することもできる。設計ブロックは、I/Oマッピ
ング及び制限を使用して、ある設計において、制約をそれにマッピングする時に
ソケット化される。前記制約は、設計依存で条件的であるが、それらは、設計者
に、結合的に各設計ブロック・ソケット化タスクを分割させる一方で、設計統合
中に、設計ブロックの追跡をする。
めに、余分なI/Oポート及びロジック又はテスト・カラーを必要とする一方で
、機能的インターフェースを維持するかもしれない。前記インターフェース・タ
イミングは、やや変更するかもしれないので、各ソケット化された設計ブロック
に関して、総合して特徴付けられ又は再配分されるために、RTLコードでテス
ト・カラーを書くのが最善である。設計全体を総合した後に、ゲート・レベルで
テスト・カラーを追加することは、タイミング問題を招くかもしれない。 設計ブロック・ソケット化規則は、以下のとおりである: 1.ソケットは、階層的に記述されうるが、最高レベルは、好ましくはすべての
テスト属性を含む。
離し、テストし、診断し、及びデバッグするかに関するテスト情報に関する唯一
の参照である。
成される。
、通常、テスト、分離、及び境界モードを活動化させ及び非活動化させることが
できることを検査することができる。これは、設計者が、前記ソケットの外部テ
スト情報構造を検査するということを意味する。
則において特定された標準化された記述言語に適合する。
報構造は、仮想ソケットにおけるチップ・レベル設計テスト属性に適合するであ
ろう。
後処理順序を適切に実行することを確実にするために、再フォーマットされたテ
スト・データで、ソケット・レベルにおいて検査される。これは、設計者が、前
記ソケットの内部テスト情報構造を検査することを意味する。
スト・モデル、すべての機能的ブロック、及び前記ソケットによって境界を定め
られたすべての他のロジックを含む。
imulated)、チップ・レベル・シミュレーション環境と相互運用できる。
ましくは、SAPインターフェースから、順番ではなく、自発的及び直接的に非
活動化される。通常モードは、単一のテスト制御ポートによって活動化される。
ト・ロジックは、非活動化され、及び中間競合なく、安全状態値に割り当てられ
る。機能的状態は、分離順序に含まれない。 9.テスト・モードにおいて、SAPと関連するすべてのテスト・ロジックは、
好ましくは、単一の活動化順序によって可能にされ、それから任意で、テスト順
序を開始する前に、構成順序によって可能にされる。テスト時間を最短化するた
めに、同じコンフィギュレーションの連続したテスト順序がまとめられる。 10.ソケットの周辺ロジックのすべては、SAPと関連するテスト・ロジック
を含み、境界(コ・テスト)モードにおいてテスト可能である。 最高レベル・テスト・ロジック仕様を設計する 設計者は、補償及び時間の条件に適合するように、最高レベル・テスト・ロジ
ック仕様を設計する時、前記設計者は、テスト・ロジックの並行性質を向上させ
るトレードオフをする必要がある。重要な決定は、個別のブロック・テストをど
のくらい直列に又は並列にするかである。
に、ソケット化された規則を伴って、各仮想ソケットに関して使用される。テス
ト・アクセス透視図から、SAPはテスト統合目的において、完全であり十分で
ある。設計及びテスト競合を生じうる設計変更を避けるために、SAPは、ブロ
ックの機能的エレメントを共有し又は使用するべきではない。この分離は、異な
るブロック・タイプ−ソフト、ファーム、又はハード・ブロック−が利用される
時に、より意味があり、テスト統合中の予測不可能性を回避することを可能にす
る。
を目的とし、及び特定の範囲のテスト応用を対象とする。多くのアーキテクチャ
は、設計のほぼすべての役割に及び特定の設計環境に由来する。それゆえに、以
下の内容を実行する開発の流れが、必要とされる: 1.設計コンテクストにおけるテスト問題を特徴付け、及び分類する; 2.各アーキテクチャに関してトレードオフをアドレスする; 3.各対象となる設計に追加の変更を与える; 4.本発明の出現まで、BBDテスト問題が、以下の領域において明白であった
: テスト・データ再使用性 テスト・ソケット設計及びソケット情報 UDL及びチップ・レベル相互接続テスト テスト・パッケージング テスト妥当性検査 テスト・プロトコル 診断及びデバッグ これらの問題は、BBD設計プラン中になされる前提と関連する。しかしなが
ら、設計プランは、再使用可能なテスト・データと設計ブロックをパッケージ化
するための、多くの特定の処理を必要とする。例えば:テストためのBBD設計
の作成、設計ブロック・テスト・インターフェースのカスタマイズ、テスト・ア
クセス及び制御メカニズムの設計及び妥当性検査、及び前記テストとチップI/
Oとの、及びテスト・バジェット(test budget)内でのパッケージングである
。 DFT分類 DFTアーキテクチャは、それらのテスト方法、それらのテスト・インターフ
ェース、及びそれらが使用されうるブロックの種類によって分類される。四つの
ことなる汎用DFTアーキテクチャがあるが、それらは類似のテスト・インター
フェースを有することはほとんどない。例えば、ほとんどのチップは、メモリB
ISTインターフェースを使用するRAMを埋め込んでいる一方で、前記チップ
の残りは、走査方法を使用しているかもしれない。図63に記載のテーブルは、
設計シナリオにおける典型的な選択を列挙している。 最高レベルDFTアーキテクチャを作成するためのプロシージャ 図64に記載のフローチャートは、最高レベルのアーキテクチャ仕様を作成し
、及びチップ・レベル・テスト構造を特定するために使用されるプロシージャを
示す。DFTプランは、好ましくはチップ上のすべてのブロックに関して、ブロ
ック・レベル・テスト・ロジックを特定する。テスト・ロジックを伴うブロック
は、最高レベルへのインターフェースを受け取る。テスト・ロジックを伴わない
ブロックは、テスト・ロジック条件を受け取る。これらの設計条件の両方を、ブ
ロック設計タスクに転送し、好ましくは、最高レベル・テスト・ロジック及びア
クセス・メカニズムの両方を作成する。
るために使用される、ソケット化プロシージャを示す。前記設計における各ソケ
ットに関して、図示されたとおり、DFTアーキテクチャに適合するために、各
設計ブロックに関して、テスト・カラーを特定する。
、ATPG、又は混合(mixed)を具備しうる。トランスレーション及び連結メ
カニズムは、最高レベル・テスト・ロジック及び個別のブロックのテスト・メカ
ニズムに適合するように定義される。BBDにおいて、テスト開発は、二つの独
立した処理を具備する。 1.各仮想ソケットに関するブロック・レベル・テスト開発である。ほとんど の場合、この処理は以下のタスクを含む: a.SAP宣言:SAPを、行動モデル・インターフェースに追加し、及び
前記ブロックを、その仮想ソケットで再インスタンス生成をする。 テスト・ロジック挿入:対象となるブロック周辺のテスト・カラーを形成するた
めに、テスト・アクセス、分離、相互接続テスト及びテスト制御ロジックを追加
する。最善の結果を得るために、前記テスト・カラーを、合成可能RTLフォー
マットで記述する。 テスト・データ変換:テスト・データをSAPポートに拡張し、及びマッピング
する。新しいテスト・データ・フォーマットを受容するために、ブロック・レベ
ル・テスト・ベンチを変更しなければならない。テスト・フローを能率化するた
めには、1つのソケットにつきテスト・セットアップ時間を最短化し、及び同時
に複数のブロック・テストをランさせるために、いくつかのブロック上で手スタ
・タイミングを変更してもよい。 テスト検査:テスト・ロジックを検査するために、ブロック・レベル・テスト・
ベンチを変更する。対象となるブロックを、前のステップの前後に、テスト・デ
ータ保全性を確実にするために、完全なブロック・レベル・テスト・ベクトル・
セットのサブセットで検査する。
ク及びチップ・レベル・テストに関する、チップ・レベル・テスト開発。この処
理は、以下のタスクを具備する: a.テスト・ロジック挿入:テスト・コントローラ、専用テスト・ピン、
DCテスト・ロジック、アナログ・テスト・ロジック、及び必要であれば、すべ
てのテストに関するクロック・マックス(clock muxes)及びテスト・クロック
を追加する。このタスクはまた、必要であれば、テスト・マージ可能ブロック及
びUDLのための走査挿入も伴う。
・データを生成するために、又は循環機能的テスト・データを収集するために、
ATPGツールを使用する。対象となる製造テスト・データで、故障補償目標を
満たすことが重要である。
ログ・テスト、設計におけるすべての仮想ソケットに関するテスト、及びUDL
テストを実行するために、チップ・レベル・テスト・ベンチを変更する。これら
のテストは、JTAGが求めるようなテスト前及び後順序を必要としてもよい。
、それらをWGL等のテスト・データ記述言語に入れる。
Tの応用を検討する。知的財産のコア(core)又は設計ブロックの最終プロダク
トは、標準化された又は汎用のテスト・インターフェースを伴う「テスト準備さ
れた」ブロック、及びチップ・レベルで再使用されうるテスト・データ・セット
である。設計ブロック・ソケット化体系は、設計ブロックを、チップ・レベル・
テストの一部へと変換する一方で、各ブロックの設計中に生成されるテスト・プ
ロシージャ及び装置のほとんどを再使用するために採用される。本発明のBBD
DFT混合及び適合戦略は、多くの一般的な、走査に基づくテスト方法とは対
照的に、マージ非可能ブロックをソートすることによって、様々な、予め設計さ
れたブロックを、異なるテスト方法及びテスト・インターフェースと統合するた
めの、柔軟なアプローチを与える。テスト・マージ可能選択に基づいて、走査設
計方法を作成する理由は、単純に、自動化目的の簡易性である。
の特定の処理に関与するブロック設計プランは、標準化され又はカスタマイズさ
れた設計ブロック・テスト・インターフェースに基づいており、ブロックI/O
のアクセス可能性に関する一定の前提を考慮に入れる。しかしながら、一度埋め
込まれると、ブロックI/Oは、異なるコンテクストに配置され、及び潜在的に
アクセス不可能になりうる。統合の容易性を確実にするために、前記テスト・イ
ンターフェースは、チップ設計透視図からオーソゴナリティ(orthogonalities
)を供給するために、機能的インターフェースから分離される。BBDにおいて
、設計ブロック・インターフェースを混合し並びに適合し、及びそれらをチップ
・レベルで統一するよう試みる(図68に記載のとおり)。それゆえに、テスト
・インターフェースの柔軟性及び変更性は、テスト・アクセス及び制御メカニズ
ムを設計し及び妥当性検査するために、及び前記テストを、チップI/Oと、及
びブロック・レベル・テスト・バジェット内でパッケージするために、供給され
る。本発明が関連する分野の当業者によって理解されるとおり、可能ではあるが
、テスト・バスの一部としての、オン・チップ・バス(On Chip Bus)(OCB
)の使用は、本発明によって検討されるが、本説明の範囲外である。 マージ非可能ブロック DFTロジック及びテスト・ベクトル検査機能は、設計者に、より短く、生産
サイクルにおけるより早い段階で、生産準備テストをランさせる。DFT走査パ
ス(DFT scan paths)は、そうでなければ利用不可能であるチップ及びシステム
状態へのアクセスを供給する。メモリBISTは、様々な埋め込まれたメモリ故
障階級をカバーするために、アルゴリズミック・テスト・ベクトルを使用する。
ロジックBISTは、テスト・アクセス及びテスト・データ・ボトルネックを減
らすために、走査に基づいた設計のランダム・テスト可能構造を利用する。しか
しながら、各予め設計されたブロックは、多くの理由から、マージ非可能になる
かもしれない。通常は、マージ非可能ブロックは: 内部テスト・アクセス可能性(例えば、ゲート・クロック、ラッチ・ベース、
データ・パス)の欠如又は故障補償(例えば非同期)の欠如による、共通テスト
方法と互換性がなくてもよい合成可能RTLソフト・ブロックである。
ク走査、LSSD)等、共通テスト方法と互換性がなくてもよいゲート・レベル
・ソフト・ブロックである。
埋め込みRAM、ROM、DRAM、FLASH等は、結合ロジックと同じ故障
モデルを有しない。これらのブロックは、大きなアルゴリズミック・テスト・パ
ターンを必要とする。
トラクチャを有しないハード・ブロックである。通常は、これらのブロックは好
ましくは、特定のテスト・インターフェースを有する、又は有しない特定のブロ
ック・レベル・テスト・データ・セットとともに転送される。
ストラクチャを有しないレガシー・ブロックである。通常は、これらのブロック
は、未知の結果を避けるために変更されなくてもよい。 テスト・カラー ソケット化された設計ブロックは、図66のフローチャートに記載されたとお
り、SAP仕様を伴うソケットを記述する新しいモジュールを作成し、本来の設
計ブロックをインスタンス作成し、及びそれらの間にテスト・ロジックを挿入す
ることによって、モデル化されうる。前記ソケット化設計ブロックは、第一に、
設計ブロック機能的インターフェースを回復させ、テスト・アクセス、テスト分
離、境界テスト構造を追加し、それからチップ・プラニング中に定義されたとお
り、基本的なテスト・インターフェース(例えば、TAR走査、BSR、又は直
接マックス)を供給する。その結果は、各関連したテストI/Oポートに関する
コメントとして追加されたテスト属性を伴うSAPである。各マージ非可能ブロ
ックは、ブロックごとのベースで、テスト・セットアップ、テスト実行及びテス
ト後処理を実行するためのテスト・アクセス、分離、及び相互接続テスト機能を
追加するために、テスト・カラーによって、ラップされるであろう。前記出力は
: 1.テスト・アクセス及び制御(例えば、テスト・モード、活動化、及び非活動
化) 2.テスト・プロトコル(例えば、機能的、マックス走査、BIST、診断) 3.テスト・データ(例えば、テスト言語、ベクトル・サイズ、故障補償) 4.テスタ・フォーマット(例えば、テスタ仕様、タイムセット、テスト速度
) 5.テスト・アプリケーション時間(例えば、テスト・セットアップ時間がな
い) を含む、ソケット化された設計ブロックである。 テスト可能性を追加すること 再使用可能テスト・データとともに現れない各マージ非可能ブロックに関して
、設計プラン段階は、テスト構造を挿入することでテスト・インターフェース、
テスト方法、テスト・データ・フォーマット、期待される故障補償、及びテスト
・バジェットを、特定することができ、及び全体の領域及びタイミング・コスト
を評価することができる。この評価は、各ブロックにテスト可能性を追加するこ
とへの制約になる。 合成可能RTLソフト・ブロック 予め設計されたブロックが、走査に基づいたテスト・アプリケーションと互換
性がない合成ソフト・ブロックである場合、故障補償は問題となりうる。例えば
、走査設計規則検査は、走査侵害を遮断するために、RTL又はゲート・レベル
で実行されうる。走査チェーン(scan chain)又はテスト・ポイント(test poi
nts)は、容易にモデルに挿入されることができないので、逐次ATPGは、図
67に記載のフローチャートに記載のとおり、機能的テスト・ベクトルとともに
使用されうる。このタイプの設計のための故障補償は、予測することが難しく、
故障シミュレーションは好ましくは、プラン段階中に、前記ブロックの再使用性
基準を確立するために使用される。TBAに基づいたテスト・カラーは、最善の
テスト・インターフェースであるが、前記ブロックに関するテスト・バジェット
が許可される場合は、BSRに基づいたテスト・カラーが考慮される。 検査 ここでDFTから設計検査に移ってみると、本発明の検査方法及びシステムの
第一の目的は、(最終テープ・アウト(final tape out)での)完全な設計が、
フロントエンド受容の一部として供給された、機能的仕様及びチップ・テスト・
ベンチにおいて特定されたように、顧客の機能的条件に適合することを確実にす
ることである。第二の目的は、可能な限り最短の時間で、前記第一の目的を達成
することである。
であるように、顧客が供給するチップ・テスト・ベンチが、顧客の要求された機
能の完全なテストを形成することである。この前提は、好ましくは、フロントエ
ンド受容中に強調される。BBD設計フローは、それによって、チップ・テスト
・ベンチのグレーディング(grading)を組み込む一方で、機能的仕様モデル上
でランし、それによってチップ・テスト・ベンチの測定を供給する。
ベンチの二つが一貫するように、それらの両方を利用することである。それに続
いて、詳細が、チップ・プラン、チップ・アセンブリ及びブロック設計を通して
追加され及び改良されると、前記設計は、機能が、本来の機能的仕様と一貫した
ままでいることを確実にするために、チップ・テスト・ベンチを介して、再検査
される。革新的に、より詳細にされたビュー(view)の検査は、完全なチップ・
レベルにおいて、又は後述のとおり、チップ・テスト・ベンチから引き出された
別個のブロック・テスト・ベンチを伴う個別のブロック・レベルにおいて、実行
されてもよい。
ションは、分解するのに相当の時間を要し、設計処理の早い段階で及び継続的に
アドレスされないと、反復再設計を生じさせうることが、経験から明らかである
。この理由から、特定の注意が、設計サイクルの早い段階で、バス機能の妥当性
検査に払われる。前記バス及び関連するロジックはそれゆえに、後述のとおり、
早い段階で識別され、及び残りの設計からは独立して、バス・コンプライアンス
・テスト・ベンチを使用して、検査される。しかしながら、本発明の好ましい検
査フローは、迅速なターンアラウンドで、幅広い設計を扱うのに十分に柔軟であ
ることが注目される。例えば、ある設計が単純なバスを使用し、又は設計者が、
前記バスに接続されたブロックに関して十分な経験を有する場合、前記バス・コ
ンプライアンス・テストのいくつか又はすべては、延期されてもよい。同様に、
前記ブロックのいくつか又はすべては、単純であるか又は従来の設計から再使用
される場合、前記個別のブロック検査の一部は省略され、及びチップ・レベル検
査ステージに到達するまで検査は延期される。
立される。図12乃至15は、本発明に従って、機能的検査中に実行されるべき
タスクの、一般化したフローを供給する。これらの図は、チップ・テスト・ベン
チの図69乃至73への相互参照をしながら、詳細に説明される。図12乃至1
5において、大きな矢印は、タスクの流れを示し、小さい矢印はタスク入力を示
し、及び点線矢印は任意の迂回パスを示すことが特記される。
プ・テスト・ベンチ検査ステップ8210で続き、チップ・レベル機能的モデル
は、図69に記載のチップ・テスト・ベンチ8310で実行される。モデル及び
テスト・ベンチの両方は、カスタマが供給し、検査の目的は、テスト・ベンチ及
び機能的モデルが一貫性を有することを確実にすることである。あらゆる互換性
言語でも十分であるが、前記モデルは好ましくは、Verilog、VHDL又
は実行可能Cコードである。チップ・テスト・ベンチ8310は、前記モデルと
互換性があるファイルにある。前記モデルと前記テスト・ベンチとの不適合は、
顧客に戻され、前記モデル又は前記テスト・ベンチのいずれかは、内部一貫性を
達成するために変更される。
れる。そのようなグレーディングは、以下の属性:宣言補償、二重補償、FSM
アーク補償、訪問状態補償、対アーク補償、パス/ブランチ補償及び/又は表現
式補償、の一つ以上を測定することによって、テスト・ベンチの「グッドネス(
goodness)」計測、又は補償メトリックを供給する。この補償メトリックは、そ
れから顧客に戻される。補償メトリックは、ある設計が不十分にテストされ、又
は前記設計が十分な機能を含む場合、不十分にテストされたように見える設計の
領域を、強調してもよい。いずれの場合も、顧客は、前記補償メトリックを向上
させるために、テスト・ベンチ又はモデルを変更することを選択してもよく、そ
れによって、ここに記述されているBBD設計方法に関するプロジェクト開始時
間をリセットする。
れると、前記ブロックの各々に関するブロック機能的モデルを、これらのブロッ
ク間の定義されたグルー・ロジックと結合させることによって、前記チップの新
しいビュー8312(図69)が、(図12の)ステップ8212において作成
される。前記ブロック機能的モデル8312は、上述のとおり、顧客によって供
給されるか、又はFEA中に「ディッピング(dipping)」処理を介して作成さ
れる。グルー・ロジック・モデルはまた、上述のとおり、チップ・プラン中に特
定される。
プ・テスト・ベンチで、前記チップのブロック機能的モデルをシミュレートする
ことを含む。ブロック機能的モデル8312又はグルー・ロジック・モデルの一
つ以上を変更し、及び前記シミュレーションを再度ランすることによって、あら
ゆる矛盾が解決される。このステップは、ブロック機能的モデルが、チップ機能
的モデルと一貫することを確実にする。
バス・ロジックが正しく動作し、及び異なるバス・エレメント間のインタラクシ
ョンが、バス・プロトコル・エラーを生じさせないことを確実にすることである
。このように、コンプライアンス・ベクトルは、バス設計のために作成される。
これらのベクトルは、顧客又はブロック設計供給者によって供給されるコンプラ
イアンス・テスト・スーツに基づいてもよい。前記ベクトルは、前記設計の特定
のバス・トポロジーに対応するように操作されなければならない。コンプライア
ンス・ベクトルが供給されていなかった場合、それらは設計チーム(design tea
m)によって、好ましくはそれらが前記バスに接続された様々なブロックのイン
タラクションを実行し、すべての境界条件を実行し、及びバス・エラーが正しく
扱われているか検査する方法で、書き込まれなければならない。
ンプライアンス・ベクトルは、上述のチップ・プラン段階から供給されたバスの
、サイクルの正確なモデルに対してシミュレートされる。あらゆるエラーは、コ
ンプライアンス・ベクトル・セット(図示されていない)を変更するか、又は図
70に記載のバス・ロジック・エレメント8512の一つ以上を変更することに
よって、解決されなければならない。このステップは、前記コンプライアンス・
テスト・スーツが、うまくバス・ロジック・モデル上で実行するまで、繰り返さ
れる。
テップ8610乃至8614が記載される。バス・ブロック・モデル作成ステッ
プ8610とテスト・ベンチ生成抽出ステップ8612の両方の目的は、バス・
ブロック・モデル検査ステップ8614と同様に、前記設計内のブロックの各々
に関する高いレベルの行動モデル及び関連テスト・ベンチを作成することである
。これらは、ブロック・設計者に渡され、及び前記ブロックの各々に関して、対
象となる機能を定義する。
することは、機能的に正しく、サイクルが近似したブロック機能的モデル831
2を、前記ブロックに関する、サイクルが正確なバス・ロジック・モデルと結合
することを含む。前記バス・ロジックは、チップ・プランから供給され、及び上
述のとおり検査されたバス・グルー・ロジック・モデルから引き出される。バス
機能的モデルのいくつかの変更は、インターフェースに「位置合わせ(align)
」させることを要求されてもよい。
させるチップのモデルをアセンブルすることによって、検査される。チップ・モ
デルはそれから、それをチップ・テスト・ベンチでシミュレートすることによっ
て、検査する。チップ・テスト・ベンチが、以前にサイクル近似モデル上で検査
された一方で、チップのこの行動ブロック・モデルは、いくつかのサイクルの正
確なオペレーションを有し、ゆえにブロック・モデルを通過させるためには、前
記チップ・テスト・ベンチの精緻さが要求されるであろう。ある場合において、
ブロック機能的モデル及びバス・ロジックにおける不適合によって、エラーが生
じるかもしれず、その時は、前記モデルは、エラーを修正するために変更されて
もよい。一度チップ・テスト・ベンチが、うまくこのチップ・モデル上で動作す
ると、個別のバス・ブロック・モデルは、詳細な実行のために、ブロック・設計
者に送られてもよい。
出される。一度、チップ・テスト・ベンチが、うまくチップ・レベル・バス・ブ
ロック・モデル8710上で動作すると、図71に記載のとおり、プローブは、
個別のブロックのインターフェースに設定されることができ、及びブロック・テ
スト・ベンチは、それが前記モデル上で動作すると、チップ・テスト・ベンチ8
712から引き出されることができる。これらのブロック・テスト・ベンチは、
それらが実行を通して進行すると、前記ブロックの妥当性検査のために、ブロッ
ク設計者へと送られる。
的は、前記ブロックの各々が、それが設計の実行段階(RTLから、後レイアウ
ト・ネットリストへの前レイアウト・ネットリストへ)を通して進行するにつれ
て、機能的に正しいことを確実にすることである。アセンブルされたチップが、
要求される機能を供給し続けるかについてもテストされる。
する形式的検査ツールを使用して静的に実行されてもよい。動的検査は、本発明
のBBD方法の流れにおける他の部分で必要とされ、及び記述されているシミュ
レーション・ツールを必要とする。動的検査はまた、他の部分で使用されたベク
トル・セットを利用し、ゆえに、近似したサイクルから事実上正確なサイクルへ
のテスト・スーツの移動を支援する。静的検査は、新しいツールの包含を必要と
する。しかしながら、静的検査は通常は、シミュレーションよりも迅速にランし
、及びシミュレーションとは対照的に、「完全な」同等性チェックを供給し、そ
れはテスト・ベンチが、設計機能を実行するという範囲での同等性を証明するに
すぎない。
、そこで、ブロック設計者によって作成されるRTLシミュレーション・モデル
は、チップ・テスト・ベンチに対して検査される。これは、ブロックRTLモデ
ルを、チップ・レベル行動モデルにおける対応する行動モデルと交換すること、
及び完全なチップ・テスト・ベンチを使用して、前記チップの混合モード・シミ
ュレーションを実行することによって、実行されうる。代替的には、個別のブロ
ックRTLモデルは、引き出されたブロック・テスト・ベンチでシミュレートさ
れうる。いずれの場合も、近似サイクル・モデルから、正確なサイクルのモデル
への移行による不適合が考えられうる。これらの不適合は、テスト・ベンチを変
更することによって解決されるであろう。不適合が、損なわれた機能又は正しく
ない機能によって引き起こされる場合、RTLモデルは、前記エラーを修正する
ために変更されなければならない。
査される。ブロックの各々に関するRTLシミュレーション・モデルは、チップ
・レベル・RTLモデルを作成するために結合される。このモデルは、チップ・
テスト・ベンチでシミュレートすることによって、検査される。再度、サイクル
近似モデルから、正確なサイクルのモデルへの移行によるいくつかのエラーが存
在するかもしれない。これらのエラーは、チップ・テスト・ベンチを変更するこ
とによって、解決される。あらゆる機能的エラーは、ブロック・レベルRTLモ
デルの一つ以上を変更することによって、解決されなければならない。
検査される。各ブロックに関する後合成ネットリスト・シミュレーション・モデ
ルは、前記ブロックに関するRTLモデルに対するものである。
ック・ネットリストが検査される。動的検査は、ブロック・レベル後合成ネット
リストを、チップ・レベル行動モデルにおける対応する行動モデルと交換するこ
と、又は完全なチップ・テスト・ベンチを使用して、前記チップの混合モード・
シミュレーションを実行することのいずれかによって、実行されうる。代替的に
は、個別のブロック・レベル後合成ネットリストは、ブロック・テスト・ベンチ
でシミュレートされうる。いずれの場合にも、正確なサイクルのモデルから、イ
ントラ・サイクル・タイミング(intra-cycle timing)を有するモデルへの移行
による不適合が、再度考えられる。これらの不適合は、テスト・ベンチ内のタイ
ミング・ストローブ(timing strobe)を変更することによって、解決される。
静的検査は、後合成ネットリスト及び各ブロックに関するRTLモデル上で、同
等性チェック・ツールをランさせることによって実行される。不適合は、RTL
モデルに適合するように、後合成ネットリストを変更することによって解決され
る。
ットリストを作成するために、結合される。このチップ・レベル・ネットリスト
は、シミュレーションを通して、又は形式的同等性チェック・ツールを通して静
的に、検査される。動的検査は、チップ後合成ネットリストを、チップ・テスト
・ベンチでシミュレートすることによって、達成される。静的チップ・レベル前
レイアウト検査は、チップ後合成ネットリスト及び各ブロックに関するチップR
TLモデル上で、同等性チェック・ツールをランさせることによって、実行され
る。不適合は、RTLモデルに適合するように、後合成ネットリストを変更する
ことによって、解決される。
検査される。このステップは、ステップ8714の繰り返しであるが、前レイア
ウト・ネットリストの代わりの後レイアウト・ネットリストを伴う。ネットリス
ト・レベルにおいて、これら二つのモデル間の唯一の相違は、レイアウトされた
設計のタイミング・ゴールを達成するためのバッファ及びドライブ強度(drive
strengths)の変更である。遭遇するあらゆるエラーは、バッファの不正な追加
又は削除に限定される。ブロック・テスト・ベンチのタイミングは、後レイアウ
ト・タイミング変更が、タイミング・ストローブについて、信号を動かした場合
には、変更されなければならないかもしれない。
ル後レイアウト・ネットリストを、チップ・レベルRTLモデルにおける対応す
るブロックRTLモデルと交換すること、及び完全なチップ・テスト・ベンチを
使用して、チップの混合モード・シミュレーションを実行することによって、実
行されうる。代替的に、個別のブロック・レベル後レイアウト・ネットリストは
、ブロック・テスト・ベンチでシミュレートされうる。静的検査は、後レイアウ
ト・ネットリスト及び各ブロックに関するRTLモデル上で、同等性チェック・
ツールをランさせることによって、実行される。不適合は、RTLモデルに適合
するように、後合成ネットリストを変更することによって、解決される。
り返しであるステップ8720において達成されるが、前レイアウト・ネットリ
ストの代わりの後レイアウト・チップ・レベル・ネットリストを伴う。ネットリ
スト・レベルにおいて、これら二つのモデル間での唯一の相違は、レイアウトさ
れた設計のタイミング・ゴールを達成するためのバッファ及びドライブ強度の変
更である。遭遇するあらゆるエラーは、バッファの不正な追加又は削除に限定さ
れる。動的検査は、チップ後レイアウト・ネットリストを、チップ・テスト・ベ
ンチでシミュレートすることによって、達成される。静的検査は、チップ後レイ
アウト・ネットリスト及びチップRTLモデル上で、同等性チェック・ツールを
ランさせることによって、実行される。不適合は、RTLモデルに適合するよう
に、後レイアウト・ネットリストを変更することによって、解決される。
、ブロック及びチップ・テープ・アウトの両方が、本発明が関連する業界の当業
者に理解される方法で検査される。物理的検査タスクの目的は、ブロック設計及
び前記設計のアセンブリ段階を通して作成されたGDSIIファイルが、機能的
に正しく、対象となる技術に関する設計規則の侵害がないことを検査することで
ある。
技術に関するDRCをランさせることで検査される。あらゆるエラー及び警告は
、解決のために、ブロック設計者に戻される。LVSもまた、ブロックGDSI
Iファイルと、前記ブロックに関する後レイアウト・ネットリストの間でランす
る。あらゆるエラー又は警告は、解決のために、ブロック設計者に戻される。
れ、対象技術に関するDRCをランさせることによって検査される。あらゆるエ
ラー及び警告は、解決のためにチップ・アセンブリ設計者に戻される。LVSも
また、チップGDSIIと前記チップに関する後レイアウト・ネットリストとの
間でランする。あらゆるエラー又は警告は、解決のために、チップ・アセンブリ
設計者に戻される。
、本発明は、本発明の精神の範囲内で、他の実施形態を通して実施されてもよい
と理解される。このように、本発明の範囲は、本明細書における図示及び説明に
限定されるものではないが、添付の特許請求の範囲によって定義されるべきであ
る。
ローチャートである。
る。
スするための本発明による方法を示す図である。
図である。
スするための本発明による方法を示す図である。
す図である。
定の正しさ曲線を示す図である。
。
設計ブロックを示す図である。
である。
す図である。
ピュータシステムを示す図である。
である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
遅延時間を示す表である。
図である。
ある。
である。
すフローチャートである。
を示す図である。
の設計者のビューを示す図である。
Claims (122)
- 【請求項1】設計者によって実施される、回路システムを設計するための方法で
あり、この方法が、 (a)回路システムを設計するために使用される、予め設計された複数の回路
ブロックを選択する段階と、 (b)経験データ、推定データ、及び/又は実施データを含む、設計者のデー
タを、予め設計された回路ブロックに関して収集し、前記設計者のデータは、或
る処理方法に適合可能である段階と、 (c)設計者のデータ及び受入れ可能なリスクの程度に基づいた仕方で、回路
システムの設計を許可し又は拒絶する段階と、 (d)許可された場合に、回路ブロックの各々に対する判断規準及び修正され
た制約を含むブロック仕様を形成する(FEA)段階と、 (e)許可された場合に、選択された回路ブロック及び処理方法を変更するこ
となしに、判断規準及び修正された制約に従って、チップのフロアープラン上に
回路ブロックを展開するためにブロック仕様を形成する段階を含む方法。 - 【請求項2】前記仕様がバス識別情報を含む請求項1記載の方法。
- 【請求項3】前記仕様が試験法を含む請求項1記載の方法。
- 【請求項4】(f)許可された際に、回路ブロックに標準及びシステム特定イン
タフェースを加えることにより、チップフロア計画上に回路ブロックを展開する
段階を更に含む請求項1記載の方法。 - 【請求項5】前記回路ブロックを相互接続するための接続回路を形成する段階を
更に含む請求項4記載の方法。 - 【請求項6】回路仕様に基づいて選択された回路ブロックをチップ内に製造する
ためにトップレベル計画を形成する段階を更に含む請求項1記載の方法。 - 【請求項7】処理を完了する以前に、段階(c)、(d)、(e)、(f)及び
(g)の各々の適正な実施を確認する段階を更に含む請求項5記載の方法。 - 【請求項8】一人以上の設計者によって実施される、回路システムの設計方法で
あり、この方法が、 (a)回路システムを設計するのに使用される予め設計された回路ブロックを
選択する段階と、 (b)予め設計されおり且つ依然として設計されるべき回路ブロックに関して
、設計者の経験を反映するデータを集め、設計者の経験が処理方法に適合してい
る段階と、 (c)設計者の経験データ及び受入れ可能なリスクの程度に基づいた方法で、
回路システムの設計を許可又は拒絶する段階と、 (d)許可された場合、回路ブロックの各々に対する判断規準及び修正された
制約を含むブロック仕様を形成する段階と、 (e)許可された場合に、選択された回路ブロック及び処理方法を変更するこ
となしに、設計対象に合う判断規準及び修正された制約に従って、チップのフロ
ア計画上に回路ブロックを展開するために、クロック、電力及びバス通信に対す
るブロック仕様及びグルー論理を形成する段階とを含む方法。 - 【請求項9】(f)許可された場合に、選択された回路ブロック及び処理方法を
変更することなしに、判断規準及び修正された制約に従って、チップのフロア計
画上に回路ブロックを展開するためにブロック仕様を形成する段階を含む請求項
4記載の方法。 - 【請求項10】前記段階(f)が、チップのフロア計画上に回路ブロックを展開
するために、回路ブロックの各々に対する仮想回路仕様を形成することを更に含
む請求項9記載の方法。 - 【請求項11】前記設計者の経験データが、予め設計されたブロックの少なくと
も一つの使用のフィールド、シミュレーション及び部分的又は完全な実施から成
るグループの少なくとも一つを含む請求項8記載の方法。 - 【請求項12】(g)回路ブロックを相互接続するためのグルー論理を形成する
ための段階を更に含む請求項9記載の方法。 - 【請求項13】(g)回路ブロックを相互接続するためのカラーインタフェース
を形成する段階を含む請求項9記載の方法。 - 【請求項14】段階(f)が、許可された場合に、仮想的回路仕様に基づいて選
択された回路ブロックをチップ内に製造するためのトップレベル計画を形成する
ことを更に含む請求項9記載の方法。 - 【請求項15】処理を改良する以前に、段階(c)、(d)、(e)及び(f)
の各々の適正な実施を確認する段階を更に含むことを特徴とする請求項9記載の
方法。 - 【請求項16】前記チップを製造するために必要な物理的レイアウト、マスク及
び試験データを作成し且つその結果を検査する段階を更に含む請求項14記載の
方法。 - 【請求項17】所定の形態のパラメータに基づいた回路設計の実現可能性に到達
するために現存する手順を拡張するための方法であって、この方法が、 (a)回路設計で使用されるべき複数の回路ブロックを選択する段階と、 (b)回路ブロックに対する所定の形態のパラメータを受信する段階と、 (c)所定の形態のパラメータに依存した現存する手順を使用して第1の実現可
能性にアクセスし、この第1の実現可能性が第1のリスク指示子及び第1の時間
/コスト指示子を含む段階と、 (d)現存する手順で使用されていない少なくとも一つの第2の形態のパラメー
タを受信する段階と、 (e)現存する手順に適応するために、第2の形態のパラメータを処理し、 (f)所定の形態のパラメータ及び第2の形態のパラメータに基づいて、現存す
る手順を使用して、第2の実現可能性にアクセスする段階を含み、この第2の実
現可能性が第2のリスク指示子及び第2の時間/コスト指示子を含み、第2のリ
スク指示子が、現存する手順の使用による第1のリスク因子と比較して、実質的
に増加されなく、第2の時間/コスト因子が、第2の形態のパラメータのインパ
クトによって、第1の時間/コスト因子と比較して増加される、前記の方法。 - 【請求項18】所定の形態パラメータが使用データのフィルードであり、第2の
形態のパラメータが推定データ又は実現データの何れかである請求項17記載の
方法。 - 【請求項19】所定の形態のパラメータに基づいた回路設計の実現可能性にアク
セスするために現存する手順を拡張するための方法であり、この方法が、 (a)回路設計で使用されるべき複数の回路ブロックを選択する段階と、 (b)回路ブロックに対する所定の形態のパラメータを受信する段階と、 (c)所定のパラメータに基づいた現存する手順を使用して第1の実現可能性に
アクセスし、第1の実現可能性が第1のリスト指示子及び第1の時間/コスト指
示子を含の段階と、 (d)現存する手順で使用されていない少なくとも一つの第2の形態のパラメー
タを受信する段階と、 (e)第2の形態のパラメータと適合するために現存する手順を変化する段階と
、 (f)所定の形態のパラメータ及び第2の形態パラメータに基づいて、前記変化
された手順を使用して第2の実現可能性にアクセスする段階とを含み、この第2
の実現可能性が第2のリスト指示子及び第2の時間/コスト指示子を含み、前記
第2のリスク指示子が、現存する手順の変化によって、第1のリスク因子と比較
して、増大し、第2の時間/コストが、現存する手順の変化によって、第1の時
間/コスト因子と比較して、実質的に増大されない、前記の方法。 - 【請求項20】所定の形態のパラメータが使用データのフィールドであり、第2
の形態のパラメータが、推定データ又は実施データの何れかである請求項19記
載の方法。 - 【請求項21】所定の組の設計特徴に基づいて、回路設計の実現可能性にアクセ
スするために現存する手順を拡張する方法であり、この方法が、 (a)設計リスクが知られており且つそれが受け入れることができる程小さい設
計特徴の組を使用のフィールドとして定める段階と、 (b)回路設計で使用されるべき複数の回路ブロックを選択する段階と、 (c)回路ブロックに対する所定の設計特徴を受信する段階と、 (d)使用特徴のフィールドに基づいて、現存する手順を使用して、第1の実現
可能性にアクセスし、第1の実現可能性が第1のリスク指示子及び第1の時間/
コスト指示子を含む段階と、 (e)現存する手順で使用されていない少なくとも一つの第2の設計特徴を受信
する段階と、 (f)現存する手順と適合するために第2の設計特徴を処理する段階と、 (g)使用特徴のフィールド及び第2の設計特徴に基づいて現存する方法を使用
して第2の実現可能性にアクセスする段階とを含み、第2の実現可能性が第2リ
スク指示子及び第2の時間/コスト指示子を含み、第2のリスク指示子が、現存
する手順の使用のために第1のリスク因子と比較して、実質的に増大されなく、
第2の時間/コスト因子が、第2の設計特徴のインパクトのために第1の時間/
コスト因子と比較して、増大される、前記の方法。 - 【請求項22】所定の設計特徴が使用データのフィールドの定義内にあり、第2
の形態の設計特徴の正しい予測と関連するエラーリスクが、推定データ又は実施
データから知られることを特徴とする請求項21記載の方法。 - 【請求項23】設計特徴の所定の組に基づいて、回路設計の実現可能性にアクセ
スするために現存する手順を拡張する方法であって、この方法が、 (a)設計リスクが既知であり且つそれが小さい一組の設計特徴を使用のフィー
ルドとして定める段階と、 (b)回路設計で使用されるべき複数の回路ブロックを選択する段階と、 (c)回路ブロックに対する所定の設計特徴を受信する段階と、 (d)使用のフィールドの特徴に基づいて、現存する手順を使用して、第1の実
現可能性にアクセスし、この第1の実現可能性が第1のリスク指示子及び第1の
時間/コスト指示子を含む段階と、 (e)現存する手順で使用されていない少なくとも一つの第2の設計特徴を受信
する段階と、 (f)第2の形態の設計特徴と適合するために現存する手順を変化する段階と、 (g)使用設計特徴のフィールド及び第2の形態の設計特徴に基づいて、変化さ
れた手順を使用して第2の実現可能性にアクセスする段階を含み、第2の実現可
能性が第2のリスク指示子及び第2の時間/コスト指示子を含み、第2のリスク
指示子が現存する手順の変化のために、第1のリスク因子と比較して、第2のリ
スク指示子が増大され、第2の時間/コスト因子が、現存する手順の変化のため
に、第1の時間/コスト因子と比較して、実質的に増大されない、前記の方法。 - 【請求項24】所定の設計特徴が使用データのフィルードの定義内にあり、第2
の形態の設計特徴の正しい予測と関連するエラーリスクが推定データ又は実施デ
ータから知られることを特徴とする請求項23記載の方法。 - 【請求項25】回路設計に対する実現可能性評価を達成するための方法であり、
この方法が、 (a)回路設計のための要求及び制約を受信する段階と、 (b)回路設計で使用されるべき複数の予め設計された回路ブロックを選択する
段階と、 (c)回路ブロックに対する経験データのフィールドを収集する段階と、 (d)回路ブロックに対する経験データのフィールドを使用して、第1のレベル
決定ルールを生成し、第1のレベル決定ルールは、許可領域、拒絶領域、及び不
確定領域を含む段階と、 (e)第1のレベル決定ルールに基づいた要求及び制約を使用して、第1のレベ
ル予測を行う段階と、 (f)第1のレベル予測が第1のレベル決定ルールの許可領域内にある場合に回
路の設計を許可し、第1のレベル予測が第1のレベル決定ルールの拒絶領域内に
ある場合に回路設計を拒絶する段階と、 (g)第1のレベル予測が第1のレベル決定ルールの不確定領域内にある場合、
回路設計に対する第2のレベル予測を行うために第2のレベル決定ルールを形成
する段階から成る、前記の方法。 - 【請求項26】(h)回路ブロックに対する推定データを修正し、(g)におけ
る第2のレベル決定ルールが推定データを使用して形成され、第2のレベル決定
ルールが許可領域、拒絶領域、及び不確定領域を含む段階と、 (i)第2のレベル決定ルールに基づいた要求と制約を使用して、第2のレベ
ル予測を行う段階と、 (j)第2のレベル予測が第2のレベル予測ルールの許可領域内にある場合に
その回路設計を許可し、第2のレベル予測が第2のレベル決定ルールの拒絶領域
内にある場合に、その回路設計を拒絶する段階と、 (k)第2のレベル予測が第2のレベル決定ルールの不確定領域内にある場合
に、その回路設計に対する第3のレベル予測を行うための第3のレベル決定ルー
ルを形成する段階とを更に含む請求項25記載の方法。 - 【請求項27】(l)回路ブロックに対する実施データを収集し、(k)におけ
る第3のレベル決定ルールが実施データを使用して形成され、第3のレベル決定
ルールが許可領域、拒絶領域、及び不確定領域を含む段階と、 (m)第3のレベル決定ルールに基づいた要求及び制約を使用して第3のレベ
ル予測を行い、 (n)第3のレベル予測が第3のレベル決定ルールの許可領域内にある場合に
、その回路設計許可し、第3のレベル予測が第3のレベル決定ルールの拒絶領域
内にある場合に、その回路設計を拒絶する段階と、を更に含む請求項26記載の
方法。 - 【請求項28】推定データが、経験データのフィールドよりも、より高い収集の
コスト及びより高い精度を有しており、 実施データが、より高い収集コスト及びより高い精度を有する請求項27記載
の方法。 - 【請求項29】回路設計に対する第1の決定ルールを洗練する方法であり、この
方法が、(a)回路設計の要求及び制約を受信する段階と、 (b)設計に使用される複数の予め設計されたブロックを選択する段階と、 (c)回路ブロックの少なくとも一つを臨界的回路ブロックとして識別し、残り
の回路ブロックを非臨界的回路ブロックとして識別する段階と、 (d)非臨界的回路ブロックに対する経験データのフィールドを収集し、臨界回
路ブロックに対する推定データ及び/又は実施データを収集する段階と、 (e)経験データのフィルードを推定データ又は実施データと組合せることによ
り、洗練された決定ルールを形成する段階とを含む、前記の方法。 - 【請求項30】決定ルールが、許可領域、拒絶領域、及び不確定領域を含み、 (f)(e)の洗練された決定ルールに基づいた要求及び制約を使用して予測
を行う段階と、 (g)予測が許可領域内にある場合に、その回路設計を許可し、予測が拒絶領
域内にある場合に、回路設計を拒絶する段階とを更に含む請求項29記載の方法
。 - 【請求項31】推定データが経験データのフィールドよりもより高い収集コスト
及びより高い精度を有しており、 実施データが推定データよりもより高い収集コスト及びより高い精度を有して
いる請求項30記載の方法。 - 【請求項32】回路設計に対する第2の決定ルールを形成する方法であり、この
方法が、 (a)回路設計の要求及び制約を受信する段階と、 (b)複数の予め設計された回路ブロックを選択する段階と、 (c)少なくとも一つの回路ブロックを臨界的ブロックとして識別し、残りの
ブロックを非臨界的ブロックとして識別する段階と、 (d)非臨界的回路ブロックに対する推定データを収集し、臨界回路ブロック
に対する実施データを収集する段階と、 (e)推定データ及び実施データを使用して洗練された第2の決定ルールを形
成する方法。 - 【請求項33】決定ルールが、許可領域、拒絶領域、及び不確定領域を含み、 (f)(e)の洗練された決定ルールに基づいて要求及び制約を使用して予測
を行う段階と、 (g)予測が許可領域内にある場合には、その回路設計を許可し、予測が拒絶
領域内にある場合には、その回路設計を拒絶する段階とを更に含む請求項32記
載の方法。 - 【請求項34】実施データが、推定データよりもより高い収集コスト及びより高
い精度を有する請求項33記載の方法。 - 【請求項35】回路システムを設計するのに使用されるべき複数の予め設計され
た回路ブロックに関する設計者の経験データを編成する方法であり、前記方法が
、設計者によって実施され、経験データは回路システム設計に対する実施可能性
の評価を達成するのに使用される方法において、 (a)実施データを測定することのできる一組のパラメータを定義する段階と
、 (b)回路ブロックに関しての設計者の経験データを識別する段階と、 (c)識別された設計者の経験データを複数のクラスに分類し、経験データク
ラスが回路ブロックに対応する段階と、 (d)設計者の経験データを決定ルールを形成するために使用し、決定ルール
が許可領域、拒絶領域、及び不確定領域を含む段階と、 (e)決定ルールに基づいて要求及び制約を使用して推定を行う段階とを含む
、前記の方法。 - 【請求項36】推定が決定ルールの許可領域内にある場合には、回路システム設
計を許可し、推定が決定ルールの拒絶領域内にある場合には、その回路システム
設計を拒絶する段階を更に含む請求項35記載の方法。 - 【請求項37】(f)実施可能性評価エラーを最小化するために、経験データの
クラスを洗練することを特徴とする請求項35記載の方法。 - 【請求項38】 (f)経験データを認証する段階を更に含む請求項35記載の
方法。 - 【請求項39】識別された経験データが、予測された経験データ又は収集された
経験データの少なくとも一方を含む請求項35記載の方法。 - 【請求項40】(f)類似の設計の類似のパラメータを予測するために、識別さ
れた設計者経験データに基づいてモデル組み立てる段階を更に含む請求項35記
載の方法。 - 【請求項41】デバイス設計が複数の予め存在する設計ブロックを含む集積回路
デバイス設計法の実施おいて、グルー論理の分配効率を高める方法であり、この
方法が、 選択されたグルー論理要素をコピーし、これによって、前記選択された要素と
そのコピーを含む複製要素の組を生成する段階と、 前記複製要素の組を複数の設計ブロックに分配する段階とを含む、前記の方法
。 - 【請求項42】デバイス設計が複数の予め存在する設計ブロックを含む集積回路
デバイス設計法の実施おいて、設計ブロック間に複数のグルー論理要素を分配す
る方法であり、この方法が、 第1のグルー論理要素が複数の負荷を駆動する出力ネットを含む場合、第1の
要素を複数の誘導グルー論理要素に分割する段階と、 前記誘導要素を複数の設計ブロックに分配する段階とを含む、前記の方法。 - 【請求項43】各誘導要素が単一の出力負荷を有する請求項42記載の方法。
- 【請求項44】第1のグルー論理要素が複数の入力を含み、分割要素が第1の要
素である請求項42記載の方法。 - 【請求項45】誘導要素が2つのみの入力を有する請求項42記載の方法。
- 【請求項46】デバイス設計が複数の予め存在する設計ブロックから成る、集積
回路デバイス設計法の実施おいて、設計ブロック間に複数のグルー論理要素を配
分する方法であり、この方法が、 選択された品質に対する複数の要素を解析する段階と、 選択されたグルー論理要素を、解析に基づいた方法で選択されたブロックに併
合する段階とを含む、前記の方法。 - 【請求項47】選択された要素に対する機能上の相性に基づいた方法で、選択さ
れたブロックが選択される請求項46記載の方法。 - 【請求項48】前記機能上の相性、前記併合が前記回路装置設計の固有の機能に
対して要求される物理I/O要素の数を減少するか否かからなる請求項47記載
の方法。 - 【請求項49】2つ以上のブロックが併合に対する等しい候補である場合、最低
ピン密度を有するブロックが選ばれる請求項46記載の方法。 - 【請求項50】前記機能上の相性が、選択された要素及び選択されたブロックが
両者で、チップレベルタイミング特徴を改良するか否かからなる請求項47記載
の方法。 - 【請求項51】デバイス設計が複数の予め存在する設計ブロックを含む集積回路
デバイス設計法の実施おける、グルー論理を分配する方法であり、この方法が、 コピーされず且つ設計ブロック間で分配されないか、又は、設計ブロックと併
合されない複数の要素を識別する段階と、 識別された複数の要素をクラスター化する段階とを含む、前記の方法。 - 【請求項52】クラスター化された要素が、入力ネット上に複数の負荷を有し、
且つ出力ネット上に複数の負荷を含む請求項51記載の方法。 - 【請求項53】複数の要素が類似の機能を有する入力を含む請求項51記載の方
法。 - 【請求項54】デバイス設計が複数の予め存在する設計ブロックを含む集積回路
デバイス設計法の実施おける、設計ブロック間でグルー論理を分配する方法であ
り、この方法が、 第1のグルー論理要素の第1の特徴を識別する段階と、 第1のグルー論理要素と互換性のある第2のグルー論理要素を作り出す第2の
特徴を有する第2のグルー論理を識別する段階と、 前記第1のグルー論理要素を識別された第2のグルー論理要素と併合する段階
とを含む、前記の方法。 - 【請求項55】前記第1の特徴が、前記第1のグルー論理要素によって要求され
るピンの数から成る請求項54記載の方法。 - 【請求項56】前記第1の特徴が、前記第1のグルー論理要素の入力構造からな
る請求項54記載の方法。 - 【請求項57】前記第1の特徴が、前記グルー論理要素の出力構造からなる請求
項54記載の方法。 - 【請求項58】第2のグルー論理要素が設計ブロックである請求項54記載の方
法。 - 【請求項59】.回路ブロックの特定のインタフェースを変換するための方法で
あり、この方法が, (a)標準インタフェースを定義する段階と、 (b)カラーインタフェースを回路ブロックに接続する段階を含み、このイン
タフェースが回路ブロックに接続可能な第1の部分、標準インタフェースに従っ
た第2の部分、及び特定のインタフェースを標準インタフェースに変換する第3
の部分を有する、前記の方法。 - 【請求項60】前記カラーインタフェースは、ハード、ソフト又はファームフォ
ーマットとすることができる請求項59記載の方法。 - 【請求項61】前記回路ブロックは、メモリー、プロセッサ、ランダムロジック
、又はアナログ/混合信号である請求項59記載の方法。 - 【請求項62】前記カラーインタフェースは、ブロック特定標準層及びシステム
特定層を含む複数の層を含む請求項59記載の方法。 - 【請求項63】第1の回路ブロックと第2の回路ブロックとを接続する方法であ
り、第1の回路ブロックが第1の特定のインタフェースを有し、第2の回路ブロ
ックが第2の特定のインタフェースを有し、この方法が、 (a)第1及び第2の回路ブロックを接続するための標準インタフェースを定
義する段階と、 (b)第1の接続インタフェースを第1の回路ブロックに接続し、第1のイン
タフェースは第1の回路ブロックに接続可能な第1の部分、標準インタフェース
に従った第2の部分、及び第1の特定のインタフェースを標準インタフェースに
変換するための第3の部分を含む段階と、 (c)第2のカラーインタフェースを第2の回路ブロックに接続し、この第2
のカラーインタフェースは第2の回路ブロックに接続される第1の部分、標準イ
ンタフェースに従った第2の部分、及び特定のインタフェースを標準インタフェ
ースに変換する第3の部分を有する段階と、 (d)第1及び第2の回路ブロックを標準インタフェースを使用して接続する
段階を含む方法。 - 【請求項64】第1及び第2インタフェースがハード、ソフト、又はファームフ
ォーマットとすることができる請求項63記載の方法。 - 【請求項65】第1及び第2回路ブロックがメモリ、プロセッサ、ランダムロジ
ック、又はアナログ/混合信号である請求項63記載の方法。 - 【請求項66】第1及び第2のカラーインタフェースが、ブロック特定標準層及
びシステム特定層を含む多層を含む請求項63記載の方法。 - 【請求項67】回路ブロックの特定のインタフェースを標準インタフェースに変
換するカラーインタフェースであり、 (a)回路ブロックの特定のインタフェースに接続可能な成分を含む第1の部
分、 (b)標準インタフェースに従う第2の部分、および (c)特定のインタフェースを標準インタフェースに変換する第3の部分から
成るカラーインタフェース。 - 【請求項68】装置がハード、ソフト又はファームフォーマットとすることがで
きる請求項67記載のカラーインタフェース。 - 【請求項69】回路ブロックがメモリ、プロセッサ、ランダムロジック、又はア
ナログ/混合信号である請求項67記載のカラーインタフェース。 - 【請求項70】カラーインタフェースが、ブロック特定標準層及びシステム特定
層を含む多層を含む請求項67記載のカラーインタフェース。 - 【請求項71】第1の回路ブロックと第2の回路ブロックを標準インタフェース
を介して接続し、第1の回路ブロックが第1の特定インタフェースを有し、第2
の回路ブックが第2の特定のインタフェースを有する、インタフェースシステム
であり、 (a)第1の回路ブロックに接続された第1のカラーインタフェースであり、
(1)第1の回路ブロックの特定のインタフェースに接続可能な構成要素を含む
第1の部分、(2)標準インタフェースに従う第2の部分、及び第1の特定のイ
ンタフェースを標準インタフェースに変換するための構成要素を含む第3の部分
を含む第1のカラーインタフェースと、 (b)第2の回路ブロックに接続される第2のカラーインタフェースであり、
(1)第2の回路の特定インタフェースに接続可能な構成要素を含む第1の部分
、(2)標準インタフェースに従う第2の部分、及び第2の特定のインタフェー
スを標準インタフェースに変換するための構成要素を含む第3の部分を含む第2
のカラーインタフェースとを含むインタフェースシステム。 - 【請求項72】第1及び第2のカラーインタフェースがハード、ソフト、又はフ
ァームフォーマットとすることができる請求項71記載のインテフェースシステ
ム。 - 【請求項73】第1及び第2の回路ブロックがメモリ、プロセッサ、ランダムロ
ジック、又はアナログ/混合信号である請求項71記載のインタフェースシステ
ム。 - 【請求項74】第1及び第2のカラーインタフェースが、ブロック特定標準層及
びシステム特定層を含む多層を含む請求項71記載のインタフェースシステム。 - 【請求項75】設計中の回路が複数の予め存在する設計ブロックから成る回路設
計方法における、回路バスを選択する方法が、 複数の設計ブロック間のデータトランザクションの作動状態を観測する段階と
、 観測されたトランザクションの作動状態から、複数のバスの判断規準を導く段
階と、 前記複数のバス判断規準に基づいた方法で利用可能なバス設計ブロックからバ
ス構造を選択する段階と、 前記選択されたバス構造を前記回路中に集積する段階とを含む、前記の方法。 - 【請求項76】前記複数のバス判断規準が、バスサイズ、バスバンド幅、バス性
能レベル、及び信号待ち時間から成るグループの内の少なくとも一つから成る請
求項75記載の方法。 - 【請求項77】バスを選択する以前に、ブロック間の複数の通信要求にに従って
複数の設計ブロックをクラスター化し、複数のブロッククラスターを形成する段
階を更に含む請求項75記載の方法。 - 【請求項78】バスサイズ、バスバンド幅、バス性能レベル、及び信号待ち時間
から成るグループの内の少なくとも一つから成るバス選択規準が、各々形成され
たクラスターに割り当てられている請求項77記載の方法。 - 【請求項79】 前記導く段階が、回路内の少なくとも一つのブロックとI/O
構造との間での通信に対する要求を導くことから成る請求項75記載の方法。 - 【請求項80】バスインタフェースロジック回路を改良することにより、選択さ
れたバス構造を回路内にマッピングすることを更に含む請求項75記載の方法。 - 【請求項81】前記導く段階が、 複数のデータ転送カウントエントリを含む、データ転送マトリックスを生成す
る段階と、 マトリックスの中心軸に向かってカウントの最大値を移動することによって、
データ転送マトリックスを編成する段階からなる請求項75記載の方法。 - 【請求項82】前記導く段階が、更に、選択された重み付け判断規準に従って、
カウントエントリを重み付けする請求項81記載の方法。 - 【請求項83】前記導く段階が、選択されるべきバス内のデータ流の分布を表わ
す複数のデータを含むクラスター値マトリックスを生成する段階と、 前記分布データを選択的に再有機化することにより選択されるべきバス内のデ
ータ流を最適化する段階とから成る請求項77記載の方法。 - 【請求項84】データトランザクョシンの作用状態を観測する段階が、作動状態
モデルで達成される請求項75記載の方法。 - 【請求項85】作動状態モデルが複数の設計ブロックとI/O構造を含む請求項
84記載の方法。 - 【請求項86】作動状態モデルがトランザクションデータを収集するように修正
される請求項84記載の方法。 - 【請求項87】複数の予め存在する設計ブロックから成る回路設計を実現するた
めのブロックベース設計法における、前記設計を具体化する装置を設計し製造後
に装置を試験することを可能にする方法において、この方法が、 試験開発フレームワークを設立する段階と、 このフレームワークに従って、設計ブロックを試験するための複数の試験ブロ
ックを開発する段階と、 前記フレームワークに従って複数の試験ブロックを、回路設計のための試験を
展開するためにマッピングする段階を含む、前記の方法。 - 【請求項88】前記設立する段階が、一組のクオリファイヤーに従って複数の予
め存在する設計ブロックを識別し、前記クオリファイヤーが、試験モデル、試験
方法、試験データ、及び試験インタフェースから成るグループの内の少なくとも
一つのエントリから成る請求項87記載の方法。 - 【請求項89】一組のクオリファイヤーが、トップダウン試験プランを可能とす
る設計ブロックの抽象化から成る請求項88記載の方法。 - 【請求項90】前記プランが、ブロックの各々に対するシケン予算から成る請求
項87記載の方法。 - 【請求項91】2つ以上のブロックの同時試験を可能とすることを更に含む請求
項87記載の方法。 - 【請求項92】前記可能とする段階が、デバイスレベル試験インタフェースから
成る請求項91記載の方法。 - 【請求項93】前記可能とする段階が、試験ブロック間のテスターセットアップ
時間を最小化するためにテスター時間設定を操作する請求項91記載の方法。 - 【請求項94】前記フレームワーク及びブロック試験を、試験再利用性に対する
試験準備設計ブロックとしてパッケージングすることから更になる請求項87記
載の方法。 - 【請求項95】複数の予め存在する設計ブロックから成る集積回路デバイスを製
造後試験が可能である様に設計する方法が、 回路試験開発フレームワークを設立するために予め存在するブロックを抽象化
する段階と、 デバイスに対する、複数の試験を含む設計法を形式化するが、回路設計を全体
的に試験することが可能であることを予測に推定することを維持する段階とから
成る、前記の方法。 - 【請求項96】回路試験フレームワークが複数のテトス目的のために最適化され
る請求項95記載の方法。 - 【請求項97】回路試験フレームワークが、予め定められたブロックの試験可能
性のリスクレベルが許可可能なレベルよりも大きい場合には、拒絶される請求項
95記載の方法。 - 【請求項98】フレームワークは試験コスト予算判断規準からなる請求項95記
載の方法。 - 【請求項99】ある試験を設計法に加えることにより、試験効力の交換を実施す
ることを更に含む請求項98記載の方法。 - 【請求項100】設計法からある試験を除去することにより、試験効力の交換を
実施することからなる請求項98記載の方法。 - 【請求項101】指定された許容度内で設計法を洗練することを更に含む請求項
95記載の方法。 - 【請求項102】選択された好適な試験方法で各ブロックが試験されるべきこと
を可能にすることにより、設計法の一部として同時的試験開発を可能にすること
を更に含む請求項95記載の方法。 - 【請求項103】設計法が試験インタフェースを含みこのインタフェースが複数
の異なる試験プロトコルと互換性のある請求項95記載の方法。 - 【請求項104】2つ以上のブロック試験を同時に実施することにより、設計法
の試験スケジュール部分を簡単化することを更に含む請求項95記載の方法。 - 【請求項105】設計ブロック間の試験ベクトルを複製し、設計法での試験ブロ
ック間の経過時間を減少することを含む請求項95記載の方法。 - 【請求項106】複数の類似のブロックが同時に実施され、結果試験時間が減少
される請求項95記載の方法。 - 【請求項107】複数の回路設計に適合するために、設計者フィードバックを使
用して設計法を更新する請求項95記載の方法。 - 【請求項108】複数の予め存在する設計ブロックから成る回路設計の固有の機
能を検査する方法であり、 回路設計モデル及び回路試験ベンチを得る段階と、 回路設計モデルを複数のブロックモデルに分ける段階と、 複数のブロックモデルを相互接続するバスモデルを生成する段階と、 複数のブロックモデル及びバスモデルを検査するための複数の試験ベンチを生
成する段階と、 複数のブロックモテル及びバスモデルの機能を検査するための試験ベンチを使
用する段階とを含む、前記の方法。 - 【請求項109】回路設計モデルがトップレベル計画を含む請求項108記載の
方法。 - 【請求項110】バスモデルがブロックモデルからグルー論理を含む請求項10
8記載の方法。 - 【請求項111】ブロックモデルの機能がレジスタ転送言語検査を含む請求項1
08記載の方法。 - 【請求項112】ブロックモデルの機能が予めレイアウトされたネットリスト検
査を含む請求項108記載の方法。 - 【請求項113】ブロックモデルの機能がレイアウト後ネットリスト検査を含む
請求項108記載の方法。 - 【請求項114】複数ののブロックモデルを検査する試みの後に、複数のブロッ
クモデルが、サイクル精度のために修正される請求項108記載の方法。 - 【請求項115】回路設計用の試験ベンチを開発し、 回路設計の機能を検査することを試みることを更に含む請求項108記載の方
法。 - 【請求項116】回路設計の機能がレジスタ転送言語検査を含む請求項115記
載の方法。 - 【請求項117】回路設計の機能がレイアウト前のネットリスト検査を含む請求
項115記載の方法。 - 【請求項118】回路設計の機能を検査することが、レイアウト後のネットリス
ト検査を含む請求項115記載の方法。 - 【請求項119】回路設計を検査することを試みる後に、回路試験ベンチがサイ
クル精度に関して修正される請求項108記載の方法。 - 【請求項120】初期の作動形態レベル試験ベンチを、タイミングの競合無しに
、設計の全てタイミングが正確な観点での機能検査に対して好適なサイクル正確
試験ベンチに含む方法でおいて、 試験ベンチ上での設計を実行した際の不変出力を決定する段階と、 試験ベンチをクロックを含む様に修正する段階と、 タイミングが正確なモデル上で修正された試験ベンチを実施する段階と、 試験ベンチの不変出力を比較する段階とから成る、前記の方法。 - 【請求項121】 複数の予め存在する設計ブロックを含む回路設計の固有の機
能を検査する方法であり、 トップレベル計画及び複数のブロックモデルを含む回路設計モデルを得る段階
と、 回路試験ベンチを得る段階と、 複数のブロックモデルを相互接続するバスモデルを生成する段階と、 複数のブロックモデル及びバスモデルを検査するための複数の試験ベンチを生
成する段階と、 複数のブロックモデル及びバスモデルの機能を検査するために試験ベンチを使
用する段階とを含む、方法。 - 【請求項122】初期の作用形態レベル試験ベンチを、タイミングの競合無しに
、設計の実質的にタイミングが正確な観点での機能検査に対して好適なサイクル
が正確な試験ベンチに含む方法でおいて、 試験ベンチ上での設計の実施による不変出力を決定する段階と、 試験ベンチをクロックを含む様に修正する段階と、 実質的にタイミングが正確なモデル上で修正された試験ベンチを実行する段階
と、 試験ベンチの不変出力を比較する段階とを含む方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10256698P | 1998-09-30 | 1998-09-30 | |
US60/102,566 | 1998-09-30 | ||
PCT/US1999/022984 WO2000019343A2 (en) | 1998-09-30 | 1999-09-30 | Block based design methodology |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002526908A true JP2002526908A (ja) | 2002-08-20 |
JP2002526908A5 JP2002526908A5 (ja) | 2011-08-18 |
Family
ID=22290503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000572780A Pending JP2002526908A (ja) | 1998-09-30 | 1999-09-30 | ブロックをベースとする設計方法 |
Country Status (13)
Country | Link |
---|---|
US (10) | US6269467B1 (ja) |
EP (1) | EP1145159A3 (ja) |
JP (1) | JP2002526908A (ja) |
KR (1) | KR100846089B1 (ja) |
CN (1) | CN1331079C (ja) |
AU (1) | AU1100500A (ja) |
BR (1) | BR9914200A (ja) |
CA (1) | CA2345648A1 (ja) |
EE (1) | EE200100189A (ja) |
HU (1) | HUP0301274A2 (ja) |
IL (1) | IL142279A0 (ja) |
PL (1) | PL350155A1 (ja) |
WO (1) | WO2000019343A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010013427A1 (ja) * | 2008-07-30 | 2010-02-04 | パナソニック株式会社 | 集積回路 |
JP2010205109A (ja) * | 2009-03-05 | 2010-09-16 | Toyota Infotechnology Center Co Ltd | ネットワークの設計を支援するための方法および装置 |
Families Citing this family (347)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138266A (en) | 1997-06-16 | 2000-10-24 | Tharas Systems Inc. | Functional verification of integrated circuit designs |
US6697773B1 (en) | 1998-05-19 | 2004-02-24 | Altera Corporation | Using assignment decision diagrams with control nodes for sequential review during behavioral simulation |
US6961690B1 (en) * | 1998-05-19 | 2005-11-01 | Altera Corporation | Behaviorial digital simulation using hybrid control and data flow representations |
US6862563B1 (en) * | 1998-10-14 | 2005-03-01 | Arc International | Method and apparatus for managing the configuration and functionality of a semiconductor design |
US6519636B2 (en) * | 1998-10-28 | 2003-02-11 | International Business Machines Corporation | Efficient classification, manipulation, and control of network transmissions by associating network flows with rule based functions |
US7076415B1 (en) * | 1998-12-17 | 2006-07-11 | Cadence Design Systems, Inc. | System for mixed signal synthesis |
US6446243B1 (en) * | 1999-04-23 | 2002-09-03 | Novas Software, Inc. | Method for functional verification of VLSI circuit designs utilizing reusable functional blocks or intellectual property cores |
US6560754B1 (en) * | 1999-05-13 | 2003-05-06 | Arc International Plc | Method and apparatus for jump control in a pipelined processor |
US6519754B1 (en) * | 1999-05-17 | 2003-02-11 | Synplicity, Inc. | Methods and apparatuses for designing integrated circuits |
US6446251B1 (en) * | 1999-06-14 | 2002-09-03 | David Neal Gardner | Method and apparatus for socket-based design with reusable-IP |
US6634008B1 (en) * | 1999-06-20 | 2003-10-14 | Fujitsu Limited | Methodology server based integrated circuit design |
US6507808B1 (en) * | 1999-06-23 | 2003-01-14 | International Business Machines Corporation | Hardware logic verification data transfer checking apparatus and method therefor |
US6678645B1 (en) * | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
AU1232501A (en) * | 1999-10-29 | 2001-05-14 | Antrim Design Systems, Inc. | Mixed signal synthesis behavioral models and use in circuit design optimization |
US6704908B1 (en) * | 1999-11-17 | 2004-03-09 | Amadala Limited | Method and apparatus for automatically generating a phase lock loop (PLL) |
US7031900B1 (en) * | 2000-01-07 | 2006-04-18 | Sun Microsystems, Inc. | Static scheduling of test cases |
US6631504B2 (en) * | 2000-01-18 | 2003-10-07 | Cadence Design Systems, Inc | Hierarchical test circuit structure for chips with multiple circuit blocks |
US7181705B2 (en) * | 2000-01-18 | 2007-02-20 | Cadence Design Systems, Inc. | Hierarchical test circuit structure for chips with multiple circuit blocks |
JP2004500712A (ja) * | 2000-01-18 | 2004-01-08 | ケイデンス・デザイン・システムズ・インコーポレーテッド | 多数の回路ブロックを有するチップ用階層試験回路構造 |
WO2001054001A1 (en) * | 2000-01-18 | 2001-07-26 | Cadence Design Systems, Inc. | Adaptable circuit blocks for use in multi-block chip design |
US6487699B1 (en) * | 2000-01-31 | 2002-11-26 | International Business Machines Corporation | Method of controlling external models in system-on-chip verification |
US6571373B1 (en) * | 2000-01-31 | 2003-05-27 | International Business Machines Corporation | Simulator-independent system-on-chip verification methodology |
US6615167B1 (en) * | 2000-01-31 | 2003-09-02 | International Business Machines Corporation | Processor-independent system-on-chip verification for embedded processor systems |
US6427224B1 (en) * | 2000-01-31 | 2002-07-30 | International Business Machines Corporation | Method for efficient verification of system-on-chip integrated circuit designs including an embedded processor |
US6658508B1 (en) * | 2000-01-31 | 2003-12-02 | Koninklijke Philips Electronics N.V. | Expansion module with external bus for personal digital assistant and design method therefor |
US6904397B1 (en) * | 2000-02-22 | 2005-06-07 | Xilinx, Inc. | System and method for assisting in the development and integration of reusable circuit designs |
US6594799B1 (en) | 2000-02-28 | 2003-07-15 | Cadence Design Systems, Inc. | Method and system for facilitating electronic circuit and chip design using remotely located resources |
US6625780B1 (en) * | 2000-02-28 | 2003-09-23 | Cadence Design Systems, Inc. | Watermarking based protection of virtual component blocks |
US6851094B1 (en) * | 2000-02-28 | 2005-02-01 | Cadence Design Systems, Inc. | Automated method and system for selecting and procuring electronic components used in circuit and chip designs |
WO2001069411A2 (en) | 2000-03-10 | 2001-09-20 | Arc International Plc | Memory interface and method of interfacing between functional entities |
US6970814B1 (en) * | 2000-03-30 | 2005-11-29 | International Business Machines Corporation | Remote IP simulation modeling |
US6993740B1 (en) * | 2000-04-03 | 2006-01-31 | International Business Machines Corporation | Methods and arrangements for automatically interconnecting cores in systems-on-chip |
JP3583054B2 (ja) * | 2000-04-19 | 2004-10-27 | Necインフロンティア株式会社 | ネットワークを用いた設計業務システム及び設計方法 |
ATE453159T1 (de) * | 2000-05-12 | 2010-01-15 | Simplex Solutions Inc | Hochgenaues taktierungsmodell für die prüfung von integrierten schaltungen |
JP2001326151A (ja) * | 2000-05-16 | 2001-11-22 | Nec Corp | 半導体集積回路製作システム |
JP2001338010A (ja) * | 2000-05-25 | 2001-12-07 | Matsushita Electric Ind Co Ltd | 集積回路の設計方法 |
WO2001095161A2 (en) * | 2000-06-02 | 2001-12-13 | Virtio Corporation | Method and system for virtual prototyping |
JP2001344287A (ja) * | 2000-06-02 | 2001-12-14 | Nec Microsystems Ltd | アルゴリズム記述におけるバスの性能評価方法 |
JP3759860B2 (ja) * | 2000-06-08 | 2006-03-29 | シャープ株式会社 | 自己同期型のパイプライン制御を採用したデータ駆動型情報処理装置の設計方法 |
US7100133B1 (en) * | 2000-06-23 | 2006-08-29 | Koninklijke Philips Electronics N.V | Computer system and method to dynamically generate system on a chip description files and verification information |
TW518488B (en) * | 2000-06-30 | 2003-01-21 | Infineon Technologies Corp | Method for design and layout of integrated circuits |
WO2002005144A1 (en) | 2000-07-03 | 2002-01-17 | Cadence Design Systems, Inc. | Circuit component interface |
US6829731B1 (en) * | 2000-08-14 | 2004-12-07 | International Business Machines Corporation | Method and system for generating a design-specific test case from a generalized set of bus transactions |
US7020589B1 (en) * | 2000-09-29 | 2006-03-28 | Lsi Logic Corporation | Method and apparatus for adaptive timing optimization of an integrated circuit design |
JP3852741B2 (ja) * | 2000-10-31 | 2006-12-06 | シャープ株式会社 | 高位合成方法および高位合成装置 |
GB2406416A (en) * | 2000-10-31 | 2005-03-30 | Advanced Risc Mach Ltd | Describing an integrated circuit configuration |
US6671843B1 (en) * | 2000-11-13 | 2003-12-30 | Omar Kebichi | Method for providing user definable algorithms in memory BIST |
JP4118501B2 (ja) * | 2000-11-15 | 2008-07-16 | 株式会社ルネサステクノロジ | システム検証装置 |
US6704917B1 (en) * | 2000-11-21 | 2004-03-09 | Micro Industries Corporation | Table driven design system and method |
JP2002184948A (ja) * | 2000-12-12 | 2002-06-28 | Hitachi Ltd | 半導体集積回路装置の製造方法 |
US6629297B2 (en) | 2000-12-14 | 2003-09-30 | Tharas Systems Inc. | Tracing the change of state of a signal in a functional verification system |
US6625786B2 (en) * | 2000-12-14 | 2003-09-23 | Tharas Systems, Inc. | Run-time controller in a functional verification system |
US6691287B2 (en) | 2000-12-14 | 2004-02-10 | Tharas Systems Inc. | Functional verification system |
US7165231B2 (en) * | 2000-12-18 | 2007-01-16 | Yardstick Research, Llc | Method and system for incremental behavioral validation of digital design expressed in hardware description language |
US7430543B1 (en) * | 2001-02-09 | 2008-09-30 | Synopsys, Inc. | Method of enforcing a contract for a CAD tool |
US6694494B2 (en) * | 2001-03-16 | 2004-02-17 | Daro Semiconductors Ltd. | Method of designing a multi-module single-chip circuit system |
US6816997B2 (en) * | 2001-03-20 | 2004-11-09 | Cheehoe Teh | System and method for performing design rule check |
AU2002255849A1 (en) * | 2001-03-20 | 2002-10-03 | Nptest, Inc. | Low-jitter clock for test system |
JP2002288255A (ja) * | 2001-03-26 | 2002-10-04 | Toshiba Corp | ハードウェア記述言語で記述されたシステムlsiの回路部品、及びその検証方法、検証支援回路、システムlsiの製造方法 |
US6567959B2 (en) * | 2001-03-30 | 2003-05-20 | Intel Corporation | Method and device for verification of VLSI designs |
US6957403B2 (en) | 2001-03-30 | 2005-10-18 | Syntest Technologies, Inc. | Computer-aided design system to automate scan synthesis at register-transfer level |
JP4529063B2 (ja) * | 2001-03-30 | 2010-08-25 | ルネサスエレクトロニクス株式会社 | システムシミュレータ、シミュレーション方法及びシミュレーションプログラム |
DE10118470A1 (de) * | 2001-04-12 | 2002-10-24 | Siemens Ag | Objektbearbeitungssystem mit einem Objektmodell |
US6453443B1 (en) * | 2001-04-16 | 2002-09-17 | Taiwan Semiconductor Manufacturing Company | Method for cell modeling and timing verification of chip designs with voltage drop |
CN1293503C (zh) * | 2001-04-27 | 2007-01-03 | 株式会社鼎新 | 系统芯片的设计校验方法和装置 |
US20030004699A1 (en) * | 2001-06-04 | 2003-01-02 | Choi Charles Y. | Method and apparatus for evaluating an integrated circuit model |
US6578174B2 (en) | 2001-06-08 | 2003-06-10 | Cadence Design Systems, Inc. | Method and system for chip design using remotely located resources |
US6985843B2 (en) * | 2001-06-11 | 2006-01-10 | Nec Electronics America, Inc. | Cell modeling in the design of an integrated circuit |
US6757882B2 (en) * | 2001-06-16 | 2004-06-29 | Michael Y. Chen | Self-describing IP package for enhanced platform based SOC design |
US20030009730A1 (en) * | 2001-06-16 | 2003-01-09 | Chen Michael Y. | Enhanced platform based SOC design including exended peripheral selection and automated IP customization facilitation |
US20030005396A1 (en) * | 2001-06-16 | 2003-01-02 | Chen Michael Y. | Phase and generator based SOC design and/or verification |
US6502232B1 (en) * | 2001-06-18 | 2002-12-31 | Verisity Design, Inc. | Electronic circuit design environmentally constrained test generation system |
JP4035354B2 (ja) * | 2001-07-11 | 2008-01-23 | 富士通株式会社 | 電子回路設計方法及び装置、コンピュータプログラム及び記憶媒体 |
US6480999B1 (en) * | 2001-07-26 | 2002-11-12 | Xilinx, Inc. | Signal routing in programmable logic devices |
US20030061013A1 (en) * | 2001-09-11 | 2003-03-27 | Bentley William F. | Optimal selection of IP modules for design integration |
US20030050967A1 (en) * | 2001-09-11 | 2003-03-13 | Bentley William F. | Apparatus and method for optimal selection of IP modules for design integration |
US6764869B2 (en) * | 2001-09-12 | 2004-07-20 | Formfactor, Inc. | Method of assembling and testing an electronics module |
JP3891813B2 (ja) * | 2001-10-09 | 2007-03-14 | 富士通株式会社 | 集積論理回路の階層設計方法 |
US6654946B1 (en) * | 2001-10-30 | 2003-11-25 | Lsi Logic Corporation | Interscalable interconnect |
CA2360291A1 (en) * | 2001-10-30 | 2003-04-30 | Benoit Nadeau-Dostie | Method and program product for designing hierarchical circuit for quiescent current testing and circuit produced thereby |
US6999910B2 (en) * | 2001-11-20 | 2006-02-14 | Lsi Logic Corporation | Method and apparatus for implementing a metamethodology |
US6775798B2 (en) * | 2001-11-28 | 2004-08-10 | Lsi Logic Corporation | Fast sampling test bench |
US6543034B1 (en) | 2001-11-30 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Multi-environment testing with a responder |
US7493470B1 (en) | 2001-12-07 | 2009-02-17 | Arc International, Plc | Processor apparatus and methods optimized for control applications |
US7103860B2 (en) * | 2002-01-25 | 2006-09-05 | Logicvision, Inc. | Verification of embedded test structures in circuit designs |
US20030145290A1 (en) * | 2002-01-30 | 2003-07-31 | International Business Machines Corporation | System for controlling external models used for verification of system on a chip (SOC) interfaces |
US7003743B2 (en) * | 2002-02-01 | 2006-02-21 | Freescale Semiconductor, Inc. | Method and system of data processor design by sensitizing logical difference |
WO2003067478A1 (en) * | 2002-02-05 | 2003-08-14 | Logicvision, Inc. | Verification of embedded test structures in circuit designs |
US6732338B2 (en) * | 2002-03-20 | 2004-05-04 | International Business Machines Corporation | Method for comprehensively verifying design rule checking runsets |
US6735749B2 (en) | 2002-03-21 | 2004-05-11 | Sun Microsystems, Inc. | (Design rule check)/(electrical rule check) algorithms using a system resolution |
US6760891B2 (en) * | 2002-04-01 | 2004-07-06 | Sun Microsystems, Inc. | Simulator of dynamic circuit for silicon critical path debug |
US6934897B2 (en) * | 2002-04-05 | 2005-08-23 | Nilanjan Mukherjee | Scheduling the concurrent testing of multiple cores embedded in an integrated circuit |
US6993733B2 (en) * | 2002-04-09 | 2006-01-31 | Atrenta, Inc. | Apparatus and method for handling of multi-level circuit design data |
US7178115B2 (en) * | 2002-04-11 | 2007-02-13 | Advantest Corp. | Manufacturing method and apparatus to avoid prototype-hold in ASIC/SOC manufacturing |
KR100745959B1 (ko) * | 2002-04-17 | 2007-08-02 | 후지쯔 가부시끼가이샤 | 집적 회로의 개발 방법 및 집적 회로의 개발 방법을 기록한 프로그램 기록 매체 |
US20030204386A1 (en) * | 2002-04-24 | 2003-10-30 | Glenn Colon-Bonet | Class-based system for circuit modeling |
WO2003091914A1 (en) * | 2002-04-25 | 2003-11-06 | Arc International | Apparatus and method for managing integrated circuit designs |
US6952810B2 (en) * | 2002-05-01 | 2005-10-04 | Sun Microsystems, Inc. | Coding speed and correctness of hardware description language (HDL) descriptions of hardware |
US6711730B2 (en) * | 2002-05-13 | 2004-03-23 | Hewlett-Packard Development Company, L.P. | Synthesizing signal net information from multiple integrated circuit package models |
US20030217338A1 (en) * | 2002-05-17 | 2003-11-20 | International Business Machines Corporation | Congestion mitigation with logic order preservation |
US6775811B2 (en) * | 2002-05-22 | 2004-08-10 | Lsi Logic Corporation | Chip design method for designing integrated circuit chips with embedded memories |
US7567892B2 (en) * | 2002-05-29 | 2009-07-28 | Broadcom Corporation | Method and system for realizing a logic model design |
US7149991B2 (en) * | 2002-05-30 | 2006-12-12 | Nec Electronics America, Inc. | Calibrating a wire load model for an integrated circuit |
US6925621B2 (en) * | 2002-06-24 | 2005-08-02 | Agilent Technologies, Inc. | System and method for applying timing models in a static-timing analysis of a hierarchical integrated circuit design |
US7127692B2 (en) * | 2002-06-27 | 2006-10-24 | Lsi Logic Corporation | Timing abstraction and partitioning strategy |
US6910194B2 (en) * | 2002-07-19 | 2005-06-21 | Agilent Technologies, Inc. | Systems and methods for timing a linear data path element during signal-timing verification of an integrated circuit design |
US6922822B2 (en) * | 2002-07-19 | 2005-07-26 | Hewlett-Packard Development Company, L.P. | Verifying proximity of ground vias to signal vias in an integrated circuit |
US6769102B2 (en) * | 2002-07-19 | 2004-07-27 | Hewlett-Packard Development Company | Verifying proximity of ground metal to signal traces in an integrated circuit |
US6807657B2 (en) | 2002-07-19 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Inter-signal proximity verification in an integrated circuit |
US6871332B2 (en) * | 2002-07-23 | 2005-03-22 | Sun Microsystems, Inc. | Structure and method for separating geometries in a design layout into multi-wide object classes |
US6954915B2 (en) * | 2002-07-31 | 2005-10-11 | Agilent Technologies, Inc. | System and methods for pre-artwork signal-timing verification of an integrated circuit design |
US7702636B1 (en) | 2002-07-31 | 2010-04-20 | Cadence Design Systems, Inc. | Federated system and methods and mechanisms of implementing and using such a system |
US7392255B1 (en) | 2002-07-31 | 2008-06-24 | Cadence Design Systems, Inc. | Federated system and methods and mechanisms of implementing and using such a system |
US6904576B2 (en) * | 2002-08-09 | 2005-06-07 | Synplicity, Inc. | Method and system for debugging using replicated logic |
US7213216B2 (en) | 2002-08-09 | 2007-05-01 | Synplicity, Inc. | Method and system for debugging using replicated logic and trigger logic |
US7398445B2 (en) * | 2002-08-09 | 2008-07-08 | Synplicity, Inc. | Method and system for debug and test using replicated logic |
US6842884B2 (en) * | 2002-08-28 | 2005-01-11 | Verplex Systems, Inc. | Combinational equivalence checking methods and systems with internal don't cares |
AU2003265891A1 (en) * | 2002-09-04 | 2004-03-29 | Mentor Graphics (Holdings) Ltd. | Polymorphic computational system and method in signals intelligence analysis |
US7043419B2 (en) * | 2002-09-20 | 2006-05-09 | International Business Machines Corporation | Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system |
US20040059704A1 (en) * | 2002-09-20 | 2004-03-25 | International Business Machines Corporation | Self-managing computing system |
US7194445B2 (en) * | 2002-09-20 | 2007-03-20 | Lenovo (Singapore) Pte. Ltd. | Adaptive problem determination and recovery in a computer system |
US7216343B2 (en) * | 2002-09-20 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for automatic updating and testing of software |
US20040060054A1 (en) * | 2002-09-20 | 2004-03-25 | International Business Machines Corporation | Composition service for autonomic computing |
US7131097B1 (en) * | 2002-09-24 | 2006-10-31 | Altera Corporation | Logic generation for multiple memory functions |
US7729898B1 (en) * | 2002-10-17 | 2010-06-01 | Altera Corporation | Methods and apparatus for implementing logic functions on a heterogeneous programmable device |
US7336268B1 (en) * | 2002-10-30 | 2008-02-26 | National Semiconductor Corporation | Point-to-point display system having configurable connections |
US6792581B2 (en) | 2002-11-07 | 2004-09-14 | Intel Corporation | Method and apparatus for cut-point frontier selection and for counter-example generation in formal equivalence verification |
US7424417B2 (en) * | 2002-11-19 | 2008-09-09 | Broadcom Corporation | System and method for clock domain grouping using data path relationships |
US7024636B2 (en) * | 2002-11-20 | 2006-04-04 | Lsi Logic Corporation | Chip management system |
FI5706U1 (fi) * | 2002-11-21 | 2003-02-26 | Patria New Technologies Oy | JTAG-testilaitteisto ja -testausjärjestelmä |
US7454735B2 (en) * | 2002-12-17 | 2008-11-18 | International Business Machines Corporation | ASIC clock floor planning method and structure |
US6968406B2 (en) * | 2003-02-20 | 2005-11-22 | Dell Products L.P. | System and method for arbitrating access between common access requests on a bus |
US7898047B2 (en) * | 2003-03-03 | 2011-03-01 | Samsung Electronics Co., Ltd. | Integrated nitride and silicon carbide-based devices and methods of fabricating integrated nitride-based devices |
US7143369B1 (en) * | 2003-03-14 | 2006-11-28 | Xilinx, Inc. | Design partitioning for co-stimulation |
US8639487B1 (en) * | 2003-03-25 | 2014-01-28 | Cadence Design Systems, Inc. | Method for multiple processor system-on-a-chip hardware and software cogeneration |
US20040199366A1 (en) * | 2003-04-01 | 2004-10-07 | Timothy Holm | Mixed signal analog connectivity check system |
JP4428110B2 (ja) * | 2003-04-14 | 2010-03-10 | 富士ゼロックス株式会社 | 経験知識情報処理装置 |
US7587690B1 (en) * | 2003-04-29 | 2009-09-08 | Cadence Design Systems, Inc. | Method and system for global coverage analysis |
US6728936B1 (en) * | 2003-04-29 | 2004-04-27 | Lsi Logic Corporation | Datapath bitslice technology |
US7216318B1 (en) | 2003-04-29 | 2007-05-08 | Cadence Design Systems, Inc. | Method and system for false path analysis |
JP4248925B2 (ja) * | 2003-05-08 | 2009-04-02 | 株式会社ルネサステクノロジ | 自動フロアプラン決定方法 |
US7000205B2 (en) * | 2003-05-29 | 2006-02-14 | International Business Machines Corporation | Method, apparatus, and program for block-based static timing analysis with uncertainty |
US7178118B2 (en) * | 2003-05-30 | 2007-02-13 | Synplicity, Inc. | Method and apparatus for automated circuit design |
US7627842B1 (en) | 2003-06-03 | 2009-12-01 | Cadence Design Systems, Inc. | Method and system for verification of circuits with encoded signals |
US7043708B2 (en) * | 2003-06-09 | 2006-05-09 | Lsi Logic Corporation | Intelligent crosstalk delay estimator for integrated circuit design flow |
US7184946B2 (en) * | 2003-06-19 | 2007-02-27 | Xilinx, Inc. | Co-simulation via boundary scan interface |
US7216326B2 (en) * | 2003-06-20 | 2007-05-08 | Interuniversitar Microelektronica Centrum (Imec) | Resource activity aware system for determining a resource interconnection pattern within an essentially digital device and devices created therewith |
IL156634A0 (en) * | 2003-06-25 | 2004-01-04 | Shmuel Livne | Method to evaluate and improve the testability of electronic products |
US7231335B2 (en) * | 2003-06-26 | 2007-06-12 | International Business Machines Corporation | Method and apparatus for performing input/output floor planning on an integrated circuit design |
JP2005037995A (ja) * | 2003-07-15 | 2005-02-10 | Toshiba Corp | 半導体集積回路の検証システム |
US20050048348A1 (en) * | 2003-08-26 | 2005-03-03 | Hydrogenics Corporation | Fuel cell system and bracket therefor |
US20050049843A1 (en) * | 2003-08-29 | 2005-03-03 | Lee Hewitt | Computerized extension apparatus and methods |
US20050055194A1 (en) * | 2003-09-08 | 2005-03-10 | Krause Luanne Marie | Migration model |
KR100546886B1 (ko) * | 2003-10-08 | 2006-01-26 | 삼성전자주식회사 | 시스템온칩 성능 측정장치 및 그 성능 측정방법 |
US7111264B2 (en) * | 2003-10-17 | 2006-09-19 | Lsi Logic Corporation | Process and apparatus for fast assignment of objects to a rectangle |
US8065128B1 (en) * | 2003-10-23 | 2011-11-22 | Altera Corporation | Methods and apparatus for automated testbench generation |
US7036102B2 (en) * | 2003-10-27 | 2006-04-25 | Lsi Logic Corporation | Process and apparatus for placement of cells in an IC during floorplan creation |
NZ547492A (en) * | 2003-10-28 | 2009-12-24 | Bioarray Solutions Ltd | Optimization of gene expression analysis using immobilized capture probes of different lengths and densities |
US7103865B2 (en) * | 2003-11-21 | 2006-09-05 | Lsi Logic Corporation | Process and apparatus for placement of megacells in ICs design |
WO2005055341A1 (en) * | 2003-12-01 | 2005-06-16 | Hydrogenics Corporation | Fuel cell system and bracket therefor |
US7003749B2 (en) * | 2004-01-12 | 2006-02-21 | Cadence Design Systems, Inc. | Constraint data management for electronic design automation |
US7305332B1 (en) * | 2004-01-14 | 2007-12-04 | Adaptec, Inc. | System and method for automatic extraction of testing information from a functional specification |
US7093218B2 (en) * | 2004-02-19 | 2006-08-15 | International Business Machines Corporation | Incremental, assertion-based design verification |
US7788078B1 (en) * | 2004-02-27 | 2010-08-31 | Synopsys, Inc. | Processor/memory co-exploration at multiple abstraction levels |
US7055118B1 (en) | 2004-03-01 | 2006-05-30 | Sun Microsystems, Inc. | Scan chain verification using symbolic simulation |
US7149993B1 (en) * | 2004-03-29 | 2006-12-12 | Xilinx, Inc. | Method, system, and apparatus for incremental design in programmable logic devices using floorplanning |
US20050229143A1 (en) * | 2004-04-01 | 2005-10-13 | Lsi Logic Corporation | System and method for implementing multiple instantiated configurable peripherals in a circuit design |
US7620743B2 (en) * | 2004-04-01 | 2009-11-17 | Lsi Corporation | System and method for implementing multiple instantiated configurable peripherals in a circuit design |
US7275224B2 (en) * | 2004-04-02 | 2007-09-25 | International Business Machines Corporation | Method for providing an area optimized binary orthogonality checker |
US7103858B2 (en) * | 2004-04-14 | 2006-09-05 | Lsi Logic Corporation | Process and apparatus for characterizing intellectual property for integration into an IC platform environment |
US7606692B2 (en) * | 2004-04-26 | 2009-10-20 | Lsi Corporation | Gate-level netlist reduction for simulating target modules of a design |
JP2005321861A (ja) * | 2004-05-06 | 2005-11-17 | Nec Electronics Corp | 機能検証方法 |
US20050251767A1 (en) * | 2004-05-07 | 2005-11-10 | Shah Gaurav R | Processing of circuit design data |
US7243311B2 (en) * | 2004-05-28 | 2007-07-10 | Rohm Co., Ltd. | Method and apparatus for supporting development of integrated circuit and a transactional business method involving contracting and licensing |
US20050268258A1 (en) * | 2004-06-01 | 2005-12-01 | Tera Systems, Inc. | Rule-based design consultant and method for integrated circuit design |
WO2005119440A2 (en) * | 2004-06-01 | 2005-12-15 | Tera Systems, Inc. | Methods and systems for mixed-mode physical synthesis in electronic design automation |
US20050273683A1 (en) * | 2004-06-07 | 2005-12-08 | Logicvision, Inc. | Insertion of embedded test in RTL to GDSII flow |
US7310792B2 (en) * | 2004-06-15 | 2007-12-18 | Cadence Design Systems, Inc. | Method and system for modeling variation of circuit parameters in delay calculation for timing analysis |
US7278122B2 (en) * | 2004-06-24 | 2007-10-02 | Ftl Systems, Inc. | Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization |
TWI286216B (en) * | 2004-06-29 | 2007-09-01 | Pixart Imaging Inc | Single chip test method, component and its test system |
US7516423B2 (en) * | 2004-07-13 | 2009-04-07 | Kimotion Technologies | Method and apparatus for designing electronic circuits using optimization |
US7171644B1 (en) | 2004-08-06 | 2007-01-30 | Xilinx, Inc. | Implementation set-based guide engine and method of implementing a circuit design |
US7146583B1 (en) | 2004-08-06 | 2006-12-05 | Xilinx, Inc. | Method and system for implementing a circuit design in a tree representation |
US7360177B1 (en) | 2004-08-06 | 2008-04-15 | Xilinx, Inc. | Method and arrangement providing for implementation granularity using implementation sets |
US7181704B1 (en) * | 2004-08-06 | 2007-02-20 | Xilinx, Inc. | Method and system for designing integrated circuits using implementation directives |
US7290241B1 (en) | 2004-08-06 | 2007-10-30 | Xilinx, Inc. | Method and system for managing behavior of algorithms |
US7913206B1 (en) * | 2004-09-16 | 2011-03-22 | Cadence Design Systems, Inc. | Method and mechanism for performing partitioning of DRC operations |
US20060080632A1 (en) * | 2004-09-30 | 2006-04-13 | Mathstar, Inc. | Integrated circuit layout having rectilinear structure of objects |
US7500165B2 (en) | 2004-10-06 | 2009-03-03 | Broadcom Corporation | Systems and methods for controlling clock signals during scan testing integrated circuits |
US7730437B1 (en) * | 2004-10-27 | 2010-06-01 | Cypress Semiconductor Corporation | Method of full semiconductor chip timing closure |
US7526745B2 (en) * | 2004-12-08 | 2009-04-28 | Telefonaktiebolaget L M Ericsson (Publ) | Method for specification and integration of reusable IP constraints |
US20060136188A1 (en) * | 2004-12-22 | 2006-06-22 | Lacey David J | Capturing curation data |
US20070247189A1 (en) * | 2005-01-25 | 2007-10-25 | Mathstar | Field programmable semiconductor object array integrated circuit |
US7856611B2 (en) * | 2005-02-17 | 2010-12-21 | Samsung Electronics Co., Ltd. | Reconfigurable interconnect for use in software-defined radio systems |
US7325210B2 (en) * | 2005-03-10 | 2008-01-29 | International Business Machines Corporation | Hybrid linear wire model approach to tuning transistor widths of circuits with RC interconnect |
US20060235657A1 (en) * | 2005-03-18 | 2006-10-19 | Inventec Corporation | System of accumulating component design experience and method thereof |
US20060225015A1 (en) * | 2005-03-31 | 2006-10-05 | Kamil Synek | Various methods and apparatuses for flexible hierarchy grouping |
US7178075B2 (en) * | 2005-04-25 | 2007-02-13 | International Business Machines Corporation | High-speed level sensitive scan design test scheme with pipelined test clocks |
US7506281B1 (en) | 2005-05-18 | 2009-03-17 | Xilinx, Inc. | Two-pass method for implementing a flexible testbench |
JP4427002B2 (ja) * | 2005-05-20 | 2010-03-03 | 株式会社アドバンテスト | 半導体試験用プログラムデバッグ装置 |
US7539957B1 (en) * | 2005-05-26 | 2009-05-26 | Altera Corporation | Automatic test pattern generation tool with feedback path capabilities for testing circuits with repeating blocks |
US7657416B1 (en) | 2005-06-10 | 2010-02-02 | Cadence Design Systems, Inc | Hierarchical system design |
US7483823B2 (en) | 2005-06-21 | 2009-01-27 | Nvidia Corporation | Building integrated circuits using logical units |
EP1736905A3 (en) * | 2005-06-21 | 2007-09-05 | Nvidia Corporation | Building integrated circuits using logical units |
US7363610B2 (en) | 2005-06-21 | 2008-04-22 | Nvidia Corporation | Building integrated circuits using a common database |
US7451426B2 (en) * | 2005-07-07 | 2008-11-11 | Lsi Corporation | Application specific configurable logic IP |
US7464345B2 (en) * | 2005-08-01 | 2008-12-09 | Lsi Corporation | Resource estimation for design planning |
US20070033557A1 (en) * | 2005-08-08 | 2007-02-08 | Byrn Jonathan W | Method for creating constraints for integrated circuit design closure |
US7409656B1 (en) | 2005-09-12 | 2008-08-05 | Cadence Design Systems, Inc. | Method and system for parallelizing computing operations |
US7904852B1 (en) | 2005-09-12 | 2011-03-08 | Cadence Design Systems, Inc. | Method and system for implementing parallel processing of electronic design automation tools |
JP2007103662A (ja) * | 2005-10-04 | 2007-04-19 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびその製造方法 |
JP4366353B2 (ja) | 2005-10-25 | 2009-11-18 | パナソニック株式会社 | 半導体集積回路及びその設計方法 |
US20070150627A1 (en) * | 2005-11-22 | 2007-06-28 | Lsi Logic Corporation | Endian mapping engine, method of endian mapping and a processing system employing the engine and the method |
US7627847B1 (en) * | 2005-12-01 | 2009-12-01 | Cadence Design Systems, Inc. | Method and system for representing manufacturing and lithography information for IC routing |
US20070162268A1 (en) * | 2006-01-12 | 2007-07-12 | Bhaskar Kota | Algorithmic electronic system level design platform |
US20070162531A1 (en) * | 2006-01-12 | 2007-07-12 | Bhaskar Kota | Flow transform for integrated circuit design and simulation having combined data flow, control flow, and memory flow views |
JP4652242B2 (ja) * | 2006-01-20 | 2011-03-16 | 株式会社日立製作所 | 半導体集積回路のセル配置方法 |
US7526742B1 (en) | 2006-01-31 | 2009-04-28 | Xilinx, Inc. | One-pass method for implementing a flexible testbench |
JP2007213269A (ja) * | 2006-02-08 | 2007-08-23 | Toshiba Corp | 応力解析方法、配線構造設計方法、プログラム及び半導体装置の製造方法 |
US7469401B2 (en) * | 2006-02-22 | 2008-12-23 | International Business Machines Corporation | Method for using partitioned masks to build a chip |
CN101479704B (zh) * | 2006-03-27 | 2013-09-04 | 相干逻辑公司 | 为多处理器系统设计程序 |
US7567947B2 (en) * | 2006-04-04 | 2009-07-28 | Optimaltest Ltd. | Methods and systems for semiconductor testing using a testing scenario language |
US7543265B1 (en) * | 2006-04-26 | 2009-06-02 | Altera Corporation | Method for early logic mapping during FPGA synthesis |
US7865694B2 (en) * | 2006-05-12 | 2011-01-04 | International Business Machines Corporation | Three-dimensional networking structure |
US7571414B2 (en) * | 2006-06-15 | 2009-08-04 | National Chip Implementation Center, National Applied Research Laboratories | Multi-project system-on-chip and its method |
US8448096B1 (en) | 2006-06-30 | 2013-05-21 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
WO2008013968A2 (en) | 2006-07-28 | 2008-01-31 | Vast Systems Technology Corporation | Virtual processor generation model for co-simulation |
KR100831271B1 (ko) | 2006-08-16 | 2008-05-22 | 동부일렉트로닉스 주식회사 | 물리적 레이어의 프로그램적 생성을 통한 물리적 레이아웃 데이터를 변경하는 방법 |
US7657856B1 (en) | 2006-09-12 | 2010-02-02 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
JP4805779B2 (ja) * | 2006-10-04 | 2011-11-02 | 富士通株式会社 | 集積回路設計方法、集積回路設計装置及び集積回路設計プログラム |
US7694251B2 (en) * | 2006-10-30 | 2010-04-06 | Cadence Design Systems, Inc. | Method and system for verifying power specifications of a low power design |
US8332452B2 (en) * | 2006-10-31 | 2012-12-11 | International Business Machines Corporation | Single precision vector dot product with “word” vector write mask |
US9495724B2 (en) * | 2006-10-31 | 2016-11-15 | International Business Machines Corporation | Single precision vector permute immediate with “word” vector write mask |
US20080100628A1 (en) * | 2006-10-31 | 2008-05-01 | International Business Machines Corporation | Single Precision Vector Permute Immediate with "Word" Vector Write Mask |
US8020124B2 (en) * | 2006-11-20 | 2011-09-13 | Sonics, Inc. | Various methods and apparatuses for cycle accurate C-models of components |
US8868397B2 (en) * | 2006-11-20 | 2014-10-21 | Sonics, Inc. | Transaction co-validation across abstraction layers |
US8127113B1 (en) | 2006-12-01 | 2012-02-28 | Synopsys, Inc. | Generating hardware accelerators and processor offloads |
US8365113B1 (en) * | 2007-01-10 | 2013-01-29 | Cadence Design Systems, Inc. | Flow methodology for single pass parallel hierarchical timing closure of integrated circuit designs |
WO2008091575A2 (en) | 2007-01-22 | 2008-07-31 | Vast Systems Technology Corporation | Method and system for modeling a bus for a system design incorporating one or more programmable processors |
KR100893743B1 (ko) * | 2007-01-23 | 2009-04-17 | (주)에스엠티코리아 | 인쇄회로기판의 설계 시스템 및 기록매체 |
US7603643B2 (en) * | 2007-01-30 | 2009-10-13 | Cadence Design Systems, Inc. | Method and system for conducting design explorations of an integrated circuit |
US7530036B2 (en) * | 2007-02-08 | 2009-05-05 | International Business Machines Corporation | Random test generation using an optimization solver |
US20090067343A1 (en) * | 2007-06-04 | 2009-03-12 | David Fritz | Method for the synthesis of optimal asynchronous on-chip communication networks from system-level constraints |
US7814454B2 (en) * | 2007-06-28 | 2010-10-12 | International Business Machines Corporation | Selectable device options for characterizing semiconductor devices |
US7895029B2 (en) * | 2007-10-30 | 2011-02-22 | International Business Machines Corporation | System and method of automating the addition of RTL based critical timing path counters to verify critical path coverage of post-silicon software validation tools |
US8271252B2 (en) * | 2007-11-08 | 2012-09-18 | Nvidia Corporation | Automatic verification of device models |
US7904289B2 (en) * | 2007-11-12 | 2011-03-08 | International Business Machines Corporation | Method and system for testing functionality of a chip checker |
US8019970B2 (en) * | 2007-11-28 | 2011-09-13 | International Business Machines Corporation | Three-dimensional networking design structure |
US20090144595A1 (en) * | 2007-11-30 | 2009-06-04 | Mathstar, Inc. | Built-in self-testing (bist) of field programmable object arrays |
US8239182B2 (en) * | 2007-12-04 | 2012-08-07 | Spansion Llc | Data transmission system-on-chip memory model based validation |
US7941299B1 (en) | 2008-01-08 | 2011-05-10 | The Mathworks, Inc. | Verification and validation system for a graphical model |
US7694266B1 (en) * | 2008-01-22 | 2010-04-06 | Cadence Design Systems, Inc. | Method and apparatus for dynamic frequency voltage switching circuit synthesis |
US8117579B2 (en) * | 2008-01-31 | 2012-02-14 | International Business Machines Corporation | LSSD compatibility for GSD unified global clock buffers |
US8510616B2 (en) * | 2008-02-14 | 2013-08-13 | Nvidia Corporation | Scalable scan-based test architecture with reduced test time and test power |
US8745200B2 (en) * | 2008-05-06 | 2014-06-03 | Nvidia Corporation | Testing operation of processors setup to operate in different modes |
JP2009294744A (ja) * | 2008-06-03 | 2009-12-17 | Nec Electronics Corp | バスインターフェース設計装置、バスインターフェース設計方法、及びプログラム |
US8032338B2 (en) * | 2008-06-13 | 2011-10-04 | Power Integrations, Inc. | Method and apparatus for design of a power supply |
US8219944B2 (en) * | 2008-06-24 | 2012-07-10 | Cadence Design Systems, Inc. | Method and system performing block-level RC extraction |
US8584073B2 (en) * | 2008-07-21 | 2013-11-12 | Synopsys, Inc. | Test design optimizer for configurable scan architectures |
US7949980B1 (en) * | 2008-07-31 | 2011-05-24 | Altera Corporation | Circuit design tools that support devices with real-time phase-locked loop reconfiguration capabilities |
US8095902B2 (en) * | 2008-08-18 | 2012-01-10 | International Business Machines Corporation | Design structure for couple noise characterization using a single oscillator |
WO2010023499A1 (en) * | 2008-08-25 | 2010-03-04 | David Fritz | Method for the synthesis of optimal asynchronous on-chip communication networks from system-level constraints |
US8046726B2 (en) * | 2008-09-16 | 2011-10-25 | Lsi Corporation | Waiver mechanism for physical verification of system designs |
US8156453B1 (en) | 2008-10-16 | 2012-04-10 | Cadence Design Systems, Inc. | Method and system identifying and locating IP blocks and block suppliers for an electronic design |
RU2525084C2 (ru) * | 2008-11-14 | 2014-08-10 | Панасоник Корпорэйшн | Устройство терминала беспроводной связи, устройство базовой станции беспроводной связи и способ установки констелляции кластеров |
US8943457B2 (en) * | 2008-11-24 | 2015-01-27 | Nvidia Corporation | Simulating scan tests with reduced resources |
US8261215B2 (en) * | 2008-12-22 | 2012-09-04 | Cadence Design Systems, Inc. | Method and system for performing cell modeling and selection |
US8065638B2 (en) * | 2009-01-30 | 2011-11-22 | Synopsys, Inc. | Incremental concurrent processing for efficient computation of high-volume layout data |
US8893061B2 (en) * | 2009-01-30 | 2014-11-18 | Synopsys, Inc. | Incremental concurrent processing for efficient computation of high-volume layout data |
JP5262909B2 (ja) * | 2009-03-27 | 2013-08-14 | 富士通株式会社 | 検証支援プログラム、検証支援装置および検証支援方法 |
US8966414B2 (en) * | 2009-05-29 | 2015-02-24 | Cypress Semiconductor Corporation | Implementing a circuit using an integrated circuit including parametric analog elements |
US20100305933A1 (en) * | 2009-06-01 | 2010-12-02 | Chang Chioumin M | Method and Apparatus for Verifying Logic Circuits Using Vector Emulation with Vector Substitution |
US8831925B1 (en) | 2009-06-09 | 2014-09-09 | Jasper Design Automation, Inc. | Indexing behaviors and recipes of a circuit design |
US9858367B1 (en) | 2009-08-31 | 2018-01-02 | Cypress Semiconductor Corporation | Integrated circuit including parametric analog elements |
US8324924B2 (en) * | 2009-10-20 | 2012-12-04 | David Scott Landoll | Post-programming functional verification for programable integrated circuits |
US8219228B2 (en) * | 2009-10-23 | 2012-07-10 | Certusoft, Inc. | Parametric configurator for product design: system and method |
US8214069B2 (en) * | 2009-10-23 | 2012-07-03 | Certusoft, Inc. | Automated hierarchical configuration of custom products with complex geometries: method and apparatus |
CN101692655B (zh) * | 2009-10-23 | 2012-05-30 | 烽火通信科技股份有限公司 | 一种数据帧存储管理装置 |
JP5068300B2 (ja) * | 2009-11-24 | 2012-11-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム |
CN101833491B (zh) * | 2010-04-26 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种节点互连系统链路检测电路的设计与fpga实现方法 |
US9230047B1 (en) * | 2010-06-11 | 2016-01-05 | Altera Corporation | Method and apparatus for partitioning a synthesis netlist for compile time and quality of results improvement |
US20120005643A1 (en) * | 2010-06-30 | 2012-01-05 | International Business Machines Corporation | System and Method for Placing Integrated Circuit Functional Blocks According to Dataflow Width |
CN101916305A (zh) * | 2010-07-19 | 2010-12-15 | 无锡汉咏微电子有限公司 | 一种复杂管脚芯片的验证方法 |
CN102096619A (zh) * | 2010-12-17 | 2011-06-15 | 天津曙光计算机产业有限公司 | 一种基于tcp流的验证方法 |
CN102012957A (zh) * | 2010-12-17 | 2011-04-13 | 天津曙光计算机产业有限公司 | 一种基于五元组的包分类逻辑代码验证方法 |
JP5565340B2 (ja) * | 2011-02-24 | 2014-08-06 | 富士通株式会社 | 試験方法,試験プログラム,及び試験装置 |
US8683282B2 (en) * | 2011-03-01 | 2014-03-25 | International Business Machines Corporation | Automatic identification of information useful for generation-based functional verification |
US8661305B2 (en) * | 2011-07-10 | 2014-02-25 | Ravishankar Rajarao | Method and system for test vector generation |
US8572527B1 (en) | 2011-09-13 | 2013-10-29 | Jasper Design Automation, Inc. | Generating properties for circuit designs |
US8788988B2 (en) | 2011-10-31 | 2014-07-22 | Apple Inc. | Managing consistency of multiple-source fabrication data in an electronic design environment |
US9336107B2 (en) * | 2011-11-18 | 2016-05-10 | Mentor Graphics Corporation | Dynamic design partitioning for diagnosis |
US8516421B1 (en) * | 2012-01-10 | 2013-08-20 | Jasper Design Automation, Inc. | Generating circuit design properties from signal traces |
US8434052B1 (en) | 2012-02-21 | 2013-04-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for ensuring partitioned block physical compatibility between revisions of an integrated circuit design |
US8739092B1 (en) | 2012-04-25 | 2014-05-27 | Jasper Design Automation, Inc. | Functional property ranking |
US8365109B1 (en) * | 2012-06-27 | 2013-01-29 | Xilinx, Inc. | Determining efficient buffering for multi-dimensional datastream applications |
US8533647B1 (en) * | 2012-10-05 | 2013-09-10 | Atrenta, Inc. | Method for generating an integrated and unified view of IP-cores for hierarchical analysis of a system on chip (SoC) design |
US8635567B1 (en) * | 2012-10-11 | 2014-01-21 | Xilinx, Inc. | Electronic design automation tool for guided connection assistance |
US9069919B1 (en) * | 2012-10-17 | 2015-06-30 | Qlogic, Corporation | Method and system for arbitration verification |
US8904256B1 (en) * | 2012-11-09 | 2014-12-02 | Cadence Design Systems, Inc. | Method and apparatus for low-pin count testing of integrated circuits |
US20140149817A1 (en) * | 2012-11-27 | 2014-05-29 | International Business Machines Corporation | Diagnostic testing for a double-pumped memory array |
US9251554B2 (en) | 2012-12-26 | 2016-02-02 | Analog Devices, Inc. | Block-based signal processing |
US8645897B1 (en) * | 2013-01-07 | 2014-02-04 | Freescale Semiconductor, Inc. | Integrated circuit design verification system |
US8769449B1 (en) * | 2013-02-08 | 2014-07-01 | Xilinx, Inc. | System level circuit design |
US8745567B1 (en) * | 2013-03-14 | 2014-06-03 | Atrenta, Inc. | Efficient apparatus and method for analysis of RTL structures that cause physical congestion |
US8826201B1 (en) * | 2013-03-14 | 2014-09-02 | Jasper Design Automation, Inc. | Formal verification coverage metrics for circuit design properties |
US8826215B1 (en) | 2013-05-24 | 2014-09-02 | International Business Machines Corporation | Routing centric design closure |
US9507883B2 (en) | 2013-06-24 | 2016-11-29 | Altera Corporation | Method and apparatus for implementing a system-level design tool for design planning and architecture exploration |
CN103439904A (zh) * | 2013-08-27 | 2013-12-11 | 国家电网公司 | 一种用于配网系统的智能控制通讯装置 |
US9081927B2 (en) | 2013-10-04 | 2015-07-14 | Jasper Design Automation, Inc. | Manipulation of traces for debugging a circuit design |
US9158874B1 (en) | 2013-11-06 | 2015-10-13 | Cadence Design Systems, Inc. | Formal verification coverage metrics of covered events for circuit design properties |
US8875073B1 (en) * | 2014-02-20 | 2014-10-28 | Xilinx, Inc. | Generation of internal interfaces for a block-based design |
US9613715B2 (en) | 2014-06-16 | 2017-04-04 | Sandisk Technologies Llc | Low-test memory stack for non-volatile storage |
US8976609B1 (en) * | 2014-06-16 | 2015-03-10 | Sandisk Enterprise Ip Llc | Low-test memory stack for non-volatile storage |
US9653184B2 (en) | 2014-06-16 | 2017-05-16 | Sandisk Technologies Llc | Non-volatile memory module with physical-to-physical address remapping |
US9606882B2 (en) | 2014-07-17 | 2017-03-28 | Sandisk Technologies Llc | Methods and systems for die failure testing |
US9934347B2 (en) | 2014-10-01 | 2018-04-03 | Samsung Electronics Co., Ltd. | Integrated circuit and method of designing layout of integrated circuit |
US9355211B2 (en) * | 2014-10-10 | 2016-05-31 | Oracle International Corporation | Unified tool for automatic design constraints generation and verification |
CN104616557B (zh) * | 2015-01-30 | 2017-05-17 | 南车株洲电力机车有限公司 | 一种轨道车辆模拟电路生成方法、系统及控制方法、系统 |
US9690896B2 (en) | 2015-04-09 | 2017-06-27 | Samsung Electronics Co., Ltd. | Method for manufacturing a semiconductor device and semiconductor device manufactured by the same |
US10204920B2 (en) | 2015-04-09 | 2019-02-12 | Samsung Electronics Co., Ltd. | Semiconductor device including polygon-shaped standard cell |
KR102321605B1 (ko) | 2015-04-09 | 2021-11-08 | 삼성전자주식회사 | 반도체 장치의 레이아웃 설계 방법 및 그를 이용한 반도체 장치의 제조 방법 |
US9698056B2 (en) | 2015-04-09 | 2017-07-04 | Samsung Electronics., Ltd. | Method for designing layout of semiconductor device and method for manufacturing semiconductor device using the same |
US9773772B2 (en) | 2015-04-09 | 2017-09-26 | Samsung Electronics Co., Ltd. | Semiconductor device and method of fabricating the same |
US9405882B1 (en) * | 2015-06-26 | 2016-08-02 | Cadence Design Systems, Inc. | High performance static timing analysis system and method for input/output interfaces |
US10395001B2 (en) * | 2015-11-25 | 2019-08-27 | Synopsys, Inc. | Multiple patterning layout decomposition considering complex coloring rules |
US10289788B1 (en) * | 2015-11-30 | 2019-05-14 | Cadence Design Systems, Inc. | System and method for suggesting components associated with an electronic design |
SG11201805469VA (en) * | 2016-03-18 | 2018-10-30 | Mitsubishi Electric Corp | Control logic diagram creation support apparatus |
US10380292B1 (en) * | 2016-04-08 | 2019-08-13 | Cadence Design Systems, Inc. | Systems and methods for finite difference time domain simulation of an electronic design |
US10235485B1 (en) * | 2016-09-27 | 2019-03-19 | Altera Corporation | Partial reconfiguration debugging using hybrid models |
JP6780576B2 (ja) * | 2017-04-27 | 2020-11-04 | トヨタ自動車株式会社 | 解析手法提示システム、方法及びプログラム |
US11361124B1 (en) * | 2017-08-10 | 2022-06-14 | Ansys, Inc. | Generating a power profile by node sampling an IP block |
US10762262B1 (en) * | 2017-11-03 | 2020-09-01 | Synopsys, Inc. | Multi-dimensional constraint solver using modified relaxation process |
CN108009339A (zh) * | 2017-11-28 | 2018-05-08 | 深圳市瑞尔时代科技有限公司 | 一种监控主机端口设计方法 |
CN108596415B (zh) | 2017-12-15 | 2023-11-24 | 创新先进技术有限公司 | 一种模型整合方法及装置 |
CN108520128B (zh) * | 2018-03-29 | 2022-04-15 | 北京集创北方科技股份有限公司 | 集成电路设计方法和计算机可读存储介质 |
US10614190B2 (en) | 2018-06-29 | 2020-04-07 | International Business Machines Corporation | Deep trench floorplan distribution design methodology for semiconductor manufacturing |
FR3085759A1 (fr) * | 2018-09-12 | 2020-03-13 | Stmicroelectronics (Grenoble 2) Sas | Puce electronique a entrees/sorties analogiques comprenant des moyens d'auto-diagnostic |
US10831965B1 (en) * | 2019-07-23 | 2020-11-10 | International Business Machines Corporation | Placement of vectorized latches in hierarchical integrated circuit development |
US11467851B1 (en) * | 2019-11-21 | 2022-10-11 | Synopsys, Inc. | Machine learning (ML)-based static verification for derived hardware-design elements |
TWI749724B (zh) * | 2020-08-21 | 2021-12-11 | 和碩聯合科技股份有限公司 | 電子電路系統 |
US20220164510A1 (en) * | 2020-11-24 | 2022-05-26 | Raytheon Company | Automated design of field programmable gate array or other logic device based on artificial intelligence and vectorization of behavioral source code |
KR102384978B1 (ko) * | 2020-12-08 | 2022-04-07 | 현대오토에버 주식회사 | 가치 기반 마이크로 컨트롤러 유닛의 포트 자동 설계 장치 및 방법 |
CN112763890B (zh) * | 2020-12-15 | 2022-09-16 | 成都海光微电子技术有限公司 | 用于芯片的自适应电压与频率调节的测试电路的实现方法 |
US11188702B1 (en) * | 2020-12-31 | 2021-11-30 | Cadence Design Systems, Inc. | Dynamic weighting scheme for local cluster refinement |
US11704461B1 (en) * | 2022-01-04 | 2023-07-18 | International Business Machines Corporation | Dynamic control of coverage by a verification testbench |
TWI789198B (zh) * | 2022-01-04 | 2023-01-01 | 瑞昱半導體股份有限公司 | 掃描鏈設計與電路測試方法 |
CN114330184B (zh) * | 2022-03-15 | 2022-07-15 | 上海国微思尔芯技术股份有限公司 | 一种多层次分组方法及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858175A (en) * | 1984-09-29 | 1989-08-15 | Kabushiki Kaisha Toshiba | Monolithic semi-custom IC having standard LSI sections and coupling gate array sections |
US5544066A (en) * | 1990-04-06 | 1996-08-06 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of low-level design constraints |
US5553002A (en) * | 1990-04-06 | 1996-09-03 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface |
US5519633A (en) * | 1993-03-08 | 1996-05-21 | International Business Machines Corporation | Method and apparatus for the cross-sectional design of multi-layer printed circuit boards |
US5623684A (en) * | 1994-05-17 | 1997-04-22 | Commquest Technologies, Inc. | Application specific processor architecture comprising pre-designed reconfigurable application elements interconnected via a bus with high-level statements controlling configuration and data routing |
US5953519A (en) * | 1995-06-12 | 1999-09-14 | Fura; David A. | Method and system for generating electronic hardware simulation models |
US5663076A (en) * | 1995-08-08 | 1997-09-02 | Lsi Logic Corporation | Automating photolithography in the fabrication of integrated circuits |
US6058263A (en) * | 1996-06-03 | 2000-05-02 | Microsoft Corporation | Interface hardware design using internal and external interfaces |
US5802518A (en) * | 1996-06-04 | 1998-09-01 | Multex Systems, Inc. | Information delivery system and method |
US5812416A (en) * | 1996-07-18 | 1998-09-22 | Lsi Logic Corporation | Integrated circuit design decomposition |
US5812561A (en) * | 1996-09-03 | 1998-09-22 | Motorola, Inc. | Scan based testing of an integrated circuit for compliance with timing specifications |
US5930762A (en) * | 1996-09-24 | 1999-07-27 | Rco Software Limited | Computer aided risk management in multiple-parameter physical systems |
US6058253A (en) * | 1996-12-05 | 2000-05-02 | Advanced Micro Devices, Inc. | Method and apparatus for intrusive testing of a microprocessor feature |
US6182258B1 (en) * | 1997-06-03 | 2001-01-30 | Verisity Ltd. | Method and apparatus for test generation during circuit design |
US5974241A (en) * | 1997-06-17 | 1999-10-26 | Lsi Logic Corporation | Test bench interface generator for tester compatible simulations |
US6141630A (en) * | 1997-08-07 | 2000-10-31 | Verisity Design, Inc. | System and method for automated design verification |
EP0903587B1 (de) * | 1997-09-18 | 2005-11-02 | Infineon Technologies AG | Verfahren zum Testen einer elektronischen Schaltung |
US6237123B1 (en) * | 1997-10-07 | 2001-05-22 | Lucent Technologies Inc. | Built-in self-test controlled by a token network and method |
US6173435B1 (en) * | 1998-02-20 | 2001-01-09 | Lsi Logic Corporation | Internal clock handling in synthesis script |
US6102961A (en) * | 1998-05-29 | 2000-08-15 | Cadence Design Systems, Inc. | Method and apparatus for selecting IP Blocks |
-
1999
- 1999-09-30 HU HU0301274A patent/HUP0301274A2/hu unknown
- 1999-09-30 US US09/410,356 patent/US6269467B1/en not_active Expired - Lifetime
- 1999-09-30 IL IL14227999A patent/IL142279A0/xx unknown
- 1999-09-30 EP EP99954722A patent/EP1145159A3/en not_active Ceased
- 1999-09-30 EE EEP200100189A patent/EE200100189A/xx unknown
- 1999-09-30 WO PCT/US1999/022984 patent/WO2000019343A2/en active Application Filing
- 1999-09-30 AU AU11005/00A patent/AU1100500A/en not_active Abandoned
- 1999-09-30 KR KR1020017004099A patent/KR100846089B1/ko not_active IP Right Cessation
- 1999-09-30 CA CA002345648A patent/CA2345648A1/en not_active Abandoned
- 1999-09-30 JP JP2000572780A patent/JP2002526908A/ja active Pending
- 1999-09-30 PL PL99350155A patent/PL350155A1/xx unknown
- 1999-09-30 BR BR9914200-7A patent/BR9914200A/pt not_active Application Discontinuation
- 1999-09-30 CN CNB998137790A patent/CN1331079C/zh not_active Expired - Fee Related
-
2001
- 2001-01-04 US US09/754,559 patent/US6594800B2/en not_active Expired - Lifetime
- 2001-01-04 US US09/754,550 patent/US6567957B1/en not_active Expired - Lifetime
- 2001-01-04 US US09/754,653 patent/US6701504B2/en not_active Expired - Lifetime
- 2001-01-04 US US09/754,734 patent/US6694501B2/en not_active Expired - Lifetime
- 2001-01-04 US US09/754,725 patent/US6574778B2/en not_active Expired - Fee Related
- 2001-02-23 US US09/754,466 patent/US6629293B2/en not_active Expired - Lifetime
- 2001-03-23 US US09/754,642 patent/US6631470B2/en not_active Expired - Lifetime
- 2001-03-23 US US09/754,724 patent/US6725432B2/en not_active Expired - Lifetime
- 2001-03-23 US US09/754,640 patent/US6698002B2/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010013427A1 (ja) * | 2008-07-30 | 2010-02-04 | パナソニック株式会社 | 集積回路 |
JP5138040B2 (ja) * | 2008-07-30 | 2013-02-06 | パナソニック株式会社 | 集積回路 |
JP2010205109A (ja) * | 2009-03-05 | 2010-09-16 | Toyota Infotechnology Center Co Ltd | ネットワークの設計を支援するための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
US6725432B2 (en) | 2004-04-20 |
US20030115564A1 (en) | 2003-06-19 |
IL142279A0 (en) | 2002-03-10 |
WO2000019343A2 (en) | 2000-04-06 |
US6631470B2 (en) | 2003-10-07 |
KR20010085867A (ko) | 2001-09-07 |
US6698002B2 (en) | 2004-02-24 |
US6567957B1 (en) | 2003-05-20 |
BR9914200A (pt) | 2002-01-22 |
US20010018756A1 (en) | 2001-08-30 |
US6269467B1 (en) | 2001-07-31 |
US6701504B2 (en) | 2004-03-02 |
PL350155A1 (en) | 2002-11-18 |
KR100846089B1 (ko) | 2008-07-14 |
EP1145159A2 (en) | 2001-10-17 |
AU1100500A (en) | 2000-04-17 |
US20010039641A1 (en) | 2001-11-08 |
US6574778B2 (en) | 2003-06-03 |
US6694501B2 (en) | 2004-02-17 |
WO2000019343A3 (en) | 2002-04-25 |
US20010016933A1 (en) | 2001-08-23 |
US20010025369A1 (en) | 2001-09-27 |
EP1145159A3 (en) | 2002-07-10 |
HUP0301274A2 (en) | 2003-08-28 |
US20010042237A1 (en) | 2001-11-15 |
CA2345648A1 (en) | 2000-04-06 |
CN1376283A (zh) | 2002-10-23 |
US6594800B2 (en) | 2003-07-15 |
EE200100189A (et) | 2002-08-15 |
US20020016952A1 (en) | 2002-02-07 |
US20020166098A1 (en) | 2002-11-07 |
CN1331079C (zh) | 2007-08-08 |
US6629293B2 (en) | 2003-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002526908A (ja) | ブロックをベースとする設計方法 | |
US6968514B2 (en) | Block based design methodology with programmable components | |
US8020124B2 (en) | Various methods and apparatuses for cycle accurate C-models of components | |
Bergamaschi et al. | Designing systems-on-chip using cores | |
US6857110B1 (en) | Design methodology for merging programmable logic into a custom IC | |
US5598344A (en) | Method and system for creating, validating, and scaling structural description of electronic device | |
US8639487B1 (en) | Method for multiple processor system-on-a-chip hardware and software cogeneration | |
US20030101331A1 (en) | ASIC design technique | |
CN112949233A (zh) | Fpga芯片的自动化开发方法及装置、电子设备 | |
Simpson | FPGA design | |
WO2000019528A1 (de) | Dram-zellenanordnung und verfahren zu deren herstellung | |
US7194715B2 (en) | Method and system for performing static timing analysis on digital electronic circuits | |
US7979262B1 (en) | Method for verifying connectivity of electrical circuit components | |
Sweeney | Hardware Design Methodologies Hardware Design Methodologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110310 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110609 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110627 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20110627 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110721 |