JP5432127B2 - 自動回路設計及びシミュレーションに使用するための技術 - Google Patents
自動回路設計及びシミュレーションに使用するための技術 Download PDFInfo
- Publication number
- JP5432127B2 JP5432127B2 JP2010507481A JP2010507481A JP5432127B2 JP 5432127 B2 JP5432127 B2 JP 5432127B2 JP 2010507481 A JP2010507481 A JP 2010507481A JP 2010507481 A JP2010507481 A JP 2010507481A JP 5432127 B2 JP5432127 B2 JP 5432127B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- clock
- design
- logic
- signal
- 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 237
- 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 142
- 230000010076 replication Effects 0.000 claims description 73
- 238000000034 method Methods 0.000 claims description 63
- 230000003111 delayed effect Effects 0.000 claims description 29
- 238000005070 sampling Methods 0.000 claims description 21
- 230000007704 transition Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 15
- 230000009471 action Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 34
- 230000004044 response Effects 0.000 description 17
- 238000004519 manufacturing process Methods 0.000 description 15
- 230000000630 rising effect Effects 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
- 230000002596 correlated effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000006399 behavior Effects 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
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 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
- 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
- 230000003362 replicative 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
- Analogue/Digital Conversion (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (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 (23)
- 第1の時間に第1の位相関係を有する第1及び第2の非同期クロック信号を受信するステップと、
前記第1クロック信号の遷移で前記第2クロック信号をサンプリングするステップと、 前記サンプルを記憶するステップと、
前記記憶されたサンプルを分析して、前記第1クロック信号と前記第2クロック信号の間の前記第1の時間における前記第1の位相関係を確かめ、そして前記第1の位相関係の表現を与えるステップと、を備え、
前記第1及び第2の非同期クロック信号は、テストされるように構成された設計モジュールを有する回路によって受信され、
前記回路は、前記第1の位相関係に基づいて、トリガーイベントが発生する前の前記設計モジュールの状態を取り込むように構成される、方法。 - 前記トリガーイベントの前の前記設計モジュールの前記状態を確認するために、前記第1の位相関係を使用し、前記トリガーイベントの前の前記設計モジュールの前記状態に基づいて、前記回路のシミュレーションを実行することを更に含む、請求項1に記載の方法。
- 前記第1及び第2のクロック信号に非同期であると共に第2の時間に前記第1クロック信号と第2位相関係を有する第3クロック信号を受信するステップと、
前記第1クロックの遷移で前記第3クロック信号をサンプリングするステップと、
前記第3クロック信号のサンプルを記憶するステップと、
前記サンプルを分析して、前記第1及び第3クロックの前記第2位相関係を確かめると共に、前記第2位相関係の表現を与えるステップと、
を更に備え、
非同期である前記第3クロック信号は、前記回路によって受信され、
前記回路は、さらに、前記第2位相関係に基づいて、前記トリガーイベントが発生する前の前記設計モジュールの前記状態を取り込むように構成されている、請求項1に記載の方法。 - 前記設計モジュールは、設計ロジックを含み、
前記回路は、さらに、前記トリガーイベントの前の前記設計ロジックの前記状態を示す初期条件信号を与えるために前記設計ロジックを複製するように構成された複製ロジックを含む、請求項1に記載の方法。 - 前記設計モジュールは、設計メモリ及び設計レジスタを有し、
前記回路は、さらに、前記トリガーイベントの前の前記設計メモリ及び前記設計レジスタの少なくとも1つの前記状態を示す初期条件信号を与えるために、設計メモリ及び設計レジスタを複製するように構成された複製メモリ及び複製レジスタを有する、請求項1に記載の方法。 - 前記設計モジュールは、ロジックを有し、
前記回路は、さらに、入力信号及び遅延入力信号を前記ロジックへマルチプレクスするマルチプレクサと、前記ロジックから出力信号及び遅延出力信号を与えて前記トリガーイベントの前の前記ロジックの前記状態を示す初期条件信号を与えるデマルチプレクサとを有する、請求項1に記載の方法。 - プログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
前記プログラムが実行されたときに、
前記コンピュータが、
第1の時間に第1の位相関係を有する第1及び第2の非同期クロック信号を受信し、
前記第1クロック信号の遷移で前記第2クロック信号をサンプリングし、
前記サンプルを記憶し、
前記記憶されたサンプルを分析して、前記第1クロック信号と前記第2クロック信号の間の前記第1の時間における前記第1の位相関係を確かめ、そして前記第1の位相関係の表現を与える、動作を実行し、
前記第1及び第2の非同期クロック信号は、テストされるように構成された設計モジュールを有する回路によって受信され、
前記回路は、前記第1の位相関係に基づいて、トリガーイベントが発生する前の前記設計モジュールの状態を取り込むように構成される、コンピュータ読み取り可能な記録媒体。 - 前記プログラムは、実行時に、前記コンピュータが、
前記トリガーイベントの前の前記設計モジュールの前記状態を確認するために、前記第1の位相関係を使用し、前記トリガーイベントの前の前記設計モジュールの前記状態に基づいて、前記回路のシミュレーションを実行することを更に含む動作を実行する、請求項7に記載のコンピュータ読み取り可能な記録媒体。 - 前記設計モジュールは、設計ロジックを含み、
前記回路は、さらに、前記トリガーイベントの前の前記設計ロジックの前記状態を示す初期条件信号を与えるために前記設計ロジックを複製するように構成された複製ロジックを含む、請求項7に記載のコンピュータ読み取り可能な記録媒体。 - 前記設計モジュールは、設計メモリ及び設計レジスタを有し、
前記回路は、さらに、前記トリガーイベントの前の前記設計メモリ及び前記設計レジスタの少なくとも1つの前記状態を示す初期条件信号を与えるために、設計メモリ及び設計レジスタを複製するように構成された複製メモリ及び複製レジスタを有する、請求項7に記載のコンピュータ読み取り可能な記録媒体。 - 前記設計モジュールは、ロジックを有し、
前記回路は、さらに、入力信号及び遅延入力信号を前記ロジックへマルチプレクスするマルチプレクサと、前記ロジックから出力信号及び遅延出力信号を与えて前記トリガイベントの前の前記ロジックの前記状態を示す初期条件信号を与えるデマルチプレクサとを有する、請求項7に記載のコンピュータ読み取り可能な記録媒体。 - コンピュータによって回路の記述を生成する方法であって、
第1の時間に第1の位相関係を有する第1及び第2の非同期クロック信号を受信し前記第1クロック信号の遷移で前記第2クロック信号をサンプリングするサンプリング回路の記述と、
前記サンプルを記憶する記憶回路の記述と、
前記記憶されたサンプルを分析して、前記第1クロック信号と前記第2クロック信号の間の前記第1の時間における前記第1の位相関係を確かめ、そして前記第1の位相関係の表現を与える分析ロジックの記述と、を生成し、
前記第1及び第2の非同期クロック信号は、テストされるように構成された設計モジュールを有する回路によって受信され、
前記回路は、前記第1の位相関係に基づいて、トリガーイベントが発生する前の前記設計モジュールの状態を取り込むように構成される、方法。 - 前記トリガーイベントの前の前記設計モジュールの前記状態を確認するために前記第1の位相関係を使用するステップと、
前記トリガーイベントの前の前記設計モジュールの前記状態に基づいて前記回路のシミュレーションを実行するステップと、を更に含む請求項12に記載の方法。 - 前記設計モジュールは設計ロジックを含み、
前記回路は、さらに、前記トリガーイベントの前の前記設計モジュールの前記状態を示す初期条件信号を与えるために前記設計ロジックを複製するように構成された複製ロジックを備えた、請求項12に記載の方法。 - 第1の時間に第1の位相関係を有する第1及び第2の非同期クロック信号を受信するための受信回路と、
前記第1クロック信号の遷移で前記第2クロック信号をサンプリングするためのサンプリング回路と、
前記サンプルを記憶するための記憶回路と、
前記記憶されたサンプルを分析して、前記第1クロック信号と前記第2クロック信号との間の前記第1の時間における前記第1の位相関係を確かめ、そして前記第1の位相関係の表現を与える分析ロジックと、を備え、
テストされるように構成された設計モジュールに接続され、
前記第1の位相関係に基づいて、トリガーイベントが発生する前の前記設計モジュールの状態を取り込むように構成された装置。 - 前記受信回路及び分析ロジックは、単一の集積回路チップの一部分である、請求項15に記載の装置。
- チップインターフェイスと、このチップインターフェイスに第1の位相関係を与えるための回路とを更に備えた、請求項15に記載の装置。
- 第1の時間に第1及び第2の非同期クロック信号を受信するステップであって、それら第1及び第2のクロックは第1の時間に第1の位相関係を有するものであるステップと、 前記第2クロック信号から中間信号を発生するステップと、
前記第1クロック信号の遷移で前記中間信号をサンプリングするステップと、
前記サンプリングされた中間信号を処理するステップと、
前記処理されたサンプリングされた中間信号のサンプルを記憶するステップと、
前記記憶されたサンプルを分析して、前記第1の時間における前記第1クロック信号に対する前記第2クロック信号の前記位相関係を確かめ、前記位相関係の表現を与えるステップと、を備え、
前記第1及び第2の非同期クロック信号は、テストされるように構成された設計モジュールを有する回路によって受信され、
前記回路は、前記第1の位相関係に基づいて、トリガーイベントが発生する前の前記設計モジュールの状態を取り込むように構成される、方法。 - 前記第1及び第2のクロック信号に対して非同期の第3クロック信号を受信して、その第3クロック信号を、第2クロック信号と同様に処理するステップを更に備えた、請求項18に記載の方法。
- 前記中間信号は、前記第1クロックによって検出された前記第2クロックの遷移から生成される、請求項18に記載の方法。
- 回路の記述を生成する方法であって、前記回路は、
第1の時間に第1及び第2の非同期クロック信号を受信する回路であって、それら第1及び第2のクロックは第1の時間に第1の位相関係を有するものである回路と、
前記第2クロック信号から中間信号を発生する回路と、
前記第1クロック信号の遷移で前記中間信号をサンプリングする回路と、
前記サンプリングされた中間信号を処理する回路と、
前記処理されたサンプリングされた中間信号のサンプルを記憶する回路と、
前記記憶されたサンプルを分析して、前記第1の時間における前記第1クロック信号に対する前記第2クロック信号の前記位相関係を確かめ、そして前記位相関係の表現を与える分析ロジックと、を含み、
前記第1及び第2の非同期クロック信号は、テストされるように構成された設計モジュールを有するように回路によって受信され、
前記回路は、前記第1の位相関係に基づいて、トリガーイベントが発生する前の前記設計モジュールの状態を取り込むように構成される方法。
む方法。 - 第1の時間に第1及び第2の非同期クロック信号を受信する回路であって、それら第1及び第2のクロックは第1の時間に第1の位相関係を有するものである回路と、
前記第2クロック信号から中間信号を発生する回路と、
前記第1クロック信号の遷移で前記中間信号をサンプリングする回路と、
前記サンプリングされた中間信号を処理する回路と、
前記処理されたサンプリングされた中間信号のサンプルを記憶する回路と、
前記サンプルを分析して、前記第1の時間における前記第1クロック信号に対する前記第2クロック信号の前記位相関係を確かめ、そして前記位相関係の表現を与える分析ロジックと、を備え、
テストされるように構成された設計モジュールに接続され、
前記第1の位相関係に基づいて、トリガーイベントが発生する前の前記設計モジュールの状態を取り込むように構成された装置。 - 前記中間信号は、前記第1クロックによって検出された前記第2クロックの遷移から生成される、請求項22に記載の装置。
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,714 US7904859B2 (en) | 2007-05-09 | 2008-05-08 | Method and apparatus for determining a phase relationship between asynchronous clock signals |
US12/117,714 | 2008-05-08 | ||
PCT/US2008/006012 WO2008140791A2 (en) | 2007-05-09 | 2008-05-09 | Computation of phase relationship by clock sampling |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010531002A JP2010531002A (ja) | 2010-09-16 |
JP2010531002A5 JP2010531002A5 (ja) | 2011-06-23 |
JP5432127B2 true JP5432127B2 (ja) | 2014-03-05 |
Family
ID=39776985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010507481A Active JP5432127B2 (ja) | 2007-05-09 | 2008-05-09 | 自動回路設計及びシミュレーションに使用するための技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7904859B2 (ja) |
EP (1) | EP2145273B1 (ja) |
JP (1) | JP5432127B2 (ja) |
CN (1) | CN101720465B (ja) |
WO (1) | WO2008140791A2 (ja) |
Families Citing this family (28)
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 |
US8271918B2 (en) * | 2009-01-31 | 2012-09-18 | Mentor Graphics Corporation | Formal verification of clock domain crossings |
US8255702B1 (en) * | 2009-12-03 | 2012-08-28 | Altera Corporation | Programmable logic device with improved security |
US8479135B2 (en) * | 2009-12-15 | 2013-07-02 | Apple Inc. | Automated framework for programmable logic device implementation of integrated circuit design |
US8166437B2 (en) * | 2009-12-15 | 2012-04-24 | Apple Inc. | Automated pad ring generation for programmable logic device implementation of integrated circuit design |
US8332795B2 (en) * | 2009-12-15 | 2012-12-11 | Apple Inc. | Automated pin multiplexing for programmable logic device implementation of integrated circuit design |
US8302038B2 (en) * | 2009-12-15 | 2012-10-30 | Apple Inc. | Engineering change order language for modifying integrated circuit design files for programmable logic device implementation |
US8638792B2 (en) * | 2010-01-22 | 2014-01-28 | Synopsys, Inc. | Packet switch based logic replication |
US8397195B2 (en) * | 2010-01-22 | 2013-03-12 | Synopsys, Inc. | Method and system for packet switch based logic replication |
US8751986B2 (en) * | 2010-08-06 | 2014-06-10 | Synopsys, Inc. | Method and apparatus for automatic relative placement rule generation |
GB2484295A (en) * | 2010-10-05 | 2012-04-11 | St Microelectronics Ltd | Circuit simulation |
US8584067B2 (en) * | 2010-11-02 | 2013-11-12 | Advanced Micro Devices, Inc. | Clock domain crossing buffer |
US8943242B1 (en) | 2012-03-30 | 2015-01-27 | Integrated Device Technology Inc. | Timing controllers having partitioned pipelined delay chains therein |
US8826057B1 (en) | 2012-03-30 | 2014-09-02 | Integrated Device Technology Inc. | Multiple time domain synchronizer circuits |
US9098486B1 (en) * | 2013-03-14 | 2015-08-04 | Altera Corporation | Methods and apparatus for testing multiple clock domain memories |
CN104702249B (zh) * | 2013-12-10 | 2019-08-02 | 苏州普源精电科技有限公司 | 一种具有猝发同步功能的信号发生器 |
US9361417B2 (en) | 2014-02-07 | 2016-06-07 | Synopsys, Inc. | Placement of single-bit and multi-bit flip-flops |
GB2519181B (en) * | 2014-03-31 | 2015-09-09 | Imagination Tech Ltd | Clock verification |
US9495492B1 (en) * | 2015-01-05 | 2016-11-15 | Cadence Design Systems, Inc. | Implementing synchronous triggers for waveform capture in an FPGA prototyping system |
KR102254715B1 (ko) * | 2015-02-03 | 2021-05-24 | 삼성전자주식회사 | 소프트웨어 프로그래밍을 위한 레지스터 방법 및 장치 |
US10325046B2 (en) * | 2016-09-20 | 2019-06-18 | Synopsys, Inc. | Formal method for clock tree analysis and optimization |
CN107528658B (zh) * | 2017-08-02 | 2019-02-19 | 北京交通大学 | 一种时钟恢复方法及装置 |
LU101294B1 (en) * | 2019-07-03 | 2021-01-20 | Onespin Solutions Gmbh | Method of checking equivalence between a first design comprising a shift register logic srl chain and a second design |
CN112580278B (zh) * | 2020-12-07 | 2023-06-09 | 海光信息技术股份有限公司 | 逻辑电路的优化方法、优化装置以及存储介质 |
US11776600B2 (en) * | 2021-02-03 | 2023-10-03 | Micron Technology, Inc. | Memory clock management and estimation procedures |
CN113392606A (zh) * | 2021-06-11 | 2021-09-14 | 北京物芯科技有限责任公司 | 内部接口信号的采样方法、装置及计算设备 |
US11755336B2 (en) | 2021-09-29 | 2023-09-12 | Advanced Micro Devices, Inc. | Distributed geometry |
US11947473B2 (en) * | 2021-10-12 | 2024-04-02 | Advanced Micro Devices, Inc. | Duplicated registers in chiplet processing units |
Family Cites Families (39)
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 |
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 |
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 |
KR20010006983A (ko) | 1999-06-26 | 2001-01-26 | 양세양 | 신속 프로토타이핑 장치와 그것의 입출력 탐침방법 및그것을 이용한 혼합 검증 방법 |
KR100710972B1 (ko) | 1999-06-26 | 2007-04-24 | 양세양 | 혼합된 에뮬레이션과 시뮬레이션이 가능한 혼합 검증 장치및 이를 이용한 혼합 검증 방법 |
JP2003503791A (ja) | 1999-06-26 | 2003-01-28 | セイ−ヤン ヤン、 | 入出力探針装置及びこれを用いた入出力探針方法と、これを基盤とする混合エミュレーション/シミュレーション方法 |
US6581191B1 (en) | 1999-11-30 | 2003-06-17 | Synplicity, Inc. | Hardware debugging in a hardware description language |
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 |
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 |
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 |
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 |
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 |
US7031221B2 (en) * | 2003-12-30 | 2006-04-18 | Intel Corporation | Fixed phase clock and strobe signals in daisy chained chips |
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 |
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 |
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,714 patent/US7904859B2/en active Active
- 2008-05-09 CN CN2008800230858A patent/CN101720465B/zh active Active
- 2008-05-09 JP JP2010507481A patent/JP5432127B2/ja active Active
- 2008-05-09 WO PCT/US2008/006012 patent/WO2008140791A2/en active Application Filing
- 2008-05-09 EP EP08754341.9A patent/EP2145273B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US7904859B2 (en) | 2011-03-08 |
JP2010531002A (ja) | 2010-09-16 |
CN101720465A (zh) | 2010-06-02 |
WO2008140791A2 (en) | 2008-11-20 |
EP2145273B1 (en) | 2018-11-07 |
WO2008140791A3 (en) | 2009-03-12 |
EP2145273A2 (en) | 2010-01-20 |
CN101720465B (zh) | 2013-10-02 |
US20080313589A1 (en) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5432127B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP5410414B2 (ja) | 回路エミュレーションの入力及び遅延入力のマルチプレクシング | |
JP5432126B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP5405451B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
US8781808B2 (en) | Prediction-based distributed parallel simulation method | |
US7213216B2 (en) | Method and system for debugging using replicated logic and trigger logic | |
JP4806529B2 (ja) | 複製されたロジックを使用するデバッグの方法とシステム | |
JP5039698B2 (ja) | 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム | |
US7289946B1 (en) | Methodology for verifying multi-cycle and clock-domain-crossing logic using random flip-flop delays | |
US7490305B2 (en) | Method for driving values to DC adjusted/untimed nets to identify timing problems | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
US20160292332A1 (en) | System for verifying timing constraints of ic design | |
US8943457B2 (en) | Simulating scan tests with reduced resources | |
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: 20120516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120521 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120821 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120828 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120921 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121022 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130311 |
|
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: 5432127 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 |