JP5432126B2 - 自動回路設計及びシミュレーションに使用するための技術 - Google Patents
自動回路設計及びシミュレーションに使用するための技術 Download PDFInfo
- Publication number
- JP5432126B2 JP5432126B2 JP2010507476A JP2010507476A JP5432126B2 JP 5432126 B2 JP5432126 B2 JP 5432126B2 JP 2010507476 A JP2010507476 A JP 2010507476A JP 2010507476 A JP2010507476 A JP 2010507476A JP 5432126 B2 JP5432126 B2 JP 5432126B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- design
- logic
- clock
- module
- 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.)
- Active
Links
- 238000013461 design Methods 0.000 title claims description 240
- 238000004088 simulation Methods 0.000 title claims description 32
- 238000005516 engineering process Methods 0.000 title description 14
- 230000015654 memory Effects 0.000 claims description 141
- 230000010076 replication Effects 0.000 claims description 77
- 238000000034 method Methods 0.000 claims description 65
- 238000003860 storage Methods 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 9
- 230000003362 replicative effect Effects 0.000 claims description 7
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 34
- 230000003111 delayed effect Effects 0.000 description 25
- 230000004044 response Effects 0.000 description 17
- 238000004519 manufacturing process Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 12
- 230000000630 rising effect Effects 0.000 description 12
- 238000005070 sampling Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000015572 biosynthetic process Effects 0.000 description 10
- 238000003786 synthesis reaction Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 239000004020 conductor Substances 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000002596 correlated effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 101100003180 Colletotrichum lindemuthianum ATG1 gene Proteins 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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
-
- 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
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
I.システムの概略
II.ロジック複製解決策
III.幾つかの実施形態のための付加的な特徴
A.機能的に同等であるが異なる複製モジュール
B.シミュレータにおいて初期条件をHDLコードに相関
C.ハードウェア置き換えのリストの作成
D.内部状態へのアクセス
E.公式検証フロー技術
F.区画化
G.ブラックボックス
H.マルチクロックドメイン
I.低速クロックを高速クロックでサンプリング
J.低速クロックから発生された信号を高速クロックでサンプリング
K.個別のFPGA又はASICにおける複製
IV.スナップショット解決策
V.時分割マルチプレクサ解決策
VI.付加的な情報及び実施形態
ロジック設計をテストすることは、ランニングシミュレーションにより故障が分析される重要なステップである。実際のエラーを招く初期条件及び入力のセットをシミュレーションに使用して、問題を再現し、設計者が最終的にそれを取り除く解決策を発見できるようにする。例示的構成では、故障が生じるまでチップがテストされる。又、チップは、故障を招く入力及び条件を記録できるようにインターフェイスによって接続もされる。次いで、情報は、シミュレーションプログラムへ供給され、問題の原因を分析する。
初期条件信号及び入力信号を得るためのロジック複製解決策は、設計ロジックが与えない情報をオファーするロジックを複製することを含む。米国特許第6,904,576号の図3に類似した図8は、複製されたロジックを伴うシステムを示す。図8は、設計ロジックブロック202及び複製ロジックブロック204を含むチップにおける回路を例示している。一例として、オリジナル設計のデバッグで、ロジックブロック202に伴う問題が明らかになったとする。それ故、ロジックブロック202が選択され、そして複製ロジックブロック204として複製されて、問題の更なる分析を行えるようにする。例えば、図3のプログラム(ブロック52)を使用して、複製ロジック204を作成する。遅延ロジック212(FIFOのような)は、複製ロジックブロック204に与えられる入力信号を遅延させる。遅延ロジック212は、入力が設計ロジックブロック202に到達するよりも時間的に遅れて入力信号を複製ロジックブロック204に到達させる典型的な回路ロジック及びエレメント、例えば、FIFOを含む。このように、設計ロジックブロック202にエラーが発生すると分かった後にエラーを分析することができる。というのは、エラーが後で複製ロジックブロック204に現れるからである。
特に指示のない限り、(セクションII、IV及びVにおける)3つの主たる解決策の各々の幾つかの実施形態に関連して使用される幾つかの付加的な特徴は、次の通りである。しかしながら、各主たる解決策の他の実施形態は、これらの特徴の1つ、幾つか又は全部を含まない。更に、これら付加的な特徴の幾つかは、主たる解決策とは別個に使用されてもよい。
好ましい実施形態では、複製モジュールは、設計モジュールの機能を保存するが、デバッグを容易にするか又は複製回路を簡単化するために設計モジュールとは異なる回路を有する。複製回路は、潜在的な故障を分析する上で助けとなるように条件又は入力を収集することに焦点を当てた設計回路とは異なる。
幾つかの実施形態では、チップからの少なくとも幾つかの初期条件の値をシミュレータにおいてHDLコード内の特定の位置に相関(即ち、マッピング又は関連付け)させることが含まれる。特定の位置は、HDLにおけるオブジェクト、例えば、信号、レジスタ、導体、メモリ、等でよい。幾つかの実施形態では、これは、HDL設計をネットリストへ相関するのに使用されるコンパイラーソフトウェア内の逐次最適化を禁止することを含む。回避すべき逐次最適化は、例えば、再タイミング、パイプライン化、配置複製及び状態指定を含むが、これらに限定されない。相関に使用されるコンパイラーソフトウェアは、初期条件の値がシミュレータプロセッサにより取得されるシーケンスと相関(マップ又は関連付け)させることのできる順序でのモジュール内の全メモリ及び記憶エレメントのリストを作成することができる。メモリエレメントの名前は、ソフトウェアシミュレータに適合できる信号インスタンスに直接相関させることができる。
幾つかの実施形態は、ネットリストの作成においてコンパイラーにより遂行される全ハードウェア置き換えのリストを作成することによりハードウェアから収集された初期条件の値を相関することを含む。置き換えのリストは、物理的具現化からの信号名及び値を、ソフトウェアシミュレータに適合するHDLレベル表現へとさかのぼるのに使用される。一実施形態では、専有モジュールを等価回路と置き換えることができる。等価回路は、例えば、非露出状態へのアクセスを与えることで、デバッグを容易にすることができる。
メモリエレメントを複製すべきときは、デバッグのために厳密な複製が有用でないことがある。というのは、オリジナルメモリエレメントは、通常、内部状態にアクセスしないからである。即ち、オリジナルメモリは、幾つかの非露出状態を有する。複製メモリは、典型的に、これら状態へのアクセスを与える。複製メモリは、置き換えられたメモリでよい(ハードウェア置き換えの一例)。というのは、非露出状態へのアクセスを許すための付加的な構造を含むからである。複製メモリは、メモリデータへのアクセスを許すための制御回路を含むことができる。シミュレータにおいてHDLコードで置き換えられたメモリを関連付けるために相関(マッピング)が与えられる。図9のフローチャートは、特にブロック246のパート(2)が適用される。
過去に、実際の設計がHDLコードでの記述に一致することを確認するために公式検証フロー技術が使用されている。幾つかの実施形態は、この公式検証フロー技術を使用することによりハードウェアからの初期条件の値を関連付けることを含む。その一例が、図9に、特に、ブロック246(3)で示されている。他の実施形態は、この特徴を含まず、又はそれらの変形も含まない。
一実施形態では、複製モジュールは、設計モジュール内から複製モジュールの各位置までの付加的な遅延回路を備えている。例えば、第1の遅延回路は、設計モジュールの入力を複製モジュールの入力に接続する。第2の(及び任意の他の)遅延回路は、設計モジュールの位置から複製モジュール内の適当な位置へ接続することができる。付加的な遅延回路は、特に、マルチクロックドメインに対してモジュールとモジュールとの間に正確なタイミングを与えることができる。
設計モジュールは、複製されない少なくとも1つのセグメント、例えば、ブラックボックスモジュールをもつセグメントへと区画化することができる。回路設計は、ブラックボックス、例えば、内部状態や振舞いの知識がないモジュール、例えば、IPブロック又は専有ロジックモジュールをしばしば含む。本発明の幾つかの実施形態は、内部回路の細部を必要とせずにブラックボックス及び種々の専有ロジックモジュールを取り扱う回路及び方法を包含する。幾つかの実施形態では、振舞いが未知の専有ロジックは、複製ロジックへとコピーされない。むしろ、この方法は、設計モジュールにおける専有モジュールの出力を、複製ロジック内の各位置への付加的な入力として処理する。例えば、図20は、設計モジュール360及び複製モジュール362を含む。設計モジュールは、ロジック364を含み、その出力は、ブラックボックス366に与えられる。ブラックボックス366は、入力及び出力信号は既知であるが、未知の種々のファンクションを遂行する回路である。ブラックボックスロジック366の出力は、設計モジュール360のロジック368に与えられると共に、複製モジュール362の遅延回路FIFO376にも与えられ、全複製ロジック遅延を考慮する。FIFO376の出力は、ロジック378に与えられる。この点に関して、ブラックボックスロジック366は、複製モジュール362に直接複製されない。図20の実施例では、ロジック374の出力は、ロジック378に与えられない。幾つかの実施形態では、ロジック374は、複製されず、そしてFIFO376の出力は、複製モジュール内の各入力位置に接続される。トリガー条件に応答して、FIFO376のコンテンツは、コンピュータにより取得され、そしてソフトウェアシミュレーションにおいて専有ロジック366の出力をシミュレーションするのに使用される。一実施形態では、ロジック364の入力を複製ロジック374の入力に接続するために遅延回路(図示せず)が設けられる。他の実施形態は、このセクションの細部を含まず、又はそれらの変形も含まない。
設計モジュールは、別々の遅延入力を各々受け取るクロックドメインに基づいて区画化することができる。幾つかの実施形態は、2つの個別の非同期クロックによりクロックされる2つのロジック回路間のデータ転送のタイミングを取り扱う回路及び方法を包含する。この回路及び方法は、「同期フリップ・フロップ」を使用して、2つのクロックの相対的周波数により深さを決定できるFIFOへの供給を行うことができる。図18は、設計モジュール302における同期フリップ・フロップ312を示す。この回路及び方法は、多数のクロックドメイン間に交差する1つ以上の信号を同期するのに使用するよう拡張することができる。
(P1xN1)/(P2xN2)=1であるか又は実際にそうであるように1に近い。
P1xN2がP2で均一に割れる場合には、
N2=(P1xN1)/P2である。
さもなければ、N2は、
N2=((P1xN1)/P2)+1
の係数部分となる。
Y=((P1xN1)/P2)+1
Tをある時間周期とする。
T=fract(Y)xP2
幾つかの実施形態は、設計において低速クロックを高速クロックで直接的にサンプリングすることにより2つの個別の非同期クロック間の関係を計算するための回路及び方法を包含する。各クロックの周波数及びデューティサイクルが既知である場合には、サンプルされたデータパターンに一致するように低速クロックのオフセットを調整することにより1つのクロックと他のクロックとの間の関係を計算することができる。このプロセスを使用して、2つ以上のクロック間の関係を決定することができる。各々の低速クロック信号は、最も速い(最高周波数)クロック信号と比較される。クロックは、一般的に、非同期であるが、特定のケースでは、クロックの2つ以上が同期することになり、しかし、この回路及び方法は、これを要求するものではないことに注意されたい。
幾つかの実施形態は、高速クロックのサンプリング周期内で低速クロックの各縁遷移を検出することにより2つの個別の非同期クロック間の関係を計算するための回路及び方法を包含する。各クロックの周波数及びデューティサイクルが既知である場合は、検出された縁データパターンに一致するように低速クロックのオフセットを調整することにより、1つのクロックと他のクロックとの間の関係を計算することができる。この回路及び方法は、2つ以上のクロック間の関係を決定するのに使用できる。
幾つかの実施形態は、個別のFPGA又はASIC装置においてロジックの複製部分を具現化するための方法(図3のような)を包含する。例えば、図6では、複製モジュール130は、設計ロジック110と同じチップにあり、一方、図7では、複製モジュール130は、設計モジュール110とは異なるチップにある。この方法は、単にあるチップから別のチップへの複製に適用されるのではなく、複数のチップから複数の付加的なチップへの複製(例えば、2個のチップから4個のチップ、3個のチップから6個のチップ、等々)にも適用できる。他の実施形態では、複数のチップからの回路の複製部分は、単一のチップに置くこともできるし、又はオリジナルチップの数より少ないチップに置くこともできる。例えば、2個のチップにおける回路の複製部分は、その両方を、1つの付加的なチップに置くこともできるし、或いは4個のチップにおける回路の複製部分を、その具現化にもよるが、1個、2個又は3個のチップに置くこともできる。他の実施形態は、このセクションの細部を含まず、又はそれらの変形も含まない。
上述したように、種々のスナップショット解決技術を使用して、シミュレーションのための初期条件信号及び入力信号を得ることができる。スナップショット解決策は、デバッグされるロジックの完全な複製を要求するものではなく、典型的に、規則的な間隔で選択された設計レジスタのスナップショットを記憶することを含む。1つの解決策は、設計モジュールにおいて記憶エレメントに対する所定の深さをもつ一連のデバッグ記憶レジスタ(スナップショットレジスタ)を生成する。オリジナル設計モジュールにおける各記憶エレメントは、新たに生成される記憶エレメントのセットに接続される。周期的ベースで、設計モジュールにおける記憶エレメントの値がスナップショットレジスタにストローブされる。スナップショットレジスタのデータは、トリガー条件が生じる所定時間前の、供試設計モジュールのレジスタに対する初期条件を含む。このデータは、次いで、収集されて、デバッグのためのソフトウェアシミュレーションプログラムへ入力として与えられる。スナップショット解決策の幾つかの具現化を以下に説明する。
時分割マルチプレクサ(TDM)解決策を具現化する種々の仕方がある。この解決策は、時間マルチプレクス型チャンネルシステムを生成し、そして第2のチャンネルを使用して、遅延複製ロジックの全てのレジスタ及びメモリエレメントに対する状態を維持する。TDM解決策に対する付加的なロジックは、マルチプレクサ/デマルチプレクサ対により取り巻かれた回路と共に、オリジナル設計モジュールに含ませることができる。オリジナル経路からのデータは、マルチプレクサの1つの入力に接続され、一方、遅延FIFOを通して遅延された同じデータ経路は、他の入力に接続される。マルチプレクサは、オリジナルデータ及び遅延データの両方を、時間マルチプレクスにより動作する設計ロジックを通して、同じデータ経路へと合成する。典型的に、2倍の速度で動作するクロックは、データ及び遅延データの両方に対して設計ロジックをクロックするのに使用される。例えば、偶数サイクルごとに、オリジナルデータが設計モジュールパイプラインへとマルチプレクスされ、一方、奇数サイクルごとに、遅延データがマルチプレクスされる。デマルチプレクサは、データをそれらの各々のデータストリームへと分離して戻す。トリガー条件が検出されると、回路が凍結され、遅延出力データストリームにおける値が捕捉されて、デバッグシミュレーションのための初期条件として働く。
本発明は、特定の形式のシグナリングに制限されない。入力及びクロック信号は、シングルエンド又は差動でよい。クロックは、「アイ(eyes)」を含んでもよい。クロックは、シングルデータレート、ダブルデータレート、クオドデータレート、等でよい。ダブルデータレートでは、単一のクロック信号の立ち上り縁又は立ち下り縁が使用されてもよく、又は2つの位相ずれしたクロックが使用されてもよい。信号は、パケット化されてもよいし、そうでなくてもよい。クロック信号(1つ又は複数)は、チップ内で発生されても、チップの外部で発生されてもよい。これは、常に、データ信号とは個別でもよいし、又はデータ信号に埋め込まれてそこから回復されてもよい。
16:インターフェイス
20:コンピュータ
22:プロセッサ
24:メモリ
30:コンピュータ
32:プロセッサ
34:メモリ
38:チップ
40:製造装置
42:インターフェイス
100:チップ
104:設計回路
106:複製モジュール
110:供試設計ロジック
112:付加的なロジック
116、118:レジスタ
122:トリガーロジック
124:制御ロジック
130:供試複製ロジック
134、136:遅延回路
138、140:レジスタ
144、148:マルチプレクサ
146、150:レジスタ
160:チップ
202:設計ロジックブロック
204:複製ロジックブロック
212:遅延ロジック
214:クロック制御ロジック
218:ブレークポイント
230:トリガーロジック
252:制御回路
254:複製RAM
256:スキャンチェーン
Claims (19)
- 設計回路の記述を受け取るステップと、
設計回路の一部分を選択するステップと、
デジタル処理システムが、前記設計回路の選択された部分を複製するステップと、
を備え、前記設計回路の選択された部分の複製部分は、前記設計回路の選択された部分の機能を保存し、そしてデバッグを容易にするか又は複製回路を簡単化するために前記設計回路の選択された部分よりも少ない回路最適化を行うことで前記設計回路の選択された部分とは異なるものであり、
前記設計回路の選択された部分を複製する前記ステップは、前記設計回路の選択された部分の未知のロジックモジュールを複製するのを省略し、そして前記設計回路の未知のロジックモジュールの出力を前記複製回路内の各位置へ入力として与えることを含む、方法。 - 前記設計回路の選択された部分を複製する前記ステップは、前記設計回路の複製部分からのデータと前記設計回路の記述との相関を容易にするために逐次の最適化を禁止することを含む、請求項1に記載の方法。
- 前記設計回路の選択された部分を複製する前記ステップは、ハードウェア置き換えにより一部分作成することを含み、そして前記ハードウェア置き換えは、前記設計回路の複製部分からのデータを前記設計回路の記述と相関させるためにドキュメント化される、請求項1に記載の方法。
- 前記設計回路の選択された部分を複製する前記ステップは、前記設計回路において非露出である状態へのアクセスを与えるためにアクセス回路を追加することを含む、請求項1に記載の方法。
- 前記設計回路の選択された部分を複製する前記ステップは、前記複製回路の状態を直列にスキャン出力するために制御回路を追加することを含む、請求項1に記載の方法。
- 前記設計回路の選択された部分を複製する前記ステップは、機能的に等価な複製回路を前記設計回路において非露出である状態へのアクセスを与えるアクセス回路に置き換えることを含む、請求項1に記載の方法。
- 全体的な複製ロジック遅延を考慮するために前記設計回路の未知のロジックモジュールの出力と前記複製回路内の各位置への入力との間に遅延ロジックを更に備えた、請求項1に記載の方法。
- プログラムが記録されたコンピュータ読み取り可能な媒体であって、
前記プログラムは、実行時に、コンピュータに、
設計回路の記述を受け取るステップと、
設計回路の一部分を選択するステップと、
前記設計回路の選択された部分を複製するステップであって、前記設計回路の選択された部分の複製部分は、前記設計回路の選択された部分の機能を保存し、そしてデバッグを容易にするか又は複製回路を簡単化するために前記設計回路の選択された部分よりも少ない回路最適化を行うことで前記設計回路の選択された部分とは異なるものであるステップとを実行させるためのものであり、
前記設計回路の選択された部分を複製する前記ステップは、前記設計回路の選択された部分の未知のロジックモジュールを複製するのを省略し、そして前記設計回路の未知のロジックモジュールの出力を前記複製回路内の各位置へ入力として与えることを含む、コンピュータ読み取り可能な媒体。 - オリジナル記憶構造を有する設計記憶エレメントを含む回路の記述を受け取るステップと、
デジタル処理システムが、複製記憶エレメントの記述を含む付加的な記述を発生するステップと、
を更に備え、前記複製記憶エレメントは、前記設計記憶エレメントのオリジナル記憶構造と置き換えられる置き換え記憶構造を有し、前記置き換え記憶構造は、前記オリジナル記憶構造において非露出である状態へのアクセスを前記複製記憶エレメントにおいて与えるように構成されている、請求項1に記載の方法。 - 前記設計記憶エレメント及び複製記憶エレメントは、各々、専有ロジックモジュールメモリを含む、請求項9に記載の方法。
- 前記設計記憶エレメントは、専有ロジックモジュールメモリを含み、前記複製記憶エレメントは、前記専有ロジックモジュールメモリに機能的に等価な等価メモリ回路を含む、請求項9に記載の方法。
- 前記複製記憶エレメントは、前記アクセスを通して前記複製記憶エレメントのコンテンツを直列にスキャン出力するための制御回路を含む、請求項9に記載の方法。
- 前記付加的な記述は、メモリ及びレジスタ入力信号を記憶すると共にその記憶された信号の少なくとも幾つかを、前記設計記憶エレメントを含む回路のシミュレーションのための入力信号として、与えるための入力信号記憶回路の記述を含む、請求項9に記載の方法。
- 前記プログラムは、実行時に、コンピュータに、
オリジナル記憶構造を有する設計記憶エレメントを含む回路の記述を受け取るステップと、
複製記憶エレメントの記述を含む付加的な記述をハードウェア置き換えの一部分として発生するステップであって、前記複製記憶エレメントは、前記設計記憶エレメントのオリジナル記憶構造と置き換えられる置き換え記憶構造を有し、前記置き換え記憶構造は、前記オリジナル記憶構造において非露出である状態へのアクセスを前記複製記憶エレメントにおいて与えるように構成されているステップとを更に実行させるためのものである、請求項8に記載のコンピュータ読み取り可能な媒体。 - 設計ロジックへ信号を与えるための幾つかの非記述回路細部を伴う第1回路を含む設計モジュールを含む回路の記述を受け取るステップと、
前記設計ロジックの複製である複製ロジックを含む複製モジュールであって前記第1回路を複製することを省略する複製モジュールと、前記第1回路の非記述回路から出力信号を受信するための遅延回路と、の記述を含む付加的な記述を、前記デジタル処理システムが、発生するステップと、
を備え、前記遅延回路の出力は、前記複製ロジックにおける対応位置に与えられるようにした、方法。 - 前記設計モジュールは、更に、前記第1回路へ信号を与えるための付加的なロジックを含み、そして前記複製モジュールは、前記設計モジュールにおける付加的なロジックの複製である付加的なロジックを含む、請求項15に記載の方法。
- 前記複製記憶エレメントは、前記複製された付加的なロジックからデータを収集するための制御回路を含む、請求項15記載の方法。
- 前記付加的な記述は、メモリ及びレジスタ入力信号を記憶すると共に、その記憶された信号の少なくとも幾つかを、前記設計モジュールを含む回路のシミュレーションのための入力信号として、与えるための入力信号記憶回路の記述を含む、請求項15に記載の方法。
- プログラムが記録されたコンピュータ読み取り可能な媒体であって、
前記プログラムは、実行時に、コンピュータに、
設計ロジックへ信号を与えるための幾つかの非記述回路細部を伴う第1回路を含む設計モジュールを含む回路の記述を受け取るステップと、
前記設計ロジックの複製である複製ロジック含む複製モジュールであって前記第1回路を複製することを省略する複製モジュールと、前記第1回路の非記述回路から出力信号を受信するための遅延回路と、の記述を含む付加的な記述を発生するステップであって、前記遅延回路の出力は、前記複製ロジックにおける対応位置に与えられるようになっているステップとを実行させるためのものである、コンピュータ読み取り可能な媒体。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US91702707P | 2007-05-09 | 2007-05-09 | |
US91702407P | 2007-05-09 | 2007-05-09 | |
US91703307P | 2007-05-09 | 2007-05-09 | |
US91701507P | 2007-05-09 | 2007-05-09 | |
US60/917,024 | 2007-05-09 | ||
US60/917,033 | 2007-05-09 | ||
US60/917,015 | 2007-05-09 | ||
US60/917,027 | 2007-05-09 | ||
US12/117,693 US8756557B2 (en) | 2007-05-09 | 2008-05-08 | Techniques for use with automated circuit design and simulations |
US12/117,693 | 2008-05-08 | ||
PCT/US2008/005989 WO2008140778A2 (en) | 2007-05-09 | 2008-05-09 | Transfer of emulator state to a hdl simulator |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010527476A JP2010527476A (ja) | 2010-08-12 |
JP2010527476A5 JP2010527476A5 (ja) | 2011-06-23 |
JP5432126B2 true JP5432126B2 (ja) | 2014-03-05 |
Family
ID=39745598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010507476A Active JP5432126B2 (ja) | 2007-05-09 | 2008-05-09 | 自動回路設計及びシミュレーションに使用するための技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8756557B2 (ja) |
EP (1) | EP2145271A2 (ja) |
JP (1) | JP5432126B2 (ja) |
CN (1) | CN101720464B (ja) |
WO (1) | WO2008140778A2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8756557B2 (en) | 2007-05-09 | 2014-06-17 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US7904859B2 (en) * | 2007-05-09 | 2011-03-08 | Synopsys, Inc. | Method and apparatus for determining a phase relationship between asynchronous clock signals |
US8001497B2 (en) * | 2008-10-01 | 2011-08-16 | Lsi Corporation | Control signal source replication |
US8316341B2 (en) * | 2009-09-17 | 2012-11-20 | Emerson Network Power—Embedded Computing, Inc. | Hardware description language (HDL) generation systems and methods for custom circuit boards |
US8397195B2 (en) * | 2010-01-22 | 2013-03-12 | Synopsys, Inc. | Method and system for packet switch based logic replication |
US8638792B2 (en) | 2010-01-22 | 2014-01-28 | Synopsys, Inc. | Packet switch based logic replication |
US8707229B1 (en) | 2010-07-28 | 2014-04-22 | VSYNC Circuit, Ltd. | Static analysis of VLSI reliability |
US8661383B1 (en) * | 2010-07-28 | 2014-02-25 | VSYNC Circuits, Ltd. | VLSI black-box verification |
US8631364B1 (en) | 2010-12-26 | 2014-01-14 | VSYNC Circuits Ltd. | Constraining VLSI circuits |
US8589200B2 (en) | 2011-06-28 | 2013-11-19 | Hewlett-Packard Development Company, L.P. | Managing an information technology system |
US8938697B1 (en) * | 2013-08-27 | 2015-01-20 | United Microelectronics Corp. | Method of performing optical proximity correction for preparing mask projected onto wafer by photolithography |
US9825638B2 (en) * | 2014-03-05 | 2017-11-21 | Sandisk Technologies Llc | Virtual critical path (VCP) system and associated methods |
US9495492B1 (en) * | 2015-01-05 | 2016-11-15 | Cadence Design Systems, Inc. | Implementing synchronous triggers for waveform capture in an FPGA prototyping system |
CN107250987B (zh) * | 2015-01-22 | 2021-01-22 | 美商新思科技有限公司 | 仿真中的x传播 |
US9672305B1 (en) | 2015-01-28 | 2017-06-06 | Apple Inc. | Method for gating clock signals using late arriving enable signals |
EP3304111B1 (en) * | 2015-06-06 | 2020-03-11 | The Board of Trustees of the Leland Stanford Junior University | System-level validation of systems-on-a-chip (soc) |
WO2018023363A1 (zh) * | 2016-08-02 | 2018-02-08 | 邹霞 | 一种故障仿真系统 |
KR102376725B1 (ko) * | 2017-11-08 | 2022-03-21 | 삼성전자 주식회사 | Rf 칩을 연결하는 전송선로의 위상 측정 방법 및 이를 위한 장치 |
US11258446B2 (en) | 2020-04-29 | 2022-02-22 | Apple Inc. | No-enable setup clock gater based on pulse |
CN112416054B (zh) * | 2020-10-30 | 2022-11-08 | 山东浪潮科学研究院有限公司 | 一种用于测试fpga设计的跨时钟域信号同步的方法 |
CN117113890B (zh) * | 2023-10-23 | 2024-02-06 | 深圳安森德半导体有限公司 | 一种cpu芯片设计方法及系统 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1533577A (en) * | 1975-11-05 | 1978-11-29 | Computer Technology Ltd | Synchronising means |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
US5452239A (en) * | 1993-01-29 | 1995-09-19 | Quickturn Design Systems, Inc. | Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system |
US5596742A (en) * | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5553275A (en) * | 1993-07-13 | 1996-09-03 | Intel Corporation | Method and apparatus for synchronously detecting phase relationships between a high-frequency clock and a low-frequency clock |
US5659716A (en) * | 1994-11-23 | 1997-08-19 | Virtual Machine Works, Inc. | Pipe-lined static router and scheduler for configurable logic system performing simultaneous communications and computation |
US5878221A (en) * | 1996-02-05 | 1999-03-02 | Xinex Networks Inc. | Network for multimedia asynchronous transfer mode digital signal transmission and components thereof |
US5761488A (en) * | 1996-06-13 | 1998-06-02 | International Business Machines Corporation | Logic translation method for increasing simulation emulation efficiency |
JPH10222550A (ja) * | 1997-02-05 | 1998-08-21 | Toshiba Corp | 論理合成方法及び装置並びに論理合成プログラムを記録した記録媒体 |
US6052748A (en) * | 1997-03-18 | 2000-04-18 | Edwin A. Suominen | Analog reconstruction of asynchronously sampled signals from a digital signal processor |
US5943490A (en) * | 1997-05-30 | 1999-08-24 | Quickturn Design Systems, Inc. | Distributed logic analyzer for use in a hardware logic emulation system |
US6694464B1 (en) * | 1997-05-30 | 2004-02-17 | Quickturn Design Systems, Inc. | Method and apparatus for dynamically testing electrical interconnect |
ATE232317T1 (de) * | 1997-10-10 | 2003-02-15 | Rambus Inc | Verfahren und vorrichtung zur ausfallsicheren resynchronisation mit minimaler latenzzeit |
US6072346A (en) * | 1997-12-29 | 2000-06-06 | Metaflow Technologies, Inc. | Metastable protected latch |
US5990734A (en) * | 1998-06-19 | 1999-11-23 | Datum Telegraphic Inc. | System and methods for stimulating and training a power amplifier during non-transmission events |
US20060117274A1 (en) * | 1998-08-31 | 2006-06-01 | Tseng Ping-Sheng | Behavior processor system and method |
KR20010006983A (ko) | 1999-06-26 | 2001-01-26 | 양세양 | 신속 프로토타이핑 장치와 그것의 입출력 탐침방법 및그것을 이용한 혼합 검증 방법 |
JP2003503791A (ja) * | 1999-06-26 | 2003-01-28 | セイ−ヤン ヤン、 | 入出力探針装置及びこれを用いた入出力探針方法と、これを基盤とする混合エミュレーション/シミュレーション方法 |
KR100710972B1 (ko) | 1999-06-26 | 2007-04-24 | 양세양 | 혼합된 에뮬레이션과 시뮬레이션이 가능한 혼합 검증 장치및 이를 이용한 혼합 검증 방법 |
US7072818B1 (en) * | 1999-11-30 | 2006-07-04 | Synplicity, Inc. | Method and system for debugging an electronic system |
US6823497B2 (en) * | 1999-11-30 | 2004-11-23 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
US6581191B1 (en) * | 1999-11-30 | 2003-06-17 | Synplicity, Inc. | Hardware debugging in a hardware description language |
US6710906B2 (en) * | 1999-12-03 | 2004-03-23 | Gentex Corporation | Controlled diffusion coefficient electrochromic materials for use in electrochromic mediums and associated electrochromic devices |
US7379859B2 (en) * | 2001-04-24 | 2008-05-27 | Mentor Graphics Corporation | Emulator with switching network connections |
US6691301B2 (en) * | 2001-01-29 | 2004-02-10 | Celoxica Ltd. | System, method and article of manufacture for signal constructs in a programming language capable of programming hardware architectures |
KR100794916B1 (ko) | 2001-09-14 | 2008-01-14 | 양세양 | 에뮬레이션과 시뮬레이션을 혼용한 점진적 설계 검증을위한 설계검증 장치 및 이를 이용한 설계 검증 방법 |
JP2003283313A (ja) | 2002-03-26 | 2003-10-03 | Fujitsu Ltd | 位相比較器および位相同期ループ回路 |
JP2004061339A (ja) | 2002-07-30 | 2004-02-26 | Matsushita Electric Ind Co Ltd | 位相検出装置 |
US7213216B2 (en) * | 2002-08-09 | 2007-05-01 | Synplicity, Inc. | Method and system for debugging using replicated logic and trigger logic |
US6904576B2 (en) * | 2002-08-09 | 2005-06-07 | Synplicity, Inc. | Method and system for debugging using replicated logic |
US7398445B2 (en) * | 2002-08-09 | 2008-07-08 | Synplicity, Inc. | Method and system for debug and test using replicated logic |
US6727740B2 (en) * | 2002-08-29 | 2004-04-27 | Micron Technology, Inc. | Synchronous mirror delay (SMD) circuit and method including a ring oscillator for timing coarse and fine delay intervals |
JP2004178267A (ja) * | 2002-11-27 | 2004-06-24 | Sony Corp | メモリ回路生成方法および装置、メモリ回路、回路モデル検証方法および装置、回路モデル生成方法および装置 |
US7007254B1 (en) * | 2003-01-17 | 2006-02-28 | Synplicity, Inc. | Method and apparatus for the design and analysis of digital circuits with time division multiplexing |
US7440884B2 (en) | 2003-01-23 | 2008-10-21 | Quickturn Design Systems, Inc. | Memory rewind and reconstruction for hardware emulator |
US7093204B2 (en) * | 2003-04-04 | 2006-08-15 | Synplicity, Inc. | Method and apparatus for automated synthesis of multi-channel circuits |
US7239681B2 (en) * | 2003-05-09 | 2007-07-03 | Hewlett-Packard Development Company, L.P. | System and method for maintaining a stable synchronization state in a programmable clock synchronizer |
CN100476775C (zh) * | 2003-05-15 | 2009-04-08 | Nxp股份有限公司 | 用于总线通信设备的主机控制器以及总线通信设备 |
DE602004005218T2 (de) | 2003-08-29 | 2007-11-22 | Koninklijke Philips Electronics N.V. | Phasendetektor |
DE10345150B3 (de) * | 2003-09-29 | 2005-04-14 | Advanced Micro Devices, Inc., Sunnyvale | Verfahren, Vorrichtung und System zum Analysieren digitaler Schaltungen |
US7395445B1 (en) * | 2004-03-26 | 2008-07-01 | Analog Devices, Inc. | Controller for power supplies |
US20060062341A1 (en) * | 2004-09-20 | 2006-03-23 | Edmondson John H | Fast-lock clock-data recovery system |
US7334203B2 (en) * | 2004-10-01 | 2008-02-19 | Dynetix Design Solutions, Inc. | RaceCheck: a race logic analyzer program for digital integrated circuits |
US7370292B2 (en) * | 2004-12-14 | 2008-05-06 | International Business Machines Corporation | Method for incremental design reduction via iterative overapproximation and re-encoding strategies |
CN100447796C (zh) * | 2005-09-29 | 2008-12-31 | 上海奇码数字信息有限公司 | 电路状态扫描链、数据采集系统和仿真验证方法 |
US7617470B1 (en) * | 2005-10-11 | 2009-11-10 | California Institute Of Technology | Reconfigurable integrated circuit and method for increasing performance of a reconfigurable integrated circuit |
WO2007072562A1 (ja) * | 2005-12-22 | 2007-06-28 | Fujitsu Limited | ノイズチェック方法および装置並びにノイズチェックプログラムを記録したコンピュータ読取可能な記録媒体 |
US7949907B2 (en) * | 2006-10-03 | 2011-05-24 | Wipro Limited | Method and device for data communication |
US7904859B2 (en) | 2007-05-09 | 2011-03-08 | Synopsys, Inc. | Method and apparatus for determining a phase relationship between asynchronous clock signals |
US8756557B2 (en) | 2007-05-09 | 2014-06-17 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US7908574B2 (en) | 2007-05-09 | 2011-03-15 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US7984400B2 (en) * | 2007-05-09 | 2011-07-19 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
-
2008
- 2008-05-08 US US12/117,693 patent/US8756557B2/en active Active
- 2008-05-09 EP EP08754320A patent/EP2145271A2/en not_active Ceased
- 2008-05-09 CN CN2008800230665A patent/CN101720464B/zh active Active
- 2008-05-09 JP JP2010507476A patent/JP5432126B2/ja active Active
- 2008-05-09 WO PCT/US2008/005989 patent/WO2008140778A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2145271A2 (en) | 2010-01-20 |
CN101720464A (zh) | 2010-06-02 |
CN101720464B (zh) | 2013-10-23 |
JP2010527476A (ja) | 2010-08-12 |
WO2008140778A3 (en) | 2009-02-19 |
WO2008140778A2 (en) | 2008-11-20 |
US8756557B2 (en) | 2014-06-17 |
US20080301601A1 (en) | 2008-12-04 |
WO2008140778A8 (en) | 2009-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5432127B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP5410414B2 (ja) | 回路エミュレーションの入力及び遅延入力のマルチプレクシング | |
JP5432126B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP5405451B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP4806529B2 (ja) | 複製されたロジックを使用するデバッグの方法とシステム | |
JP5039698B2 (ja) | 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム | |
GB2244156A (en) | Static path analysis of digital circuits | |
WO2006115812A2 (en) | Method and system for debugging using replicated logic and trigger logic | |
US7289946B1 (en) | Methodology for verifying multi-cycle and clock-domain-crossing logic using random flip-flop delays | |
US7886244B2 (en) | Driving values to DC adjusted/untimed nets to identify timing problems | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
US9449127B1 (en) | System for verifying timing constraints of IC design | |
US8943457B2 (en) | Simulating scan tests with reduced resources | |
Plassan et al. | Improving the efficiency of formal verification: the case of clock-domain crossings | |
Tarawneh et al. | Xprova: Formal Verification Tool with Built-in Metastability Modeling | |
Indino | An open source platform and EDA tool framework to enable scan test power analysis testing | |
JP2021077282A (ja) | タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム | |
Das et al. | Testing Embedded Cores-Based System-on-a-Chip (SoC)–Test Architecture and Implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110509 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120611 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120910 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120918 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130611 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131205 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5432126 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |