(57)【特許請求の範囲】
【請求項１】
書換え可能ゲートアレイであって、
ロジックセルのアレイと、
前記ロジックセルの接続をプログラミングするアンチヒューズを有する配線リソースであって、前記ロジックセルのアレイ及び配線リソースが少なくとも第１のサブセクション及び第２のサブセクションに分割される配線リソースと、
各サブセクションに接続された複数の水平シフトレジスタセルであって、水平シフトレジスタセルの第１のセットが前記第１のサブセクションに接続され、水平シフトレジスタセルの第２のセットが前記第２のサブセクションに接続される水平シフトレジスタセルと、
複数の垂直シフトレジスタセルであって、垂直シフトレジスタセルの第１のセットが前記第１のサブセクションに接続され、垂直シフトレジスタセルの第２のセットが前記第２のサブセクションに接続される垂直シフトレジスタセルと、
複数の電源バスであって、電源バスの第１のセットが水平シフトレジスタセルの前記第１のセットに接続され、電源バスの第２のセットが水平シフトレジスタセルの前記第２のセットに接続され、電源バスの第３のセットが前記垂直シフトレジスタセルの第１のセットに接続され、電源バスの第４のセットが前記垂直シフトレジスタセルの第２のセットに接続される電源バスとを有する書換え可能ゲートアレイ。
【請求項２】
水平シフトレジスタセルの前記第１のセットが、前記第１のサブセクションを概ね二等分し、前記電源バスの前記第１のセットの第１サブセットが第１の方向にアンチヒューズをプログラムするのに用いられ、電源バスの前記第１のセットの第２サブセットが前記第１の方向とは反対向きの第２の方向にアンチヒューズをプログラムするのに用いられ、
垂直シフトレジスタセルの前記第１のセットが前記第１のサブセクションを概ね二等分し、電源バスの前記第３のセットの第１サブセットが前記第１の方向と直交する第３の方向にアンチヒューズをプログラムするのに用いられ、電源バスの前記第３のセットの第２サブセットは前記第３の方向と反対向きの第４の方向にアンチヒューズをプログラムするのに用いられることを特徴とする請求項１に記載の書換え可能ゲートアレイ。
【請求項３】
８本の電源バスが存在し、また電源バスの第１のセットには４本の電源バスが存在し、電源バスの第２のセットには４本の電源バスが存在し、前記電源バスの第１のセット及び前記電源バスの第２のセットは少なくとも１つの異なった電源バスを有することを特徴とする請求項１に記載の書換え可能ゲートアレイ。
【請求項４】
電源バスの前記第３のセット内には４本の電源バスが存在し、電源バスの前記第４のセット内には４本の電源バスが存在し、電源バスの前記第３のセット及び第４のセットは少なくとも３つの異なる電源バスを有することを特徴とする請求項３に記載の書換え可能ゲートアレイ。
【請求項５】
電源バスの前記第１のセット及び第３のセットが少なくとも１つの異なった電源バスを有し、また電源バスの前記第２のセット及び第４のセットが少なくとも１つの異なった電源バスを有することを特徴とする請求項４に記載の書換えゲートアレイ。
【請求項６】
更に、
ロジックセルの前記アレイ及び配線リソースの第３のサブセクション及び第４のサブセクションと、
前記第３のサブセクションに接続された水平シフトレジスタセルの第３のセット、及び前記第４のサブセクションに接続された水平シフトレジスタセルの第４のセットと、
前記第３のサブセクションに接続された垂直シフトレジスタセルの第３のセット、及び前記第４のサブセクションに接続された垂直シフトレジスタセルの第４のセットと、
水平シフトレジスタセルの前記第３のセットに接続された電源バスの第５のセットと、水平シフトレジスタセルの前記第４のセットに接続された電源バスの第６のセットと、垂直シフトレジスタセルの前記第３のセットに接続された電源バスの第７のセットと、垂直シフトレジスタセルの前記第４のセットに接続された電源バスの第８のセットとを有する請求項３に記載の書換え可能ゲートアレイ。
【請求項７】
水平シフトレジスタセル及び垂直シフトレジスタセルの各々のセットが、ロジックセル及び配線リソースのサブセクションを概ね二等分することを特徴とする請求項６に記載の書換え可能ゲートアレイ。
【請求項８】
書換え可能ゲートアレイであって、
１／４区分に分割されたロジックセルのアレイと、
各１／４区分に接続され、また二等分する水平シフトレジスタセルのセットと、
各１／４区分に接続され、また二等分する垂直シフトレジスタセルのセットと、
複数の電源バスとを有し、
一対の水平シフトレジスタセル及び垂直シフトレジスタセルが各前記１／４区分を更に４分割した区分に分割し、
水平シフトレジスタセルの各セット及び垂直シフトレジスタセルの各セットが電源バスの異なるセットに接続されることを特徴とする書換え可能ゲートアレイ。
【請求項９】
８本の電源バスが存在し、水平シフトレジスタセルの各々のセット及び垂直シフトレジスタセルの各々のセットが、４本の電源バスの異なるセットに接続されることを特徴とする請求項８に記載の書換え可能ゲートアレイ。
【請求項１０】
水平シフトレジスタセルの各々のセットが、少なくとも１つの異なる電源バスを有する電源バスの異なるセットに接続されることを特徴とする請求項９に記載の書換え可能ゲートアレイ。
【請求項１１】
垂直シフトレジスタセルの各々のセットが、少なくとも１つの異なる電源バスを有する電源バスの異なるセットに接続されることを特徴とする請求項９に記載の書換え可能ゲートアレイ。
【請求項１２】
水平シフトレジスタセルの各々のセットが第１の方向で電源バスの第１のサブセットを提供し、第１の方向と逆の第２の方向で電源バスの第２サブセットを提供することを特徴とする請求項９に記載の書換え可能ゲートアレイ。
【請求項１３】
前記第１のサブセットが２本の電源バスを有し、前記第２のサブセットが異なる２本の電源バスを有することを特徴とする請求項１２に記載の書換え可能ゲートアレイ。
【請求項１４】
垂直シフトレジスタセルの各々のセットが前記第１の方向と直行する第３の方向で電源バスの第３サブセットを提供し、前記第３の方向とは反対の第４の方向で電源バスの第４サブセットを提供することを特徴とする請求項１２に記載の書換え可能ゲートアレイ。
【請求項１５】
前記第３のサブセットが２本の電源バスを有し、前記第４のサブセットが異なる２本の電源バスを有することを特徴とする請求項１４に記載の書換え可能ゲートアレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能な集積回路に関する。さらに詳しくは、本発明は例えばアンチヒューズを採用する書換え可能ゲートアレイ（ＦＰＧＡ）に関する。
【背景技術】
【０００２】
特定用途向けＩＣ（ＡＳＩＣ）は汎用性集積回路チップであり、その内部回路は、個々のユーザによって設計、製造されることで特殊用途を実現する。プログラム可能なＡＳＩＣを構成するために、ユーザがプログラム可能なＡＳＩＣのオン−チップ相互接続構造を構成して、選択されたオン−チップ構成要素の選択入力端子及び出力端子は、結果物たる回路がユーザ所望の特定回路となる方法で互いに電気的に接続される。プログラム可能ＡＳＩＣが用いられる場合、例えば、非結晶シリコンアンチヒューズ、すなわち選択されたワイヤーセグメント間に配置された選択された非結晶シリコンアンチヒューズが、“プログラム”され選択されたワイヤーセグメントを共に電気的に接続させる。いずれのアンチヒューズがプログラムされ、いずれのアンチヒューズがプログラムを施されないままなのかが、回路構成要素の相互接続方法を決定しゆえに結果物たる回路を決定する。
【０００３】
書換え可能ゲートアレイ（ＦＰＧＡ）は、プログラム可能特定用途向けＩＣの一つである。アンチヒューズを用いる書換え可能ゲートアレイに関する背景技術情報は、"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"を参照していただきたい。これら文献等の内容に関しては、ここに参照したことをもって本願の一部とする。
【発明の開示】
【課題を解決するための手段】
【０００４】
アンチヒューズを用いる書換え可能ゲートアレイのようなプログラム可能集積回路は、プログラム可能相互接続構造及び複数のロジックセルを含む。ロジックセルは各々、プログラム可能相互接続構造と直接相互接続している複数の組み合わせ論理回路と、レジスタとして働くＤ型フリップ−フロップのような複数の順次論理素子とを有する複数の組み合わせ論理回路を有する。組み合わせ論理回路は、順次論理素子の入力端子に接続されてもよいのはもちろんのこと、プログラム可能相互接続構造に直接接続されてもよい。一つの組み合わせ論理回路の出力端子がプログラム可能相互接続構造に直接接続されてもよいのはもちろんのこと、複数の順次論理素子を選択的に接続してもよい。結果として、ロジックセルはプログラム可能相互接続構造に対する組み合わせ接続、及びレジスタされた接続の双方を含む。更に、順次要素の１つはプログラム可能相互接続構造よりの専用の入力を選択的にレシーブする。
【０００５】
加えて、ロジックセルの出力リードが、保護トランジスタを有するドライバを介してプログラム可能相互接続構造へと接続される。保護トランジスタのゲートは第１の電荷ポンプに接続され、複数のドライバで共有される。加えて、保護トランジスタのゲートはドライバに関連する第２の電荷ポンプへと接続される。
【０００６】
本発明の別の側面は、プログラム可能相互接続構造へとフィードバックするプログラム可能相互接続構造に接続された出力レジスタを含むＩ／Ｏ（入出力）回路を有する、プログラム可能デバイスである。Ｉ／Ｏ回路はまた、出力レジスタ及び出力イネーブルレジスタを有する。Ｉ／Ｏ回路が、入力レジスタ、出力レジスタ、及び出力イネーブルレジスタを用いる場合、境界スキャン回路が境界スキャンレジスタとして、入力レジスタ、出力レジスタ、及び出力イネーブルレジスタを用いてもよい。Ｉ／Ｏ回路パッドは、入力レジスタ、出力レジスタ、及び出力イネーブルレジスタのようなＩ／Ｏ回路に直接接続されてもよい。Ｉ／Ｏ制御パッドはマルチプレクサのデータ端子に接続され、一方でマルチプレクサの別のデータ端子はプログラム可能相互接続構造へと接続される。マルチプレクサの出力端子はプログラム可能相互接続構造及びＩ／Ｏ回路の双方に接続される。出力レジスタはバッファを介してＩ／Ｏパッドへと接続され、出力イネーブルレジスタによって制御される。Ｉ／Ｏ回路がまた、調整可能なスルーレートを有するバッファを含んでもよい。バッファは抵抗素子及び抵抗素子に平行に設けられたトランジスタを介して接地されたインバータを有する。調整可能なスルーレートは、例えばインバータに接続されたトランジスタをイネーブルもしくはディスエーブルすることで制御される。同様に、インバータは抵抗素子及び抵抗素子と平行に設けられた別のトランジスタを介して電位へと接続されてもよい。入力レジスタが、差動トランスレータを介してＩ／Ｏパッドへと接続されてもよい。差動トランスレータは、例えば異なる基準電圧源へ接続されてもよい入力端子を含む。
【０００７】
本発明の別の側面によれば、１／４区分に分割された論理セルのアレイと、各々の１／４区分の概ね中心へ延在し各々の１／４区分を二等分するクロックネットワークとを備えたＦＰＧＡが与えられる。クロックネットワークは第１のクロックバスを二等分する別のバスを介するようなＩ／Ｏパッドに接続された第１のクロックバスを含み、また１／４区分の間で水平に延在する。複数の第２のクロックバスは、第１のバスより各々１／４区分へと垂直に延在する。クロックネットワークは複数の第３のクロックバスを有し、各々は第２のクロックバスの１つに接続され、１／４区分を二等分する。クロックバスは第３のクロックバスの各々より上方及び下方の双方に垂直に延在しており、また論理セルにプログラム可能に接続されている。クロックネットワークが例えば論理セルへ専用のクロック信号を配信するのに用いられもよい。加えてプログラム可能位相同期ループがクロックネットワークと共に用いられてもよい。位相同期ループは、位相検出器の前、及びフィードバックループ内においてプログラム可能な１／ｎ回路を有し、遅延に対するプログラム可能な制御を可能とする。加えて、ＶＣＯのレンジを拡張する電圧制御発振器（ＶＣＯ）の後、プログラム可能な１／ｎ回路が位相同期ループに含まれる。
【０００８】
本発明の別の側面によればＦＰＧＡにおけるプログラム可能アーキテクチャが与えられ、それはロジックセル及び配線リソースが例えば１／４区分のようなサブセクションへ分割され、各サブセクションに接続された垂直プログラミングセル及び水平プログラミングセルの異なるセットを有する。例えばＦＰＧＡは８本の複数の電源バスを有し、例えば４本の電源バスであるような異なるセットの電源バスが各々水平及び垂直プログラミングセルに接続される。水平プログラミングセルに接続された各々の電源バスのセットは少なくとも１つの異なった電源バスを有する。水平及び垂直プログラミングセルは各サブセクションをおよそ二等分する。そのようなわけで、サブセクション内におけるプログラミングセルより何れかのアンチヒューズへの距離は最小化される。プログラミングセルの各々のセットは一方向で電源バスのサブセットを提供し、別のサブセットでは逆方向となる。そのようなわけでＦＰＧＡは８つのビットプログラミングアーキテクチャを有する。
【０００９】
本発明の別の側面によれば、ＣＭＯＳアーキテクチャがＦＰＧＡ内のアンチヒューズをプログラムするのに用いられる。そのようなわけで、ＦＰＧＡは少なくとも１つのアンチヒューズと、アンチヒューズにスイッチング可能に接続された高電圧プログラミング源と、アンチヒューズにスイッチング可能に接続された低電圧プログラミング源とを有する。ＮＭＯＳトランジスタは高電圧プログラミング源とアンチヒューズとの間に配置され、ＰＭＯＳトランジスタはＮＭＯＳトランジスタと平行である。複数のＮＭＯＳトランジスタ及び平行なＰＭＯＳトランジスタは、高電圧プログラミング源及びアンチヒューズの間で直列に接続されてもよい。同様に、ＮＭＯＳトランジスタは低電圧プログラミング源及びアンチヒューズの間に配置され、ＰＭＯＳトランジスタはＮＭＯＳトランジスタと平行に設置される。制御回路は適切なゲート電圧をＮＭＯＳトランジスタ及びＰＭＯＳトランジスタへ供給し、トランジスタのスイッチを概ね同時に入れたり切ったりする。都合の良いことに、ＣＭＯＳアーキテクチャの使用で、ＮＭＯＳトランジスタのゲート電圧を高電圧プログラミング源によって提供される電圧とほぼ同一にすることが可能である。結果として電荷ポンプが要求されることはない。
【００１０】
発明の開示は、本発明の権利範囲を規定するものではない。本発明の権利範囲は付随の特許請求の範囲によって規定される。
【発明を実施するための最良の形態】
【００１１】
図１は、ＦＰＧＡ（field programmable gate array）などのプログラム可能なデバイス１００を模式的に示す。図示されているプログラム可能なデバイス１００は、６列６行のマクロセル１０２と、垂直線及び水平線で模式的に示されている複数の相互接続配線リソース１０４とを含む。プログラム可能なデバイス１００は、図１に示されているマクロセルの数よりも多い或いは少ない数のマクロセルを含み得る。複数の入力／出力（Ｉ／Ｏ）セル１０６も図１に示されている。配線リソース１０４には、ユーザの好みに応じて様々な構成に目的のマクロセル１０２とＩ／Ｏブロック１０６とを相互接続するようにプログラム可能な図示されていないアンチヒューズ（antifuse）などのプログラム可能な素子が含まれる。
【００１２】
プログラム可能なデバイスを形成する場合、回路がユーザの目的に合った特殊な回路となるように、例えばマクロセル１０２及びＩ／Ｏセル１０６などの選択されたチップ上の回路素子である選択された入力端子及び選択された出力端子が互いに電気的に接続されるように、ユーザが、相互接続構造即ち配線リソース１０４及び配線リソース間に設けられたアンチヒューズ（図示せず）を設計する。例えばアモルファスシリコンアンチヒューズを利用しているプログラム可能なデバイスでは、選択されたワイヤセグメント間に配設された選択されたアンチヒューズが、選択されたワイヤセグメントを互いに電気的に接続するようにプログラムされている。
【００１３】
図２は、複数のマクロセル１０２と、図２ではＰＲＥＩＯブロックとして示されている複数のＩ／Ｏセル１０６とを含むＦＰＧＡ１００の別の模式図である。図２に示すそれぞれの長方形は、例えば１つのマクロセルや１つのＩ／Ｏ回路を示す。配線リソースは、見やすくするために図２には示していない。図２に示されているように、必要に応じて、ＦＰＧＡ１００は、目的の機能を実現し得るＲＡＭ１０７などの組み込まれた回路及び／または追加の組み込まれた回路１０８を含み得る。ＲＡＭ１０７及び／または組み込まれた回路１０８には、プログラム不可能な或いは部分的にプログラム可能なＡＳＩＣ（application specific integrated circuit）デザインが可能である。ＲＡＭ１０７及び組み込まれた回路１０８などの組み込まれた回路の詳細については、米国特許出願第０９／６５０，７７３号（名称、「Integrated Circuit Including Dedicated And Programmable Logic」）、米国特許出願第０９／３４５，６６３号（名称、「Ram with Configurable Depth and Width」）、及び米国特許出願第０９／４５１，６８１号（名称、「Programmable Device With An Embedded Portion For Receiving A Standard Circuit Design」）を参照されたい。またこれらの特許出願に言及することをもって本明細書の一部とする。組み込まれた回路１０８は、例えば、同時出願同時係属中のBrian C. Faith他による米国特許出願第０９／７５１，５３８号（名称、「Configurable Computational Unit Embedded In A Programmable Device」）に開示されているような設計可能な計算単位（cofigurable computational unit）などが可能である。また上記特許出願は本出願と同一の譲受人であり、言及することをもって本明細書の一部とする。
【００１４】
また、図２には、水平方向及び垂直方向のプログラム可能なシフトレジスタ１０９が示されている。一対のプログラム可能なシフトレジスタ１０９が、ＦＰＧＡ１００の４分割された１／４区分１００Ａ、１００Ｂ、１００Ｃ、及び１００Ｄのそれぞれに配置されている。このシフトレジスタ１０９を用いてＦＰＧＡ１００内の目的の相互接続をプログラムする。この詳細については以降に説明する。
【００１５】
ＦＰＧＡ及びプログラム方法論が、例えば、米国特許第５，８２５，２０１号（名称、「Programmable Architecture for a Programmable Integrated Circuit Employing Antifuses」）及び同第５，３２７，０２４号（名称、「Field Programmable Antifuse Device and Programming Method Therefor」）に記載されており、言及することをもってこれらの特許を本明細書の一部とする。
【００１６】
図１及び図２に示すＦＰＧＡ１００の特徴を以降に詳細に説明する。
【００１７】
マクロセル１０２はＦＰＧＡ１００の反復部分であって、少なくとも１つの論理素子のモジュールと、プログラム可能な相互接続及びプログラム構造の一部を含む。図３Ａ、図３Ｂ、及び図３Ｃを含む図３は、マクロセル１０２の一例を示す。図３に示されているように、マクロセル１０２は、２つのロジックセル１１０Ａ及び１１０Ｂとロジックセル相互接続セクション１１２ａ及び１１２ｂとを含む。マクロセル１０２の配線ネットワークは、通常は、実として示す実質的に同一なスイッチセクション１１４ａ、１１４ｂ及び１１５ａ、１１５ｂ、実として示す実質的に同一な垂直パス接続セクション１１６ａ、１１６ｂ及び１１７ａ、１１７ｂ、及び実として示す実質的に同一な水平パス接続セクション１１８ａ、１１８ｂ、及び１１９ａ、１１９ｂを含む。マクロセル１０２はまた、プログラミングセクション１２０、クロックバス１２２ａ及び１２２ｂを含む。図３から分かるように、ロジックセル１１０ａ及び１１０ｂ、それらに対応するロジックセル相互接続セクション１１２ａ及び１１２ｂ、及び支持配線ネットワークは実質的に鏡像となっている。更に、ロジックセル１１０ａ及び１１０ｂの上下の配線リソースも実質的に鏡像になっている。
【００１８】
一般に、ロジックセル相互接続セクション１１２ａ及び１１２ｂでは、ロジックセル１１０ａまたは１１０ｂの入力端子または出力端子からの垂直ワイヤと水平ワイヤとのそれぞれの交差部分がアンチヒューズ１２４などのクロスリンクによって接続されている。同様に、例として示すスイッチセクション１１４ａ、１１４ｂ、１１５ａ、及び１１５ｂでは、一般に垂直ワイヤと水平ワイヤとのそれぞれの交差部分がアンチヒューズ１２６などのクロスリンクによって接続されている。
【００１９】
アンチヒューズの一般的な配置とは対照的に、垂直ワイヤ１２８ａ、１２８ｂ及び１２９ａ、１２９ｂは、ワイヤ１２８ａ、１２８ｂ（tiehi）が電源バス（power bus）に接続されていて、ワイヤ１２９ａ及び１２９ｂ（tielo）がグラウンドバスに接続されているため、いずれの垂直ワイヤにもアンチヒューズが設けられていない。グラウンド及び電源がロジックセルの出力ノードに接続されていないため、垂直ワイヤ１２８ａ、１２８ｂ及び１２９ａ、１２９ｂとロジックセルの出力ワイヤ１１０ａ及び１１０ｂとの間のロジックセル接続セクションにアンチヒューズが設けられていない。
【００２０】
スイッチセクション１１４ａなどの配線リソースは、２本線１３２及び４本線１３４の２つのワイヤのセットを含む。２本線１３２は、それぞれの２つのロジックセル間に接続経路１３６ａ及び１３６ｂを含む。図３に示されているように、２つの接続経路１３６ａが２つの２本線１３２をロジックセル１１０ａの右に接続し、２つの接続経路１３６ｂが別の２つの２本線１３２をロジックセル１１０ｂの右に接続して、接続経路１３６ａ及び１３６ｂが互い違いに配置されている。４本線１３４は２本線１３２に類似しているが、４つのロジックセルごとに接続経路１３８ａ及び１３８ｂが設けられている。図３に示されているように、６つの４本線１３４の内の３つは、互い違いに配置された接続経路１３８ａ及び１３８ｂを含む。マクロセル１０２の右または左の図示しない別のマクロセルは、マクロセル１０２に実質的に類似しているが、６つの４本線１３４の内残りの３つに対する接続経路を有する。
【００２１】
一般に、クロスリンクアンチヒューズはプログラム可能である。アンチヒューズは、プログラムされていない状態では開路を提供し、プログラムされている状態では閉路を提供する。特に好適なアンチヒューズは、米国特許第５，５０１，３１５号（名称、「Electrically Programmable Interconnect Structure Having PECVD Amorphous Silicon Element」）及び１９９８年１１月１９日に出願のShroffらによる米国特許出願第０９／１９６，９４６号（名称、「Metal-To-Metal Antifuse With Non-Conductive Diffusion Barrier」）に記載されているアモルファスシリコンアンチヒューズである。これらの特許及び特許出願に言及することをもって本明細書の一部とする。また、ＳＲＡＭなどの別のタイプのプログラム可能な素子も用いることが可能である。
【００２２】
図４は図３のロジックセル１１０ｂの模式図である。ロジックセル１０２ｂは、それぞれが３つの実際の入力端子と３つの相補入力端子とを有する２つの６入力ＡＮＤゲート１４０及び１４２と、それぞれが実際の入力端子と相補入力端子とを有する４つの２入力ＡＮＤゲート１４４−１４７と、７つの２−１マルチプレクサ１４８、１５０、１５２、１５４、１５６、１５８、及び１６０と、２つのレジスタ１６２及び１６４とからなる。ロジックセル１１０ｂは、２０００年７月４日に付与されたKolze他による米国特許第６，０８４，４２８号（名称、「Programmable Integrated Circuit Having Shared Programming Conductors Between Columns of Logic Modules」）に開示されているロジックセルに類似しているが、ロジックセル１１０ｂは、遅延即ちＤレジスタ１６２及び１６４の形である２つの連続したロジック素子を含み、それらの出力がロジックセル１１０ｂの出力ＱＺ及びＱ２Ｚとして供給される。なお、前記米国特許に言及することをもって本明細書の一部とする。レジスタ１６２及び１６４は、クロック（ＱＣ）入力、セット（ＱＳ）入力、及びリセット（ＱＲ）入力を共用する。追加のマルチプレクサ１６０を用いて、レジスタ１６４に対する入力データを供給し、一方、レジスタ１６２に対する入力データはマルチプレクサ１５８から供給される。マルチプレクサ１６０には、マルチプレクサ１５８に対する入力でもあるマルチプレクサ１５４からのＮＺ出力が入力されるか或いは専用の入力ＰＳから直接入力され、専用の入力ＰＰによって選択される。
【００２３】
ＡＮＤゲート１４０は６つの入力を受け取るが、その内の３つが実際の入力Ａ１、Ａ３、及びＡ５であり、残りの３つが相補入力Ａ２、Ａ４、及びＡ６である。ＡＮＤゲート１４２の出力端子は、ロジックセル１１０ｂの出力端子ＡＺであり、２：１マルチプレクサ１４８のデータ入力である。マルチプレクサ１４８への他のデータ入力が専用の入力ＯＰによってドライブされる。
【００２４】
２つの６入力ＡＮＤゲート１４２はまた、３つの実際の入力Ｆ１、Ｆ２、及びＦ３と、相補入力Ｆ２、Ｆ４、及びＦ６を受け取る。ＡＮＤゲート１４２の出力端子は、ロジックセル１１０ｂの出力端子ＦＺであり、２：１マルチプレクサ１５２及び２：１マルチプレクサ１５６のデータ入力である。マルチプレクサ１５２及び１５６のその他のデータ入力はそれぞれ、専用の入力ＭＳ及びＮＳである。マルチプレクサ１５２及び１５６はそれぞれ、専用の入力ＭＰ及びＮＰによって制御されている。
【００２５】
ＡＮＤゲート１４４は、実際の入力Ｂ１及び相補入力Ｂ２を受け取り、その出力を２：１マルチプレクサ１５０のデータ入力に供給する。ＡＮＤゲート１４５は、実際の入力Ｃ１及び相補入力Ｃ２を受け取り、その出力を２：１マルチプレクサ１５０のその他のデータ入力に供給する。同様に、ＡＮＤゲート１４６は、実際の入力Ｄ１及び相補入力Ｄ２を受け取り、その出力を２：１マルチプレクサ１５４のデータ入力に供給する。ＡＮＤゲート１４７は、実際の入力Ｅ１及び相補入力Ｅ２を受け取り、その出力を２：１マルチプレクサ１５４のその他のデータ入力に供給する。
【００２６】
マルチプレクサ１５０の選択端子が、マルチプレクサ１５２の出力によってドライブされ、一方、マルチプレクサ１５４の選択端子はマルチプレクサ１５６の出力によってドライブされる。
【００２７】
マルチプレクサ１５０及び１５４の出力は、２：１マルチプレクサ１５８のデータ入力として受け取られる。マルチプレクサ１５８の選択入力は、マルチプレクサ１４８の出力によってドライブされる。
【００２８】
従って、ロジックセル１１０ｂは、３１の１入力端子（レジスタ制御ラインを含む）を有し、最大１７までの同時入力の広い範囲に対応する。ロジックセル１１０ｂは６の出力を有し、その内の４つは組み合わせであり、残りの２つはレジスタされたものである。ロジックセル１１０ｂの高い論理容量及び論理入力数により、１レベルの論理遅延で多くのユーザ機能を実現するため、２或いはそれ以上のレベルの遅延を必要とする従来のロジックセルと比べ高性能である。
【００２９】
有利なことに、グローバルクロックバスを用いて、クロックがＡＮＤゲート１４０の例えばＡ１などの実際の入力及びＡＮＤゲート１４２の例えばＦ２などの相補入力をドライブして、ＡＮＤゲート１４０及び１４２の両方をドライブする。図３に示されているように、クロックバス１２２ａ及び１２２ｂを、グループ１２３ａ、１２３ｂまたは１２５ａ、１２５ｂにおけるアンチヒューズの１つをプログラムして、ロジックセル１１０ａ及び１１０ｂのＡ１及びＦ２入力に接続することができる。クロックバス上のキャパシタンスを減少させるために、ＡＮＤゲート１４０及び１４２の残っている入力端子をクロックバスに接続できないようにする。従って、ロジックセル１１０ａ及び１１０ｂは、クロックの実際の入力及び／または相補入力に対して論理関数を実行できる。
【００３０】
図５は、２つのロジックモジュール１８０及び１８２の簡略化した線図である。ロジックモジュール１８０及び１８２はそれぞれ、ロジックセル１８１及び１８３を含み、これらのロジックセルには、例えば図４を参照して説明したロジックセル１１０ｂを用いることができる。しかしながら、ロジックモジュール１８０及び１８２の出力端子（簡潔化するために２つしか示していない）は、ドライバ１８４−１８７に接続されている。ドライバ１８４−１８７は、プログラム可能な相互接続構造１８８に接続されている。アンチヒューズプログラミング時に、高電圧により低電圧ロジックトランジスタであるドライバ１８４−１８７が故障するのを保護するために、ドライバは通常、プログラミング時にのみ電流が流れない保護トランジスタを含む。
【００３１】
図６は従来のドライバ１９０の詳細な線図である。ドライバ１９０は、Ｐチャネル低電圧ロジックトランジスタ１９２及びＮチャネル低電圧ロジックトランジスタ１９４を有するインバータ１９１と、比較的大きい高電圧Ｎチャネル保護トランジスタ１９６と、比較的小さい高電圧Ｎチャネル保護トランジスタ１９８とを含む。保護トランジスタ１９６のゲートは、通常の動作時には、例えば５．０ＶのＶｃｃに接続され、プログラミング時には、例えば０Ｖの接地電位に接続されて、アンチヒューズプログラミング時に図５のプログラム可能な相互接続構造１８８に存在し得る高いプログラミング電圧からインバータ１９１が隔離される。保護トランジスタ１９８のゲートは、通常の動作時には、例えば７．８Ｖである電荷ポンプ電圧Ｖｃｐに接続され、プログラミング時にはインバータ１９１を隔離するために接地電位に接続される。ゲートにＶｃｃよりも高い電荷ポンプ電圧Ｖｃｐが供給される保護トランジスタ１９８が、インバータ１９１がプログラム可能な相互接続構造１８８をドライブするために必要な電流をＶｃｃで供給できるように設けられる（そのゲートに高電圧Ｖｃｐが供給されるため、しきい値電圧がトランジスタ１９８の前後で低下しない）。ドライバ１９０の更なる詳細については、２０００年２月２２日に付与されたWong他による米国特許第６，０２８，４４４号（名称、「Three-Statable net Driver For Antifuse Field Programmable Gate Array」）を参照されたい。またこの特許に言及することをもって本明細書の一部とする。
【００３２】
図７は、インバータ１９１の出力端子（ＯＵＴＰＵＴ）における電圧および保護トランジスタ１９８のゲートにおける高電圧ノード（ＨＶ  ＮＯＤＥ）の波形を示す。図７から分かるように、インバータ１９１が論理「Ｈｉｇｈ」から論理「Ｌｏｗ」に切り替わると、保護トランジスタ１９８のゲート電圧がプルダウンされる。保護トランジスタ１９８に電荷ポンプ電圧Ｖｃｐを供給する電荷ポンプは、デバイス内の多くのインバータによって共用される。従って、多数のインバータが同時に論理「Ｈｉｇｈ」から論理「Ｌｏｗ」に切り替わると、保護トランジスタ１９８のゲートにおける電荷ポンプ電圧Ｖｃｐが極端にプルダウンされて保護トランジスタ１９８の性能に影響を与える可能性がある。図７に示されているように、ＨＶ  ＮＯＤＥにおける電圧は、出力信号が論理「Ｌｏｗ」である限り、一定の時間ゆっくりと上昇する。
【００３３】
図８は、本発明の一実施例に従ったドライバ２００の詳細な線図を示す。図８に示されているように、ドライバ２００は、Ｐチャネル低電圧ロジックトランジスタ２０４とＮチャネル低電圧ロジックトランジスタ２０６を含むインバータ２０２を含む。ドライバ２００はまた、比較的大きい、例えば２１．７／０．３５高電圧Ｎチャネル保護トランジスタ２０８と、図５の保護トランジスタ２０８のゲートに接続された二次電荷ポンプ２１０とを含む。保護トランジスタ２０８のゲートはまた、２．５Ｖの通常の動作中には、例えば４Ｖの電圧Ｖｃｐを生成し、アンチヒューズプログラミング時には、プログラム可能な相互接続構造１８８に存在し得る高いプログラミング電圧からインバータ２０２を隔離するために接地電位、例えば０Ｖに接続される従来の電荷ポンプ２０７に接続されている。有利なことに、ドライバ２００に関連する二次電荷ポンプ２１０により、保護トランジスタ２０８のゲート電圧が極端にプルダウンされるのが防止される。従って、ドライバ２００の出力は、同時に論理「Ｈｉｇｈ」から論理「Ｌｏｗ」に切り替えられ得る電荷ポンプに接続されたいくつかの他のドライバに対して比較的変動しない。更に、ドライバ２００に必要なダイ領域は、従来のドライバに必要な領域よりも小さい。
【００３４】
図９は、インバータ２０２の出力端子（ＯＵＴＰＵＴ）における電圧および保護トランジスタ２０８のゲートにおける高電圧ノード（ＨＶ  ＮＯＤＥ）の波形を示す。ドライバ２００が二次電荷ポンプ２１０を含むため、インバータ２０２が論理「Ｈｉｇｈ」から論理「Ｌｏｗ」に切り替わっても、保護トランジスタ２０８のゲート電圧が極端にはプルダウンされない。
【００３５】
図１０は、本発明の一実施例に従った入出力（Ｉ／Ｏ）回路２５０を示す。Ｉ／Ｏ回路２５０は、図１および図２に示されている各Ｉ／Ｏセル１０６として用いることができる。Ｉ／Ｏ回路２５０は、入力レジスタ２５２、出力レジスタ２５４、および出力イネーブルレジスタ２５６を含み、これにより有利なことに、入力、出力、二方向動作のためにＩ／Ｏ回路２５０をプログラムすることが可能となる。Ｉ／Ｏ回路２５０は、電源バスおよび配線リソース２６８に接続されているＩ／Ｏ制御ライン２６２、グローバルクロックライン２６４、電源バスに接続されているｔｉｅｈｉおよびｔｉｅｌｏライン２６６、および配線リソース２６８を含むプログラム可能な相互接続構造２６０に接続することができる。図示されているように、レジスタ２５２、２５４、および２５６は、クロック信号およびリセット信号によって制御され、レジスタ２５２および２５６もクロックイネーブルによって制御される。クロック信号、クロックイネーブル信号、およびリセット信号は、配線リソース２６８により、グローバルクロック２６４、Ｉ／Ｏ制御ライン２６２、またはｔｉｅｈｉまたはｔｉｅｌｏライン２６６の１つから供給され得る。クロック信号およびリセット信号は１本のラインを共用し、一方、レジスタ２５２および２５６をイネーブルするクロックは単独で制御され得る。レジスタ２５２、２５４、および２５６は、２：１マルチプレクサ２５８を介して配線クロックＨＷＣＫＬによって制御され得る。
【００３６】
Ｉ／Ｏ回路２５０は、２：１マルチプレクサ２７２を介して入力レジスタ２５２のデータ入力端子に接続されているパッド２７０を含む。差動トランスレータ（differential translator）２７３が、マルチプレクサ２７２のその他のデータ端子に接続されている。マルチプレクサ２７２の出力端子は、バッファ２７４を介してプログラム可能な相互接続構造２６０の配線リソース２６８に直接接続することが可能である。マルチプレクサ２７２の選択端子は、ｔｉｅｈｉおよびｔｉｅｌｏのライン２６６の何れか一方によってドライブされる。入力レジスタ２５２のイネーブル端子は、Ｉ／Ｏ制御ライン２６２、グローバルクロック２６４、ｔｉｅｈｉおよびｔｉｅｌｏライン２６６、または配線リソース２６８によってプログラム可能に制御され得る。同様に、入力レジスタ２５２のリセット端子は、ＯＲゲート２７６を介してプログラム可能な相互接続構造２６０によってプログラム可能に制御され得る。ＯＲゲート２７６において、ＯＲゲート２７６に対する第２の入力端子が、電源リセット時に用いられるグローバルリセット（ＧＲＳＴ）に接続されている。入力レジスタ２５２の出力端子は、バッファ２７８を介して配線リソース２７８に接続されている。
【００３７】
入力機能の場合は、Ｉ／Ｏ回路２５０は、ロジックアレイに対して組み合わせデータまたはレジスタされたデータ、或いはそれらの両方を同時に供給することができる。組み合わせ入力動作の場合は、データが、Ｉ／Ｏパッド２７０からマルチプレクサ２７２及び入力バッファ２７４を介して配線リソース２６８によって目的のロジックアレイに配線される。レジスタされた入力動作の場合は、データがＩ／Ｏパッド２７０から入力レジスタ２５２のＤ入力に配線され、内部ロジックセルリソースを消費することなくデータの受け取りが可能となる。
【００３８】
出力レジスタ２５４のデータ端子は、配線リソース２６８およびｔｉｅｈｉおよびｔｉｅｌｏライン２６６にプログラム可能に接続され得る。出力レジスタ２５４のリセット端子は、ＯＲゲート２７６に接続されている。出力レジスタ２５４の出力端子は、２：１マルチプレクサ２８０のデータ端子に接続され、バッファ２８２を介して配線リソース２６８にもフィードバックされる。２：１マルチプレクサ２８０の別のデータ端子は、出力レジスタ２５４のデータ端子に接続されている。マルチプレクサ２８０の選択端子は、ｔｉｅｈｉおよびｔｉｅｌｏライン２６６の何れか一方によってプログラム可能にドライブされる。マルチプレクサ２８０の出力端子は、３状態出力バッファ２８４に接続されている。バッファ２８４のスリューは、バッファ２８４をｔｉｅｈｉおよびｔｉｅｌｏライン２６６の何れか一方に接続してプログラム可能に制御され得る。これについては、以降に詳述する。
【００３９】
従って、有利なことに、出力機能の場合は、Ｉ／Ｏパッド２７０は、組み合わせデータまたはレジスタされたデータを配線リソース２６８を介してロジックアレイから受け取ることができる。組み合わせ出力動作の場合、データは、ロジックアレイから配線リソース２６８、マルチプレクサ２８０およびバッファ２８４を介してＩ／Ｏパッド２７０に配線される。レジスタされた出力動作の場合、論理は、ロジックアレイから出力レジスタ２５４のＤ入力に配線され、それによりマルチプレクサ２８０およびバッファ２８４を介してＩ／Ｏパッド２７０がドライブされる。出力レジスタ２５４を追加することにより、クロックからアウト（ＴＣＯ）への時間が短くなる。更に、出力レジスタ２５４が配線をドライブしないため、３状態インバータおよび１つの反転を出力経路から排除することができ、経路の長さが、配線がロジックアレイのマクロセルに基づく前の実施例に比べ短くなる。
【００４０】
出力イネーブルレジスタ２５６のデータ端子が、配線リソース２６８およびｔｉｅｈｉおよびｔｉｅｌｏライン２６６にプログラム可能に接続可能である。出力イネーブルレジスタ２５６のイネーブル端子は、プログラム可能な相互接続構造２６０にプログラム可能に接続され、一方、リセット端子はＯＲゲート２７６に接続され得る。出力イネーブルレジスタ２５６の出力端子は、２：１マルチプレクサ２８６のデータ端子の一方に接続されている。マルチプレクサ２８６の別のデータ端子は、出力イネーブルレジスタ２５６のデータ端子に接続され、一方、選択端子はｔｉｅｈｉおよびｔｉｅｌｏライン２６６の何れか一方によってプログラム可能に制御される。マルチプレクサ２８６の出力端子は、バッファ２８４のイネーブル端子に接続され、バッファ２８４をイネーブルまたはディスエーブルするために用いられる。
【００４１】
従って、３状態出力バッファ２８４が、ロジックアレイからＩ／Ｏパッド２７０へのデータの流れを制御することにより、Ｉ／Ｏパッド２７０が入力端子および／または出力端子として働くようになる。バッファ２８４のイネーブル出力は、ロジックセルアレイまたは任意のパッド（通常の配線リソースを介して）によって独立して制御するか、或いはグローバルネットワークの１つを介してバンク制御され得る。バッファ２８４の制御信号は、組み合わせ信号またはレジスタされた信号の何れかとすることができる。組み合わせ制御動作の場合、データは、ロジックアレイから配線リソース２６８およびマルチプレクサ２８６を介して３状態出力バッファ２８４に配線される。レジスタされた制御動作の場合、データは、出力イネーブルレジスタ２５６のＤ入力をドライブするべく配線され、マルチプレクサ２８６を介して３状態出力バッファ２８４がドライブされる。
【００４２】
弱いプルダウンレジスタ２８８がパッド２７０に接続されている。プルダウンレジスタ２８８のゲートは、ｔｉｅｈｉおよびｔｉｅｌｏライン２６６の一方にプログラム可能に接続されている。弱いプルダウンレジスタ２８８を使用することにより、Ｉ／Ｏ回路のために外部プルダウンレジスタを用いる必要がなくなる。従って、出力関数のために、Ｉ／Ｏパッド２７０を、アクティブ「ＨＩＧＨ」、アクティブ「ＬＯＷ」、またはオープン−ドレイン反転動作に対応するように設計することができる。アクティブ「ＨＩＧＨ」およびアクティブ「ＬＯＷ」モードでは、パッドは３．３Ｖで十分である。Ｉ／Ｏパッド２７０が出力として用いられない場合、出力イネーブル制御が永久的にディスエーブルのままにでき、出力レジスタ２５４を、バッファ２８２を介するロジックアレイへのレジスタフィードバックに用いて全レジスタカウントを増加させることが可能となる。
【００４３】
更に、本発明に従ったプログラム可能なデバイスは、ＪＴＡＧ標準（JTAG---IEEE Standard 1149.1）の境界スキャンレジスタとして、入力レジスタ２５２、出力レジスタ２５４、および出力イネーブルレジスタ２５６を用いる境界スキャン回路を含み、これにより、有利なことにＪＴＡＧ標準を実現するために必要な集積回路上の領域を減少させることができる。図１１は、Ｉ／Ｏ回路２５０のより詳細な模式図を示す。図１１に示されているテストリセットバー（ｔｒｓｔｂ）は、Ｉ／Ｏ回路レジスタ２５２、２５４、および２５６がＪＴＡＧテストに用いられているか、或いは通常のＩ／Ｏ回路目的に用いられているかを検査する。前のセルからの入力端子（ｆｐｃ入力端子）が、Ｉ／Ｏ回路２５０をＪＴＡＧ検査に用いられた前のＩ／Ｏセルと接続し、一方、次のセルの出力端子（ｔｎｃ出力端子）が、Ｉ／Ｏ回路２５０をＪＴＡＧ検査に用いられる次のＩ／Ｏセルと接続する。従って、Ｉ／Ｏ回路２５０の入力レジスタ２５２、出力レジスタ２５４、および出力イネーブルレジスタ２５６が、ＪＴＡＧ回路で共用される。ＪＴＡＧ境界スキャンの実現および動作は、当分野では周知である。
【００４４】
図１２は、本発明の一実施例に従った、８個のＩ／Ｏバンク３０１−３０８を備えたＦＰＧＡ１００の模式図である。各Ｉ／Ｏバンクは他のＩ／Ｏバンクから独立していて、個別のＶＣＣＩＯおよびＶＲＥＦ入力を有する。各Ｉ／Ｏバンクは、例えば図１０に示されているＩ／Ｏ回路２５０などの５５〜１４４の複数のＩ／Ｏ回路を含み得る。図１２に示されているように、各Ｉ／Ｏバンクは、ＦＰＧＡ１００の１／４区分１００Ａ、１００Ｂ、１００Ｃ、および１００Ｄに対応する。
【００４５】
本発明の別の実施例に従えば、図１０の差動トランスレータ２７３およびマルチプレクサ２７２、Ｉ／Ｏバンクに関連する図１２のＶＣＣＩＯを、例えばＣＭＯＳおよび差動標準などの多数のＩ／Ｏ標準に適合したプログラム可能なコントロールＩ／Ｏ回路２５０に用いることができる。Ｉ／Ｏ回路２５０が配置されているバンクのためのＶＣＣＩＯパッドは、３．３Ｖまたは２．５Ｖの供給電圧に接続され得る。従って、Ｉ／Ｏ仕様は、ＶＣＣＩＯ電圧を変える、即ち２．５Ｖまたは３．３Ｖの何れかに設計できる。更に、Ｉ／Ｏ標準は、例えば１．０Ｖ、１．２５Ｖ、または１．５Ｖに変えることができるＩ／Ｏ回路が配置されたバンクのための基準電圧ＶＲＥＦによって構成できる。Ｉ／Ｏ標準はまた、データ信号を差動トランスレータ２７３から或いはパッド２７０から直接受け取るかを選択するために用いられるマルチプレクサ２７２の選択端子を用いて構成することが可能である。下表１は、Ｉ／Ｏ回路２５０によってサポートされ得るＩ／Ｏ仕様の一覧である。
【００４６】
【表１】
0004394128.tif 000002
バンク内の各Ｉ／Ｏ回路は同じ供給電圧に接続されているため、１つのバンク内の全てのＩ／Ｏ回路は、同じ出力電圧、すなわち２．５Ｖまたは３．３Ｖを有する。更に、差動標準および非差動標準の両方は、Ｉ／Ｏ回路の１つのバンク内でサポートされ得る。例えば、１つのＩ／Ｏ回路は、マルチプレクサ２７２の好適な選択により差動トランスレータ２７３を用い、一方、同一バンク内の別のＩ／Ｏ回路は、パッド２７０から直接データを受け取り得る。しかしながら、１つのバンクには１つの基準電圧しか供給されていないため、異なった差動標準を１つのバンク内でサポートできない。
【００４７】
図１０に示されているように、Ｉ／Ｏ回路の各バンクは、２つのＩ／Ｏ制御入力のみのパッド２９２および２９４を含む。Ｉ／Ｏ制御入力パッド２９２および２９４は、レジスタ２５２、２５４、および２５６のリセット入力、クロック入力、およびイネーブル入力をドライブするようにプログラムすることが可能である。更に、入力パッド２９２および２９４をＦＰＧＡに対する高ドライブ入力として用いることが可能である。例えば、ＦＰＧＡ１００のローカル１／４区分１００Ａ、１００Ｂ、１００Ｃ、または１００Ｄ内のマクロセルに直接接続することが可能である。
【００４８】
図１３は、４つのＩ／Ｏ回路２５０を備えたＦＰＧＡ１００の１／４区分１００Ａの上面図である。図１３に示されているように、Ｉ／Ｏ制御入力パッド２９２および２９４は、バンク内のあらゆる目的のＩ／Ｏ回路２５０、並びに図３を参照して説明したマクロセル１０２に類似し得る任意のマクロセル２９６にプログラム可能に接続され得る。Ｉ／Ｏ制御入力パッド２９２および２９４は、マクロセルアレイを介して配線される。図１３は、図２に示されているシフトレジスタセル１０９が可能であるシフトレジスタセル２９８へのＩ／Ｏ制御入力パッドの配線を示す。しかしながら、Ｉ／Ｏ制御入力パッドの配線は必ずしもシフトレジスタセル２９８に接続しなくても良いことを理解されたい。
【００４９】
図１４Ａおよび図１４Ｂはそれぞれ、ＦＰＧＡ１００において左から右および右から左に延びるＩ／Ｏ制御入力パッド２９２および２９４からの水平方向の配線を示す。図１３に類似し、Ｉ／Ｏ制御入力パッド２９２および２９４の水平方向の配線がシフトレジスタセル２９８上に示されているが、Ｉ／Ｏ制御入力パッド２９２および２９４の配線にシフトレジスタセル２９８に接続しなくてもよいことを理解されたい。例えば、図１４Ａは、ＦＰＧＡ１００の１／４区分１００Ａ内に水平方向に延在するシフトレジスタセル２９８が示されている。各シフトレジスタセル２９８は、１／４区分内において第１の列から第３６の列まで延在するマクロセルの列と整合している。もちろん、１／４区分内に任意の数のマクロセルの列を設けることができる。それぞれの列のロジック内において、Ｉ／Ｏ制御入力パッド２９２および２９４からの水平方向の配線が、その数が例えば１２である垂直方向の４本線（QUADS）およびその数が例えば２である垂直方向の高速線（vertical express line:VEXPS）にプログラム可能に接続され得る。図１４Ｂは、図１４Ａに実質的に類似しているが、ＦＰＧＡ１００の１／４区分１００Ｂ内のシフトレジスタセル２９８を示している。従って図１４Ａの鏡像である。
【００５０】
図１５Ａおよび図１５Ｂはそれぞれ、ＦＰＧＡ１００において上から下および下から上に延在するＩ／Ｏ制御入力パッド２９２および２９４からの垂直方向の配線を示す。図１４Ａおよび図１４Ｂに類似し、Ｉ／Ｏ制御入力パッド２９２および２９４の垂直配線がシフトレジスタセル２９８上に示されているが、Ｉ／Ｏ制御入力パッド２９２および２９４の垂直配線がシフトレジスタセル２９８に接続しなくてもよいことを理解されたい。例えば、図１５Ａは、ＦＰＧＡ１００の１／４区分１００Ａ内において垂直方向に延在するシフトレジスタセル２９８を示す。図１５Ａに示されているように、第１のシフトレジスタセル２９８内において、Ｉ／Ｏ制御入力パッド２９２および２９４からの垂直配線が、その数が例えば２４である追加の水平方向のバス４本線にプログラム可能に接続可能である。次のシフトレジスタセル２９８は、図２に示されているＲＡＭブロック１０７と整合し、例えばその数が１７の大きなグループの４本線、およびその数が例えば６の小さなグループの4本線に接続され得る。別の組み込み回路１０８が存在する場合は、同じシフトレジスタセルを組み込み回路１０８と別のグループの４本線例えば１８の４本線で整合させることができる。次のシフトレジスタセル２９８は、１／４区分内において第１から第２８のマクロセルの列と整合させる。もちろん、１／４区分内には任意の数のマクロセルの列を設けることが可能である。各シフトレジスタセル２９８内において、Ｉ／Ｏ制御入力パッド２９２および２９４からの垂直線は、例えば、２つの６から成るグループの垂直４本線にプログラム可能に接続可能である。図１５Ｂは図１５Ａに実質的に類似しているが、ＦＰＧＡ１００の１／４区分１００Ｄ内のシフトレジスタセル２９８を示すため、図１５Ｂが第２の組み込み回路１０８を含まないという点を除けば図１５Ａの鏡像である。更に、１／４区分１００Ｄにおける複数の追加の水平バス４本線は、１／４区分１００Ａの４本線の数より少なくすることも可能である。例えば、図１５Ｂは７の追加の水平バス４本線を示す。
【００５１】
本発明の別の実施例に従えば、Ｉ／Ｏ回路２５０はプログラム可能な出力スルーレートを有する。遅いスルーレートは、例えば、バッファ２８４をｔｉｅｈｉに接続して達成し得る。例えば、３．３ＶのＶＣＣＩＯに対して１．０Ｖ／ｎｓ、および２．５ＶのＶＣＣＩＯに対して０．６Ｖ／ｎｓの遅いスルーレートを用いて、好都合にノイズを低減することができる。出力バッファ２８４をｔｉｅｌｏｗに接続して達成する速いスルーレートは、３．３ＶのＶＣＣＩＯに対して約２．８Ｖ／ｎｓおよび２．５ＶのＶＣＣＩＯに対して１．７Ｖ／ｎｓの立ち上がりエッジスルーレートを達成できる。
【００５２】
図１６は、可変出力スルーレートが可能な３状態出力バッファ２８４の模式図を示す。出力バッファ２８４は，ｔｉｅｈｉおよびｔｉｅｌｏｗライン２６６の一方からのスルーレート制御信号およびイネーブルバー（ｅｎｂ）信号を受け取るＮＯＲ論理ゲート３３０を含む。出力バッファ２８４は、出力端子（ｐ）を備えた第１のインバータ３３２および出力端子（ｎ）を備えた第２のインバータ３３６によって受け取られる端子（ｉｎ）上の入力信号を受け取る。出力バッファ２８４は、ＰＭＯＳトランジスタ３３１およびＮＭＯＳトランジスタ３３５をそれぞれイネーブル（ｅｎ）信号およびイネーブルバー（ｅｎｂ）信号により導通させてディスエーブルすることが可能である。出力バッファ２８４がイネーブルされると、インバータ３３２および３３６のスルーが、ＮＯＲ論理ゲート３３０からの出力信号によって制御される。図１６に示されているように、インバータ３３２は、大きいＮＭＯＳトランジスタ３３３および比較的小さいＮＭＯＳトランジスタ３３４を介してグラウンドに接続されている。遅いスルーレートが望ましい場合、小さいトランジスタ３３４を導通させて抵抗要素として作用させ、大きいトランジスタ３３３をＮＯＲ論理ゲート３３０によって遮断する。従って、インバータ３３２の高から低への移行のスルーレートが遅くなる。しかしながら、速いスルーレートが望ましい場合は、大きいトランジスタ３３３を導通させて、インバータ３３２の高から低への速い移行を可能にする。
【００５３】
同様に、インバータ３３６は、大きいＰＭＯＳトランジスタ３３７および比較的小さいＰＭＯＳトランジスタ３３８を介してＶｃｃに接続されている。遅いスルーレートが望ましい場合は、小さいトランジスタ３３８を導通させて抵抗要素として作用させ、ＮＯＲ論理ゲート３３０からの反転出力信号を介して大きいトランジスタ３３８を遮断する。従って、インバータ３３６の低から高への移行のスルーレートが遅くなる。しかしながら、速いスルーレートが望ましい場合は、大きいトランジスタ３３７を導通させて、インバータ３３６の低から高への移行を速くすることが可能である。
【００５４】
アンチヒューズをプログラムするためのＦＰＧＡ１００のプログラミングアーキテクチャは、アンチヒューズとプログラミング電圧との間およびアンチヒューズとグラウンドとの間に複数のトランジスタを含む。アンチヒューズは、プログラミング電圧をアンチヒューズに印加するべくプログラミングトランジスタを導通させてプログラミングすなわち導通される。
【００５５】
図１７は、導線３５３および３５４接続するために用いられるアンチヒューズ３５２をプログラムするために用いられる従来のプログラム可能なアーキテクチャ３５０の例を示す。図１７に示されているように、従来のプログラミングアーキテクチャはＮＭＯＳプログラミング回路を用いる。従って、プログラミングアーキテクチャ３５０は、プログラミング高電圧源Ｖｐｐに接続されたＮＭＯＳＶｐｐ選択トランジスタ３５６、ＮＭＯＳシフトレジスタトランジスタ３５８、およびアンチヒューズ３５２に接続されたローカルプログラミングＮＭＯＳトランジスタ３６０を含み、それぞれが直列に接続されている。アンチヒューズ３５２はまた、第２のローカルプログラムＮＭＯＳトランジスタ３６２、第２のＮＭＯＳシフトレジスタトランジスタ３６４、およびＮＭＯＳグラウンド選択トランジスタ３６６を介して低電圧源、例えばグラウンドに接続されている。０．３５μテクノロジーの場合、プログラミング電圧Ｖｐｐは約１０．５Ｖである。図示しない高電圧電荷ポンプを用いて、プログラミングアーキテクチャ３５０のＮＭＯＳトランジスタのゲートに、例えば１２Ｖが可能である電圧ｈｌｇを供給する。プログラミングの間、ＮＭＯＳプログラミング回路は、プログラミング電圧ＶｐｐをＮＭＯＳトランジスタを介して印加するために、プログラミング電圧Ｖｐｐよりも高い電位であるゲート電圧ｈｌｇが必要である。
【００５６】
本発明の一実施例に従えば、ＦＰＧＡ１００のプログラミングアーキテクチャ３７０は、図１８に示すようなＣＭＯＳプログラミング回路を用いる。ＦＰＧＡ１００のプログラミングアーキテクチャ３７０は、プログラミング電圧Ｖｐｐ選択ＮＭＯＳトランジスタ３７２ａおよびＰＭＯＳトランジスタ３７２ｂ、ＮＭＯＳシフトレジスタトランジスタ３７４ａおよびＰＭＯＳシフトレジスタトランジスタ３７４ｂ、およびアンチヒューズ３７１に接続されたローカルプログラミングＮＭＯＳトランジスタ３７６ａおよびＰＭＯＳトランジスタ３７６ｂを含む。アンチヒューズ３７１により導体３７３と導体３７５とが接続される。アンチヒューズ３７１はまた、第２のローカルプログラムＮＭＯＳトランジスタ３７８ａおよびＰＭＯＳトランジスタ３７８ｂ、第２のＮＭＯＳシフトレジスタトランジスタ３８０ａおよびＰＭＯＳシフトレジスタトランジスタ３８０ｂ、およびＮＭＯＳグラウンド選択トランジスタ３８２を介して、例えばグラウンドなどの低電圧源に接続されている。有利なことに、図１８に示されているようにＮＭＯＳトランジスタと平行にＰＭＯＳトランジスタを用いると、プログラミング回路に電荷ポンプが必要でなくなる。ＮＭＯＳトランジスタのゲートは、ＣＭＯＳ回路によってドライブされ、プログラミング中はＶｐｐと概ね同じ電圧ｈｌｇを有する。ＰＭＯＳトランジスタのゲートは、ＮＭＯＳトランジスタのゲートの反対であり、プログラミング中はグラウンド／ｈｌｇである。有利なことに、ＣＭＯＳプログラミングアーキテクチャを用いると、ＰＭＯＳトランジスタにより、例えば７．５Ｖが可能である低いプログラミング電圧Ｖｐｐ、および例えば８ＶであるＮＭＯＳトランジスタの低いゲート電圧が可能となる。これは、ダイオード降伏なくして高いゲート電圧をサポートできない０．２５μテクノロジーを使用する場合に特に重要である。従って、プログラミングアーキテクチャ３７０を用いると、アンチヒューズ３７１は十分に高いプログラミング電圧を受け取ることができる。
【００５７】
図１９Ａは、本発明の別の実施例に従ったプログラミングシフトレジスタの構造を例示する線図である。図１９Ａは、例えば図２に示すＦＰＧＡ１００が可能であるＦＰＧＡの中心に配置されたマクロセルのアレイ３９０を示している。ＦＰＧＡ１００は、それぞれの１／４区分に２つのプログラミングシフトレジスタを有するアレイ３９０内に配置された８個のプログラミングシフトレジスタ３９１−３９８を含む。１／４区分が４つのセクションに分割されるように、例えば垂直方向のプログラミングシフトレジスタ３９１および水平方向のプログラミングシフトレジスタ３９８が、例えば左上の１／４区分１００Ａである各１／４区分の概ね中心に配置されている。左上の１／４区分１００Ａに水平方向に延在するプログラミング導体をドライブするプログラミングドライバおよびプログラミングコントロール導体をドライブするプログラミングコントロールドライバが、プログラミングシフトレジスタ３９１の周辺に配置されている。同様に、アレイの左上の１／４区分１００Ａに垂直方向に延在するプログラミング導体をドライブするプログラミングドライバおよびプログラミングコントロール導体をドライブするプログラミングコントロールドライバが、プログラミングシフトレジスタ３９８に配置されている。残りのプログラミングドライバおよびプログラミングコントロールドライバも、同様に他のプログラミングシフトレジスタに配置されている。
【００５８】
それぞれのプログラミングシフトレジスタは、プログラミングシフトレジスタの周辺に配置されている個別のプログラミング電流マルチプレクサ回路に接続されている。従って、例えばプログラミングシフトレジスタ３９１は、プログラミング電流マルチプレクサ回路３９１Ａに接続されている。それぞれのプログラミング電流マルチプレクサ回路は、図示しないグラウンドバスを含む複数の電源バスの内の１本を関連するプログラミングシフトレジスタに接続するように制御されている。
【００５９】
それぞれのプログラミングドライバは、そのプログラミングシフトレジスタに１ビットを有する。このビットがセットされると、プログラミングドライバがそのプログラミング電流マルチプレクサ回路から印加された電圧でプログラミング導体をドライブするようにイネーブルされる。ビットがセットされない場合は、プログラミングドライバはそのプログラミング導体から遮断され、如何なる電圧でもそのプログラミング導体はドライブされない。同様に、それぞれのプログラミングコントロールドライバは、その関連するプログラミングシフトレジスタに１ビットを有する。このビットがセットされる場合は、このプログラミングコントロールドライバが、プログラミングトランジスタを導通するのに十分な高い電圧でそのプログラミングコントロール導体をドライブすることにより、このプログラミングトランジスタがプログラミング電圧をその関連する配線ワイヤに供給する。このビットがセットされない場合は、プログラミングコントロールドライバは、アサートしない電圧すなわちＰＭＯＳトランジスタに対しては高い電圧であって、ＮＭＯＳトランジスタに対しては低い電圧であってプログラミングトランジスタをオフにする電圧で、そのプログラミングコントロール導体をドライブする。
【００６０】
図１９Ａに示されているように、一実施例において、ＦＰＧＡ１００は、８本のプログラミング電源バス、それらに対応するピンＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、およびＨを含むため、ＦＰＧＡ１００は、８ビットのプログラミングが可能である。電源バスＣ、Ｄ、Ｅ、およびＦの４つは、アレイ３９０の２つの１／４区分に延びている。従って、例えば、電源バスＦは、右下の１／４区分１００Ｃの右側から左下の１／４区分１００Ｄの左側まで延在する。従って、電源バスＦは、プログラミングシフトレジスタ３９４−３９７に接続され得る。しかしながら、長寸の電源バスＡ、Ｂ、Ｇ、およびＨは３つの１／４区分の周囲に延びている。従って、例えば、電源バスＧは、右上１／４区分１００Ｂの上側から左下１／４区分１００Ｄの左側まで延在し、プログラミングシフトレジスタ３９２−３９７と接続され得る。従って、マルチプレクサ回路３９１Ａ−３９８Ａは、その関連するプログラミングシフトレジスタ３９１−３９８を５本の電源バスに接続し得る。しかしながら、一実施例では、５本の電源バスの内４本の電源バスのみをプログラミングシフトレジスタに接続することにより、設計の柔軟性をそれほど損なうことなく関連するマルチプレクサ回路の大きさを小さくすることが可能である。電源バスＡ−Ｈのプログラミング電圧ピンがＦＰＧＡ１００に設けられ、それにより各プログラミング電源バスがそれ自身のプログラミング電圧端子に接続され、グラウンドバスがグラウンド端子に接続されるようになっている。従って、プログラミングシフトレジスタにおけるイネーブルされたプログラミングドライバが、プログラミング電流マルチプレクサ回路をいかに制御するかによって、８つのプログラミング電圧端子か或いはグラウンド端子の一方から導通させる。
【００６１】
それぞれのプログラミングシフトレジスタの対が１／４区分を更に１／４に分割しているため、プログラミングシフトレジスタからプログラムされるアンチヒューズまでの距離が、プログラミングシフトレジスタがアレイ３９０の周辺に配置されている従来の設計と比べ短くなっている。従って、例えば、アンチヒューズ３９９Ａがプログラミングされる場合、高いプログラミング電圧がプログラミングシフトレジスタ３９８によって供給され、一方、グラウンド電圧がプログラミングシフトレジスタ３９１によって供給される。シフトレジスタ３９１および３９８からアンチヒューズ３９９Ａまでの距離は、シフトレジスタがマクロセルのアレイ３９０の外側に配置されている場合の約半分となる。幅の広い電源バスがプログラミングシフトレジスタ内に配置されていて、プログラミングシフトレジスタからアンチヒューズの間に幅の狭い導体が用いられるため、距離を短くすることは有利である。プログラミングシフトレジスタからプログラミングされるアンチヒューズまでの距離が短くなることにより、プログラミングされるそれぞれのアンチヒューズに十分な量のプログラミング電流が流れるようになる。
【００６２】
図１９Ｂは、シフトレジスタ３９１−３９８の動作を例示するＦＰＧＡ１００の模式的な線図である。それぞれのシフトレジスタは、図１９Ａに示されている電源バスＡ−Ｈに対応するＡ−Ｈが付された４種類の異なるプログラミング電圧を供給できる。それぞれのシフトレジスタの対が、ＦＰＧＡ１００におけるそれぞれの１／４区分を更に１／４に分割する。従って、例えば、シフトレジスタ３９１および３９８は、１／４区分１００Ａを４つに分割する。他の１／４区分１００Ｂ、１００Ｃ、および１００Ｄも同様に更に分割される。それぞれのシフトレジスタは、一方向に２つのプログラミング電圧の内の一方のプログラミング電圧を供給し、反対の方向に他方のプログラミング電圧を供給することができる。例えば、シフトレジスタ３９１は、プログラミング電圧Ａ或いはＣの何れかを１／４区分１００Ａの左側部分に水平方向に供給することができ、かつプログラミング電圧Ｄ或いはＨの何れかを１／４区分１００Ａの右側部分に水平方向に供給することができる。シフトレジスタ３９８は、プログラミング電圧Ａ或いはＢの何れかを１／４区分１００Ａの上側部分に垂直方向に供給することができ、かつプログラミング電圧ＣまたはＤの何れかを１／４区分１００Ａの下側部分に垂直方向に供給することができる。従って、１／４区分１００Ａの右下部分のアンチヒューズ３９９Ａは、シフトレジスタ３９８から垂直方向に延在するプログラミング電圧ＣまたはＤ、およびシフトレジスタ３９１から水平方向に延在するプログラミング電圧ＤまたはＨを用いてプログラミング可能である。同様に、１／４区分１００Ａの左上部分のアンチヒューズ３９９ｂは、シフトレジスタ３９８から垂直方向に延在するプログラミング電圧ＡまたはＢ、およびシフトレジスタ３９１から水平方向に延在するプログラミング電圧ＡまたはＣを用いてプログラム可能である。しかしながら、プログラミング電圧が１つのヒューズをプログラミングするために用いられる場合、同時に別のアンチヒューズをプログラミングするために用いることができない。従って、例えば、アンチヒューズ３９９ｂがプログラミング電圧ＡおよびＣを用いてプログラミングされる場合は、アンチヒューズ３９９ａはＤおよびＨのみを用いてプログラミングすることが可能である。従って、ＦＰＧＡ１００は、８ビットのプログラミングを用いてＦＰＧＡ内のアンチヒューズを効果的にプログラムすることができる。
【００６３】
図２０は、本発明の一実施例に従ったＦＰＧＡにおけるクロックの分配ネットワーク４００の模式的な線図である。クロック供給ネットワーク４００は、グローバルクロック信号を専用のクロックパッド４０２からＦＰＧＡの４つの異なる１／４区分４０４Ａ−４０４Ｄに供給する。パッド４０２は、バス４０７およびバッファ４０８を介して水平方向に延在する主クロックバス４０６に接続されている。クロックバス４０６は、４つの異なる１／４区分４０４Ａ−４０４Ｄに延びていて、バッファ４１５、４１７、４１９、および４２１、並びに垂直方向に延びているクロックバス４１４、４１６、４１８、および４２０を介して、水平方向に延びて二分するクロックバス４１０Ａ、４１０Ｂ、４１０Ｃ、および４１０Ｄに接続されている。水平方向に延びて二分するクロックバスは、複数の水平方向に延びたバス４２４およびバッファ４２６および４２８を介して複数のマクロセル４２２にプログラム可能に接続され得る。水平方向に延びた二分するクロックバス４１０Ａ、４１０Ｂ、４１０Ｃ、および４１０Ｄはそれぞれ、対応する１／４区分を概ね２分するため、概ね等しい数のマクロセルが二分バスの両側に存在する。従って、複数の垂直バス４２４が二分バスから一方向に延びており、複数の垂直バスが二分バスから別の方向に延びている。クロック供給ネットワーク４００により、任意のマクロセルを専用のクロックパッド４０２にプログラム可能に接続可能であることを理解できよう。ＦＰＧＡ内の全てのマクロセル４２２のクロックネットワーク４００に対する接続については、１９９９年４月６日に付与されたEaton他による米国特許第５，８９２，３７０号（名称、「Clock Network For Field Programmable Gate Array」）に詳細が記載されており、言及することをもって本明細書の一部とする。
【００６４】
クロック供給ネットワーク４００が、１／４区分４０４Ａ、４０４Ｂ、４０４Ｃ、および４０４Ｄのそれぞれを二分して延在する水平方向に延びたクロックバス４１０Ａ、４１０Ｂ、４１０Ｃ、および４１０Ｄを用いているため、好都合にもクロック信号スキューが最小化される。従って、例えば、水平方向に延びたクロックバス４１０Ａから最も遠いマクロセル４３０は、垂直方向に延びたクロックバス４１４に最も近いマクロセル４３２によって受け取られたクロック信号がわずかにスキューされたクロック信号を受け取る。一方、水平方向のクロックバスが１／４区分を略１／２に分割しないで、その代わりにそれぞれの垂直クロックバスが同じ方向に水平クロックバスから延びるように、１／４区分の下部に配置されている場合、水平方向のバスから最も遠いマクロセルは、水平バスに最も近いマクロセルによって受け取られるクロック信号と比べ比較的スキューの大きいクロック信号を受け取る。
【００６５】
図２１は、本発明の一実施例に従ったＤＬＬとして働く位相同期ループ（ＰＬＬ）４５２にプログラム可能に接続され得る専用のクロックネットワーク４５０を示す。ＰＬＬ４５２への同期されたクロック入力（ｓｃｌｋ）がパッド４５４に接続されており、一方、ＰＬＬ４５２のフィードバッククロック入力（ｆｃｌｋ）が垂直クロックバス４５６からクロック信号を受け取る。ＰＬＬ４５２を用いて信号を同期し、ＰＬＬ４５２の出力端子におけるクロック信号を生成する。ＰＬＬ４５２からの位相同期信号が、各１／４区分の２：１マルチプレクサ４５８によって受け取られる。マルチプレクサ４５８はまた、専用のクロックパッド４５４から専用のクロック信号を受け取る。それぞれのマルチプレクサ４５８の選択端子が、目的のクロック信号を選択するベくプログラムされている。従って、それぞれの１／４区分は、１／４区分のマクロセル（図２１には示さず）に対して位相同期クロック信号または直接クロック信号を供給するように個別にプログラム可能である。一実施例では、複数の位相同期ループ回路が、例えば、１つの１／４区分が専用クロックで多重化され、３つの１／４区分がグローバルクロックに接続されるようにＦＰＧＡに含めることも可能である。
【００６６】
図２２は、図２１のＰＬＬ４５２として用いることが可能な位相同期ループ５００の実施例である。図２２に示されているように、同期されたクロック入力（ｓｃｌｋ）が、プログラム可能な１／ｎ回路５０１によって受け取られる。この回路５０１により、例えば、同期されたクロック入力（ｓｃｌｋ）が、１／２回路５０４および１／４回路５０６を介して直接３：１マルチプレクサ５０２に受け取られる。マルチプレクサ５０２の選択端子が、アンチヒューズ５０８ａおよび５０８ｂによって示される目的のクロック入力を選択するようにプログラム可能である。マルチプレクサ５０２の選択端子は、例えば、ロジックセル１１０ｂ（図４）内のマルチプレクサまたはレジスタによって、或いはレジスタ、組み合わせロジック、ピン、ＲＡＭセルなどによって制御可能であることを理解されたい。
【００６７】
マルチプレクサ５０２の出力端子は、１／ｎ回路５０１に類似していて３：１マルチプレクサ５１２を含み得る別のプログラム可能な１／ｎ回路５１１を介してフィードバッククロック入力（ｆｃｌｋ）も受け取る位相検出器５１０によって受け取られる。マルチプレクサ５０２と同様に、マルチプレクサ５１２はフィードバッククロック入力信号を直接受け取るし、また１／２回路５１４および１／４回路５１６を介しても受け取る。マルチプレクサ５１２の選択端子は、アンチヒューズ５１８ａおよび５１８ｂによって示される目的のクロック入力を選択するべくプログラミング可能である。同様に、マルチプレクサ５１２の選択端子が、例えばロジックセル１１０ｂ（図４）内のマルチプレクサまたはレジスタによって、或いはレジスタ、組み合わせロジック、ピン、ＲＡＭセルなどによって制御可能であることを理解されたい。プログラム可能な１／ｎ回路５０１および５１１が、例えば、マルチプレクサ５０２および５１２、並びにそれらに対応する１／２回路および１／４回路を用いると、ＰＬＬ５００により入力周波数を４倍、２倍、１倍、０．５倍、および０．２５倍にと乗算および除算できる。
【００６８】
位相検出器５１０は、図２３に示されるような２型３次フィルタが可能であるフィルタ５２０に対してエラー信号を供給する。図２３に示されているように、フィルタ５２０は、第２の抵抗５２２が追加されたローパスフィルタである。従来、２型３次フィルタはグラウンドに対する２次コンデンサを含むが、フィルタ５２０のグラウンドに対する２次コンデンサ５２４は、破線で示されているように寄生コンデンサである。
【００６９】
フィルタ５２０は、電圧制御発振器ＶＣＯ５２６に接続されている。ＶＣＯ５２６は、有利なことにＦＰＧＡのユーザに幅広いオプションを提供する広範な周波数を実現する３段差動ＶＣＯ（three stage differential VCO）とすることができる。図２４は、ＶＣＯ５２６のダイナミックレンジを例示する周波数に対する電圧のグラフ５２８である。比較のために、ＶＣＯの従来の範囲を例示する周波数に対する電圧のグラフ５３０を図２５に示す。図２５から分かるように、従来のＶＣＯは電圧の変化が大きく周波数の変化が小さい。一方、図２４から分かるように、本発明に従えば、電圧の大きな変化によりＶＣＯ５２６の周波数が比較的大きく変化する。これは、広い周波数範囲を提供するのに特に有利である。
【００７０】
図２６は、ＶＣＯ５２６の実施例を示す模式的な線図である。図２６に示されているように、ＶＣＯ５２６は、３つの差動段５３２、５３４、および５３６、並びに出力段５３８を有する。３つの差動段５３２、５３４、および５３６は、第３の差動段５３６におけるリセット回路がわずかに異なる点を除けば類似している。
【００７１】
ＶＣＯ５２６の出力端子は、例えば、ＶＣＯ５２６から直接および１／２回路５４２を介して出力信号を受け取る２：１マルチプレクサ５４１が可能である別のプログラム可能な１／ｎ回路５４０によって受け取られる。マルチプレクサ５４１の選択端子は、アンチヒューズ５４４によって例示されているように目的の入力を選択するべくプログラム可能である。ＶＣＯ５２６は、約４０ＭＨｚ〜２５０ＭＨｚの範囲の周波数を生成する。１／２回路５４２を用いると、ＶＣＯ５２６の有効周波数範囲は、有利なことに約２５ＭＨｚ〜２５０ＭＨｚに拡大される。マルチプレクサ５４１の出力端子が、図２２に模式的にボックスとして示されているクロック供給ネットワーク４５０に供給される。クロック供給ネットワーク４５０からのフィードバッククロック（ｆｃｌｋ）が、プログラム可能な１／ｎ回路５１１によって受け取られる。
【００７２】
一実施例では、図２７に示されているように、ＰＬＬ５００は、同期されたクロック（ｓｃｌｋ）とフィードバッククロック（ｆｃｌｋ）との間に９０°のオフセットが維持されるようにする。図２７は、同期されたクロック（ｓｃｌｋ）の波形、フィードバッククロック（ｆｃｌｋ）の波形、並びにそれらの間のエラーの波形を示す。フィルタ５２０は、エラー信号を平均電圧に変換し、これにより９０°のオフセットがピーク電圧の約半分である電圧を生成する。図２４に示されているように、ＶＣＯ５２６の電圧をＶＣＯ５２６の範囲の概ね中間に維持するようにして、大きな周波数変化に対応できるようにするのが好ましい。
【００７３】
本発明は、説明する目的で特定の実施例を用いて説明してきたが、本発明がそれらに限定されるものではない。また、様々な線図における様々な構造は単なる例である。本発明の実施態様は、アモルファスシリコンアンチヒューズおよび酸化物−窒化物−酸化物アンチヒューズに限定されるものではなく、その他のアンチヒューズ構造およびプログラム可能な素子構造まで拡大される。更に、導電性配線リソースは、あらゆる好適な導電材料または導電材料の組み合わせから形成可能であり、必ずしも金属から形成する必要はない。従って、先述の請求の範囲で規定した本発明の概念から逸脱することなく、様々な変更、付加、および記載した実施例の様々な特徴の組み合わせが可能である。
【図面の簡単な説明】
【００７４】
【図１】本発明の書き換え可能ゲートアレイ（ＦＰＧＡ）のようなプログラム可能デバイスの模式図である。
【図２】複数のマイクロセル及びＩ／Ｏセルを含むＦＰＧＡの別図である。
【図３】図１及び２のマイクロセルの一例を示す、図３Ａ乃至３Ｃの配置図である。
【図３Ａ−１】図１及び２のマイクロセルの一例を示す図の一部である。
【図３Ａ−２】図１及び２のマイクロセルの一例を示す図の一部である。
【図３Ｂ−１】図１及び２のマイクロセルの一例を示す図の一部である。
【図３Ｂ−２】図１及び２のマイクロセルの一例を示す図の一部である。
【図３Ｃ−１】図１及び２のマイクロセルの一例を示す図の一部である。
【図３Ｃ−２】図１及び２のマイクロセルの一例を示す図の一部である。
【図４】マイクロセル内部の単一ロジックセルの模式図である。
【図５】出力ドライバを有する二つの論理モジュールの簡略図である。
【図６】ロジックモジュールと共に用いられる従来方式のドライバの詳細図である。
【図７】図６のドライバに於ける出力端子及び高電圧ノードでの電圧の波形図である。
【図８】本発明の一実施例によるドライバの詳細図である。
【図９】図８のドライバに於ける出力端子及び高電圧ノードでの電圧の波形図である。
【図１０】本発明の一実施例による入力／出力（Ｉ／Ｏ）回路を示す図である。
【図１１】図１０のＩ／Ｏ回路の更に詳細な図である。
【図１１Ａ】図１１の一部を示す図である。
【図１１Ｂ】図１１の一部を示す図である。
【図１２】本発明の一実施例による８本のＩ／Ｏバンクを有するＦＰＧＡの模式図である。
【図１３】本発明の一実施例による単一の１／４区分の一部分の模式図である。
【図１３Ａ】図１３の一部を示す図である。
【図１３Ｂ】図１３の一部を示す図である。
【図１４Ａ】ＦＰＧＡ中で、左−右で動作するＩ／Ｏ制御入力パッドよりの水平線を示す図である。
【図１４Ｂ】ＦＰＧＡ中で、左−右で動作するＩ／Ｏ制御入力パッドよりの水平線を示す図である。
【図１５Ａ】ＦＰＧＡ中で、上−下に動作するＩ／Ｏ制御入力パッドよりの垂直線を示す図である。
【図１５Ｂ】ＦＰＧＡ中で、上−下に動作するＩ／Ｏ制御入力パッドよりの垂直線を示す図である。
【図１６】可変出力スルーレートを供給するべく制御され得るトライステート出力バッファの模式図である。
【図１７】アンチヒューズをプログラムするのに用いられる従来方式のプログラムアーキテクチャを示す図である。
【図１８】本発明の一実施例によるアンチヒューズをプログラムするのに用いられるプログラムアーキテクチャを示す図である。
【図１９Ａ】本発明の一実施例によるプログラミングシフトレジスタの構造を示す図である。
【図１９Ｂ】本発明の一実施例によるプログラミングシフトレジスタ及び８ビットプログラミングの動作を示す図である。
【図２０】本発明の一実施例による、ＦＰＧＡ内のクロック供給ネットワークを示す模式図である。
【図２１】本発明の一実施例による、位相同期ループ（ＰＬＬ）にプログラム可能に接続され得る専用のクロックネットワークを示す図である。
【図２２】図２１の位相同期ループの一実施例を示す図である。
【図２３】図２２の位相同期ループで用いられ得る２型三次フィルタを示す図である。
【図２４】図２２の位相同期ループ中のＶＣＯの動的周波数レンジを示す周波数に対する電圧のグラフである。
【図２５】従来のＶＣＯレンジを示す周波数に対する電圧のグラフである。
【図２６】図２２の位相固定ループと共に用いられる電圧制御発振器（ＶＣＯ）の一実施例を示す模式図である。
【図２６Ａ】図２６の模式図の一部を示す図である。
【図２６Ｂ】図２６の模式図の一部を示す図である。
【図２７】エラークロックは勿論のこと、位相同期ループのための同期クロック（ｓｃｌｋ）及びフィードバッククロック（ｆｃｌｋ）の波形を示す図である。
【図１】
0004394128.tif 000003
【図２】
0004394128.tif 000004
【図３】
0004394128.tif 000005
【図３Ａ−１】
0004394128.tif 000006
【図３Ａ−２】
0004394128.tif 000007
【図３Ｂ−１】
0004394128.tif 000008
【図３Ｂ−２】
0004394128.tif 000009
【図３Ｃ−１】
0004394128.tif 000010
【図３Ｃ−２】
0004394128.tif 000011
【図４】
0004394128.tif 000012
【図５】
0004394128.tif 000013
【図６】
0004394128.tif 000014
【図７】
0004394128.tif 000015
【図８】
0004394128.tif 000016
【図９】
0004394128.tif 000017
【図１０】
0004394128.tif 000018
【図１１】
0004394128.tif 000019
【図１１Ａ】
0004394128.tif 000020
【図１１Ｂ】
0004394128.tif 000021
【図１２】
0004394128.tif 000022
【図１３】
0004394128.tif 000023
【図１３Ａ】
0004394128.tif 000024
【図１３Ｂ】
0004394128.tif 000025
【図１４Ａ】
0004394128.tif 000026
【図１４Ｂ】
0004394128.tif 000027
【図１５Ａ】
0004394128.tif 000028
【図１５Ｂ】
0004394128.tif 000029
【図１６】
0004394128.tif 000030
【図１７】
0004394128.tif 000031
【図１８】
0004394128.tif 000032
【図１９Ａ】
0004394128.tif 000033
【図１９Ｂ】
0004394128.tif 000034
【図２０】
0004394128.tif 000035
【図２１】
0004394128.tif 000036
【図２２】
0004394128.tif 000037
【図２３】
0004394128.tif 000038
【図２４】
0004394128.tif 000039
【図２５】
0004394128.tif 000040
【図２６】
0004394128.tif 000041
【図２６Ａ】
0004394128.tif 000042
【図２６Ｂ】
0004394128.tif 000043
【図２７】
0004394128.tif 000044