JP4621215B2 - モジュール式i/oバンクアーキテクチャ - Google Patents

モジュール式i/oバンクアーキテクチャ Download PDF

Info

Publication number
JP4621215B2
JP4621215B2 JP2007010029A JP2007010029A JP4621215B2 JP 4621215 B2 JP4621215 B2 JP 4621215B2 JP 2007010029 A JP2007010029 A JP 2007010029A JP 2007010029 A JP2007010029 A JP 2007010029A JP 4621215 B2 JP4621215 B2 JP 4621215B2
Authority
JP
Japan
Prior art keywords
pins
bank
programmable device
banks
item
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.)
Expired - Fee Related
Application number
JP2007010029A
Other languages
English (en)
Other versions
JP2007195191A (ja
JP2007195191A5 (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.)
Altera Corp
Original Assignee
Altera 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
Priority claimed from US11/337,046 external-priority patent/US20070164784A1/en
Application filed by Altera Corp filed Critical Altera Corp
Publication of JP2007195191A publication Critical patent/JP2007195191A/ja
Publication of JP2007195191A5 publication Critical patent/JP2007195191A5/ja
Application granted granted Critical
Publication of JP4621215B2 publication Critical patent/JP4621215B2/ja
Expired - Fee Related 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
    • 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 Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)

Description

(関連出願の参照)
本出願は、2006年1月19日に出願された、米国特許出願第11/337,046号(タイトル「Modular I/O Bank Architecture」)の一部継続出願である。その全容は全ての目的のために参考により本明細書中に援用される。
(技術分野)
本発明は、プログラマブルデバイスの分野、ならびにそのプログラマブルデバイスをプログラミングするためのシステムおよび方法に関する。
FPGAのようなプログラマブルデバイスは、典型的に、ロジック演算を実行するためにロジックゲートおよび/またはルックアップテーブルの組み合わせを使用する数千個のプログラマブルロジックセルを含む。プログラマブルデバイスは、特定のロジック演算に適合された特殊ロジックデバイス(例えば、加算器、乗算・累積回路、位相ロックループ、および1つ以上の組み込み型メモリアレイブロック)を有する複数の機能ブロックも含む。ロジックセルおよび機能ブロックは、構成可能スイッチ回路を用いて相互接続される。構成可能スイッチ回路は、ロジックセルと機能ブロックとの間の接続を選択的にルーティングする。ロジックセルと、機能ブロックと、スイッチ回路との組み合わせを構成することによって、プログラマブルデバイスは、任意のタイプの情報処理機能をバーチャルに実行するように適合され得る。
プログラマブルデバイスは、外部デバイス(メモリデバイス、ネットワークインターフェース、データバスおよびデータバスコントローラ、マイクロプロセッサ、他のプログラマブルデバイス、ASIC、または任意の他のタイプの電子機器)との通信のために1つ以上の入力/出力(I/O)バンクを含む。I/Oバンクのそれぞれは、プログラマブルデバイスチップパッケージにおける多数の導電性I/Oピン、ボール、または他の電気コネクタと接続される。I/Oバンクは、プログラマブルデバイスと外部デバイスとの間の通信に関連して使用されるデータ信号、制御信号、クロック信号、電力および接地信号、または任意の他のタイプの信号を送信および受信するためのロジックを含む。
プログラマブルデバイスのI/Oバンクは、プログラマブルデバイスと外部デバイスとの間に1つ以上の標準インターフェースを提供するように一緒に構成され得るロジック、増幅器、フィルタ、および他の回路を含む。更に、プログラマブルデバイスのI/Oバンクは、特定のアプリケーションによって必要とされた場合、カスタムまたは専売インターフェースを提供するように構成され得る。
典型的に、広い範囲の異なるプログラマブルデバイスは、プログラマブルデバイスファミリーの一部として設計される。デバイスファミリー内のプログラマブルデバイスは、典型的に、同様のアークテクチャを有するが、チップパッケージサイズおよびタイプ、I/Oピンの数、ロジックセルの数、機能ブロックおよび他の特殊ロジックブロックの数およびタイプ、および/または他の特性の点で異なり得る。
前のプログラマブルデバイスファミリーにおいては、プログラマブルデバイスアーキテクチャは、固定数のI/Oバンクのみをサポートする。結果的に、デバイスファミリー内のプログラマブルデバイスは、1個のI/Oバンクに対して異なる量のI/Oピンを有し得る。例えば、プログラマブルデバイスアーキテクチャが8個のI/Oバンクをサポートした場合、デバイスファミリー内の小さなプログラマブルデバイスは、プログラマブルデバイスに対してトータル160個のI/Oピンに対して、1個のI/Oバンクに対して20個のI/Oピンのみを有し得る。逆に、デバイスファミリー内の例示的で大きなプログラマブルデバイスは、プログラマブルデバイスに対してトータル560個のI/Oピンに対して、1個のI/Oバンクに対して70個のI/Oピンを有し得る。
プログラマブルデバイスアーキテクチャにおける固定数のI/Oバンクと、1個のI/Oバンクに対して可変の数のI/Oピンとの使用は、多数の問題を引き起こす。第1に、ほとんどのI/Oバンクは、一度に1つのインターフェースをサポートするようにのみ構成され得る。1個のI/Oバンクに対するI/Oピンの数が増えると、サポートされるインターフェースに必要とされないI/Oピンは未使用のまま残される。1つ以上のI/Oバンクからの未使用I/Oピンは、さらなるインターフェースをサポートするように統合することができない。従って、1個のI/Oバンクに対するI/Oピンの数が増えると、使用されるI/Oピンの割合は典型的には減少する。これは、しばしば、必要とされるインターフェースをサポートするために利用可能である十分な数のI/Oピンがあること(これは、設計をインプリメントするコストを更に増やす)を確実にするために、設計者が更に多くのI/Oピンを備えるプログラマブルデバイスを使用ことを強いる。更に、I/Oピン使用におけるこれらの制約は、回路基板レイアウトにおける設計者の柔軟性を制限する。
垂直移動は、固定数のI/Oバンクおよび1個のバンクに対して可変数のI/Oピンを使用するという前のプログラマブルデバイスアーキテクチャから生じる他の問題である。しばしば、設計者は、デバイスファミリー内の特定のサイズのプログラマブルデバイスに対して初期設計を展開する。設計に対する次の修正および改良は、追加のプログラマブルデバイスリソースを必要とし得る。設計者は、実質的な再処理(reengineering)およびテストコストなしに同じデバイスファミリー内のより大きなサイズのプログラマブルデバイスを使用して、修正された設計をインプリメントできることを好む。
しかしながら、固定数のI/Oバンクおよび1個のバンクに対して可変数のI/Oピンを有するという前のプログラマブルデバイスアークテクチャは、しばしば、垂直移動に対して実質的な再処理を必要とする。例えば、1個のI/Oバンクに対するI/Oピンの数がより大きなデバイスに対してしばしば増えるため、より大きなデバイスのI/Oバンクは、より小さなデバイス内の対応するI/Oバンクと同じI/Oピン割り当てをサポートしない場合がある。従って、設計者は、これらの違いを説明するために、デバイスとともに、関連回路基板を再処理する必要がある。
ノイズ、クロックスキュー(clock skew)、および信号反射は、固定数のI/Oバンクおよび1個のバンクに対して可変数のI/Oピンの使用によってもたらされる垂直移動において生じる他の問題である。1個のI/Oバンクに対するピンの数が増えると、アクティブスイッチのトータル数およびI/Oピンに関連する他の構成要素は増え、それによって、導入される雑音および信号反射の量が増える。同様に、より多くのI/Oピンを備えるI/Oバンクは、より小さなI/Oバンクよりも、より多い量のクロックスキューを有する。従って、設計がより小さなプログラマブルデバイスからより大きなプログラマブルデバイスに移動される場合、設計者は、さらなるI/Oピンを備えるI/Oバンクの使用によって導入されるさらなるノイズ、信号反射、およびクロックスキューを克服するために取り組む必要がある。
従って、プログラマブルデバイスアーキテクチャが、可変数のI/Oピンを有する固定数のI/Oバンクに通常関連する困難を克服することが望ましい。プログラマブルデバイスアーキテクチャが、I/Oピンのトータル数に関らず、効率的なI/Oピン使用を可能にすることが望ましい。プログラマブルデバイスアーキテクチャが、必要とされる再処理の労力を減少させながら、より大きなプログラマブルデバイスに垂直移動を容易にすることが更に望ましい。I/Oバンクが、前のプログラマブルデバイスアーキテクチャのI/Oバンクと比較して、改良された性能を有することが更に望ましい。
一実施形態において、プログラマブルデバイスI/Oアーキテクチャは、可変数のI/Oバンクを可能にする。I/Oバンクのそれぞれは、I/Oバンクのタイプである。I/Oバンクのタイプのそれぞれは、固定数のI/Oピンを有する。同じI/OバンクのタイプのI/Oバンクは、同じプログラマブルデバイス内および異なるタイプのプログラマブルデバイス間にて互換性がある。インターフェースのセットのそれぞれが、少なくとも1つのI/OバンクのタイプのI/Oバンクを効率的に使用してインプリメントされ得るように、I/Oバンクのタイプのそれぞれに対するI/Oピンの数が選択される。更なる実施形態においては、最も大きいサイズのI/Oバンクのタイプおよび中間サイズのI/Oバンクのタイプは、より小さいあらゆるI/Oバンクのタイプの互換性のある上位集団になるように適合される。他の実施形態においては、I/Oバンクのタイプのそれぞれにおけるデータピンとサポートピンとの比率は同じである。更なる実施形態においては、サポートピンは、I/Oバンクのタイプのそれぞれにおけるデータピン間にて規則的に分布される。更なる実施形態においては、同じまたは互換性のあるI/Oバンクのタイプの複数のインスタンスは、プログラマブルデバイスの異なる面からアクセス可能になるように配置される。回路基板レイアウトを容易にするために、プログラマブルデバイスアーキテクチャの一実施形態は、I/Oバンクのそれぞれのピンをデバイス上の他のI/Oバンクのピンの反射および/または回転として配置する。
一実施形態においては、プログラマブルデバイスファミリーにおけるプログラマブルデバイスは、プログラマブルデバイスコアならびに第1のおよび第2のI/Oバンクを含む。第1のI/Oバンクは、プログラマブルデバイスの第1の面からアクセス可能である第1のセットのピンを含む。第2のI/Oバンクは、プログラマブルデバイスの第2の面からアクセス可能である第2のセットのピンを含む。一実施形態においては、第1のI/Oバンクの第1のセットのピンの少なくとも第1の部分は、第2のI/Oバンクの第2のセットのピンと1対1対応を有する。更なる実施形態においては、第2のセットのピンは、第1のセットのピンの回転として配置される。ある実施形態においては、回転は、90度回転または180度回転になり得る。
更なる他の実施形態においては、第3のI/Oバンクは第3のセットのピンを含む。第1のI/Oバンクのピンの少なくとも第1の部分は、第3のI/Oバンクの第3のセットのピンと1対1対応を有する。第3のセットのピンは、プログラマブルデバイスの第2の面からアクセス可能である。第3のセットのピンは、第2のセットのピンの対称反射として配置される。
他の実施形態においては、第1のセットのピンは、第2のI/Oバンクの第2のセットのピンとの対応を少しも有さない第1のセットのピンの残りの部分を含む。第1のセットのピンは、電力および接地ピンを含むデータピンおよびサポートピンを含む。電力および接地ピンの数とデータピンの数との比率は、第1のI/Oバンクおよび第2のI/Oバンクに対して固定されている。一実施形態においては、この比率は、第1のI/Oバンクおよび第2のI/Oバンクに対して同じになり得る。電力および接地ピンは、データピンによってインターリーブされている。
本発明は、さらに以下の手段を提供する。
(項目1)
複数のプログラマブルデバイスを含むプログラマブルデバイスファミリーにおけるプログラマブルデバイスであって、該プログラマブルデバイスは、
プログラマブルデバイスコアと、
第1のセットのピンを含む第1のI/Oバンクであって、該第1のセットのピンは、該プログラマブルデバイスの第1の面からアクセス可能である、第1のI/Oバンクと、
第2のセットのピンを含む第2のI/Oバンクであって、該第1のI/Oバンクの該第1のセットのピンの少なくとも第1の部分は、該第2のI/Oバンクの該第2のセットのピンと1対1対応を有し、該第2のセットのピンは、該プログラマブルデバイスの第2の面からアクセス可能である、第2のI/Oバンクと
を備え、該第2のセットのピンが該第1のセットのピンの回転として配置される、プログラマブルデバイス。
(項目2)
上記回転が90度回転である、項目1に記載のプログラマブルデバイス。
(項目3)
上記回転が180度回転である、項目1に記載のプログラマブルデバイス。
(項目4)
第3のセットのピンを含む第3のI/Oバンクであって、上記第1のI/Oバンクの上記ピンの少なくとも上記第1の部分は、該第3のI/Oバンクの該第3のセットのピンと1対1対応を有し、該第3のセットのピンは、上記プログラマブルデバイスの上記第2の面からアクセス可能である、第3のI/Oバンクをさらに備え、
該第3のセットのピンが該第2のセットのピンの対称的反射として配置される、項目1に記載のプログラマブルデバイス。
(項目5)
上記第1のセットのピンが、上記第2のI/Oバンクの上記第2のセットのピンと1対1対応を少しも有さない該第1のセットのピンの残りの部分を含む、項目1に記載のプログラマブルデバイス。
(項目6)
上記第1のセットのピンが、データピンおよびサポートピンを含む、項目1に記載のプログラマブルデバイス。
(項目7)
上記サポートピンが、電力および接地ピンを含む、項目6に記載のプログラマブルデバイス。
(項目8)
上記電力および接地ピンの数と上記データピンの数との比率が固定されている、項目7に記載のプログラマブルデバイス。
(項目9)
上記第2のI/Oバンクの上記第2のセットのピンは、データピンおよびサポートピンを含み、該第2のセットのピンにおける上記電力および接地ピンの数と該データピンの数との比率は、上記第1のセットのピンにおける上記電力および接地ピンの数と上記データピンの数との比率と同じである、項目8に記載のプログラマブルデバイス。
(項目10)
上記電力および接地ピンは、上記データピンによってインターリーブされている、項目7に記載のプログラマブルデバイス。
(項目11)
上記第2のI/Oバンクは、上記プログラマブルデバイスファミリーにおける第2のプログラマブルデバイスのI/Oバンクと機能的に同一であり、該第2のプログラマブルデバイスは、上記プログラマブルデバイスとは異なる仕様を有する、項目1に記載のプログラマブルデバイス。
(項目12)
上記第1のI/Oバンクおよび上記第2のI/Oバンクは、同様の性能特性を有する、項目1に記載のプログラマブルデバイス。
(項目13)
上記性能特性が信号−雑音比を含む、項目12に記載のプログラマブルデバイス。
(項目14)
上記性能特性がクロックスキューを含む、項目12に記載のプログラマブルデバイス。
(項目15)
プログラマブルデバイスコアと、
第1のシーケンスに配置される第1のセットのピンを含む第1のI/Oバンクと、
第2のセットのピンを含む第2のI/Oバンクであって、該第2のセットのピンは、該第1のシーケンスの対称的反射に配置される、第2のI/Oバンクと
を備える、プログラマブルデバイス。
(項目16)
上記第1のセットのピンおよび上記第2のセットのピンは、上記プログラマブルデバイスの第1の面からアクセス可能である、項目15に記載のプログラマブルデバイス。
(項目17)
上記第1のセットのピンは、上記プログラマブルデバイスの第1の面からアクセス可能であり、上記第2のセットのピンは、該プログラマブルデバイスの第2の面からアクセス可能である、項目15に記載のプログラマブルデバイス。
(項目18)
上記第1の面が上記第2の面に対して垂直である、項目17に記載のプログラマブルデバイス。
(項目19)
上記第1の面が上記第2の面と反対側である、項目17に記載のプログラマブルデバイス。
(項目20)
第3のセットのピンを含む第3のI/Oバンクをさらに備え、
上記第1のセットのピンは、上記プログラマブルデバイスの第1の面からアクセス可能であり、該第3のセットのピンは、該プログラマブルデバイスの第2の面からアクセス可能であり、該第3のセットのピンは、該第1のセットのピンの回転として配置される、項目15に記載のプログラマブルデバイス。
(項目21)
上記第1のI/Oバンクの上記第1のセットのピンの第1の部分は、上記第2のI/Oバンクの上記第2のセットのピンと1対1対応を有し、該第1のセットのピンの残りの部分は、該第2のI/Oバンクの該第2のセットのピンとの対応を少しも有さない、項目15に記載のプログラマブルデバイス。
(項目22)
上記第1のセットのピンおよび上記第2のセットのピンのそれぞれが、データピンおよびサポートピンを含む、項目15に記載のプログラマブルデバイス。
(項目23)
上記サポートピンが、電力および接地ピンを含む、項目22に記載のプログラマブルデバイス。
(項目24)
上記第2のセットのピンにおける上記電力および接地ピンの数と上記データピンの数との比率は、上記第1のセットのピンにおける上記電力および接地ピンの数と上記データピンの数との比率と同じである、項目23に記載のプログラマブルデバイス。
(項目25)
上記電力および接地ピンは、上記データピンによってインターリーブされている、項目23に記載のプログラマブルデバイス。
(項目26)
上記第2のI/Oバンクは、上記プログラマブルデバイスファミリーにおける第2のプログラマブルデバイスのI/Oバンクと機能的に同一であり、該第2のプログラマブルデバイスは、上記プログラマブルデバイスとは異なる仕様を有する、項目15に記載のプログラマブルデバイス。
(項目27)
上記第1のI/Oバンクおよび上記第2のI/Oバンクは、同様の性能特性を有する、項目21に記載のプログラマブルデバイス。
(項目28)
上記性能特性が信号−雑音比を含む、項目27に記載のプログラマブルデバイス。
(項目29)
上記性能特性がクロックスキューを含む、項目27に記載のプログラマブルデバイス。
(項目30)
複数のプログラマブルデバイスを含むプログラマブルデバイスファミリーにおけるプログラマブルデバイスであって、該プログラマブルデバイスは、
プログラマブルデバイスコアと、
第1のセットのピンを含む第1のI/Oバンクであって、該第1のセットのピンは、データピンおよびサポートピンを含む、第1のI/Oバンクと、
第2のセットのピンを含む第2のI/Oバンクであって、該第1のI/Oバンクの該ピンの第1の部分は、該第2のI/Oバンクの該第2のセットのピンと1対1対応を有し、該第1のセットのピンの残りの部分は、該第2のI/Oバンクの該第2のセットのピンとの対応を少しも有さない、第2のI/Oバンクと
を備える、プログラマブルデバイス。
(項目31)
上記サポートピンが、電力および接地ピンを含む、項目30に記載のプログラマブルデバイス。
(項目32)
上記電力および接地ピンの数と上記データピンの数との比率が固定されている、項目31に記載のプログラマブルデバイス。
(項目33)
上記電力および接地ピンは、上記データピンによってインターリーブされている、項目32に記載のプログラマブルデバイス。
(項目34)
上記第2のI/Oバンクの上記第2のセットのピンは、データピンおよびサポートピンを含み、該第2のセットのピンにおける上記電力および接地ピンの数と該データピンの数との比率は、上記第1のセットのピンにおける上記電力および接地ピンの数と上記データピンの数との比率と同じである、項目32に記載のプログラマブルデバイス。
(項目35)
上記サポートピンがクロックピンを含む、項目30に記載のプログラマブルデバイス。
(項目36)
上記第2のI/Oバンクは、上記プログラマブルデバイスファミリーにおける第2のプログラマブルデバイスのI/Oバンクと機能的に同一であり、該第2のプログラマブルデバイスは、上記プログラマブルデバイスとは異なる仕様を有する、項目30に記載のプログラマブルデバイス。
(項目37)
上記第1のI/Oバンクおよび上記第2のI/Oバンクは、同様の性能特性を有する、項目30に記載のプログラマブルデバイス。
(項目38)
上記性能特性が信号−雑音比を含む、項目37に記載のプログラマブルデバイス。
(項目39)
上記性能特性がクロックスキューを含む、項目37に記載のプログラマブルデバイス。
(項目40)
第1の固定数のピンおよび第2の固定数のピンがインターフェースのセットを効率的にインプリメントするように適合されるように、上記第1のI/Oバンクは、該第1の固定数のピンを有し、上記第2のI/Oバンクは、該第2の固定数のピンを有する、項目30に記載のプログラマブルデバイス。
(項目41)
上記第1のI/Oバンクと同一である第1の複数のI/Oバンクをさらに備え、
上記インターフェースのセットの少なくとも一部は、該第1のI/Oバンクおよび該第1の複数のI/Oバンクのうちの少なくとも1つを使用して効率的にインプリメントされ得る、項目40に記載のプログラマブルデバイス。
(項目42)
上記第2のI/Oバンクと同一である第1の複数のI/Oバンクをさらに備え、
上記インターフェースのセットの少なくとも一部は、該第2のI/Oバンクおよび該第1の複数のI/Oバンクのうちの少なくとも1つを使用して効率的にインプリメントされ得る、項目40に記載のプログラマブルデバイス。
(項目43)
上記インターフェースのセットがメモリインターフェースを含む、項目40に記載のプログラマブルデバイス。
(項目44)
上記インターフェースのセットがバスインターフェースを含む、項目40に記載のプログラマブルデバイス。
(項目45)
上記インターフェースのセットが汎用デジタル通信インターフェースを含む、項目40に記載のプログラマブルデバイス。
(項目46)
プログラマブルデバイスコアと、
第1のタイプの第1の複数のI/Oバンクと、
第2のタイプの第2の複数のI/Oバンクであって、該第2のタイプの該I/Oバンクのそれぞれは、該第1のタイプのI/Oバンクの互換性のある上位集団である、第2のタイプの第2の複数のI/Oバンクと
を備える、プログラマブルデバイス。
(項目47)
上記第1のタイプの上記I/Oバンクおよび上記第2のタイプの上記I/Oバンクのそれぞれが、データピンおよびサポートピンを含む、項目46に記載のプログラマブルデバイス。
(項目48)
上記第1のタイプの上記複数のI/Oバンクのそれぞれにおける上記サポートピンの少なくとも一部に対するデータピンの比率は、上記第2のタイプの上記複数のI/Oバンクのそれぞれにおける上記サポートピンの少なくとも一部に対するデータピンの比率と同じである、項目47に記載のプログラマブルデバイス。
(項目49)
上記サポートピンの上記一部が接地ピンを含む、項目48に記載のプログラマブルデバイス。
(項目50)
上記サポートピンの上記一部が電力ピンを含む、項目48に記載のプログラマブルデバイス。
(項目51)
上記サポートピンの上記一部がクロックピンを含む、項目48に記載のプログラマブルデバイス。
(項目52)
上記第1の複数のI/Oバンクのそれぞれの上記サポートピンの少なくとも一部は、規則的な間隔において、そのそれぞれのI/Oバンク内にて分布されている、項目47に記載のプログラマブルデバイス。
(項目53)
上記第2の複数のI/Oバンクのそれぞれの上記サポートピンの少なくとも一部は、規則的な間隔において、そのそれぞれのI/Oバンク内にて分布されている、項目52に記載のプログラマブルデバイス。
(項目54)
上記第1の複数のI/Oバンクおよび上記第2の複数のI/Oバンクは、同様の性能特性を有する、項目46に記載のプログラマブルデバイス。
(項目55)
上記性能特性が信号−雑音比を含む、項目54に記載のプログラマブルデバイス。
(項目56)
上記性能特性がクロックスキューを含む、項目54に記載のプログラマブルデバイス。
(項目57)
上記第1の複数のI/OバンクのI/Oバンクのそれぞれは、プログラマブルデバイスファミリーにおける第2のプログラマブルデバイスのI/Oバンクと機能的に同一であり、該第2のプログラマブルデバイスは、上記プログラマブルデバイスとは異なる仕様を有する、項目46に記載のプログラマブルデバイス。
(項目58)
上記第2の複数のI/OバンクのI/Oバンクのそれぞれは、プログラマブルデバイスファミリーにおける第2のプログラマブルデバイスのI/Oバンクと機能的に同一な部分を含み、該第2のプログラマブルデバイスは、上記プログラマブルデバイスとは異なる仕様を有する、項目46に記載のプログラマブルデバイス。
(項目59)
第1の固定数のピンおよび第2の固定数のピンがインターフェースのセットを効率的にインプリメントするように適合されるように、上記第1の複数のI/Oバンクのそれぞれは、該第1の固定数のピンを有し、上記第2の複数のI/Oバンクのそれぞれは、該第2の固定数のピンを有する、項目46に記載のプログラマブルデバイス。
(摘要)
プログラマブルデバイスI/Oアーキテクチャは、可変数のI/Oバンクを可能にする。I/Oバンクのそれぞれは、I/Oバンクのタイプである。I/Oバンクのタイプのそれぞれは、固定数のI/Oピンを有する。同じI/OバンクのタイプのI/Oバンクは、同じプログラマブルデバイス内および異なるタイプのプログラマブルデバイス間にて互換性ある。最も大きいサイズのI/Oバンクのタイプおよび中間サイズのI/Oバンクのタイプは、より小さいあらゆるI/Oバンクのタイプの互換性のある上位集団になるように適合される。サポートピンは、I/Oバンクのタイプのそれぞれにおけるデータピン間にて規則的に分布される。同じまたは互換性のあるI/Oバンクの複数のインスタンスは、プログラマブルデバイスの異なる面からアクセス可能になるように配置される。回路基板のレイアウトを容易にするために、I/Oバンクのそれぞれは、デバイス上の他のI/Oバンクの反射および/または回転として配置される。
本発明により、プログラマブルデバイスアーキテクチャが、可変数のI/Oピンを有する固定数のI/Oバンクに通常関連する困難を克服され得る。また、本発明により、プログラマブルデバイスアーキテクチャが、I/Oピンのトータル数に関らず、効率的なI/Oピン使用が可能になり得る。また、本発明により、プログラマブルデバイスアーキテクチャが、必要とされる再処理の労力を減少させながら、より大きなプログラマブルデバイスに垂直移動を容易にし得る。また、本発明により、I/Oバンクが、前のプログラマブルデバイスアーキテクチャのI/Oバンクと比較して、改良された性能を有し得る。
以下、図面を参照して本発明を記載する。
図1は、本発明の一実施形態に従ったプログラマブルデバイスおよびI/Oバンクアーキテクチャ100を示す。デバイスアーキテクチャ100は、プログラマブルデバイスコア105を含む。プログラマブルデバイスコア105は、例えば、プログラマブルデバイス構成要素(例えば、ロジックセル、機能ブロック、メモリユニット、および構成可能スイッチ回路)を含む。
デバイスアーキテクチャ100は、複数のI/Oバンク(例えば、I/Oバンク107、109、111、113、115、117、119、121、123、および125)を含む。一実施形態において、デバイスアーキテクチャ100は、任意の数のI/Oバンクを許容する。
一実施形態において、複数のI/Oバンクは、限定数のI/Oバンクのタイプに帰属する。例えば、I/Oバンク107、111、113、115、117、121、123、および125は、タイプAのI/Oバンクである。I/Oバンク109および119は、I/OバンクタイプBに帰属する。それぞれのI/Oバンクタイプは、I/Oピンの数と、それを構成するI/Oバンクの他の属性とを特定する。例えば、タイプAのI/Oバンクは、60個のI/Oピンを有し得、タイプBのI/Oバンクは36個のI/Oピンを有し得る。I/Oバンクタイプの数は2つのタイプに限定されず、デバイスアーキテクチャ100の多くの共通のインプリメンテーションは、4つ以上の異なるI/Oタイプを含み得る。
それぞれのI/Oバンクタイプに対するI/Oピンの数は、I/Oバンクによってインプリメントされる共通のインターフェースタイプに基づいて特定され得る。必要に応じて、2つ以上のI/Oバンクは、単一のインターフェースをインプリメントするように統合され得る。表1は、バンクにおいて利用可能であるI/Oピンの数に基づいて、いくつかの共通の標準インターフェースをインプリメントするために必要とされるI/Oバンクの数をリストアップする。それらのインターフェースは、例示の目的のために提供され、他のインターフェースは、メモリインターフェース、バスインターフェース、および汎用性デジタル通信インターフェースを含む、一つ以上のI/Oバンクを用いてインプリメントされ得る。表1および同様の表は、デバイスアーキテクチャ100に対する、予想されたインターフェースの用途に基づいて、それぞれのI/Oバンクタイプに対するI/Oピンの最適数を選択するのに役立つように用いられ得る。
さらに、I/Oピンの効率は、それぞれのI/OバンクタイプにおけるI/Oピンの数に基づいて決定され得る。I/Oピンの効率は、これらのI/Oバンクにおいて利用可能であるI/Oピンの全体数と比較した、インターフェースをインプリメントするために一つ以上のI/Oバンクにおいて用いられるI/Oピンの数である。I/Oバンクタイプの数およびそれぞれのI/OバンクタイプにおけるI/Oピンの数は、デバイスアーキテクチャ100の予想されるインターフェースの用途に対する、I/Oバンクピンの効率を最大化するように選択され得る。表2は、それぞれ36個のI/Oピン、54個のI/Oピンを有する2つのI/Oバンクタイプに対する例示的なI/Oピンの効率の決定を示す。
表2の例において、それぞれの例示的なインターフェースタイプは、I/Oバンクタイプのうちの少なくとも一つにおける、比較的高いI/Oピン効率を有してインプリメントされ得る。例えば、36個のI/OピンのI/Oバンク2つを有してインプリメントされるPCI−32インターフェースは、71%のI/Oピン効率を有し、その一方で、54個のI/OピンのI/Oバンクを有してインプリメントされるPCI−32インターフェースは、94%のI/Oピン効率を有する。
一実施形態において、同様のI/OバンクタイプのI/Oバンクは、特定のデバイス内のそれらの位置とは無関係に、同様の属性および性能を有する。例えば、双方ともにタイプBであるI/Oバンク109および119は、同様の数のI/Oピン、電力および接地特性、信号雑音比、反射特性、タイミング特性、およびクロックスキューを有し得る。同様のタイプを有するI/Oバンクの類似性のために、設計者は、同様のタイプの異なるI/Oバンクを交互に利用することができ、回路基板のレイアウトにおいて、さらなる柔軟性を提供する。
このモジュール式I/Oバンクアーキテクチャは、3つ以上のI/Oバンクタイプを含むように拡張され得る。例えば、プログラマブルデバイスのファミリーは、例えば3、4、5またはそれ以上の異なるタイプのI/Oバンクなどといった、任意の数のI/Oバンクタイプを含む。このデバイスファミリー内のそれぞれのデバイスは、一つ以上のI/Oバンクタイプのうちの任意の数のI/Oバンクを有し得る。例えば、プログラマブルデバイスファミリーにおける第1のデバイスは、タイプAの16個のI/Oバンクを含み得、プログラマブルデバイスファミリーにおける第2のデバイスは、タイプBの16個のI/Oバンクを含み得、プログラマブルデバイスファミリーにおける第3のデバイスは、タイプBの16個のI/OバンクおよびタイプCの8個のI/Oバンクを含み得る。
さらなる実施形態において、同様のタイプのI/Oバンクは、同様のデバイスファミリー内における異なるデバイスに対して同様の属性を有し、垂直移動を容易にする。図2は、本発明の一実施形態に従った、プログラマブルデバイスのファミリー200を示す。デバイスファミリー200は、プログラマブルデバイス205、210、および275を含む。プログラマブルデバイス205は、プログラマブルデバイスコア215を含み、そのプログラマブルデバイスコアは、プログラマブルデバイス構成要素(例えば、ロジックセル、機能ブロック、メモリユニット、および構成可能スイッチ回路)を含む。プログラマブルデバイス205は、タイプAと呼ばれる第1のI/Oバンクタイプの、2つのI/Oバンク220および225、ならびに、タイプBと呼ばれる第2のI/Oバンクタイプの1つのI/Oバンク230を含む。
同様に、プログラマブルデバイス210は、プログラマブルデバイスコア235と、タイプAの2つのI/Oバンク240および255と、タイプCと呼ばれる第3のI/Oバンクタイプの1つのI/Oバンク250とを含む。プログラマブルデバイス275は、プログラマブルデバイスコア280と、タイプAのI/Oバンク285と、タイプCのI/Oバンク295と、タイプDのI/Oバンク290とを含む。
デバイスファミリー200の一実施形態において、同様のタイプのI/Oバンクは、同様のI/Oピン数、電力および接地特性、信号雑音比、反射およびインピーダンス特性、タイミング特性、およびクロックスキューを有する。例えば、プログラマブルデバイス205におけるI/Oバンク220、プログラマブルデバイス210におけるI/Oバンク240、および、プログラマブルデバイス275におけるI/Oバンク285は、同様の特性を有する。したがって、I/Oバンク220を用い、かつプログラマブルデバイスに対して初期にターゲットされた設計は、プログラマブルデバイス210およびそれに対応するI/Oバンク240に移動され得るか、または、最小の再処理の労力で、プログラマブルデバイス275およびそれに対応するI/Oバンク285に移動され得る。
さらなる実施形態において、異なるタイプのI/Oバンクもまた互換性があり得る。例えば、タイプCのI/Oバンクは、タイプAのI/Oバンクの上位集団であり得る。本実施形態において、I/Oバンク250は、I/Oバンク225よりも多くのI/Oピンを有し得る。しかしながら、I/Oバンク250のI/Oピンの一部は、I/Oバンク225のI/Oピンと互換性がある。さらなる実施形態において、2つ以上のI/Oバンクタイプの他の特性(例えば、電力、電圧、接地、インピーダンス、信号雑音比、タイミング特性、クロックスキュー、およびI/Oピンの数を除いた任意の他の属性)は同様である。したがって、バンク225を用いて、かつプログラマブルデバイス205に対して初期にターゲットされた設計は、プログラマブルデバイス210と、それよりもさらに大きく互換性のあるI/Oバンク250とに移動され得る。同様に、タイプAのI/Oバンクは、プログラマブルデバイス205のI/Oバンク230を用いた設計が、プログラマブルデバイス210の、より大きく互換性のあるI/Oバンク245に移動され得るように、タイプBのI/Oバンク(例えば、例えばバンク230)の互換性のある上位集団であり得る。
図3は、本発明の一実施形態に従ったI/Oバンク間におけるI/Oピン互換性を示す。I/Oバンクタイプ305、310、315に対するI/Oピンの機能である。I/Oバンクタイプ305は、データ信号、電力、および接地接続を運ぶための36個のI/Oピンを含む。I/Oバンク305は、クロック信号または他の接続のために、図3において示されていないさらなるピンを含み得る。
一実施形態において、I/Oピンは、2つまたは4つのピンのグループに配置される。例えば、I/Oバンクタイプ305は、4つのデータピンのグループ(例えば、グループ320、325、および330)を含む。I/Oバンクタイプはまた、2つの電力および接地ピンのグループ(例えば、グループ335、337、339、および341)を含む。一実施形態において、電力および接地ピンのグループは、I/Oバンク全体を通して、規則的に分布されている。例えば、電力および接地のピンの全てのグループ(例えば、グループ335)は、多くて8つのデータピン(例えば、データピングループ320および325)に隣接している。データピン間における電力および接地ピンのこの分布は、全体の信号雑音比を低減し、I/OバンクタイプにおけるI/Oピンの全体数に関係なく、一定の信号ノイズ比を維持するのに役立ち、それにより、より大きなI/Oバンクへの垂直移動が容易になる。
一実施形態において、I/Oバンクタイプ305におけるI/Oピンのそれぞれのグループは、I/Oバンクタイプ310における対応するグループ(48個のI/Oピンを有している)と、I/Oバンクタイプ315における対応するグループ(54個のI/Oピン)を有する。例えば、I/Oデータピングループ330は、I/Oバンクタイプ310におけるデータピングループ340と、I/Oバンクタイプ315におけるデータピングループ345とに対応する。同様に、I/Oバンクタイプ305における電力および接地ピングループ335は、I/Oバンクタイプ310におけるグループ350と、I/Oバンクタイプ315におけるグループ355とに対応する。
上記にて検討されたように、より大きいI/Oバンクタイプは、互換性を維持するために、より小さいI/Oバンクタイプの上位集団であり得る。一実施形態において、I/Oバンクタイプ310は、その対応する場所において、I/Oバンクタイプ305のI/Oピンの全てを含む。したがって、I/Oバンクタイプ310は、I/Oバンクタイプ305とピンの互換性を有する。I/Oバンクタイプ305を用いてインプリメントされるプログラマブルデバイスの設計は、わずかな処理または処理なしで、I/Oバンクタイプ310を用いた異なるデバイスに移動され得る。I/Oバンクタイプ310におけるさらなるI/Oピン(例えば、さらなるI/Oピン360)は、I/Oバンクタイプ305との互換性を壊さないように、I/Oバンクの最後尾に追加される。同様に、さらなるI/Oピン360は、I/Oバンクタイプ315の最後尾に追加され、このI/Oバンクタイプを、I/Oバンクタイプ310および305と互換性を有するようにさせる。
ピンの互換性を維持することに加え、I/Oバンクタイプのサイズが大きくなると、本発明の一実施形態は、プログラマブルデバイス上にモジュール式I/Oバンクを配置して、回路基板のレイアウトにおける柔軟性を増加させる。本実施形態において、同様のタイプ(または異なるがピンの互換性のあるタイプ)のモジュール式I/Oバンクは、回転および反射形態において、プログラマブルデバイスの2つ以上の面の上に配置される。この配置は、そのプログラマブルデバイスを一つ以上の外部デバイスに接続する場合、回路基板のレイアウトにおける柔軟性を提供する。
図5A〜図5Fは、本発明の一実施形態に従った例示的なモジュール式I/Oバンクの配置を示す。図5Aは、プログラマブルデバイス503と、外部デバイス504(例えば、メモリデバイス、プロセッサ、特定用途向け集積回路、通信デバイス、異なるプログラマブルデバイス、あるいは、プログラマブルデバイスとインターフェース可能な任意の他のタイプのデジタルまたはアナログデバイス)を含む、例示的な回路基板のレイアウト500を示す。
プログラマブルデバイス503は、モジュール式I/Oバンク505a、505b、505c、505d、505e、および505fを含む。この例において、モジュール式I/Oバンク505は、上述のように、同様のバンクタイプである。しかしながら、代替実施形態は、モジュール式I/Oバンク505の一部が、モジュール式I/Oバンク505の別の部分のピンの互換性を有する上位集団を含むように、モジュール式I/Oバンク505の一部に対して、一つ以上の異なるタイプのピンの互換性を有するモジュール式I/Oバンクを利用し得る。
プログラマブルデバイス503は、外部デバイス505のI/Oポート507とプログラマブルデバイス505aのI/Oバンク505aとの間におけるバス506を介して、外部デバイス504に接続される。本例において、I/Oバンク505aのピン1 509aは、バス506を介して、外部デバイス504のI/Oポート507のピン1 512に接続される。同様に、I/Oバンク505aのピン36 511aは、バス506を介して、外部デバイス504のI/Oポート507のピン36 513に接続される。I/Oバンク505aおよびI/Oポート507の他のピンは、同様の方法において、バス506を介して接続されているが、分かり易さのために省略してある。
典型的な回路基板において、バス506は、複数の回路基板トレースを含む。バス506のレイアウトは、ルーティング、回路基板トレースの長さ、幅、および間隔、ならびに、回路基板の他の部分に対する回路基板トレースの近接性を含むものであるが、バス506によって運ばれる信号がタイミング、ノイズ、電圧、ならびに、プログラマブルデバイス503および外部デバイス505の他の要求を満たすことを確実にするために、注意深く考慮されなければならない。バス506は、分かり易さのために直線の接続として、図5A〜図5Fにおいて示されているが、通常は、バスのレイアウトは、多くの角、または回路基板の一つ以上の層にわたって屈曲を有する複雑な経路を含み得る。これらのレイアウトを考慮するため、プログラマブルデバイスの先行タイプを含む全体の回路基板のレイアウトに対する変更は、しばしば相当な処理を必要とする。
本発明の一実施形態は、回転および反射形態において、回路基板のレイアウトにおいて柔軟性を提供するように、そして実質的な処理をすることなく回路基板のレイアウトに対する変更を可能にするように、そのモジュール式I/Oバンクを配置する。I/Oバンク505aは、デバイス503の底部に配置されたピン1 509aと、I/Oバンク505aの上部に配置されたピン36 511aとを含む。I/Oバンク505cは、プログラマブルデバイス503上に、I/Oバンク505aの時計回り90度の回転となるように、配置されている。I/Oバンク505cにおいて、ピン1 509cはI/Oバンクの左側に位置され、ピン36 511cは、I/Oバンクの右側に位置される。同様に、ピン1 509eがI/Oバンク505eの上部に位置されていてピン36 511eがI/Oバンク505eの底部に位置されるように、I/Oバンク505eは、プログラマブルデバイス503上に、I/Oバンク505aの180度回転となるように、配置されている。
デバイス503上における、対応している回転されたI/Oバンク505cおよび505eを有するバンク505aに加えて、デバイス503はまた、I/Oバンク505aの反射バージョンを含む。I/Oバンク505aの反射バージョンは、I/Oバンク505aの対称反射である。例えば、I/Oバンク505bは、I/Oバンク505aの反射バージョンである。I/Oバンク505bは、I/Oバンク505bの上部に位置されるピン1 509bと、I/Oバンク505bの底部に位置されるピン36 511bとを含む。これは、I/Oバンク505aの反対であり、I/Oバンク505aの底部に位置されるピン1 509aとI/Oバンク505aの上部に位置されるピン36 511aとを有する。デバイス503はまた、反射されたI/Oバンク505dおよび505fを含み、それらは、I/Oバンク505bの回転バージョンである。
I/Oバンク505の回転および反射バージョンは、回路基板のレイアウトにおける柔軟性を提供する。いったん、プログラマブルデバイス503、外部デバイス504、および接続バス506の初期のレイアウトが決定されると、外部デバイス504および接続バス506は、最小の処理労力にて、任意の他のモジュール式I/Oバンク505に移動され得る。
図5Bは、プログラマブルデバイス503および外部デバイス504を含む第2の回路基板のレイアウト520を示す。回路基板のレイアウト520において、外部デバイス504は、バス506を介して、プログラマブルデバイス503のI/Oバンク505cと接続される。I/Oバンク505cが90度回転されたI/Oバンク505aと同一であるので、回路基板のレイアウト500におけるバス506のレイアウトは、90度回転され得、回路基板のレイアウト520において用いられ得る。回路基板のレイアウト500におけるI/Oバンク505aに対する外部デバイス504の位置が回路基板のレイアウト520におけるI/Oバンク505cに対する外部デバイス504の位置と同じであるとすると、回路基板のレイアウト500を基板のレイアウト520へと変更するのに必要とされる労力は最小となる。
同様に、図5Cは、プログラマブルデバイス503および外部デバイス504を含む第3の回路基板のレイアウト530を示す。回路基板のレイアウト530において、外部デバイス504は、バス506を介して、プログラマブルデバイス503のI/Oバンク505eと接続される。I/Oバンク505eは、180度回転されたI/Oバンク505aと同一であるので、回路基板のレイアウト500におけるバス506のレイアウトは、180度回転され得、回路基板のレイアウト530において用いられ得る。
図5Dは、プログラマブルデバイス503および外部デバイス504を含む第4の回路基板のレイアウト540を示す。回路基板のレイアウト540において、外部デバイス504は、バス506を介して、プログラマブルデバイス503のI/Oバンク505bに接続される。I/Oバンク505cがI/Oバンク505aの反射であるので、回路基板のレイアウト500におけるバス506のレイアウトは、反射され得るか、または、上下を逆にされ得、また、回路基板のレイアウト540において用いられ得る。
図5Eは、プログラマブルデバイス503および外部デバイス504を含む第5の回路基板のレイアウト550を示す。回路基板のレイアウト550において、外部デバイス504は、バス506を介して、プログラマブルデバイス503のI/Oバンク505fと接続される。I/Oバンク505fがI/Oバンク505bの180度回転されたバージョンであるので、回路基板のレイアウト500におけるバス506のレイアウトは、デバイス503の中央周辺にて反射され得、回路基板のレイアウト550において用いられ得る。
図5Fは、プログラマブルデバイス503および外部デバイス504を含む、第6の回路基板のレイアウト560を示す。回路基板のレイアウト560において、外部デバイス504は、バス506を介して、プログラマブルデバイス503のI/Oバンク505dと接続される。I/Oバンク505dがI/Oバンク505bの90度回転されたバージョンであるので、回路基板500におけるバス506のレイアウトは、90度回転され得、デバイス503の中央周辺にて反射され得、また、回路基板のレイアウト560において用いられ得る。
図4は、本発明の一実施形態の使用に対して適しているプログラマブルデバイス400を示す。プログラマブルデバイス400は、複数のロジックアレイブロック(LAB)(例えば、LAB405、410、415)を含む。それぞれのLABは、ロジック演算を実行するためにロジックゲートおよび/またはルックアップテーブルを用いる複数のプログラマブルロジックセルと、データを格納および引き出すためのレジスタとを含む。LAB405は、詳しくは、ロジックセル420、421、422、423、424、425、426、および427を示す。ロジックセルは、分かり易さのために、図4において、他のLABから省略されている。デバイス400のLABは、行430、435、440、445、および450に配置されている。一実施形態において、行内におけるLAB内におけるロジックセルの配置、およびLABの配置は、プログラマブルスイッチ回路の構成可能な接続の階層的システムを提供し、その階層的システムでは、LAB内のロジックセル間の接続、同じ行における異なるLAB内のセル間の接続、および、異なる行におけるLAB内のセル間の接続は、次第にさらなるリソースを必要とし、非効率的に動作する。
LABに配置されたロジックセルに加えて、プログラマブルデバイス400はまた、特殊機能ブロック(例えば、乗算・累算ブロック(MAC)455およびランダムアクセスメモリブロック(RAM)460)を含む。少なくとも一部は、構成メモリ475に格納された構成データによって、プログラマブルデバイスの構成が特定される。構成データは、ロジックセルの機能を規定するルックアップテーブルに対する値;入力、出力、ロジックセル、および機能ブロック間における信号をルーティングするために構成可能スイッチ回路によって用いられるマルチプレクサおよび他のスイッチデバイスに対する制御信号の値;および、プログラマブルデバイスの構成の他の局面(例えば、プログラマブルデバイス、ならびに、多様な機能ブロックおよびロジックセルの動作のモード)を特定する値、を含み得る。構成メモリ475は、図4においてはモノリシックのユニットとして示されているが、一部のプログラマブルデバイスにおいて、構成メモリ475は、プログラマブルデバイス全体に散りばめられている。これらのタイプのプログラマブルデバイスにおいて、構成メモリの部分は、プログラマブルデバイスの構成可能スイッチ回路、ロジックセル、および機能ブロック内に存在し得る。
分かり易さのために、図4に示されたプログラマブルデバイス400の一部は、少数のロジックセル、LAB、および機能ブロックのみを含む。典型的なプログラマブルデバイスは、無数のこれらの要素を含む。
さらなる実施形態は、添付の文書を読解した後に、当業者によって想起され得る。例えば、本発明はプログラマブルデバイスに関連して検討されているが、標準の、または構造化ASIC、ゲートアレイ、および汎用デジタルロジックデバイスにも等しく適用可能である。他の実施形態において、上述にて開示された発明の組み合わせまたは小結合もまた有利になされ得る。アーキテクチャのブロック図およびフローチャートは、理解を容易にするためにグループ化されている。しかしながら、ブロックの組み合わせ、新しいブロックの追加、ブロックの再配置などは、本発明の代替実施形態において考慮されることは理解されるべきである。
従って、本明細書および図面は、限定的な意味ではなく、例示的な意味において考えられるべきである。しかしながら、様々な修正および変更が、請求の範囲において説明されるような本発明のより広い精神および範囲から逸脱することなくなされ得ることは明らかである。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。
本発明の一実施形態にしたがった、プログラマブルデバイスおよびI/Oバンクアーキテクチャを示す。 本発明の一実施形態にしたがった、プログラマブルデバイスのファミリーを示す。 本発明の一実施形態にしたがった、I/Oバンク間におけるI/Oピンの互換性を示す。 本発明の一実施形態の使用に適しているプログラマブルデバイスを示す。 本発明の一実施形態にしたがった、例示的なモジュール式I/Oバンク配置を示す。 本発明の一実施形態にしたがった、例示的なモジュール式I/Oバンク配置を示す。 本発明の一実施形態にしたがった、例示的なモジュール式I/Oバンク配置を示す。 本発明の一実施形態にしたがった、例示的なモジュール式I/Oバンク配置を示す。 本発明の一実施形態にしたがった、例示的なモジュール式I/Oバンク配置を示す。 本発明の一実施形態にしたがった、例示的なモジュール式I/Oバンク配置を示す。
符号の説明
100 デバイスアーキテクチャ
105 プログラマブルデバイスコア
107〜125 バンク

Claims (17)

  1. 複数のプログラマブルデバイスを含むプログラマブルデバイスファミリーにおけるプログラマブルデバイスであって、該プログラマブルデバイスは、
    プログラマブルデバイスコアと、
    第1のセットピンから構成される第1のI/Oバンクであって、該第1のセットピンは、データピンおよびサポートピン含み、該プログラマブルデバイスの第1の辺に位置している、第1のI/Oバンクと、
    第2のセットピンおよび第3のセットのピンから構成される第2のI/Oバンクであって、該第2のセットピンは、データピンおよびサポートピンを含み、該第1のI/Oバンクの該第1のセットピンは、該第2のI/Oバンクの該第2のセットピンと1対1対応を有し、該第2のセットピンは、該プログラマブルデバイスの第2の辺に位置している、第2のI/Oバンクと
    を備え、該第2のセットピンが、該第1の辺に沿った該第1のセットピンのシーケンスと同一のシーケンスで該第2の辺に沿って配置されている、プログラマブルデバイス。
  2. 前記第2の辺は、前記第1の辺に直交している、請求項1に記載のプログラマブルデバイス。
  3. 前記第2の辺は、前記第1の辺に対向している、請求項1に記載のプログラマブルデバイス。
  4. 前記第1のセットのピンにおけるサポートピンの数とデータピンの数との比率は、前記第2のセットのピンにおけるサポートピンの数とデータピンの数との比率と同じである、請求項1に記載のプログラマブルデバイス。
  5. プログラマブルデバイスコアと、
    第1シーケンスに配置される第1のセットのピンから構成される第1のI/Oバンクであって、該第1のセットのピンは、データピンおよびサポートピンを含む、第1のI/Oバンクと、
    第2のセットのピンおよび第3のセットのピンから構成される第2のI/Oバンクであって、該第2のセットのピンは、データピンおよびサポートピンを含み、該第1のシーケンスとは逆のシーケンスに配置されている、第2のI/Oバンクと
    を備える、プログラマブルデバイス。
  6. 第4のセットのピンを含む第3のI/Oバンクをさらに備え、
    前記第1のセットのピンは、前記プログラマブルデバイスの第1の辺に位置し、該第4のセットのピンは、該プログラマブルデバイスの第2の辺に位置し、該第4のセットのピンは、該第1の辺に沿った前記第1のシーケンスと同一のシーケンスで該第2の辺に沿って配置されている、請求項5に記載のプログラマブルデバイス。
  7. 前記サポートピンが、複数のグループの電力および接地ピンを含み、各グループの電力および接地ピンは、少なくとも1つのグループのデータピンに隣接して、前記第1のI/Oバンクおよび前記第2のI/Oバンク内に位置している、請求項5に記載のプログラマブルデバイス。
  8. 前記第1のセットのピンにおけるサポートピンの数とデータピンの数との比率は、前記第2のセットのピンにおけるサポートピンの数とデータピンの数との比率と同じである、請求項5に記載のプログラマブルデバイス。
  9. 複数のプログラマブルデバイスを含むプログラマブルデバイスファミリーにおけるプログラマブルデバイスであって、該プログラマブルデバイスは、
    プログラマブルデバイスコアと、
    第1のセットのピンを含む第1のI/Oバンクであって、該第1のセットのピンは、データピンおよびサポートピンを含み、該サポートピンは、複数のグループの電力および接地ピンを含む、第1のI/Oバンクと、
    第2のセットのピンを含む第2のI/Oバンクであって、該第1のI/Oバンクの該第1のセットのピンは、該第2のI/Oバンクの該第2のセットのピンと1対1対応を有する部分と、該部分に加えて複数のピンとを含み、該電力および接地ピンの数と該データピンの数との比率が固定されている、第2のI/Oバンクと
    を備え、
    各グループの電力および接地ピンは、少なくとも1つのグループのデータピンに隣接している、プログラマブルデバイス。
  10. 前記第2のI/Oバンクの前記第2のセットのピンは、データピンおよびサポートピンを含み、該第2のセットのピンにおける前記電力および接地ピンの数と該データピンの数との比率は、前記第1のセットのピンにおける前記電力および接地ピンの数とデータピンの数との比率と同じである、請求項9に記載のプログラマブルデバイス。
  11. 前記サポートピンがクロックピンを含む、請求項9に記載のプログラマブルデバイス。
  12. プログラマブルデバイスコアと、
    第1のタイプの第1の複数のI/Oバンクであって、該第1のタイプのI/Oバンク、データピンおよびサポートピンを含む、第1のタイプの第1の複数のI/Oバンクと、
    第2のタイプの第2の複数のI/Oバンクであって、該第2のタイプのI/Oバンク、データピンおよびサポートピンを含み、該第2のタイプの該複数のI/Oバンクのそれぞれは、該第1のタイプのI/Oバンクのピンと1対1対応を有するピンの部分と、該部分に加えて複数のピンとを含む、第2のタイプの第2の複数のI/Oバンクと
    を備え、
    該第1のタイプの該複数のI/Oバンクのそれぞれにおける該サポートピンのうちの少なくとも一部に対するデータピンの比率は、該第2のタイプの該複数のI/Oバンクのそれぞれにおける該サポートピンのうちの少なくとも一部に対するデータピンの比率と同じである、プログラマブルデバイス。
  13. 前記サポートピンの前記一部がクロックピンを含む、請求項12に記載のプログラマブルデバイス。
  14. 前記第1の複数のI/Oバンクおよび前記第2の複数のI/Oバンクは、同様の性能特性を有する、請求項12に記載のプログラマブルデバイス。
  15. 前記第1の複数のI/Oバンクのそれぞれは第1の固定数のピンを有し、前記第2の複数のI/Oバンクのそれぞれは第2の固定数のピンを有し、該第1の固定数のピンおよび該第2の固定数のピンは、インターフェースのセットのそれぞれをインプリメントするように選択される、請求項12に記載のプログラマブルデバイス。
  16. 前記第1のセットのピンおよび前記第2のセットのピンのそれぞれが連続して配置されている、請求項1に記載のプログラマブルデバイス。
  17. 前記第1のセットのピンが連続して配置されている、請求項5に記載のプログラマブルデバイス。
JP2007010029A 2006-01-19 2007-01-19 モジュール式i/oバンクアーキテクチャ Expired - Fee Related JP4621215B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/337,046 US20070164784A1 (en) 2006-01-19 2006-01-19 Modular I/O bank architecture
US11/558,363 US7378868B2 (en) 2006-01-19 2006-11-09 Modular I/O bank architecture

Publications (3)

Publication Number Publication Date
JP2007195191A JP2007195191A (ja) 2007-08-02
JP2007195191A5 JP2007195191A5 (ja) 2010-03-04
JP4621215B2 true JP4621215B2 (ja) 2011-01-26

Family

ID=37864532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007010029A Expired - Fee Related JP4621215B2 (ja) 2006-01-19 2007-01-19 モジュール式i/oバンクアーキテクチャ

Country Status (3)

Country Link
US (1) US7378868B2 (ja)
EP (1) EP1811668A1 (ja)
JP (1) JP4621215B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921264B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Dual-mode memory chip for high capacity memory subsystem
US8037258B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for dual-mode memory chip for high capacity memory subsystem
US7996641B2 (en) * 2007-06-27 2011-08-09 International Business Machines Corporation Structure for hub for supporting high capacity memory subsystem
US7822936B2 (en) * 2007-06-27 2010-10-26 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting replication of command data
US8037272B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting multiple speed bus
US8037270B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting replication of command data
US7809913B2 (en) * 2007-06-27 2010-10-05 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting multiple speed bus
US7921271B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Hub for supporting high capacity memory subsystem
US8019949B2 (en) * 2007-06-27 2011-09-13 International Business Machines Corporation High capacity memory subsystem architecture storing interleaved data for reduced bus speed
US7818512B2 (en) * 2007-06-27 2010-10-19 International Business Machines Corporation High capacity memory subsystem architecture employing hierarchical tree configuration of memory modules
KR101391118B1 (ko) * 2010-06-04 2014-04-30 자일링크스 인코포레이티드 논리 집적 회로(ic) 및 논리 집적 회로(ic)를 동작시키는 방법
US9166593B2 (en) 2012-05-28 2015-10-20 Baysand Inc. Flexible, space-efficient I/O circuitry for integrated circuits

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000509948A (ja) * 1997-02-28 2000-08-02 アクテル・コーポレイション 集積回路装置
JP2001111413A (ja) * 1999-10-07 2001-04-20 Fuji Xerox Co Ltd 情報処理装置
JP2001156171A (ja) * 1999-11-24 2001-06-08 Ricoh Co Ltd 半導体集積回路
JP2001196921A (ja) * 2000-01-17 2001-07-19 Nec Corp プログラマブル集積回路装置
JP2003318263A (ja) * 2003-03-24 2003-11-07 Seiko Epson Corp 半導体装置
JP2007502014A (ja) * 2003-07-31 2007-02-01 アクテル・コーポレイシヨン プログラマブルシステムオンチップ

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62285443A (ja) * 1986-06-03 1987-12-11 Fuji Photo Film Co Ltd マスタスライス集積回路装置
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
JPH04146664A (ja) * 1990-10-08 1992-05-20 Kawasaki Steel Corp 集積回路
US5480026A (en) * 1995-01-17 1996-01-02 Darling; David W. Bocci ball caddy
US5889413A (en) * 1996-11-22 1999-03-30 Xilinx, Inc. Lookup tables which double as shift registers
JP3024590B2 (ja) * 1997-04-25 2000-03-21 日本電気株式会社 プログラマブル論理デバイス
US6289496B1 (en) * 1998-06-29 2001-09-11 Xilinx, Inc. Placement of input-output design objects into a programmable gate array supporting multiple voltage standards
US6864710B1 (en) * 1999-12-30 2005-03-08 Cypress Semiconductor Corp. Programmable logic device
US6608500B1 (en) * 2000-03-31 2003-08-19 Cypress Semiconductor Corp. I/O architecture/cell design for programmable logic device
US6384628B1 (en) * 2000-03-31 2002-05-07 Cypress Semiconductor Corp. Multiple voltage supply programmable logic device
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
US7020728B1 (en) * 2001-07-13 2006-03-28 Cypress Semiconductor Corp. Programmable serial interface
US6946872B1 (en) * 2003-07-18 2005-09-20 Altera Corporation Multiple data rate interface architecture
US7167023B1 (en) * 2001-08-29 2007-01-23 Altera Corporation Multiple data rate interface architecture
US6838902B1 (en) * 2003-05-28 2005-01-04 Actel Corporation Synchronous first-in/first-out block memory for a field programmable gate array
US7061269B1 (en) * 2004-05-12 2006-06-13 Lattice Semiconductor Corporation I/O buffer architecture for programmable devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000509948A (ja) * 1997-02-28 2000-08-02 アクテル・コーポレイション 集積回路装置
JP2001111413A (ja) * 1999-10-07 2001-04-20 Fuji Xerox Co Ltd 情報処理装置
JP2001156171A (ja) * 1999-11-24 2001-06-08 Ricoh Co Ltd 半導体集積回路
JP2001196921A (ja) * 2000-01-17 2001-07-19 Nec Corp プログラマブル集積回路装置
JP2003318263A (ja) * 2003-03-24 2003-11-07 Seiko Epson Corp 半導体装置
JP2007502014A (ja) * 2003-07-31 2007-02-01 アクテル・コーポレイシヨン プログラマブルシステムオンチップ

Also Published As

Publication number Publication date
JP2007195191A (ja) 2007-08-02
US7378868B2 (en) 2008-05-27
US20070165478A1 (en) 2007-07-19
EP1811668A1 (en) 2007-07-25

Similar Documents

Publication Publication Date Title
JP4621215B2 (ja) モジュール式i/oバンクアーキテクチャ
US10516397B2 (en) System level interconnect with programmable switching
US6181163B1 (en) FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals
US6081473A (en) FPGA integrated circuit having embedded sram memory blocks each with statically and dynamically controllable read mode
US5504440A (en) High speed programmable logic architecture
JPH04233326A (ja) 構成可能相互接続構造
USRE39510E1 (en) FPGA integrated circuit having embedded sram memory blocks with registered address and data input sections
US8674721B2 (en) Controllable storage elements for an IC
US10020811B2 (en) FPGA RAM blocks optimized for use as register files
WO1999048004A1 (en) Sram bus architecture and interconnect to an fpga
JP2006310840A (ja) プログラマブルな入出力ポートを備えたマスク−プログラマブルロジックデバイス
US6249143B1 (en) Programmable logic array integrated circuit with distributed random access memory array
JP6653126B2 (ja) 再構成可能な半導体装置
US7355441B1 (en) Programmable logic devices with distributed memory and non-volatile memory
CN101109942B (zh) 模块化i/o库结构
US10855283B2 (en) Routing network for reconfigurable circuit
US6049224A (en) Programmable logic device with logic cells having a flexible input structure

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100118

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100118

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100308

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100607

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100610

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100707

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100712

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100806

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100907

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101029

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4621215

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

LAPS Cancellation because of no payment of annual fees