JP2017513404A - フィールドプログラマブルゲートアレイ及び通信方法 - Google Patents

フィールドプログラマブルゲートアレイ及び通信方法 Download PDF

Info

Publication number
JP2017513404A
JP2017513404A JP2016560786A JP2016560786A JP2017513404A JP 2017513404 A JP2017513404 A JP 2017513404A JP 2016560786 A JP2016560786 A JP 2016560786A JP 2016560786 A JP2016560786 A JP 2016560786A JP 2017513404 A JP2017513404 A JP 2017513404A
Authority
JP
Japan
Prior art keywords
fpga
station
functional module
asic
data
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.)
Granted
Application number
JP2016560786A
Other languages
English (en)
Other versions
JP6452719B2 (ja
Inventor
ヤン、ウェイグオ
トゥ、ジュン
ワン、ズオ
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
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 ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2017513404A publication Critical patent/JP2017513404A/ja
Application granted granted Critical
Publication of JP6452719B2 publication Critical patent/JP6452719B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/1774Structural details of routing resources for global signals, e.g. clock, reset
    • 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/1778Structural details for adapting physical parameters
    • H03K19/17792Structural details for adapting physical parameters for operating speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本願は、フィールドプログラマブルゲートアレイFPGA、及び通信方法を提供する。通信及び相互接続に用いられる少なくとも1つの特定用途向け集積回路ASICベースのハードコアが、FPGAに組み込まれる。ASICベースのハードコアは、高速交換相互接続ユニットと、少なくとも1つのステーションとを含む。それぞれのステーションは、高速交換相互接続ユニットに接続される。ステーションは、FPGAのそれぞれの機能モジュールとASICベースのハードコアとの間でデータを送信するよう構成される。高速交換相互接続ユニットは、複数のステーションの間でデータを送信するよう構成される。本願により提供されるFPGAにおいて、ASICベースのハードコアが組み込まれ、これにより、それぞれの機能モジュールと、ASICベースの近接したハードコアとの間のデータ交換を容易にし、時間遅延を減少させ得る。送信元の機能モジュールがステーションにデータを送信し、ステーションはデータを高速交換相互接続ユニットに送信し、高速交換相互接続ユニットは、宛先の機能モジュールに接続されたステーションを用いて、データを宛先の機能モジュールに送信する。このように、送信元の機能モジュールと宛先の機能モジュールとの間で、データが送信される。

Description

本願は集積回路技術の分野に関し、特に、フィールドプログラマブルゲートアレイ及び通信方法に関する。
フィールドプログラマブルゲートアレイ(FPGA、Field Programmable Gate Array)は、プログラマブルロジックアレイ(PLA、Programmable Logic Array)、ゲートアレイロジック(GAL、Gate Array Logic)、又はコンプレックスプログラマブルロジックデバイス(CPLD、Complex Programmable Logic Device)などのプログラマブルデバイスに基づいて更に発展した製品である。FPGAは、特定用途向け集積回路(ASIC、Application Specific Integrated Circuit)の分野において、セミカスタムの回路として現れている。FPGAはカスタム回路の不足分を改善するだけでなく、元のプログラマブルデバイスのゲート回路数が限定されるというデメリットも克服する。FPGAは、現在のデジタルシステム設計において、主要なハードウェアプラットフォームである。FPGAの主要機能は、FPGAが、特定の機能を実装すべく、ソフトウェアを用いてユーザにより完全に構成及びプログラムされ、FPGAが繰り返し消去され得るということである。従って、FPGAはますます広範囲に応用される。
現在、FPGAチップの構造は、主にルックアップテーブル(LUT、Look−Up−Table)技術に基づいており、複数の共通の機能モジュール(例えば、RAM、クロック管理、及びDSP)を統合するハードコア(ASIC型)を含む。
LUTベースのFPGAは非常に高集積なので、FPGAの密度は数万、さらには数千万のゲートを含む。FPGAは、極めて複雑な時系列及びロジックの組み合わせを有する回路機能を実装し得る。FPGAの主なコンポーネントは、プログラマブル入出力ユニット、基本的なプログラマブルロジックユニット、完全なクロック管理、組み込まれたブロックRAM、豊富なルーティングリソース、組み込まれた基礎をなす機能ユニット、組み込まれた専用ハードウェアモジュールを含む。
図1を参照すると、図1は、先行技術におけるFPGAのアプリケーションの概略図である。
FPGAの規模はメガレベルに達し、(K×Kの)ロジックエレメント(LE、Logic Element)を含む。FPGAにより実装され得る機能も、極めて豊富且つ複雑である。従って、開発の間に、FPGAは多数の機能モジュール(Module)に分割される。それぞれの機能モジュールは、いくつかの比較的独立した機能を実装し、チップ全体にいくつかの回路を実装する。しかしながら、複数の機能モジュール間でデータ及び情報の送信を実行するには、インタフェースを用いる必要がある。
例えば、図1の応用例では、10個の機能モジュール(機能モジュール0から機能モジュール10)が用いられてよく、多数の機能モジュール間に通信がある。一例として機能モジュール0を用いると、機能モジュール0と機能モジュール1との間の通信、及び機能モジュール3と機能モジュール5との間の通信がある。
複数の機能モジュール間の通信は、規定されたインタフェースを用いて実行される必要がある。データトラフィックが混雑するので、データビット幅が比較的広いものもある。いくつかの機能モジュールが複数の機能モジュールと通信を実行する場合、複数の通信インタフェースが規定される必要があり、これにより、複数の異なる通信インタフェースを用いて、複数の異なる機能モジュールと通信が実行される。
それぞれの機能モジュールは、LUT及びフリップフロップを用いて、回路機能を実装する。様々な回路間の相互接続は、FPGAのルーティングを用いて実装される。
図2を参照すると、図2は、先行技術におけるFPGAの内部構造の概略図である。
複数の水平線及び複数の鉛直線は、複数のルーティングリソースを表している。様々な構成可能論理ブロック(CLB、Configurable Logic Block)の入力と出力との間の相互接続は、プログラミングにより実装されてよい。図2のFPGAは、入出力ブロック(IOB、Input Out Block)を用いて外部に接続される。
近接して配置されるいくつかのCLBは、共に1つの機能モジュールの回路を実装する。近接したいくつかの他のCLBは、共に別の機能モジュールの回路を実装する。複数の通信インタフェース、及び複数の機能モジュール間の相互接続は、いくつかのCLB及びルーティングを用いて実装されてよい。
図3を参照すると、図3は、先行技術におけるFPGAの機能モジュールのマッピングに関する概略図である。
図3のFPGAは、機能モジュール0、機能モジュール3、機能モジュール8という3つの機能モジュールを含む。
それぞれの機能モジュールは、近接した複数のCLB(図3の小さい格子縞)を含み、複数の機能モジュールは、ルーティング(図3の矢印)を用いて互いに接続される。
図3の機能モジュール0、機能モジュール3、及び機能モジュール8は、FPGAの左上、右中央、及び左下の位置にそれぞれ配置される。機能モジュール0と機能モジュール3との間の相互接続及び通信に、インタフェースが必要とされる。同様に、機能モジュール3と機能モジュール8との間の相互接続及び通信にも、インタフェースが必要とされる。
図に示すように、複数の機能モジュール間の相互接続及び通信は、ルーティングの多段カスケーディングにより実装され得るが、多段カスケーディングは複数の中間ノードのルーティングリソース及びCLBリソースを占有する。従って、多数のCLB及びルーティングを通過する場合、距離が長くなり、長い遅延が生じる。40nmのコンポーネントでは、1段の移動に0.7〜1nsの時間が必要になり得る。距離が長い場合、ルーティング遅延は10ns以上に達する。しかしながら、ロジックは、100MHzより高い周波数ではほとんど動作することができない。一方、リソース利用率が低く、全体的に低い性能がもたらされる。更に、FPGAのルーティングリソースは貴重であり限られている。ローカルのルーティングリソースが不十分な場合、設計全体の配置及びルーティングの障害が生じる、又は、リモートエリアのルーティングリソースが用いられる必要がある。
従って、当業者が、従来のFPGAの長い遅延及び不十分な性能に関する問題を解決し得るFPGAを提供する必要がある。
上述の技術的問題を解決すべく、本願の複数の実施形態がFPGA及び通信方法を提供する。これにより、従来のFPGAの長い遅延及び全体的に不十分な性能に関する問題が解決され得る。
以下の複数の技術的解決法は、本願の複数の実施形態において開示される。
第1態様に従って、フィールドプログラマブルゲートアレイFPGAが提供され、通信及び相互接続に用いられる少なくとも1つの特定用途向け集積回路ASICベースのハードコアが、FPGAに組み込まれる。ASICベースのハードコアは、高速交換相互接続ユニットと、少なくとも1つのステーションとを含む。それぞれのステーションは、高速交換相互接続ユニットに接続される。ステーションは、FPGAのそれぞれの機能モジュールとASICベースのハードコアとの間で、データを送信するよう構成される。高速交換相互接続ユニットは、複数のステーションの間でデータを送信するよう構成される。
第1態様の第1の可能な実装態様において、複数のステーションの数が複数の機能モジュールの数に等しく、複数のステーションのうちの1つが複数の機能モジュールのうちの1つに接続される。又は、それぞれのステーションは複数の機能モジュールに対応し、それぞれのステーションは対応する複数の機能モジュールに接続される。
第1態様及び上述の可能な実装態様のどちらかに関連して、第2の可能な実装態様では、複数のステーションの数が複数の機能モジュールの数に等しい場合、対応する機能モジュールのものと一致しているクロック周波数、データビット幅、及び時系列が、それぞれのステーション用に構成される。高速交換相互接続ユニットはプログラム固定である。
第1態様及び上述の可能な実装態様の何れかに関連して、第3の可能な実装態様では、ASICベースのハードコアのオンチップの相互接続バスプロトコルが、AVALON、Wishbone、CoreConnect、又はAMBAのうち少なくとも1つを含む。
第1態様及び上述の可能な実装態様の何れかに関連して、第4の可能な実装態様では、ASICベースのハードコアは、クロスバースイッチマトリックスを用いてFPGAに一様に配置される。
第1態様及び上述の可能な実装態様の何れかに関連して、第5の可能な実装態様では、ASICベースのハードコアは、AXI相互接続バスプロトコルを用いるハードコアであり、AXIバスプロトコルはAMBAの1つに属する。それぞれのロジックセルバンクは、少なくとも1つのマスターステーション及び少なくとも1つのスレーブステーションを含む。
第1態様及び上述の可能な実装態様の何れかに関連して、第6の可能な実装態様では、ASICベースのハードコアは、AXI相互接続バスプロトコルを用いる2又はそれより多くのハードコアを含む。AXI相互接続バスプロトコルを用いる複数のハードコアは、AXIブリッジを用いて互いと通信する。それぞれのロジックセルバンクは、少なくとも1つのマスターステーション及び少なくとも1つのスレーブステーションを含む。
第1態様及び上述の可能な実装態様の何れかに関連して、第7の可能な実装態様では、AXI相互接続バスプロトコルを用いる複数のハードコアは、同数のマスターステーション及び同数のスレーブステーションを含み、同一のビット幅及び同一の周波数を有する。
第1態様及び上述の可能な実装態様の何れかに関連して、第8の可能な実装態様では、AXI相互接続バスプロトコルを用いる複数のハードコアは、異なる数のマスターステーション及び異なる数のスレーブステーションを含み、複数の異なるビット幅及び複数の異なる周波数を有する。
第1態様及び上述の可能な実装態様の何れかに関連して、第9の可能な実装態様では、AXI相互接続バスプロトコルを用いるいくつかのハードコアは、同数のマスターステーション及び同数のスレーブステーションを含み、同一のビット幅及び同一の周波数を有する。AXI相互接続バスプロトコルを用いる複数の他のハードコアは、異なる数のマスターステーション及び異なる数のスレーブステーションを含み、複数の異なるビット幅及び複数の異なる周波数を有する。
第1態様及び上述の可能な実装態様の何れかに関連して、第10の可能な実装態様では、高速交換相互接続ユニットは、リングバスを用いてFPGAに一様に配置される。
第2態様に従って、FPGAベースのデータ通信方法が提供され、通信及び相互接続に用いられる少なくとも1つの特定用途向け集積回路ASICベースのハードコアがFPGAに組み込まれる。ASICベースのハードコアは、高速交換相互接続ユニット及び少なくとも1つのステーションを含み、それぞれのステーションは、高速交換相互接続ユニットに接続される。ステーションは、FPGAのそれぞれの機能モジュールとASICベースのハードコアとの間でデータ送信を実行し、高速交換相互接続ユニットは、複数のステーションの間でデータ送信を実行する。方法は以下の段階を含む。つまり、データ送信元の機能モジュールに対応するステーションを用いて高速交換相互接続ユニットにより、データ送信元の機能モジュールにより送信されたデータを受信する段階であって、データは、宛先の機能モジュールに関する情報を搬送する。そして、宛先の機能モジュールに関する情報に従って、宛先の機能モジュールに対応するステーションを用いて、高速交換相互接続ユニットにより、受信したデータを宛先の機能モジュールに送信する段階である。
第2態様の第1の可能な実装態様において、複数のステーションの数が複数の機能モジュールの数に等しく、複数のステーションのうちの1つが複数の機能モジュールのうちの1つに接続される。又は、それぞれのステーションは複数の機能モジュールに対応し、それぞれのステーションは対応する複数の機能モジュールに接続される。
第2態様及び上述の可能な実装態様のどちらかに関連して、第2の可能な実装態様では、複数のステーションの数が複数の機能モジュールの数に等しい場合、対応する機能モジュールのものと一致しているクロック周波数、データビット幅、及び時系列が、それぞれのステーション用に構成される。高速交換相互接続ユニットはプログラム固定である。
第2態様及び上述の可能な実装態様の何れかに関連して、第3の可能な実装態様では、ASICベースのハードコアのオンチップの相互接続バスプロトコルが、AVALON、Wishbone、CoreConnect、又はAMBAのうち少なくとも1つを含む。
第2態様及び上述の可能な実装態様の何れかに関連して、第4の可能な実装態様では、ASICベースのハードコアは、クロスバースイッチマトリックスを用いてFPGAに一様に配置される。
先行技術と比較して、本願は以下の利点を有することが、上述の実施形態から分かり得る。
ASICベースの複数のハードコアが、本願により提供されるFPGAに組み込まれる。ASICベースの複数のハードコアはFPGAに一様に配置され、これにより、それぞれの機能モジュールとASICベースの近接したハードコアとの間のデータ交換を容易にし、時間遅延を減少させ得る。ASICベースのハードコアは、高速交換相互接続ユニットと、少なくとも1つのステーションとを含み、複数のステーションは一様に配置される。従って、機能モジュールは、近接したステーションに簡便に接続され得る。送信元の機能モジュールがステーションにデータを送信し、ステーションはデータを高速交換相互接続ユニットに送信し、高速交換相互接続ユニットは、宛先の機能モジュールに接続されたステーションを用いて、データを宛先の機能モジュールに送信する。このように、送信元の機能モジュールと宛先の機能モジュールとの間で、データが送信される。複数の実施形態により提供されるFPGAは、データの高速送信を実行し得る。ASICベースのハードコアは高性能なので、高性能FPGAに関する要件が満たされ得る。
本願の複数の実施形態又は先行技術における複数の技術的解決法をより明確に説明すべく、複数の実施形態又は先行技術を説明するのに必要とされる添付図面を以下に簡潔に説明する。当業者が、これらの添付図面から創造努力をすることなく他の図面をさらに導き出し得ることは明らかである。
先行技術におけるFPGAのアプリケーションの概略図である。
先行技術におけるFPGAの内部構造の図である。
先行技術におけるFPGAの機能モジュールのマッピングの概略図である。
本願によるFPGAの実施形態1の概略図である。
本願によるFPGAの実施形態2の概略図である。
本願によるFPGAにおける機能モジュールの概略図である。
本願によるFPGAにおける機能モジュールの別の概略図である。
本願によるFPGAの実施形態3の概略図である。
本願によるFPGAの実施形態4の概略図である。
本願によるFPGAの実施形態5の概略図である。
本願によるFPGAの実施形態6の概略図である。
本願によるFPGAの実施形態7の概略図である。
本願によるFPGAベースのデータ通信方法の実施形態1の概略図である。
本願によるFPGAベースのデータ通信方法の信号伝達ダイアグラムである。
本願の複数の実施形態における複数の技術的解決法を、本願の複数の実施形態における複数の添付図面を参照して、以下に明確に且つ完全に説明する。説明される複数の実施形態は、本願の実施形態のいくつかに過ぎず、全てではないことは明らかである。本願の複数の実施形態に基づいて、当業者により創造努力をすることなく取得される他の全ての実施形態は、本願の保護範囲内に含まれるものである。
本願の目的、機能、及び利点をより明瞭にし、理解できるようにすべく、複数の添付図面を参照して、本願の複数の特定の実装態様を以下に詳細に説明する。
[実施形態1]
図4を参照すると、図4は、本願によるFPGAの実施形態1の概略図である。
通信及び相互接続に用いられる特定用途向け集積回路ASICベースのハードコアが、この実施形態により提供されるFPGAに組み込まれる。
ASICベースのハードコアは高性能に関する要件を満たし得て、1GHzより高い周波数で動作し得るので、ASICベースのハードコアは、Tbpsの帯域幅を提供することが可能である。
ASICベースのハードコアは、FPGAに一様に配置される。このように、FPGAのそれぞれの機能モジュールは、近接したASICベースのハードコアにデータを送信し得ることが保証されてよく、時間遅延が減少し得る。
ASICベースのハードコアをFPGAに一様に配置させる目的は、FPGAのそれぞれの機能モジュールが、近接したASICベースのハードコアに接続することを可能にすることであるということが、留意されるべきである。
ASICベースのハードコアは、高速交換相互接続ユニット100と、少なくとも1つのステーションI/Fとを含む。
全てのステーションI/Fは一様に配置される。このように、ステーションは、可能であれば、どの機能モジュールの周囲にも配置されてよく、それぞれの機能モジュールは、空間的に近接しているステーションI/Fに接続されてよい。従って、データ伝送の時間遅延が減少する。
それぞれのステーションI/Fは、高速交換相互接続ユニット100に接続される。
ステーションI/Fは、FPGAのそれぞれの機能モジュールとASICベースのハードコアとの間でデータを送信するよう構成される。
高速交換相互接続ユニット100は、全てのステーション間でデータを送信するよう構成される。
物理的に、FPGAのそれぞれの機能モジュールはステーションI/Fに接続されるが、それぞれのステーションI/Fは、高速交換相互接続ユニット100に接続されることが理解できる。従って、ステーションI/F及び高速交換相互接続ユニット100を介して、1つの機能モジュールが別の機能モジュールにデータを送信し得て、複数の機能モジュール間のデータ送信が実行される。
ASICベースのハードコアは高性能に関する要件を満たし得て、1GHzより高い周波数で動作し得るので、ASICベースのハードコアは、Tbpsの帯域幅を提供することが可能である。
ASICベースの複数のハードコアが、この実施形態により提供されるFPGAに組み込まれる。ASICベースの複数のハードコアはFPGAに一様に配置され、これにより、それぞれの機能モジュールとASICベースの近接したハードコアとの間のデータ交換を容易にし、時間遅延を減少させ得る。ASICベースのハードコアは、高速交換相互接続ユニットと、少なくとも1つのステーションとを含み、複数のステーションは一様に配置される。従って、機能モジュールは、近接したステーションに簡便に接続され得る。送信元の機能モジュールがステーションにデータを送信し、ステーションはデータを高速交換相互接続ユニットに送信し、高速交換相互接続ユニットは、宛先の機能モジュールに接続されたステーションを用いて、データを宛先の機能モジュールに送信する。このように、送信元の機能モジュールと宛先の機能モジュールとの間で、データが送信される。この実施形態により提供されるFPGAは、データの高速送信を実行し得る。ASICベースのハードコアは高性能なので、高性能FPGAに関する要件が満たされ得る。
[実施形態2]
図5を参照すると、図5は、本願によるFPGAの実施形態2の概略図である。
本願の実施形態により提供されるFPGAの動作プロセスを詳細に説明すべく、以下では、一例として、2つの機能モジュール間のデータ交換を用いる。
機能モジュール0はFPGAの左上隅に設置され、機能モジュール8がFPGAの右下隅に設置される。2つの機能モジュール間に長い距離があることが図5から分かり得る。機能モジュール0は送信元のデータモジュールであり、機能モジュール8は宛先の機能モジュールである。すなわち、機能モジュール0は機能モジュール8にデータを送信する。
送信元の機能モジュール及び宛先の機能モジュールは、相対的なものであることが理解できる。機能モジュール0も宛先の機能モジュールとして用いられてよく、機能モジュール8も送信元の機能モジュールとして用いられてよい。
機能モジュール0及び機能モジュール8の両方は、破線のボックス内にいくつかのCLBを含む。
機能モジュールが、近接原理に従ってステーションに接続されてよく、すなわち、空間配置において、機能モジュールに空間的に最も近接したステーションに、機能モジュールが優先的に接続されることが留意されるべきである。
この実施形態は、1つの機能モジュールが1つのステーションに接続される一例を用いて説明される。その理由は、この1対1の設定は実装が容易だからである。すなわち、配置されるステーションの数は、機能モジュールの数に依存する。それぞれの機能モジュールは、空間的に最も近接したステーションに接続される。
例えば、図5の機能モジュール0は、ステーションI/F0に接続され、機能モジュール8はステーションI/F8に接続される。
最初に、機能モジュール0は、ステーションI/F0を用いて高速交換相互接続ユニット100にデータを送信し、次に、高速交換相互接続ユニット100は、ステーションI/F8を用いて機能モジュール8にデータを送信する。
機能モジュール0により送信されるデータは、機能モジュール8に関する情報を搬送することが留意されるべきである。従って、高速交換相互接続ユニット100は、データで搬送される情報に従って、データが、機能モジュール8に接続されているステーションI/F8に送信される必要があることを判定し得る。
データで搬送された情報は、機能モジュールのIDであってもよく、又はアドレスマッピングであってもよいことが理解できる。これは、アドレスセグメントが機能モジュールに属するからである。
図5から分かるように、ASICベースのハードコアがこの実施形態に用いられた後、データは、ASICベースのハードコアを通って、どのCLBも通過することなく、2つの機能モジュール間で送信され得る。ASICベースのハードコアの高速交換相互接続ユニット100は高速なので、時間遅延が減少し得る。
この実施形態は、1つのステーションが1つの機能モジュールに対応する一例を用いて説明される。FPGAが多数の機能モジュールと、少数のステーションとを含む場合、1つのステーションと複数の機能モジュールとの間に通信が設定されてよいことが理解できる。そのような制御は、1つのステーションが1つの機能モジュールに対応する場合より、僅かに複雑である。しかしながら、複数のリソースが十分に用いられ得て、コストが減少する。それぞれのステーションは、近接原理に従って、対応する複数の機能モジュールに接続される。
1つのステーションが複数の機能モジュールに対応する動作原理は、1つのステーションが1つの機能モジュールに対応する動作原理と同一であり、詳細が改めてここで説明されることはない。
更に、この実施形態は、一例として2つの機能モジュールを用いることによってのみ説明される。FPGAは、複数の機能モジュールを含んでよく、具体的には実際の要件に従って設定されてよいことが理解できる。更に、複数の機能モジュールの分割が、異なる特定の複数の回路に従って変わってよい。複数の機能モジュールの分割について、2つの態様を以下に説明する。
図6aを参照すると、図6aは、本願によるFPGAの機能モジュールの概略図である。
図6aは、6つの機能モジュール、つまり機能モジュール0から機能モジュール5を含む。
それぞれの機能モジュールは、ステーションI/Fを用いて、高速交換相互接続ユニット100に接続される。
対応する機能モジュールのものと一致しているクロック周波数、データビット幅、及び時系列が、それぞれのステーション用に構成されることが留意されるべきである。
例えば、機能モジュール0の送信データのビット幅は512ビット、そのクロック周波数は150MHzである。従って、機能モジュール0のデータは、512ビット及び150MHzに構成される必要がある。機能モジュール4の送信データは、256ビット及び300MHzである。従って、機能モジュール0のデータは、256ビット及び300MHzに構成される必要がある。このように、機能モジュールとステーションとの間で円滑なデータ送信が実行されることが保証され得る。
複数の機能モジュールの特定の要件に応じて、同一のビット幅及び同一のクロック周波数が、FPGAの複数のステーション用に構成されてもよく、又は、異なるクロック周波数が複数のステーション用に構成されてもよいことが理解できる。
従って、本願の実施形態により提供されるステーション用に、クロック周波数、データビット幅、及び時系列が、プログラミングにより設定されてよいことが分かり得る。このことは、アプリケーションを容易にし、複数の異なる機能モジュールの複数の異なる要件を満たし得る。
更に、複数の機能モジュール間で送信されるいくつかの単純な信号が、先行技術における従来の態様を用いて交換されてもよいことが留意されるべきである。例えば、機能モジュール0と他の5つの機能モジュールとの間の単純な通信は、今まで通り、図に示される矢印線に従って実行される通信であってよい。
概して、高速交換相互接続ユニット100はプログラム固定であり、すなわち、複数のパラメータが設定され構成される。このことは、ASICベースのハードコアの性能をより高くし、そのアプリケーションの汎用性を改善し、使用を容易にする。
ASICベースのハードコア以外のFPGAの複数のパーツはプログラマブルなパーツなので、複数の機能モジュールの分割は、更に別の形態又は組み合わせであってよく、例えば更に、図6bに示されるものであってよい。
図6bを参照すると、図6bは、本願によるFPGAの機能モジュールの別の概略図である。
図6bの機能モジュールの分割は、図6aのものと異なる。
機能モジュール0は、786ビット及び150MHzに構成される。機能モジュール2は、1024ビット及び200MHzに構成される。機能モジュール4は、288ビット及び333MHzに構成される。
本願の実施形態により提供されるASICベースのハードコアは、FPGAベンダにより定められたオンチップの相互接続バスプロトコルを用いてもよく、又は、限定されないが、AVALON、Wishbone、CoreConnect、AMBA、又は同様のものを含む、当技術分野で現在一般的に用いられる成熟したオンチップの相互接続バスプロトコルを用いてもよいことが留意されるべきである。
1つのFPGAにおいて、1つのオンチップの相互接続バスプロトコルのみが用いられてもよく、又は、複数のオンチップの相互接続バスプロトコルが同時に用いられてもよいことが理解できる。例えば、FPGAにおいて、1つのI/FがAVALONを用い、別のI/FがWishboneを用いる。
本願の実施形態により提供される高速交換相互接続ユニットは、クロスバースイッチマトリックス(Cross Bar)を用いてFPGAに一様に配置される、又は、リングバス(Ring Bus)を用いてFPGAに一様に配置されることが好ましい。
クロスバースイッチマトリックスが、図4及び図5に示される。
複数の実施形態を参照して、高速交換相互接続ユニットが、クロスバースイッチマトリックスを用いて一様に配置された場合の特定の実装を以下に説明する。この説明は、ASICベースのハードコアにより用いられるオンチップの相互接続バスプロトコルがAXI相互接続プロトコルであるという前提に基づいている。
[実施形態3]
図7を参照すると、図7は、本願によるFPGAの実施形態3の概略図である。
この実施形態において、ASICベースのハードコアは、AXI相互接続バスプロトコルを用いるハードコアである。すなわち、ハードコアはAXI相互接続マトリックスを用いる。
AXIバスプロトコルは、AMBAのサブセットに属する。
FPGAにおいて、AXI相互接続(AXI−Interconnection)のハードIPコアが直接ハードウェア化される。当技術分野のこの既存の成熟したIPコア(現在、Xilinx及びAlteraという主に2つの種類のFPGAがあり、両方とも対応するソフトコア(Soft Core)を有し、ソフトコアはハードウェア化されることだけを必要とし、I/F配置はシリコンダイ(die)上の複数の位置に適切になされる)は、リスクが低く高性能であり(動作周波数は、GHzの大きさに容易に達する)、基本的に何の変更も必要とせずに、現在の標準規格の大部分のIPコア(core)と相互接続され得る。
それぞれのロジックセルバンク(Logic Cell Bank)は、少なくとも1つのマスター(Master)ステーションI/F、及び1つのスレーブ(Slave)ステーションI/Fに対応する。1つのマスター及び1つのスレーブは、外面上は1つのステーションとして用いられ、すなわち、1つのステーションは、マスターだけではなくスレーブも含むことが留意されるべきである。言い換えると、ステーションはマスターとしてデータを送信し得て、スレーブとしてデータを受信もし得る。このように、複数のステーションが、可能であれば、FPGAに一様に配置されることが保証され得る。
この実施形態は、それぞれのロジックセルバンクが1つのステーションに対応する一例を用いて説明される。すなわち、それぞれのロジックモジュールが1つのステーションに接続される。1つのロジックセルバンクは、複数のステーションにも対応してよいことが理解できる。
ロジックセルバンクは、いくつかのCLBの組み合わせである。
マスターステーションがデータを能動的に送信するステーションであり、受信器ステーションがデータを受動的に受信するステーションであることが理解できる。
図7のマスター(Master)がMで表され、図7のスレーブ(Slave)がSで表される。
この実施形態では、16個のMと16個のSが含まれ得る。
Mの数がSの数と異なってよいことが留意されるべきである。概して、Mの数はSの数より少ない。これは、多数の機能モジュールが、データを受動的に受信する必要があるだけだからである、又は、Mがデータを読み取るのを受動的に待つ必要があるからである。
もちろん、便宜上、Mの数はSの数と同一になるよう設定されてよい。すなわち、M及びSはペアになる。更に、具体的なMの数及びSの数は、実際の要件に従って選択されてよく、この実施形態において指定された16に限定されることはない。この実施形態により提供されるFPGAは、16個のマスター及び16個のスレーブが、データ通信・交換を並列に実行することを可能にする能力を有し、データ通信・交換に十分な機能モジュール(十分な帯域幅)を提供する。
図7のDDR_CTRLは、FPGAと外部のDDRチップとの間のインタフェースである。高速インタフェースのIPコア(core)も、FPGAと外部のチップとの間の通信を実行するのに用いられる。シリアルパラレル変換インタフェースも、FPGAと外部との間の通信を実行するためのインタフェースである。
[実施形態4]
図8aを参照すると、図8aは、本願によるFPGAの実施形態4の概略図である。
この実施形態により提供されるFPGAと、実施形態3のFPGAとの違いは、実施形態3では1つのAXI相互接続のみが用いられるが、この実施形態では、AXIブリッジ(AXI−Bridge)を用いて相互接続される2つのAXI相互接続が用いられ、これにより、通信及び相互接続が複数のハードコア間に実装されるということである。
図8aから分かるように、2つのAXI相互接続は両方とも、AXI相互接続マトリックスを用いて実装され、両方のAXI相互接続マトリックスのどちらも、8個のM及び8個のSを含む。すなわち、2つのAXI相互接続マトリックスにおけるMの数及びSの数は同一である。
2つのAXI相互接続マトリックスにおけるMの数及びSの数は、異なってもよいことが理解できる。例えば、一方のAXI相互接続マトリックスにおけるMの数及びSの数は16であり、もう一方のAXI相互接続マトリックスにおけるMの数及びSの数は8である。
実施形態3により提供されたFPGAと比較して、この実施形態により提供されるFPGAは以下の利点を有する。つまり、難易度が低く、ハードウェアの難易度とルーティングの難易度の両方が低下し得て、それに応じてコストが減少し得る。
実施形態3により提供されたFPGAと比較して、この実施形態により提供されるFPGAは以下のデメリットを有する。つまり、2つのAXI相互接続マトリックス内のみの複数のステーションに接続された複数の機能モジュール間で、同時データ送信が実行され得る。しかしながら、2つのAXI相互接続マトリックス間に、AXIブリッジが、複数のステーションに接続された複数の機能モジュール間でデータを送信するのに用いられる必要があり、これは、時分割多重通信方式を用いてのみ実行され得る。従って、実施形態3により提供されたFPGAと比較して、このFPGAの性能は低下する。例えば、データ送信の帯域幅(又は、スループット率)が低下し得る。例えば、2つの機能モジュールが、同一の期間にブリッジを用いてデータ交換を実行する必要がある場合、2つの機能モジュールは、このブリッジにより提供された帯域幅のみを共有し得る。
この実施形態のFPGAは、一例として、2つのAXI相互接続マトリックスを用いて説明される。図8bに示されるように、3つのAXI相互接続マトリックスが含まれてもよく、それらのAXI相互接続マトリックスは、AXIブリッジを用いて相互接続されることが理解できる。もちろん、さらに多くのAXI相互接続マトリックスが含まれてもよく、それらのAXI相互接続マトリックスは、AXIブリッジを用いて相互接続される。動作原理はこの実施形態のものと同一であり、改めてここで説明されることはない。
更に、この実施形態における2つのAXI相互接続マトリックスは同一の性能を有する。FPGAの複数のAXI相互接続マトリックスが異なる性能を有する一事例を、以下に説明する。性能を変える目的は、特定の要件を満たすためである。例えば、いくつかのアプリケーションの場合には、FPGAのいくつかの機能モジュールのみが高性能のデータ送信を必要とする、例えば、より大きい帯域幅を必要とする。従って、コストを減少させるべく、1つのAXI相互接続マトリックスが高性能を有するように設定されてよく、これにより、高性能を必要とするこれらの機能モジュールに適合させるが、他の通常の複数の機能モジュールは、実行するのに通常性能のAXI相互接続マトリックスを用いてよい。
添付図面を参照して、複数のAXI相互接続マトリックスが異なる性能を有するFPGAを以下に説明する。
[実施形態6]
図9を参照すると、図9は、本願によるFPGAの実施形態6の概略図である。
この実施形態により提供されるFPGAは、2つのAXI相互接続マトリックスを含み、1つのAXI相互接続マトリックスは通常モードのAXI相互接続マトリックスであり、もう1つのAXI相互接続マトリックスは高性能モードのAXI相互接続マトリックスである。
高性能モードのAXI相互接続マトリックスのビット幅及び周波数は両方とも、通常モードのAXI相互接続マトリックスのものより大きい。
この実施形態において、通常モードのAXI相互接続マトリックスは、16個のM及び16個のSを含み、高性能モードのAXI相互接続マトリックスは、8個のM及び8個のSを含む。
通常モードのAXI相互接続マトリックス及び高性能モードのAXI相互接続マトリックスの、特定のMの数及びSの数は、実際の要件に従って選択されてよく、これは本願の実施形態において具体的に限定されることはなく、一例としてのみ説明されることが理解できる。
この実施形態は、一例として、1つの通常モードのAXI相互接続マトリックス、及び1つの高性能モードのAXI相互接続マトリックスを用いて説明されることが留意されるべきである。複数の高性能モードのAXI相互接続マトリックス、及び/又は複数の通常モードのAXI相互接続マトリックスが含まれてもよいことが理解できる。複数のAXI相互接続マトリックスは、AXIブリッジを用いて互いに接続される。
上述の実施形態全てにおいて、FPGAの高速交換相互接続ユニットは、クロスバースイッチマトリックスを用いてFPGAに一様に配置される。本願は、高速交換相互接続ユニットが、リングバス(Ring Bus)を用いて一様に配置されるFPGAを更に提供する。
[実施形態7]
図10を参照すると、図10は、本願によるFPGAの実施形態7の概略図である。
この実施形態により提供されるFPGAにおいて、高速交換相互接続ユニットは、リングバス(Ring Bus)を用いてFPGAに一様に配置される。
リングバスは閉じたリングなので、高速交換相互接続ユニットは、FPGAにより一様に配置され得て、リングバス上のステーションも、より一様に配置され得る。従って、それぞれの機能モジュールがリングバス上の近接したステーションに接続することは、より簡便である。
図10に示されるFPGAにおいて、M及びSはリングバス上でペアになるよう設定されてもよいことが留意されるべきである。このように、使用の便宜が改善されてよく、製造もより簡単になる。もちろん、Mの数及びSの数が異なるように設定されてもよい。例えば、Mの数はMの数より大きくなるよう設定される。このことは、実際の要件に従って選択されてよい。
リングバスのアーキテクチャにおいて、ステーションは、段階的にデータを宛先に送信し得て、双方向パラレル伝送が実行され得る。双方向伝送の利点は、時間遅延が減少し得ることである。例えば、時計回りのみのデータ送信が提供される場合、機能モジュールにより前のノードと実行されるべき通信は、チップ上の循環経路(circle)全体を通る必要がある。しかしながら、双方向伝送は用いられる場合、この送信は、反時計回りに1つのノードのみを必要とする。
パラレル送信の利点は、双方向パラレル伝送が2つのデータ送信経路に相当し、2つの経路は特定の帯域幅を提供してよく、これにより帯域幅が2倍になるということである。
図10のFPGAにおけるDDR_CTRL、高速インタフェースのIPコア(core)、及びシリアルパラレル変換インタフェースの機能は、図7に対応する実施形態のものと同一であり、改めてここで説明されることはない。
要約すると、上述の実施形態のそれぞれにより提供されるFPGAにおいて、ASICベースのハードコアがFPGAに組み込まれ、これにより、それぞれの機能モジュールは近接ベースのアクセスを実行し得る。従って、データ伝送の時間遅延が実質的に減少し得て、FPGAの全体性能が改善される。
上述の実施形態により提供されるFPGAに基づいて、本願の実施形態は、上述の実施形態により提供されるFPGAに基づくデータ送信方法を更に提供する。詳細な説明が、添付図面を参照して以下に提供される。
[方法の実施形態1]
図11を参照すると、図11は、本願によるFPGAベースのデータ通信方法の実施形態1の概略図である。
この実施形態により提供されるFPGAベースのデータ通信方法は、以下の段階を含む。
S1101.高速交換相互接続ユニットが、データ送信元の機能モジュールに対応するステーションを用いて、データ送信元の機能モジュールにより送信されたデータを受信する段階であり、データは、宛先の機能モジュールに関する情報を搬送する。
データ送信元の機能モジュールは、データを送信する当事者であり、宛先の機能モジュールは、データを受信する当事者であることが留意されるべきである。それぞれの機能モジュールは、データ送信元の機能モジュールとして用いられても、宛先の機能モジュールとして用いられてもよいことが理解できる。
データ送信元の機能モジュールにより送信されたデータは、宛先の機能に関する情報を搬送するので、高速交換相互接続ユニットは、その情報に従って、宛先の機能モジュールに対応するステーションを捜し出してよく、データは、宛先の機能モジュールに対応するステーションにより、宛先の機能モジュールに転送され得る。
用いられるオンチップの相互接続バスプロトコルが決定された後に、宛先の機能モジュールに関する情報の内容が決定されることが留意されるべきである。これは、情報の内容がオンチップの相互接続バスプロトコルにより指定されるからである。本願の実施形態における宛先の機能モジュールに関する情報は、機能モジュールのIDであってもよく、又はアドレスマッピングであってもよい。特定のアドレスセグメントは特定の機能モジュールに属するので、アドレスに対応する機能モジュールがアドレスに従って捜し出され得る。
S1102.高速交換相互接続ユニットは、宛先の機能モジュールに関する情報に従って、宛先の機能モジュールに対応するステーションを用いて、受信したデータを宛先の機能モジュールに送信する。
この実施形態により提供される方法において、ASICベースのハードコアがFPGAに組み込まれ、ASICベースのハードコアは、高速交換相互接続ユニット及び少なくとも1つのステーションを含む。データ送信元の機能モジュールは、高速交換相互接続ユニットを用いて、データを宛先の機能モジュールに送信し得る。データ送信元の機能モジュールにより送信されたデータは、宛先の機能モジュールに関する情報を搬送するので、高速交換相互接続ユニットは、その情報に従って、宛先の機能モジュールに接続された対応するステーションを決定し得る。それぞれの機能は近接したステーションに接続されるので、この方法は、データ伝送の時間遅延を実質的に減少させ、FPGAの全体性能を改善し得る。
[方法の実施形態2]
図12参照すると、図12は、本願によるFPGAベースのデータ通信方法の信号伝達ダイアグラムである。
複数のステーションの数が複数の機能モジュールの数に等しく、複数のステーションのうち1つが、複数の機能モジュールのうち1つに接続される。又は、それぞれのステーションが複数の機能モジュールに対応し、それぞれのステーションが対応する複数の機能モジュールに接続される。
この実施形態は、1つのステーションが1つの機能モジュールに対応する一例を用いて説明される。そのような制御は、実行するのが簡単で容易である。
説明の一例として、2つの機能モジュール間のデータ送信を以下に用いる。2つのモジュールは、データ送信元の機能モジュール及び宛先の機能モジュールである。
S1.データ送信元の機能モジュールが、宛先の機能モジュールに関する情報を、送信される必要があるデータに加える。
S2.情報が加えられた後に、データは、データ送信元の機能モジュールに接続されたステーションに送信される。
S3.データ送信元の機能モジュールに接続されたステーションは、受信したデータを高速交換相互接続ユニットに送信する。
S4.高速交換相互接続ユニットは、情報に従って、宛先の機能モジュールに接続されたステーションにデータを送信する。
S5.宛先の機能モジュールに接続されたステーションは、データを宛先の機能モジュールに送信する。
この実施形態において、上述の実施形態により提供されたFPGAを、データを送信するのにどのように用いるかが詳細に説明される。
複数のステーションの数が複数の機能モジュールの数に等しく、複数のステーションのうちの1つが複数の機能モジュールのうちの1つに接続される。又は、それぞれのステーションは複数の機能モジュールに対応し、それぞれのステーションは対応する複数の機能モジュールに接続される。
複数のステーションの数が複数の機能モジュールの数に等しい場合、対応する機能モジュールのものと一致しているクロック周波数、データビット幅、及び時系列が、それぞれのステーション用に構成される。
高速交換相互接続ユニットはプログラム固定である。
ASICベースのハードコアのオンチップの相互接続バスプロトコルは、AVALON、Wishbone、CoreConnect、又はAMBAのうち少なくとも1つを含む。
ASICベースのハードコアは、クロスバースイッチマトリックスを用いてFPGAに一様に配置される。
上述の説明は、本願の望ましい複数の実施形態に過ぎず、本願を限定することが意図されるものではない。本願の例示の複数の実施形態は上記に開示されているが、この複数の実施形態は、本願を限定することが意図されるものではない。上記に開示された方法及び技術内容を用いて、当業者であれば誰でも、本願の複数の技術的解決法に対して複数の可能な改変及び変更を行い得る、又は、本願の技術的解決法の保護範囲から逸脱することなく、等価的な変形を通じて、同等の効果を有する実施形態になるようこれらの技術的解決法を修正し得る。従って、本願の技術的本質に従って、本願の技術的解決法の内容から逸脱することなく、上記の複数の実施形態に対して成される、いかなる単純な修正、等価的な変形、及び変更も、本願の技術的解決法の保護範囲内に含まれることになる。
例えば、図1の応用例では、10個の機能モジュール(機能モジュール0から機能モジュール)が用いられてよく、多数の機能モジュール間に通信がある。一例として機能モジュール0を用いると、機能モジュール0と機能モジュール1との間の通信、及び機能モジュール3と機能モジュール5との間の通信がある。
従って従来のFPGAの長い遅延及び不十分な性能に関する問題を解決し得るFPGAが提供される必要がある。
機能モジュール0はFPGAの左上隅に設置され、機能モジュール8がFPGAの右下隅に設置される。2つの機能モジュール間に長い距離があることが図5から分かり得る。機能モジュール0は送信元の機能モジュールであり、機能モジュール8は宛先の機能モジュールである。すなわち、機能モジュール0は機能モジュール8にデータを送信する。
例えば、機能モジュール0の送信データのビット幅は512ビット、そのクロック周波数は150MHzである。従って、機能モジュール0のデータは、512ビット及び150MHzに構成される必要がある。機能モジュール4の送信データは、256ビット及び300MHzである。従って、機能モジュールのデータは、256ビット及び300MHzに構成される必要がある。このように、機能モジュールとステーションとの間で円滑なデータ送信が実行されることが保証され得る。
データ送信元の機能モジュールにより送信されたデータは、宛先の機能モジュールに関する情報を搬送するので、高速交換相互接続ユニットは、その情報に従って、宛先の機能モジュールに対応するステーションを捜し出してよく、データは、宛先の機能モジュールに対応するステーションにより、宛先の機能モジュールに転送され得る。
この実施形態により提供される方法において、ASICベースのハードコアがFPGAに組み込まれ、ASICベースのハードコアは、高速交換相互接続ユニット及び少なくとも1つのステーションを含む。データ送信元の機能モジュールは、高速交換相互接続ユニットを用いて、データを宛先の機能モジュールに送信し得る。データ送信元の機能モジュールにより送信されたデータは、宛先の機能モジュールに関する情報を搬送するので、高速交換相互接続ユニットは、その情報に従って、宛先の機能モジュールに接続された対応するステーションを決定し得る。それぞれの機能モジュールは近接したステーションに接続されるので、この方法は、データ伝送の時間遅延を実質的に減少させ、FPGAの全体性能を改善し得る。

Claims (16)

  1. フィールドプログラマブルゲートアレイFPGAであって、
    通信及び相互接続に用いられる少なくとも1つの特定用途向け集積回路ASICベースのハードコアが前記FPGAに組み込まれ、
    ASICベースの前記ハードコアは、高速交換相互接続ユニットと少なくとも1つのステーションとを有し、
    それぞれのステーションは、前記高速交換相互接続ユニットに接続され、
    前記ステーションは、前記FPGAのそれぞれの機能モジュールとASICベースの前記ハードコアとの間でデータを送信するよう構成され、
    前記高速交換相互接続ユニットは、複数の前記ステーション間でデータを送信するよう構成される、
    FPGA。
  2. 複数の前記ステーションの数が複数の機能モジュールの数に等しく、複数の前記ステーションのうち1つは、複数の前記機能モジュールのうち1つに接続される、又は、
    それぞれのステーションが複数の機能モジュールに対応し、それぞれのステーションは対応する複数の前記機能モジュールに接続される、
    請求項1に記載のFPGA。
  3. 複数の前記ステーションの前記数が複数の前記機能モジュールの前記数に等しい場合、対応する機能モジュールのものと一致しているクロック周波数、データビット幅、及び時系列が、それぞれのステーション用に構成され、
    前記高速交換相互接続ユニットはプログラム固定である、
    請求項2に記載のFPGA。
  4. ASICベースの前記ハードコアのオンチップの相互接続バスプロトコルが、AVALON、Wishbone、CoreConnect、又はAMBAのうち少なくとも1つを含む、
    請求項3に記載のFPGA。
  5. ASICベースの前記ハードコアは、クロスバースイッチマトリックスを用いて前記FPGAに一様に配置される、
    請求項4に記載のFPGA。
  6. ASICベースの前記ハードコアは、AXI相互接続バスプロトコルを用いるハードコアであり、前記AXIバスプロトコルは前記AMBAの1つに属し、それぞれのロジックセルバンクが、少なくとも1つのマスターステーションと、少なくとも1つのスレーブステーションとを有する、
    請求項5に記載のFPGA。
  7. ASICベースの前記ハードコアは、AXI相互接続バスプロトコルを用いる2又はそれより多くのハードコアを有し、
    前記AXI相互接続バスプロトコルを用いる複数の前記ハードコアは、AXIブリッジを用いて互いと通信し、
    それぞれのロジックセルバンクが、少なくとも1つのマスターステーションと、少なくとも1つのスレーブステーションとを有する、
    請求項5に記載のFPGA。
  8. 前記AXI相互接続バスプロトコルを用いる複数の前記ハードコアは、同数のマスターステーション及び同数のスレーブステーションを有し、同一のビット幅及び同一の周波数を有する、
    請求項7に記載のFPGA。
  9. 前記AXI相互接続バスプロトコルを用いる複数の前記ハードコアは、異なる数のマスターステーション及び異なる数のスレーブステーションを有し、複数の異なるビット幅及び複数の異なる周波数を有する、
    請求項7に記載のFPGA。
  10. 前記AXI相互接続バスプロトコルを用いるいくつかのハードコアが、同数のマスターステーション及び同数のスレーブステーションを有し、同一のビット幅及び同一の周波数を有し、
    前記AXI相互接続バスプロトコルを用いる複数の他のハードコアが、異なる数のマスターステーション及び異なる数のスレーブステーションを有し、複数の異なるビット幅及び複数の異なる周波数を有する、
    請求項7に記載のFPGA。
  11. 前記高速交換相互接続ユニットは、リングバスを用いて前記FPGAに一様に配置される、
    請求項1又は2に記載のFPGA。
  12. FPGAベースのデータ通信方法であって、
    通信及び相互接続に用いられる少なくとも1つの特定用途向け集積回路ASICベースのハードコアが前記FPGAに組み込まれ、
    ASICベースの前記ハードコアは、高速交換相互接続ユニットと少なくとも1つのステーションとを有し、
    それぞれのステーションは、前記高速交換相互接続ユニットに接続され、
    前記ステーションは、前記FPGAのそれぞれの機能モジュールとASICベースの前記ハードコアとの間でデータ送信を実行し、
    前記高速交換相互接続ユニットは、複数の前記ステーション間でデータ送信を実行し、
    前記方法は、
    データ送信元の機能モジュールに対応するステーションを用いて前記高速交換相互接続ユニットにより、データの前記送信元の機能モジュールにより送信されたデータを受信する段階であって、前記データは、宛先の機能モジュールに関する情報を搬送する、受信する段階と、
    前記宛先の機能モジュールに関する前記情報に従って、前記宛先の機能モジュールに対応するステーションを用いて、前記高速交換相互接続ユニットにより、受信した前記データを前記宛先の機能モジュールに送信する段階と、
    を備える、
    FPGAベースのデータ通信方法。
  13. 複数の前記ステーションの数が複数の機能モジュールの数に等しく、複数の前記ステーションのうち1つが、複数の前記機能モジュールのうち1つに接続される、又は、
    それぞれのステーションが複数の機能モジュールに対応し、それぞれのステーションが、対応する複数の前記機能モジュールに接続される、
    請求項12に記載のFPGAベースのデータ通信方法。
  14. 複数の前記ステーションの前記数が複数の前記機能モジュールの前記数に等しい場合、対応する機能モジュールのものと一致しているクロック周波数、データビット幅、及び時系列が、それぞれのステーション用に構成され、
    前記高速交換相互接続ユニットはプログラム固定である、
    請求項13に記載のFPGAベースのデータ通信方法。
  15. ASICベースの前記ハードコアのオンチップの相互接続バスプロトコルが、AVALON、Wishbone、CoreConnect、又はAMBAのうち少なくとも1つを含む、
    請求項12から14の何れか一項に記載のFPGAベースのデータ通信方法。
  16. ASICベースの前記ハードコアは、クロスバースイッチマトリックスを用いて前記FPGAに一様に配置される、
    請求項12から14の何れか一項に記載のFPGAベースのデータ通信方法。
JP2016560786A 2014-04-03 2014-04-03 フィールドプログラマブルゲートアレイ及び通信方法 Active JP6452719B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/074732 WO2015149329A1 (zh) 2014-04-03 2014-04-03 一种现场可编程门阵列及通信方法

Publications (2)

Publication Number Publication Date
JP2017513404A true JP2017513404A (ja) 2017-05-25
JP6452719B2 JP6452719B2 (ja) 2019-01-16

Family

ID=54239305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016560786A Active JP6452719B2 (ja) 2014-04-03 2014-04-03 フィールドプログラマブルゲートアレイ及び通信方法

Country Status (6)

Country Link
US (1) US11586572B2 (ja)
EP (2) EP3457293B1 (ja)
JP (1) JP6452719B2 (ja)
KR (1) KR101868012B1 (ja)
CN (2) CN105264510B (ja)
WO (1) WO2015149329A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523207B2 (en) * 2014-08-15 2019-12-31 Altera Corporation Programmable circuit having multiple sectors
TWI774295B (zh) * 2021-03-29 2022-08-11 瑞昱半導體股份有限公司 用於跨場域可編程邏輯閘陣列之資料傳輸控制的方法及相關設備
US11902414B2 (en) * 2021-12-31 2024-02-13 Huawei Technologies Co., Ltd. Low-latency pipeline and method for use of a low latency pipeline in homomorphic encryption

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133942A (ja) * 2002-10-09 2004-04-30 Samsung Electronics Co Ltd データバスシステム及びバス間クロスアクセス方法
US20050097305A1 (en) * 2003-10-30 2005-05-05 International Business Machines Corporation Method and apparatus for using FPGA technology with a microprocessor for reconfigurable, instruction level hardware acceleration
JP2005228311A (ja) * 2004-02-11 2005-08-25 Samsung Electronics Co Ltd 開放形コアプロトコルを基盤とするバスシステム
US20050256969A1 (en) * 2004-05-11 2005-11-17 Yancey Jerry W Systems and methods for interconnection of multiple FPGA devices
JP2007199859A (ja) * 2006-01-24 2007-08-09 Fujitsu Ltd データ転送システム
JP2009542098A (ja) * 2006-06-21 2009-11-26 エレメント シーエックスアイ,エルエルシー 回復能力を有する集積回路アーキテクチャのための要素コントローラ
WO2009145608A1 (en) * 2008-05-27 2009-12-03 Eonic B.V. Flexible architecture data processing unit
JP2010124439A (ja) * 2008-11-21 2010-06-03 Canon Inc バス中継装置
JP2012049669A (ja) * 2010-08-25 2012-03-08 Fuji Xerox Co Ltd 再構成可能演算装置、データ圧縮装置及びプログラム
JP2014500644A (ja) * 2010-10-22 2014-01-09 サムスン ヘビー インダストリーズ カンパニー リミテッド 動作中に再構成可能な制御システム及びその方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488317A (en) * 1993-10-22 1996-01-30 Texas Instruments Incorporated Wired logic functions on FPGA's
US5682107A (en) * 1994-04-01 1997-10-28 Xilinx, Inc. FPGA architecture with repeatable tiles including routing matrices and logic matrices
US6286093B1 (en) * 1996-12-10 2001-09-04 Logic Express Systems, Inc. Multi-bus programmable interconnect architecture
US6535043B2 (en) * 2000-05-26 2003-03-18 Lattice Semiconductor Corp Clock signal selection system, method of generating a clock signal and programmable clock manager including same
US7076595B1 (en) * 2001-05-18 2006-07-11 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US7921323B2 (en) * 2004-05-11 2011-04-05 L-3 Communications Integrated Systems, L.P. Reconfigurable communications infrastructure for ASIC networks
US7308630B2 (en) * 2005-02-22 2007-12-11 International Business Machines Corporation Mechanism to provide test access to third-party macro circuits embedded in an ASIC (application-specific integrated circuit)
US7427871B2 (en) 2006-06-21 2008-09-23 Element Cxi, Llc Fault tolerant integrated circuit architecture
US7902862B2 (en) * 2007-09-14 2011-03-08 Agate Logic, Inc. High-bandwidth interconnect network for an integrated circuit
GB2466821A (en) * 2009-01-08 2010-07-14 Advanced Risc Mach Ltd An FPGA with an embedded bus and dedicated bus interface circuits
KR101259133B1 (ko) 2009-11-11 2013-04-30 삼성중공업 주식회사 동작 중 재구성이 가능한 제어 시스템 및 그 방법
US9780789B2 (en) * 2010-05-13 2017-10-03 Altera Corporation Apparatus for automatically configured interface and associated methods
WO2011155622A1 (ja) * 2010-06-09 2011-12-15 日本電気株式会社 回路合成装置、方法、及び、プログラム
CA2826405C (en) * 2011-02-03 2020-04-14 Marcus Franklin Dutton Graphics processing architecture for an fpga
US8667192B2 (en) * 2011-02-28 2014-03-04 Xilinx, Inc. Integrated circuit with programmable circuitry and an embedded processor system
CN102799549A (zh) * 2011-05-23 2012-11-28 中兴通讯股份有限公司 一种多源端口的数据处理方法及装置
US8583844B2 (en) * 2011-05-31 2013-11-12 Lsi Corporation System and method for optimizing slave transaction ID width based on sparse connection in multilayer multilevel interconnect system-on-chip architecture
CN102439535A (zh) * 2011-10-25 2012-05-02 深圳市海思半导体有限公司 降低动态功耗的方法和电子设备
CN103439648B (zh) * 2013-08-08 2016-05-04 北京华大信安科技有限公司 一种验证方法、装置及芯片

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133942A (ja) * 2002-10-09 2004-04-30 Samsung Electronics Co Ltd データバスシステム及びバス間クロスアクセス方法
US20050097305A1 (en) * 2003-10-30 2005-05-05 International Business Machines Corporation Method and apparatus for using FPGA technology with a microprocessor for reconfigurable, instruction level hardware acceleration
JP2005228311A (ja) * 2004-02-11 2005-08-25 Samsung Electronics Co Ltd 開放形コアプロトコルを基盤とするバスシステム
US20050256969A1 (en) * 2004-05-11 2005-11-17 Yancey Jerry W Systems and methods for interconnection of multiple FPGA devices
JP2007199859A (ja) * 2006-01-24 2007-08-09 Fujitsu Ltd データ転送システム
JP2009542098A (ja) * 2006-06-21 2009-11-26 エレメント シーエックスアイ,エルエルシー 回復能力を有する集積回路アーキテクチャのための要素コントローラ
WO2009145608A1 (en) * 2008-05-27 2009-12-03 Eonic B.V. Flexible architecture data processing unit
JP2010124439A (ja) * 2008-11-21 2010-06-03 Canon Inc バス中継装置
JP2012049669A (ja) * 2010-08-25 2012-03-08 Fuji Xerox Co Ltd 再構成可能演算装置、データ圧縮装置及びプログラム
JP2014500644A (ja) * 2010-10-22 2014-01-09 サムスン ヘビー インダストリーズ カンパニー リミテッド 動作中に再構成可能な制御システム及びその方法

Also Published As

Publication number Publication date
US20170024349A1 (en) 2017-01-26
EP3118747A1 (en) 2017-01-18
CN108717400A (zh) 2018-10-30
EP3457293B1 (en) 2021-06-30
EP3457293A1 (en) 2019-03-20
US11586572B2 (en) 2023-02-21
CN105264510B (zh) 2018-05-11
EP3118747B1 (en) 2018-08-22
KR101868012B1 (ko) 2018-06-15
JP6452719B2 (ja) 2019-01-16
WO2015149329A1 (zh) 2015-10-08
EP3118747A4 (en) 2017-04-19
KR20160138514A (ko) 2016-12-05
CN105264510A (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
US20170171111A1 (en) Apparatus and method for fusion of compute and switching functions of exascale system into a single component by using configurable network-on-chip fabric with distributed dual mode input-output ports and programmable network interfaces
US20190266088A1 (en) Backbone network-on-chip (noc) for field-programmable gate array (fpga)
US20220012177A1 (en) Application mapping on hardened network-on-chip (noc) of field-programmable gate array (fpga)
US10649944B2 (en) Configuration via high speed serial link
CN112817906B (zh) 互联裸芯的时钟域系统及其管理方法
CN105553887B (zh) 用于管芯上互连的体系结构
JP6452719B2 (ja) フィールドプログラマブルゲートアレイ及び通信方法
CN114760255B (zh) 一种面向多裸芯互连的片上片间一体化网络无死锁架构
US11901895B2 (en) Method and apparatus for providing field-programmable gate array (FPGA) integrated circuit (IC) package
CN105530205A (zh) 一种微波设备汇聚的装置和方法
Mohan et al. Design and evaluation of 3D NoC routers with quality-of-service (QoS) mechanism for multi-core systems
CN107276920A (zh) 一种应用于混合三维片上网络的分布式流控系统及机制
CN109690515A (zh) 用于在基于管线的网络拓扑中执行部分重新配置的方法和设备
Dang et al. FPGA implementation of a low latency and high throughput network-on-chip router architecture
Adetomi et al. Relocation-aware communication network for circuits on Xilinx FPGAs
CN103744817B (zh) 用于Avalon总线向Crossbar总线的通讯转换桥设备及其通讯转换方法
CN208820815U (zh) 基于三级Clos架构的可重配置选路交叉网络
CN205986932U (zh) 一种fpga交换机
KR101378298B1 (ko) Fpga내 배선 메모리 장치 및 이를 이용한 라우터 시스템
US20230143302A1 (en) Method and system for providing configuration data to a field-programmable gate array via multiple protocol modes
Adetomi et al. Enabling Dynamic Communication for Runtime Circuit Relocation
Meng et al. A Study of Reconfigurable Switch Architecture for Chiplets Interconnection
Kumar et al. Extensible On-Chip Interconnect Architecture and Routing Methodology for NOC
Li et al. Wireless Interconnects Enabled On-chip Multicast Communication
Chaib et al. XYZ: Hybrid Network on Chip

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181211

R150 Certificate of patent or registration of utility model

Ref document number: 6452719

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