JP5354427B2 - 集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法 - Google Patents

集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法 Download PDF

Info

Publication number
JP5354427B2
JP5354427B2 JP2009518547A JP2009518547A JP5354427B2 JP 5354427 B2 JP5354427 B2 JP 5354427B2 JP 2009518547 A JP2009518547 A JP 2009518547A JP 2009518547 A JP2009518547 A JP 2009518547A JP 5354427 B2 JP5354427 B2 JP 5354427B2
Authority
JP
Japan
Prior art keywords
output
asynchronous
unit
programmable
fabric
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
Application number
JP2009518547A
Other languages
English (en)
Other versions
JP2009543472A (ja
Inventor
マノハー,ラジット
ダブリュ. ケリー,クリントン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Achronix Semiconductor Corp
Original Assignee
Achronix Semiconductor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Achronix Semiconductor Corp filed Critical Achronix Semiconductor Corp
Publication of JP2009543472A publication Critical patent/JP2009543472A/ja
Application granted granted Critical
Publication of JP5354427B2 publication Critical patent/JP5354427B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

<関連出願の相互参照>
本出願は、2006年6月28日に出願された米国特許仮出願第60/817,552号に基づく優先権を主張するものである。
<技術分野>
本発明は、再構成可能論理ファブリックを備えた集積回路に関し、より詳細には、集積回路内に配備するための高性能再構成可能論理ファブリックに関し、それらの集積回路には、例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、および、その他のプログラマブル論理デバイスが含まれ、それらの回路設計においては、計算速度が、考慮されるべき問題となる。また、本発明は、高性能再構成可能論理ファブリックを構成するための方法および装置に関する。
一般的な再構成可能論理ファブリックは、ファブリック内に組み込まれる同期回路を順次に配置することに頼る。ファブリック内に順次に配置される同期回路の存在は、論理ファブリックが論理演算を実行することのできる速度を制限する。順次チェーン内のそれぞれの回路は、チェーン内における先行する回路の計算結果を受信するために、少なくとも1つのクロックサイクルを待たなければならない。この遅延は、一般的な再構成可能論理ファブリックが演算することのできる速度を制限する。本発明人は、一般的な同期論理ファブリックを用いて達成できる速度よりも速い速度で演算することのできる再構成可能論理ファブリックが必要であることを認識した。
特定のハードウェア回路実装を備えるように一般的な再構成可能論理ファブリックを構成することは、オフライン電子設計自動化(EDA)ツールを用いて達成される。これらのツールは、再構成可能ファブリック内に同期回路が存在することを仮定している。本発明人は、より速い計算速度を達成することができるだけでなく、利用可能なEDA設計ツールを用いて容易に設計することのできる再構成可能論理ファブリックが必要であることを認識した。
本発明は、再構成可能論理ファブリック、および、再構成可能論理ファブリックを構成するための方法およびシステムを提供する。
本発明のこれらのおよびその他の目的、特徴、および、利点が、以下の本発明の詳細な説明を図面とともに考察することによって明らかとなる。
本発明の実施形態によるプログラマブル論理ファブリック内に実装されるべき非同期回路演算を表現するのに適したデータフローノードを示す概念図である。 本発明の実施形態によるプログラマブル論理ファブリックの一部分に対するフロアープランを示す図である。 本発明の実施形態による論理クラスタのブロック図である。 本発明の実施形態による論理クラスタ対の回路図である。 本発明の実施形態によるwide−AND演算を実装する再構成可能論理ブロックの配置を含む論理クラスタを示す回路図である。 本発明の実施形態によるwide−OR演算を実装する再構成可能論理ブロックの配置を示す回路図である。 本発明の実施形態による再構成可能論理ブロックを示す回路図である。 本発明の実施形態によるループ状に構成されたルックアップテーブルを示す回路図である。 マージ演算を実行するように構成された本発明の論理エレメントを示す論理図である。 図9Aおよび図9Cに示される論理演算を実行するように再構成することのできる論理エレメントを表現する論理図である。 スプリット演算を実行するように構成された本発明の論理エレメントを示す論理図である。
本発明によれば、集積回路のための非同期再構成可能論理ファブリックおよびその非同期再構成可能論理ファブリック内に実装されるべき非同期回路を設計するための方法が、ここに提供される。
図1
図1は、例としての非同期データフロー演算102〜114を示す。本発明の一実施形態においては、データフロー演算102〜114は、非同期再構成可能論理ファブリックのための特定のハードウェア実装を定義する。データフロー演算のためのデータは、“トークン”として表現される。データトークンは、データパスに沿って進む。図1において、データパスは、エッジとして表現される。
例えば、コピー演算102は、回路のノードが、そのコピー演算102によって、そのノードのトークン入力におけるトークンを複製し、そのトークンを複数の受信者に送信する演算を表現する。関数104は、複数の入力変数を有する任意の関数を計算し、その結果を出力に提供する。本発明の実施形態によれば、関数は、トークンがそれのすべての入力上に到着してはじめて完了する。
マージ演算106は、複数の入力、制御入力(ctrl)、および、ただ1つの出力を備えたノードとして表現される。マージ演算106は、制御入力から制御トークンを読み出す。制御トークンは、出力チャンネル上に提供するためのトークンをマージがどの入力から読み出すべきかを指示する。スプリット108は、マージとは逆の関数を実行する。スプリット108は、1つの入力および複数の出力を有する。制御トークンの値は、入力チャンネルから読み出されたトークンをスプリットがどの出力に書き込むべきかを指示する。
シンク110は、トークンを無条件に消費する。ソース112は、一定値を備えたデータトークンを生成する。ソース112は、それの先行するトークンが消費されるまでは新しいトークンを生成しない。イニシャライザー114は、デバイス、例えば、FPGAが、リセットされたときにそれの入力上に存在するデータトークンによって開始する。リセットの後、イニシャライザー114は、コピーと同じように動作する。
図1に示されるようなこれまでに説明された演算は、本発明の実施形態による再構成可能論理ファブリックの特定の構成のために、ハードウェア回路実装を記述するのに使用される。図1に示される基本演算を実装する設計ツールが、本発明の非同期リプログラマブル論理ファブリックを構成するのに使用されてもよい。基本演算は、本発明の再構成可能論理ファブリックを用いてより複雑な決定性非同期計算を実行することのできる回路を実装するために、組み合わせることが可能である。
本発明の再構成可能非同期論理ファブリックは、少なくとも2つの利点を提供する。第1に、本ファブリックを備えた回路は、クロック非依存演算により、より速い演算が可能である。第2に、本発明のファブリックを備えた非同期回路の表現は、利用可能な設計ツールを用いて容易に実装される。したがって、本発明の実施形態は、これまでに説明されたデータフロー演算を実行する回路の動作を最適化する。
図2
図2は、本発明の実施形態による集積回路200を示す。集積回路200は、プログラマブル論理ファブリック201およびプログラマブル入出力(I/O)ブロック202を備える。論理ファブリック201は、少なくとも1つのファブリック部分250を備える。ファブリック部分250は、論理ファブリック201内に組み込まれたエレメントからなるアレイ210を構成する。部分250のエレメントは、フローイングユニット(flowing unit : ここでは、ブロックとも呼ばれる)、すなわち、再構成可能論理ブロック(RLB)208、静的メモリーブロック(SMB)206、および、非同期乗算ブロック(AMB)207のそれぞれの中の少なくとも1つを備える。
本発明の一実施形態においては、本発明の論理ファブリック201を構成するエレメントのそれぞれは、非同期であり、換言すれば、クロック信号に依存せずに論理演算を実行することができる。その結果として、論理ファブリック201は、同期論理エレメントに頼る一般的なファブリックによって達成することのできる速度よりも速い速度で論理演算を実行することができる。
本発明の一実施形態においては、本発明の論理ファブリック201は、少なくとも1GHzのクロック速度程度の速度で論理演算を実行する。本発明の一実施形態によれば、商業的に入手できる相補型金属酸化膜半導体(CMOS)プロセスが、エレメントを論理ファブリック201内に組み込むのに使用される。ここで説明される本発明の実施形態に基づいて構成されるプログラマブル論理ファブリック201は、高速環境において動作する電子機器に配備するためのリプログラマブル論理回路を提供する。
本発明の一実施形態においては、プログラマブル論理ファブリック201は、論理ファブリックエレメントからなる少なくとも1つのアレイ210を備える拡張可能なファブリックフロアープランすなわちアーキテクチャーを提供する。本発明のプログラマブルファブリック201は、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、システムインパッケージ(SiP)、および、特定用途向け標準(ASSP)デバイスを含む多種多様な半導体デバイスに配備可能であるが、それらに限定されない。
ファブリック201の実施形態は、市販の非同期論理ファミリーによる実装が可能である。本発明の別の実施形態は、論理ファミリーの組み合わせを用いて実装される。適切な論理ファミリーの例は、擬似遅延不感回路(quasi delay−insensitive circuit)、セルフタイム回路、速度非依存回路、束データ方式回路、マイクロパイプライン、asP、asP、および、GasP、さらには、単一トラックフルバッファー回路(single track full buffer circuit)、セルフリセット/パルスモード論理、または、非同期技術を使用するその他の回路を含む。
SRAMメモリーブロック(SMB)
SMB206は、メモリーエレメントである。本発明の一実施形態によれば、SMB206は、デュアルポートスタティックランダムアクセスメモリー(SRAM)モジュールを備える。少なくとも1つのSMB206が、プログラマブル論理ファブリック201のアレイ210内に組み込まれる。SMB206は、RLB208およびAMB207によってアクセスされることが可能である。SMB206は、複数のメモリー配列の中の少なくとも1つを備えるように構成されることが可能である。SMB206のための例としてのメモリー配列は、32K×1ビット、16K×2ビット、8K×4ビット、4K×8ビット、4K×9ビット、2K×16ビット、2K×18ビット、1K×32ビット、1K×36ビット、512×64ビット、512×72ビットを含む。
9ビットメモリー配列構成、18ビットメモリー配列構成、および、72ビットメモリー配列構成のSMB206は、メモリーのすべてのバイトに余分なビットを提供する。本発明のある実施形態によれば、余分なビットは、パリティー検査に使用されることが可能である。SMB206は、プログラマブル相互接続エレメントCB204を介して、相互接続グリッド(図2には示されない)に結合される。SMB206は、また、それの隣接エレメント、例えば、AMB207に結合される。本発明の一実施形態によれば、CB204は、相互接続グリッドへの非同期インタフェースをSMB206に提供する。本発明の一実施形態においては、CB204は、非同期であり、かつ、パイプライン化される。非同期動作メモリーにおいては、読み出し/書き込み要求は、先行する読み出し/書き込み要求がSMB206によって達成される前に、SMB206へ転送することが可能である。本発明の一実施形態においては、SMB206は、非同期ファーストイン/ファーストアウト(FIFO)メモリーを備えるように構成されることが可能である。そのような実施形態においては、SMB206は、循環バッファーとして構成され、そして、挿入動作および除去動作をサポートするための論理を含む。本発明の一実施形態においては、論理ファブリック201内に組み込まれるFIFOの数およびSMB206へのポートの数は、リプログラマブルである。
非同期乗算ブロック(AMB)
AMB207は、非同期再構成可能乗算器を備える。AMB207は、少なくとも1つのSMB206に結合される。それぞれのSMB206は、隣接するAMB207を有する。隣接するAMB207は、様々な幅で符号付き乗算を実行するように構成されることが可能である。AMB207は、限定はされないが、ただ1つの72×72ビット乗算器、4つの36×36ビット乗算器、8つの18×18ビット乗算器、16個の9×9ビット乗算器を含む様々な乗算器構成に使用できるようにプログラムされることが可能である。
ここで説明されるAMB207は、RLBから構成される乗算器と比較すれば、より高い密度およびより小さい消費電力を集積回路200に提供する。AMB207は、それの関連する相互接続エレメントCB204をプログラムすることによって、相互接続グリッド(図示しない)に書き込み、かつ、相互接続グリッドから読み出すように構成されることが可能である。AMB207は、また、それの隣接するSMB206と直接に通信するように構成される。AMBおよびCBのこの構成は、回路、例えば、乗算累算回路などの回路の効率的なプログラマブル構成を可能にする。本発明の一実施形態においては、乗算累算回路は、RLB208を累算器として構成し、また、AMB207を乗算器として構成し、かつ記憶するためにSMB206を使用することによって、形成される。SMB、AMB、および、RLBのこの配置は、高速フーリエ変換(FFT)、有限インパルス応答(FIR)フィルター、および、離散コサイン変換(DCT)のような多種多様なディジタル信号処理(DSP)関数を実装するのに使用できる。したがって、本発明のRLBは、AMB207だけによって提供すれば非効率的なものとなるかもしれない乗算資源を
必要とする用途のために、乗算器を実装するように構成されることが可能である。
チャンネルボックス(CB)220およびスイッチボックス(SB205)
論理ファブリック201は、複数のチャンネルボックス(CB)220および複数のスイッチボックス(SB)205を備える。それぞれのRLB208、SMB206、および、AMB207は、対応するチャンネルボックスCB220を介して、ファブリック201に含まれる相互接続グリッドの対応する部分に結合される。スイッチボックス(SB)205は、パイプライン化された相互接続グリッドの交差部分に提供される。SB205は、相互接続グリッド部分を介して、ファブリック201のエレメントを結合するようにプログラムされることが可能である。アレイ210の構成は、図1に関して説明されたようなデータフロー演算を実行するようにチャンネルボックス206およびスイッチボックス205をプログラムすることによりファブリックエレメントを相互接続グリッドに結合することで達成され、その結果として、リプログラマブル論理ファブリック201は、非同期再構成可能論理ファブリックを備える。
再構成可能論理ブロック(RLB)208
本発明の一実施形態においては、リプログラマブル論理ブロック(RLB)208は、論理回路を備える。論理回路は、論理回路入力に提供される信号に論理演算を施し、演算結果を論理回路出力に提供する。
本発明の一実施形態においては、論理ファブリック201のそれぞれのRLBは、非同期論理回路だけを備える。したがって、本発明は、一般的な論理回路および論理ファブリックからは逸脱したものである。一般的なプログラマブル論理ファブリックは、ファブリック内に同期回路を備える。したがって、一般的なファブリックは、計算演算を同期させるためのクロックを必要とする。それとは対照的に、本発明のファブリック201は、計算演算を同期させるためのクロックに頼るものではない。RLB208は、非同期論理回路を備えるので、ファブリック201は、クロック供給ネットワークを必要としない。
本発明の一実施形態においては、RLB208は、論理クラスタ(logic cluster)LC400の配置を備える。
論理クラスタ400
図4は、本発明の実施形態による論理クラスタ(LC)400を示す。本発明の一実施形態においては、それぞれのRLBは、4つのLC400からなるグループを備える(図5に示される例)。それぞれのLC400は、順次に演算するようにプログラムされることが可能であり、それによって、RLB208は、複数のLC入力を介して提供される信号に複雑な論理演算を施すように構成されることが可能である。LC400入力は、図4において、A、B、C、および、Dに示される。
図4は、論理クラスタ400の概略図である。従来の再構成可能論理回路とは違って、LCユニット400は、非同期論理回路を備える。本発明の一実施形態においては、非同期論理回路は、パイプライン化される。LCユニット400は、4入力ルックアップテーブル(LUT)402と、プログラマブルAND(PAND)406と、XORゲート(PXOR)408と、キャリーチェーンマルチプレクサ(CMUX)410およびプログラマブルマルチプレクサ(PMUX)412とを備える。LUT402は、最大で4つの入力を備えた関数を実装する。4つ未満の入力を備えた関数を実装するために、RLBにおけるソースが、未使用入力のためのトークンを生成するのに使用される。LUT402の出力は、プログラマブルXORバッファー(PXOR)408を介して、LC400の出力に結合され、あるいは、そのLC400の対応する状態ビット413に結合される。本発明のPXOR408の実施形態は、バッファーとして動作するようにプログラムされることが可能である。あるいは、PXOR408は、LUT402の出力と、Cin401において提供されるキャリーイン(下位からの桁上げ)値とのXOR演算を実行するようにプログラムされることが可能である。
それぞれのLCユニット400は、専用の早期キャリーチェーン(early−out
carry chain)のための回路を備え、その回路は、リップルキャリー加算器を効率的に実装するために、PXOR408とともに使用されてもよい。キャリーマルチプレクサ(CMUX)410は、適切なキャリーアウト(上位への桁上げ)トークン403を決定するために、LUT402によって実装された演算から得られるLUT402の出力と、キャリーイン(下位からの桁上げ)トークン401とを使用するようにプログラムされることが可能である。キャリーイントークン401が、キャリーアウトトークン403を決定するのに必要とされない場合(例えば、1ビット加算器への両方の入力の値が、ゼロであれば、キャリーアウトは、ゼロとなる)。この場合、CMUX410は、キャリーイントークンが401に到着する前に、403におけるキャリーアウトトークンを生成する。したがって、それぞれのLCユニット400は、2ビットの全加算器として構成されてもよく、キャリーチェーンは、下位から上位へ延びる。キャリーチェーン回路は、また、プログラマブルANDユニット(PAND)を含み、そのPANDは、乗算器を実装するのに使用されてもよい。
論理クラスタ対300
図3は、論理クラスタ対300を示す。論理クラスタ対300は、2つの4入力ルックアップテーブル(LUT)302および304と、2つの算術&キャリー論理306および308と、2つの状態ビット記憶エレメント310および312とを備える。それぞれのLUT302および304の出力は、LCの対応する出力および対応する状態ビットを駆動するように構成されることが可能である。本発明の一実施形態においては、LUT302の出力は、LCかまたは状態ビットの対応する出力を駆動するように選択されることが可能である。PLI(図7に最もわかりやすく示される)は、状態ビットの出力(310および312に示される)がLUT302および304への入力となるように構成されることが可能である。この構成は、状態保持計算を可能にする。
本発明の一実施形態によれば、算術&キャリー論理306および308は、早期キャリーチェーンを提供するように構成される。この構成においては、RLBは、出力を決定できるとすぐに、論理演算の結果を生成することができる。RLBは、すべての入力が準備ができた状態になるのを待つことなく、結果を生成する。算術&キャリー論理ブロック306および308を図3に示されるように連結することによって、ブロックの平均レイテンシーは、減少する。本発明の一実施形態においては、LUT、算術&キャリー論理、および、状態ビットを含むブロックは、すべて、非同期論理とともにパイプライン化および実装される。
論理クラスタに加えて、本発明の実施形態によるRLB208は、さらに、トークンソースおよびトークンシンク、2条件付きユニット(two way conditional unit)、4条件付きユニット、および、8条件付きユニットを備える。本発明の実施形態に基づいて構成されたRLBは、論理演算をファブリック201のアーキテクチャーに効率的にマッピングするのを可能にする。それぞれのRLBは、図2に示されるように、それの隣接するCBを使用することによって、データトークンをパイプライン化された相互接続に送信し、かつ、相互接続から受信する。
プログラマブルI/Oブロック202
プログラマブルI/Oブロック202(図2に示される)は、論理ファブリック201を、したがって、集積回路200を、同期回路、デバイス、および、システム内に演算のために結合するのを可能にするように構成されることが可能である。本発明の一実施形態においては、プログラマブルI/Oブロック202は、論理ファブリック201の周囲に配置され、例えば、集積回路200の周辺部分を形成する。本発明の一実施形態においては、I/Oブロックは、プログラマブル同期I/Oブロックおよび静的同期I/Oブロックおよび静的非同期I/Oブロックを備える。
本発明の例としての一実施形態は、2つの種類のI/Oを用いて実装されたFPGAを備える。本発明の一実施形態においては、それらの種類は、選択されることが可能である。第1の種類は、同期I/Oバンク(SIO)を備え、これらの同期I/Oバンクは、標準的な同期I/Oブロックを組み合わせたもの、さらには、非同期ファブリックから同期インタフェースに変換することのできる構成可能同期ブロック(例えば、図2の288に示される)を備える。コンバータユニット288は、論理ファブリック201の非同期エレメントの出力に結合された入力を含み、論理演算結果を受信する。コンバータユニット288は、同期した状態で演算結果をコンバータ出力に提供する。第2の種類は、非同期I/Oバンク(AIO)を備え、これらの非同期I/Oバンクは、複数のFPGA間における非同期高速通信に使用されてもよい。
本発明のある実施形態によれば、プログラマブルI/Oブロックは、電気的入力出力ユニット特性を規定する技術規格に基づいて構成される。本発明のI/Oブロックの実施形態が準拠する例としての電気規格は、限定はされないが、GPIO、PCI、PCI−X、LVDS、LDT、SSTL、および、HSTLを含む。したがって、I/Oブロックを介して結合される信号は、ここで説明される本発明が実施される特定の用途に依存して、様々な電圧および駆動強度を備える。
同期I/O(SIO)バンク
本発明の実施形態によれば、集積回路200は、I/Oバンク202を含む。I/Oバンク202は、非同期ファブリック210が同期論理回路とインタフェースをとるのを可能にする。本発明の一実施形態においては、I/Oバンク202は、プログラマブル論理ファブリック201の周囲に配置される。I/Oバンク202は、2つの非同期IC200、例えば、2つのFPGA間における高スループット通信を提供する。本発明の実施形態によれば、そのような通信は、同期変換という欠点を伴うことなく達成される。I/Oバンク202は、2つの種類の非同期通信に使用できるように構成されることが可能である。第1の種類は、束データ方式インタフェースを用いた標準的な非同期ハンドシェークプロトコルである。第2の種類は、例えば、FPGA−to−FPGA通信を可能にする高速シリアルリンクである。
束データ方式インタフェースは、データのための一組のI/Oピン+標準的な束データ非同期ハンドシェークプロトコルを実装するための一対の要求/応答ピンを使用する。I/Oバンク203は、4相ハンドシェークプロトコルおよびトランジッションシグナリング2相プロトコル(transition−signaling two−phase protocol)の中の少なくとも1つを実装するように構成されることが可能である。I/Oバンク203は、送信者主導プロトコル(sender initiated protocol)および受信者主導プロトコル(receiver initiated protocol)を実装するように構成されることが可能である。プロトコルは、非同期I/Oバンクを備えたI/Oブロック202の部分の数からなる最大限度まで選択可能な数のI/Oピンを用いて、実装されることが可能である。プロトコルのための物理的なシグナリングは、プログラマブルシグナリングブロックによって選択されることが可能である。
また、高速FPGA−to−FPGA通信のためのマルチギガビット/秒スループット(multi−Gbps throughput)を可能にするシリアルリンクプロトコルは、I/Oブロック202を用いて、実装されることが可能である。このシリアルリンクは、何らかの再同期化オーバーヘッドを伴うことなく、広帯域幅および低レイテンシーの非同期通信を提供する。
本発明の一実施形態においては、非同期から同期への変換は、Electronic Design Automation(EDA)ツールによって実行される。EDAツールは、IC200の設計中に同期出力を提供するとき、I/Oを定義するのに使用されることが可能である。EDAツールは、プログラマブルクロック発生器を備えたコンバータを提供する。
本発明の実施形態によれば、EDAコンバータは、プログラマブルI/Oブロック202の周波数を指定するのに使用される。本発明のファブリック201は、EDAコンバータの使用を可能にする。再構成ファブリック201は、EDAツールのクロック発生器によって指定された周波数で演算するように構成されることが可能である。したがって、本発明は、EDAツールの使用を可能にし、その結果として、EDAツールによって提供される同期−非同期コンバータの使用を可能にする。EDAコンバータの使用は、また、遅延ロックループを提供し、クロックエッジからの所定の遅延オフセットで、IC200の同期出力が有効となることを可能にする。
EDAツールは、IC200に対する有効ビットによって同期出力を可能にする第2の種類のコンバータを提供する。この場合、ファブリック201が、新しいデータ出力をいつ生成しようとも、演算結果が生成される。プロトコルのための物理的なシグナリングは、本発明のある実施形態に基づいたプログラマブルシグナリングブロックから選択されることが可能である。
ファブリック201の非同期アーキテクチャーは、同期トラブルシューティング集積回路200をサポートする。本発明の一実施形態においては、IC200は、ユーザが指定した形で駆動されてもよい非同期−同期コンバータ288を備える。キーとなるレジスタまたはワイヤが、“デバッグ”信号として指定される。これらは、IC200のオンチップデバッグレジスタに自動的に接続される。デバッグレジスタは、スキャンおよびロードされてもよく、クロックが、同期フローと類似する形で順次にシングルステップで実行するのに使用される。一式のデバッグレジスタおよびI/Oは、Joint Test Action Group(JTAG)インタフェースを介して、スキャンおよびロードされてもよい。この分野において知られているように、JTAGは、IEEE1149.1規格、すなわち、境界スキャンを用いてプリント回路基板を検査するのに使用されるテストアクセスポートのためのStandard Test Access Port and Boundary Scan Architectureのことを言う。
図5 再構成可能論理ブロック(AND構成)
図5は、図3および図4に示されるような論理クラスタを示す回路図であり、本発明の簡素化された例としての実施形態による再構成可能論理ブロック(RLB)501、503、および、505を備えるように配置される。図5に示される実施形態においては、RLB501、503、および、505は、wide−AND演算を実装するように構成される。それぞれのRLBは、wide−AND演算、OR演算、および、積和(SOP)演算を提供する回路エレメントを備える。複数のRLBにまたがるwide−AND演算は、4入力AND演算を実行するようにLUT(例えば、502、504)をプログラムすることによって、かつ、キャリーチェーンを使用することによって、形成される。図5は、RLB501、503、および、505にまたがる48入力ANDを示す。本発明の一実施形態においては、ANDは、パイプライン化される。換言すれば、最下位のLUT530は、LUT530がそれの出力を生成するとすぐに、新しい入力を受け入れる。LUT530は、48入力AND全体が完了するのを待たなくてもよい。
図5を詳細に参照すると、6つの論理クラスタ(LC)514、516、518、520、および、522のそれぞれは、入力にAND関数を施しそして出力をCMUX(例えば、LC518のCMUS508および506)からなるチェーンに供給する2つの4入力LUT(例えば、LC518のLUT502および504)を含む。64本の入力線は、それぞれが16本からなるグループ(例えば、RLB503のLC518および520のLUT502、504、533、および、530への入力)として形成される。これまでに説明したように、LCのそれぞれは、2つのLUTおよび上述したような接続算術論理(AL)を備える。
図6 再構成可能論理ブロック(OR構成)
図6は、本発明の実施形態によるwide−OR演算を実装する再構成可能論理ブロックの配置を示す回路図である。隣接するRLB間の専用キャリー接続を用いて垂直に流れるwide−AND演算とは対照的に、wide−OR演算は、専用水平接続を介して、水平に流れる。それぞれのRLBは、最大で9つの入力、すなわち、それぞれのLCの出力と左側に隣接するRLBから専用水平接続を介してのPORの出力とを有することのできるプログラマブルORバッファー(POR)を含む。これは、単一RLBが32入力ORを実行するのを可能にする。図6は、128入力OR600を形成するように配置された4つのRLB602A、602B、602C、602Dを示す。1つの例としてのRLB602Bが、8つの4入力LUTを含むことを示すために拡大されており、それぞれの4入力LUTは、OR関数を施すようにプログラムされ、それらの出力は、8入力+キャリーPORに結合される。
wide−AND演算およびwide−OR演算を生成するのに使用される技術を組み合わせることによって、ユーザは、きわめて幅の広い積和(SOP)演算を効率的に実装することができる。プログラマブルOR回路が、パイプライン化され、PORは、すべてのそれの入力が準備ができた状態になる前に、それの出力を生成してもよい。例えば、入力トークンの中の1つが、“1”であれば、すべてのその他の入力がまだ準備ができた状態でなくても、PORの出力は、わかる。PORは、早期“1”値を生成し、その“1”は、残りの回路が、すべての入力がまだ準備ができた状態でなくても、先に進むのを可能にする。別の設計は、PORによってサポートされる入力の数を変更してもよい。
図7
図7は、本発明の実施形態による再構成可能論理ブロック(RLB)700を示す回路図である。RLB700は、第1および第2のプログラマブル論理インタフェース(PLI)701および702をそれぞれ備え、また、第1および第2の論理クラスタ(LC)707および711をそれぞれ備える。それぞれのPLI701および702は、RLB700のコンポーネントをその他のRLB(図7には示されない)のコンポーネントに結合するように構成されることが可能な複数のプログラマブルスイッチ(CBおよびSB?
)を備える。第1および第2のPLI701および702は、さらに、相互接続グリッド(図示しない)上に存在するRLBに対応するCBと通信するように構成された入力バッファーおよび出力バッファーを備える。本発明の一実施形態においては、入力バッファーは、リセット時にトークンを初期化することによって、提供される。本発明の様々な実施形態によれば、出力バッファーは、コピー演算を実行するように構成されることが可能である。これは、ただ1つの出力トークンを複数のCBにコピーするのを可能にする。
RLB700の第1および第2のPLI701および702は、751、752、および、753において指示されるスプリット演算、ならびに761、762、および、763において指示されるマージ演算を実装することによって構成された回路を備える。これらの演算は、論理クラスタ707ならびに711のために、5入力、6入力、もしくは、7入力関数を実装するのに使用されることが可能である。図7は、6入力関数として構成されたRLB700を示す。本発明の一実施形態においては、スプリットおよびマージは、LUT721、722、723、および、724に接続される。このように、RLB700は、LUTの第1の入力〜第6の入力に論理演算を施し、その論理演算の結果をRLB出力780に提供するように構成される。
それぞれのRLB700は、複数のソースおよびシンクを含む。ソースは、PLI701および702に入りまたPLI701および702から出るデータトークンを生成する。これらのデータトークンは、LCのための入力として(LUT入力として、または、キャリーイン値として)使用されてもよい。
図8 低レイテンシーループ
図8は、論理クラスタ831〜834を備えた回路800を示す。LUT821〜828が、本発明の実施形態によるループを実装するように配置される。
図9A、図9B、および、図9C
図9Bは、本発明の実施形態による条件付きユニット(CU)として構成された本発明のファブリックのエレメントを示す概念図である。それぞれのRLB700(図7に示される)は、図9Aの936に示されるように、条件付きユニット(CU)として構成されることが可能である。本発明の一実施形態においては、RLB700は、2つの2条件付きユニットCU2、1つの4条件付きユニット、および、1つの8条件付きユニット(CU2、CU4、および、CU8)を備える。CU936は、図9Aおよび図9Cに示されるように、2つの構成で示される。CU936の構成は、制御信号950によって決定される。マージ演算において、CU936は、入力i0およびi1をマージし、マージされた出力o0を提供する。スプリット演算においては、CU936は、入力i0を2つの出力o0およびo1にスプリットする。
図9Cは、スプリット演算を実行するように構成されたCU936を示す。CU936は、それの第1の入力923からデータトークンを読み出し、かつ、それの制御チャンネル950から制御トークンを読み出す。制御トークン950の値に基づいて、CU936は、データトークンをそれの出力927および928の中の1つに送信する。
図9Aは、マージ演算を実行するように構成されたCU936を示す。CU936が、マージ演算を実行するように構成される場合、CU936は、950から制御トークンを読み出し、その制御トークンの値に基づいて、それの入力923および924の中の1つからデータトークンを読み出し、そして、そのデータトークンをそれの第1の出力927に送信する。
条件ユニットのための第3の構成は、決定性MUXとしてなされたものであり、そのMUXは、トークンをすべての入力において常に受信するがそれらのトークンの中の1つだけを出力として選択するマージブロックに対応する。RLBを用いて多数の入力を有する関数を構成する別の方法は、図7に示されるようにスプリットおよびマージのツリーを使用するのではなく、入力をコピーし(スプリットを使用するのではなく)、そして、マージの代わりに決定性MUXを使用することである。
本発明が、特定の実施形態に関して、図示および説明されたが、本発明をそのように限定されるものではない。この時点において、読者は、多くの変形、変更、および、改良を考え出すことができるはずである。

Claims (12)

  1. 集積回路デバイスにおいて使用するための再構成可能ファブリックであって、
    非同期論理エレメントが、非同期論理エレメント入力に提供される信号に論理演算を施し、かつ、非同期に演算結果を非同期論理エレメント出力に提供するようにプログラムされることが可能であり、前記非同期論理エレメントが、少なくとも1つのチャネルボックス(CB)、少なくとも1つのスイッチボックス(SB)、少なくとも1つの再構成可能論理ブロック(RLB)、少なくとも1つのメモリーユニット、該少なくとも1つのメモリーユニットに結合された少なくとも1つの乗算ユニット、及び相互接続グリッドを含む、前記非同期論理エレメントだけからなる組み込みアレイ、を備え、
    前記少なくとも1つのRLB、前記少なくとも1つのメモリーユニット、および、前記少なくとも1つの乗算ユニットは、対応する前記少なくとも1つのCBを介して、前記相互接続グリッドに結合されており、
    前記少なくとも1つのスイッチボックスは、パイプライン化された前記相互接続グリッドの交差部分に提供され、
    前記少なくとも1つのCBおよび前記少なくとも1つのスイッチボックスをプログラムすることにより前記非同期論理エレメントを前記相互接続グリッドに結合することで、マージ、コピー、関数、スプリット、シンク、ソース、または、イニシャライザーのうちの少なくとも1つ演算が実装され、
    前記少なくとも1つのRLBは、少なくとも1つの論理クラスタ(LC)を備え、
    前記少なくとも1つのLCが、ルックアップテーブル(LUT)、プログラマブルAND(PAND)、プログラマブルXORバッファー(PXOR)、キャリーチェーンマルチプレクサ(CMUX)、及びプログラマブルマルチプレクサ(PMUX)を備え、
    前記LUTの出力は、前記PXORを介して、前記LCの出力、あるいは前記LCの状態ビットに結合され、
    前記PXORは、バッファーとして動作するように、或いは、前記LUTの出力と、キャリーイン値とのXOR演算を実行するようにプログラムされ、
    前記CMUXは、演算から得られる前記LUTの出力と、キャリーイントークンとからキャリーアウトトークンを生成するようにプログラムされる、
    ことを特徴とする、再構成可能ファブリック。
  2. 集積回路であって、
    再構成可能論理ファブリックを備え、
    前記再構成可能論理ファブリックが、
    非同期論理エレメントが、非同期論理エレメント入力に提供される信号に論理演算を施し、かつ、演算結果を非同期論理エレメント出力に提供するようにプログラムされることが可能であり、前記非同期論理エレメントが、少なくとも1つのチャネルボックス(CB)、少なくとも1つのスイッチボックス(SB)、少なくとも1つの再構成可能論理ブロック(RLB)、少なくとも1つのメモリーユニット、該少なくとも1つのメモリーユニットに結合された少なくとも1つの乗算ユニット、及び相互接続グリッドを含む、前記非同期論理エレメントの組み込みアレイであって、
    前記少なくとも1つのRLB、前記少なくとも1つのメモリーユニット、および、前記少なくとも1つの乗算ユニットは、対応する前記少なくとも1つのCBを介して、前記相互接続グリッドに結合されており、
    前記少なくとも1つのスイッチボックスは、パイプライン化された前記相互接続グリッドの交差部分に提供され、
    前記少なくとも1つのCBおよび前記少なくとも1つのスイッチボックスをプログラムすることにより前記非同期論理エレメントを前記相互接続グリッドに結合することで、マージ、コピー、関数、スプリット、シンク、ソース、または、イニシャライザーのうちの少なくとも1つ演算が実装され、
    前記少なくとも1つのRLBは、少なくとも1つの論理クラスタ(LC)を備え、
    前記少なくとも1つのLCが、ルックアップテーブル(LUT)、プログラマブルAND(PAND)、プログラマブルXORバッファー(PXOR)、キャリーチェーンマルチプレクサ(CMUX)、及びプログラマブルマルチプレクサ(PMUX)を備え、
    前記LUTの出力は、前記PXORを介して、前記LCの出力、あるいは前記LCの状態ビットに結合され、
    前記PXORは、バッファーとして動作するように、或いは、前記LUTの出力と、キャリーイン値とのXOR演算を実行するようにプログラムされ、
    前記CMUXは、演算から得られる前記LUTの出力と、キャリーイントークンとからキャリーアウトトークンを生成するようにプログラムされる、
    前記非同期論理エレメントの組み込みアレイと、
    外部回路が、前記集積回路の外部に存在し、プログラマブル入力/出力ブロックが、前記外部回路と同期して動作するようにプログラムされることが可能である、前記非同期論理エレメント入力および前記非同期論理エレメント出力を前記外部回路に結合する前記プログラマブル入力/出力ブロックと、
    を備える、
    集積回路。
  3. 前記少なくとも1つの乗算ユニットと前記少なくとも1つのメモリーユニットとが、直接に結合された請求項2に記載の集積回路。
  4. 前記少なくとも1つの乗算ユニットと前記少なくとも1つのメモリーユニットとが、前記相互接続グリッドによって結合された請求項2に記載の集積回路。
  5. 前記少なくとも1つの乗算ユニットと前記少なくとも1つのメモリーユニットとが、直接接続および前記相互接続グリッドからそれぞれ構成される第1および第2の接続によって結合された請求項2に記載の集積回路。
  6. 前記再構成可能論理ファブリックが、前記直接接続と前記相互接続グリッドとのいずれかを選択するための少なくとも1つのプログラマブル接続ユニットをさらに備えた請求項5に記載の集積回路。
  7. 前記少なくとも1つの乗算ユニットおよび前記少なくとも1つのメモリーユニットが、
    プログラムされることが可能である請求項2に記載の集積回路。
  8. 前記プログラマブル入力/出力ブロックが、前記演算結果を受信するために前記非同期論理エレメント出力に結合されたコンバータ入力を有する少なくとも1つのコンバータユニットを備え、前記少なくとも1つのコンバータユニットが、同期した状態で前記演算結果をコンバータユニット出力に提供する請求項2に記載の集積回路。
  9. 前記プログラマブル入力/出力ブロックが、前記演算結果を受信するために前記非同期論理エレメント出力に結合されたコンバータ入力を有する少なくとも1つのコンバータユニットを備え、前記少なくとも1つのコンバータユニットが、非同期に前記演算結果をコンバータユニット出力に提供する請求項2に記載の集積回路。
  10. 前記コンバータユニット出力が、バッファーレジスタに結合され、前記バッファーレジスタが、前記演算結果を累算および記憶するように構成され、前記バッファーレジスタが、前記バッファーレジスタをシングルステップで動作させるための制御入力を含み、それによって、前記演算結果が、シングルステップで前記外部回路に提供され、前記集積回路のトラブルシューティングを可能にする請求項9に記載の集積回路。
  11. 前記非同期論理エレメントが、複数のRBをさらに含み、それぞれの前記RLBが、少なくとも1つのLCを備え、前記少なくとも1つのLCが、少なくとも1つのLTを備え、前記少なくとも1つのLUTが、前記非同期論理エレメント入力を備えた入力を含む請求項2に記載の再構成可能論理ファブリック。
  12. 集積回路であって、
    非同期半導体ファブリックを備え、
    前記非同期半導体ファブリックが、
    論理ユニット入力に提供される信号に非同期論理演算を施し、かつ、非同期論理演算結果を論理ユニット出力に提供するようにプログラムされることが可能である、複数の非同期論理ユニットであって、少なくとも1つのチャネルボックス(CB)、少なくとも1つのスイッチボックス(SB)、少なくとも1つの再構成可能論理ブロック(RLB)、少なくとも1つのメモリーユニット、該少なくとも1つのメモリーユニットに結合された少なくとも1つの乗算ユニット、及び相互接続グリッドを含む、前記複数の非同期論理ユニットであって、
    前記少なくとも1つのRLB、前記少なくとも1つのメモリーユニット、および、前記少なくとも1つの乗算ユニットは、対応する前記少なくとも1つのCBを介して、前記相互接続グリッドに結合されており、
    前記少なくとも1つのスイッチボックスは、パイプライン化された前記相互接続グリッドの交差部分に提供され、
    前記少なくとも1つのCBおよび前記少なくとも1つのスイッチボックスをプログラムすることにより前記非同期論理ユニットを前記相互接続グリッドに結合することで、マージ、コピー、関数、スプリット、シンク、ソース、または、イニシャライザーのうちの少なくとも1つ演算が実装され、
    前記少なくとも1つのRLBは、少なくとも1つの論理クラスタ(LC)を備え、
    前記少なくとも1つのLCが、ルックアップテーブル(LUT)、プログラマブルAND(PAND)、プログラマブルXORバッファー(PXOR)、キャリーチェーンマルチプレクサ(CMUX)、及びプログラマブルマルチプレクサ(PMUX)を備え、
    前記LUTの出力は、前記PXORを介して、前記LCの出力、あるいは前記LCの状態ビットに結合され、
    前記PXORは、バッファーとして動作するように、或いは、前記LUTの出力と、キャリーイン値とのXOR演算を実行するようにプログラムされ、
    前記CMUXは、演算から得られる前記LUTの出力と、キャリーイントークンとからキャリーアウトトークンを生成するようにプログラムされる、
    複数の非同期論理ユニットと、
    外部回路が、前記非同期半導体ファブリックの外部に存在し、プログラマブル論理ユニットインタフェースの中の少なくとも1つが、前記非同期半導体ファブリックを同期デバイスに動作可能に結合することを可能にするために、前記論理演算結果を前記外部回路に提供するようにプログラムされることが可能である、前記非同期論理ユニットを前記外部回路に結合する複数の前記プログラマブル論理ユニットインタフェースと、
    を備える、
    集積回路。
JP2009518547A 2006-06-28 2007-06-27 集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法 Active JP5354427B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US81755206P 2006-06-28 2006-06-28
US60/817,552 2006-06-28
PCT/US2007/072300 WO2008008629A2 (en) 2006-06-28 2007-06-27 Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics

Publications (2)

Publication Number Publication Date
JP2009543472A JP2009543472A (ja) 2009-12-03
JP5354427B2 true JP5354427B2 (ja) 2013-11-27

Family

ID=38924011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009518547A Active JP5354427B2 (ja) 2006-06-28 2007-06-27 集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法

Country Status (5)

Country Link
US (4) US7880499B2 (ja)
EP (1) EP2041872B1 (ja)
JP (1) JP5354427B2 (ja)
KR (1) KR101058468B1 (ja)
WO (1) WO2008008629A2 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9269043B2 (en) 2002-03-12 2016-02-23 Knowm Tech, Llc Memristive neural processor utilizing anti-hebbian and hebbian technology
US8983886B2 (en) 2012-03-28 2015-03-17 Knowmtech, Llc Self-evolvable logic fabric
US7620917B2 (en) 2004-10-04 2009-11-17 Synopsys, Inc. Methods and apparatuses for automated circuit design
KR101058468B1 (ko) 2006-06-28 2011-08-24 아크로닉스 세미컨덕터 코포레이션 집적 회로용의 재구성 가능한 로직 패브릭과, 재구성 가능한 로직 패브릭을 구성하기 위한 시스템 및 방법
EP2358269B1 (en) * 2007-03-08 2019-04-10 Sync-RX, Ltd. Image processing and tool actuation for medical procedures
JP5251171B2 (ja) * 2008-03-06 2013-07-31 富士通セミコンダクター株式会社 論理回路装置
US8964795B2 (en) 2009-06-01 2015-02-24 Achronix Semiconductor Corporation Asynchronous pipelined interconnect architecture with fanout support
US8300635B2 (en) 2009-09-10 2012-10-30 Achronix Semiconductor Corporation Programmable crossbar structures in asynchronous systems
CN101645055B (zh) * 2009-09-10 2011-09-07 成都市华为赛门铁克科技有限公司 逻辑器件在线加载的方法、系统和处理器
US7900078B1 (en) * 2009-09-14 2011-03-01 Achronix Semiconductor Corporation Asynchronous conversion circuitry apparatus, systems, and methods
US20150261543A1 (en) * 2012-03-21 2015-09-17 Mika Lahteenmaki Method in a processor, an apparatus and a computer program product
US8773166B1 (en) * 2012-11-01 2014-07-08 Xilinx, Inc. Self-timed single track circuit
US9519486B1 (en) * 2012-11-21 2016-12-13 Xilinx, Inc. Method of and device for processing data using a pipeline of processing blocks
US10592444B2 (en) 2013-01-07 2020-03-17 Wave Computing, Inc. Reconfigurable interconnected programmable processors
US9588773B2 (en) 2013-01-07 2017-03-07 Wave Computing, Inc. Software based application specific integrated circuit
US9430239B2 (en) * 2013-03-12 2016-08-30 Qualcomm Incorporated Configurable multicore network processor
JPWO2014163099A1 (ja) * 2013-04-02 2017-02-16 太陽誘電株式会社 再構成可能な論理デバイス
US9152520B2 (en) * 2013-09-26 2015-10-06 Texas Instruments Incorporated Programmable interface-based validation and debug
US10203935B2 (en) 2013-11-02 2019-02-12 Wave Computing, Inc. Power control within a dataflow processor
US10218357B2 (en) 2013-11-02 2019-02-26 Wave Computing, Inc. Logical elements with switchable connections for multifunction operation
WO2015066561A1 (en) * 2013-11-02 2015-05-07 Wave Semiconductor, Inc. Logical elements with switchable connections
US9252755B1 (en) * 2014-07-24 2016-02-02 Lattice Semiconductor Corporation Shared logic for multiple registers with asynchronous initialization
US10437728B2 (en) 2015-02-21 2019-10-08 Wave Computing, Inc. Branchless instruction paging in reconfigurable fabric
US10073773B2 (en) 2015-02-21 2018-09-11 Wave Computing, Inc. Instruction paging in reconfigurable fabric
US10659396B2 (en) 2015-08-02 2020-05-19 Wave Computing, Inc. Joining data within a reconfigurable fabric
US10564929B2 (en) 2016-09-01 2020-02-18 Wave Computing, Inc. Communication between dataflow processing units and memories
US10505704B1 (en) 2015-08-02 2019-12-10 Wave Computing, Inc. Data uploading to asynchronous circuitry using circular buffer control
GR1008918B (el) * 2015-12-22 2016-12-23 Βασιλειος Μαργαριτη Μουζας Η προγραμματιζομενη ψηφιακη συσκευη του φορμαλισμου των επαναδιαταξιμων λογικων γραφων
JP6625943B2 (ja) * 2016-08-01 2019-12-25 株式会社日立製作所 情報処理装置
US10719470B2 (en) * 2016-09-26 2020-07-21 Wave Computing, Inc. Reconfigurable fabric direct memory access with multiple read or write elements
US10719079B2 (en) * 2017-06-22 2020-07-21 Nokomis, Inc. Asynchronous clock-less digital logic path planning apparatus and method
WO2019006119A1 (en) * 2017-06-30 2019-01-03 Wave Computing, Inc. COMBINING DATA IN A RECONFIGURABLE MATRIX
US11106976B2 (en) 2017-08-19 2021-08-31 Wave Computing, Inc. Neural network output layer for machine learning
US10949328B2 (en) 2017-08-19 2021-03-16 Wave Computing, Inc. Data flow graph computation using exceptions
WO2019169238A1 (en) * 2018-03-02 2019-09-06 Wave Computing, Inc. Dynamic reconfiguration using data transfer control
KR102545047B1 (ko) * 2018-03-31 2023-06-21 마이크론 테크놀로지, 인크. 멀티 스레드, 자체 스케줄링 재구성 가능한 컴퓨팅 패브릭에 대한 중지 신호를 사용한 역압 제어
US11645178B2 (en) * 2018-07-27 2023-05-09 MIPS Tech, LLC Fail-safe semi-autonomous or autonomous vehicle processor array redundancy which permits an agent to perform a function based on comparing valid output from sets of redundant processors
WO2020112992A1 (en) * 2018-11-30 2020-06-04 Wave Computing, Inc. Reconfigurable fabric configuration using spatial and temporal routing
US11481472B2 (en) 2019-04-01 2022-10-25 Wave Computing, Inc. Integer matrix multiplication engine using pipelining
US11934308B2 (en) 2019-04-01 2024-03-19 Wave Computing, Inc. Processor cluster address generation
US11227030B2 (en) 2019-04-01 2022-01-18 Wave Computing, Inc. Matrix multiplication engine using pipelining
US10997102B2 (en) 2019-04-01 2021-05-04 Wave Computing, Inc. Multidimensional address generation for direct memory access
CN113033133B (zh) * 2021-03-17 2023-03-28 烽火通信科技股份有限公司 一种逻辑复用的电路设计方法及电路结构

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4756010A (en) 1985-11-07 1988-07-05 Motorola, Inc. Asynchronous/synchronous data receiver circuit
US5396491A (en) 1988-10-14 1995-03-07 Network Equipment Technologies, Inc. Self-routing switching element and fast packet switch
US5633830A (en) * 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
US5245605A (en) 1991-10-04 1993-09-14 International Business Machines Corporation Integration of synchronous and asynchronous traffic on rings
US5367209A (en) 1992-01-07 1994-11-22 Hauck Scott A Field programmable gate array for synchronous and asynchronous operation
JP2502920B2 (ja) 1993-08-20 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション Atmスイッチにおける調停機構
US5623502A (en) * 1994-07-15 1997-04-22 National Semiconductor Corporation Testing of electronic circuits which typically contain asynchronous digital circuitry
FI104858B (fi) 1995-05-29 2000-04-14 Nokia Networks Oy Menetelmä ja laitteisto asynkronisen väylän sovittamiseksi synkroniseen piiriin
US5666321A (en) 1995-09-01 1997-09-09 Micron Technology, Inc. Synchronous DRAM memory with asynchronous column decode
FI100571B (fi) 1995-11-15 1997-12-31 Nokia Telecommunications Oy Asynkroninen datansiirtomenetelmä ja -järjestely
US5724276A (en) * 1996-06-17 1998-03-03 Xilinx, Inc. Logic block structure optimized for sum generation
US5834957A (en) 1996-12-20 1998-11-10 Hewlett-Packard Company Implementing asynchronous sequential circuits using synchronous design techniques and modules
US5943288A (en) * 1997-10-31 1999-08-24 Integrated Silicon Solution, Inc. Apparatus and method for minimizing address hold time in asynchronous SRAM
JP2002538562A (ja) * 1999-03-04 2002-11-12 アルテラ・コーポレーション 桁上げ選択加算付プログラマブルロジックデバイス
AU2001256635A1 (en) 2000-05-11 2001-11-20 Firemedia Communications (Israel) Ltd. Three-dimensional switch providing packet routing between multiple multimedia buses
DE10052210B4 (de) * 2000-10-20 2004-12-23 Infineon Technologies Ag Integrierte Schaltung mit einer synchronen und asynchronen Schaltung sowie Verfahren zum Betrieb einer solchen integrierten Schaltung
JP3803246B2 (ja) * 2000-12-05 2006-08-02 松下電器産業株式会社 非同期fifo回路
US6961741B2 (en) * 2001-02-15 2005-11-01 Stmicroelectronics Ltd. Look-up table apparatus to perform two-bit arithmetic operation including carry generation
US6848060B2 (en) 2001-02-27 2005-01-25 International Business Machines Corporation Synchronous to asynchronous to synchronous interface
US6557161B2 (en) 2001-06-28 2003-04-29 Sun Microsystems, Inc. Method for prototyping asynchronous circuits using synchronous devices
US6934816B2 (en) * 2001-08-07 2005-08-23 Integrated Device Technology, Inc. Integrated circuit memory devices having asynchronous flow-through capability
US6986021B2 (en) * 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US6611469B2 (en) * 2001-12-11 2003-08-26 Texas Instruments Incorporated Asynchronous FIFO memory having built-in self test logic
US6950959B2 (en) 2002-02-12 2005-09-27 Fulcrum Microystems Inc. Techniques for facilitating conversion between asynchronous and synchronous domains
JP4158458B2 (ja) * 2002-08-28 2008-10-01 ソニー株式会社 情報処理装置、その情報処理方法
US6912860B2 (en) 2003-08-08 2005-07-05 Delphi Technologies, Inc. Method of operating a directed relief valve in an air conditioning system
US7157934B2 (en) * 2003-08-19 2007-01-02 Cornell Research Foundation, Inc. Programmable asynchronous pipeline arrays
JP3852437B2 (ja) 2003-11-19 2006-11-29 セイコーエプソン株式会社 同期・非同期インターフェース回路及び電子機器
JP4208751B2 (ja) * 2004-03-09 2009-01-14 三洋電機株式会社 データフローグラフ処理装置。
JP4712328B2 (ja) * 2004-07-28 2011-06-29 独立行政法人情報通信研究機構 フォールトトレラントなセル・アレイ
JP4502792B2 (ja) 2004-12-09 2010-07-14 富士通セミコンダクター株式会社 データバッファ回路
US7418676B2 (en) * 2005-01-19 2008-08-26 Seiko Epson Corporation Asynchronous circuit design tool and computer program product
US7301824B1 (en) * 2005-10-04 2007-11-27 Xilinx, Inc. Method and apparatus for communication within an integrated circuit
JP4524662B2 (ja) 2005-10-21 2010-08-18 エルピーダメモリ株式会社 半導体メモリチップ
KR101058468B1 (ko) 2006-06-28 2011-08-24 아크로닉스 세미컨덕터 코포레이션 집적 회로용의 재구성 가능한 로직 패브릭과, 재구성 가능한 로직 패브릭을 구성하기 위한 시스템 및 방법
US7852866B2 (en) 2006-12-29 2010-12-14 Polytechnic Institute of New York Universiity Low complexity scheduling algorithm for a buffered crossbar switch with 100% throughput
US7765382B2 (en) 2007-04-04 2010-07-27 Harris Corporation Propagating reconfiguration command over asynchronous self-synchronous global and inter-cluster local buses coupling wrappers of clusters of processing module matrix
US7739628B2 (en) 2008-02-15 2010-06-15 Achronix Semiconductor Corporation Synchronous to asynchronous logic conversion
US8013629B2 (en) * 2008-04-11 2011-09-06 Massachusetts Institute Of Technology Reconfigurable logic automata
US8742794B2 (en) * 2008-04-11 2014-06-03 Massachusetts Institute Of Technology Analog logic automata
WO2010009142A1 (en) 2008-07-14 2010-01-21 The Trustees Of Columbia University In The City Of New York Asynchronous digital circuits including arbitration and routing primitives for asynchronous and mixed-timing networks
US7759974B1 (en) 2008-07-17 2010-07-20 Xilinx, Inc. Pipelined unidirectional programmable interconnect in an integrated circuit
US7733123B1 (en) * 2009-04-02 2010-06-08 Xilinx, Inc. Implementing conditional statements in self-timed logic circuits
US8964795B2 (en) 2009-06-01 2015-02-24 Achronix Semiconductor Corporation Asynchronous pipelined interconnect architecture with fanout support
US8300635B2 (en) 2009-09-10 2012-10-30 Achronix Semiconductor Corporation Programmable crossbar structures in asynchronous systems
US7900078B1 (en) 2009-09-14 2011-03-01 Achronix Semiconductor Corporation Asynchronous conversion circuitry apparatus, systems, and methods

Also Published As

Publication number Publication date
US20120119781A1 (en) 2012-05-17
EP2041872A2 (en) 2009-04-01
WO2008008629A4 (en) 2009-01-15
KR20090028552A (ko) 2009-03-18
WO2008008629A3 (en) 2008-11-27
EP2041872A4 (en) 2010-09-15
WO2008008629A2 (en) 2008-01-17
KR101058468B1 (ko) 2011-08-24
JP2009543472A (ja) 2009-12-03
US20100013517A1 (en) 2010-01-21
US8125242B2 (en) 2012-02-28
US8575959B2 (en) 2013-11-05
EP2041872B1 (en) 2018-03-14
US7880499B2 (en) 2011-02-01
US8949759B2 (en) 2015-02-03
US20140137064A1 (en) 2014-05-15
US20110169524A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
JP5354427B2 (ja) 集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法
US6388464B1 (en) Configurable memory for programmable logic circuits
US6960933B1 (en) Variable data width operation in multi-gigabit transceivers on a programmable logic device
US7944236B2 (en) High-bandwidth interconnect network for an integrated circuit
US9685957B2 (en) System reset controller replacing individual asynchronous resets
US20130207688A1 (en) Apparatus and Methods for Time-Multiplex Field-Programmable Gate Arrays
US8248110B1 (en) Clock switch-over circuits and methods
US8788985B1 (en) Method and apparatus for implementing a processor interface block with an electronic design automation tool
KR102571068B1 (ko) 프로그래밍가능 제어 회로를 사용한 클록 신호들의 선택적 제공
KR20230002937A (ko) 컴퓨팅 데이터흐름 아키텍처
US7827433B1 (en) Time-multiplexed routing for reducing pipelining registers
Chang et al. Effective FPGA resource utilization for quasi delay insensitive implementation of asynchronous circuits
CN117581195A (zh) 可编程线性反馈移位寄存器系统和方法
JP2004200311A (ja) 論理検証装置
Suvorova et al. Dynamic reconfigurable packet distribution unit for embedded systems
US10389341B1 (en) Synchronize-able modular physical layer architecture for scalable interface
EP4383573A1 (en) Clock insertion delay systems and methods
Morris et al. A re-configurable processor for Petri net simulation
Warrier et al. Reconfigurable DSP block design for dynamically reconfigurable architecture
Devadhas Design of Priority Based Low Power Reconfigurable Router in Network on Chip
Taraate et al. Introduction to PLD
Sherigar et al. A pipelined parallel processor to implement MD4 message digest algorithm on Xilinx FPGA
Wu et al. Testing and diagnosing dynamic reconfigurable FPGA
Liang et al. Dynamic coarse grain dataflow reconfiguration technique for real-time systems design
Lee et al. Design of an application-specific PLD architecture

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: A821

Effective date: 20100531

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121009

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121108

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130513

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130513

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: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130816

R150 Certificate of patent or registration of utility model

Ref document number: 5354427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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