(57)【要約】  フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、及びＦＰＧＡを再構成する方法が開示される。ＦＰＧＡは、再構成可能なスイッチ、並びに少なくとも水平及び垂直のダイレクトリンクによって相互接続される複数の論理素子を含む。メモリは、再構成可能なスイッチに連結されるとともに、少なくとも２つのランタイム構成を保存するように構成される。再構成可能なスイッチは、メモリに保存される選択されたランタイム構成に基づいて再構成可能である。メモリは、ナノ電子ランダムアクセスメモリ（ＲＡＭ）であり得る。メモリは、少なくとも４つの論理素子のために、少なくとも２つのランタイム構成を保存するように構成され得る。各論理素子は、ルックアップテーブル（ＬＵＴ）、フリップフロップ、入力、及び出力を含み得る。各論理素子は、専用桁上げ論理回路を含み得る。少なくとも４つの論理素子は、斜めのダイレクトリンクによって相互接続され得る。
2016513363.tif 000002
【特許請求の範囲】
【請求項１】
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）であって、
再構成可能なスイッチ、並びに少なくとも水平及び垂直のダイレクトリンクによって相互接続される複数の論理素子と、
前記再構成可能なスイッチに連結されるとともに、少なくとも２つのランタイム構成を保存するように構成されるメモリとを備え、
前記再構成可能なスイッチが、前記メモリに保存される選択されたランタイム構成に基づいて再構成可能である、ＦＰＧＡ。
【請求項２】
前記メモリが、ナノ電子ランダムアクセスメモリ（ＲＡＭ）を備える、請求項１に記載のＦＰＧＡ。
【請求項３】
前記メモリが、低消費電力非プリチャージスタティックランダムアクセスメモリ（ＳＲＡＭ）を備える、請求項１に記載のＦＰＧＡ。
【請求項４】
前記メモリが、少なくとも４つの論理素子のために、前記少なくとも２つのランタイム構成を保存するように構成される、請求項１に記載のＦＰＧＡ。
【請求項５】
各論理素子が、ルックアップテーブル（ＬＵＴ）、フリップフロップ、入力、及び出力を備える、請求項１に記載のＦＰＧＡ。
【請求項６】
各論理素子が、専用桁上げ論理回路を備える、請求項５に記載のＦＰＧＡ。
【請求項７】
前記専用桁上げ論理回路が、前記フリップフロップ及び出力マルチプレクサに連結される桁上げマルチプレクサを備える、請求項６に記載のＦＰＧＡ。
【請求項８】
少なくとも４つの論理素子が、斜めのダイレクトリンクによって相互接続される、請求項１に記載のＦＰＧＡ。
【請求項９】
前記論理素子が、入力マルチプレクサ及び出力マルチプレクサを更に備える、請求項５に記載のＦＰＧＡ。
【請求項１０】
前記入力マルチプレクサが複数の入力を有し、前記出力マルチプレクサが複数の出力を有し、入力の数が出力の数に等しい、請求項９に記載のＦＰＧＡ。
【請求項１１】
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を再構成する方法であって、当該方法が、
再構成可能なスイッチ、並びに少なくとも水平及び垂直のダイレクトリンクによって相互接続される複数の論理素子を提供するステップと、
前記再構成可能なスイッチに連結されるとともに、少なくとも２つのランタイム構成を保存するように構成されるメモリを提供するステップと、
前記再構成可能なスイッチを前記メモリに保存される選択されたランタイム構成に基づいて再構成するステップとを含む、方法。
【請求項１２】
前記メモリが、ナノ電子ランダムアクセスメモリ（ＲＡＭ）を備える、請求項１１に記載の方法。
【請求項１３】
前記メモリが、低消費電力非プリチャージスタティックランダムアクセスメモリ（ＳＲＡＭ）を備える、請求項１１に記載の方法。
【請求項１４】
前記メモリが、少なくとも４つの論理素子のために、前記少なくとも２つのランタイム構成を保存するように構成される、請求項１１に記載の方法。
【請求項１５】
各論理素子が、ルックアップテーブル（ＬＵＴ）、フリップフロップ、入力、及び出力を備える、請求項１１に記載の方法。
【請求項１６】
各論理素子が、専用桁上げ論理回路を備える、請求項１５に記載の方法。
【請求項１７】
前記専用桁上げ論理回路が、前記フリップフロップ及び出力マルチプレクサに連結される桁上げマルチプレクサを備える、請求項１６に記載の方法。
【請求項１８】
少なくとも４つの論理素子が、斜めのダイレクトリンクによって相互接続される、請求項１１に記載の方法。
【請求項１９】
前記論理素子が、入力マルチプレクサ及び出力マルチプレクサを更に備える、請求項１５に記載の方法。
【請求項２０】
前記入力マルチプレクサが複数の入力を有し、前記出力マルチプレクサが複数の出力を有し、入力の数が出力の数に等しい、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、フィールドプログラマブルゲートアレイ（field-programmable  gate  array：ＦＰＧＡ）の設計に関し、より具体的には、ファイングレイン構造の動的に再構成可能なＦＰＧＡに関する。
【背景技術】
【０００２】
この発明は、ＮＳＦによって与えられた認可番号ＣＮＳ−０７１９９３６及び認可番号ＣＣＦ−１２１６４５７の下で政府援助によって行われた。政府は、この発明における権利を有している。
【０００３】
この出願は、２０１３年２月８日に出願された米国仮特許出願第６１／７６２，５１８号に対する優先権を主張するとともに、それは、その全体においてここに組み込まれている。
【０００４】
物理的限界に追いやられた相補形金属酸化膜半導体（complementary  metal-oxide-semiconductor：ＣＭＯＳ）技術によって、特定用途向け集積回路（application-specific  integrated  circuit：ＡＳＩＣ）のための設計コスト及び製造コストは、非常に高額になっている。ＡＳＩＣと比べると、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）は、より短い製品化に要する時間と、より低い設計コストを提供し、それはＦＰＧＡをますます魅力的にする。しかしながら、設計の融通性に支払われる代償は、現在のＦＰＧＡがＡＳＩＣに相当する面積、電力消費、又は性能を達成しないということである。これは、主として、再構成可能性を可能にするために導入された大きなオーバヘッドが原因である。ＦＰＧＡは、ＡＳＩＣと比べると、２１倍のより多くのシリコン領域、３倍のより大きな遅延、及び１０倍のより多くの動的電力消費をもたらすと推定されている。これらの問題に取り組む改良されたＦＰＧＡ構成が望ましい。
【発明の概要】
【課題を解決するための手段】
【０００５】
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）が開示される。ＦＰＧＡは、再構成可能なスイッチ、並びに少なくとも水平及び垂直のダイレクトリンクによって相互接続される複数の論理素子を含む。メモリは、再構成可能なスイッチに連結されるとともに、少なくとも２つのランタイム構成を保存するように構成される。再構成可能なスイッチは、メモリに保存される選択されたランタイム構成に基づいて再構成可能である。メモリは、ナノ電子ランダムアクセスメモリ（random  access  memory：ＲＡＭ）であり得る。メモリは、低消費電力非プリチャージスタティックランダムアクセスメモリ（static  random  access  memory：ＳＲＡＭ）であり得る。メモリは、少なくとも４つの論理素子のために、少なくとも２つのランタイム構成を保存するように構成され得る。各論理素子は、ルックアップテーブル（look-up-table：ＬＵＴ）、フリップフロップ、入力、及び出力を含み得る。各論理素子は、専用桁上げ論理回路を含み得る。専用桁上げ論理回路は、フリップフロップ及び出力マルチプレクサに連結される桁上げマルチプレクサを含み得る。少なくとも４つの論理素子は、斜めのダイレクトリンクによって相互接続され得る。論理素子は、入力マルチプレクサ及び出力マルチプレクサを同様に含み得る。入力マルチプレクサは複数の入力を有することができ、出力マルチプレクサは複数の出力を有することができ、入力の数は出力の数に等しくても良い。フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を再構成する方法が同様に開示される。方法は、再構成可能なスイッチ、並びに少なくとも水平及び垂直のダイレクトリンクによって相互接続される複数の論理素子を提供するステップを含む。方法は、再構成可能なスイッチに連結されるとともに、少なくとも２つのランタイム構成を保存するように構成されるメモリを提供するステップを同様に含む。再構成可能なスイッチは、メモリに保存される選択されたランタイム構成に基づいて再構成される。
【図面の簡単な説明】
【０００６】
【図１ａ】レベル−１のロジックフォールディングを示す構成図である。
【図１ｂ】レベル−２のロジックフォールディングを示す構成図である。
【図２】１０Ｔ  ＳＲＡＭセルの構成図である。
【図３ａ】ＦＤＲアーキテクチャの構成図である。
【図３ｂ】４つの長さ２のトラック、及び４つの長さ４のトラックを有するＦＤＲアーキテクチャの構成図である。
【図４ａ】ＬＥの実例の構成図である。
【図４ｂ】ＬＥのための設計パラメータを要約するテーブルである。
【図５】１つのＤＦＦがＬＥ入力ビットをラッチすることを可能にする別の実例のＬＥ設計を示す図である。
【図６】ＬＥの一方の面の接続ブロックの構成図である。
【図７】パッドとダイレクトリンクとの間の接続の構成図である。
【図８】専用桁上げ論理回路を有するＬＥ設計の構成図である。
【図９】桁上げ論理回路の詳細設計を示す構成図である。
【図１０ａ】斜めのダイレクトリンクの追加によってＦＤＲアーキテクチャを示す構成図である。
【図１０ｂ】離散的コサイン変換計算及びウェーブレット変換計算に使用されるＬＥの数を提示するテーブルである。
【図１０ｃ】斜めのリンクを有している場合及び有していない場合のマッピング結果を要約するテーブルである。
【図１１】３×３アレイ当たり１つのＳＲＡＭブロックを有する（すなわち、メモリ密度が１／９に等しい）構造的な事例の構成図である。
【図１２ａ】ＦＤＲ２．０に使用されるメモリブロックの設計を示す構成図である。
【図１２ｂ】ロジックフォールディングが実行されたあとの各ベンチマークに対するハードウェア資源の必要条件をリストするテーブルである。
【図１３】ＦＤＲ２．０に使用されるＤＳＰブロックの構成図である。
【図１４】専用の列に組み込まれたＤＳＰブロックを示す構成図である。
【図１５】ＤＳＰブロックの入力接続及び出力接続を示す構成図である。
【図１６】ＤＣＴについての遅延対領域を示すグラフである。
【図１７】Ｂｉｑｕａｄについての遅延対領域を示すグラフである。
【図１８】メモリＡ及びメモリＢが異なるクロック周期でアクセスされるように同じメモリブロックを共用する実例を示す構成図である。
【発明を実施するための形態】
【０００７】
ここで開示されるのは、ＮＡＴＵＲＥと呼ばれるハイブリッドＣＭＯＳナノ技術の再構成可能なアーキテクチャであり、それは、ロジック密度及びランタイム再構成の効率のような従来のＦＰＧＡにおけるいくつかの問題に取り組む。それは、回路をステージのカスケード接続に分割するとともに、非常に高速の動的再構成を通じて論理素子（logic  element：ＬＥ）の同じセットを使用して各ステージを実装する、一時的なロジックフォールディング（logic  folding）の概念を有効に利用する。ロジックフォールディングはオンチップ通信を非常にローカライズする（localize：局所化する）ので、大幅なロジックフォールディングによって、例えば再構成が回路におけるほんの１つ又は２つのルックアップテーブル（ＬＵＴ）レベルのあとで発生する場合に、大部分はローカルな相互接続又は短距離の相互接続が必要とされるという理由で、グローバルな相互接続の数が大幅に削減されることができる。ＮＡＴＵＲＥは、従来のアイランド形式（island-style）のアーキテクチャに対する依存のために、この現象を十分に有効に利用することができない。この欠点を克服するために、ここで開示されるのは、ＮＡＴＵＲＥ及び他の従来のアーキテクチャにおいて使用されるアイランド形式のアーキテクチャのタイプから逸脱する新しいファイングレイン構造の動的に再構成可能な（Fine-grain  Dynamically  Reconfigurable：ＦＤＲ）アーキテクチャである。
【０００８】
ＦＤＲアーキテクチャは、論理回路又は相互接続又は組み合わせ（combination）として構成されることができる、一様な再構成可能なＬＥのアレイを含む。これは、アプリケーションによって必要とされるように、論理回路と相互接続との間にハードウェア資源を割り当てる際の十分な柔軟性を可能にする。大部分の長距離の配線及びグローバルな配線は除去される。一時的なロジックフォールディングの拡張された使用、及び相互接続階層のサイズにおける非常に有意の削減のために、ロジック密度及び相互接続電力が非常に更に向上し得る。ＦＰＧＡは、ほとんどの場合、しばしばスループットが抑制される、データに支配されたアプリケーション（例えば、ビデオ／画像／グラフィックなど）のために使用されるので、スループットの抑制が満たされる限り、克服されないままであるＡＳＩＣとの格差（gap）は、領域と電力である。
【０００９】
同様にここで開示されるのは、ＦＤＲに回路をマッピングするための新しい自動フローである。先人は、ロジックフォールディングをサポートするために使用されたＮａｎｏＭａｐと呼ばれるツールを開発した。例えば、その全体においてここに組み込まれている、“W.  Zhang”、“L.  Shang”、及び“N.  K.  Jha”による“A  hybrid  nano/CMOS  dynamically  reconfigurable  system−part  II：Design  optimization  flow,”  ACM  J.  Emerging  Technologies  in  Computing  Systems,  vol.  5,  pp.  13.1-13.31,  Aug.  2009を参照のこと。それは、最適なロジックフォールディングレベル、及びターゲットの異なる最適化目標（targets  different  optimization  objective）を自動的に選択する。しかしながら、ＦＤＲアーキテクチャは、ルーティングスイッチを同様に組み込むＬＥのネットワークに基づいている。したがって、新しいマッピングフローは、ルーティング資源の更に良い利用を可能にする。そのフローは、相互接続遅延を削減するためにＬＥの中で提供されたルーティング資源を有効に利用する、いくつかの新しい相互接続最適化手法を組み込む。それは、ＮａｎｏＭａｐが提供するロジックフォールディング機能を使用するとともに、論理回路、相互接続、又は組み合わせのために各ＬＥを構成するかどうかを決定する。
【００１０】
構成を保存する埋め込み型メモリブロックは、論理構造において分散される。適切な時間に、再構成ビットが再構成可能なスイッチに供給される。ＮＡＴＵＲＥは、ＣＭＯＳ論理回路、及びナノ電子ランダムアクセスメモリ（ＲＡＭ）を使用する。ナノ電子ＲＡＭの製造工程はまだ成熟していないので、アーキテクチャがＣＭＯＳで実装されると仮定して、実験結果が提示される。例えば、読み取り動作の間ビットラインで通常消費されるプリチャージ電力を節約する低消費電力非プリチャージ１０ＴスタティックＲＡＭ（ＳＲＡＭ）が、構成データの記憶のために使用され得る。ＦｉｎＦＥＴ及び他のもののような他の実装がこの開示の範囲からはずれずに可能である、ということが理解されるべきである。
【００１１】
ＦＤＲは、６５ｎｍのＣＭＯＳ技術を用いて評価された。ロジックフォールディングを使用しない従来のアイランド形式のアーキテクチャと比べると、領域は９．１４倍だけ向上し、それはＦＰＧＡとＡＳＩＣとの間の領域格差の半分である。回路遅延、及び電力消費は、それぞれ、ｌ．ｌｌ倍、及び１．４５倍だけ削減される。大幅なロジックフォールディング状態のＮＡＴＵＲＥと比較して、領域、回路遅延、及び電力消費は、それぞれ、２．１２倍、３．２８倍、及び１．７４倍だけ向上する。
【００１２】
ＮＡＴＵＲＥは、基本的にランタイム再構成を容易にし得るハイブリッドＣＭＯＳ／ナノ技術（hybrid  CMOS/nano-technology）の再構成可能なアーキテクチャである。それは、階層的な再構成可能な相互接続により接続されるアイランド形式ロジックブロック（logic  block：ＬＢ）を含む。再構成ビットを保存するために、高密度、高性能のナノ電子ＲＡＭが論理構造において分散される。再構成の間、ビットは、ナノ電子ＲＡＭから読み取られ、そして論理回路及び相互接続を再構成するためにＳＲＡＭセル内にセットされる。数周期ごとにＮＡＴＵＲＥを再構成する能力は、一時的なロジックフォールディングの概念につながる。
【００１３】
一時的なパイプライン化と同種であるロジックフォールディングは、数周期ごとに（たとえ全周期ごとでも）同じＬＥにおいて異なる機能を実現するために、オンチップＲＡＭで使用可能な（on-chip  RAM-enabled：オンチップＲＡＭ対応の）ランタイム再構成を使用する。これは、特筆すべき領域及びロジック密度の改善をもたらす。どのくらいの頻度で再構成が実行されるかに応じて、ロジックフォールディングは異なるレベルの精度（granularity）を有することができる。これは、異なる領域／遅延特性をもたらし、そして領域−遅延トレードオフを実行する際に大幅な柔軟性を提供する。２つの連続する再構成の間で実行されるＬＵＴレベルの数は、フォールディングレベルと言われる。
【００１４】
図ｌａ及び図ｌｂは、レベル−１のフォールディング及びレベル−２のフォールディングの実例を示す。これらの実例において、再構成は、それぞれ、１つのＬＵＴレベル、及び２つのＬＵＴレベルのあとで行われる。更に多くの計算が１つのクロック周期において実行されるので、フォールディングレベルを増加することは、より大きなクロック期間、しかしより小さな周期総数（cycle  count）につながる。フォールディングレベルが増大すると、回路遅延は典型的に減少する。例えば、その全体においてここに組み込まれている、“W.  Zhang”、“N.  K.  Jha”、及び“L.  Shang”による“A  hybrid  nano/CMOS  dynamically  reconfigurable  system−part  I：Architecture,”  ACM  J.  Emerging  Technologies  in  Computing  Systems,  vol.  5,  pp.  16.1-16.30,  Nov.  2009を参照のこと。しかしながら、フォールディングレベルを増加することは、必要とされるＬＥの数における劇的な増加につながる。この実例では、レベル−１のフォールディングは、実行するために３つのＬＵＴ及び４つの周期を必要とする。各クロック周期は、再構成遅延、ＬＵＴ計算遅延、及び相互接続遅延によって構成される。レベル−２のフォールディングのために、６つのＬＵＴ及び２つの周期（クロック期間がはるかに大きい）が必要とされる。レベル−２のフォールディングと比べると、レベル−１のフォールディングは、ＬＵＴをほとんど使用しないが、しかし余分の再構成による僅かに大きな回路遅延につながる。
【００１５】
構成の３２個のコピーをサポートするナノ電子ＲＡＭは、約２０％の領域オーバヘッド、及び全体の回路遅延の１０％未満を占める再構成遅延を導入する。ＮＡＴＵＲＥは、それがグローバルな通信をほとんど必要としないという理由で、（従来のＦＰＧＡにおける８０％と対照して）相互接続するためにチップ領域の約６０％のみを提供するので、この領域オーバヘッドは容易に取り戻される。したがって、相互接続において節約される領域は、全体のチップ領域を増加することなく、ナノ電子ＲＡＭに対して提供され得る。これは、従来の再構成可能なアーキテクチャと比べると、領域−遅延成果、ロジック密度、及び電力消費における有意の利得をもたらす。
【００１６】
非プリチャージ低消費電力ＳＲＡＭが使用され得る。例えば、その全体においてここに組み込まれている、“H.  Noguchi”、“Y.  Iguchi”、“H.  Fujiwara”、“Y.  Morita”、“K.  Nii”、“H.  Kawaguchi”、及び“M.  Yoshimoto”による“A  10T  non-precharge  two-port  SRAM  for  74%  power  reduction  in  video  processing,”  Proc.  IEEE  Computer  Society  Annual  Symp.  on  VLSI,  pp.  107-112,  Mar.  2007を参照のこと。その名前が意味するように、１０Ｔ  ＳＲＡＭセルは、１０個のトランジスタを有している。これに代るものとして、図２において示されるように、６Ｔ  ＳＲＡＭセルが、読み出しインバータ、及び読み取りポートのためのトランスミッションゲートと共に使用され得る。他のメモリ構成がこの開示の範囲からはずれずに使用され得る、ということが理解されるべきである。書き込み操作は、書き込みワードラインへの論理１の印加、及び書き込みビットラインへの所望のデータの印加を通じて、従来の６Ｔ  ＳＲＡＭと同様に実行される。読み出しインバータが読み取りビットラインを十分にチャージ（充電）／ディスチャージ（放電）するので、読み取り動作を実行するために、プリチャージスキームは必要とされない。したがって、読み出しデータが変わるまで、ビットライン上の電圧は変化しない。任意の読み出しデータの場合は、３９％の電力低減が報告される。データにおける空間相関に起因して、Ｈ．２６４の再構成画像メモリのようなアプリケーションに関して、７４％の電力低減が報告されている。従来のＳＲＡＭと比べると、プリチャージの時間が削減されるので、遅延は３８％も向上する。６Ｔ  ＳＲＡＭセルと比較して、セル領域オーバヘッドは２０％になる。１０Ｔ  ＳＲＡＭは、メモリの読み取りビットライン上の高速切り替え動作を排除するので、したがって、大部分のプリチャージ電力を節約し、それは低電力アプリケーションに対して有望な広汎なオンチップメモリになる。
【００１７】
ＦＤＲアーキテクチャの高水準の展望図が図３ａで示される。ＦＤＲアーキテクチャは、一様なＬＥのアレイを含む。隣接するＬＥは、短い相互接続（ダイレクトリンク）によって接続される。各ＬＥは、任意に、ＬＵＴ又は相互接続又は組み合わせに構成されることができる。したがって、必要とされる場合に、ＬＥはスイッチを実装し、そして効率的な短距離通信をサポートする相互接続ネットワークを形成する。ロジックフォールディングによって、通信はローカライズされた状態になる傾向があり、それは長い相互接続の数を削減することを可能にする。そのアーキテクチャは、大部分の長距離の配線及びグローバルな配線を除去する。いくつかのＬＥが相互接続として構成される必要があるかもしれないが、大幅なロジックフォールディング（例えばレベル−１のフォールディング）は、この相互接続オーバヘッドを、従来のＦＰＧＡにおける相互接続オーバヘッドより、大幅により少なくする。ＬＥの外側のいくつかのルーティングトラックは、クロック及びリセットのようなグローバルな信号、及び高いファンアウトを有する信号をサポートする。従来のアーキテクチャと同様に、これらのルーティングトラックは、スイッチブロック（ＳＢ）により接続されている。接続ブロック（ＣＢ）は、ＬＥのＩ／Ｏからルーティングトラック及びダイレクトリンクまでの接続を提供する。図３ｂは、４つの長さ２のトラック、及び４つの長さ４のトラックの使用を示す（ＳＲＡＭブロックは明瞭化のために省略された）。ファイングレイン構造の動的再構成は、分散された１０Ｔ  ＳＲＡＭブロックを通じて、そのようなアーキテクチャにおいて可能にされる。
【００１８】
ＬＥは、ＦＤＲの基本単位である。図４ａは、ＬＥの可能な設計を示し、図４ｂは、下記の段落で説明されることになる設計パラメータを要約する。ＬＥは、４入力のＬＵＴ、ｌ個のＤフリップフロップ（ＤＦＦ）、並びにｎ個の入力及び出力を含む（図ではｌ＝４、ｎ＝１６の場合のＬＥを例示する。）。ＬＥは、等しい数の入力及び出力を有するように設計されており、その結果、各一対の隣接するＬＥの間のピン接続は一様であり、ｎ／４個の入力及び出力がＬＥの各面に配置されている。したがって、ｎ／４本のダイレクトリンクが隣接するＬＥに対する接続のために各面に存在する。４個のマルチプレクサ（ＭＵＸ）は、ＬＵＴへの入力を選択する。ＬＵＴの出力は、出力ＭＵＸを通じて隣接するＬＥに渡されるか、又はローカルなＤＦＦに保存される。１つの構成ビットが、イネーブル信号としてＤＦＦと関連付けられている。ＬＥの間の相互接続の数を削減するために、ＤＦＦは、ローカルなＬＵＴの出力のみをラッチするように設計されている。１６個の出力ＭＵＸは、ＬＵＴ、ＤＦＦ、又は入力から、出力ピンに対して信号を渡すための柔軟性を提供する。ＬＥを単に相互接続として使用するために、出力ＭＵＸは、ＬＥの入力からＬＥの出力にビットを単に送ることができる。
【００１９】
以前の研究活動は、パイプライン化された相互接続を通じてクロック期間を伸ばそうとしていた。大部分の活動は、相互接続に挿入されたレジスタの配置及び数を検討する。ＦＤＲにおいて、ＬＥに存在するＤＦＦは、相互接続のパイプライン化のために使用され得る。図５は、１つのＤＦＦがＬＥ入力ビットをラッチすることを可能にする、別の可能なＬＥ設計を示す。ＤＦＦは、経路指定されたパスに沿ったパイプラインレジスタとして使用され得る。
【００２０】
Ｆｓ＿ＬＥ、Ｆｉ、及びＦｏは、入力ＭＵＸ及び出力ＭＵＸの柔軟性を定義する。Ｆｓ＿ＬＥは、各入力がつながることができる出力の数のことを指す。Ｆｉは、ＬＵＴの入力ＭＵＸにつながることを許可された入力の数である。Ｆｏは、ＬＵＴ及びＤＦＦがつながることができるＬＥ出力の数である。図４ａは、完全な接続性を有する設計を示す。Ｆｉ及びＦｏは両方とも１６に設定され、それは、各ＬＥ入力がＬＵＴの４入力ＭＵＸ全てにつながり、そしてＬＵＴ及びＤＦＦからの出力のそれぞれが全てのＬＥ出力につながることを許可されることを意味する。Ｆｓ＿ＬＥは、１２に設定され、その結果、各ＬＥ出力に対して、他の３つの面が提供するＬＥ入力の全てから接続が存在する。
【００２１】
ダイレクトリンクによりサポートされる短距離通信及びローカル通信に加えて、大きなファンアウトを有するいくつかの信号は、大きな領域に及ぶいくつかのＬＥを接続する必要があるかもしれない。多くのダイレクトリンクセグメントを通してこれらのネットを経路指定することは、タイミングについても領域についても効率的ではない。したがって、少量のより長いルーティングトラックが必要とされる。図３ｂでは、４つの長さ２の配線と、４つの長さ４の配線とが存在する。長さ２（４）の配線は、配線がＳＢにおいて終端する（terminate）前に、２つ（４つ）のＬＥの橋渡しをする。ＣＢは、ＬＥの入力／出力ピンをルーティングトラックに接続する。重要なパラメータＦｃが、ＣＢと関連付けられている。それは、ＬＥのピンがつながるトラックの数と、隣接チャネルにおける各タイプの配線のために利用可能なトラックの数との比率である。長さ２の配線に対してはＦｃ＝０．５が使用され、そして長さ４の配線に対してはＦｃ＝０．２５が使用され、その結果、ＬＥの各Ｉ／Ｏピンは、２つの長さ２の配線及び１つの長さ４の配線に接続される。図６は、それぞれ図３ｂ及び図４ａにおいて示されたアーキテクチャ及びＬＥのためのＬＥの一方の面のＣＢの設計を示す。各ＬＥ入力のために、ＭＵＸは、２つの長さ２の配線、１つの長さ４の配線、及び１つのダイレクトリンクの中から接続を選択する。各出力のために、３つトランスミッションゲートは、それぞれ、２つの長さ２の配線、及び１つの長さ４の配線につながる。各出力は、同様に、ダイレクトリンクによって隣接するＬＥのＣＢに直接つながる。ＳＢは、配線セグメントをつなぐ。
ＳＢと関連付けられた設計パラメータは、Ｆｓ＿ＳＢであり、それは、各入力がＳＢを通してつながることができる出力セグメントの数である。ＳＢは、Ｆｓ＿ＳＢ＝３によって設計されたとともに、それは、スイッチに入る各セグメントが３つの他のセグメントにつながることを意味する。
【００２２】
ＬＥ入力／出力の数に基づいてダイレクトリンクの数を決定することは、回路入力／出力に接続されるネットのルーティング可能性を制限し得る。ｉｏ＿ｒａｔと呼ばれるアーキテクチャのパラメータは、Ｉ／Ｏブロック当たりパッドの数として指定され得る。ダイレクトリンクの数がｉｏ＿ｒａｔより少ない場合に、ダイレクトリンクは、回路Ｉ／Ｏを経路指定するのに十分ではなく、したがって、余分のルーティング配線が必要とされる。これらの余分の配線は、より大きなＣＢ及びＳＢからの領域オーバヘッドをもたらす。シミュレーション結果から、必ずしも全てのＩ／Ｏパッドが全てのフォールディングステージにおいて使用中であるとは限らないということが気付かれた。したがって、新しいパラメータｓｔａｇｅ＿ｉｏ＿ｒａｔが、各ステージにおける使用中のＩ／Ｏパッドの最大数を制限するために導入された。この特徴は、Ｉ／ＯブロックをダイレクトリンクとつなぐＭＵＸを有するハードウェアに実装される。図７は、ｉｏ＿ｒａｔ＝８及びｓｔａｇｅ＿ｉｏ＿ｒａｔ＝４（それはダイレクトリンクの数に等しい）を有する実例を例示する。したがって、８個のＩ／Ｏパッドのうちの４つが、各フォールディングステージにおいて使用されることができる。
【００２３】
図８は、専用桁上げ論理回路を有するＬＥ設計を示す。１６個の出力ＭＵＸに対する様々な接続が詳細に示される。ＬＥの設計パラメータの値は“（ｌ，ｎ，Ｆｓ＿ＬＥ，Ｆｏ，Ｆｉ）＝（４，１６，１２，８，１２）”のように選択される。桁上げユニットは、同じ４つの入力をＬＵＴと共用する。加算器、減算器、又は乗算器のために桁上げ計算を実行するかどうかを判定するために、２つの構成ビットが必要とされる。桁上げユニットの出力は、ＬＵＴの出力と同じ接続性を有している。それは、ローカルなＤＦＦ及び出力ＭＵＸにつながる。ＬＵＴ出力と桁上げ出力との間でビットを選択するために、ＭＵＸが各ＤＦＦの入力に加えられる。図５において示された設計のように、ＤＦＦは、相互接続のパイプライン化をサポートするために、ＬＥ入力を直接ラッチすることができる。１６個のＬＥ出力ピンのそれぞれは、出力ＭＵＸにより駆動される。Ｆｓ＿ＬＥ＝１２であるので、出力ＭＵＸへの入力は、他の３つの方向からの１２本のピンを含む。Ｆｏ＝８は、ＤＦＦからの出力（ｆｆ＿ｏｕｔ＜０：３＞）、ＬＵＴからの出力（ｌ＿ｏｕｔ＜０＞）、及び桁上げユニットからの出力（ｌ＿ｏｕｔ＜ｌ＞）のそれぞれが８個の出力ＭＵＸにつながる必要がある、という意味を含む。設計は、同様に、ＤＦＦの出力（ｆｆ＿ｏｕｔ＜０：３＞）から出力ＭＵＸまでの４つのさらなる接続を可能にする。各出力ＭＵＸが１６本の入力ピンを有するように、これらの接続は配置される。
【００２４】
図９は、桁上げ論理回路の詳細設計を示す。この実例設計は、入力Ａ、Ｂ、及びＣを必要とし、そして桁上げ出力ＣＯを計算する全加算器の桁上げ論理回路に基づいている。桁上げユニットへの４つの入力ａ、ｂ、ｃ、及びｄは、減算及び乗算を同様にサポートするために、構成ビットｓ０及びｓ１に応じて事前処理（preprocess）される。３つの入力ａ、ｃ、及びｄは、加算のために直接Ａ、Ｂ、及びＣにつながる。入力ビットは、減算のために反転される必要がある。ｓ０は、ｄの反転されたバージョンを使用するかどうか決定する。加算器を従えているＡＮＤゲートは、乗算の多くの異なる実装において広く使用される。既に加算器の桁上げ論理回路が提供されているので、ｂｃを計算するＡＮＤゲートを加える。ｓ１は、ｃとｂｃとの間で、Ｂに対する所望の入力を選択する。この設計によって、使用されるＬＥの数は、算術計算のための約半分まで削減されることができる。
【００２５】
アーキテクチャに対してＲＴＬにおいて指定された１０個のベンチマークが、桁上げ論理回路を有している場合及び桁上げ論理回路有していない場合でマッピングされた。１０個のベンチマークの中で、ＡＳＰＰ４は、特定用途向けのプログラム可能なプロセッサである。Ｂｉｑｕａｄは、デジタルフィルタである。Ｐａｕｌｉｎは、微分方程式ソルバー（solver）である。ＡＲＦ、ＥＷＦ、ＦＩＲ１、ＦＩＲ２、及びＨＡＬは、ＭｅｄｉａＢｅｎｃｈから獲得される、良く知られているＤＳＰアプリケーションである。それぞれ、ＤＣＴ及びＷａｖｅｌｅｔは、離散的コサイン変換及びウェーブレット変換計算を実行する数学関数である。図１０ｂは、両方の場合に使用されるＬＥの数を提示する。ＬＥの総数における削減効果は、５．９％から４８．４％まで変動する。ＡＳＰＰ４、Ｂｉｑｕａｄ、及びＰａｕｌｉｎは、桁上げ論理回路を利用しないＭＵＸによって支配される。したがって、専用桁上げ論理回路の影響は限定される。他のベンチマークは、数値演算によって支配される。したがって、ＬＥの総数は、ほとんど半分まで削減されることができる。その領域が半分まで削減される場合に、アレイの中の通信密度は２倍になる。したがって、通信の増量分をサポートするために、オリジナルのＦＤＲに含まれるルーティング資源を２倍にする。新しい設計は、３２本のダイレクトリンク及び１６本のルーティングトラックを含み、ルーティングトラックのうち、８本は長さ２の配線であり、８本は長さ４の配線である。増加した相互接続及び桁上げ論理回路は、共に、ＬＥタイル当たり３０％の領域オーバヘッドをもたらし、それは、大部分のベンチマークに関して、ＬＥの総数の削減によって十二分に取り戻される。
【００２６】
大幅なロジックフォールディングは、長い相互接続の必要性を大幅に削減する。短距離の相互接続は、大部分のケースに対して十分である。したがって、図３ａ及び図３ｂにおいて示される基準のＦＤＲアーキテクチャにおいて、効率的な短距離通信をサポートするように隣接するＬＥを直接つなぐために、いくらかの水平及び垂直のダイレクトリンクが使用される。図１０ａ（ＦＤＲ２．０アーキテクチャ）において示されるように、この実例では、ルーティングの柔軟性を更に改良するために、斜めの接続が加えられる。この新しい設計は、更に多くのダイレクトリンクを必要としないが、しかし均等に８つの方向に分散された同じ数のリンクを有する。ルーティングネットがＬＥアレイにおいて方向転換する必要があるかもしれないので、斜めのリンクを使用することはルーティングステップがＬＥを飛び越すことを可能にし、したがってルーティング遅延を削減する。ＬＥがルーティングスイッチとして使用されるので、ネットに沿ってＬＥの数を削減することは、同様に、ＬＥの作業負荷を削減し、そしてルーティングの輻輳を緩和する。
【００２７】
上記の１０個のベンチマークは、相互接続の性能を比較するために、ＦＤＲ２．０アーキテクチャと同様に、基準のＦＤＲにマッピングされた。両方共が、図８において示される同じＬＥ設計を有すると仮定された。基準のＬＥは、３２本のダイレクトリンクを有しており、そのうちの１６本は水平であり、１６本は垂直である。図１０ａで示されるように、ＦＤＲ２．０のＬＥは、等しく８つの方向に分散された３２本のダイレクトリンクを有している。他のルーティング資源は、２つのアーキテクチャにおいて同じ状態に保たれる。ルーティングトラックの半分は、長さ２の配線であり、その他は長さ４の配線である。２つのケースは、同じ配置を使用する。そのアーキテクチャは、短絡ゲート（shorted-gat：ＳＧ）モードＦｉｎＦＥＴを有する２２ｎｍのＦｉｎＦＥＴ技術において実施される。ＦＤＲＭａｐのための最適化目標は、領域制限の下にある回路遅延の最小化に設定される。図１０ｃは、マッピング結果を要約する。このテーブルにおいて提示されたクリティカルパス遅延は、論理回路遅延と相互接続遅延の両方を含む。それは、フォールディングの周期時間及び全体の回路遅延を決定する。平均して、斜めのダイレクトリンクは、クリティカルパス遅延を２３．３％まで削減する。
【００２８】
構成メモリの他に、データ記憶のために、分散されたＳＲＡＭブロックをＦＤＲ２．０に組み込む。これは、論理回路に集中的な（logic-intensive）アプリケーションとメモリに集中的な（memory-intensive）アプリケーションの両方を実行するための能力を向上させる。このセクションでは、メモリブロックの詳細設計を提示する。設計空間調査（design  space  exploration）は、望ましい性能を達成する所望のメモリ密度を獲得するために、様々なベンチマークによって実行される。
【００２９】
現在のＦＰＧＡは、少量の列に配置された埋め込み型メモリを有する傾向がある。そのような設計は、更に大きな記憶容量を可能にし、周辺的な回路オーバヘッドを削減する。しかしながら、それは、同様に、論理回路とメモリとの間のより長いメモリアクセス時間及び相互接続遅延をもたらす。ロジックフォールディングが領域効率をただでさえ著しく向上させるので、このメモリ設計では、性能の最適化を重視する。通信効率を向上させるために、ＬＥアレイにおいてＳＲＡＭブロックが一様に分散される。３×３アレイ当たり１つのＳＲＡＭブロックを有する（すなわち、メモリ密度が１／９に等しい）構造的な事例が図１１において示される。
【００３０】
図１２ａは、ＦＤＲ２．０において使用されるメモリブロックの設計を示す。それは、ＬＥと同じである１６個の入力及び１６個の出力を有している。データメモリは、それがＬＥと同じ領域を有するように、８ｋビットになるように設計されている。１６個のＩ／Ｏは、ＬＥが行うのと同様に、様々なルーティングトラック及びダイレクトリンクにつながる。単一ポート８ｋビットＳＲＡＭへの入力は、１つのデータポート、アドレス線、クロック、並びに、イネーブル、クリア、及びリセットを含んでいる制御信号を含む。ＦＰＧＡにおける埋め込み型メモリは様々なアプリケーションに使用される必要があるので、その設計は柔軟である必要がある。したがって、８ｋビットＳＲＡＭは、異なる方法：８Ｋ×１、４Ｋ×２、２Ｋ×４、１Ｋ×８、５１２×１６、及び２５６×３２において構成されることができる。それらのブロックは、同様に、より大きなメモリを形成するために結合されることができる。
【００３１】
いくつかのメモリ構成において、ＳＲＡＭは、１６個を超える入力又は出力を有している。例えば、１Ｋ×８メモリへの書き込み操作は、１０個のアドレスビットと８個のデータビットを必要とする。フォールディング周期において、メモリブロックは、せいぜい１６個の入力を受け取るか、及び／又はせいぜい１６個の出力を相互接続ネットワークに対して送ることができる。メモリブロックは、その入力を、複数のステージを通して獲得することができる。入力ビットは、ＳＲＡＭ動作が始まる前に、入力レジスタでバッファされる。アドレスレジスタは１３ビットを保存し、データレジスタは３２ビットを保存する。クロスバーから成る入力スイッチマトリックスは、入力をこれらのレジスタに接続する。異なるフォールディング周期において、出力ＭＵＸは、相互接続ネットワークを通して、ＬＥにおいて実行される論理計算に対して、出力ビットを選択的に送る。
【００３２】
次に、メモリアクセスを含む１０個の異なるベンチマークに対するマッピング結果が提示される。ＳｍｏｏｔｈＴｒｉａｎｇｌｅ、ＩｎｔｅｒｐｏｌａｔｅＡｕｘ、ＨｏｒｎｅｒＢｅｚｉｅｒ、ＭａｔｒｉｘＭｕｌｔ、及びＭｏｔｉｏｎＶｅｃｔｏｒは、ＭｅｄｉａＢｅｎｃｈが提供し、ｂｏｕｎｄｔｏｐ、及びｍｋＳＭＡｄａｐｔｅｒ４Ｂは、ＶＴＲ  ｐｒｏｊｅｃｔが提供し、Ｊａｃｏｂｉａｎは、関数行列式変換を実行し、ＦＩＲは、有限インパルス応答フィルタであり、ＹＵＶ２ＲＧＢは、ＹＵＶモードからＲＧＢモードへの画像変換を実行する。これらのベンチマークの中で、ｂｏｕｎｄｔｏｐ、ｍｋＳＭＡｄａｐｔｅｒ４Ｂ、Ｊａｃｏｂｉａｎ、ＹＵＶ２ＲＧＢ、及びＦＩＲは、ゲートレベルで指定され、その他はＲＴＬにおいて指定される。
【００３３】
図１２ｂは、ロジックフォールディングが実行されたあとの各ベンチマークに対するハードウェア資源の必要条件をリストする。８ｋビットＳＲＡＭの読み取り又は書き込みは１つのフォールディング周期において達成されることができると仮定する。したがって、メモリブロックへのアクセスは、全ての入力ビットを獲得するために余分のクロック周期が必要とされる、少なくとも２つの周期を必要とする。図１１において示されるように、それらのベンチマークは、分散されたデータメモリブロックを有するＦＤＲ２．０アーキテクチャにマッピングされる。分散されたメモリブロックの密度は、領域効率と性能の両方を決定する。もしベンチマークがよりメモリに集中的（memory-intensive）であるならば、より多くのメモリブロックがより大きな容量を提供するために必要とされる。一方、論理回路により支配されるベンチマークに関しては、ＬＥに対する空間を残すために、より低いメモリ密度が望ましい。
【００３４】
ＦＰＧＡは、それらが、ソフトウェアプロセッサと比べるとより優れている性能を提供し、そしてＡＳＩＣと比べるとより優れている設計融通性を提供するので、マルチメディア処理に広く使用される。多数の数値演算を含むアプリケーションを容易にするために、埋め込み型乗算器、又はより複雑なＤＳＰブロックがＦＰＧＡにしばしば組み込まれる。これらのブロックは、特に数値演算のために最適化され、そして一般にデジタル信号処理アプリケーションのためのより優れている領域及び性能をもたらす。前述の説明では、ファイングレイン構造のＬＥのみを有するＦＤＲが、従来のＦＰＧＡと比べると、それぞれ、領域及び遅延において、９．１４倍及び１．１ｌ倍の改善を達成することを示した。
【００３５】
図１３は、ＦＤＲ２．０に使用されるＤＳＰブロックの設計を示す。それは、１６ビットのウォレスツリー乗算器（Wallace  tree  multiplier）、及び加算又は減算を実行するように構成されることができる３２ビットの桁上げルックアヘッド加算器／減算器を有している。乗算器と加算器の組み合わせは、２つの数の積を取得してそれをアキュムレータに加える、高速の積和（ＭＡＣ）動作を可能にする。より広い乗算器を実現するために、“動作モード”変数により制御されて、加算器／減算器への入力は１６ビットだけシフトされることができる。
【００３６】
上記で論じられたように、ロジックフォールディングが実行される場合に、一時的な結果を保存するために、より多くの出力レジスタが必要とされる。したがって、この実例では、ＬＥ設計と同様に、４つの３２ビット出力レジスタが使用される。ロジックフォールディングは、ＤＳＰブロックの共用を可能にし、その結果、ＤＳＰブロックは、異なるフォールディングステージにおいて異なる動作を実行することができる。出力レジスタから、乗算器の入力、及び加算器／減算器の入力までのフィードバック経路が存在する。それらは、ＤＳＰブロックが再使用される場合に、効率的なローカル通信を可能にする。加算器／減算器への経路は、アキュムレータの実装を可能にする。４つの３２ビットレジスタから入力ＭＵＸまでの接続は、ＭＵＸの入力ピンが十分に利用されるように配置される。４つの入力ＭＵＸは、大きな領域オーバヘッドを招くことなく、柔軟なフィードバック接続を提供する。乗算器が単に１６ビット入力を必要とするので、乗算器に対する３２ビットフィードバック信号は、上側の１６ビット及び下側の１６ビットに分類され、それは、より大きなビット幅の乗算を実行するために使用されることができる。
【００３７】
ＤＳＰブロックは、相互接続ネットワークからの、１６ビットのＡ＿ｉｎ及びＢ＿ｉｎ、３２ビットのＣ＿ｉｎ、及び１ビットのＣａｒｒｙ＿ｉｎを含んでいる６５本の入力ピンを必要とする。乗算器の入力、及び加算器／減算器の入力におけるＭＵＸは、それらの入力を、ＤＳＰ入力ピン及びフィードバック信号の中から選択する。定数１による乗算は、乗算器を迂回して、単に加算又は減算を実施することを可能にする。出力ＭＵＸは、４つの３２ビット出力レジスタに保存される出力から選択し、その時々に、これらの３２ビット及び単一ビットのＣａｒｒｙ＿ｏｕｔを相互接続ネットワークに送る。
【００３８】
周囲の相互接続に対するインタフェースを考慮することによって、ＤＳＰブロックのサイズは、ＬＥタイルの矩形の２×３のアレイに適合するように設計されている。図１４において示されるように、ＤＳＰブロックは専用の列に組み込まれる。Ｃａｒｒｙ＿ｉｎピン及びＣａｒｒｙ＿ｏｕｔピンは、ＤＳＰの上側及び下側に配置されている。他の６４個の入力及び３２個の出力は、等しくブロックの左右の面に分散される。必要とされる場合に、同じ列におけるＤＳＰブロックは、桁上げ論理回路のための専用接続によって、より広い加算器／減算器を形成することができる。ＤＳＰの間の効率的な通信をサポートするように、６４本の垂直のダイレクトリンクが出力ビットを隣接するＤＳＰに送るためにＤＳＰの上側及び下側に組み込まれる。これらのダイレクトリンク以外に、他の特定の相互接続資源はＤＳＰに割り当てられない。ＤＳＰブロックは、ルーティングトラック及び隣接するＬＥからのダイレクトリンクを含む一般的な相互接続ネットワークにより、ＬＥアレイに接続される。入力スイッチマトリックスは、各ＤＳＰに付加される。それは、ダイレクトリンク及びルーティングトラックからＡ＿ｉｎ、Ｂ＿ｉｎ、及びＣ＿ｉｎを選択するいくつかのＭＵＸを含む。ＤＳＰブロックの入力接続及び出力接続が、図１５において示される。
【００３９】
以前に言及されたように、コースグレイン構造のアーキテクチャは、ファイングレイン構造のアーキテクチャと比べると、より優れている領域に常に通じるとは限らない。しかしながら、領域制限がない場合に、回路遅延は、平均で３．６倍だけ向上し得る。遅延制限が徐々に緩和されると、大部分のベンチマークは、領域において減少している傾向を見せる。ＡＲＦ、ＤＣＴ、ＥＷＦ、ＦＩＲ１、ＦＩＲ２、Ｗａｖｅｌｅｔ、ＳｍｏｏｔｈＴｒｉａｎｇｌｅ、ＨｏｒｎｅｒＢｅｚｉｅｒ、ＭａｔｒｉｘＭｕｌｔ、及びＭｏｔｉｏｎＶｅｃｔｏｒのようなＤＳＰ動作により支配されたベンチマークに関しては、遅延オーバヘッドが増大すると急速な領域減少が観察される。この傾向は、ＤＣＴについての遅延対領域を示すグラフを示す図１６においてより明瞭に観察され得る。極端なケースにおいて、ＦＤＲＭａｐは、できる限り早く全てのＤＳＰ動作をスケジュールすることによって遅延を最小化しようとする。したがって、多くの動作が、最初のいくつかのフォールディング周期に詰め込まれる。しかしながら、（ＤＳＰブロックが３つのクロック周期を必要とするので）さらに３つのクロック周期を加えることのように、もし遅延制限が緩和されるならば、その場合に、ＤＳＰブロックは再使用されることができ、したがって著しくＤＳＰブロックの数を削減する。ツールがさらにフォールディング周期を加え続けると、ＤＳＰブロック内のＤＦＦの限られた数がネックになり、領域の減少する傾向がより遅くなる。
【００４０】
図１７は、別の傾向（ＡＳＰＰ４及びＰａｕｌｉｎの場合に同じく見られる）を見せるＢｉｑｕａｄについての遅延対領域を示すグラフを示す。これらのベンチマークは、ＬＥにおいて実行される論理により支配される。したがって、より多くのフォールディング周期を加えることは、ＤＳＰの数に対して限られた影響を与える。ＬＥの数は同様に削減されることができるが、全面積に対する影響は、上記で論じられたベンチマークと比べると少ない。ＨＡＬ及びＩｎｔｅｒｐｏｌａｔｅＡｕｘのマッピング結果は、同様に、コースグレイン構造のマッピングにおいて、領域−遅延のトレードオフを示さない。これは、ＨＡＬの論理回路が、ＤＳＰブロックよりさらに多くのフォールディング周期を必要とする多くのＬＵＴレベルを有しているからである。ＩｎｔｅｒｐｏｌａｔｅＡｕｘの回路構造は、できる限り早いスケジューリングによってＤＳＰ動作が今すぐ異なる周期で実行されることを可能にする。したがって、ＤＳＰブロックの再使用が可能になる。
【００４１】
次に、メモリブロックの共用について考察する。ここでは、異なるクロック周期において、異なる内容によってメモリブロックが再構成されることを許可しない。しかしながら、メモリブロックは、もしメモリ動作が同じフォールディング周期に存在しないならば、複数の、より小さなメモリにより分割されて、共用されることができる。図１８は、メモリＡ及びメモリＢが異なるクロック周期でアクセスされるように同じメモリブロックを共用する実例を示す。
【００４２】
ルーティング可能性により決定される配置：オリジナルのＶＰＲベースの配置及びルーティングは、ファイングレイン構造のＬＥのみをサポートした。ここでは、データメモリブロックとＤＳＰブロックの両方を含むようにツールを修正する。効率的な設計空間調査（design  space  exploration）のために、ここでは、ユーザがメモリ密度、ＤＳＰ面積、及びＤＳＰ密度を指定することを許可する。メモリ及びＤＳＰブロックの配置は仕様に基づいて決定される。
【００４３】
ルーティング：ＶＰＲは、ＤＳＰブロックの間の斜めのダイレクトリンク及び垂直のダイレクトリンクに対処するために修正される。修正されたツールは、ＬＥ、メモリブロック、及びＤＳＰブロックの間の通信を経路指定する。
【００４４】
ここでリストされた参考文献は、同様に、本願の一部分であり、ここで十分に説明されるように、それらの全体の参照によって組み込まれている。ここでの開示に基づいて多くの変形が可能である、ということが理解されるべきである。特徴及び構成要素が特定の組み合わせにおいて上記で説明されるが、各特徴又は構成要素は、他の特徴及び構成要素なしで単独で使用され得るか、又は、他の特徴及び構成要素を有している様々な組み合わせ、若しくは他の特徴及び構成要素を有していない様々な組み合わせにおいて使用され得る。ここで提供された方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のために非一時的なコンピュータ読み取り可能記憶媒体に組み込まれたコンピュータプログラム、ソフトウェア、又はファームウェアにおいて実装され得る。コンピュータ読み取り可能記憶媒体の実例は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、レジスタ、キャッシュメモリ、半導体メモリ装置、内部ハードディスク及び交換可能ディスクのような磁気媒体、光磁気メディア、並びにＣＤ−ＲＯＭディスク及びデジタル多用途ディスク（ＤＶＤ）のような光学媒体を含む。
【図１ａ】
2016513363.tif 000003
【図１ｂ】
2016513363.tif 000004
【図２】
2016513363.tif 000005
【図３ａ】
2016513363.tif 000006
【図３ｂ】
2016513363.tif 000007
【図４】
2016513363.tif 000008
【図４ｂ】
2016513363.tif 000009
【図５】
2016513363.tif 000010
【図６】
2016513363.tif 000011
【図７】
2016513363.tif 000012
【図８】
2016513363.tif 000013
【図９】
2016513363.tif 000014
【図１０】
2016513363.tif 000015
【図１０ｂ】
2016513363.tif 000016
【図１０ｃ】
2016513363.tif 000017
【図１１】
2016513363.tif 000018
【図１２ａ】
2016513363.tif 000019
【図１２ｂ】
2016513363.tif 000020
【図１３】
2016513363.tif 000021
【図１４】
2016513363.tif 000022
【図１５】
2016513363.tif 000023
【図１６】
2016513363.tif 000024
【図１７】
2016513363.tif 000025
【図１８】
2016513363.tif 000026
【国際調査報告】
2016513363.tif 000027