JP5410414B2 - 回路エミュレーションの入力及び遅延入力のマルチプレクシング - Google Patents
回路エミュレーションの入力及び遅延入力のマルチプレクシング Download PDFInfo
- Publication number
- JP5410414B2 JP5410414B2 JP2010507479A JP2010507479A JP5410414B2 JP 5410414 B2 JP5410414 B2 JP 5410414B2 JP 2010507479 A JP2010507479 A JP 2010507479A JP 2010507479 A JP2010507479 A JP 2010507479A JP 5410414 B2 JP5410414 B2 JP 5410414B2
- Authority
- JP
- Japan
- Prior art keywords
- logic
- circuit
- signal
- clock
- design
- 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 claims description 202
- 230000015654 memory Effects 0.000 claims description 142
- 230000010076 replication Effects 0.000 claims description 70
- 230000003111 delayed effect Effects 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 60
- 238000004088 simulation Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001934 delay Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 34
- 238000003860 storage Methods 0.000 description 16
- 238000004519 manufacturing process Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 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
- 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
- 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
- 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
- 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
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に記載の方法。
- 前記遅延回路からの遅延入力信号の一部分をシミュレータへの入力信号として与えて、前記設計回路の少なくとも一部分を含む回路のシミュレーションを遂行するステップを更に備えた、請求項2に記載の方法。
- トリガー信号に応答して、前記遅延回路が凍結され、そして前記遅延入力信号の幾つかは、シミュレータにより使用されて、前記設計回路の少なくとも一部分を含む回路のシミュレーションを遂行するために与えられる、請求項2に記載の方法。
- 前記遅延回路、マルチプレクサ、ロジック及びデマルチプレクサに第1クロック信号が与えられる、請求項3に記載の方法。
- 前記記述の発生は、少なくとも1つの前記プログラムを実行する前記コンピュータシステムへの少なくとも1つのコマンドに応答して行われる、請求項1に記載の方法。
- 前記設計回路は、前記ロジックに入力信号を与えるためのレジスタの第1グループと、前記ロジックからの出力信号を受信するためのレジスタの第2グループとを備え、更に、前記付加的な記述は、マルチプレクサを前記レジスタの第1グループと前記ロジックとの間に入れると共に、デマルチプレクサを前記ロジックと前記レジスタの第2グループとの間に入れる、請求項1に記載の方法。
- 前記設計回路の記述は、第2ロジックを含み、そして前記付加的な記述は、この第2ロジックの入力信号及び遅延入力信号を時分割マルチプレクシングするために第2マルチプレクサ/デマルチプレクサ対の記述を含む、請求項1に記載の方法。
- 前記設計回路の記述は、入力信号の第2グループを受信するための第2ロジックを含み、そして前記付加的な記述は、複製第2ロジックと、前記入力信号の前記第2グループを遅延させて、前記複数第2ロジックに与えるための遅延回路との記述を含み、更に、トリガー条件に応答して、前記遅延回路の信号は、前記設計回路の少なくとも一部分を含む回路をシミュレーションするためのシミュレータへの入力信号として与えられ、そして前記複製第2ロジックの幾つかのコンテンツは、前記シミュレータへの初期条件信号として与えられる、請求項1に記載の方法。
- 前記設計回路は、更に、メモリ入力信号を受信するための設計メモリを備え、そして前記付加的な記述は、前記メモリ入力信号の少なくとも幾つかを、それらが遅延された後に受信するための複製メモリの記述を含む、請求項1に記載の方法。
- 前記付加的な記述は、前記複製メモリのコンテンツにアクセスするためのアクセス回路の記述を含む、請求項10に記載の方法。
- 前記複製メモリは、前記設計回路の一部分のオペレーションをシミュレーションするために初期条件信号を与え、そして前記遅延回路は、シミュレーションのための入力信号を与える、請求項10に記載の方法。
- 前記設計回路は、レジスタ入力信号を受信するための設計レジスタを含み、そして前記付加的な記述は、遅延されたレジスタ入力信号を受信するための複製レジスタの記述を含む、請求項1に記載の方法。
- 実行時に、コンピュータが、
請求項2ないし13に記載のいずれか1つの動作を実行するプログラムを含む
コンピュータ可読記録媒体。 - 入力信号及び遅延入力信号をロジックへマルチプレクスするためのマルチプレクサと、前記ロジックからの出力信号及び前記ロジックからの遅延出力信号をデマルチプレクスするためのデマルチプレクサとを含むチップを含むハードウエアデバイスを動作させるステップであって、前記遅延入力信号が、前記入力信号と同じ情報を担持しており、かつ遅延回路を通して前記入力信号を遅延することによって発生されるようになっているステップと、
トリガー条件を検出するステップと、
前記遅延出力信号の一部分を初期条件信号として与え且つ前記遅延回路からの遅延入力信号の幾つかをシミュレータの入力信号として与えて、前記ロジックを含む回路のオペレーションをシミュレーションするステップと、
を備えた方法。 - 前記シミュレータは、トリガー条件まで導く前記ハードウエアデバイスのオペレーションをシミュレーションする、請求項15に記載の方法。
- 入力信号を受信してそれをマルチプレクサに与えるためのレジスタの第1グループと、 遅延入力信号をマルチプレクサに与えるための遅延回路と、
前記マルチプレクサからマルチプレクスされた入力信号及び遅延入力信号を受信して、マルチプレクスされた出力信号及び遅延出力信号を与えるためのロジックであって、
前記入力信号と遅延入力信号とが互いの間の時間遅延ととともに同じ情報を担持しているロジックと、
前記ロジックからの出力信号及び遅延出力信号をデマルチプレクスするためのデマルチプレクサと、
前記ロジックにおいてトリガー条件を検出するのに応答してトリガー信号を発生するためのトリガー回路と、
前記デマルチプレクサから遅延出力信号を受信するためのレジスタの第2グループと、を備え、
前記トリガー信号に応答して、前記遅延回路とレジスタの第2グループとが凍結され、かつ前記遅延回路のコンテンツが入力信号として、前記レジスタの第2グループの遅延出力信号が初期条件信号として、それぞれ前記ロジックを含む回路をシミュレートするためのシミュレータに与えられるようになっていることを特徴とするハードウエアデバイス。 - 前記ロジックにおいてトリガー条件を検出するのに応答してトリガー信号を発生するためのトリガー回路と、前記デマルチプレクサから遅延出力信号を受信するためのレジスタの第2グループとを更に備えた、請求項17に記載のハードウエアデバイス。
- 前記全体ハードウエアデバイスに対する入力信号及び遅延入力信号を時分割マルチプレクシングするために1つ以上の第2ロジックをサンドイッチする1つ以上の第2マルチプレクサ/デマルチプレクサ対を更に備えた請求項18に記載のハードウエアデバイス。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US91701507P | 2007-05-09 | 2007-05-09 | |
US91702407P | 2007-05-09 | 2007-05-09 | |
US91703307P | 2007-05-09 | 2007-05-09 | |
US91702707P | 2007-05-09 | 2007-05-09 | |
US60/917,033 | 2007-05-09 | ||
US60/917,015 | 2007-05-09 | ||
US60/917,027 | 2007-05-09 | ||
US60/917,024 | 2007-05-09 | ||
US12/117,711 | 2008-05-08 | ||
US12/117,711 US7908574B2 (en) | 2007-05-09 | 2008-05-08 | Techniques for use with automated circuit design and simulations |
PCT/US2008/006009 WO2008140789A1 (en) | 2007-05-09 | 2008-05-09 | Multiplexing of inputs and delayed inputs of a circuit emulation |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010531000A JP2010531000A (ja) | 2010-09-16 |
JP2010531000A5 JP2010531000A5 (ja) | 2011-06-30 |
JP5410414B2 true JP5410414B2 (ja) | 2014-02-05 |
Family
ID=39736888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010507479A Active JP5410414B2 (ja) | 2007-05-09 | 2008-05-09 | 回路エミュレーションの入力及び遅延入力のマルチプレクシング |
Country Status (5)
Country | Link |
---|---|
US (1) | US7908574B2 (ja) |
EP (1) | EP2145272B1 (ja) |
JP (1) | JP5410414B2 (ja) |
CN (1) | CN101720467B (ja) |
WO (1) | WO2008140789A1 (ja) |
Families Citing this family (26)
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 |
US7984400B2 (en) * | 2007-05-09 | 2011-07-19 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
JP2009193165A (ja) * | 2008-02-12 | 2009-08-27 | Toshiba Corp | デバッグ装置およびデバッグ方法 |
JP5262996B2 (ja) * | 2009-05-26 | 2013-08-14 | 富士通セミコンダクター株式会社 | 論理シミュレーション装置、方法、及びプログラム |
US8255702B1 (en) * | 2009-12-03 | 2012-08-28 | Altera Corporation | Programmable logic device with improved security |
US8661383B1 (en) * | 2010-07-28 | 2014-02-25 | VSYNC Circuits, Ltd. | VLSI black-box verification |
US8707229B1 (en) | 2010-07-28 | 2014-04-22 | VSYNC Circuit, Ltd. | Static analysis of VLSI reliability |
US8443313B2 (en) * | 2010-08-18 | 2013-05-14 | International Business Machines Corporation | Circuit design optimization |
US8631364B1 (en) | 2010-12-26 | 2014-01-14 | VSYNC Circuits Ltd. | Constraining VLSI circuits |
CN103594109B (zh) * | 2012-08-15 | 2017-09-15 | 上海华虹集成电路有限责任公司 | 一种替代双端口静态存储器的存储器结构 |
CN103941105B (zh) * | 2013-01-17 | 2016-08-17 | 德律科技股份有限公司 | 时序分析装置及时序分析方法 |
US8775986B1 (en) * | 2013-02-25 | 2014-07-08 | Xilinx, Inc. | Software debugging of synthesized hardware |
US9495492B1 (en) * | 2015-01-05 | 2016-11-15 | Cadence Design Systems, Inc. | Implementing synchronous triggers for waveform capture in an FPGA prototyping system |
US10140413B2 (en) * | 2015-04-21 | 2018-11-27 | Synopsys, Inc. | Efficient resolution of latch race conditions in emulation |
US10210919B2 (en) * | 2015-06-03 | 2019-02-19 | Altera Corporation | Integrated circuits with embedded double-clocked components |
CN107103116B (zh) * | 2017-03-27 | 2019-07-30 | 中国科学院计算技术研究所 | 一种复用追踪缓存的触发装置及设计方法 |
JP7180043B2 (ja) * | 2018-07-30 | 2022-11-30 | 東芝情報システム株式会社 | ディジタル検証支援装置及びディジタル検証支援用プログラム |
US11144286B2 (en) | 2019-01-14 | 2021-10-12 | Microsoft Technology Licensing, Llc | Generating synchronous digital circuits from source code constructs that map to circuit implementations |
US11106437B2 (en) | 2019-01-14 | 2021-08-31 | Microsoft Technology Licensing, Llc | Lookup table optimization for programming languages that target synchronous digital circuits |
US11093682B2 (en) | 2019-01-14 | 2021-08-17 | Microsoft Technology Licensing, Llc | Language and compiler that generate synchronous digital circuits that maintain thread execution order |
US11113176B2 (en) * | 2019-01-14 | 2021-09-07 | Microsoft Technology Licensing, Llc | Generating a debugging network for a synchronous digital circuit during compilation of program source code |
US11275568B2 (en) | 2019-01-14 | 2022-03-15 | Microsoft Technology Licensing, Llc | Generating a synchronous digital circuit from a source code construct defining a function call |
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 |
CN112291080B (zh) * | 2020-09-27 | 2023-07-04 | 青岛矽昌通信技术有限公司 | 一种通信模拟的控制方法及系统 |
CN116848518A (zh) * | 2021-02-26 | 2023-10-03 | 华为技术有限公司 | 一种延迟补偿方法以及相关设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596742A (en) * | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
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 |
US6694464B1 (en) * | 1997-05-30 | 2004-02-17 | Quickturn Design Systems, Inc. | Method and apparatus for dynamically testing electrical interconnect |
DE69811262T2 (de) * | 1997-10-10 | 2003-11-27 | Rambus Inc | Verfahren und vorrichtung zur ausfallsicheren resynchronisation mit minimaler latenzzeit |
WO2001001245A1 (en) | 1999-06-26 | 2001-01-04 | Yang Sei Yang | Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it |
KR100710972B1 (ko) | 1999-06-26 | 2007-04-24 | 양세양 | 혼합된 에뮬레이션과 시뮬레이션이 가능한 혼합 검증 장치및 이를 이용한 혼합 검증 방법 |
KR20010006983A (ko) | 1999-06-26 | 2001-01-26 | 양세양 | 신속 프로토타이핑 장치와 그것의 입출력 탐침방법 및그것을 이용한 혼합 검증 방법 |
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 |
US7379859B2 (en) * | 2001-04-24 | 2008-05-27 | Mentor Graphics Corporation | Emulator with switching network connections |
JP2002073712A (ja) * | 2000-08-28 | 2002-03-12 | Sony Corp | 回路生成装置、回路生成方法及びcad設計装置 |
KR100794916B1 (ko) | 2001-09-14 | 2008-01-14 | 양세양 | 에뮬레이션과 시뮬레이션을 혼용한 점진적 설계 검증을위한 설계검증 장치 및 이를 이용한 설계 검증 방법 |
US7398445B2 (en) * | 2002-08-09 | 2008-07-08 | Synplicity, Inc. | Method and system for debug and test using replicated logic |
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 |
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 |
DE10345150B3 (de) * | 2003-09-29 | 2005-04-14 | Advanced Micro Devices, Inc., Sunnyvale | Verfahren, Vorrichtung und System zum Analysieren digitaler Schaltungen |
CN1641647A (zh) * | 2004-01-09 | 2005-07-20 | 中国科学院微电子研究所 | 一种异步数据通路平均性能分析方法 |
US7949907B2 (en) * | 2006-10-03 | 2011-05-24 | Wipro Limited | Method and device for data communication |
-
2008
- 2008-05-08 US US12/117,711 patent/US7908574B2/en active Active
- 2008-05-09 CN CN2008800231051A patent/CN101720467B/zh active Active
- 2008-05-09 WO PCT/US2008/006009 patent/WO2008140789A1/en active Application Filing
- 2008-05-09 JP JP2010507479A patent/JP5410414B2/ja active Active
- 2008-05-09 EP EP08754338.5A patent/EP2145272B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20080313579A1 (en) | 2008-12-18 |
WO2008140789A1 (en) | 2008-11-20 |
EP2145272A1 (en) | 2010-01-20 |
JP2010531000A (ja) | 2010-09-16 |
CN101720467A (zh) | 2010-06-02 |
CN101720467B (zh) | 2013-07-24 |
US7908574B2 (en) | 2011-03-15 |
EP2145272B1 (en) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5410414B2 (ja) | 回路エミュレーションの入力及び遅延入力のマルチプレクシング | |
JP5432127B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP5432126B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP5405451B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
US8781808B2 (en) | Prediction-based distributed parallel simulation method | |
JP4806529B2 (ja) | 複製されたロジックを使用するデバッグの方法とシステム | |
US20090210841A1 (en) | Static timing analysis of template-based asynchronous circuits | |
JP5039698B2 (ja) | 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム | |
EP1872288A2 (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 | |
US7251794B2 (en) | Simulation testing of digital logic circuit designs | |
US7490305B2 (en) | Method for 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 |
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: 20120419 |
|
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 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120921 |
|
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: 20130419 |
|
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: 20131007 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5410414 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 |