JP5045961B2 - 同期回路設計の表現から非同期回路設計の表現へおよび非同期回路設計の表現から同期回路設計の表現への自動変換を実行するためのシステムおよび方法 - Google Patents
同期回路設計の表現から非同期回路設計の表現へおよび非同期回路設計の表現から同期回路設計の表現への自動変換を実行するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP5045961B2 JP5045961B2 JP2009507982A JP2009507982A JP5045961B2 JP 5045961 B2 JP5045961 B2 JP 5045961B2 JP 2009507982 A JP2009507982 A JP 2009507982A JP 2009507982 A JP2009507982 A JP 2009507982A JP 5045961 B2 JP5045961 B2 JP 5045961B2
- Authority
- JP
- Japan
- Prior art keywords
- asynchronous
- design
- synchronous
- clock
- netlist
- 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 101
- 230000001360 synchronised effect Effects 0.000 title claims description 98
- 238000000034 method Methods 0.000 title claims description 66
- 238000006243 chemical reaction Methods 0.000 title claims description 31
- 230000006870 function Effects 0.000 claims description 35
- 230000015572 biosynthetic process Effects 0.000 claims description 15
- 238000003786 synthesis reaction Methods 0.000 claims description 15
- 238000006467 substitution reaction Methods 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100136092 Drosophila melanogaster peng gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004870 electrical engineering Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011426 transformation method 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
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)
- Data Exchanges In Wide-Area Networks (AREA)
Description
1)非同期表現を用いて回路を設計し直す。
2)既存の同期表現を非同期表現に変換する。
同期設計を識別するステップと、
同期設計の同期ネットリストを生成するステップと、
同期ネットリストを非同期設計に変換するステップと、
を備える。
、それらのクロックをクロックの組み合わせおよびクロックイネーブルに置き換えてもよいので、単純化のために、状態保持エレメントによって使用されるすべてのクロック信号は回路への一次クロック入力であると仮定する。この実装は、同期ネットリストを表現するための言語としてEDIF200規格を使用するが、その他の何らかの言語、例えば、VerilogTMが、同じように使用されてもよい。
は非同期回路またはゲートアレイを流れるデータフロー、のグラフ表現である。上述したように、図2に示される様々なエレメントは、データフローグラフを組み立てるための基本的なビルディングブロックであり、それらのいくつかは、以下で詳細に説明される。
ここで、図8を参照すると、基本的な変換処理(図8に符号800として示され、同期HDL設計を非同期ネットリストに変換するための上述した処理を拡張したものである)が、1クロック領域に存在し、かつ状態保持エレメントのどれもがクロックゲーティングされない同期回路にどのように作用するかがわかるはずである。アルゴリズムは、同期回路によって実行される計算を決定することによって、その後に、データフローグラフを用いて、同じ計算を実装することによって、作用する。まず最初に、同期論理関数を識別する(802)。SPF、SNF、SPL、および、SNLは、それぞれ、すべてのPFLOP、NFLOP、PLATCH、および、NLATCHであるとする。それぞれのゲートgごとに、入力信号in(g)および出力信号out(g)を有する。基本的なアルゴリズムは、1クロック領域およびクロックゲーティングが存在しないことに対応しているので(804)、クロックおよびクロックイネーブル入力を無視し、したがって、使用されるクロックイネーブル入力は、存在しない。out(SPF)におけるそれぞれの信号は、クロックの立ち上がりエッジによって更新され、out(SNF)におけるそれぞれの信号は、クロックの立ち下がりエッジによって更新される。out(SPL)におけるあらゆる信号は、クロックがHレベルにあるときに更新され、その安定状態は、クロックがHレベルからLレベルへトランジションするときにラッチされる。out(SNL)におけるあらゆる信号は、クロックがLレベルにあるときに更新され、その安定状態は、クロックがLレベルからHレベルへトランジションするときにラッチされる。以下で説明される変換方法は、理想的な状態保持エレメントの動作を仮定する。
ションするときに一般的に使用される。レーススルーが発生しない場合も網羅するようにアルゴリズムを拡張することはきわめて簡単なことであり、そのことも論議するつもりである。さらに、レーススルーサイクルは存在しないと仮定する。言い換えれば、あらゆるサイクルは、フリップフロップか、またはPLATCHおよびNLATCHの両方のうちいずれかを含むと仮定する。
Synthesis,Teifel,John and Manohar,Rajit,Computer Systems Laboratory,Cornell University,Ithaca,NY 14853”を参照されたい。
Synthesis for Asynchronous FPGAs、Peng,Song,Fang,David,Teifel,John,and Manohar,Rajit,Computer Systems Laboratory,Cornell
University,Ithaca NY 14853”に簡単に説明される方法を用いて、FPGAネットリストに変換されてもよい。
複数クロック領域の存在は、問題をそれほど複雑にするものではない。異なるクロック領域からの2つの状態保持エレメント間の接続点において問題が発生するだけである。クロックサイクルタイムはお互いの有理倍数(rational multiples)であると仮定する。実際にそうであれば、計算内に存在するすべてのサイクルタイムの最小公倍数に対応する反復周期を見つけ出すために、計算を静的に展開することができる。この時、状態保持エレメントをそれぞれのクロック領域から分離した状態に維持しなければならないことを除けば、上で簡単に説明したアルゴリズムと同じものを使用してもよい。計算におけるそれぞれの“ステップ”は、次のクロック信号における変化に対応する。しかるべきラッチ変数およびフロップ変数は、これまでに述べたように更新されるが、変化したクロック領域に対してだけである。
ゲーテッドクロック(gated clock)を備えた状態保持エレメントは、2つのやり方で変換されてもよい。すなわち、(i)MUX変換(PFLOPのための例が図4に示される)を使用し、それによって、ゲーテッドクロックを完全に除去することにより、ゲーティングを除去することによる方法。(ii)PFLOPの出力を条件付き信号にするために、ゲーティング情報を使用することによる方法。第1の選択肢は、その結果として、上述した方法を用いて変換されることの可能な回路を提供する。第2の選択肢は、次により詳細に説明される別法である。選択肢2において検査している合成が簡単なクロックゲーティングよりも汎用的であることを示すために、MUX変換された回路によって開始する。
Dを意味する。組み合わせ論理の出力が、信号yであれば、基本変換方法は、“y:=f(c;x)”の形式の代入を含む。これらは、以下の条件付き代入に置換することができる。
IF c THEN y:=f(1;x)
ELSE y:=f(0;x) ENDIF
cは、制御述語であるので、この文の中に存在するfの2つのバージョンは、両方とも、ベクトルxとして指示されるすべての入力を必要とするわけではないことに注意されたい。そのような文は、上で簡単に説明された静的トークン形式アルゴリズムを用いて変換される場合、結果として、データフロー変換中に生成された条件付きブロックを提供する。ベクトルの一部は、条件付きであるかもしれないが、信号cは、条件付きではないことに注意されたい。
F=x*Fx+x’*Fx’
によってブール関数を減少させることができるという概念を発展させたものである。
同期設計からデータフローへおよびデータフローから同期設計へ変換する方法およびシステムが、これまでに説明された。ここで、図9を参照して、データフローと同期設計との間の変換を実行するためのより詳細な処理について説明する。データフローグラフは、マークグラフ(marked graph)およびイベントルールシステムを含めた様々な技術を用いて、タイミング解析を容易に施すことができる。両方の技術は、その結果として、計算のサイクル周期に対する解析表現を提供する。この周期は、計算が進行してもよい(および、計算が進行するはずである)最小サイクルタイムを決定する。データフロー設計から同期領域への信号の逆変換は、同期結果がデータフロー計算の速度よりも低い周波数で必要とされる場合にのみ発生することができる。
無条件トークンストリームは、CLK−WAITブロック506に送信される。クロック507の立ち上がりエッジまたは立ち下がりエッジの直後に出力が生成されるかどうかに依存して、CLK−WAITブロックは、しかるべきクロックエッジが到達するのを待ち、そして、CLK−WAITブロックの入力において受信されたデータフロートークン値と同じ値を有する単一データ信号出力508を提供する。これは、データフロートークンをクロックエッジに効果的に整列させる。クロック入力の主たる機能は、ただ単に、出力信号の生成を遅延させ、同期出力領域において、1クロックサイクルあたりの複数信号変化を防止することである。最初のトークンがCLK−WAITブロックへの入力に到達していることを保証するために、クロック507を所定の数のサイクルだけ遅延させなくてはならないかもしれないこと(初期化に関して)に注意されたい。遅延量の上限は、決定論的なものであり、データフローグラフから決定されてもよい。最後に、出力信号が、特定のクロックエッジから所定のオフセットだけずれて生成されなければならない場合、遅延ロックループ(または、何らかのその他の遅延メカニズム)が、しかるべく遅延したバージョンのクロックを生成するのに使用されてもよく、そのクロックは、507に接続されるべきクロックの遅延したバージョンである。
おける様々なトレードオフが提供されてもよい。また、回路技術の混合が使用されてもよく、グラフの様々な部分は、インタフェースをとるための表現変換器を提供することによって、異なる回路技術によって実装される。そのような技術もまた、この分野においてよく知られている。
Claims (23)
- 非同期回路設計と同期回路設計との間の変換をコンピュータが実行する方法であって、
複数クロック領域を備えた同期設計を識別するステップと、
前記同期設計の同期ネットリストを生成するステップと、
前記同期ネットリストを非同期設計に変換するステップと、
を備え、
前記変換するステップは、すべてのサイクルクロックタイムの最小公倍数に対応する反復周期を決定することを含む方法。 - 前記同期ネットリストは、発生源の電子設計インタフェースフォーマットからのモジュールを含む標準化された同期ネットリストを備える請求項1に記載の方法。
- 前記非同期設計の非同期設計表現は、データフローグラフ、データフローグラフの実装の詳細な記述、または、高級言語を含むグループの中から選択される請求項1に記載の方法。
- 前記変換するステップは、前記非同期設計のタイミング特性を検証するように前記非同期設計の動作特性を同期領域へ逆変換するアノテーションを生成することを含む請求項1に記載の方法。
- 前記非同期設計は、トークンとして表現されたデータを含むデータフローグラフを備える請求項1に記載の方法。
- 前記同期ネットリストは、同期クロック、同期クロック周波数、マルチサイクルパス、入力制約、または、出力制約からなるグループの中の少なくとも1つを含む請求項1に記載の方法。
- 前記同期ネットリストは、組み合わせ論理ゲートおよび状態保持論理ゲートを含む請求項1に記載の方法。
- 前記データフローグラフは、関数ブロック、ソースブロック、シンクブロック、コピーブロック、マージブロック、または、イニシャルブロックを含むグループの中の少なくとも1つを含む請求項5に記載の方法。
- 前記同期設計は、単一クロック領域を備え、
前記変換するステップは、
クロックおよびクロックイネーブル入力を無視するステップと、
組み合わせ論理を演算ごとのグループに分けるステップと、
前記組み合わせ論理の論理計算を指示するステップと、
を含む請求項1に記載の方法。 - 理想的な論理遅延および理想的な状態保持エレメントを仮定するステップをさらに含む請求項9に記載の方法。
- 状態保持エレメントをそれぞれの前記クロック領域から分離した状態に維持するステップをさらに含む、
請求項1に記載の方法。 - 前記同期設計は、ゲーテッドクロックを備えた状態保持エレメントを含み、
前記変換するステップは、MUX変換の置換によってゲーティングを除去するステップ、または前記状態保持エレメントの出力を条件付き信号にするためのゲーティング情報を使用するステップを含むグループの中の少なくとも1つを含む請求項8に記載の方法。 - 非同期設計における選択された非同期組み合わせ論理関数のために、
前記選択された非同期組み合わせ論理関数のための条件トークンおよびデータトークンを識別するステップと、
前記条件トークンおよび前記データトークンをバッファリングするステップと、
前記非同期組み合わせ論理関数を同期組み合わせ論理関数に逆変換するように、前記選択された非同期組み合わせ論理関数のクロック信号ごとに、前記選択された非同期組み合わせ論理関数の出力の値に一致する無条件データトークンを生成するステップと、
をさらに含む、
請求項8に記載の方法。 - 前記非同期設計の非同期設計表現は、同期入力信号および同期出力信号を含む請求項1に記載の方法。
- 非同期ネットリストを前記非同期設計に基づいて生成するステップをさらに含み、
前記非同期ネットリストは、フィールドプログラマブルゲートアレイ上に前記非同期設計を実装するために用いられるものである請求項1に記載の方法。 - 前記データフローグラフは、同期論理を用いて実装される請求項5に記載の方法。
- 非同期回路設計と同期回路設計との間の変換を実行するためのシステムであって、
複数クロック領域を備えた同期設計ファイルと、
前記同期設計ファイルを受信し、かつ前記同期設計の同期ネットリストを生成するように接続された合成ツールと、
前記同期ネットリストを受信し、かつ前記同期ネットリストを前記非同期設計に変換するように接続された変換器と、
を備え、
前記変換器は、すべてのサイクルクロックタイムの最小公倍数に対応する反復周期を決定するように構成されたシステム。 - 前記同期ネットリストは、発生源の電子設計インタフェースフォーマットからのモジュールを含む標準化された同期ネットリストを備える請求項17に記載のシステム。
- 前記非同期設計の非同期設計表現は、データフローグラフ、データフローグラフの実装の詳細な記述、または、高級言語を含むグループの中から選択される請求項17に記載のシステム。
- 前記非同期設計を受信し、かつ前記非同期設計のタイミング特性を検証するように前記非同期設計の動作特性を同期領域に逆変換するアノテーションを生成するように接続されたアノテーション生成器をさらに含む請求項17に記載のシステム。
- 前記非同期設計は、トークンとして表現されたデータを含むデータフローグラフである請求項17に記載のシステム。
- 非同期回路設計と同期回路設計との間の変換を実行するためのシステムであって、
複数クロック領域を備えた同期設計を識別するための手段と、
前記同期設計の同期ネットリストを生成するための手段と、
前記同期ネットリストを非同期設計に変換するための手段と、
を備え、
前記変換するための手段は、すべてのサイクルクロックタイムの最小公倍数に対応する反復周期を決定するための手段を含むシステム。 - 非同期回路設計と同期回路設計との間の変換を実行するためのコンピュータを、
複数クロック領域を備えた同期設計を識別する手段、
前記同期設計の同期ネットリストを生成する手段、
前記同期ネットリストを非同期設計に変換する手段、
として機能させるためのプログラムであって、
前記変換する手段は、すべてのサイクルクロックタイムの最小公倍数に対応する反復周期を決定する手段を含むプログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US79612606P | 2006-04-27 | 2006-04-27 | |
US60/796,126 | 2006-04-27 | ||
US11/740,184 | 2007-04-25 | ||
US11/740,184 US7610567B2 (en) | 2006-04-27 | 2007-04-25 | Systems and methods for performing automated conversion of representations of synchronous circuit designs to and from representations of asynchronous circuit designs |
PCT/US2007/067618 WO2007127914A2 (en) | 2006-04-27 | 2007-04-27 | Systems and methods for performing automated conversion of representations of synchronous circuit designs to and from representations of asynchronous circuit designs |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009535718A JP2009535718A (ja) | 2009-10-01 |
JP2009535718A5 JP2009535718A5 (ja) | 2010-07-01 |
JP5045961B2 true JP5045961B2 (ja) | 2012-10-10 |
Family
ID=38649745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009507982A Active JP5045961B2 (ja) | 2006-04-27 | 2007-04-27 | 同期回路設計の表現から非同期回路設計の表現へおよび非同期回路設計の表現から同期回路設計の表現への自動変換を実行するためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7610567B2 (ja) |
EP (1) | EP2024884B1 (ja) |
JP (1) | JP5045961B2 (ja) |
KR (1) | KR101061864B1 (ja) |
WO (1) | WO2007127914A2 (ja) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7505304B2 (en) * | 2006-04-27 | 2009-03-17 | Achronix Semiconductor Corporation | Fault tolerant asynchronous circuits |
US7504851B2 (en) * | 2006-04-27 | 2009-03-17 | Achronix Semiconductor Corporation | Fault tolerant asynchronous circuits |
US7610567B2 (en) * | 2006-04-27 | 2009-10-27 | Achronix Semiconductor Corporation | Systems and methods for performing automated conversion of representations of synchronous circuit designs to and from representations of asynchronous circuit designs |
US8234630B2 (en) * | 2006-05-03 | 2012-07-31 | The Mathworks, Inc. | Calling an entity of a graphical model with a non-graphical entity and calling a non-graphical entity of a graphical model with a graphical entity |
US20080005357A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Synchronizing dataflow computations, particularly in multi-processor setting |
EP2098969A4 (en) * | 2006-12-26 | 2013-01-02 | Nec Corp | LOGIC CIRCUIT DESIGN DEVICE FOR ASYNCHRONOUS LOGIC CIRCUITS, LOGIC CIRCUIT DESIGN METHOD, AND LOGIC CIRCUIT DESIGN PROGRAM |
US7614029B2 (en) * | 2007-01-05 | 2009-11-03 | Achronix Semiconductor Corporation | Methods and systems for converting a synchronous circuit fabric into an asynchronous dataflow circuit fabric |
US7739628B2 (en) * | 2008-02-15 | 2010-06-15 | Achronix Semiconductor Corporation | Synchronous to asynchronous logic conversion |
US8086975B2 (en) | 2008-04-10 | 2011-12-27 | University Of Southern California | Power aware asynchronous circuits |
US8448105B2 (en) * | 2008-04-24 | 2013-05-21 | University Of Southern California | Clustering and fanout optimizations of asynchronous circuits |
US7746113B1 (en) | 2008-07-17 | 2010-06-29 | Xilinx, Inc. | Circuit structures utilizing multiple voltage level inputs |
US7635989B1 (en) | 2008-07-17 | 2009-12-22 | Xilinx, Inc. | Integrated circuits with bus-based programmable interconnect structures |
US7743175B1 (en) | 2008-07-17 | 2010-06-22 | Xilinx, Inc. | Methods of initializing routing structures in integrated circuits |
US7605604B1 (en) | 2008-07-17 | 2009-10-20 | Xilinx, Inc. | Integrated circuits with novel handshake logic |
US7759974B1 (en) | 2008-07-17 | 2010-07-20 | Xilinx, Inc. | Pipelined unidirectional programmable interconnect in an integrated circuit |
JP5409231B2 (ja) * | 2008-09-26 | 2014-02-05 | 株式会社半導体エネルギー研究所 | 設計システム |
US8296693B2 (en) * | 2009-02-25 | 2012-10-23 | Ati Technologies Ulc | Method and apparatus for hardware design verification |
US7746102B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Bus-based logic blocks for self-timed integrated circuits |
US7746105B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Merging data streams in a self-timed programmable integrated circuit |
US7746108B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Compute-centric architecture for integrated circuits |
US7746109B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Circuits for sharing self-timed logic |
US7746106B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Circuits for enabling feedback paths in a self-timed integrated circuit |
US7746104B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Dynamically controlled output multiplexer circuits in a programmable integrated circuit |
US7746112B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Output structure with cascaded control signals for logic blocks in integrated circuits, and methods of using the same |
US7733123B1 (en) | 2009-04-02 | 2010-06-08 | Xilinx, Inc. | Implementing conditional statements in self-timed logic circuits |
US9411554B1 (en) | 2009-04-02 | 2016-08-09 | Xilinx, Inc. | Signed multiplier circuit utilizing a uniform array of logic blocks |
US7746110B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Circuits for fanning out data in a programmable self-timed integrated circuit |
US7948265B1 (en) | 2009-04-02 | 2011-05-24 | Xilinx, Inc. | Circuits for replicating self-timed logic |
US7982496B1 (en) | 2009-04-02 | 2011-07-19 | Xilinx, Inc. | Bus-based logic blocks with optional constant input |
US9002915B1 (en) | 2009-04-02 | 2015-04-07 | Xilinx, Inc. | Circuits for shifting bussed data |
US8706793B1 (en) | 2009-04-02 | 2014-04-22 | Xilinx, Inc. | Multiplier circuits with optional shift function |
US7746111B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Gating logic circuits in a self-timed integrated circuit |
US7746101B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Cascading input structure for logic blocks in integrated circuits |
US8527572B1 (en) | 2009-04-02 | 2013-09-03 | Xilinx, Inc. | Multiplier architecture utilizing a uniform array of logic blocks, and methods of using the same |
US7746103B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Multi-mode circuit in a self-timed integrated circuit |
US8423977B2 (en) * | 2009-04-27 | 2013-04-16 | National Instruments Corporation | Implementing a class oriented data flow program on a programmable hardware element |
US8191019B2 (en) * | 2009-07-17 | 2012-05-29 | Achronix Semiconductor Corporation | Non-predicated to predicated conversion of asynchronous representations |
US8161435B2 (en) * | 2009-07-20 | 2012-04-17 | Achronix Semiconductor Corporation | Reset mechanism conversion |
US8301933B2 (en) * | 2009-09-14 | 2012-10-30 | Achronix Semiconductor Corporation | Multi-clock asynchronous logic circuits |
US8661378B2 (en) * | 2009-09-30 | 2014-02-25 | Achronix Semiconductor Corporation | Asychronous system analysis |
US8913601B1 (en) | 2010-10-01 | 2014-12-16 | Xilinx, Inc. | Programmable integrated circuit and method of asynchronously routing data in a circuit block of an integrated circuit |
US8294490B1 (en) | 2010-10-01 | 2012-10-23 | Xilinx, Inc. | Integrated circuit and method of asynchronously routing data in an integrated circuit |
US8358148B1 (en) | 2010-10-01 | 2013-01-22 | Xilinx, Inc. | Programmable integrated circuit and method of asynchronously routing data in an integrated circuit |
US8402164B1 (en) | 2010-10-27 | 2013-03-19 | Xilinx, Inc. | Asynchronous communication network and methods of enabling the asynchronous communication of data in an integrated circuit |
US10157060B2 (en) | 2011-12-29 | 2018-12-18 | Intel Corporation | Method, device and system for control signaling in a data path module of a data stream processing engine |
FR2990283A1 (fr) * | 2012-05-04 | 2013-11-08 | Commissariat Energie Atomique | Bibliotheque de cellules et procede de conception d'un circuit integre asynchrone |
US8656326B1 (en) * | 2013-02-13 | 2014-02-18 | Atrenta, Inc. | Sequential clock gating using net activity and XOR technique on semiconductor designs including already gated pipeline design |
US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
US9548736B2 (en) | 2015-06-15 | 2017-01-17 | The University Of Utah Research Foundation | Relative timed clock gating cell |
US9753486B2 (en) | 2015-06-15 | 2017-09-05 | University Of Utah Research Foundation | Clock gating with an asynchronous wrapper cell |
JP6663801B2 (ja) * | 2016-06-15 | 2020-03-13 | 株式会社日立製作所 | 半導体lsi設計装置および設計方法 |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US11451230B2 (en) | 2020-04-23 | 2022-09-20 | Xilinx, Inc. | Compute dataflow architecture |
US12086080B2 (en) | 2020-09-26 | 2024-09-10 | Intel Corporation | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits |
CN115061534A (zh) * | 2022-05-09 | 2022-09-16 | 厉雷刚 | 无时钟异步电路、数据同步输出的方法、设备及介质 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5272529A (en) * | 1992-03-20 | 1993-12-21 | Northwest Starscan Limited Partnership | Adaptive hierarchical subband vector quantization encoder |
US5958077A (en) * | 1995-12-27 | 1999-09-28 | Nec Usa, Inc. | Method for testing asynchronous circuits |
AU8495098A (en) | 1997-07-16 | 1999-02-10 | California Institute Of Technology | Improved devices and methods for asynchronous processing |
US6301655B1 (en) | 1997-09-15 | 2001-10-09 | California Institute Of Technology | Exception processing in asynchronous processor |
US9195784B2 (en) * | 1998-08-31 | 2015-11-24 | Cadence Design Systems, Inc. | Common shared memory in a verification system |
EP1212706B1 (en) * | 1999-08-19 | 2007-02-21 | Massachusetts Institute Of Technology | Synchronous circuit synthesis using an asynchronous specification |
US6735709B1 (en) * | 2000-11-09 | 2004-05-11 | Micron Technology, Inc. | Method of timing calibration using slower data rate pattern |
US6690203B2 (en) | 2000-12-29 | 2004-02-10 | California Institute Of Technology | Method and apparatus for a failure-free synchronizer |
KR100399337B1 (ko) * | 2001-02-07 | 2003-09-26 | 드림바이오젠 주식회사 | 단백질의 무세포 번역후수식법 |
US6950959B2 (en) * | 2002-02-12 | 2005-09-27 | Fulcrum Microystems Inc. | Techniques for facilitating conversion between asynchronous and synchronous domains |
US7296174B2 (en) * | 2002-10-11 | 2007-11-13 | Broadcom Corporation | Apparatus and method to interface two different clock domains |
US7039887B2 (en) | 2002-10-15 | 2006-05-02 | Cadence Design Systems, Inc. | Method and apparatus for enhancing the performance of event driven dynamic simulation of digital circuits based on netlist partitioning techniques |
US7149992B2 (en) | 2002-10-23 | 2006-12-12 | Via Technologies, Inc. | Method for faster timing closure and better quality of results in IC physical design |
TWI254579B (en) * | 2003-01-02 | 2006-05-01 | Mediatek Inc | Signal processing method to selectively record image signal |
US7134062B2 (en) | 2003-08-12 | 2006-11-07 | Via Telecom, Inc. | Static timing analysis approach for multi-clock domain designs |
US7157934B2 (en) | 2003-08-19 | 2007-01-02 | Cornell Research Foundation, Inc. | Programmable asynchronous pipeline arrays |
US7661101B2 (en) | 2004-01-15 | 2010-02-09 | Parametric Technology Corporation | Synchronous and asynchronous collaboration between heterogeneous applications |
US7464361B2 (en) * | 2004-01-20 | 2008-12-09 | Texas Instruments Incorporated | System and method for asynchronous logic synthesis from high-level synchronous descriptions |
US7788332B2 (en) | 2004-05-06 | 2010-08-31 | Cornell Research Foundation, Inc. | Sensor-network processors using event-driven architecture |
US7584449B2 (en) * | 2004-11-22 | 2009-09-01 | Fulcrum Microsystems, Inc. | Logic synthesis of multi-level domino asynchronous pipelines |
US7647567B1 (en) * | 2005-01-31 | 2010-01-12 | Bluespec, Inc. | System and method for scheduling TRS rules |
US7478222B2 (en) | 2005-03-29 | 2009-01-13 | Karl M. Fant | Programmable pipeline array |
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 |
US7411436B2 (en) | 2006-02-28 | 2008-08-12 | Cornell Research Foundation, Inc. | Self-timed thermally-aware circuits and methods of use thereof |
US7610567B2 (en) | 2006-04-27 | 2009-10-27 | Achronix Semiconductor Corporation | Systems and methods for performing automated conversion of representations of synchronous circuit designs to and from representations of asynchronous circuit designs |
US7504851B2 (en) | 2006-04-27 | 2009-03-17 | Achronix Semiconductor Corporation | Fault tolerant asynchronous circuits |
US7505304B2 (en) | 2006-04-27 | 2009-03-17 | Achronix Semiconductor Corporation | Fault tolerant asynchronous circuits |
US8035748B2 (en) * | 2006-07-12 | 2011-10-11 | Broadcom Corporation | Method and system for reducing composite video cross-chroma artifacts in movie material for a deinterlacer |
US7594211B1 (en) * | 2006-11-17 | 2009-09-22 | Synopsys, Inc. | Methods and apparatuses for reset conditioning in integrated circuits |
US8065647B2 (en) * | 2007-10-19 | 2011-11-22 | The University Of Utah Research Foundation | Method and system for asynchronous chip design |
US20090119631A1 (en) * | 2007-11-06 | 2009-05-07 | Jordi Cortadella | Variability-Aware Asynchronous Scheme for High-Performance Delay Matching |
US8972915B2 (en) * | 2008-02-12 | 2015-03-03 | University Of Southern California | Static timing analysis of template-based asynchronous circuits |
US8104004B2 (en) * | 2008-02-13 | 2012-01-24 | Achronix Semiconductor Corporation | Logic performance in cyclic structures |
US7739628B2 (en) * | 2008-02-15 | 2010-06-15 | Achronix Semiconductor Corporation | Synchronous to asynchronous logic conversion |
US8086975B2 (en) * | 2008-04-10 | 2011-12-27 | University Of Southern California | Power aware asynchronous circuits |
US8161435B2 (en) * | 2009-07-20 | 2012-04-17 | Achronix Semiconductor Corporation | Reset mechanism conversion |
US8301933B2 (en) * | 2009-09-14 | 2012-10-30 | Achronix Semiconductor Corporation | Multi-clock asynchronous logic circuits |
US8661378B2 (en) * | 2009-09-30 | 2014-02-25 | Achronix Semiconductor Corporation | Asychronous system analysis |
-
2007
- 2007-04-25 US US11/740,184 patent/US7610567B2/en active Active
- 2007-04-27 KR KR1020087029013A patent/KR101061864B1/ko active IP Right Grant
- 2007-04-27 WO PCT/US2007/067618 patent/WO2007127914A2/en active Application Filing
- 2007-04-27 JP JP2009507982A patent/JP5045961B2/ja active Active
- 2007-04-27 EP EP07761443.6A patent/EP2024884B1/en active Active
-
2009
- 2009-08-31 US US12/550,582 patent/US8453079B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101061864B1 (ko) | 2011-09-02 |
WO2007127914A3 (en) | 2008-05-08 |
JP2009535718A (ja) | 2009-10-01 |
WO2007127914A2 (en) | 2007-11-08 |
EP2024884B1 (en) | 2019-07-24 |
KR20090009915A (ko) | 2009-01-23 |
US20070256038A1 (en) | 2007-11-01 |
US7610567B2 (en) | 2009-10-27 |
EP2024884A4 (en) | 2012-05-30 |
US8453079B2 (en) | 2013-05-28 |
US20090319962A1 (en) | 2009-12-24 |
EP2024884A2 (en) | 2009-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5045961B2 (ja) | 同期回路設計の表現から非同期回路設計の表現へおよび非同期回路設計の表現から同期回路設計の表現への自動変換を実行するためのシステムおよび方法 | |
US7500205B2 (en) | Skew reduction for generated clocks | |
Mokhov et al. | Conditional partial order graphs: Model, synthesis, and application | |
EP1964266B1 (en) | A method for multi-cycle clock gating | |
KR20060063800A (ko) | 집적 회로 개발 시스템 | |
Mardari et al. | Design and FPGA-implementation of asynchronous circuits using two-phase handshaking | |
US8661378B2 (en) | Asychronous system analysis | |
Reese et al. | Introduction to logic synthesis using Verilog HDL | |
US8161435B2 (en) | Reset mechanism conversion | |
Hoover | Timing-abstract circuit design in transaction-level Verilog | |
Dashkin et al. | General approach to asynchronous circuits simulation using synchronous fpgas | |
JPH113367A (ja) | デジタルシステムのインプリメント可能な記述を生成する設計環境および方法 | |
Sartori et al. | A frontend using traditional EDA tools for the pulsar QDI design flow | |
US8234607B2 (en) | Token enhanced asynchronous conversion of synchonous circuits | |
US7982502B2 (en) | Asynchronous circuit representation of synchronous circuit with asynchronous inputs | |
Vij | Algorithms and methodology to design asynchronous circuits using synchronous CAD tools and flows | |
Van Leeuwen | Implementation and automatic generation of asynchronous scheduled dataflow graph | |
Cohen | Real chip design and verification using verilog and VHDL | |
Grout | Electronic Circuit and System Design using Python and VHDL | |
Keswani | Computational model for re-entrant multiple hardware threads | |
Necsulescu | Automatic Generation of Hardware for Custom Instructions | |
Jeitler et al. | Speeding up fault injection for asynchronous logic by fpga-based emulation | |
Rodionov | Automated Interconnect Synthesis and Optimization for FPGAs | |
Sykora | Composing data-driven circuits using handshake in the clock-synchronous domain | |
Lloyd et al. | Asynchronous microprocessors: From high level model to FPGA implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20091218 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20091218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100426 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100426 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120314 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120314 |
|
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: 20120605 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120703 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5045961 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |