JP2004517543A - Fpgaのアーキテクチャ - Google Patents
Fpgaのアーキテクチャ Download PDFInfo
- Publication number
- JP2004517543A JP2004517543A JP2002554970A JP2002554970A JP2004517543A JP 2004517543 A JP2004517543 A JP 2004517543A JP 2002554970 A JP2002554970 A JP 2002554970A JP 2002554970 A JP2002554970 A JP 2002554970A JP 2004517543 A JP2004517543 A JP 2004517543A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- output
- input
- circuit
- logic
- 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
Links
- 239000000872 buffer Substances 0.000 claims description 55
- 238000000034 method Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 45
- 239000004020 conductor Substances 0.000 description 14
- 230000000295 complement effect Effects 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 229910021417 amorphous silicon Inorganic materials 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 239000002184 metal Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000000623 plasma-assisted chemical vapour deposition Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17736—Structural details of routing resources
- H03K19/1774—Structural details of routing resources for global signals, e.g. clock, reset
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17736—Structural details of routing resources
- H03K19/17744—Structural details of routing resources for input/output signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/1778—Structural details for adapting physical parameters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/18—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
- H03L7/183—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between fixed numbers or the frequency divider dividing by a fixed number
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
(技術分野)
本発明は、プログラム可能な集積回路に関する。さらに詳しくは、本発明は例えばアンチヒューズを採用する書換え可能ゲートアレイ(FPGA)に関する。
【0002】
(従来技術)
特定用途向けIC(ASIC)は汎用性集積回路チップであり、その内部回路は、個々のユーザによって設計、製造されることで特殊用途を実現する。プログラム可能なASICを構成するために、ユーザがプログラム可能なASICのオン−チップ相互接続構造を構成して、選択されたオン−チップ構成要素の選択入力端子及び出力端子は、結果物たる回路がユーザ所望の特定回路となる方法で互いに電気的に接続される。プログラム可能ASICが用いられる場合、例えば、非結晶シリコンアンチヒューズ、すなわち選択されたワイヤーセグメント間に配置された選択された非結晶シリコンアンチヒューズが、“プログラム”され選択されたワイヤーセグメントを共に電気的に接続させる。いずれのアンチヒューズがプログラムされ、いずれのアンチヒューズがプログラムを施されないままなのかが、回路構成要素の相互接続方法を決定しゆえに結果物たる回路を決定する。
【0003】
書換え可能ゲートアレイ(FPGA)は、プログラム可能特定用途向けICの一つである。アンチヒューズを用いる書換え可能ゲートアレイに関する背景技術情報は、”Field Programmable Gate Array Technology”(Stephen Trimberger、1994年、1−14ページ及び98−170ページ)、”Field−Programmable Gate Arrays”(Stephen Brownら、1992年、1−43ページ及び88−202ページ)、”Practical Design Using Programmable Logic”(David Pellerin及びMichael Holley、1991年、84−98ページ)、1995 QuickLogic Data Book(1995年、1−5乃至2−11ページ、及び6−3乃至6−18ページ)、1995 Actel FPGA Data Book And Design Guide(1995年、ix−xv、1−5乃至1−34ページ、 1−51乃至1−101ページ、1−153乃至1−222ページ、3−1乃至4−56ページ)、米国特許番号第5,424,655号”Programmable Application Specific Integrated Circuit Employing Antiftises And Methods Therefor”、及び米国特許番号第5,825,201号”Programmable Architecture for a Programmable Integrated Circuit Employing Antifuses”を参照していただきたい。これら文献等の内容に関しては、ここに参照したことをもって本願の一部とする。
【0004】
(発明の開示)
アンチヒューズを用いる書換え可能ゲートアレイのようなプログラム可能集積回路は、プログラム可能相互接続構造及び複数のロジックセルを含む。ロジックセルは各々、プログラム可能相互接続構造と直接相互接続している複数の組み合わせ論理回路と、レジスタとして働くD型フリップ−フロップのような複数の順次論理素子とを有する複数の組み合わせ論理回路を有する。組み合わせ論理回路は、順次論理素子の入力端子に接続されてもよいのはもちろんのこと、プログラム可能相互接続構造に直接接続されてもよい。一つの組み合わせ論理回路の出力端子がプログラム可能相互接続構造に直接接続されてもよいのはもちろんのこと、複数の順次論理素子を選択的に接続してもよい。結果として、ロジックセルはプログラム可能相互接続構造に対する組み合わせ接続、及びレジスタされた接続の双方を含む。更に、順次要素の1つはプログラム可能相互接続構造よりの専用の入力を選択的にレシーブする。
【0005】
加えて、ロジックセルの出力リードが、保護トランジスタを有するドライバを介してプログラム可能相互接続構造へと接続される。保護トランジスタのゲートは第1の電荷ポンプに接続され、複数のドライバで共有される。加えて、保護トランジスタのゲートはドライバに関連する第2の電荷ポンプへと接続される。
【0006】
本発明の別の側面は、プログラム可能相互接続構造へとフィードバックするプログラム可能相互接続構造に接続された出力レジスタを含むI/O(入出力)回路を有する、プログラム可能デバイスである。I/O回路はまた、出力レジスタ及び出力イネーブルレジスタを有する。I/O回路が、入力レジスタ、出力レジスタ、及び出力イネーブルレジスタを用いる場合、境界スキャン回路が境界スキャンレジスタとして、入力レジスタ、出力レジスタ、及び出力イネーブルレジスタを用いてもよい。I/O回路パッドは、入力レジスタ、出力レジスタ、及び出力イネーブルレジスタのようなI/O回路に直接接続されてもよい。I/O制御パッドはマルチプレクサのデータ端子に接続され、一方でマルチプレクサの別のデータ端子はプログラム可能相互接続構造へと接続される。マルチプレクサの出力端子はプログラム可能相互接続構造及びI/O回路の双方に接続される。出力レジスタはバッファを介してI/Oパッドへと接続され、出力イネーブルレジスタによって制御される。I/O回路がまた、調整可能なスルーレートを有するバッファを含んでもよい。バッファは抵抗素子及び抵抗素子に平行に設けられたトランジスタを介して接地されたインバータを有する。調整可能なスルーレートは、例えばインバータに接続されたトランジスタをイネーブルもしくはディスエーブルすることで制御される。同様に、インバータは抵抗素子及び抵抗素子と平行に設けられた別のトランジスタを介して電位へと接続されてもよい。入力レジスタが、差動トランスレータを介してI/Oパッドへと接続されてもよい。差動トランスレータは、例えば異なる基準電圧源へ接続されてもよい入力端子を含む。
【0007】
本発明の別の側面によれば、1/4区分に分割された論理セルのアレイと、各々の1/4区分の概ね中心へ延在し各々の1/4区分を二等分するクロックネットワークとを備えたFPGAが与えられる。クロックネットワークは第1のクロックバスを二等分する別のバスを介するようなI/Oパッドに接続された第1のクロックバスを含み、また1/4区分の間で水平に延在する。複数の第2のクロックバスは、第1のバスより各々1/4区分へと垂直に延在する。クロックネットワークは複数の第3のクロックバスを有し、各々は第2のクロックバスの1つに接続され、1/4区分を二等分する。クロックバスは第3のクロックバスの各々より上方及び下方の双方に垂直に延在しており、また論理セルにプログラム可能に接続されている。クロックネットワークが例えば論理セルへ専用のクロック信号を配信するのに用いられもよい。加えてプログラム可能位相同期ループがクロックネットワークと共に用いられてもよい。位相同期ループは、位相検出器の前、及びフィードバックループ内においてプログラム可能な1/n回路を有し、遅延に対するプログラム可能な制御を可能とする。加えて、VCOのレンジを拡張する電圧制御発振器(VCO)の後、プログラム可能な1/n回路が位相同期ループに含まれる。
【0008】
本発明の別の側面によればFPGAにおけるプログラム可能アーキテクチャが与えられ、それはロジックセル及び配線リソースが例えば1/4区分のようなサブセクションへ分割され、各サブセクションに接続された垂直プログラミングセル及び水平プログラミングセルの異なるセットを有する。例えばFPGAは8本の複数の電源バスを有し、例えば4本の電源バスであるような異なるセットの電源バスが各々水平及び垂直プログラミングセルに接続される。水平プログラミングセルに接続された各々の電源バスのセットは少なくとも1つの異なった電源バスを有する。水平及び垂直プログラミングセルは各サブセクションをおよそ二等分する。そのようなわけで、サブセクション内におけるプログラミングセルより何れかのアンチヒューズへの距離は最小化される。プログラミングセルの各々のセットは一方向で電源バスのサブセットを提供し、別のサブセットでは逆方向となる。そのようなわけでFPGAは8つのビットプログラミングアーキテクチャを有する。
【0009】
本発明の別の側面によれば、CMOSアーキテクチャがFPGA内のアンチヒューズをプログラムするのに用いられる。そのようなわけで、FPGAは少なくとも1つのアンチヒューズと、アンチヒューズにスイッチング可能に接続された高電圧プログラミング源と、アンチヒューズにスイッチング可能に接続された低電圧プログラミング源とを有する。NMOSトランジスタは高電圧プログラミング源とアンチヒューズとの間に配置され、PMOSトランジスタはNMOSトランジスタと平行である。複数のNMOSトランジスタ及び平行なPMOSトランジスタは、高電圧プログラミング源及びアンチヒューズの間で直列に接続されてもよい。同様に、NMOSトランジスタは低電圧プログラミング源及びアンチヒューズの間に配置され、PMOSトランジスタはNMOSトランジスタと平行に設置される。制御回路は適切なゲート電圧をNMOSトランジスタ及びPMOSトランジスタへ供給し、トランジスタのスイッチを概ね同時に入れたり切ったりする。都合の良いことに、CMOSアーキテクチャの使用で、NMOSトランジスタのゲート電圧を高電圧プログラミング源によって提供される電圧とほぼ同一にすることが可能である。結果として電荷ポンプが要求されることはない。
【0010】
発明の開示は、本発明の権利範囲を規定するものではない。本発明の権利範囲は付随の特許請求の範囲によって規定される。
【0011】
詳細な説明
図1は、FPGA(field programmable gate array)などのプログラム可能なデバイス100を模式的に示す。図示されているプログラム可能なデバイス100は、6列6行のマクロセル102と、垂直線及び水平線で模式的に示されている複数の相互接続配線リソース104とを含む。プログラム可能なデバイス100は、図1に示されているマクロセルの数よりも多い或いは少ない数のマクロセルを含み得る。複数の入力/出力(I/O)セル106も図1に示されている。配線リソース104には、ユーザの好みに応じて様々な構成に目的のマクロセル102とI/Oブロック106とを相互接続するようにプログラム可能な図示されていないアンチヒューズ(antifuse)などのプログラム可能な素子が含まれる。
【0012】
プログラム可能なデバイスを形成する場合、回路がユーザの目的に合った特殊な回路となるように、例えばマクロセル102及びI/Oセル106などの選択されたチップ上の回路素子である選択された入力端子及び選択された出力端子が互いに電気的に接続されるように、ユーザが、相互接続構造即ち配線リソース104及び配線リソース間に設けられたアンチヒューズ(図示せず)を設計する。例えばアモルファスシリコンアンチヒューズを利用しているプログラム可能なデバイスでは、選択されたワイヤセグメント間に配設された選択されたアンチヒューズが、選択されたワイヤセグメントを互いに電気的に接続するようにプログラムされている。
【0013】
図2は、複数のマクロセル102と、図2ではPREIOブロックとして示されている複数のI/Oセル106とを含むFPGA100の別の模式図である。図2に示すそれぞれの長方形は、例えば1つのマクロセルや1つのI/O回路を示す。配線リソースは、見やすくするために図2には示していない。図2に示されているように、必要に応じて、FPGA100は、目的の機能を実現し得るRAM107などの組み込まれた回路及び/または追加の組み込まれた回路108を含み得る。RAM107及び/または組み込まれた回路108には、プログラム不可能な或いは部分的にプログラム可能なASIC(application specific integrated circuit)デザインが可能である。RAM107及び組み込まれた回路108などの組み込まれた回路の詳細については、米国特許出願第09/650,773号(名称、「Integrated Circuit Including Dedicated And Programmable Logic」)、米国特許出願第09/345,663号(名称、「Ram with Configurable Depth and Width」)、及び米国特許出願第09/451,681号(名称、「Programmable Device With An Embedded Portion For Receiving A Standard Circuit Design」)を参照されたい。またこれらの特許出願に言及することをもって本明細書の一部とする。組み込まれた回路108は、例えば、同時出願同時係属中のBrian C. Faith他による米国特許出願第09/751,538号(名称、「Configurable Computational Unit Embedded In A Programmable Device」)に開示されているような設計可能な計算単位(cofigurable computational unit)などが可能である。また上記特許出願は本出願と同一の譲受人であり、言及することをもって本明細書の一部とする。
【0014】
また、図2には、水平方向及び垂直方向のプログラム可能なシフトレジスタ109が示されている。一対のプログラム可能なシフトレジスタ109が、FPGA100の4分割された1/4区分100A、100B、100C、及び100Dのそれぞれに配置されている。このシフトレジスタ109を用いてFPGA100内の目的の相互接続をプログラムする。この詳細については以降に説明する。
【0015】
FPGA及びプログラム方法論が、例えば、米国特許第5,825,201号(名称、「Programmable Architecture for a Programmable Integrated Circuit Employing Antifuses」)及び同第5,327,024号(名称、「Field Programmable Antifuse Device and Programming Method Therefor」)に記載されており、言及することをもってこれらの特許を本明細書の一部とする。
【0016】
図1及び図2に示すFPGA100の特徴を以降に詳細に説明する。
【0017】
マクロセル102はFPGA100の反復部分であって、少なくとも1つの論理素子のモジュールと、プログラム可能な相互接続及びプログラム構造の一部を含む。図3A、図3B、及び図3Cを含む図3は、マクロセル102の一例を示す。図3に示されているように、マクロセル102は、2つのロジックセル110A及び110Bとロジックセル相互接続セクション112a及び112bとを含む。マクロセル102の配線ネットワークは、通常は、実として示す実質的に同一なスイッチセクション114a、114b及び115a、115b、実として示す実質的に同一な垂直パス接続セクション116a、116b及び117a、117b、及び実として示す実質的に同一な水平パス接続セクション118a、118b、及び119a、119bを含む。マクロセル102はまた、プログラミングセクション120、クロックバス122a及び122bを含む。図3から分かるように、ロジックセル110a及び110b、それらに対応するロジックセル相互接続セクション112a及び112b、及び支持配線ネットワークは実質的に鏡像となっている。更に、ロジックセル110a及び110bの上下の配線リソースも実質的に鏡像になっている。
【0018】
一般に、ロジックセル相互接続セクション112a及び112bでは、ロジックセル110aまたは110bの入力端子または出力端子からの垂直ワイヤと水平ワイヤとのそれぞれの交差部分がアンチヒューズ124などのクロスリンクによって接続されている。同様に、例として示すスイッチセクション114a、114b、115a、及び115bでは、一般に垂直ワイヤと水平ワイヤとのそれぞれの交差部分がアンチヒューズ126などのクロスリンクによって接続されている。
【0019】
アンチヒューズの一般的な配置とは対照的に、垂直ワイヤ128a、128b及び129a、129bは、ワイヤ128a、128b(tiehi)が電源バス(power bus)に接続されていて、ワイヤ129a及び129b(tielo)がグラウンドバスに接続されているため、いずれの垂直ワイヤにもアンチヒューズが設けられていない。グラウンド及び電源がロジックセルの出力ノードに接続されていないため、垂直ワイヤ128a、128b及び129a、129bとロジックセルの出力ワイヤ110a及び110bとの間のロジックセル接続セクションにアンチヒューズが設けられていない。
【0020】
スイッチセクション114aなどの配線リソースは、2本線132及び4本線134の2つのワイヤのセットを含む。2本線132は、それぞれの2つのロジックセル間に接続経路136a及び136bを含む。図3に示されているように、2つの接続経路136aが2つの2本線132をロジックセル110aの右に接続し、2つの接続経路136bが別の2つの2本線132をロジックセル110bの右に接続して、接続経路136a及び136bが互い違いに配置されている。4本線134は2本線132に類似しているが、4つのロジックセルごとに接続経路138a及び138bが設けられている。図3に示されているように、6つの4本線134の内の3つは、互い違いに配置された接続経路138a及び138bを含む。マクロセル102の右または左の図示しない別のマクロセルは、マクロセル102に実質的に類似しているが、6つの4本線134の内残りの3つに対する接続経路を有する。
【0021】
一般に、クロスリンクアンチヒューズはプログラム可能である。アンチヒューズは、プログラムされていない状態では開路を提供し、プログラムされている状態では閉路を提供する。特に好適なアンチヒューズは、米国特許第5,501,315号(名称、「Electrically Programmable Interconnect Structure Having PECVD Amorphous Silicon Element」)及び1998年11月19日に出願のShroffらによる米国特許出願第09/196,946号(名称、「Metal−To−Metal Antifuse With Non−Conductive Diffusion Barrier」)に記載されているアモルファスシリコンアンチヒューズである。これらの特許及び特許出願に言及することをもって本明細書の一部とする。また、SRAMなどの別のタイプのプログラム可能な素子も用いることが可能である。
【0022】
図4は図3のロジックセル110bの模式図である。ロジックセル102bは、それぞれが3つの実際の入力端子と3つの相補入力端子とを有する2つの6入力ANDゲート140及び142と、それぞれが実際の入力端子と相補入力端子とを有する4つの2入力ANDゲート144−147と、7つの2−1マルチプレクサ148、150、152、154、156、158、及び160と、2つのレジスタ162及び164とからなる。ロジックセル110bは、2000年7月4日に付与されたKolze他による米国特許第6,084,428号(名称、「Programmable Integrated Circuit Having Shared Programming Conductors Between Columns of Logic Modules」)に開示されているロジックセルに類似しているが、ロジックセル110bは、遅延即ちDレジスタ162及び164の形である2つの連続したロジック素子を含み、それらの出力がロジックセル110bの出力QZ及びQ2Zとして供給される。なお、前記米国特許に言及することをもって本明細書の一部とする。レジスタ162及び164は、クロック(QC)入力、セット(QS)入力、及びリセット(QR)入力を共用する。追加のマルチプレクサ160を用いて、レジスタ164に対する入力データを供給し、一方、レジスタ162に対する入力データはマルチプレクサ158から供給される。マルチプレクサ160には、マルチプレクサ158に対する入力でもあるマルチプレクサ154からのNZ出力が入力されるか或いは専用の入力PSから直接入力され、専用の入力PPによって選択される。
【0023】
ANDゲート140は6つの入力を受け取るが、その内の3つが実際の入力A1、A3、及びA5であり、残りの3つが相補入力A2、A4、及びA6である。ANDゲート142の出力端子は、ロジックセル110bの出力端子AZであり、2:1マルチプレクサ148のデータ入力である。マルチプレクサ148への他のデータ入力が専用の入力OPによってドライブされる。
【0024】
2つの6入力ANDゲート142はまた、3つの実際の入力F1、F2、及びF3と、相補入力F2、F4、及びF6を受け取る。ANDゲート142の出力端子は、ロジックセル110bの出力端子FZであり、2:1マルチプレクサ152及び2:1マルチプレクサ156のデータ入力である。マルチプレクサ152及び156のその他のデータ入力はそれぞれ、専用の入力MS及びNSである。マルチプレクサ152及び156はそれぞれ、専用の入力MP及びNPによって制御されている。
【0025】
ANDゲート144は、実際の入力B1及び相補入力B2を受け取り、その出力を2:1マルチプレクサ150のデータ入力に供給する。ANDゲート145は、実際の入力C1及び相補入力C2を受け取り、その出力を2:1マルチプレクサ150のその他のデータ入力に供給する。同様に、ANDゲート146は、実際の入力D1及び相補入力D2を受け取り、その出力を2:1マルチプレクサ154のデータ入力に供給する。ANDゲート147は、実際の入力E1及び相補入力E2を受け取り、その出力を2:1マルチプレクサ154のその他のデータ入力に供給する。
【0026】
マルチプレクサ150の選択端子が、マルチプレクサ152の出力によってドライブされ、一方、マルチプレクサ154の選択端子はマルチプレクサ156の出力によってドライブされる。
【0027】
マルチプレクサ150及び154の出力は、2:1マルチプレクサ158のデータ入力として受け取られる。マルチプレクサ158の選択入力は、マルチプレクサ148の出力によってドライブされる。
【0028】
従って、ロジックセル110bは、31の1入力端子(レジスタ制御ラインを含む)を有し、最大17までの同時入力の広い範囲に対応する。ロジックセル110bは6の出力を有し、その内の4つは組み合わせであり、残りの2つはレジスタされたものである。ロジックセル110bの高い論理容量及び論理入力数により、1レベルの論理遅延で多くのユーザ機能を実現するため、2或いはそれ以上のレベルの遅延を必要とする従来のロジックセルと比べ高性能である。
【0029】
有利なことに、グローバルクロックバスを用いて、クロックがANDゲート140の例えばA1などの実際の入力及びANDゲート142の例えばF2などの相補入力をドライブして、ANDゲート140及び142の両方をドライブする。図3に示されているように、クロックバス122a及び122bを、グループ123a、123bまたは125a、125bにおけるアンチヒューズの1つをプログラムして、ロジックセル110a及び110bのA1及びF2入力に接続することができる。クロックバス上のキャパシタンスを減少させるために、ANDゲート140及び142の残っている入力端子をクロックバスに接続できないようにする。従って、ロジックセル110a及び110bは、クロックの実際の入力及び/または相補入力に対して論理関数を実行できる。
【0030】
図5は、2つのロジックモジュール180及び182の簡略化した線図である。ロジックモジュール180及び182はそれぞれ、ロジックセル181及び183を含み、これらのロジックセルには、例えば図4を参照して説明したロジックセル110bを用いることができる。しかしながら、ロジックモジュール180及び182の出力端子(簡潔化するために2つしか示していない)は、ドライバ184−187に接続されている。ドライバ184−187は、プログラム可能な相互接続構造188に接続されている。アンチヒューズプログラミング時に、高電圧により低電圧ロジックトランジスタであるドライバ184−187が故障するのを保護するために、ドライバは通常、プログラミング時にのみ電流が流れない保護トランジスタを含む。
【0031】
図6は従来のドライバ190の詳細な線図である。ドライバ190は、Pチャネル低電圧ロジックトランジスタ192及びNチャネル低電圧ロジックトランジスタ194を有するインバータ191と、比較的大きい高電圧Nチャネル保護トランジスタ196と、比較的小さい高電圧Nチャネル保護トランジスタ198とを含む。保護トランジスタ196のゲートは、通常の動作時には、例えば5.0VのVccに接続され、プログラミング時には、例えば0Vの接地電位に接続されて、アンチヒューズプログラミング時に図5のプログラム可能な相互接続構造188に存在し得る高いプログラミング電圧からインバータ191が隔離される。保護トランジスタ198のゲートは、通常の動作時には、例えば7.8Vである電荷ポンプ電圧Vcpに接続され、プログラミング時にはインバータ191を隔離するために接地電位に接続される。ゲートにVccよりも高い電荷ポンプ電圧Vcpが供給される保護トランジスタ198が、インバータ191がプログラム可能な相互接続構造188をドライブするために必要な電流をVccで供給できるように設けられる(そのゲートに高電圧Vcpが供給されるため、しきい値電圧がトランジスタ198の前後で低下しない)。ドライバ190の更なる詳細については、2000年2月22日に付与されたWong他による米国特許第6,028,444号(名称、「Three−Statable net Driver For Antifuse Field Programmable Gate Array」)を参照されたい。またこの特許に言及することをもって本明細書の一部とする。
【0032】
図7は、インバータ191の出力端子(OUTPUT)における電圧および保護トランジスタ198のゲートにおける高電圧ノード(HV NODE)の波形を示す。図7から分かるように、インバータ191が論理「High」から論理「Low」に切り替わると、保護トランジスタ198のゲート電圧がプルダウンされる。保護トランジスタ198に電荷ポンプ電圧Vcpを供給する電荷ポンプは、デバイス内の多くのインバータによって共用される。従って、多数のインバータが同時に論理「High」から論理「Low」に切り替わると、保護トランジスタ198のゲートにおける電荷ポンプ電圧Vcpが極端にプルダウンされて保護トランジスタ198の性能に影響を与える可能性がある。図7に示されているように、HV NODEにおける電圧は、出力信号が論理「Low」である限り、一定の時間ゆっくりと上昇する。
【0033】
図8は、本発明の一実施例に従ったドライバ200の詳細な線図を示す。図8に示されているように、ドライバ200は、Pチャネル低電圧ロジックトランジスタ204とNチャネル低電圧ロジックトランジスタ206を含むインバータ202を含む。ドライバ200はまた、比較的大きい、例えば21.7/0.35高電圧Nチャネル保護トランジスタ208と、図5の保護トランジスタ208のゲートに接続された二次電荷ポンプ210とを含む。保護トランジスタ208のゲートはまた、2.5Vの通常の動作中には、例えば4Vの電圧Vcpを生成し、アンチヒューズプログラミング時には、プログラム可能な相互接続構造188に存在し得る高いプログラミング電圧からインバータ202を隔離するために接地電位、例えば0Vに接続される従来の電荷ポンプ207に接続されている。有利なことに、ドライバ200に関連する二次電荷ポンプ210により、保護トランジスタ208のゲート電圧が極端にプルダウンされるのが防止される。従って、ドライバ200の出力は、同時に論理「High」から論理「Low」に切り替えられ得る電荷ポンプに接続されたいくつかの他のドライバに対して比較的変動しない。更に、ドライバ200に必要なダイ領域は、従来のドライバに必要な領域よりも小さい。
【0034】
図9は、インバータ202の出力端子(OUTPUT)における電圧および保護トランジスタ208のゲートにおける高電圧ノード(HV NODE)の波形を示す。ドライバ200が二次電荷ポンプ210を含むため、インバータ202が論理「High」から論理「Low」に切り替わっても、保護トランジスタ208のゲート電圧が極端にはプルダウンされない。
【0035】
図10は、本発明の一実施例に従った入出力(I/O)回路250を示す。I/O回路250は、図1および図2に示されている各I/Oセル106として用いることができる。I/O回路250は、入力レジスタ252、出力レジスタ254、および出力イネーブルレジスタ256を含み、これにより有利なことに、入力、出力、二方向動作のためにI/O回路250をプログラムすることが可能となる。I/O回路250は、電源バスおよび配線リソース268に接続されているI/O制御ライン262、グローバルクロックライン264、電源バスに接続されているtiehiおよびtieloライン266、および配線リソース268を含むプログラム可能な相互接続構造260に接続することができる。図示されているように、レジスタ252、254、および256は、クロック信号およびリセット信号によって制御され、レジスタ252および256もクロックイネーブルによって制御される。クロック信号、クロックイネーブル信号、およびリセット信号は、配線リソース268により、グローバルクロック264、I/O制御ライン262、またはtiehiまたはtieloライン266の1つから供給され得る。クロック信号およびリセット信号は1本のラインを共用し、一方、レジスタ252および256をイネーブルするクロックは単独で制御され得る。レジスタ252、254、および256は、2:1マルチプレクサ258を介して配線クロックHWCKLによって制御され得る。
【0036】
I/O回路250は、2:1マルチプレクサ272を介して入力レジスタ252のデータ入力端子に接続されているパッド270を含む。差動トランスレータ(differential translator)273が、マルチプレクサ272のその他のデータ端子に接続されている。マルチプレクサ272の出力端子は、バッファ274を介してプログラム可能な相互接続構造260の配線リソース268に直接接続することが可能である。マルチプレクサ272の選択端子は、tiehiおよびtieloのライン266の何れか一方によってドライブされる。入力レジスタ252のイネーブル端子は、I/O制御ライン262、グローバルクロック264、tiehiおよびtieloライン266、または配線リソース268によってプログラム可能に制御され得る。同様に、入力レジスタ252のリセット端子は、ORゲート276を介してプログラム可能な相互接続構造260によってプログラム可能に制御され得る。ORゲート276において、ORゲート276に対する第2の入力端子が、電源リセット時に用いられるグローバルリセット(GRST)に接続されている。入力レジスタ252の出力端子は、バッファ278を介して配線リソース278に接続されている。
【0037】
入力機能の場合は、I/O回路250は、ロジックアレイに対して組み合わせデータまたはレジスタされたデータ、或いはそれらの両方を同時に供給することができる。組み合わせ入力動作の場合は、データが、I/Oパッド270からマルチプレクサ272及び入力バッファ274を介して配線リソース268によって目的のロジックアレイに配線される。レジスタされた入力動作の場合は、データがI/Oパッド270から入力レジスタ252のD入力に配線され、内部ロジックセルリソースを消費することなくデータの受け取りが可能となる。
【0038】
出力レジスタ254のデータ端子は、配線リソース268およびtiehiおよびtieloライン266にプログラム可能に接続され得る。出力レジスタ254のリセット端子は、ORゲート276に接続されている。出力レジスタ254の出力端子は、2:1マルチプレクサ280のデータ端子に接続され、バッファ282を介して配線リソース268にもフィードバックされる。2:1マルチプレクサ280の別のデータ端子は、出力レジスタ254のデータ端子に接続されている。マルチプレクサ280の選択端子は、tiehiおよびtieloライン266の何れか一方によってプログラム可能にドライブされる。マルチプレクサ280の出力端子は、3状態出力バッファ284に接続されている。バッファ284のスリューは、バッファ284をtiehiおよびtieloライン266の何れか一方に接続してプログラム可能に制御され得る。これについては、以降に詳述する。
【0039】
従って、有利なことに、出力機能の場合は、I/Oパッド270は、組み合わせデータまたはレジスタされたデータを配線リソース268を介してロジックアレイから受け取ることができる。組み合わせ出力動作の場合、データは、ロジックアレイから配線リソース268、マルチプレクサ280およびバッファ284を介してI/Oパッド270に配線される。レジスタされた出力動作の場合、論理は、ロジックアレイから出力レジスタ254のD入力に配線され、それによりマルチプレクサ280およびバッファ284を介してI/Oパッド270がドライブされる。出力レジスタ254を追加することにより、クロックからアウト(TCO)への時間が短くなる。更に、出力レジスタ254が配線をドライブしないため、3状態インバータおよび1つの反転を出力経路から排除することができ、経路の長さが、配線がロジックアレイのマクロセルに基づく前の実施例に比べ短くなる。
【0040】
出力イネーブルレジスタ256のデータ端子が、配線リソース268およびtiehiおよびtieloライン266にプログラム可能に接続可能である。出力イネーブルレジスタ256のイネーブル端子は、プログラム可能な相互接続構造260にプログラム可能に接続され、一方、リセット端子はORゲート276に接続され得る。出力イネーブルレジスタ256の出力端子は、2:1マルチプレクサ286のデータ端子の一方に接続されている。マルチプレクサ286の別のデータ端子は、出力イネーブルレジスタ256のデータ端子に接続され、一方、選択端子はtiehiおよびtieloライン266の何れか一方によってプログラム可能に制御される。マルチプレクサ286の出力端子は、バッファ284のイネーブル端子に接続され、バッファ284をイネーブルまたはディスエーブルするために用いられる。
【0041】
従って、3状態出力バッファ284が、ロジックアレイからI/Oパッド270へのデータの流れを制御することにより、I/Oパッド270が入力端子および/または出力端子として働くようになる。バッファ284のイネーブル出力は、ロジックセルアレイまたは任意のパッド(通常の配線リソースを介して)によって独立して制御するか、或いはグローバルネットワークの1つを介してバンク制御され得る。バッファ284の制御信号は、組み合わせ信号またはレジスタされた信号の何れかとすることができる。組み合わせ制御動作の場合、データは、ロジックアレイから配線リソース268およびマルチプレクサ286を介して3状態出力バッファ284に配線される。レジスタされた制御動作の場合、データは、出力イネーブルレジスタ256のD入力をドライブするべく配線され、マルチプレクサ286を介して3状態出力バッファ284がドライブされる。
【0042】
弱いプルダウンレジスタ288がパッド270に接続されている。プルダウンレジスタ288のゲートは、tiehiおよびtieloライン266の一方にプログラム可能に接続されている。弱いプルダウンレジスタ288を使用することにより、I/O回路のために外部プルダウンレジスタを用いる必要がなくなる。従って、出力関数のために、I/Oパッド270を、アクティブ「HIGH」、アクティブ「LOW」、またはオープン−ドレイン反転動作に対応するように設計することができる。アクティブ「HIGH」およびアクティブ「LOW」モードでは、パッドは3.3Vで十分である。I/Oパッド270が出力として用いられない場合、出力イネーブル制御が永久的にディスエーブルのままにでき、出力レジスタ254を、バッファ282を介するロジックアレイへのレジスタフィードバックに用いて全レジスタカウントを増加させることが可能となる。
【0043】
更に、本発明に従ったプログラム可能なデバイスは、JTAG標準(JTAG−−−IEEE Standard 1149.1)の境界スキャンレジスタとして、入力レジスタ252、出力レジスタ254、および出力イネーブルレジスタ256を用いる境界スキャン回路を含み、これにより、有利なことにJTAG標準を実現するために必要な集積回路上の領域を減少させることができる。図11は、I/O回路250のより詳細な模式図を示す。図11に示されているテストリセットバー(trstb)は、I/O回路レジスタ252、254、および256がJTAGテストに用いられているか、或いは通常のI/O回路目的に用いられているかを検査する。前のセルからの入力端子(fpc入力端子)が、I/O回路250をJTAG検査に用いられた前のI/Oセルと接続し、一方、次のセルの出力端子(tnc出力端子)が、I/O回路250をJTAG検査に用いられる次のI/Oセルと接続する。従って、I/O回路250の入力レジスタ252、出力レジスタ254、および出力イネーブルレジスタ256が、JTAG回路で共用される。JTAG境界スキャンの実現および動作は、当分野では周知である。
【0044】
図12は、本発明の一実施例に従った、8個のI/Oバンク301−308を備えたFPGA100の模式図である。各I/Oバンクは他のI/Oバンクから独立していて、個別のVCCIOおよびVREF入力を有する。各I/Oバンクは、例えば図10に示されているI/O回路250などの55〜144の複数のI/O回路を含み得る。図12に示されているように、各I/Oバンクは、FPGA100の1/4区分100A、100B、100C、および100Dに対応する。
【0045】
本発明の別の実施例に従えば、図10の差動トランスレータ273およびマルチプレクサ272、I/Oバンクに関連する図12のVCCIOを、例えばCMOSおよび差動標準などの多数のI/O標準に適合したプログラム可能なコントロールI/O回路250に用いることができる。I/O回路250が配置されているバンクのためのVCCIOパッドは、3.3Vまたは2.5Vの供給電圧に接続され得る。従って、I/O仕様は、VCCIO電圧を変える、即ち2.5Vまたは3.3Vの何れかに設計できる。更に、I/O標準は、例えば1.0V、1.25V、または1.5Vに変えることができるI/O回路が配置されたバンクのための基準電圧VREFによって構成できる。I/O標準はまた、データ信号を差動トランスレータ273から或いはパッド270から直接受け取るかを選択するために用いられるマルチプレクサ272の選択端子を用いて構成することが可能である。下表1は、I/O回路250によってサポートされ得るI/O仕様の一覧である。
【0046】
【表1】
バンク内の各I/O回路は同じ供給電圧に接続されているため、1つのバンク内の全てのI/O回路は、同じ出力電圧、すなわち2.5Vまたは3.3Vを有する。更に、差動標準および非差動標準の両方は、I/O回路の1つのバンク内でサポートされ得る。例えば、1つのI/O回路は、マルチプレクサ272の好適な選択により差動トランスレータ273を用い、一方、同一バンク内の別のI/O回路は、パッド270から直接データを受け取り得る。しかしながら、1つのバンクには1つの基準電圧しか供給されていないため、異なった差動標準を1つのバンク内でサポートできない。
【0047】
図10に示されているように、I/O回路の各バンクは、2つのI/O制御入力のみのパッド292および294を含む。I/O制御入力パッド292および294は、レジスタ252、254、および256のリセット入力、クロック入力、およびイネーブル入力をドライブするようにプログラムすることが可能である。更に、入力パッド292および294をFPGAに対する高ドライブ入力として用いることが可能である。例えば、FPGA100のローカル1/4区分100A、100B、100C、または100D内のマクロセルに直接接続することが可能である。
【0048】
図13は、4つのI/O回路250を備えたFPGA100の1/4区分100Aの上面図である。図13に示されているように、I/O制御入力パッド292および294は、バンク内のあらゆる目的のI/O回路250、並びに図3を参照して説明したマクロセル102に類似し得る任意のマクロセル296にプログラム可能に接続され得る。I/O制御入力パッド292および294は、マクロセルアレイを介して配線される。図13は、図2に示されているシフトレジスタセル109が可能であるシフトレジスタセル298へのI/O制御入力パッドの配線を示す。しかしながら、I/O制御入力パッドの配線は必ずしもシフトレジスタセル298に接続しなくても良いことを理解されたい。
【0049】
図14Aおよび図14Bはそれぞれ、FPGA100において左から右および右から左に延びるI/O制御入力パッド292および294からの水平方向の配線を示す。図13に類似し、I/O制御入力パッド292および294の水平方向の配線がシフトレジスタセル298上に示されているが、I/O制御入力パッド292および294の配線にシフトレジスタセル298に接続しなくてもよいことを理解されたい。例えば、図14Aは、FPGA100の1/4区分100A内に水平方向に延在するシフトレジスタセル298が示されている。各シフトレジスタセル298は、1/4区分内において第1の列から第36の列まで延在するマクロセルの列と整合している。もちろん、1/4区分内に任意の数のマクロセルの列を設けることができる。それぞれの列のロジック内において、I/O制御入力パッド292および294からの水平方向の配線が、その数が例えば12である垂直方向の4本線(QUADS)およびその数が例えば2である垂直方向の高速線(vertical express line:VEXPS)にプログラム可能に接続され得る。図14Bは、図14Aに実質的に類似しているが、FPGA100の1/4区分100B内のシフトレジスタセル298を示している。従って図14Aの鏡像である。
【0050】
図15Aおよび図15Bはそれぞれ、FPGA100において上から下および下から上に延在するI/O制御入力パッド292および294からの垂直方向の配線を示す。図14Aおよび図14Bに類似し、I/O制御入力パッド292および294の垂直配線がシフトレジスタセル298上に示されているが、I/O制御入力パッド292および294の垂直配線がシフトレジスタセル298に接続しなくてもよいことを理解されたい。例えば、図15Aは、FPGA100の1/4区分100A内において垂直方向に延在するシフトレジスタセル298を示す。図15Aに示されているように、第1のシフトレジスタセル298内において、I/O制御入力パッド292および294からの垂直配線が、その数が例えば24である追加の水平方向のバス4本線にプログラム可能に接続可能である。次のシフトレジスタセル298は、図2に示されているRAMブロック107と整合し、例えばその数が17の大きなグループの4本線、およびその数が例えば6の小さなグループの4本線に接続され得る。別の組み込み回路108が存在する場合は、同じシフトレジスタセルを組み込み回路108と別のグループの4本線例えば18の4本線で整合させることができる。次のシフトレジスタセル298は、1/4区分内において第1から第28のマクロセルの列と整合させる。もちろん、1/4区分内には任意の数のマクロセルの列を設けることが可能である。各シフトレジスタセル298内において、I/O制御入力パッド292および294からの垂直線は、例えば、2つの6から成るグループの垂直4本線にプログラム可能に接続可能である。図15Bは図15Aに実質的に類似しているが、FPGA100の1/4区分100D内のシフトレジスタセル298を示すため、図15Bが第2の組み込み回路108を含まないという点を除けば図15Aの鏡像である。更に、1/4区分100Dにおける複数の追加の水平バス4本線は、1/4区分100Aの4本線の数より少なくすることも可能である。例えば、図15Bは7の追加の水平バス4本線を示す。
【0051】
本発明の別の実施例に従えば、I/O回路250はプログラム可能な出力スルーレートを有する。遅いスルーレートは、例えば、バッファ284をtiehiに接続して達成し得る。例えば、3.3VのVCCIOに対して1.0V/ns、および2.5VのVCCIOに対して0.6V/nsの遅いスルーレートを用いて、好都合にノイズを低減することができる。出力バッファ284をtielowに接続して達成する速いスルーレートは、3.3VのVCCIOに対して約2.8V/nsおよび2.5VのVCCIOに対して1.7V/nsの立ち上がりエッジスルーレートを達成できる。
【0052】
図16は、可変出力スルーレートが可能な3状態出力バッファ284の模式図を示す。出力バッファ284は,tiehiおよびtielowライン266の一方からのスルーレート制御信号およびイネーブルバー(enb)信号を受け取るNOR論理ゲート330を含む。出力バッファ284は、出力端子(p)を備えた第1のインバータ332および出力端子(n)を備えた第2のインバータ336によって受け取られる端子(in)上の入力信号を受け取る。出力バッファ284は、PMOSトランジスタ331およびNMOSトランジスタ335をそれぞれイネーブル(en)信号およびイネーブルバー(enb)信号により導通させてディスエーブルすることが可能である。出力バッファ284がイネーブルされると、インバータ332および336のスルーが、NOR論理ゲート330からの出力信号によって制御される。図16に示されているように、インバータ332は、大きいNMOSトランジスタ333および比較的小さいNMOSトランジスタ334を介してグラウンドに接続されている。遅いスルーレートが望ましい場合、小さいトランジスタ334を導通させて抵抗要素として作用させ、大きいトランジスタ333をNOR論理ゲート330によって遮断する。従って、インバータ332の高から低への移行のスルーレートが遅くなる。しかしながら、速いスルーレートが望ましい場合は、大きいトランジスタ333を導通させて、インバータ332の高から低への速い移行を可能にする。
【0053】
同様に、インバータ336は、大きいPMOSトランジスタ337および比較的小さいPMOSトランジスタ338を介してVccに接続されている。遅いスルーレートが望ましい場合は、小さいトランジスタ338を導通させて抵抗要素として作用させ、NOR論理ゲート330からの反転出力信号を介して大きいトランジスタ338を遮断する。従って、インバータ336の低から高への移行のスルーレートが遅くなる。しかしながら、速いスルーレートが望ましい場合は、大きいトランジスタ337を導通させて、インバータ336の低から高への移行を速くすることが可能である。
【0054】
アンチヒューズをプログラムするためのFPGA100のプログラミングアーキテクチャは、アンチヒューズとプログラミング電圧との間およびアンチヒューズとグラウンドとの間に複数のトランジスタを含む。アンチヒューズは、プログラミング電圧をアンチヒューズに印加するべくプログラミングトランジスタを導通させてプログラミングすなわち導通される。
【0055】
図17は、導線353および354接続するために用いられるアンチヒューズ352をプログラムするために用いられる従来のプログラム可能なアーキテクチャ350の例を示す。図17に示されているように、従来のプログラミングアーキテクチャはNMOSプログラミング回路を用いる。従って、プログラミングアーキテクチャ350は、プログラミング高電圧源Vppに接続されたNMOSVpp選択トランジスタ356、NMOSシフトレジスタトランジスタ358、およびアンチヒューズ352に接続されたローカルプログラミングNMOSトランジスタ360を含み、それぞれが直列に接続されている。アンチヒューズ352はまた、第2のローカルプログラムNMOSトランジスタ362、第2のNMOSシフトレジスタトランジスタ364、およびNMOSグラウンド選択トランジスタ366を介して低電圧源、例えばグラウンドに接続されている。0.35μテクノロジーの場合、プログラミング電圧Vppは約10.5Vである。図示しない高電圧電荷ポンプを用いて、プログラミングアーキテクチャ350のNMOSトランジスタのゲートに、例えば12Vが可能である電圧hlgを供給する。プログラミングの間、NMOSプログラミング回路は、プログラミング電圧VppをNMOSトランジスタを介して印加するために、プログラミング電圧Vppよりも高い電位であるゲート電圧hlgが必要である。
【0056】
本発明の一実施例に従えば、FPGA100のプログラミングアーキテクチャ370は、図18に示すようなCMOSプログラミング回路を用いる。FPGA100のプログラミングアーキテクチャ370は、プログラミング電圧Vpp選択NMOSトランジスタ372aおよびPMOSトランジスタ372b、NMOSシフトレジスタトランジスタ374aおよびPMOSシフトレジスタトランジスタ374b、およびアンチヒューズ371に接続されたローカルプログラミングNMOSトランジスタ376aおよびPMOSトランジスタ376bを含む。アンチヒューズ371により導体373と導体375とが接続される。アンチヒューズ371はまた、第2のローカルプログラムNMOSトランジスタ378aおよびPMOSトランジスタ378b、第2のNMOSシフトレジスタトランジスタ380aおよびPMOSシフトレジスタトランジスタ380b、およびNMOSグラウンド選択トランジスタ382を介して、例えばグラウンドなどの低電圧源に接続されている。有利なことに、図18に示されているようにNMOSトランジスタと平行にPMOSトランジスタを用いると、プログラミング回路に電荷ポンプが必要でなくなる。NMOSトランジスタのゲートは、CMOS回路によってドライブされ、プログラミング中はVppと概ね同じ電圧hlgを有する。PMOSトランジスタのゲートは、NMOSトランジスタのゲートの反対であり、プログラミング中はグラウンド/hlgである。有利なことに、CMOSプログラミングアーキテクチャを用いると、PMOSトランジスタにより、例えば7.5Vが可能である低いプログラミング電圧Vpp、および例えば8VであるNMOSトランジスタの低いゲート電圧が可能となる。これは、ダイオード降伏なくして高いゲート電圧をサポートできない0.25μテクノロジーを使用する場合に特に重要である。従って、プログラミングアーキテクチャ370を用いると、アンチヒューズ371は十分に高いプログラミング電圧を受け取ることができる。
【0057】
図19Aは、本発明の別の実施例に従ったプログラミングシフトレジスタの構造を例示する線図である。図19Aは、例えば図2に示すFPGA100が可能であるFPGAの中心に配置されたマクロセルのアレイ390を示している。FPGA100は、それぞれの1/4区分に2つのプログラミングシフトレジスタを有するアレイ390内に配置された8個のプログラミングシフトレジスタ391−398を含む。1/4区分が4つのセクションに分割されるように、例えば垂直方向のプログラミングシフトレジスタ391および水平方向のプログラミングシフトレジスタ398が、例えば左上の1/4区分100Aである各1/4区分の概ね中心に配置されている。左上の1/4区分100Aに水平方向に延在するプログラミング導体をドライブするプログラミングドライバおよびプログラミングコントロール導体をドライブするプログラミングコントロールドライバが、プログラミングシフトレジスタ391の周辺に配置されている。同様に、アレイの左上の1/4区分100Aに垂直方向に延在するプログラミング導体をドライブするプログラミングドライバおよびプログラミングコントロール導体をドライブするプログラミングコントロールドライバが、プログラミングシフトレジスタ398に配置されている。残りのプログラミングドライバおよびプログラミングコントロールドライバも、同様に他のプログラミングシフトレジスタに配置されている。
【0058】
それぞれのプログラミングシフトレジスタは、プログラミングシフトレジスタの周辺に配置されている個別のプログラミング電流マルチプレクサ回路に接続されている。従って、例えばプログラミングシフトレジスタ391は、プログラミング電流マルチプレクサ回路391Aに接続されている。それぞれのプログラミング電流マルチプレクサ回路は、図示しないグラウンドバスを含む複数の電源バスの内の1本を関連するプログラミングシフトレジスタに接続するように制御されている。
【0059】
それぞれのプログラミングドライバは、そのプログラミングシフトレジスタに1ビットを有する。このビットがセットされると、プログラミングドライバがそのプログラミング電流マルチプレクサ回路から印加された電圧でプログラミング導体をドライブするようにイネーブルされる。ビットがセットされない場合は、プログラミングドライバはそのプログラミング導体から遮断され、如何なる電圧でもそのプログラミング導体はドライブされない。同様に、それぞれのプログラミングコントロールドライバは、その関連するプログラミングシフトレジスタに1ビットを有する。このビットがセットされる場合は、このプログラミングコントロールドライバが、プログラミングトランジスタを導通するのに十分な高い電圧でそのプログラミングコントロール導体をドライブすることにより、このプログラミングトランジスタがプログラミング電圧をその関連する配線ワイヤに供給する。このビットがセットされない場合は、プログラミングコントロールドライバは、アサートしない電圧すなわちPMOSトランジスタに対しては高い電圧であって、NMOSトランジスタに対しては低い電圧であってプログラミングトランジスタをオフにする電圧で、そのプログラミングコントロール導体をドライブする。
【0060】
図19Aに示されているように、一実施例において、FPGA100は、8本のプログラミング電源バス、それらに対応するピンA、B、C、D、E、F、G、およびHを含むため、FPGA100は、8ビットのプログラミングが可能である。電源バスC、D、E、およびFの4つは、アレイ390の2つの1/4区分に延びている。従って、例えば、電源バスFは、右下の1/4区分100Cの右側から左下の1/4区分100Dの左側まで延在する。従って、電源バスFは、プログラミングシフトレジスタ394−397に接続され得る。しかしながら、長寸の電源バスA、B、G、およびHは3つの1/4区分の周囲に延びている。従って、例えば、電源バスGは、右上1/4区分100Bの上側から左下1/4区分100Dの左側まで延在し、プログラミングシフトレジスタ392−397と接続され得る。従って、マルチプレクサ回路391A−398Aは、その関連するプログラミングシフトレジスタ391−398を5本の電源バスに接続し得る。しかしながら、一実施例では、5本の電源バスの内4本の電源バスのみをプログラミングシフトレジスタに接続することにより、設計の柔軟性をそれほど損なうことなく関連するマルチプレクサ回路の大きさを小さくすることが可能である。電源バスA−Hのプログラミング電圧ピンがFPGA100に設けられ、それにより各プログラミング電源バスがそれ自身のプログラミング電圧端子に接続され、グラウンドバスがグラウンド端子に接続されるようになっている。従って、プログラミングシフトレジスタにおけるイネーブルされたプログラミングドライバが、プログラミング電流マルチプレクサ回路をいかに制御するかによって、8つのプログラミング電圧端子か或いはグラウンド端子の一方から導通させる。
【0061】
それぞれのプログラミングシフトレジスタの対が1/4区分を更に1/4に分割しているため、プログラミングシフトレジスタからプログラムされるアンチヒューズまでの距離が、プログラミングシフトレジスタがアレイ390の周辺に配置されている従来の設計と比べ短くなっている。従って、例えば、アンチヒューズ399Aがプログラミングされる場合、高いプログラミング電圧がプログラミングシフトレジスタ398によって供給され、一方、グラウンド電圧がプログラミングシフトレジスタ391によって供給される。シフトレジスタ391および398からアンチヒューズ399Aまでの距離は、シフトレジスタがマクロセルのアレイ390の外側に配置されている場合の約半分となる。幅の広い電源バスがプログラミングシフトレジスタ内に配置されていて、プログラミングシフトレジスタからアンチヒューズの間に幅の狭い導体が用いられるため、距離を短くすることは有利である。プログラミングシフトレジスタからプログラミングされるアンチヒューズまでの距離が短くなることにより、プログラミングされるそれぞれのアンチヒューズに十分な量のプログラミング電流が流れるようになる。
【0062】
図19Bは、シフトレジスタ391−398の動作を例示するFPGA100の模式的な線図である。それぞれのシフトレジスタは、図19Aに示されている電源バスA−Hに対応するA−Hが付された4種類の異なるプログラミング電圧を供給できる。それぞれのシフトレジスタの対が、FPGA100におけるそれぞれの1/4区分を更に1/4に分割する。従って、例えば、シフトレジスタ391および398は、1/4区分100Aを4つに分割する。他の1/4区分100B、100C、および100Dも同様に更に分割される。それぞれのシフトレジスタは、一方向に2つのプログラミング電圧の内の一方のプログラミング電圧を供給し、反対の方向に他方のプログラミング電圧を供給することができる。例えば、シフトレジスタ391は、プログラミング電圧A或いはCの何れかを1/4区分100Aの左側部分に水平方向に供給することができ、かつプログラミング電圧D或いはHの何れかを1/4区分100Aの右側部分に水平方向に供給することができる。シフトレジスタ398は、プログラミング電圧A或いはBの何れかを1/4区分100Aの上側部分に垂直方向に供給することができ、かつプログラミング電圧CまたはDの何れかを1/4区分100Aの下側部分に垂直方向に供給することができる。従って、1/4区分100Aの右下部分のアンチヒューズ399Aは、シフトレジスタ398から垂直方向に延在するプログラミング電圧CまたはD、およびシフトレジスタ391から水平方向に延在するプログラミング電圧DまたはHを用いてプログラミング可能である。同様に、1/4区分100Aの左上部分のアンチヒューズ399bは、シフトレジスタ398から垂直方向に延在するプログラミング電圧AまたはB、およびシフトレジスタ391から水平方向に延在するプログラミング電圧AまたはCを用いてプログラム可能である。しかしながら、プログラミング電圧が1つのヒューズをプログラミングするために用いられる場合、同時に別のアンチヒューズをプログラミングするために用いることができない。従って、例えば、アンチヒューズ399bがプログラミング電圧AおよびCを用いてプログラミングされる場合は、アンチヒューズ399aはDおよびHのみを用いてプログラミングすることが可能である。従って、FPGA100は、8ビットのプログラミングを用いてFPGA内のアンチヒューズを効果的にプログラムすることができる。
【0063】
図20は、本発明の一実施例に従ったFPGAにおけるクロックの分配ネットワーク400の模式的な線図である。クロック供給ネットワーク400は、グローバルクロック信号を専用のクロックパッド402からFPGAの4つの異なる1/4区分404A−404Dに供給する。パッド402は、バス407およびバッファ408を介して水平方向に延在する主クロックバス406に接続されている。クロックバス406は、4つの異なる1/4区分404A−404Dに延びていて、バッファ415、417、419、および421、並びに垂直方向に延びているクロックバス414、416、418、および420を介して、水平方向に延びて二分するクロックバス410A、410B、410C、および410Dに接続されている。水平方向に延びて二分するクロックバスは、複数の水平方向に延びたバス424およびバッファ426および428を介して複数のマクロセル422にプログラム可能に接続され得る。水平方向に延びた二分するクロックバス410A、410B、410C、および410Dはそれぞれ、対応する1/4区分を概ね2分するため、概ね等しい数のマクロセルが二分バスの両側に存在する。従って、複数の垂直バス424が二分バスから一方向に延びており、複数の垂直バスが二分バスから別の方向に延びている。クロック供給ネットワーク400により、任意のマクロセルを専用のクロックパッド402にプログラム可能に接続可能であることを理解できよう。FPGA内の全てのマクロセル422のクロックネットワーク400に対する接続については、1999年4月6日に付与されたEaton他による米国特許第5,892,370号(名称、「Clock Network For Field Programmable Gate Array」)に詳細が記載されており、言及することをもって本明細書の一部とする。
【0064】
クロック供給ネットワーク400が、1/4区分404A、404B、404C、および404Dのそれぞれを二分して延在する水平方向に延びたクロックバス410A、410B、410C、および410Dを用いているため、好都合にもクロック信号スキューが最小化される。従って、例えば、水平方向に延びたクロックバス410Aから最も遠いマクロセル430は、垂直方向に延びたクロックバス414に最も近いマクロセル432によって受け取られたクロック信号がわずかにスキューされたクロック信号を受け取る。一方、水平方向のクロックバスが1/4区分を略1/2に分割しないで、その代わりにそれぞれの垂直クロックバスが同じ方向に水平クロックバスから延びるように、1/4区分の下部に配置されている場合、水平方向のバスから最も遠いマクロセルは、水平バスに最も近いマクロセルによって受け取られるクロック信号と比べ比較的スキューの大きいクロック信号を受け取る。
【0065】
図21は、本発明の一実施例に従ったDLLとして働く位相同期ループ(PLL)452にプログラム可能に接続され得る専用のクロックネットワーク450を示す。PLL452への同期されたクロック入力(sclk)がパッド454に接続されており、一方、PLL452のフィードバッククロック入力(fclk)が垂直クロックバス456からクロック信号を受け取る。PLL452を用いて信号を同期し、PLL452の出力端子におけるクロック信号を生成する。PLL452からの位相同期信号が、各1/4区分の2:1マルチプレクサ458によって受け取られる。マルチプレクサ458はまた、専用のクロックパッド454から専用のクロック信号を受け取る。それぞれのマルチプレクサ458の選択端子が、目的のクロック信号を選択するベくプログラムされている。従って、それぞれの1/4区分は、1/4区分のマクロセル(図21には示さず)に対して位相同期クロック信号または直接クロック信号を供給するように個別にプログラム可能である。一実施例では、複数の位相同期ループ回路が、例えば、1つの1/4区分が専用クロックで多重化され、3つの1/4区分がグローバルクロックに接続されるようにFPGAに含めることも可能である。
【0066】
図22は、図21のPLL452として用いることが可能な位相同期ループ500の実施例である。図22に示されているように、同期されたクロック入力(sclk)が、プログラム可能な1/n回路501によって受け取られる。この回路501により、例えば、同期されたクロック入力(sclk)が、1/2回路504および1/4回路506を介して直接3:1マルチプレクサ502に受け取られる。マルチプレクサ502の選択端子が、アンチヒューズ508aおよび508bによって示される目的のクロック入力を選択するようにプログラム可能である。マルチプレクサ502の選択端子は、例えば、ロジックセル110b(図4)内のマルチプレクサまたはレジスタによって、或いはレジスタ、組み合わせロジック、ピン、RAMセルなどによって制御可能であることを理解されたい。
【0067】
マルチプレクサ502の出力端子は、1/n回路501に類似していて3:1マルチプレクサ512を含み得る別のプログラム可能な1/n回路511を介してフィードバッククロック入力(fclk)も受け取る位相検出器510によって受け取られる。マルチプレクサ502と同様に、マルチプレクサ512はフィードバッククロック入力信号を直接受け取るし、また1/2回路514および1/4回路516を介しても受け取る。マルチプレクサ512の選択端子は、アンチヒューズ518aおよび518bによって示される目的のクロック入力を選択するべくプログラミング可能である。同様に、マルチプレクサ512の選択端子が、例えばロジックセル110b(図4)内のマルチプレクサまたはレジスタによって、或いはレジスタ、組み合わせロジック、ピン、RAMセルなどによって制御可能であることを理解されたい。プログラム可能な1/n回路501および511が、例えば、マルチプレクサ502および512、並びにそれらに対応する1/2回路および1/4回路を用いると、PLL500により入力周波数を4倍、2倍、1倍、0.5倍、および0.25倍にと乗算および除算できる。
【0068】
位相検出器510は、図23に示されるような2型3次フィルタが可能であるフィルタ520に対してエラー信号を供給する。図23に示されているように、フィルタ520は、第2の抵抗522が追加されたローパスフィルタである。従来、2型3次フィルタはグラウンドに対する2次コンデンサを含むが、フィルタ520のグラウンドに対する2次コンデンサ524は、破線で示されているように寄生コンデンサである。
【0069】
フィルタ520は、電圧制御発振器VCO526に接続されている。VCO526は、有利なことにFPGAのユーザに幅広いオプションを提供する広範な周波数を実現する3段差動VCO(three stage differential VCO)とすることができる。図24は、VCO526のダイナミックレンジを例示する周波数に対する電圧のグラフ528である。比較のために、VCOの従来の範囲を例示する周波数に対する電圧のグラフ530を図25に示す。図25から分かるように、従来のVCOは電圧の変化が大きく周波数の変化が小さい。一方、図24から分かるように、本発明に従えば、電圧の大きな変化によりVCO526の周波数が比較的大きく変化する。これは、広い周波数範囲を提供するのに特に有利である。
【0070】
図26は、VCO526の実施例を示す模式的な線図である。図26に示されているように、VCO526は、3つの差動段532、534、および536、並びに出力段538を有する。3つの差動段532、534、および536は、第3の差動段536におけるリセット回路がわずかに異なる点を除けば類似している。
【0071】
VCO526の出力端子は、例えば、VCO526から直接および1/2回路542を介して出力信号を受け取る2:1マルチプレクサ541が可能である別のプログラム可能な1/n回路540によって受け取られる。マルチプレクサ541の選択端子は、アンチヒューズ544によって例示されているように目的の入力を選択するべくプログラム可能である。VCO526は、約40MHz〜250MHzの範囲の周波数を生成する。1/2回路542を用いると、VCO526の有効周波数範囲は、有利なことに約25MHz〜250MHzに拡大される。マルチプレクサ541の出力端子が、図22に模式的にボックスとして示されているクロック供給ネットワーク450に供給される。クロック供給ネットワーク450からのフィードバッククロック(fclk)が、プログラム可能な1/n回路511によって受け取られる。
【0072】
一実施例では、図27に示されているように、PLL500は、同期されたクロック(sclk)とフィードバッククロック(fclk)との間に90°のオフセットが維持されるようにする。図27は、同期されたクロック(sclk)の波形、フィードバッククロック(fclk)の波形、並びにそれらの間のエラーの波形を示す。フィルタ520は、エラー信号を平均電圧に変換し、これにより90°のオフセットがピーク電圧の約半分である電圧を生成する。図24に示されているように、VCO526の電圧をVCO526の範囲の概ね中間に維持するようにして、大きな周波数変化に対応できるようにするのが好ましい。
【0073】
本発明は、説明する目的で特定の実施例を用いて説明してきたが、本発明がそれらに限定されるものではない。また、様々な線図における様々な構造は単なる例である。本発明の実施態様は、アモルファスシリコンアンチヒューズおよび酸化物−窒化物−酸化物アンチヒューズに限定されるものではなく、その他のアンチヒューズ構造およびプログラム可能な素子構造まで拡大される。更に、導電性配線リソースは、あらゆる好適な導電材料または導電材料の組み合わせから形成可能であり、必ずしも金属から形成する必要はない。従って、先述の請求の範囲で規定した本発明の概念から逸脱することなく、様々な変更、付加、および記載した実施例の様々な特徴の組み合わせが可能である。
【図面の簡単な説明】
【図1】
本発明の書き換え可能ゲートアレイ(FPGA)のようなプログラム可能デバイスの模式図である。
【図2】
複数のマイクロセル及びI/Oセルを含むFPGAの別図である。
【図3】
図1及び2のマイクロセルの一例を示す、図3A乃至3Cの配置図である。
【図3A−1】
図1及び2のマイクロセルの一例を示す図の一部である。
【図3A−2】
図1及び2のマイクロセルの一例を示す図の一部である。
【図3B−1】
図1及び2のマイクロセルの一例を示す図の一部である。
【図3B−2】
図1及び2のマイクロセルの一例を示す図の一部である。
【図3C−1】
図1及び2のマイクロセルの一例を示す図の一部である。
【図3C−2】
図1及び2のマイクロセルの一例を示す図の一部である。
【図4】
マイクロセル内部の単一ロジックセルの模式図である。
【図5】
出力ドライバを有する二つの論理モジュールの簡略図である。
【図6】
ロジックモジュールと共に用いられる従来方式のドライバの詳細図である。
【図7】
図6のドライバに於ける出力端子及び高電圧ノードでの電圧の波形図である。
【図8】
本発明の一実施例によるドライバの詳細図である。
【図9】
図8のドライバに於ける出力端子及び高電圧ノードでの電圧の波形図である。
【図10】
本発明の一実施例による入力/出力(I/O)回路を示す図である。
【図11】
図10のI/O回路の更に詳細な図である。
【図11A】
図11の一部を示す図である。
【図11B】
図11の一部を示す図である。
【図12】
本発明の一実施例による8本のI/Oバンクを有するFPGAの模式図である。
【図13】
本発明の一実施例による単一の1/4区分の一部分の模式図である。
【図13A】
図13の一部を示す図である。
【図13B】
図13の一部を示す図である。
【図14A】
FPGA中で、左−右で動作するI/O制御入力パッドよりの水平線を示す図である。
【図14B】
FPGA中で、左−右で動作するI/O制御入力パッドよりの水平線を示す図である。
【図15A】
FPGA中で、上−下に動作するI/O制御入力パッドよりの垂直線を示す図である。
【図15B】
FPGA中で、上−下に動作するI/O制御入力パッドよりの垂直線を示す図である。
【図16】
可変出力スルーレートを供給するべく制御され得るトライステート出力バッファの模式図である。
【図17】
アンチヒューズをプログラムするのに用いられる従来方式のプログラムアーキテクチャを示す図である。
【図18】
本発明の一実施例によるアンチヒューズをプログラムするのに用いられるプログラムアーキテクチャを示す図である。
【図19A】
本発明の一実施例によるプログラミングシフトレジスタの構造を示す図である。
【図19B】
本発明の一実施例によるプログラミングシフトレジスタ及び8ビットプログラミングの動作を示す図である。
【図20】
本発明の一実施例による、FPGA内のクロック供給ネットワークを示す模式図である。
【図21】
本発明の一実施例による、位相同期ループ(PLL)にプログラム可能に接続され得る専用のクロックネットワークを示す図である。
【図22】
図21の位相同期ループの一実施例を示す図である。
【図23】
図22の位相同期ループで用いられ得る2型三次フィルタを示す図である。
【図24】
図22の位相同期ループ中のVCOの動的周波数レンジを示す周波数に対する電圧のグラフである。
【図25】
従来のVCOレンジを示す周波数に対する電圧のグラフである。
【図26】
図22の位相固定ループと共に用いられる電圧制御発振器(VCO)の一実施例を示す模式図である。
【図26A】
図26の模式図の一部を示す図である。
【図26B】
図26の模式図の一部を示す図である。
【図27】
エラークロックは勿論のこと、位相同期ループのための同期クロック(sclk)及びフィードバッククロック(fclk)の波形を示す図である。
Claims (86)
- 書換え可能ゲートアレイであって、
プログラム可能な相互接続構造と、
複数の論理モジュールとを有し、各々の前記論理モジュールが、
複数の入力リードおよび出力リードを有し、前記入力リードが前記論理モジュールより延在しまた前記プログラム可能相互接続構造へと延在する第1の組み合わせ論理回路と、
複数の入力リードおよび出力リードを有し、前記入力リードが前記論理モジュールより延在しまた前記プログラム可能相互接続構造へと延在する第2の組み合わせ論理回路と、
第1データ入力リード、第2デーダ入力リード、選択入力リード、および出力リードを有する第1のマルチプレクサであって、前記第1のデータ入力リードが前記論理モジュール内の前記第1の組み合わせ論理回路の前記出力リードへと接続され、前記第2のデータ入力リードが前記論理回路内の前記第2の組み合わせ論理回路の前記出力リードと接続され、前記出力リードが前記論理モジュールより延在し、また前記プログラム可能相互接続構造へと延在する第1のマルチプレクサと、
第1データ入力リード、第2データ入力リード、選択入力リード、および出力リードを有する第2のマルチプレクサであって、前記第2のマルチプレクサの前記第1のデータ入力リードが前記論理モジュール内の前記第2の組み合わせ論理回路の前記出力リードへと接続される第2のマルチプレクサと、
データ入力リード、クロック入力リード、およびデータ出力リードを有する第1の順次論理素子であって、前記順次論理素子の前記データ入力リードが前記第1のマルチプレクサの前記出力リードに接続され、前記データ出力リードが前記論理モジュールより延在しまた前記プログラム可能相互接続構造へと延在する第1の順次論理素子と、
データ入力リード、クロック入力リード、およびデータ出力リードを有する第2の順次論理素子であって、前記第2の順次論理素子の前記データ入力リードが前記第2のマルチプレクサの前記出力リードへと接続され、前記第2の順次論理素子の前記データ出力リードが前記論理モジュールより延在し、また前記プログラム可能内部接続構造へと延在する第2の順次論理素子とを有することを特徴とする書換え可能ゲートアレイ。 - 前記第1の組み合わせ論理回路が、5本の入力リードを有し、前記入力リードのうち4本が前記論理モジュールより延在し、また前記プログラム可能相互接続構造へと延在することを特徴とする請求項1に記載の書換え可能ゲートアレイ。
- 前記第1の組み合わせ論理回路が、
出力リードを有する第1の入力ANDゲートと、
出力リードを有する第2の入力ANDゲートと、
前記第1の2入力ANDゲートの前記出力リードに接続された第1のデータ入力リードと、前記第2の2入力ANDゲートの前記出力リードに接続された第2のデータ入力リードと、選択入力リード及び出力リードとを含む第3のマルチプレクサであって、前記出力リードが前記第1のマルチプレクサの前記データ入力リードに接続される第三のマルチプレクサとを有することを特徴とする請求項1に記載の書換え可能ゲートアレイ。 - 前記論理モジュールが更に、第1のデータ入力リード、第2のデータ入力リード、選択データ入力リードおよび出力リードを有する第4のマルチプレクサを有し、前記出力リードが前記第3のマルチプレクサの前記選択された入力リードへと接続されていることを特徴とする請求項3に記載の書換え可能ゲートアレイ。
- 前記論理モジュールが、更に前記第4のマルチプレクサの第1のデータ入力リードに接続された出力リードを有する第1の6入力ANDゲートを有することを特徴とする請求項4に記載の書換え可能ゲートアレイ。
- 前記論理モジュールが、更に複数の入力リードおよび出力リードを有する第3の組み合わせ論理回路を有し、前記入力リードは前記論理モジュールより延在しまた前記プログラム可能相互接続構造へと延在し、前記出力リードは前記第1の組み合わせ論理回路および前記第2の組み合わせ論理回路の前記入力リードと接続され、また前記論理モジュールより延在しまた前記プログラム可能相互接続構造へと延在することを特徴とする請求項1に記載の書換え可能ゲートアレイ。
- 前記論理モジュールが、更に複数の入力リードおよび出力リードを有する第4の組み合わせ論理回路を含み、前記入力リードが前記論理モジュールより延在しまた前記プログラム可能相互接続構造へと延在し、前記出力リードが前記第1のマルチプレクサの前記選択入力リードへと接続され、加えて前記論理モジュールより延在しまた前記プログラム可能相互接続構造へと延在することを特徴とする請求項6に記載の書換え可能ゲートアレイ。
- 前記第3の組み合わせ論理回路が第1の6入力ANDゲートであり、前記第4の組み合わせ論理回路が第2の6入力ANDゲートであることを特徴とする請求項7に記載の書換え可能ゲートアレイ。
- 前記第1の6入力ANDゲートの少なくとも1つの入力リードおよび前記第2の6入力ANDゲートの少なくとも1つの入力リードが、前記プログラム可能相互接続構造内のクロックバスへとプログラム可能に接続されることを特徴とする請求項8に記載の書換え可能ゲートアレイ。
- 前記第2のデータ入力リードおよび前記第2のマルチプレクサの前記選択入力リードが、前記論理モジュールより延在し、また前記プログラム可能相互接続構造へと延在することを特徴とする請求項1に記載の書換え可能ゲートアレイ。
- プログラム可能な特定用途向けICのためのロジックセルであって、前記ロジックセルが、
複数の入力リードおよび出力リードを有する組み合わせ論理回路と、
データ入力リード、クロック入力リード、およびデータ出力リードを有する第1の順次論理素子であって、前記第1の順次論理素子の前記データ入力リードが前記組み合わせ論理回路の前記出力リードへと選択的に接続されており、前記第1の順次論理素子の前記データ出力リードが前記論理モジュールより延在しまた前記プログラム可能相互接続構造へと延在する第1の順次論理素子と、
データ入力リード、クロック入力リード、およびデータ出力リードを有する第2の順次論理素子であって、前記第2の順次論理素子の前記データ入力リードが前記組み合わせ論理回路の前記出力リードに選択的に接続され、前記第2の順次論理素子の前記データ出力リードが前記論理モジュールより延在し、また前記プログラム可能相互接続構造へと延在する第2の順次論理素子を有することを特徴とするロジックセル。 - 更に、
前記組み合わせ論理回路の前記出力リードを前記第1の順次論理素子の前記データ入力リードへと選択的に接続させるための第1手段と、
前記組み合わせ論理回路の前記出力リードを前記第2の順次論理素子の前記データ入力リードへと選択的に接続させるための第2手段とを含む請求項11に記載のロジックセル。 - 前記第1手段が第1マルチプレクサであり、前記第2手段が第2マルチプレクサであることを特徴とする請求項12に記載のロジックセル。
- プログラム可能デバイスであって、
プログラム可能相互接続構造と、
複数の論理モジュールを有し、
前記論理モジュールの各々が少なくとも1つの出力リードと、少なくとも1つの出力リードおよび前記プログラム可能相互接続構造との間に接続されたドライバとを有し、前記ドライバが、
入力リードおよび出力リードを有するインバータであって、前記インバータの前記入力リードが前記論理モジュールの前記出力リードへと接続されているインバータと、
第1端子、第2端子、およびゲート端子を有する保護トランジスタであって、前記第1端子が前記インバータの前記出力リードへと接続され、前記第2端子が前記プログラム可能相互接続構造へと接続されている保護トランジスタと、
前記ゲートに接続された第1の電荷ポンプと、
前記第1の電荷ポンプおよび前記保護トランジスタの前記ゲート端子へと接続された第2の電荷ポンプとを有することを特徴とするプログラム可能デバイス。 - 前記保護トランジスタおよび前記インバータの間にトランジスタが配置されず、前記保護トランジスタおよび前記プログラム可能相互接続構造の間にトランジスタが配置されないことを特徴とする請求項14に記載のプログラム可能デバイス。
- プログラム可能デバイスであって、
ロジックセルのアレイと、
前記ロジックセルに接続されたプログラム可能相互接続構造と、
I/O回路とを有し、前記I/O回路が、
I/Oパッドと、
前記プログラム可能相互接続構造へ接続された入力端子および前記I/Oパッドと前記プログラム可能相互接続構造とに接続された出力端子を有する出力レジスタを含むことを特徴とするプログラム可能デバイス。 - 前記I/O回路が更に、
前記出力レジスタの前記出力端子に接続された第1のデータ端子、前記出力レジスタの前記入力端子に接続された第2のデータ端子、および前記I/Oパッドへと接続された出力端子を有するマルチプレクサを含むことを特徴とする請求項16に記載のプログラム可能デバイス。 - 前記I/O回路が更に、
前記出力レジスタの前記出力端子へと接続された入力端子と、前記I/Oパッドへと出力された出力端子とを有するバッファであって、イネーブル端子を有するバッファと、
前記プログラム可能相互接続構造へと接続された入力端子と、前記バッファの前記イネーブル端子へと接続された出力端子とを有する出力イネーブルレジスタとを含むことを特徴とする請求項16に記載のプログラム可能デバイス。 - 前記I/O回路が更に、
前記出力イネーブルレジスタの前記出力端子へと接続された第1のデータ端子、前記出力イネーブルレジスタの前記入力端子へと接続された第2のデータ端子、および前記バッファの前記入力端子へと接続された出力端子を有するマルチプレクサを含むことを特徴とする請求項18に記載のプログラム可能デバイス。 - 前記I/O回路が更に、
調節可能なスルーレートを有するバッファを含み、前記バッファが前記出力レジスタの前記出力端子に接続された入力端子と、前記I/Oパッドへと接続された出力端子と、前記プログラム可能相互接続構造へと接続されたスルーレート制御端子とを有することを特徴とする請求項16に記載のプログラム可能デバイス。 - 前記バッファが、
前記出力レジスタの出力端子へと接続された入力端子と、前記I/Oパッドへと接続された出力端子とを有する少なくとも1つのインバータであって、抵抗素子を介して電圧源および大地電圧へと接続されているインバータと、
前記スルーレートコントロール端子へと接続された入力端子および出力端子を有する論理ゲートと、
前記少なくとも1つのインバータと前記大地電圧との間で前記抵抗素子と平行に配置された第1のトランジスタであって、前記論理ゲートの前記出力端子へと接続されたゲートを有し、前記抵抗素子より抵抗率が低い第1のトランジスタとを有することを特徴とする請求項20に記載のプログラム可能デバイス。 - 前記バッファが更に、
前記出力レジスタの前記出力端子へと接続された入力端子と前記I/Oパッドへと接続された出力端子とを有する第2のインバータであって、第2の抵抗素子を介して電圧源へと接続され、また大地電圧へと接続される第2のインバータと、
前記第2の抵抗素子と平行に前記第2のインバータおよび前記電圧源の間に配置された第2のトランジスタであって、前記論理ゲートの前記出力端子へと接続されたゲートを有し、前記第2の抵抗素子と比較して抵抗率が低い第2のトランジスタとを含むことを特徴とする請求項21に記載のプログラム可能デバイス。 - 前記抵抗素子が、前記第1のトランジスタと比較して小さな第3のトランジスタであり、前記第2の抵抗素子が前記第2のトランジスタと比較して小さな第4のトランジスタであり、前記第3のトランジスタおよび第4のトランジスタが前記バッファをイネーブルおよびディスエーブルすることを特徴とする請求項22に記載のプログラム可能デバイス。
- プログラム可能デバイスであって、
ロジックセルのアレイと、
前記ロジックセルに接続されたプログラム可能な相互接続構造と、
I/O回路とを有し、前記I/O回路が、
I/Oパッドと、
前記I/Oパッドへと接続された入力端子および前記プログラム可能相互接続構造へと接続された出力端子を有する入力レジスタと、
前記プログラム可能相互接続構造へと接続された入力端子と、前記I/Oパッドへと接続された出力端子とを有する出力レジスタと、
前記出力レジスタの前記出力端子および前記I/Oパッドの間に配置されたバッファであって、前記出力レジスタの前記出力端子に接続された入力端子および前記I/Oパッドに対し接続された出力端子、およびイネーブル端子を含むバッファと、
前記プログラム可能相互接続構造に接続された入力端子、および前記バッファの前記イネーブル端子に接続された出力端子を有する出力イネーブルレジスタとを含むことを特徴とするプログラム可能デバイス。 - 前記出力レジスタの前記出力端子が、また前記プログラム可能相互接続構造へと接続されることを特徴とする請求項24に記載のプログラム可能デバイス。
- 前記I/O回路が更に、
調節可能なスルーレートを有するバッファを含み、前記バッファが前記出力レジスタの前記出力端子に接続された入力端子と、前記I/Oパッドへと接続された出力端子と、前記プログラム可能相互接続構造へと接続されたスルーレート制御端子とを有することを特徴とする請求項24に記載のプログラム可能デバイス。 - 前記バッファが、
前記出力レジスタの出力端子へと接続された入力端子と、前記I/Oパッドへと接続された出力端子とを有する少なくとも1つのインバータであって、抵抗素子を介して電圧源および大地電圧へと接続されているインバータと、
前記スルーレートコントロール端子へと接続された入力端子および出力端子を有する論理ゲートと、
前記少なくとも1つのインバータと前記大地電圧との間で前記抵抗素子と平行に配置された第1のトランジスタであって、前記論理ゲートの前記出力端子へと接続されたゲートを有し、前記抵抗素子より抵抗率が低い第1のトランジスタとを有することを特徴とする請求項26に記載のプログラム可能デバイス。 - 前記バッファが更に、
前記出力レジスタの前記出力端子へと接続された入力端子と前記I/Oパッドへと接続された出力端子とを有する第2のインバータであって、第2の抵抗素子を介して電圧源へと接続され、また大地電圧へと接続される第2のインバータと、
前記第2の抵抗素子と平行に前記第2のインバータおよび前記電圧源の間に配置された第2のトランジスタであって、前記論理ゲートの前記出力端子へと接続されたゲートを有し、前記第2の抵抗素子と比較して抵抗率が低い第2のトランジスタとを含むことを特徴とする請求項27に記載のプログラム可能デバイス。 - 前記抵抗素子が前記第1のトランジスタより小さな第3のトランジスタであり、また前記第2の抵抗素子が前記第2のトランジスタより小さな第4のトランジスタであることを特徴とする請求項28に記載のプログラム可能デバイス。
- 更に境界スキャン回路を有し、前記境界スキャン回路が前記入力レジスタ、前記出力レジスタ、及び前記I/O回路の前記出力イネーブルレジスタを用いることを特徴とする請求項24に記載のプログラム可能デバイス。
- 前記入力レジスタがイネーブル端子を有し、前記出力イネーブルレジスタがイネーブル端子を有し、前記プログラム可能デバイスが更に、
前記入力レジスタの前記イネーブル端子にプログラム可能に接続され、前記出力イネーブルレジスタの前記イネーブル端子にプログラム可能に接続された少なくとも1つのI/O制御パッドを有することを特徴とする請求項24に記載のプログラム可能デバイス。 - 前記入力レジスタがリセット端子を有し、前記出力イネーブルレジスタがリセット端子を有し、前記出力レジスタがリセット端子を有し、前記少なくとも1つのI/O制御パッドが前記入力レジスタ、前記出力イネーブルレジスタ、及び前記出力レジスタの前記リセット端子にプログラム可能に接続されることを特徴とする請求項31に記載のプログラム可能デバイス。
- 前記入力レジスタがクロック端子を有し、前記出力イネーブルレジスタがクロック端子を有し、前記出力レジスタがクロック端子を有し、前記少なくとも1つのI/O制御パッドが前記入力レジスタ、前記出力イネーブルレジスタ、及び前記出力レジスタの前記クロック端子へとプログラム可能に接続されることを特徴とする請求項31に記載のプログラム可能デバイス。
- 更に、配線クロックバスと、
前記少なくとも1つのI/O制御パッドへとプログラム可能に接続された第1のデータ端子と、前記配線クロックにプログラム可能に接続された第2のデータ端子と、前記入力レジスタ、前記出力レジスタ及び前記出力イネーブルレジスタの前記クロック端子へと接続された出力端子とを有するマルチプレクサを含むことを特徴とする請求項33に記載のプログラム可能デバイス。 - 前記少なくとも1つのI/O制御パッドが、前記出力イネーブルレジスタの前記入力端子へとプログラム可能に接続されることを特徴とする請求項31に記載のプログラム可能デバイス。
- プログラム可能デバイスであって、
ロジックセルのアレイと、
前記ロジックセルに接続されたプログラム可能な相互接続構造と、
I/O回路とを有し、前記I/O回路が、
I/Oパッドと、
前記プログラム可能相互接続構造へ接続された入力端子及び出力端子を有する出力レジスタと、
調整可能なスルーレートを有するバッファであって、前記出力レジスタの前記出力端子へと接続された入力端子と、前記I/Oパッドへと接続された出力端子と、前記プログラム可能な相互接続構造へと接続されたスルーレートコントロール端子とを含むバッファとを有することを特徴とするプログラム可能デバイス。 - 前記バッファが、
前記出力レジスタの出力端子へと接続された入力端子と、前記I/Oパッドへと接続された出力端子とを有する少なくとも1つのインバータであって、抵抗素子を介して電圧源および大地電圧へと接続されているインバータと、
前記スルーレートコントロール端子へと接続された入力端子および出力端子を有する論理ゲートと、
前記少なくとも1つのインバータと前記大地電圧との間で前記抵抗素子と平行に配置された第1のトランジスタであって、前記論理ゲートの前記出力端子へと接続されたゲートを有し、前記抵抗素子より抵抗率が低い第1のトランジスタとを有することを特徴とする請求項36に記載のプログラム可能デバイス。 - 前記バッファが更に、
前記出力レジスタの前記出力端子へと接続された入力端子と前記I/Oパッドへと接続された出力端子とを有する第2のインバータであって、第2の抵抗素子を介して電圧源へと接続され、また大地電圧へと接続される第2のインバータと、
前記第2の抵抗素子と平行に前記第2のインバータおよび前記電圧源の間に配置された第2のトランジスタであって、前記論理ゲートの前記出力端子へと接続されたゲートを有し、前記第2の抵抗素子と比較して抵抗率が低い第2のトランジスタとを含むことを特徴とする請求項37に記載のプログラム可能デバイス。 - 前記抵抗素子が前記第1のトランジスタより小さな第3のトランジスタであり、前記第2の抵抗素子が前記第2のトランジスタより小さな第4のトランジスタであり、前記第3のトランジスタ及び前記第4のトランジスタが前記バッファをイネーブル及びディスエーブルすることを特徴とする請求項38に記載のプログラム可能デバイス。
- プログラム可能デバイスであって、
ロジックセルのアレイと、
前記ロジックセルに接続されたプログラム可能な相互接続構造と、
I/O回路とを有し、前記I/O回路が、
I/Oパッドと、
前記プログラム可能相互接続構造へ接続された入力ターミナル及び出力ターミナルを有する入力レジスタと、
前記I/Oパッドに接続された第1のデータ端子、第2のデータ端子、及び前記入力レジスタの前記入力端子に接続された出力端子とを有するマルチプレクサと、
前記I/Oパッドに接続された第1の入力端子、基準電圧源に接続された第2の入力端子、及び前記マルチプレクサの前記第2のデータ端子へと接続された出力端子とを有するディファレンシャルトランジスタを含むことを特徴とするプログラム可能デバイス。 - 前記ディファレンシャルトランジスタの前記第2の入力端子が、少なくとも2つの基準電圧源へとプログラム可能に接続され得ることを特徴とする請求項40に記載のプログラム可能デバイス。
- 前記I/O回路が複数の電圧源にプログラム可能に接続されることを特徴とする請求項41に記載のプログラム可能デバイス。
- 前記マルチプレクサが前記プログラム可能相互接続構造に接続された選択端子を有することを特徴とする請求項41に記載のプログラム可能デバイス。
- 前記マルチプレクサの前記出力端子が、また前記プログラム可能相互接続構造に接続されることを特徴とする請求項40に記載のプログラム可能デバイス。
- 書換え可能ゲートアレイであって、
1/4区分に分割されたロジックセルのアレイと、
クロックパッドと、
前記クロックパッドに接続されたクロックネットワークとを有し、前記クロックネットワークが各1/4区分のおよその中心へ向けて延在するクロックバスを有し、ロジックセルの前記アレイの各1/4区分を二等分することを特徴とする書換え可能ゲートアレイ。 - 前記クロックネットワークが、
前記クロックパッドに接続され、前記1/4区分の間で水平方向に延在する第1のクロックバスと、
各々が前記第1のクロックバスに接続され1/4区分の前記およその中心部に対し垂直な方向に延在する複数の第2のクロックバスと、
各々が1/4区分内に配置され、前記複数の第2のクロックバスの1つに接続され、前記1/4区分を二等分する水平方向に延在する複数の第3のクロックバスと、
前記第3のクロックバスの各々に接続された複数の第4のクロックバスであって、第4のクロックバスの第1の部分が第1の方向で前記第3のクロックバスより垂直に延在し、第4のクロックバスの第2の部分が前記第1の方向とは反対の第2の方向で前記第3のクロックバスより垂直に延在する第4のクロックバスとを有することを特徴とする請求項45に記載の書換可能ゲートアレイ。 - 第4のクロックバスの前記第1の部分における各々のバスが、第1の複数のロジックセルにプログラム可能に接続されてもよく、第4のクロックバスの前記第2の部分における各々のバスが第2の複数のロジックセルにプログラム可能に接続されてもよいことを特徴とする請求項46に記載の書換え可能ゲートアレイ。
- 前記第1の複数のロジックセル及び前記第2の複数のロジックセルが、同数のロジックセルを有することを特徴とする請求項47に記載の書換え可能ゲートアレイ。
- 前記第2のクロックバスの各々が、前記第3のクロックバスの概ね中心で接続されることを特徴とする請求項46に記載の書換え可能ゲートアレイ。
- 更に前記クロックパッドより前記第1のクロックバスへ延在する第5のクロックバスを含み、前記第5のクロックバスが前記第1のクロックバスの概ね中心に接続されることを特徴とする請求項46に記載のプログラム可能ゲートアレイ。
- 更に、
前記第1のクロックバスに接続された入力端子、前記第4のクロックバスの1つに接続されたフィードバック端子、及び前記第1のクロックバスに平行な第2の第1クロックバスに接続された出力端子を有する位相同期ループ回路と、
各々が前記第2の第1クロックバスへと接続され前記複数の第2クロックバスの1つと平行である第2の複数の第2クロックバスと、
複数のマルチプレクサとを含み、各々のマルチプレクサが前記複数の第2のクロックバスの1つをレシーブする第1のデータ端子と、前記複数の第2のクロックバスの1つをレシーブする第2のデータ端子と、前記複数の第3クロックバスの1つに接続された出力端子とを有することを特徴とする請求項45に記載の書換え可能ゲートアレイ。 - 前記位相同期ループ回路が、
前記第1のクロックバスに接続された入力端子及び出力端子を有する第1のプログラム可能1/n回路と、
前記第1のプログラム可能1/n回路の前記出力端子に接続された第1の入力端子と、第2の入力端子及び出力端子を有する位相検出器と、
前記位相検出器の前記出力端子に接続された入力端子及び出力端子を有するローパスフィルタと、
前記ローパスフィルタの前記出力端子に接続された入力端子及び出力端子を有する電圧制御発振器と、
前記電圧制御発振器の前記出力端子に接続された入力端子と、前記第1のクロックバスと平行で前記第2の第一クロックバスと接続された出力端子とを有する第2のプログラム可能1/n回路と、
前記第4のクロックバスの前記1つに接続されたフィードバック端子及び前記位相検出器の前記第2の入力端子に接続された出力端子とを有する第3のプログラム可能1/n回路とを有することを特徴とする請求項51に記載の書換え可能ゲートアレイ。 - 第1のプログラム可能1/n回路が、
第1のデータ端子、第2のデータ端子、第3のデータ端子、及び前記位相検出器の前記第1の入力端子に接続された出力端子とを有するマルチプレクサであって、前記第1のデータ端子が前記第1のクロックバスと接続されているマルチプレクサと、
1/2回路あって、前記第2のデータ端子が前記1/2回路を介して前記第1のクロックバスへと接続されている回路と、
1/4回路であって、前記第3のデータ端子が前記1/4回路を介して前記第1のクロックバスへと接続されている回路とを有する請求項52に記載の書換え可能ゲートアレイ。 - 前記第3のプログラム可能1/n回路であって、
第1のデータ端子、第2のデータ端子、第3のデータ端子、及び前記位相検出器の前記第2の入力端子へと接続された出力端子を有する第2のマルチプレクサであって、前記第1のデータ端子が前記第4のクロックバスの1つに接続されている第2のマルチプレクサと、
第2の1/2回路であって、前記第2のデータ端子が前記第2の1/2回路を介して前記第4のクロックバスの前記1つへと接続される第2の1/2回路と、
第2の1/4回路であって、前記第3のデータ端子が前記1/4回路を介して前記第4のクロックバスの前記1つに接続される第2の1/4回路とを有することを特徴とする請求項53に記載の書換え可能ゲートアレイ。 - 前記第2のプログラム可能な1/4回路が、
第1のデータ端子、第2のデータ端子、及び前記第1のクロックバスと平行な前記第2の第1クロックバスに接続された出力端子を有するマルチプレクサであって、前記第1のゲート端子が前記電圧制御発振器の前記出力端子に接続されるマルチプレクサと、
1/2回路であって、前記第2のデータ端子が前記1/2回路を介して前記電圧制御発振器に接続される区分とを有することを特徴とする請求項52に記載の書換え可能ゲートアレイ。 - 前記クロックパッドが専用クロックパッドであり、前記クロックネットワークが各1/4区分に対する専用のクロック信号を提供することを特徴とする請求項45に記載の書換え可能ゲートアレイ。
- 書換え可能ゲートアレイであって、
ロジックセルのアレイと、
前記ロジックセルにプログラム可能に接続されたクロックネットワークであって、選択されたロジックセルにクロック信号を提供するクロックネットワークと、
前記クロックネットワークに接続された位相同期ループ回路とを有し、前記位相同期ループ回路は、
前記クロック信号を受信し、前記クロックネットワークに接続された入力端子及び出力端子を有する第1のプログラム可能な1/n回路と、
前記第1のプログラム可能な1/n回路の前記出力端子に接続された第1の入力端子と、第2の入力端子及び出力端子を有する位相検出器と、
前記位相検出器の前記出力端子に接続された入力端子及び出力端子を有するローパスフィルタと、
前記ローパスフィルタの前記出力端子に接続された入力端子及び出力端子を有する電圧制御発振器と、
前記電圧制御発振器の前記出力端子に接続された入力端子と、前記クロックネットワークに接続された出力端子とを有する第2のプログラム可能1/n回路と、
前記クロックネットワークに接続されたフィードバック端子及び前記位相検出器の前記第2の入力端子に接続された出力端子とを有する第3のプログラム可能1/n回路とを有することを特徴とする書換え可能ゲートアレイ。 - 前記第1のプログラム可能1/n回路が、
第1のデータ端子、第2のデータ端子、第3のデータ端子、及び前記位相検出器の前記第1の入力端子に接続された出力端子とを有するマルチプレクサであって、前記第1のデータ端子が前記クロックネットワークと接続されているマルチプレクサと、
1/2回路であって、前記第2のデータ端子が前記1/2回路を介して前記クロックネットワークへ接続されている区分と、
1/4回路であって、前記第3のデータ端子が前記1/4回路を介して前記クロックネットワークへ接続されている区分とを有する請求項57に記載の書換え可能ゲートアレイ。 - 前記第3のプログラム可能1/n回路であって、
第1のデータ端子、第2のデータ端子、第3のデータ端子、及び前記位相検出器の前記第2の入力端子へと接続された出力端子を有する第2のマルチプレクサであって、前記第1のデータ端子が前記クロックネットワークに接続されている第2のマルチプレクサと、
第2の1/2回路であって、前記第2のデータ端子が前記第2の1/2回路を介して前記クロックネットワークへと接続される第2の1/2回路と、
第2の1/4回路であって、前記第3のデータ端子が前記1/4回路を介して前記クロックネットワークへと接続される第2の1/4回路とを有することを特徴とする請求項57に記載の書換え可能ゲートアレイ。 - 前記第2のプログラム可能1/n回路が、
第1のデータ端子、第2のデータ端子、及び前記第2のクロックネットワークに接続された出力端子を有するマルチプレクサであって、前記第1のゲート端子が前記電圧制御発振器の前記出力端子に接続されるマルチプレクサと、
1/2回路であって、前記第2のデータ端子が前記1/2回路を介して前記電圧制御発振器に接続される区分とを有することを特徴とする請求項57に記載の書換え可能ゲートアレイ。 - 書換え可能ゲートアレイであって、
ロジックセルのアレイと、
前記ロジックセルの接続をプログラミングするアンチヒューズを有する配線リソースであって、前記ロジックセルのアレイ及び配線リソースが少なくとも第1のサブセクション及び第2のサブセクションに分割される配線リソースと、
各サブセクションに接続された複数の水平プログラミングセルであって、水平プログラミングセルの第1のセットが前記第1のサブセクションに接続され、水平プログラミングセルの第2のセットが前記第2のサブセクションに接続される水平プログラミングセルと、
複数の垂直プログラミングセルであって、垂直プログラミングセルの第1のセットが前記第1のサブセクションに接続され、垂直プログラミングセルの第2のセットが前記第2のサブセクションに接続される垂直プログラミングセルと、
複数の電源バスであって、電源バスの第1のセットが水平プログラミングセルの前記第1のセットに接続され、電源バスの第2のセットが水平プログラミングセルの前記第2のセットに接続され、電源バスの第3のセットが前記垂直プログラミングセルの第1のセットに接続され、電源バスの第4のセットが前記垂直プログラミングセルの第2のセットに接続される電源バスとを有する書換え可能ゲートアレイ - 水平プログラミングセルの前記第1のセットが、前記第1のサブセクションを概ね二等分し、前記電源バスの前記第1のセットの第1サブセットが第1の方向にアンチヒューズをプログラムするのに用いられ、電源バスの前記第1のセットの第2サブセットが前記第1の方向とは反対向きの第2の方向にアンチヒューズをプログラムするのに用いられ、
水平方向プログラミングセルの前記第1のセットが前記第1のサブセクションを概ね二等分し、電源バスの前記第3のセットの第1サブセットが前記第1の方向と直交する第3の方向にアンチヒューズをプログラムするのに用いられ、電源バスの前記第3のセットの第2サブセットは前記第3の方向と反対向きの第4の方向にアンチヒューズをプログラムするのに用いられることを特徴とする請求項61に記載の書換え可能ゲートアレイ。 - 8本の電源バスが存在し、また電源バスの第1のセットには4本の電源バスが存在し、電源バスの第2のセットには4本の電源バスが存在し、前記電源バスの第1のセット及び前記電源バスの第2のセットは少なくとも1つの異なった電源バスを有することを特徴とする請求項61に記載の書換え可能ゲートアレイ。
- 電源バスの前記第3のセット内には4本の電源バスが存在し、電源バスの前記第4のセット内には4本の電源バスが存在し、電源バスの前記第3のセット及び第4のセットは少なくとも3つの異なる電源バスを有することを特徴とする請求項63に記載の書換え可能ゲートアレイ。
- 電源バスの前記第1のセット及び第3のセットが少なくとも1つの異なった電源バスを有し、また電源バスの前記第2のセット及び第4のセットが少なくとも1つの異なった電源バスを有することを特徴とする請求項64に記載の書換えゲートアレイ。
- 更に、
ロジックセルの前記アレイ及び配線リソースの第3のサブセクション及び第4のサブセクションと、
前記第3のサブセクションに接続された水平方向プログラミングセルの第3のセット、及び前記第4のサブセクションに接続された水平方向プログラミングセルの第4のセットと、
前記第3のサブセクションに接続された水平方向プログラミングセルの第3のセット、及び前記第4のサブセクションに接続された水平方向プログラミングセルの第4のセットと、
水平方向プログラミングセルの前記第3のセットに接続された電源バスの第5のセットと、水平方向プログラミングセルの前記第4のセットに接続された電源バスの第6のセットと、垂直プログラミングセルの前記第3のセットに接続された電源バスの第7のセットと、垂直プログラミングセルの前記第4のセットに接続された電源バスの第8のセットとを有する請求項63に記載の書換え可能ゲートアレイ。 - 水平方向プログラミングセル及び垂直方向プログラミングセルの各々のセットが、ロジックセル及び配線リソースのサブセクションを概ね二等分することを特徴とする請求項66に記載の書換え可能ゲートアレイ。
- 書換え可能ゲートアレイであって、
1/4区分に分割されたロジックセルのアレイと、
各1/4区分に接続され、また二等分する水平方向プログラミングセルのセットと、
各1/4区分に接続され、また二等分する垂直プログラミングセルのセットであって、一対の水平プログラミングセル及び垂直プログラミングセルが更に各1/4区分を1/4区分を更に4分割した区分に分割する垂直プログラミングセルと、
複数の電源バスとを有し、水平プログラミングセルの各セット及び垂直プログラミングセルの各セットが電源バスの異なるセットに接続されることを特徴とする書換え可能ゲートアレイ。 - 8本の電源バスが存在し、水平プログラミングセルの各々のセット及び垂直プログラミングセルの各々のセットが、4本の電源バスの異なるセットに接続されることを特徴とする請求項68に記載の書換え可能ゲートアレイ。
- 水平プログラミングセルの各々のセットが、少なくとも1つの異なる電源バスを有する電源バスの異なるセットに接続されることを特徴とする請求項69に記載の書換え可能ゲートアレイ。
- 垂直プログラミングセルの各々のセットが、少なくとも1つの異なる電源バスを有する電源バスの異なるセットに接続されることを特徴とする請求項69に記載の書換え可能ゲートアレイ。
- 水平プログラミングセルの各々のセットが第1の方向で電源バスの第1のサブセットを提供し、第1の方向と逆の第2の方向で電源バスの第2サブセットを提供することを特徴とする請求項69に記載の書換え可能ゲートアレイ。
- 前記第1のサブセットが2本の電源バスを有し、前記第2のサブセットが異なる2本の電源バスを有することを特徴とする請求項72に記載の書換え可能ゲートアレイ。
- 垂直プログラミングセルの各々のセットが前記第1の方向と直行する第3の方向で電源バスの第3サブセットを提供し、前記第3の方向とは反対の第4の方向で電源バスの第4サブセットを提供することを特徴とする請求項72に記載の書換え可能ゲートアレイ。
- 前記第3のサブセットが2本の電源バスを有し、前記第4のサブセットが異なる2本の電源バスを有することを特徴とする請求項74に記載の書換え可能ゲートアレイ。
- プログラム可能デバイスであって、
少なくとも1つのアンチヒューズと、
前記アンチヒューズにスイッチング可能に接続された高電圧プログラミング源と、
前記アンチヒューズにスイッチング可能に接続された低電圧プログラミング源と、
前記高電圧プログラミング源と前記アンチヒューズとの間に配置された第1のNMOSトランジスタと、
前記高電圧プログラミング源及び前記アンチヒューズの間に配置された第1のPMOSトランジスタであって、前記第1のNMOSトランジスタと平行なPMOSトランジスタと、
前記第1のNMOSトランジスタ及び前記第1のPMOSトランジスタに接続された制御回路であって、前記第1のNMOSトランジスタ及び前記第1のPMOSトランジスタを概ね同時にスイッチングし、オン、オフさせる制御回路を有するプログラム可能デバイス。 - 更に、
前記高電圧プログラミング源と前記アンチヒューズとの間に配置された第2のNMOSトランジスタと、
前記高電圧プログラミング源及び前記アンチヒューズの間に配置された第2のPMOSトランジスタであって、前記第1のNMOSトランジスタと平行なPMOSトランジスタと、
前記第2のNMOSトランジスタ及び前記第2のPMOSトランジスタに接続された制御回路であって、前記第2のNMOSトランジスタ及び前記第2のPMOSトランジスタを概ね同時にスイッチングし、オン、オフさせる制御回路を有することを特徴とする請求項71に記載のプログラム可能デバイス。 - 前記制御回路が、前記高電圧プログラミング源によって提供された電圧と概ね等しい、前記第1のNMOSトランジスタにおけるゲート電圧を提供することを特徴とする請求項71に記載のプログラミング可能デバイス。
- 更に、前記高電圧プログラミング源及び前記アンチヒューズの間に直列に配置された複数のNMOSトランジスタと、各々が対応するNMOSトランジスタと並列関係をなす複数のPMOSトランジスタを含むことを特徴とする請求項71に記載のプログラミング可能デバイス。
- 更に、前記低電圧プログラミング源及び前記アンチヒューズの間に直列に配置された複数のNMOSトランジスタと、各々が対応するNMOSトランジスタと並列関係をなす複数のPMOSトランジスタを含むことを特徴とする請求項71に記載のプログラミング可能デバイス。
- プログラム可能デバイス内でアンチヒューズをプログラミングする方法であって、
第1のNチャネルトランジスタを介して、前記アンチヒューズを高電圧プログラミング源へスイッチング可能に接続させる過程と、
前記第1のNチャネルトランジスタに平行な第1のPチャネルトランジスタを介して、前記アンチヒューズを前記高電圧プログラミング源へとスイッチング可能に接続する過程と、
第2のNチャネルトランジスタを介して、前記アンチヒューズを低電圧プログラミング源へとスイッチング可能に接続する過程と、
前記第1のNチャネルトランジスタと平行な第2のPチャネルトランジスタを介して、前記アンチヒューズを前記低電圧プログラミング源へとスイッチング可能に接続させる過程とを含む方法。 - 更に、
第1の複数のシリアルNチャネルトランジスタを介して、前記アンチヒューズを前記高電圧プログラミング源へとスイッチング可能に接続させる過程と、
各々が前記第1の複数のシリアルNチャネルトランジスタと平行な関係にある第1の複数のシリアルPチャネルトランジスタを介して、前記アンチヒューズを前記高電圧プログラミング源へとスイッチング可能に接続させる過程と、
第2の複数のシリアルNチャネルトランジスタを介して、前記アンチヒューズを前記低電圧プログラミング源へとスイッチング可能に接続させる過程と、
各々が前記第2の複数のシリアルNチャネルトランジスタと平行な関係にある第2の複数のシリアルPチャネルトランジスタを介して、前記アンチヒューズを前記低電圧プログラミング源へとスイッチング可能に接続させる過程とを含む請求項81に記載の方法。 - 更に、前記第2の複数のシリアルNチャネルトランジスタと直列をなす第3のNチャネルトランジスタを介して、前記アンチヒューズを前記低電圧プログラミング源へとスイッチング可能に接続させる過程を含む請求項81に記載の方法。
- 前記第1の複数のシリアルNチャネルトランジスタ内に3つのNチャネルトランジスタが存在し、前記第1の複数のシリアルPチャネルトランジスタ内に3つのPチャネルトランジスタが存在し、前記第2の複数のシリアルNチャネルトランジスタ内に2つのNチャネルトランジスタが存在し、また前記第2の複数のシリアルPチャネルトランジスタ内に2つのPチャネルトランジスタが存在することを特徴とする請求項83に記載の方法。
- プログラム可能デバイスであって、
ロジックセルのアレイと、
前記ロジックセルに接続されたプログラム可能相互接続構造と、
I/O回路と、
少なくとも1つのI/O制御パッドと、
前記少なくとも1つのI/O制御パッドに接続された第1のデータ端子と前記プログラム可能相互接続構造に接続された第2のデータ端子と、前記I/O回路及び前記プログラム可能相互接続構造に接続されたアウトプット端子とを有するマルチプレクサを含むプログラム可能デバイス。 - 前記I/O回路が、
I/Oパッドと、
前記I/Oパッドと接続されたインプット端子と、前記I/O制御パッドに接続されたイネーブル端子と、前記プログラム可能相互接続構造に接続されたアウトプット端子とを有する入力レジスタと、
前記プログラム可能相互接続構造に接続された入力端子と、前記I/Oパッドに接続されたアウトプット端子とを有する出力レジスタと、
前記出力レジスタの前記出力端子と前記I/Oパッドとの間に配置されたバッファであって、前記出力レジスタの前記出力端子に接続された入力端子と前記I/Oパッドに接続された出力端子と、イネーブル端子とを有するバッファと、
前記プログラム可能相互接続構造に接続された入力端子と、前記I/O制御パッドに接続されたイネーブル端子と、前記バッファの前記イネーブル端子に接続された出力端子とを有する出力イネーブルレジスタとを含むことを特徴とする請求項85に記載のプログラム可能デバイス。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/751,440 US6426649B1 (en) | 2000-12-29 | 2000-12-29 | Architecture for field programmable gate array |
| PCT/US2001/050278 WO2002054594A1 (en) | 2000-12-29 | 2001-12-20 | Architecture for field programmable gate array |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007011328A Division JP4394128B2 (ja) | 2000-12-29 | 2007-01-22 | Fpgaのアーキテクチャ |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2004517543A true JP2004517543A (ja) | 2004-06-10 |
| JP2004517543A5 JP2004517543A5 (ja) | 2005-01-20 |
| JP4011485B2 JP4011485B2 (ja) | 2007-11-21 |
Family
ID=25021986
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002554970A Expired - Lifetime JP4011485B2 (ja) | 2000-12-29 | 2001-12-20 | Fpgaのアーキテクチャ |
| JP2007011328A Expired - Lifetime JP4394128B2 (ja) | 2000-12-29 | 2007-01-22 | Fpgaのアーキテクチャ |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007011328A Expired - Lifetime JP4394128B2 (ja) | 2000-12-29 | 2007-01-22 | Fpgaのアーキテクチャ |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US6426649B1 (ja) |
| EP (1) | EP1346478B1 (ja) |
| JP (2) | JP4011485B2 (ja) |
| KR (2) | KR100893970B1 (ja) |
| DE (1) | DE60144060D1 (ja) |
| WO (1) | WO2002054594A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007159110A (ja) * | 2005-12-02 | 2007-06-21 | Altera Corp | 広い周波数範囲で動作可能なプログラマブルトランシーバ |
Families Citing this family (88)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
| DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
| DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
| ATE243390T1 (de) | 1996-12-27 | 2003-07-15 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.) |
| US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
| US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
| DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
| AU5805300A (en) | 1999-06-10 | 2001-01-02 | Pact Informationstechnologie Gmbh | Sequence partitioning in cell structures |
| US6578104B1 (en) * | 1999-06-30 | 2003-06-10 | Quick Logic Corporation | RAM with configurable depth and width |
| ATE476700T1 (de) | 2000-06-13 | 2010-08-15 | Richter Thomas | Pipeline ct-protokolle und -kommunikation |
| US8058899B2 (en) * | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
| US7024653B1 (en) * | 2000-10-30 | 2006-04-04 | Cypress Semiconductor Corporation | Architecture for efficient implementation of serial data communication functions on a programmable logic device (PLD) |
| US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
| US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
| US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
| US7624204B2 (en) * | 2001-03-22 | 2009-11-24 | Nvidia Corporation | Input/output controller node in an adaptable computing environment |
| US7400668B2 (en) | 2001-03-22 | 2008-07-15 | Qst Holdings, Llc | Method and system for implementing a system acquisition function for use with a communication device |
| US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
| US7433909B2 (en) * | 2002-06-25 | 2008-10-07 | Nvidia Corporation | Processing architecture for a reconfigurable arithmetic node |
| US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
| US7752419B1 (en) | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
| US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
| ATE557344T1 (de) | 2001-06-20 | 2012-05-15 | Krass Maren | Verfahren und gerät zum partitionieren von grossen rechnerprogrammen |
| US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
| US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
| US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
| US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
| US8412915B2 (en) * | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
| US7602740B2 (en) | 2001-12-10 | 2009-10-13 | Qst Holdings, Inc. | System for adapting device standards after manufacture |
| US7215701B2 (en) | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
| US20030108012A1 (en) * | 2001-12-12 | 2003-06-12 | Quicksilver Technology, Inc. | Method and system for detecting and identifying scrambling codes |
| US7403981B2 (en) * | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
| AU2003208266A1 (en) | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
| US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
| US7493375B2 (en) | 2002-04-29 | 2009-02-17 | Qst Holding, Llc | Storage and delivery of device features |
| US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
| US7328414B1 (en) | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
| US7129744B2 (en) * | 2003-10-23 | 2006-10-31 | Viciciv Technology | Programmable interconnect structures |
| US20040004251A1 (en) * | 2002-07-08 | 2004-01-08 | Madurawe Raminda U. | Insulated-gate field-effect thin film transistors |
| US7112994B2 (en) | 2002-07-08 | 2006-09-26 | Viciciv Technology | Three dimensional integrated circuits |
| US7673273B2 (en) | 2002-07-08 | 2010-03-02 | Tier Logic, Inc. | MPGA products based on a prototype FPGA |
| US6992503B2 (en) | 2002-07-08 | 2006-01-31 | Viciciv Technology | Programmable devices with convertibility to customizable devices |
| AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
| US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
| US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
| US7434080B1 (en) * | 2002-09-03 | 2008-10-07 | Actel Corporation | Apparatus for interfacing and testing a phase locked loop in a field programmable gate array |
| US7782398B2 (en) * | 2002-09-04 | 2010-08-24 | Chan Thomas M | Display processor integrated circuit with on-chip programmable logic for implementing custom enhancement functions |
| US7480010B2 (en) * | 2002-09-04 | 2009-01-20 | Denace Enterprise Co., L.L.C. | Customizable ASIC with substantially non-customizable portion that supplies pixel data to a mask-programmable portion in multiple color space formats |
| US7202908B2 (en) * | 2002-09-04 | 2007-04-10 | Darien K. Wallace | Deinterlacer using both low angle and high angle spatial interpolation |
| AU2003289844A1 (en) | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
| US8643162B2 (en) | 2007-11-19 | 2014-02-04 | Raminda Udaya Madurawe | Pads and pin-outs in three dimensional integrated circuits |
| US7812458B2 (en) * | 2007-11-19 | 2010-10-12 | Tier Logic, Inc. | Pad invariant FPGA and ASIC devices |
| US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
| US8276135B2 (en) * | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
| US7225301B2 (en) | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
| US6990618B1 (en) | 2002-12-03 | 2006-01-24 | Cypress Semiconductor Corporation | Boundary scan register for differential chip core |
| US7385420B1 (en) | 2002-12-27 | 2008-06-10 | Actel Corporation | Repeatable block producing a non-uniform routing architecture in a field programmable gate array having segmented tracks |
| US6903575B1 (en) * | 2003-04-28 | 2005-06-07 | Lattice Semiconductor Corporation | Scalable device architecture for high-speed interfaces |
| US6894530B1 (en) | 2003-04-28 | 2005-05-17 | Lattice Semiconductor Corporation | Programmable and fixed logic circuitry for high-speed interfaces |
| US7375553B1 (en) * | 2003-05-28 | 2008-05-20 | Actel Corporation | Clock tree network in a field programmable gate array |
| US7609297B2 (en) | 2003-06-25 | 2009-10-27 | Qst Holdings, Inc. | Configurable hardware based digital imaging apparatus |
| JP4700611B2 (ja) | 2003-08-28 | 2011-06-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理装置およびデータ処理方法 |
| US6946870B1 (en) * | 2003-10-21 | 2005-09-20 | Xilinx, Inc. | Control of simultaneous switch noise from multiple outputs |
| US7030651B2 (en) | 2003-12-04 | 2006-04-18 | Viciciv Technology | Programmable structured arrays |
| US7489164B2 (en) | 2004-05-17 | 2009-02-10 | Raminda Udaya Madurawe | Multi-port memory devices |
| US7818640B1 (en) | 2004-10-22 | 2010-10-19 | Cypress Semiconductor Corporation | Test system having a master/slave JTAG controller |
| EP1974265A1 (de) * | 2006-01-18 | 2008-10-01 | PACT XPP Technologies AG | Hardwaredefinitionsverfahren |
| US7737751B1 (en) * | 2006-08-25 | 2010-06-15 | Altera Corporation | Periphery clock distribution network for a programmable logic device |
| US7482834B2 (en) * | 2006-10-19 | 2009-01-27 | Quicklogic Corporation | Programmable multiplexer |
| US7646216B2 (en) * | 2006-11-27 | 2010-01-12 | Quicklogic Corporation | Low power mode |
| US8091001B2 (en) * | 2006-11-30 | 2012-01-03 | Quicklogic Corporation | FPGA programming structure for ATPG test coverage |
| US20080182021A1 (en) * | 2007-01-31 | 2008-07-31 | Simka Harsono S | Continuous ultra-thin copper film formed using a low thermal budget |
| US20080278182A1 (en) * | 2007-05-10 | 2008-11-13 | Agarwal Kanak B | Test Structure for Statistical Characterization of Metal and Contact/Via Resistances |
| US7635988B2 (en) * | 2007-11-19 | 2009-12-22 | Tier Logic, Inc. | Multi-port thin-film memory devices |
| US20090128189A1 (en) * | 2007-11-19 | 2009-05-21 | Raminda Udaya Madurawe | Three dimensional programmable devices |
| US7602213B2 (en) * | 2007-12-26 | 2009-10-13 | Tier Logic, Inc. | Using programmable latch to implement logic |
| US7573293B2 (en) * | 2007-12-26 | 2009-08-11 | Tier Logic, Inc. | Programmable logic based latches and shift registers |
| US7795913B2 (en) * | 2007-12-26 | 2010-09-14 | Tier Logic | Programmable latch based multiplier |
| US7573294B2 (en) * | 2007-12-26 | 2009-08-11 | Tier Logic, Inc. | Programmable logic based latches and shift registers |
| US8217700B1 (en) * | 2008-07-01 | 2012-07-10 | Cypress Semiconductor Corporation | Multifunction input/output circuit |
| US8230375B2 (en) | 2008-09-14 | 2012-07-24 | Raminda Udaya Madurawe | Automated metal pattern generation for integrated circuits |
| US7791375B1 (en) * | 2009-07-10 | 2010-09-07 | Altera Corporation | DQS re sync calibration |
| TWI638519B (zh) * | 2013-05-17 | 2018-10-11 | 半導體能源研究所股份有限公司 | 可程式邏輯裝置及半導體裝置 |
| US9024673B1 (en) | 2013-11-08 | 2015-05-05 | Altera Corporation | Techniques for providing clock signals in an integrated circuit |
| US9188640B1 (en) * | 2014-05-19 | 2015-11-17 | Freescale Semiconductor, Inc. | Scan flip-flop circuit with LOS scan enable signal |
| US9287868B1 (en) | 2014-08-27 | 2016-03-15 | Quicklogic Corporation | Logic cell for programmable logic device |
| US9628083B1 (en) * | 2015-10-01 | 2017-04-18 | Quicklogic Corporation | Local routing network with selective fast paths for programmable logic device |
| US10444786B2 (en) * | 2018-01-26 | 2019-10-15 | Mediatek Singapore Pte. Ltd. | Mesh-based clock distribution for low power and high speed synchronized applications |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5347519A (en) * | 1991-12-03 | 1994-09-13 | Crosspoint Solutions Inc. | Preprogramming testing in a field programmable gate array |
| US5396126A (en) | 1993-02-19 | 1995-03-07 | At&T Corp. | FPGA with distributed switch matrix |
| US5410194A (en) * | 1993-08-11 | 1995-04-25 | Xilinx, Inc. | Asynchronous or synchronous load multifunction flip-flop |
| US5504440A (en) * | 1994-01-27 | 1996-04-02 | Dyna Logic Corporation | High speed programmable logic architecture |
| US5424655A (en) * | 1994-05-20 | 1995-06-13 | Quicklogic Corporation | Programmable application specific integrated circuit employing antifuses and methods therefor |
| US5552720A (en) * | 1994-12-01 | 1996-09-03 | Quicklogic Corporation | Method for simultaneous programming of multiple antifuses |
| US5594367A (en) * | 1995-10-16 | 1997-01-14 | Xilinx, Inc. | Output multiplexer within input/output circuit for time multiplexing and high speed logic |
| US5869979A (en) * | 1996-04-05 | 1999-02-09 | Altera Corporation | Technique for preconditioning I/Os during reconfiguration |
| US6028444A (en) * | 1996-06-21 | 2000-02-22 | Quicklogic Corporation | Three-statable net driver for antifuse field programmable gate array |
| US5914616A (en) | 1997-02-26 | 1999-06-22 | Xilinx, Inc. | FPGA repeatable interconnect structure with hierarchical interconnect lines |
| US5874834A (en) * | 1997-03-04 | 1999-02-23 | Xilinx, Inc. | Field programmable gate array with distributed gate-array functionality |
| US5958026A (en) * | 1997-04-11 | 1999-09-28 | Xilinx, Inc. | Input/output buffer supporting multiple I/O standards |
| US6218859B1 (en) * | 1998-05-26 | 2001-04-17 | Altera Corporation | Programmable logic device having quadrant layout |
| US6107826A (en) * | 1998-08-19 | 2000-08-22 | Xilinx, Inc. | Interconnect structure for FPGA with configurable delay locked loop |
| US6252419B1 (en) * | 1999-01-08 | 2001-06-26 | Altera Corporation | LVDS interface incorporating phase-locked loop circuitry for use in programmable logic device |
| US6236229B1 (en) * | 1999-05-13 | 2001-05-22 | Easic Corporation | Integrated circuits which employ look up tables to provide highly efficient logic cells and logic functionalities |
-
2000
- 2000-12-29 US US09/751,440 patent/US6426649B1/en not_active Expired - Lifetime
-
2001
- 2001-12-20 KR KR1020087009321A patent/KR100893970B1/ko not_active Expired - Lifetime
- 2001-12-20 EP EP01988397A patent/EP1346478B1/en not_active Expired - Lifetime
- 2001-12-20 DE DE60144060T patent/DE60144060D1/de not_active Expired - Lifetime
- 2001-12-20 JP JP2002554970A patent/JP4011485B2/ja not_active Expired - Lifetime
- 2001-12-20 KR KR1020027011303A patent/KR100893969B1/ko not_active Expired - Lifetime
- 2001-12-20 WO PCT/US2001/050278 patent/WO2002054594A1/en not_active Ceased
-
2007
- 2007-01-22 JP JP2007011328A patent/JP4394128B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007159110A (ja) * | 2005-12-02 | 2007-06-21 | Altera Corp | 広い周波数範囲で動作可能なプログラマブルトランシーバ |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1346478B1 (en) | 2011-02-16 |
| KR20080041303A (ko) | 2008-05-09 |
| KR20020087406A (ko) | 2002-11-22 |
| EP1346478A1 (en) | 2003-09-24 |
| JP2007158365A (ja) | 2007-06-21 |
| KR100893970B1 (ko) | 2009-04-20 |
| WO2002054594A1 (en) | 2002-07-11 |
| JP4011485B2 (ja) | 2007-11-21 |
| US6426649B1 (en) | 2002-07-30 |
| EP1346478A4 (en) | 2007-03-07 |
| KR100893969B1 (ko) | 2009-04-20 |
| DE60144060D1 (de) | 2011-03-31 |
| JP4394128B2 (ja) | 2010-01-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4011485B2 (ja) | Fpgaのアーキテクチャ | |
| US5892370A (en) | Clock network for field programmable gate array | |
| US6130554A (en) | Programmable integrated circuit having a test circuit for testing the integrity of routing resource structures | |
| JP2004517543A5 (ja) | ||
| US6624656B1 (en) | Input/output circuit with user programmable functions | |
| US5391942A (en) | Clock distribution scheme for user-programmable logic array architecture | |
| US5959466A (en) | Field programmable gate array with mask programmed input and output buffers | |
| US5656950A (en) | Interconnect lines including tri-directional buffer circuits | |
| US7973563B2 (en) | Programmable IO architecture | |
| US6466049B1 (en) | Clock enable control circuit for flip flops | |
| US5485104A (en) | Logic allocator for a programmable logic device | |
| US8253463B1 (en) | Pulse width control circuitry | |
| US20140103985A1 (en) | Digitally Controlled Delay Line for a Structured ASIC Having a Via Configurable Fabric for High-Speed Interface | |
| US6148390A (en) | Techniques and circuits for high yield improvements in programmable devices using redundant logic | |
| US6188255B1 (en) | Configurable clock generator | |
| US6879202B2 (en) | Multi-purpose digital frequency synthesizer circuit for a programmable logic device | |
| US7573297B1 (en) | Flexible macrocell interconnect | |
| Smith | Intel's FLEXlogic FPGA architecture | |
| US6242941B1 (en) | Reducing I/O noise when leaving programming mode | |
| JP2509273B2 (ja) | 位相遅延回路 | |
| Fawcett et al. | The architecture and test structures of the XC8100 FPGA family |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040727 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061025 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061106 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070122 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070213 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070509 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070613 |
|
| 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: 20070814 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070905 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4011485 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130914 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |
