JPH07501669A - フィールドプログラマブルゲートアレイの事前プログラミングテスト - Google Patents

フィールドプログラマブルゲートアレイの事前プログラミングテスト

Info

Publication number
JPH07501669A
JPH07501669A JP5510156A JP51015692A JPH07501669A JP H07501669 A JPH07501669 A JP H07501669A JP 5510156 A JP5510156 A JP 5510156A JP 51015692 A JP51015692 A JP 51015692A JP H07501669 A JPH07501669 A JP H07501669A
Authority
JP
Japan
Prior art keywords
circuit
programming
transistor
integrated circuit
signal
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.)
Pending
Application number
JP5510156A
Other languages
English (en)
Inventor
クーケ,ローレンス・ジェイ
フィリップス,クリストファー・イー
アレン,ウィリアム・ジェイ
Original Assignee
クロスポイント・ソルーションズ・インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クロスポイント・ソルーションズ・インコーポレイテッド filed Critical クロスポイント・ソルーションズ・インコーポレイテッド
Publication of JPH07501669A publication Critical patent/JPH07501669A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/30Marginal testing, e.g. by varying supply voltage
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 フィールドプログラマブルゲートアレイの事前プログラミングテスト 発明の背景 この発明は一般に集積回路装置のテストの分野に関し、より特定的に、ユーザー プログラマブルまたはフィールドプログラマブルゲートアレイ(FPGA)のテ ストに関する。
フィールドプログラマブルゲートアレイ(FPGA)では、トランジスタ、論理 ブロックおよび入出力回路間の接続はこの型の集積回路のユーザによって行なわ れる。トランジスタ、論理ブロックおよび入出力回路はさまざまな点でお互いに 交差または隣接するラインセグメントに接続される。これらの点の大半には、ア ンチヒユーズとして知られるプログラマブル素子が所望されればラインセグメン ト間を接続するように配置される。
未プログラム状態では、各アンチヒユーズはハイインピーダンス、つまり「開放 」状態のままである。プログラムされると、アンチヒユーズはローインピーダン ス、つまり「閉鎖」状態になる。FPGAのアンチヒユーズはユーザによって選 択的にプログラムされ、特定のアプリケーションのためにFPGAのトランジス タ、論理ブロックおよび入出力回路間の所望される相互接続を行なう。この態様 で、FPGAは特定のアプリケーションのために構成される。
そのラインセグメントおよびアンチヒユーズを含むFPGAのさまざまな素子の 機能性をチェックするために、そのプログラミングに先立ってFPGAをテスト することカ(非常に望ましい。これまて、FPGAのテストのための要求を満た す場合、特別のテストトランジスタおよび回路力(集積回路に加えられた。これ らを加えることにより典型ロタに既に複雑で混み合った集積回路なるものに対し て複雑さおよびスペース要件を増すことになった。
典型的なFPGA集積回路は特定のプログラミングピンを存し、それにより大き な電圧がアンチヒユーズのプログラミングのために回路に与えられる。この発明 のFPGAては、人出力バッファ回路にはIEEE 1149.1のテスト規格 に従うテスト信号のためのシリアルスキャンノくスが備えられる。アンチヒユー ズのプログラミング中、1149.1シリアルスキヤンノくスの信号はプログラ ミング回路のための制御信号になり、配線セグメントをアトルス指定し、プログ ラミング電圧か特定のピンを介して与えられる間、プログラムされるべき特定の アンチヒユーズを特定する。
この発明に従って、シリアルスキャンノ(スの信号;こよって制御されるプログ ラミング回路および特定のプログラミングピンは、アンチヒユーズのプログラミ ングに先立ってFPGAをテストするための経路を与えるため(=使用される。
この態様で、この発明は最小の数の付加的なトランジスタおよび回路て、FPG Aの素子および機能をテストするという目標を達成することができる。
発明の概要 この発明は前記集積回路への電気的経路およびそれからの電気的経路を与えるた めの複数個の端子を有する集積回路を与える。この集積回路はまた機能ユニット のアレイおよび機能ユニットに接続された複数個のラインセグメントを存する。
プログラマブル素子は2つのラインセグメント間に配置される。これらの素子は この2つのラインセグメント間のプログラミング電圧によってプログラム可能で ある。この集積回路はラインセグメントの各々に接続され、アドレス信号に応答 して、選択されたラインセグメントを電源または端子の1つに接続するためのア ドレス回路を有する。これらのユニットはあるユニットに接続されたラインセグ メントを選択し、ラインセグメントを介してそのユニットをモニタすることによ ってテストできる。アドレス回路はまたそれらの間に素子を存するラインセグメ ントを選択することによって素子をプログラムすることが可能である。このよう に、アドレス回路はプログラマブル素子をプログラミングするために、かつアレ イのユニットをテストするために使用され得る。
機能ユニットのアレイはメモリおよび論理機能のために構成され得る連続直列ト ランジスタおよび回路ブロックを含む。
テストにはまたこれらの機能ユニットの各々の機能性のテスト、およびさまざま なラインセグメントの電気的連続性のテストが含まれる。
集積回路はまた人力/出力バッファ回路のさまざまな動作パラメータを設定する ようにプログラマブルである入力/出力バッファ回路を有する。この発明は、プ ログラミングに先立ってテストを行なうために、制御信号を伝えて入力/出力バ ッファ回路のさまざまな動作パラメータを一時的に設定する集積回路をテストす るために通常使用されるシリアルスキャンパスを組込む。
この集積回路は集積回路のための所望されるクロックネットワーク経路を設定ま たは規定するようにプログラマブルであるクロック回路を有する。シリアルスキ ャンパスでは、クロック回路はさまざまなネットワーククロック経路がプログラ ミングに先立ってテストされ得るようにシリアルスキャンパス上の信号によって 一時的に設定される。このクロックネットワークテストては、プログラミングの ために使用されるアドレス回路もまた使用される。
この発明はまた高速テスト装置を必要とすることなく集積回路のプロセス評価テ ストを与える。プログラマブル素子のほんの一部が直列のインバータを形成する ためにプログラムされる。リングオシレータループは入力/出力バッファ回路お よびプログラムされた直列のインバータを介するシリアルスキャンパスで形成さ れる。プログラムされたインバータ直列を自身でテストする場合よりはるかに遅 い速度で動作するカウンタはプロセス評価をするのに十分である。
このように、この発明はこれらの特徴および以下に明らかになる他の特徴を与え る。
図面の簡単な説明 この発明の詳細な理解は以下の図面を参照しながら具体的な実施例の説明を精読 することによって得られる。
図1はこの発明を実現化するFPGA集積回路の一般的な上面図である。
図2は図1の集積回路のコアアレイの一般的な上面図である。
図3は図2のコアアレイのC3T行の詳細な図である。
図4は図2のコアアレイのラッチ/論理ブロック(LLB)の論理回路図である 。
図5はコアアレイにおいてどのようにLLBがお互いに対して配列されるかを示 す。
図6Aから図6Cは配線セグメントのグリッドにおけるプログラミング電圧の異 なった組合わせを例示的に示す。
図7はコアアレイの配線セグメントのX、Yアドレシングを例示的に示す。
図8はFPGAのコアアレイの各配線セグメントのためのプログラミング回路の 一般的な配列を示す。
図9はC3T行の4タイルセクシヨンの配線セグメント、そのプログラミンググ リッド、所与の±Yアドレスのための±Y制御線の表である。
図10はコアアレイのC3T行のトランジスタのだめの分離l・ランジスタ回路 を詳細に示す。
図11は図1のI10セクションにおける入力/出力バッフ7回路の論理回路図 である。
図12は図1のI10セクションの入力/出力バッファ回路とコアアレイとの一 般的な接続を例示する。
図13は図11の入力/出力バッファ回路のプログラミングユニットの論理回路 図である。
図14AはFPGA集積回路のクロックネットワークの一般図であり、図14B は図IIの入力/出力バッファ回路と図14Aのさまざまなりロック回路との間 の一般的なシリアルスキャンパス接続を示す。
図15は図14Aの入力クロックイネーブル回路の論理回路図である。
図16Aはプログラミングトランジスタを介する+プログラミング回路ッ)・と Vppプログラミングピンとの間の接続を示し、図16Bはテスト中+プログラ ミンググリッドかローになることを可能にする回路を示し、図16Cはテスト中 −プログラミンググリッドかノ1イになることを可能にする回路を示す。
図17はC3T行のPMOSトランジスタの例示的なグループを示す。
図18A−図18Dは図17のPMO3I−ランジスタをテストするための連続 ステップを示す。
図19はFPGAのクロックネットワークのテストにおけるコアアレイを介する 典型的な信号経路である。
図20はFPGAのクロックネットワークのテストにおける周辺の典型的な信号 経路である。
図21はFPGAを製造するために使用されるプロセスを評価するために使用さ れる論理ゲート信号経路を例示する。
図22は図21に示される信号経路にインバータを形成するためのC3T行の接 続を示す。
好ましい実施例の説明 この発明に従うFPGAのさまざまなテスト動作を理解するために、FPGAの さまざまなの部分を理解することは非常に有用である。したがって、FPGAお よびその部分の構成の説明を以下に行なう。しかしながら、ここに記載されるテ スト動作の多くはFPGAに加えて他のアプリケーションを有することか理解さ れなければならない。
FPGAの構成 この発明に従うフィールドプログラマブルゲートアレイ(FPGA)集積回路の 上面図か図1に示される。この図はFPGAの一般的な構成レイアウトを示す。
半導体基板10の上に、FPGAは中央コアアレイセクション11を有シ、この セクションは連続直列トランジスタ(C3T)、ラッチ/論理ブロック(L L  B)およびユーザのアプリケ−ジョン用のためのトランジスタおよびブロック を構成するようにプログラムされるアンチヒユーズを含む。
コアアレイセクション11を取囲んで、プログラミングセクション12があり、 ここには4つの別個の区域が示され、これらの区域はコアアレイ11のアンチヒ ユーズをプログラムするための回路を含む。このセクション12にはアンチヒユ ーズをプログラムするためにアレイ11の特殊プログラミング電圧、っまりVP PおよびVs!lを制御するための回路が含まれる。このプログラミングセクシ ョン12の外側には制御セクション13があり、このセクションもまた4つの別 個の区域として示され、かつ選択されたアンチヒユーズをプログラムする際に配 線セグメントをアドレス指定し、かつテストするために使用される制御回路を含 む。
最後に、入力/出力セクション14が基板10の周辺に置かれる。セクション1 4は外部からFPGA内部への信号を受信し、FPGAの内部から外部への信号 を駆動するための入力および出力回路を含む。
アンチヒユーズはFPGA集積回路の2つの導電層の間に置かれるプログラマブ ル素子である。この発明で考慮されるアンチヒユーズのタイプは未プログラム状 態で数ギガオームの高抵抗を有し、プログラム状態でたとえば100−150オ ームの低抵抗を有する。未プログラム状態のアンチヒユーズは2fF以下の非常 に低い寄生容量を有する。
この発明で有用なアンチヒユーズの具体的な例は、アモルファスシリコンからな る構造であり、この構造は金属1層とポリシリコン層との間の正常なコンタクト に適合する。
この構造は1989年6月3日にB、 Roesnerに付与された米国特許第 4.796,074号に開示される。別の有用なアンチヒユーズ構造は集積回路 の任意の2つの金属配線層間に形成される。この構造は[フィールドプログラマ ブルゲートアレイで使用するための改良されたアンチヒユーズ回路構造およびそ の製造方法(AN [MPROVED ANTIFUSE CIRCUIT 5 TRUCTURE FORLISE IN A FIELD PROGRAMM ABLE GATE ARRAYAND METHOD OF MANUFAC TURE THEREOF )と題され、1991年1月17日にM、R,10 1zw101z他により出願され、この発明の瞳受入に請渡された米国特許出願 連続番号第07/642゜617号に開示される。
レイ11は水平C3T行15およびLLB行16を有し、これらはその間の水平 配線チャネル17と交互に配置される。C3T行15は標準駆動から高駆動イン バータ、多入力NANDゲートおよびNORゲートからより複雑なAol (A ND−オアーインバート)セルに至る種々の論理セルを実現化するために使用さ れる。これらの行15はまたマルチプレクサベースの論理セルも実現化すること が可能である。しかしながら、隣接するLLB行16は、その各々が行16の垂 直線によって示される予め構成された論理ブロックの行を含み、このようなセル を実現化するのにより効率的である。
行15および16は水平および垂直配線セグメントである。セグメントの多くの 交点にはアンチヒユーズか配置され、アンチヒユーズはプログラムされると交差 セグメントを電気的に一体接続する。これらのアンチヒユーズはC8T行15お よびチャネル17の配線セグメントの交点に大半か配置される。C3T行15は 所望の論理セルに柔軟に構成でき、チャネル17は要求されるセル間接続を構成 し得る。
このようにセル機能および回路接続は適当なアンチヒユーズ素子をプログラムす ることによって規定され、この素子は交差する水平配線セグメントと垂直配線セ グメントとの間に低抵抗の接続を形成する。C3T行15およびLLB行16は 論理的にかつ相互接続的に構成可能であり、現在のFPGAて可能なほとんどす べての組合わせ論理または記憶論理セルを実現化することか可能である。これに ついて以下により詳細に論しる。
配線チャネルおよび垂直経路指定 説明のために、いくつかの言葉をここて定義する。「列」という言葉はC3T行 15の対向する対のトランジスタ、つまりPMO3およびNMOS)ランジスタ によって占有される幅を有するコアアレイ11の垂直片を示すために使用される 。「タイル」という言葉はC3T行15の列のその部分のことをいう。
大まかにいうと、配線チャネル17はC3T行15およびLLB行I6の構成セ ル間の水平方向の接続を与えるために使用される。C3T行15およびLLBf f16と重ねて配置されるチャネル17は異なったセグメント長さの水平セグメ ント配線トラックを含む。これらの水平配線トラックセグメントは8列の最小長 さからアレイ11の全幅までばらつきがある。異なったセグメント長さは異なっ た目的を果たし、チャネル17の利用性を高める。たとえば、最小の8列にわた る水平トラックセグメントは、主にLLB行16のラッチ/論理ブロックへのフ ィードバック接続を与えるために使用され、以下に説明されるようにブロックを ラッチ、フリップフロップおよびRAMセルに構成する。各チャネル17にはま たユーザーのアプリケーションでグローバルクロック信号、グローバルイネーブ ルまたはリセット信号もしくは他の任意の高いファンアウト信号としても使用さ れ得るクロック線が含まれる。クロックは以下により完全に論じられるように、 アレイ11の各チャネルI7の両側に沿うドライバ回路から駆動される。
チャネル17の水平セグメントに垂直配線セグメントが交差し、C3T行15お よびLLB行16の回路ノード間 ′の垂直接続に対処する。この特許出願の図 面では2つの線の交差点のところに四角によって示されるアンチヒューズ素子は 、チャネル17の水平および垂直配線セグメントの交差点に配置される。各チャ ネル17はほとんどすべての交差点にアンチヒユーズを有する水平および垂直配 線セグメントのグリッドである。
3つのタイプの垂直配線がコアアレイ11で使用される。
第1のタイプはPMOSまたはNMO3)ランジスタゲートに接続されたセグメ ントまたはラッチセグメントによって形成される。どちらも図3を参照して以下 により詳細に説明される。この型の垂直セグメントは隣接するチャネル17の水 平配線セグメントからC3T行16またはLLB行15のセルへのルートを形成 する。
第2のタイプの垂直配線は垂直シェブロンである。図2に例示されるように、こ れらの垂直配線セグメント31の各々は4つのCS7行15および中間のLLB 行16にわたる。シェブロン31はC3T行15上で始まりかつ終わる。「シェ ブロン」という言葉が使用されるのは、これらの配線セグメントか垂直シェブロ ン31が始まりかつ終わる行15において斜め方向ワイヤ部(または半シェブロ ン)を有するからである。斜め方向のワイヤ部は水平方向に5つのタイルにわた る。各垂直シェブロンの中央垂直部は3つの配線チャネル17および2つの行1 5を通過する。
図2に象徴的に示されるように、各垂直シェブロン3Iは斜め方向の端部に沿っ て行15の垂直セグメントにアンチヒユーズを介して接続されるか、またはチャ ネル17および行15を通過するセグメント31の中央部に沿ってアンチヒユー ズを介してチャネル17および行15の水平セグ ′メントに接続され得る。通 過の際、行15の水平セグメントは実際は斜めであることに注意されたい。
C3T行15に関して以下に論じられる図3もまた、垂直シェブロン31がどの ようにコアアレイ11にマツピングされるかを示す。このパターンは規則正しく 、水平方向には4タイルごとに、垂直方向には行15ごとに繰返す。
完全な垂直シェブロンは2タイルごとに存在し、斜めセグメントは各タイルに存 在する。2つの垂直シェブロンが2つのC3Tタイルごとに貫通し、異なった行 で終わる。
第3のタイプの垂直配線セグメントはロングラインである。ロングラインはコア アレイの頂上から底までの長い距離延在し、主に長い垂直接続を与える。一般に これらの配線セグメントはコアアレイ高さの全距離、1/2の距離またはl/3  (2/3)の距離だけ延在する。ロングラインは1本の長い線が2タイルごと にC3T行15を通過するように水平方向に間隔を開けて設けられる。これらの ラインセグメントは長い距離にわたって信号を経路指定するために使用されるこ とか意図されるので軽負荷である。ロングラインを駆動するための主な手段は標 準または高駆動イC3T行I5はほとんど一致する性能でのFPGAの構成可能 性を提供する。NAND、NOR,AND、ORおよびインバータなとの小さな 論理ゲートはC3T行15において効率的に構成される。行I5のトランジスタ の各々はそのソース/ドレインおよびゲート電極に接続された配線セグメントを 有する。他の配線セグメントはコアアレイの異なった部分を走る。これらの配線 セグメントのすべてはお互いと交差し、アンチヒユーズがこれらの交差セグメン トの間に置かれる。選択されたアンチヒユーズをプログラムすることにより、C S7行15のトランジスタは所望されたブロックに構成され得る。
図3はC3T行15の一部および関連の配線セグメントの配列を示す。各行15 は2列の連続直列トランジスタを含み、一方の列はNMOSトランジスタから形 成され、他方はPMO3I−ランジスタから形成される。図面では、PMOSト ランジスタはMOSトランジスタ記号のゲート上の円によって示される。さらに 、図3において1つのC8Tトランジスタのソース/ドレインの別のトランジス タのソース/トレインとの共通化は、それらのトランジスタのソース/ドレイン を接続する二重線によって示される。
4つのNMO3)ランジスタ2OA−20Dおよび4つのPMOS l−ランジ スタ21A−21Dが示される。これらのトランジスタ20A−20Dおよび2 1A−21Dはそのソース/トレインによって図面には示されていない行15の 他のトランジスタに接続されることが理解されるはずである。
NMO3)ランジスタ20A−20Dのゲートの各々はNゲート配線セグメント 22A−22Dに接続される。対応して、Pゲート配線セグメント23A−23 DはそれぞれPトランジスタ2+A−21Dのゲートの各々に接続される。これ らの配線セグメント22A−22Dおよび23A−23Dは、−列に並んだC5 T)ラへラスタ20八−20Dおよび21A−21Dに対して、直交または垂直 に走っている。
配線セグメント24A−24Dおよび25A−25Dもまた、NMO3およびP MOSトランジスタ20A−20Dおよび21A−21Dのそれぞれのソース/ ドレイン(SD)に接続される。例示および参照符号を付ける目的のために、図 3では各MOSトランジスタ20A−20Dおよび21A−21Dの右側のソー ス/ドレインがそのトランジスタに関連付けられる。各NMOSトランジスタ2 0A−20Dは各NMOSトランジスタのソース/ドレインにそれぞれ接続され たN SD配線セグメント24A−24Dを有し、各PMOS )−ランジスタ 21A−21Dは各PMO3)ランシスタのソース/ドレインにそれぞれ接続さ れたP SD配線セグメント25A−25Dを有する。
これらのSD配線セグメント24A−24Dおよび25A−25Dもまた垂直に 走っている。すべてのPゲートおよびP SD上セグメント2A−22Dおよび 24A−24Dは、各C3T行15の長さに沿って走るV cc電源線に接続さ れ得る。同様に、すべてのNゲートおよびN SD上セグメント3A−23Dお よび25A−25Dは、各C8T行15の長さに沿って走るv8.電源線29に 接続され得る。いくつかのCMO3集積回路におけるように、VCCは+3.5 ボルトであり、Vs8は接地、つまりOボルトであるが、他の電圧も使用され得 る。
すべてのPゲートセグメント22A−22Dおよびラッチセグメント33−36 は、以下に論じられるLLB40の入力および出力端子に接続されており、上の チャネル17まで延び、チャネルのすへての配線セグメントに接続される。
配線セグメント30および31のアレイは斜めに走っている。これらのセグメン トの半分は前に説明された垂直シェブロン31であり、セル間経路指定のために 使用される。
残りの半分はセル間経路指定のための局所シェブロン30である。局所シェブロ ン30は水平方向にC3T行15の9つのタイルにわたる。水平方向に2つのタ イルごとに1つの局所シェブロン30かある。垂直シェブロン31は水平方向に 5つのタイルにわたり、各タイルごとに垂直シェブロン31の1つの斜め部分が ある。局所および垂直シェブロン30および31はPゲート配線セグメント22 A−22D、P SD上セグメント4A−24D、上下のC8T行からの垂直シ ェブロン31の垂直セクションおよびラッチセグメントに交差する。ラッチセグ メントはPゲートセグメントとともにC3T行15からLLB行16を介して上 のチャネル17に走る配線セグメントである。図3では、それぞれ(データ)O UT、(データ)IN、CLK(クロック)およびFB(フィードバック)と符 号が付けられたラッチセグメント33.34.35および36が示される。遠い セル間接続に対して以前に説明された垂直配線ロングライン32もまた示される 。
シェブロン30および31はまたPMO3)ランジスタ20A−20DおよびN MO8)ランジスタ21A−21Dにかかり、水平方向にN SD上セグメント 5A−25Dのうちの2つにわたる。シェブロン30および31の長さはN5M O3側よりPMO3l=ランジスタ側のほうが長く、その理由は論じられる特定 の実施例についてシェブロン30および31はP側では金属から形成され、N側 ではより高抵抗のポリシリコンから形成されるからである。
局所および垂直シェブロン30および31がなくても、真向かいのN SD上セ グメント5A−25DおよびPSDセグメント24A−24Dはまた特殊なSD クロスオーバセグメント26Bおよび26Dと一体にされ得る。これらのセグメ ント26Bおよび26Dは、主にインバータおよびパスゲート回路を実現化する ために使用される。
Nゲートセグメント23A−23DおよびPゲートセグメント22A−22Dも また特殊なゲートクロスオーバセグメント27Δ−27Dを有し、これらは真向 かいのゲートセグメントも接続するだけでなく、すぐ左側または右側のゲートセ グメントをも接続し得る。真向かいのゲートセグメント22A−22Dおよび2 3A−23Dに接続されたゲートセグメントクロスオーバセグメント27A−2 7Dは、はとんどすべての構成論理セルに対する信号入力線としてNゲートセグ メント23A−23Dを接続するための主要な手段である。すぐ右側または左側 のゲートセグメントに接続されたクロスオーバセグメント27A−27Dは、典 型的には行15のマルチプレクサベースのブロックを実現化するために使用され るが、以下に論じられるLLBはそのようなマルチプレクサベースのセルをより よく実現化するかもしれない。
C3T行I5に構成される論理セルは、行15の中間のトランジスタを適切な接 続によってV CCおよびV s sの電源線に接続することによってお互いに 分離され得る。PMOSトランジスタについては、ゲート電極はV CCに接続 される。PMOSトランジスタは実効的にオンしないようにされ、そのトランジ スタのソース/ドレインを介して電流は何も流れない。分離トランジスタの両側 に論理セルを形成するPMOSトランジスタは他方から電気的に分離される。
同様に、C3T行15のNMOSトランジスタのゲート電極はV□に接続されて トランジスタかオンしないようにする。このトランジスタは両側に構成論理セル を形成するNMO3)ランジスタ間の効果的な分離となる。
図3八に示されるように、コアアレイ11の左側の境界には2つの垂直導電線が あり、これらの線はC3T行15の各々のPMO3+・ランジスタの最も左側の ソース/ドレイン領域のすべてとNMO3)ランジスタの最も左のソース/ドレ イン領域のすべてをそれぞれ接続する。これらの垂直導電線ならびに最も左側の PMO3およびNMO8C8Tトランジスタはプロセス評価テストで使用され、 それについては後に説明する。
C3Tがとのように論理回路に接続され得るかについての例は、[フィールドプ ログラマブルゲートアレイ(A Field Programmable Ga te Array ) J と題され、Laurence H,Cooke お よびDavid Marpleにより1991年3月18日に出願され、本願の 鐘受入に請渡された米国特許出願連続番号第07/671.222号で示される 。
行16のラッチ/論理プロy’)(LLB)40f;!、CS1行15の構成回 路より効率的に、ラッチ、フリップフロップ、EXCLUS nE−NOR(X NOR)論理ゲート、加算器およびマルチプレクサなどのマルチプレクサ内蔵セ ルを実現化することか可能である。一方、これらのLLB40はまたNANDま たはNOR論理回路のような単純な論理ゲートにも構成され得るか、しかしなが ら、これらはC3T行15のそのような構成論理セルに比へて効率的てない。加 えて、LLB行16は、C3T行15を何も使用せずに、適度に寸法法めされた スタティックRAMブロックにアセンブリされ得る。
図4はLLB行I6の各ラッチ/論理ブロック(LLB)40の論理回路図であ る。点線のボックス内に示されるLLB40は、さまざまな配線セグメントに接 続される。
LLB40はすぐ下のC3T行15からのOUT、IN。
CLKおよびFBクラッチグメント33−36、ならびにグローバルな水平およ び垂直線に接続される。水平線はリードセレクト線56、相補レディセレクトロ ー線57、ライトセレクト線58、テストロ−線59およびプログラミング線6 0である。垂直線はカラムセレクト線54およびリード/ライト (データ)線 55である。LLB40および行16にのみ関連して、これらの線54−60は LLB40を一般的なコアアレイ11とは別に考慮され得るアレイに構成する。
LLB40アレイの例示は図5に示される。
LLB40かそのラッチセグメント33−36の接続によってどのように構成さ れるかに依存して、個々のLLB40は上に論じられるさまざまな論理セルとし て、またはスタティックRAMセルとして機能し、この場合線54−60は高速 動作のためにRAMセルアレイを配線する。異なった論理ブロックおよびスタテ ィックRAMセルを構成するラッチセグメント33−36のための異なった接続 の組合わせの例は、「フィールドプログラマブルゲートアレイ」と題され、上に 示した特許出願において示される。この特許出願におけるLLBのための特別の 回路は図4の回路とはいくぶん違っているが、LLBの柔軟性および構成可能性 の要点を例示している。
各LLB40は4列の幅であり、図3の垂直ラッチセグメント33−36、つま り、CLK、IN、FBおよヒOUTに接続される入力および出力端子を存する 。高速でかつ最小のスキューでLLB40をクロックするために、LLB40の CL Kセグメントは直接、つまり1つのアンチヒユーズのみをプログラムする ことによって、チャネル17のクロック線に接続され得る。低スキュー高性能タ イミング信号がC3T行15の構成セルで必要とされる場合には、クロック線は またC3T行15から任意のPゲートセグメントに直接接続され得る。チャネル クロック線はまた、アレイの任意のセグメントに間接的に接続されてもよい。
LLB40がスタティックRAMセルに構成された場合、LLBアレイはメモリ アレイになる。このアレイのリード/ライト線55は、RAMアレイのビット線 であり、ライトおよびリード動作のためにデータ信号をメモリセルへおよびそれ から伝える。ワード線として動作し、リードセレクトおよびリードセレクトバー 線56および57はリード動作制御信号を伝え、ライトセレクト線58はライト 動作制御信号を伝える。すへてのRAMアレイにおけるように、メモリセルはメ モリセルの列の選択、つまりビット線選択、およびメモリセルの行の選択、つま りワード線選択によって選択される。
プログラミング回路 所望の接続をしてFPGAをプログラムするために、アンチヒユーズは論理セル を構成し、FPGAの内部をセル間接続するために使用される。上述のように、 C3T行15のトランジスタおよびLLB行16のLLB40は配線セグメント に接続される。これらの配線セグメントはその交点て配線セグメント間のアンチ ヒユーズと交差する。このように選択されたアンチヒユーズは所望される電気接 続を形成し、配線セグメント、C3T)ランジスタおよびLLBを所望されたセ ルに構成し、セル間接続を形成するようにプログラムされる。
プログラミングトランジスタおよびプログラミングブリット 2つの交差する配線セグメントを接続するために、2つの配線セグメントは同時 にかつ独立してアドレス指定されなけれはならない。一方の配線セグメントはプ ログラミング電圧Vpp、つまり+10ボルトに駆動され、他方の配線セグメン トはプログラミング電圧V33、つまりOポルトまたは接地に駆動される。2つ のセグメントの交点のアンチヒユーズにかかる2つのプログラミング電圧間の差 がアンチヒユーズをプログラムする。
一般に、コアアレイ11のすべての配線セグメントはプログラミングの目的のた めに大きなトランジスタに接続される。各配線セグメントはPMO3およびNM OSトランジスタに接続されることが望ましいが、バイポーラトランジスタはこ の発明のFPGAのたとえばB i CMO3実現化例において使用され得る。
PMOSプログラミングトランジスタは、十のアドレス回路に接続され、プログ ラミングの間配線セグメントをV p pに駆動し、NMOSプログラミングト ランジスタは、−のアドレス回路に接続され、プログラミングの間セグメントを V S Sに駆動する。
任意の配線セグメントをV□またはV8sに駆動する能力はコアアレイlのアン チヒユーズをプログラミングする規則および順序を単純化し、ユーザのアプリケ ーションに必要とされる多くの接続を正しく行なう。配線セグメントが何らかの プログラミング電圧に制限されれば、プログラミング規則および順序にさらに複 雑さが加わる。一方、プログラミングトランジスタは、大きな素子であるので、 集積回路の基板上で多くのスペースを占める。以下に説明される実施例は、省ス ペースとプログラミング規則および順序の単純さとの間のプログラミングトラン ジスタの数のバランスを示す。
十、つまりV PPアドレス回路および−、っまりV s sアドレス回路は2 つの独立した回路である。+のアドレス回路およびPMOSプログラミングトラ ンジスタを介して、+のアドレス指定された配線セグメントは、プログラミング 中FPGA集積回路の(プログラミング中±10ボルトに保持された)■2.ビ ンに接続することによって、VPPに駆動される。−のアドレス回路およびNM OSプログラミングトランジスタを介して、−のアドレス指定された配線セグメ ントは(プログラミング中接地に保持された)vsllピンに接続することによ ってV s mに駆動される。アドレス指定されていない配線セグメントはV  p pとvIl、との中間の+5ボルトのプリチャージ電圧のままにされる。図 6A−図6Bは配線セグメントおよびアンチヒユーズの例示的なグリッドを用い てこれを例示する。
+および−プログラミングアドレス回路の各々は2つの部分に分離される。プロ グラミングアドレス回路の一方の部分は、C3T行15の4タイルグループの配 線セグメントに接続されたプログラミングトランジスタのバンクにまでアドレス 信号をデコードする。このように、これらのアドレス信号は、十のアドレス回路 に対しては+X、+Yによって表わされ、−のアドレス回路に対しては−X、  −Yによって表わされ、V PPプログラミング電圧に対してPMOSプログラ ミングトランジスタのバンク(およびその配線セグメント)を選択し、V 11  gプログラミング電圧に対してNMOSプログラミングトランジスタのバンク (およびその配線セグメント)を選択する。これは図7に例示的に示される。+ X、十Yアドレス信号により選択されるものの中から特定のPMOSプログラミ ングトランジスタを選択し、−x、−yアドレス信号によって選択されるものの 巾からNMOSプログラミングトランジスタを選択することは、プログラミング アドレス回路の第2の部分によって実行され、この部分はPMOSプログラミン グトランジスタのうちの1つだけをV p pに接続し、NMo5トランジスタ のうちの1つだけをvlHに接続する。
図8に一般的な形で例示されるように、各配線セグメント76および77はPM OSプログラミングトランジスタ71およびNMOPプログラミングトランジス タ7oに接続される。十および−アドレスデコードはプログラミングトランジス タのソースおよびゲートの双方で起こる。PMOSプログラミングトランジスタ については、十x、 +yアドレス信号かゲートのためにデコードされる。NM OSプログラミングトランジスタについては、−X、−Yアドレス信号がそのゲ ートのためにデコードされる。プログラミングトランジスタのソース上の+およ び−アドレスデコードのために、各PMOSプログラミングトランジスタ7Iの ソースノードは+プログラミンググリッド79のうちの1つに接続される。同様 に、NMOSプログラミングトランジスタ70のソースノードは一プログラミン ググリッド78のうちの1つに接続される。
各プログラミンググリッド78.79はすべてのC3T行15を水平に走る金属 線から形成される。各グリッドは垂直に規則正しく交差接続される。任意のプロ グラミングトランジスタのソースノードと、グリッドがvPPおよびV33プロ グラミング電圧に接続されるアレイ11のエツジとの間の実効金属抵抗を最小限 にするために、水平線だけではなくグリッドか使用される。この態様で、アレイ 11のとんなアンチヒユーズにも十分な電力が与えられ、アンチヒユーズをプロ グラムすることができる。
プログラミンググリッドは集積回路上のVPPおよびv、。
電源ピンに直接接続されない。グリッドおよびビン間にはアレイ11の周辺に分 布された多くの大きなトランジスタがある。これらの周辺プログラミングトラン ジスタは図8のトランジスタ72および73によって表わされ、図8のアンチヒ ユーズ75によって表されるあるアンチヒユーズのプログラミング中、1つの+ プログラミンググリッド79のみがVPPに駆動され、1つの一プログラミング グリッド78のみがV ssに駆動されるように接続される。
残りのプログラミンググリッドは中間電圧V D T、つまり+5ボルトのまま にされ、この電圧は選択されたアンチヒユーズのプログラミングに先立つプリチ ャージ動作によって得られる。プリチャージ動作では、+および一プログラミン ググリットのすへては+5ボルトに設定され、プログラミングトランジスタのす へてはターンオンされ、次にターンオフされる。配線セグメントのすべては+5 ボルトでフローティング状態のままにされる。
上述のように、+X、+Yおよび−X、−Y信号はプログラミングトランジスタ 70および71のゲートをアドレス指定し、そのうちの1つは所望される配線セ グメントに接続される。所望される配線セグメントは所望されるセグメントに接 続されたプログラミングトランジスタに接続されるグリッドの選択によって選択 される。+X、+Yおよび−X、−Yアドレシングは図7に例示的に示されるP MO3またはNMOSプログラミングトランジスタのバンクを選択する。+X、 +Yおよび−X、−Yアドレシングは1つのC3T行15内の4タイルグループ の配線セグメントおよびそのプログラミングトランジスタを選択するために使用 される。この+X、十Yおよび−x、−yアドレシングは、アレイ11のすべて の4タイル列が1つの+Xプログラミング制御線および1つの−Xプログラミン グ制御線を有し、すべての行15が4つの+Yプログラミング制御線および4つ −Yプログラミング制陣線を有するようなものである。4対の+X、十Y1プロ グラミング制御線、+X、+Y2プログラミング制御線、十X、+Y3プログラ ミング制御線および+X、+Y4プログラミング制御線は各々NANDを取られ 、各4行Yおよび4タイル列Xのための局所+プログラミング制御信号を発生す る。各局所+プログラミング制御信号はPMOSプログラミングトランジスタの バンクのゲートに送られ、その1つはプログラミング中V□に駆動される+プロ グラミンググリッドに接続されるソースノードを有する。
同様に、対の−X、−Ylプログラミング制御線、−X、−Y2プログラミング 制御線、−X、−Y3プログラミング制御線および−X、−Y4プログラミング 制御線は各々NORを取られ、各4行Yおよび4タイル列Xのための局所−プロ グラミング制御信号を発生する。各局所−制御信号はNMOSプログラミングト ランジスタのバンクのゲート電極に送られ、その1つはプログラミング中vIl sに駆動されるープログラミンググリッドに接続されるソースノードを有する。
この実施例は5つの+プログラミンググリッドおよび6つの一プログラミンググ リッドを有する。+X、+Y1、+X、+Y2、+X、+Y3、+X、+Y4の 各々のNAND論理機能は、5つのPMOSプログラミングトランジスタのバン クのゲート電極に対して5つの+プログラミング制御信号を発生し、−X、−Y l、−X、−Y2、−X、−Y3、および−X、−Y4の各々のNOR論理機能 は、6つのNMOSプログラミングトランジスタのバンクのゲート電極に対して 6つの一プログラミング制御信号を発生する。図9は配線セグメントの4タイル グループの各配線セグメントの所与の±Xアドレスに対するそのプログラミング グリッドおよびその±Y制陣線への接続を示す。各Pゲート、P SD配線セグ メントおよびラッチセグメント(IN、CLKB、OUTおよびFB)はNMO Sプログラミングトランジスタに接続されるが、PMOSプログラミングトラン ジスタには接続されない。逆に、各NゲートおよびN SD配線セグメントはP MOSプログラミングトランジスタに接続されるが、NMO3hランジスタには 接続されない。図9のテーブルはこのように各4タイルグループに対して20の PMOSプログラミングトランジスタおよび24のNMOSプログラミングトラ ンジスタを示す。
実際には16のNMOSプログラミングトランジスタしかない。チャネル17の 配線トラックセグメントTl−T8に接続される8つのNMO3)ランジスタは 以下に説明される小さなテストトランジスタである。これらのトランジスタはプ ログラミングのためには使用されない。トラックセグメントTI−T8はPMO Sプログラミングトランジスタによってプログラムされる。
基板スペースかあまり重要でない場合には、より多くのプログラミンググリッド およびトランジスタを加えてもよい。上述の特許出願では、4タイルグループの 各配線セグメントはPMOSおよびNMOSプログラミングトランジスタに接続 される。8つの+プログラミンググリッドおよび8つの一プログラミンググリッ ドならびに各±X、±YNORおよびNAND論理機能が8つのプログラミング トランジスタのバンクに接続される。その結果各4タイルグループに対して32 のPMOSプログラミングトランジスタおよび32のNMOSプログラミングト ランジスタとなる。
図3に示されるように、デコード論理ゲートおよびプログラミングトランジスタ は4タイルグループで上部デコード論理ブロック80と下部デコード論理ブロッ ク81とに分けられる。上部および下部デコード論理ブロック80および81は 図8のトランジスタ70および71によって示されるプログラミングトランジス タを含み、ブロック80および81からの配線はプログラミングトランジスタ7 0および71からC3T行I5のタイルの配線セグメントへの接続である。デコ ード論理ブロック80および81はまた8つの水平+Ylから+Y4および−Y lから−Y4プログラミング制御線を含む。垂直の+Xおよび−Xアドレス線は 図示されていない。この構造はアレイ11の各C3T行I5を横切る4タイルご とに繰返される。水平の+および一プログラミンググリッドはグリッドブロック 82によって表される。
上部デコード論理ブロック80は4タイルグループの上部分の配線セグメントの プログラミング電圧を処理する。
配線セグメントは上部LLB40に対するラッチセグメント(およびテストのた めの上部チャネル17の水平配線トラックTI−T8)を含む。下部デコード論 理ブロック81は4タイルグループの下半分の配線セグメントに対するプログラ ミング電圧を処理する。配線セグメントはまたC3T行15の下のチャネル17 の水平配線トラックTI−T8を含む。このようにNチャネルプログラミングテ ーブルの水平配線トラック(TI−T8)は、図9のPチャネルプログラミング テーブルの同一の水平配線トラック(TI−T8)ではない。
図3はまたプログラミングアドレス回路によって占有されるスペースを最小にす るための、FPGAのコアアレイ11と周辺14との間のプログラミング機能の 分布を例示する。集積回路の周辺では、周辺プログラミングトランジスタは選択 された+および一プログラミンググリッドのためのアドレスをデコードする。デ コードの残りはCST行15のデコード論理ブロック8o、81によって実行さ れる。もちろん、プログラミングアドレス回路は設計されている特定のFPGA のさまざまな制限に依存して別々に構成されてもよい。
CST行分離回路 上述のプログラミング回路の他に、C3T行15のトランジスタのゲートはC3 T行分離回路に接続される。これらの回路はC3T行!5のPMOSおよびNM O3)ランジスタのターンオフを確実にするために使用され、アンチヒユーズの プログラミング中に不要の電流経路が発生することを妨げる。理想的には、前述 の中間電圧プリチャージ動作に加えて、C3T行15のPMOSおよびNMO3 I−ランジスタのゲート電極はプログラミング中1方向または別方向に高い電圧 、つまりV、およびvoにプリチャージされ、トランジスタのターンオフを確実 にする。しかしながら、リーク電流をもたらすプロセス欠陥は理想的な動作を問 題のあるものにしてしまうことがある。以下に説明される分離回路はプログラミ ング中のC3T行15の選択されたトランジスタによる分離を確実にする。
図3に関連して前に論じられたゲート配線セグメント23A−23Dに加えて、 (C3T行15の4タイルグループの1つの繰返しサイクルにおける)各PMO 3)ランジスタ21A−21Dの各ゲートもまた、図1Oに示されるように、2 つの直列接続されたPMO3トランジスタ30IA−301Dおよび311A− 311Dを介してV o bビンに接続される。v、bビンはプログラミング中 割の高い正の電源を与える。第1のPMO3)ランジスタ301A−301Dの ドレインはトランジスタ21A−21Dのそれぞれのゲートに接続され、ゲート は行Pゲート分離制御線302i (iは任意のi番目の行を示す)に接続され 、ソースは第2のPMOSトランジスタ311A−311Dのドレインにそれぞ れ接続される。第2のPMOSトランジスタ311A−311Dのゲートは対応 の列分離制御線302A−302Dに接続され、ソースはV a bピンに接続 される。PMO3)ランジスタ301A−301Dおよび311A−311Dが どちらもイネーブルされると、C3T行15のPMO3I−ランジスタ21A− 21Dのゲートはプログラミング中V e b sつまり+10ボルトであり、 トランジスタ21A−21Dはターンオフされる。このトランジスタを介して電 流は何も流れない。
類似の態様で、C3T行15のNMo5トランジスタ20A−20Dの各ゲート もまたC3T行分離回路に接続される。各NMO3)ランジスタ2OA−20D のゲートは第1のNMOSトランジスタ300A−300D(7)ドレインにそ れぞれ接続される。NMo5トランジスタ300A−300Dのゲートは行Nゲ ート分離制御線304 iに接続され、ソースは第2のNMO3)ランジスタ3 10A−310Dのドレインにそれぞれ接続される。第2ONMOSトランジス タ310A−310Dのゲートは対応の列ゲート分離制御線302A−302D に接続され、ソースはVoビンに接続される。
列分離制御線302A−302D、行Nゲート分離制御線3031および行Nゲ ート分離制御線304 iは、トランジスタ301A−301D、300A−3 00D、311A−311Dおよび310A−310Dをイネーブルし、かつデ ィスエーブルするデコード回路に接続される。列分離制御線302A−302D の各々上の信号は、コアアレイ11の各列のPMO3)ランジスタ311A−3 11DかNMOSトランジスタ310A−310Dのいずれかをイネーブルする 。行Pゲート分離制御線3031の各々上の信号はアレイのi番目の行のPMO 3)ランジスタ3゜IA−301Dをイネーブルする。行Nゲート分離制御線3 041の各々上の信号はアレイのi番目の行のNMOSトランジスタ300Aお よび300Dをイネーブルする。
これらの列および行制御線上の信号を送ることによって、C3T行15の交点の トランジスタはターンオフされ分離を確実にする。
プログラミング規則および順序 FPGAをプログラミングするために、アンチヒユーズはC3T)ランジスタお よびLLBを接続して構成セルにし、それらセルを接続して所望されるデジタル 論理回路を作成するようにプログラムされる。アンチヒユーズをプログラムする ための規則および順序はこの発明の範囲を越えるものであるが、上述の米国特許 出願連続番号第07/671.222号に開示される。
入力/出力セクション FPGA集積回路の入力/出力セクション14は、図12に例示されるように半 導体基板IOの周辺に複数個の入力/出カバソファ回路101を含み、その回路 図は図11に示される。回路101はこの発明に従うテスト動作の理解のために 詳細に説明される。非常に類似した入力/出力バッファ回路およびその動作の他 の局面は、「テスト能力を有するプログラマブル入力/出力バッファ回路(PR OGRAMMABLE INPUTloUTPtJT BUFFERCIRCU IT WITHTEST CAPABILITY )J と題され、Chris topher E、Ph1llips他により1991年6月21日に出願され 、この発明の誼受入に譲渡された米国特許出願連続番号第07/718.667 号において説明される。
各人力/出力バッフ7回路101は出力バッファとして作用し、データ信号を集 積回路の残り(内部)から外部に伝え、また人力バッファとして作用し、データ 信号を外部から周辺制御セクション13の中間回路を介してFPGAのコアアレ イ11に伝えることができる。制御セクション13のそのような回路は集積回路 設計者の理解の範囲内である。
入力/出力バッファ回路はまたIEEE規格1149゜1の下で動作する。図1 2のバッファ回路101間の矢印によって例示的に示されるように、この動作モ ードのバッファ回路はシリアルスキャンチェーンでお互いの間で信号を伝える。
これらシリアルスキャンチェーン信号はIEEE1149.1テスト規格に基づ くテストデータ信号である。この発明のFPGAにおいては、信号はまた集積回 路をプログラムするためにも使用される。
バッファ回路101は、図11に示されるように、プログラミングユニット15 0およびデコーダ151で一般に構成され、ユニット150、出力ドライバ段1 10およびマルチプレクサ、フリップフロップ、ラッチおよび第2のマルチプレ クサの組合わせである3つのセルをプログラムする。
プログラミングユニット150はユニット150がら生じるさまざまな制御線を 設定するようにプログラムされるアンチヒユーズを含む。プログラミングユニッ ト150は入力/出力バッファ回路からの出力信号の動作特性を設定し、入力/ 出力バッファ回路への入力信号のさまざまな動作特性を処理するために使用され 得る。一旦プログラムされると、ユニット150は回路101の出力モード動作 、出力駆動電流およびスルーレート、コアアレイ11からの出力データ信号のイ ネーブル化、マルチプレクサ143の動作、およびアサートされていない出力段 +10の出力状態を選択するように制御信号を設定する。ユニット150はまた マルチプレクサ130および140を介して読出すことが可能な情報をストアす ることができ、コアアレイllのある配線セグメントおよび線上の信号レベルを 設定することが可能である。
プログラミングユニット150からの制御線はラッチ156のイネーブル端子に 接続された制御線175を含み、このラッチは線164上でコアアレイ11から データアウトイネーブル信号を受信する。ラッチ156は第2のイネーブル端子 を有し、この端子は論理1’N、Vccに永久的に設定され、その結果ラッチ1 56は線175上の制御信号によってのみイネーブルされる。ラッチ156の出 力端子はマルチプレクサ123の入力端子に接続され、マルチプレクサ123の 出力端子は線124によって出力ドライバ段110のイネーブル端子に接続され る。イネーブルされると、出力ドライバ段110は線134上の信号をマルチプ レクサ133から端子111へ伝える。
ディスエーブルされると、段11oはハイインピーダンス状態におかれる。さら に、制御線177の設定に応答して、出力ドライバ段110は「オーブンソース 」または「オーブンドレイン」モード、っまりロジックハイ/ハイインピーダン スまたはロジックロー/ハイインピーダンスのいずれかに設定され得る。
出力データ信号はコアアレイ11からデータアウト線135上に伝えられる。線 135は2つのイネーブル端子を有するラッチ154の入力端子に接続され、こ の2つのイネーブル端子はどちらもラッチ154をイネーブルするためにハイで なければならない。第1の端子はプログラミングユニット150から制御線17 2に接続される。第2の端子はコアアレイ11から線139に接続される。これ ら2つの線172および139によりラッチ154およびデータアウト機能がテ ストされる。
データアウト信号およびデータアウトイネーブル信号双方のラッチが時間法めさ れてもよい。以下に説明されるように、制御線172および175はプログラミ ングユニット150を走るクロック線204に接続されるようにプログラムされ 得る。
その出力動作において、出力ドライバ段110は線134上の信号をマルチプレ クサ+33から入力/出力端子111、つまり集積回路の入力/出力ボンディン グパッドに伝える。マルチプレクサ+33による選択に依存して、線134上の 信号はラッチ154を介するデータアウト線135上のデータ信号であってもよ いし、ラッチ132からの信号であってもよい。NANDゲート157を介する 線170上の制御信号は、出力駆動電流か特定の値に設定されるように線160 上の信号を出力段110に設定する。
NANDゲート155を介する線171上の制御信号は、出力段110がより高 い出力電流を発生するように線IGl上の制御信号を発生する。より大きな出力 電流でも制御信号の組合わせて可能である。プログラミングユニッl−150は また制御線176によって出力ドライバ段110のスルーレートを制御する。
バッファ回路+01のセルはIEEEI149.1規格に基づく信号および入出 力動作のための信号を処理するように配置される。バッファ回路101の第1の セル、つまりマルチプレクサ−フリップフロップ−ラッチ−マルチプレクサ組合 わせ、はその出力端子がフリップフロップ121の入力端子に接続される4対l マルチプレクサ120を存する。フリップフロップ121の出力端子はラッチ1 22の入力端子に接続され、その出力端子は2対lマルチプレクサ123の入力 端子に接続される。マルチプレクサ123の出力端子は線+24によって出力段 +10の入力端子に接続される。
マルチプレクサ120の4つの入力端子は線164、論理1’N状態発生器、こ こではVccの電源、集積回路の内部のノードに接続される線128、および第 2のセル、つまり以下に説明されるマルチプレクサ−フリップフロップ−ラッチ −マルチプレクサ組合わせに属するラッチ131の出力端子に接続される線12 6に接続される。マルチプレクサ120はまた制御線+80Aおよび180B( 3つのセレクトデータデータレジスタ制御線の2つ)に接続され、4つの入力端 子のうちどれが選択されるがを決定する。
フリップフロップ121は2つのクロックされた制御線181Aおよび181B (クロックデータ制御線)に接続され、これらは通常相補的な態様で動作する。
後述されるように、クロックされた制御線181Aおよび181Bはまたパスス ルーモードを含む他のモードでも動作可能であり、このパススルーモードでは信 号はフリップフロップ121の入力端子から出力端子へ直接通過する。ラッチ1 22の入力端子に加えて、フリップフロップ+21の出力端子は2対lマルチプ レクサ159の入力端子に接続される。
ラッチ122はまた制御線l82(更新レジスタ制御線)にも接続される。
ラッチ122の出力端子に加えて、第1の組合わせの2対1マルチプレクサ12 3はラッチ156の出力端子および制御線183(出力モード制御線)に接続さ れ、それを介して選択信号が送られる。
同様に、第2のセルはその出力端子がフリップフロップ131の入力端子に接続 された4対lマルチプレクサ130を有する。フリップフロップ131の出力端 子は線129によりマルチプレクサ159の第2の入力端子に接続され、かつラ ッチ132の入力端子に接続され、これは2対lマルチプレクサ133の入力端 子に接続された出力端子を有する。マルチプレクサ133の出力端子は線134 により出力段110の入力端子に接続される。
マルチプレクサ130の4つの入力端子はラッチ154の出力端子、制御線17 3、集積回路の内部のノードに接続された線138および第3の組合わせに属す るフリップフロップ141の出力端子に接続された線136に接続される。マル チプレクサ120と同様に、マルチプレクサ130は制御線180Aおよび18 0Bに接続される。
フリップフロップ131は第1の組合わせのフリップフロップ+21と同様に制 御線181Aおよび181Bに接続される。同様に、ラッチ132はラッチ12 2および2対lマルチプレクサ+33と同じく制御線182に接続される。マル チプレクサ133はまたマルチプレクサ123と同じくラッチ154の出力端子 および制御線183に接続される。
第3のセルは他の2つのセルとはいくぶん異なっている。
第1の2つのセルの他のマルチプレクサと同しく、第3のセルの4対1マルチプ レクサ140の出力端子はフリップフロップ141に接続され、その出力端子は ラッチ142の入力端子に接続される。ラッチ142の出力端子はプログラマブ ル2対1マルチプレクサ143の入力端子に接続される。マルチプレクサ140 の4つの入力端子は集積回路のシステム論理に至るデータ入力線145、プログ ラミングユニット150からの制御線174、集積回路の内部のノードからの線 148、および線146に接続される。
マルチプレクサ120および130の場合のように、マルチプレクサ140は入 力端子の選択のために制御線+8OAおよび180Bに接続される。同様に、フ リップフロップ141は制御線181Aおよび181Bに接続され、ラッチ14 2は制御線182に接続される。
マルチプレクサ143はマルチプレクサ123および133とは異なる。マルチ プレクサ143の出力端子は出力ドライバ段+10ではなく、線145によって 集積回路の内部に接続される。マルチプレクサ143の1つの入力端子はラッチ 142の出力端子に接続されるか、第2の入力端子は線144によって入力/出 力端子111に接続される。マルチプレクサ143は制御線184(入力モード 制御線)に接続され、この線はマルチプレクサ143をハイインピーダンス状態 にする信号を伝える。マルチプレクサ143はまた制御線162および163に も接続される。
インバータ152を介する制御線162上の信号は、端子I11に接続された入 力端子か選択されるか、ラッチ142に接続された入力端子か選択されるかを決 定する。端子IIIか選択されれば、線163上の制御信号はマルチプレクサ1 43がTTL (Transistor−Transistor Logic  )レベルで動作するか、CMO3(Complementary Metal− Oxide−3emico口ductor ) トランジスタレベルで動作する かを決定する。
制御線180 (18OA−180C)、+81(181A−181B)、18 2.183.184および185は集積回路の制御論理から信号を伝える。この ような論理は上述のこの発明を使って、かつ特定の集積回路の要件に従って動作 するように集積回路設計の分野の当業者によって設計可能である。しかしなから 、この発明はまたIEEE1149.1規格に関連して説明されている。したが って、制御論理はこの規格の仕様によって制限される。
バッファ回路+01は一般に各人力/出力端子ごとに同一構成で繰返される。入 力バッファ回路は前述の制御線180−185に共通接続される。さらに、マル チプレクサ140の入力端子に接続された、1つの人力/出力バッファ回路の線 146は、隣接する入力/出力バッファ回路の対応の線116に接続される。同 様に、第1の入力/出力バッファ回路の線116は第2の隣接する入力/出力バ ッファ回路の対応の線146に接続される。入力/出力バッファ回路101間の これらの接続は図12に示される。
動作中、信号は多くの経路で図12の入力/出力バッフ7回路を介して転送され る。入来データ信号については、端子111からのデータ信号は線144を介し てマルチプレクサ143へと移動する。線184上の制御信号によって選択され た入力モードの状態では、データ信号はマルチプレクサ143を介し線145を 介し集積回路の残りへと通る。出力データ信号は線135上の集積回路の内部か らラッチ154へと伝わり、このラッチは線139上の信号によってクロックさ れる。ラッチ154からの出力データ信号はマルチプレクサ133へと送られ、 このマルチプレクサは制御線183上の出力モード選択信号によって、出力デー タ信号を出力ドライバ段110に送る。ラッチI54はプログラミングユニット 150からの制御線172上の信号によってデータ信号を保持または通すように 設定され得ることに注意しなければんらない。
信号はまたIEEE規格1149.1テストモードで入力/出力バッファ回路を 通って移動することも可能である。
このモードでは、テストデータ信号は隣接する入力/出力バッファ回路の対応の 線+16 (1149,1規格の言葉ではTDO)から線+46 (1149, 1規格の言葉ではTDI)へと移動する。テストデータはマルチプレクサ140 、フリップフロップ141およびマルチプレクサ130への線136を介するデ ータの移動により、各人力/出カハッファ回路を介してシリアルにスキャンされ 得る。そしてデータはフリップフロップ131および線126を介してマルチプ レクサ120へと至る。マルチプレクサ120から、データはフリップフロップ 121およびマルチプレクサ159を介して線116上の次の入力/出力バッフ ァ回路へと移動する。
集積回路のテストのために、テストデータは上述のようにシリアルにスキャンさ れ、各人力/出力バッファ回路の線145上の集積回路のシステム論理に送られ 、集積回路によって所有され、各人力/バッファ回路の線135上で読出される 。所有されたテストデータは次にシリアルにスキャンアウトされ、期待テストデ ータと比較される。これらの動作はすへてIEEE1149.1規格の仕様で説 明される。これらの1149.1テスト法の範囲を越えて、この発明は以下に論 じられるさらなるテスト動作を意図する。
信号はテスト以外の目的のために入力/出力バッファ回路を介してシリアルにス キャンされ得る。たとえば、制御信号は各制御信号が各人力/出力バッファ回路 101のフリップフロップ121,131および141に入るまで上述のシリア ルスキャンパスに沿って伝達されてもよい。ラッチ122.132および+42 は線127.137および147上の信号をそれぞれコアアレイ11に伝えるよ うにイネーブルされる。これらの制御信号、十X、+Yおよび−X、−Yアドレ ス信号はデコード論理に与えられ、プログラミングのためにアレイの配線セグメ ント、ひいては交差プログラマブル素子をアドレス指定する。
データであってもなくても信号はマルチプレクサ143および線145を介して 端子111から入力/出力バッファ回路が受けることがてきることに留意された い。線145から、信号はマルチプレクサ140によって受信され、フリップフ ロップ141にストアされる。ここから、信号はテストデータ信号について説明 されるようにシリアルにスキャンされる。
入力/出力バッフ7回路はまた他の経路でも信号を受信し得る。線128、+3 8および148は集積回路のシステム論理のさまざまなノードに接続される。制 御線180Aおよび180B上の適当な信号により、これらのノードの論理状態 はマルチプレクサ120.130および140を介して読出される。これらの信 号はIEEE規格テストデータについて述へられたようにシリアルにスキャンア ウトされてもよいし、入力/出力バッファ回路の各々のフリップフロップ+31 、ラッチ132、マルチプレクサ133および出力段110を介して順次読出さ れてもよい。集積回路設計の分野の当業者はコアアレイ11へのそのような直接 アクセスの利点を容易に理解するはずである。
マルチプレクサ130および140の入力端子の一方は線!73および174に よりプログラミングユニット150に接続される。制御線180上に適切な信号 がくると、プログラミングユニット150にストアされた情報のビットがフリッ プフロップ131および141にそれぞれロードされる。同時に、Vcot源に 接続されたマルチプレクサ120の入力端子からの論理NJがフリップフロップ 121にロードされる。プログラミングユニット150の2つの記憶場所はIE EEテスト仕様で規定されるレジスタの一部である。各人力/出力バッファ回路 は識別コードレジスタ、ユーザコードレジスタおよびユーザテストレジスタを含 むレジスタの2ビット部分を含む。さらに、2つの記憶場所は製造コードレジス タのような他のレジスタのために使用され得る。
プログラミングユニット150はまた制御線251によってコアアレイ11にも 接続される。入力/出力バッファ回路101の場所に依存して、線251はコア アレイ11の配線セグメントに接続され、線251をロジックハイまたはローに 設定することによってそのセグメントを電気的に塞いでもよい。線251はまた LLB40のアレイに接続されたR/Wデータ線55の一方にも接続され得る。
線251をロジックハイまたはローに設定することにより、線25+に接続され たLLB40はメモリまたは論理動作のために構成される。
入力/出力バッファ回路のプログラミングはユニット150の特定のプログラマ ブル素子をアドレス指定するデコーダ151を介して行なわれる。4つの制御線 186(186A−186D)から、デコーダ151はユニット150をプログ ラムするための1/12選択を行なう。制御線186は制御レジスタから出て、 入力/出力バッファ回路101のすべてをグローバルに通過し、プログラミング 情報が順次ロードされる。特定の入力/出力バッファ回路lO1の選択は114 9.1シリアルスキヤンチエーンで行なわれる。イネーブル信号が特定の回路1 01のフリップフロップ141に順次スキャンされプログラムされる。制御線1 82上の信号により、イネーブル信号はラッチ142で捉えられる。ラッチ14 2の出力端子から、信号は線147によりデコーダ151のイネーブル入力端子 に伝えられる。
図13はプログラミングユニット150の詳細を例示する。ユニット150の出 力端子には制御線169−179および251の参照番号が付けられ、これらに 出力端子の各々が図11に示されるように接続される。出力端子169−179 および251の各々は数本のプログラミング線230−239.249および2 52のうちの1つにそれぞれ接続される。線230−239.249および25 2の各々はそれぞれNMOSトランジスタ260−269.259および256 のソース/ドレインに接続される。トランジスタの他方のソース/ドレインは接 地に接続される。
トランジスタのゲートはデコーダ151がらの12のアドレス線に接続される。
線230−239.249および252の各々はまたそれぞれNMOS)ランジ スタ190−199.209および253のソース/ドレインにも接続され、こ れらトランジスタの他方のソース/ドレインはプリチャージプログラミング線2 00に接続される。トランジスタ190−199.209および253の各々の ゲートはプリチャージ制御線201に共通接続される。
2つの制御線202.203および3つのクロック線204A−204Cが線2 30−239.249および252の各々と交差している。各プログラミング線 230−239および252と制御線202との交点には、アンチヒユーズ21 0−219.259および254が設けられる。
アンチヒユーズ220−229.269および255は各プログラミング線23 0−239.249および252ならびに制御線203の交点に配置される。プ ログラミング線232はまたそのクロック線204A−204Cとの交点にアン チヒユーズ241−243を有し、プログラミング線235はクロック線204 A−204Cとの交点にアンチヒユーズ244−246を存する。
ユニット150のプログラミングは230−239.249および252(なら びに端子170−179.169および251ならびにその制御線)を、通常は 論理ハイの状態である制御線202、通常は論理ロー状態である制御線203、 および異なったタイミング信号を伝えるクロック線204A−204Cに接続す ることによって行なわれる。導電線と制御またはクロック線との間の交点のアン チヒユーズをプログラムすることによって接続が行なわれる。
アンチヒユーズのプログラミングはまずすべてのプログラミング線230−23 9.249および252をプリチャージ状態にすることによって行なわれる。制 御線201上の信号を介して、すべてのトランジスタ190−199.209お よび253はターンオンされ、線230−239.249および252をプリチ ャージ制御線200に接続する。線200は+5ボルトであり、すべての線23 0−239.249および252をこの電圧にチャージする。このように、トラ ンジスタ190−199.209および253はターンオフされる。
選択されたアンチヒユーズ、たとえばアンチヒユーズ227をプログラムするた めに、大きな電圧、この場合はlOボルトの電圧が目標のアンチヒユーズに与え られる。デコーダ151の動作を通して、トランジスタ187はターンオンされ 線237を接地する。同時に、他のデコーダ回路を介して、制御線203は+l Oボルトの特殊プログラミング電圧まで上げられる。(デコーダ回路およびプロ グラミング電圧を発生するための回路は図面には示されていない。集積回路設計 の分野の当業者であればデコーダおよびプログラミング電圧回路を設計すること を知っているであろう。)10ボルトの電圧がアンチヒユーズ227に与えられ た状態で、このアンチヒユーズはプログラムされ、線237はローの論理状態の 制御線203に接続される。
他の線230−236.238−239.249および252が+5ボルトの中 間電圧にプリチャージされた状態で、これらの線の交点にあるアンチヒユーズは 10ボルトの大きなプログラミング電圧を経験しないので、未プログラム状態の ままである。この態様で、制御線230−239.249および252はハイの 論理状態、つまり制御線202への接続状態か、またはローの論理状態、つまり 制御線203への接続状態に設定される。
導電線232および235はまたアンチヒユーズ241−246をプログラムす ることによってクロック信号線204A−204Cに接続され得る。これらのア ンチヒユーズは上述と同じ態様でプログラムされる。しかしながら、この場合、 クロック線204A−204Cはプログラミング電圧まで上げられる。
プログラミングユニット150は入力/出力バッファ回路101の動作を設定す ることが可能である。たとえば、制御線169はアンチヒユーズ269をプログ ラムすることによってローに設定され得る。アンチヒユーズ244−246の1 つをプログラムすることにより、制御線175は出力ドライバ段110か周期的 にイネーブルされるようにクロック信号を伝える。端子111は周期的にローに され、そうてなければ端子I11はオーブン回路の一部である。出力ドライバ段 +10はアンチヒユーズ215または225をプログラムして、制御線175を ハイまたはローに設定することにより、完全にイネーブルまたはディスエーブル され得ることに留意されたい。
クロックグリッド 動作のタイミングのために、FPGAはタイミング信号に対する多くのオプショ ンを有する。以下に説明されるように、FPGAは図14Aに示されるように、 ユーザの特定のアプリケーションに対しグローバルクロック信号、グローバルイ ネーブルまたはリセット信号もしくは他のとんなハイファンアウト信号でも柔軟 に与えるクロックネットワークを有する。クロックネットワークは集積回路ダイ の周辺に置かれた数個のプログラマブルクロック回路によって設定される。これ らのクロック回路は1149.1シリアルスキヤンパスにあり、入力/出力バッ ファ回路101と同様に、シリアルスキャニングによってクロック回路に転送さ れる制御信号によってプログラムされ、これについては図14Bに例示的に示さ れる。
図14Aに例示的に示されるように、2対の入力クロックパッド112A−11 2Bおよび112cm112Dは各対か集積回路の両側に配置されており、外部 からのタイミング信号を受信することができる。各入力クロックパッド112A −112Dは対応の入力クロックイネーブル回路+05A−105Dに接続され る。プログラムされた制御信号に応答して、各入力クロツクイネーブル回路10 5A−105Dは対応の入力パッド112A−112D上の信号をバッファし、 それをクロックネットワークの残りに送るか、または入力パッド上の信号をデー タ信号として処理する。その場合、入来信号はシュミットトリガ回路によって条 件決めされ、クロックネットワークとは別のデータ経路に送られる。上述の特許 出願、米国特許出願連続番号第07/718.667号は入力/出力バッフ7回 路を開示し、この回路ではシュミットトリガ回路が入来信号を条件決めするため に使用され得る。
入力クロックイネーブル回路105Aおよび105Bから、入力クロック選択回 路106Aおよびl06Bは、真または反転のいずれかの形式で、4つのクロッ ク線206上にパッド112Aおよび112Bからのクロック信号のプログラマ ブルな選択を与える。加えて、入力クロック選択回路106A−106Bはそれ ぞれ入力端子114Aおよび114Bを有し、これらは垂直ロングラインおよび 水平チャネルトラックセグメントのようなコアアレイ配線セグメントに接続され る。入力端子114Aおよび114Bは既にコアアレイ11の一部にあるクロッ ク信号がアレイ11の他の部分に移動するための道を与える。
同様に、入力クロックイネーブル回路105Cおよび105Dを介して、入力ク ロック選択回路106cおよび106Dは、真かまたは反転のいずれかの形式で の4つのクロック線208上へのパッド112cおよび112Dからのクロック 信号のプログラマブル選択を実現する。入力クロック選択回路106C−106 Dはまたそれぞれ入力端子114cおよび114Dを有し、これらの端子はコア アレイ配線セグメントに接続され、アレイ11の一部がらアレイ11の他の部分 へのクロック信号経路を選択的に与える。
2組の4つのクロック線205および206はコアアレイ11の周囲を取り囲む 。2つのプログラマブルクロックバッファ回路108Aおよび108Bはクロッ ク線205および206からの選択された信号を各チャネル17を走るトラック セグメント207上に協働的に駆動し、コアアレイ11にタイミング信号を与え る。2つのバッファ回路108Aおよび108Bは、コアアレイ11のクロック 信号が両側から同時に駆動され伝搬遅延を最小限にするように協働的に動作する 。
クロック信号はまたリングクロック線204によって集積回路ダイの周囲に設け られ、これらのリングクロック線204は集積回路の周辺を走っている。これら のクロック線204 (204A−204C)上の信号はたとえば入力/出力バ ッファ回路101のための動作を時間法めする。
リングクロック線204Aはダイの周囲を完全に取り囲む様に走っている。他の 線204Bおよび204Cは周辺の2つの隣接する辺に沿う2対のL字形状のラ インセグメントによって形成される。1対の各り字形状のラインセグメントは他 方のラインセグメント対によってその周囲に沿って連続的に延ばされる。各対の 位置はラインセグメント対の空いた角および閉じた角が一致しないように90’ 回転される。このように周辺の各辺には3つのクロック線2゜4A−204Cが ある。
これらのリングクロック線204A−204Cは選択的に数個の源から駆動され てもよい。リングクロック線2゜4Aはクロック人力パッド112A−112D 上の信号によって駆動され得る。リングクロックトライバ回路107Aおよび1 07Bのプログラミングにより、パッド112Aおよび112Bからの信号がク ロック線208上に置かれるかどうかか決定され、リングクロックトライバ回路 107Cおよび107Dのプログラミングにより、パッド112Cおよび112 Dからの信号がクロック線209上に置かれるかどうかが決定される。回路10 8Aおよびl08Bのプログラミングはリングクロック線204Aに対する線2 08または209からの信号を選択する。
分割されたリングクロック線204Bおよび204Cはプログラマブルリングク ロックドライバ回路107A−107Dによって駆動され、その各々はそのそれ ぞれの入力クロツクパッドll2A−112Dから1つの入力クロック信号を、 かつ入力端子113A−113Dから第2の入力クロック信号をそれぞれ受取る 。人力クロツク選択回路106A−106Dのための入力端子+14A−114 Dのように、端子113A−113Dは垂直ロングラインおよび水平チャネルト ラックセグメントのような配線セグメントにプログラミングにより接続され、コ アアレイ11の信号をリングクロック線204Bおよび204Cに経路指定する 。集積回路の周辺の動作はコアアレイ11の動作と容易に時間合わせされ得る。
図15は入力クロックイネーブル回路105A−105Dを詳細に示す。この回 路は入力/出力バッファ回路lO1に与えられたのと同じシリアルスキャンパス 用の素子の多くを有する。したがって、同じ参照番号がマルチプレクサ120. 130および140、フリップフロップ121゜131および141などに使用 される。図15の修正された素子は人力/出力バッフ7回路101の素子と同じ 態様で動作し、かつ同じ機能を果たすので、同じ参照番号がrAJの文字を付け て使用される。たとえば、図15のプログラミングユニット150Aは図11の プログラミングユニット150と同じ態様で動作し、同じ機能を存する。
同じことか図15のデコーダユニット151Aにも当てはまる。したがって、プ ログラミングユニット150Aは入力/出力バッファ回路101のプログラミン グユニット150と同じ方法でプログラムされる。プログラミング信号が制御線 186上で送られ、イネーブル信号は1149゜1シリアルスキヤンパスに沿っ てプログラミング(または事前プログラミングテスト)の目標とされた回路に送 られ図15の回路は3人カマルチブレクサ(およびデコーダ回路)143Aを有 する。マルチプレクサ+43Aの入力端子の1つはクロック入力バッド112( 112A−112D)に接続される。もう1つの入力端子はラッチ142Aの相 補出力端子に接続される。プログラミングユニット150Aからの制御信号に応 答して、マルチプレクサ143Aは2つの入力端子のいずれかから2つの出力端 子のいずれかへの信号を選択することが可能である。一方の出力端子は入力クロ ック選択回路106 (106A−106D)およびリングクロックトライバ回 路107(107A−107D)に接続される。第2の出力端子は線145Aに よってマルチプレクサ+40の入力端子に接続される。
この配列によりテスト信号をシリアルスキャンパスを介してスキャンインするこ とができ、特定のテスト信号をテスト中ラッチ142Aにロードすることができ る。ラッチ142Aの反転テスト信号はクロック入力バッド112からの固定信 号であるように見える。この信号は次に入力クロック選択回路106およびリン グクロックトライバ回路107に送られる。このようにクロック信号は以下に論 じられるテスト手順の間パッド112A−112Dに必要とされない。
入力/出力バッフ7回路101および入力クロックイネーブル回路105A−1 05Dと類似の配列で、他のクロック回路106A−106D、107A−10 7Dおよび108A−108Bは入力/出力バッファ回路101に対して説明さ れたのと同じ態様でプログラマブルである。すべてのクロック回路は図14Bに 示されるのと同じ人力/出力バッファ回路101の1149.1シリアルスキヤ ンパスで接続される。各回路はバッファ回路101について説明された第1のマ ルチプレクサ−フリップフロップ−ラッチ−第2のマルチプレクサ配列を含む。
同様に、回路105A−105C,106A−106D、107A−107D、 および108A−108Bの各々はまた同じ型のプログラミングユニット150 およびその五ニットのための同じ自己プログラミング技術を含み、その結果セル はクロックネットワークのための選択された経路に従ってクロック信号を経路指 定する。
コアアレイ11ては、様々な素子がFPGAがプログラムされる前にテストされ なければならない。これらの素子にはアレイ11の様々な配線セグメント、C3 T行15のトランジスタおよび行16のLLBが含まれる。この発明はコアアレ イ】1の配線セグメントをプログラムするために使用される回路に別の機能を与 える。これらのプログラミング回路、つまり、プログラミングトランジスタおよ びプログラミンググリッドもまたテストのために使用される。
テスト動作において、vPPピンは+プログラミングアドレス回路か動作すると 、論理レベル間、つまり+5ボルトと0ボルトとの間て駆動される。V s s ピンは接地、つまり0ボルトに保持される。これはIMI 6Aおよび図8に象 徴的に示される。この態様で、アンチヒユーズをプログラムするために必要とさ れるより低い電圧が、以下に説明されるテスト動作のためにアレイ11の選択さ れた場所に与えられる。第3のビン、VpbはC3T行15のトランジスタのた めの分離トランジスタのテスト中に使用される。
しかしながら、接地に保持されるVPPピンにもかかわらず、+および−プログ ラミンググリッドはどちらもテスト動作てハイまたはローに駆動され得る。これ は各プログラミンググリッド、+または−に接続される第1のプログラミングト ランジスタと反対の極性の第2のプログラミングトランジスタによって達成され る。もし第1のプログラミングトランジスタかvPPビンに接続されれば、第2 のプログラミングトランジスタはV ssピンに接続される。逆の接続とされて もよい。
図168では、第1のプログラミングトランジスタはソースかV p pに接続 され、ドレインが+プログラミンググリッド79の一方に接続されたPMO3I −ランジスタフ3である。第2のプログラミングトランジスタ72Aはソースか 接地、つまり、V B 3ピンに接続され、ドレインがプログラミンググリッド に接続されたNMO3I−ランジスタである。トランジスタ72Aのゲートは、 テスト機能がイネーブルされたとき、グリッド79がトランジスタ73によって ハイにされ論理rNにされるか、またはトランジスタ72Aによって論理「0」 にされ得るように、トランジスタ73と同じアドレシング回路に接続される。
図16Cは相補的な状態を例示する。第1のプログラミングトランジスタはソー スがプログラミングV s sピンに接続され、ドレインか−プログラミンググ リッド78に接続されたNMO3I−ランジスタフ2である。第2のプログラミ ングトランジスタ73AはソースがVppビンに接続され、ドレインがプログラ ミンググリッド78に接続されたPMO3)ランジスタである。トランジスタ7 3Aのゲートはトランジスタ72と同じアドレシング回路に接続される。
テスト機能がイネーブルされた場合、トランジスタ73Aがハイかローのいずれ かに駆動され得るV p pビンにグリッド78を接続することができるか、ま たはトランジスタ72かV s sピンを介してグリッド78を接地することか できる。
FPGAの様々な部分に対するテスト手順を以下に詳細に説明する。
C3T行トランジスタ、ゲートおよびSD配線セグメントC3T行15のトラン ジスタのゲートおよびSD配線セグメントの完全性ならびにトランジスタそれ自 体の機能性は一緒にテストされる。図17はC3T行15の4タイルグループの PMOSトランジスタ21A−21Dの代表的な切り離された行を示す。テスト は左から右に1つずつ進む。図16のトランジスタについては、左側のトランジ スタ21AのゲートならびにSD配線セグメント23DD。
23Aおよび25Aがテストされる。この説明を行なう上の約束事として、SD 配線セグメント25DDは描かれたpNioshランジスタのすぐ左側のPMO 3I−ランジスタのうちの第4のPMOS l−ランジスタのSD配線セグメン トとし、応じて参照符号をつける。
図18Aに示されるように、プログラミング制御線−Y4および−Y1は、適当 なX線とともに、それぞれのNMOSプログラミングトランジスタをターンオン する。SD配線セグメント25DDおよびゲート配線セグメント23Aは、図9 のテーブルによって示されるように、−プログラミンググリッド、つまり−PR OG 1に接続され、SD配線セグメント25Aは−プログラミンググリッド、 つまり−PROG2に接続される。−PROGlグリッドはまず論理「0」状態 に設定され、一方−PROG2グリッドは論理rlJ状態に設定される。配線セ グメント25DD。
23Aおよび25AならびにPMOSトランジスタ21Aが適切に機能していれ ば、トランジスタ21Aはターンオンし、電流は配線セグメント25DDおよび 25Aを通って流れるはずである。次に−PROG lグリッドか論理rN状態 に設定され、一方−PROG2グリッドが論理「0」状態に設定される。トラン ジスタ21Aはオフのままであり、配線セグメント25DDおよび25Aには電 流が何も流れないはずである。このテスト中、すべての他の配線セグメントは論 理「l」、つまり+5ボルトに設定され、アレイ11の他のPMOS )ランジ スタをターンオフの状態に保つ。
次に、図18Bに例示されるように、PMOSトランジスタ21Bが類似の態様 でテストされる。C3T行15のPMOSトランジスタに関連づけられたすべて の他の配線セグメントが論理「l」、つまり、+5ボルトに設定され、アレイ1 1の他のPMOSトランジスタをターンオフの状態に保つ間、SD配線セグメン ト25Aおよびゲート配線セグメント23Bは一プログラミンググリッド、つま り−PROG2に接続され、SD配線セグメント25Bは一プログラミンググリ ッド、つまり−PROG3に接続される。
図9のテーブルはこれらの接続を示す。−PROG2グリッドはまず論理「0」 状態に設定され、一方−PROG3グリッドは論理「1」状態に設定される。配 線セグメント25A、23Bおよび25B1ならびにPMOSトランジスタ21 Bが適切に機能していれば、トランジスタ21Bはターンオンされ、配線セグメ ント25Aおよび25Bを介して電流が流れるはずである。次に−PROG2グ リッドが論理NJ状態に設定され、一方−PROG3グリッドが論理「0」状態 に設定される。トランジスタ21Bはオフのままであり、配線セグメント25A および25Bを介して電流は何も流れないはずである。
トランジスタ21Cおよび21Dのテストは同じ態様で連続的に続けられ、図1 8Cおよび図18Dによって示されるように、C8T行の次の組のPMOSトラ ンジスタへと続けられる。同じ態様で、C3T行15のNMOSトランジスタが 連続してテストされる。しかしながら、この場合、電圧の極性は逆にされる。
±Yl−Y4制御線およびプログラミンググリッド、−PROGlから−PRO G6および+PROG 1から+PROG5のこの配列と、C3T行トランジス タの段階テストとの組合わせは、各目標のトランジスタをテストするための最少 必要条件である。図9のテーブル上では、各トランジスタの段階テストは各トラ ンジスタごとに3つの配線セグメントでジグザグパターンをつくり出している。
説明された技術はアレイ中の欠陥トランジスタに正しく導く。
C8T行のトランジスタ分離 C3T行15(7)PMOSおよびNMO3)う:/ジスタノための分離トラン ジスタ回路の動作性もまたテストされ得る。
図1Oに示されるように、各C3T)ランジスタのゲートは2つの分離トランジ スタに接続される。PMOSトランジスタ21A−21Dに対しては、分離トラ ンジスタはPMOSトランジスタ301A−301Dおよび311A−311D である。ゲート配線セグメント23A−23Dはこれらの分離トランジスタ30 1A−301Dおよび311A−311Dをテストするために使用される。NM OSトランジスタ2OA−20Dに対しては、分離トランジスタl;tNMO3 トラ’、’)ス9300A−300Dおよび310A−310Dである。ゲート 配線セグメント22A−22Dは分離トランジスタ300A−300Dおよび3 1OA−310Dをテストするために使用される。
分離トランジスタのすべてがターンオンであることをテストするために、C3T 行15から選択されたトランジスタの各対の分離トランジスタは一度にアドレス 指定される。
選択されたトランジスタのゲート配線セグメント上の結果として生じる電圧は配 線セグメントおよびvPPビンのためのプログラミンググリッドを介してチェッ クされる。次のトランジスタのための分離トランジスタが同一の態様でテストさ れ、順番にテストが続けられる。
たとえば、i番目のC3T行の分離トランジスタ301Cおよび311Cか、制 御線302Cおよび303iをローに駆動してトランジスタ301Cおよび31 1Cをターンオンすることによってテストされる。このテストモードでは、V  p bピンが正の電源、っまりV CCに設定される。プログラミング回路のア トルス回路により配線セグメント23Cがそのプログラミンググリッドを介して ローに駆動されるV PPピンに接続される。もし分離トランジスタ301Cお よび311Cが適切に動作していれば、■、ピンでの電圧はハイになり電流がそ のピンを介して流れる。VPPビンの電圧または電流を測定することにより、分 離トランジスタがテストされる。連続的なテストがC3T行の左側か右側の次の 2つの分離トランジスタに対して行なわれる。
NMO3分離トランジスタ300A−300Dおよび310A−310Dのテス トは類似の態様で行なわれる。C3T行15の選択されたPMO3トランジスタ の1対の分離トランジスタがターンオンされた後、選択されたトランジスタ2O A−20Dのゲート配線セグメント22A−22Dはプログラミング回路を介し てアドレス指定されてその配線セグメントに対するプログラミンググリッドを介 して■□ビンに接続される。分離トランジスタ310A−310Dのソースは接 地されているので、VPPビンは論理「l」に保持される。もし分離トランジス タが適切に機能していれば、vPPピン上の電圧はローにされ、電流がピンを通 って流れる。分離トランジスタはV P Pピン上の電圧または電流読取り時に よってテストされ得る。このテストは次の場所・・・へと移る。
分離トランジスタが適切にターンオフしていることをテストするために、並行テ ストが行なわれる。PMO3分離トランジスタ301A−301Dおよび311 A−311Dをテストするために、たとえば1行の分離トランジスタが一度にチ ェックされる。選択された行の分離トランジスタ301A−301Dがターンオ ンされているので、選択された行の分離トランジスタ311A−311Dがター ンオフされる。同時に、選択された行のゲート配線セグメント23A−23Dの すべてに対するプログラミングアドレス回路は配線セグメント23A−23Dを 論理「0」でローに保持されるVPPピンに接続する。選択された行の分離トラ ンジスタ301A−301Dがターンオフされ、選択された行の分離トランジス タ311A−311Dがターンオンされる。
ゲート配線セグメント23A−23Dに関連のある分離トランジスタは一度に2 つターンオンされないので、VPPピンから接地への電流経路は何もないはずで ある。選択された行の分離トランジスタ301A−301Dおよび311A−3 11Dのうちの1つ以上が適切に機能していなければ、電流がVPPピンに流れ 、そのピンはハイにされる。
そのFPGAは不良である。
分離トランジスタ300A−300Dおよび310A−310Dは、VPPピン が論理用」のハイに保持されることを除いては同しようにテストされる。もし分 離トランジスタが適切にターンオフすれば、V ppルピンハイのままである。
もし分離トランジスタのいずれかが不良であれば、VPPピンは電流源となり、 そのピンはローになる。
配線セグメントの連続性テスト コアアレイ11の配線セグメントのほとんどすべての連続性がプログラミング回 路を使ってテストされ得る。これらの配線セグメントは配線チャネル17の水平 トラックセグメント、垂直および局所シェブロン30および31ならびにロング ラインセグメント32を含む。
前に説明されたように、これらの配線セグメントの各々は+x、 十yアドレシ ング回路に結合されたPMOSプログラミングトランジスタ、および−X、−Y アドレシング回路に結合されたNMOSプログラミングトランジスタ(またはチ ャネル17のトラックセグメントの場合にはNMOSテストトランジスタ)に接 続される。これらのプログラミングトランジスタの各々は、図3に示されるよう に、配線セグメントの一方の端部に接続される。PMO3およびNMOSプログ ラミングトランジスタの双方が同時にアドレス指定されると、もし配線セグメン トの完全性が損なわれなければ、アドレス指定された配線セグメントによって電 流経路か形成される。
トラックセグメントのためのNMOSテストトランジスタは大きさを除いてはN MOSプログラミングトランジスタと同じであることに留意されたい。各テスト トランジスタは単一のPMOSプログラミングトランジスタに接続された端部と は反対の各セグメントの端部に接続される。テストトランジスタは連続性テスト のための電流経路を与えるに十分な大きさに寸法法めされる。各テストトランジ スタはプログラミングトランジスタによって使用されるのと同しアドレス回路± X、±Yによってアドレス指定される。
NMOSプログラミングトランジスタにのみ接続されたラッチセグメント33− 36の完全性はLLB40上の機能性テストによってテストされる。これらのテ ストについて以下に説明する。
LLB機能性テスト コアアレイ11のLLB40は1行のLLBを同時にアドレス指定し、リード/ ライト線55上の結果として生じる出力ビツト信号を並行して読取ることによっ てテストされる。LLB40の出力信号は周辺14の入力/出力バッファ回路1 01のリード/ライト線55を介して捉えられる。
各配線セグメント33−36、つまり図9に示されるlN5CLKB、OUTお よびFBは唯一のプログラミンググリッドに接続される。グリッドはハイおよび ローの両方に駆動され、論理テスト信号はグローバル水平LLB線、つまり、リ ードセレクト線56、相補レディセレクトロー線57、ライトセレクト線58、 テストロ−線59およびプログラミング線60、ならびにグローバル垂直LLB 線、つまりカラムセレクト線54上に与えられるので、LLB40に対する入力 信号は完全にかつ独自に制御され得る。
入力信号の組合わせは垂直リード/ライト線55上の結果として生じる出力信号 に合わせて設定され得る。この出力信号は入力/出力バッフ7回路101のうち の1つで捉えられる。入力/出力バッファ101の1149.1シリアルスキヤ ンチエーンを介して、これらの出力信号はシフトアウトされ、正確さが検査され る。このテストは一度に1つのLLB行進み、行内のすべてのLLB40に対す る入力信号は同じ条件に設定され、行全体の出力信号は1149.1シリアルス キヤンチエーンで並列に捉えられる。この並列テストはテストの生産性を大幅に 高める。
上述のLLBテストのために、リード/ライト線55がテスト出力信号を伝える ために使用される。しかしながら、リード/ライト線55はまた図4に示される ような入力線としても使用され得る。この場合、入力/出力バッファ回路のプロ グラミングユニット+50からの制御線251の1つは線55に対するテスト論 理状態を設定する。入力/出力バッファ回路101それ自体をテストする際の下 に説明される動作によって、プログラミングユニット150は、線251および それが接続されている線55を、テストのために一時的に論理ハイまたはローの いずれかに設定し得る。このテストを実行するために、配線セグメント34−3 6のための1組の入力信号、つまり、IN、CLKBおよびFB、ならびにリー ド/ライト線55を含むグローバル水平および垂直LLB線はLLB40の行に 対する内部状態を確立する。内部状態はOUT配線セグメント33、そのプログ ラミングトランジスタ、プログラミンググリッドおよびプログラミングピンV  s sを介して各LLB40から読出され得る。これはその行のすべてのLLB に対して連続的に行なわれ、次の行は同じ態様でテストされる。リード/ライト 線33がテストされるだけはなく、各LLB40のOUT配線セグメント33も またテストされる。
ヒユーズストレステスト アンチヒユーズに関する重要点の1つは通常動作中不注意にプログラムしないよ うに十分なマージンを有することである。このことが起こらないことを確実にす るために、各ヒユーズは通常動作電圧より高いが、最小の予想されるプログラミ ング電圧より低い電圧を受ける。この発明のFPGAにおいて、このテスト電圧 は+6.5ボルトである。
通常動作電圧はOから+5ボルトの範囲である。アンチヒユーズは8と10ボル トとの間の電圧でプログラムする。
効率性のために、アンチヒユーズの大きなブロック(1000から10000) 、つまりストレスのかけられたアンチヒユーズの両側に接続された配線セグメン トがアドレス指定され、テスト電圧がアンチヒユーズに同時にかつ連続的に与え られる。1つ以上のアンチヒユーズが不良でありプログラムされると、VPPピ ンとViaビンとの間に電流が生じる。この電流が検出され、不良のFPGAは 捨てられる。
これらのテストを実行することにより顧客が受取る製品の信頼性が大幅に高めら れる。
入力/出力バッファ回路 入力/出力バッファ回路101が入力/出力バッファ回路101(ならびにクロ ックセル105A−105D、106八−106DS 107A−107D、お よび108A−108B)の間に形成されるシリアルスキャンチェーンを介して テストされる。これらのテストはFPGAがプログラムされる前に行なわれ、1 149.1テスト規格によって考えられるテストとは区別てきることに留意され たい。
これらのテストを実行するために、テスト制御信号が制御線186上に与えられ る。イネーブル信号は図IIに示される各バッファ回路101の線146、マル チプレクサ140、フリップフロップ141によって初めに形成されたシリアル スキャンチェーンを通される。スキャンパスはマルチプレクサ130、フリップ フロップ+31、マルチプレクサ120、フリップフロップ121および最終的 にはマルチプレクサ+59を通り、線116を介して次のバッファ回路+01へ と続く。イネーブル信号が各回路+01のラッチ142によって捉えられた後、 この回路は線186上の制御信号によって課せられた条件に対してテストされる 。
イネーブル信号か次の回路101にスキャンされ、その結果同じテストがその回 路に対して実行され得る。
ユニット+50をプログラムする場合のように、制御線186A−186Dから デコーダ151へのテスト制御信号はプログラミングユニット150への制御線 を設定する。
同時に、プログラミングユニット150のプリチャージ制御線200は、図13 に詳細に示されるように、ロジックハイ、つまり+5ボルトに設定される。制御 線201上の信号はまた、プログラミングユニット150から生じる制御線なら びにプログラミング線230−239および249が通常ハイであるように、N MOSトランジスタ190−199および209をターンオンする。
プログラミング線230−239および249はデコーダ151からの線によっ てハイまたはローに設定される。
デコーダ+51は接地に接続されかっNMo5トランジスタ190−199およ び209より遥かに大きいNMOSトランジスタ260−269および259を 選択的にターンオンする。このサイズの違いにより、ターンオンしたトランジス タ260−269および259の各々はその対応するトランジスタ190−19 9および209に打ち勝つことができ、対応のプログラミング線230−239 および249をローにすることが可能である。プログラミングユニット150の 制御線169−179はここで入力/出力バッファ回路101をテストするため に設定される。
大半のプログラミングテストにおいては、制御線186に応答するデコーダ15 1の動作はテストに十分である。
しかしながら、デコーダ151は一度に制御線169−179および251のう ちの1つを設定する。2つの制御線の設定を必要とする入力/出力バッファ回路 101の特性をテストするために、制御線185が使用される。NANDゲート 155および157を使用して、制御線185は制御線160および161の一 方または双方がテスト中同時にターンオンされることを許容する。線160およ び161は出力段110から電流駆動を選択する。同様に、NANDゲート15 3を使って、制御線185は端子111からの入力信号のための論理レベルを選 択することができる一方で、他の制御線がテストのためにプログラミングユニッ ト150によって設定されることを許容する。
テストの読取りは端子111を介して実行され得る。
クロックネットワーク クロックネットワークのテストは1149.1テストパスを介するテスト制御信 号の最初のスキャンによって実行され、このテストパスは入力/出力バッファ回 路101に対して説明されたのと同じ態様でクロック回路105A−105C, 106A−106D、107A−107Dおよび108A−108Bを構成する 。テスト用に構成されたクロック回路はクロックネットワークの選択された経路 上のクロック信号を経路指定する。選択された経路の完全性はクロック回路10 5A−105C,106A−106D、107A−107Dおよび108A−1 08Bの機能性でテストされる。構成テスト制御信号に加えて、1149゜1シ リアルスキヤンパスはまたクロックネットワークの選択された経路に送られるべ き入力クロックイネーブル回路105A−105D用の入力クロックテスト信号 を伝える。
コアアレイ11のクロックネットワークの入力クロックテスト信号はVPPピン を介して読出されてもよいし、または任意にシリアルスキャンパスで捉えられ順 次読出されてもよい。
次に新しい組の制御信号がクロック信号伝搬経路を変えるためにスキャンされ、 新しい信号伝搬経路がチェックされる。この手順はすべてのクロック信号伝搬経 路がチェックされるまで繰返される。
図19はクロック入力パッド112Bとコアアレイ11のチャネル17の水平ト ラックセグメントの1つとの間のクロックネットワークの例示的な選択された信 号経路を示す。入力パッド112Bを介してではなく、テストクロック信号はシ リアルスキャンチェーンを介して図15に詳細に示される入力クロックイネーブ ル回路105Bにスキャンされる。マルチプレクサ140およびフリップフロッ プ141から、テスト信号はラッチ142で捉えられる。マルチプレクサ143 Aはテストクロック信号をクロック入力選択回路106B、クロック線206の うちの選択された線、クロックバッファ回路108Aおよび108Bを介して、 コアアレイ11のチャネル17の各々のトラックセグメントの1つ上に送る。
クロック回路のためのシリアルスキャンパスのテスト制御信号の他に、入力/出 力バッファ回路101のテスト制御信号はプログラミンググリッドおよびプログ ラミングトランジスタを介してチャネル17の選択されたトラックセグメントを アドレス指定する。このように選択されたトラックセグメントはV PPビンに 接続される。外部からテストパッド112上て駆動されたように見えるラッチ1 42のテスト信号が、V ppルピン接続された電流計または電圧計のようなテ スト回路によって、Vppピン上に現われる信号に対してチェックされる。代替 的に、入力/出力バッファ回路101およびクロック回路は線128.138お よび148を介してコアアレイの選択された配線セグメントに接続されているこ とを思い出さなければならない。選択されたトラックセグメントかこれらの線1 28.138および148のうちの1つに接続されていれば、トラックセグメン ト上の信号は、マルチプレクサ120.130および140を介して読出されて 、フリップフロップ121.131および141それぞれにより取込まれてもよ い。信号は遂に1149.1シリアルスキヤンパスに入り、読出され、ラッチ1 42に与えられた入力クロックテスト信号に対してテストされる。
リングクロック線204A−204C上のクロック信号伝搬経路もまた同じ態様 でチェックされる。入力クロックイネーブル回路!05A−105Dから、入力 クロツク選択回路+061−106D、クロック線208および209、ならび にクロックバッファ回路108A−1088を介してリングクロック線204A に続く選択された伝搬経路は上述と同じ方法でテストされ得る。リングクロック 線204AはVP、ビンに接続されるPMOSプログラミングトラシジスタに接 続される。クロック入力パッド112A−+12Dの1つ上のテスト信号はVP Pピンで受取られた信号に対してチェックされ得る。
分割されたリングクロック線204Bおよび204Cに対しては、テストは僅か に複雑になる。図20に示されるように、PMO3およびNMOSプログラミン グトランジスタ(ならびに対応する■、およびV ssビン)は、ここではリン グクロック線204Cによって示されるL字形状の配線セグメントの各角に接続 される。各り字形状のラインセグメント対の開いた角には、2つのL字形状のラ インセグメントを一体接続するためのテストトランジスタがある。
分割されたリングクロック線204Bおよび204Cのうちの1つ上への経路指 定のテストの間、テストトランジスタはまた周辺の選択されたリングクロック線 204Bまたは204Cのための完全な電気的経路を形成するようにイネーブル される。クロック入力パッド+12A−112Dのうちの1つ上のテスト信号が vPPピンで受取られた信号に対してチェックされてもよい。
この態様で、すべての可能なりロック経路がチェックされ得る。
集積回路速度特性テスト この発明はまたFPGA集積回路のためのプロセス評価テスト、つまり「ピニン グ」テストを与える。すべての集積回路に対して、回路の速度をテストすること が望ましい。
一般に、回路の速度が速ければ速いほど、集積回路のための製造プロセスの実施 結果は良くなる。典型的には集積回路のパッド上のテストプローブは発生された テスト信号を集積回路に送り、非常に短い時間の経過後出力信号がこのテストプ ローブによって受信される。数10の、多分100のmHzの切換速度を有する 高価な高速テストマシンがこの時点で必要とされる。
この発明はコストのかかるテストマシンを回避するために比較的遅い切換速度を 有するテストマシンを使用するテストを提供する。
FPGA集積回路は、入力/出力バッファ回路101、入力クロックイネーブル 回路105A−105D、入力クロツク選択回路106A−106D、リングク ロックトライバ回路107A−107D、クロックバッファ回路l08A−10 8Bなどのその周辺回路を有し、これらの回路は図14Bに例示されるように、 IEEE1149.1テスト規格に基づくシリアルスキャンチェーンで接続され ている。これらの回路の各々のマルチプレクサおよびフリップフロップはこれら の順次スキャンされた信号の経路にある。
FPGAは図14Bの制御線181Aおよび181Bによって制御されたパスス ルーモードを有し、これによって信号は各マルチプレクサ入力端子からマルチプ レクサ出力端子を介しフリップフロップ入力端子へと通り、フリップフロップ出 力端子を出て次のマルチプレクサ−フリップフロップ組合わせへと通って行く。
実際、1149.1シリアルスキヤンチエーンは図21に例示されるリングオシ レータ経路300になり、この経路ではインバータ321が周辺回路のフリップ フロップから形成される。
どんなリングオシレータを使った場合にも、信号はTD■入力端子およびインバ ータ321を介してデータ経路に送られる。ある測定された量の時間の経過後、 信号はマルチプレクサ301およびTDO出力端子を介して戻り、外部カウンタ 303に記憶される。集積回路の周りの経路は長いので、テストマシンの比較的 遅いカウンタ303が使用されてもよい。
しかしながら、このテストはFPGA回路の大部分を形成するアンチヒユーズに ついては情報を何も示さない。この発明は多数のアンチヒユーズをプログラムし コアアレイ11のC3T行15のトランジスタからインバータ320のチェーン 302を形成することによってアンチヒユーズをテストする。インバータ320 の数はかなり小さく、コアアレイ11の大きさに依存してほぼ10−50であり 、その結果コアアレイ11の大半はユーザの利益のために未プログラム状態のま まにされる。チェーン302は理論的にはコアアレイ11のどこでもプログラム され得るが、インバータ320のテストプログラミングは特殊な制御可能なV  ccおよび接地線の場所のために、アレイ11の左端に置かれる。
コアアレイチェーン302は、テスト信号がここでインバータ321およびイン バータ320を通らなければならないように、周辺回路チェーン300に加えら れる。信号が完全なループを形成し、カウンタ303が記憶するための時間か長 くなる。この時間の増加はカウンタ303によって容易に測定されるが、アンチ ヒユーズを含む回路素子によって形成されるインバータ320からの遅延による ものである。
図22はC3T行15の接続がインバータ320の1つを形成するためにとのよ うに行なわれるかを詳細に示す。
インバータ320を形成する配線セグメントおよびアンチヒユーズのみが示され る。
アレイ11の左に制御可能な電源線があり、これらの線はプロセス評価テストの ためにのみ使用される。これらのテスト中、線28Aは正の電源電圧、つまりV 。Cに設定され、線29Aは接地電源に設定される。他の態様では、線28Aお よび29Aは任意のフローティング状態とされる。
図22てわかるように、線28Aおよび29AはC3T行15に対して垂直にか つその左端を走っている。各行15の最も左のPMO3)ランジスタ21Aおよ び最も左のNMO3)ランジスタ2OAのソースはそれぞれ制御可能な電源線2 8Aおよび29Aに接続される。
各行15に各インバータ320を形成するために、配線セグメント27Aは配線 セグメントの交点のアンチヒユーズをプログラムすることにより、トランジスタ 2OAのNゲート配線セグメント22Aに接続される。2つのトランジスタ21 Aおよび2OAはインバータ回路を形成する。
このインバータ回路への入力信号は垂直シェブロン3■上を移動し、このシェブ ロンはセグメント23Aと31との交点のプログラムされたアンチヒユーズによ りPゲート配線セグメント23A(およびNゲート配線セグメント22A)に接 続される。
インバータの出力信号はプログラムされたアンチヒユーズによってSD配線セグ メント25Aおよび24Aに接続される垂直シェブロン3I上を移動する。この 垂直配線シェブロン31は入力信号を上の次のC3T行15の次のインバータに 伝える。図21に示されるマルチプレクサ3゜lへのループを完成するための復 帰信号は図22に示されるロングライン32である。
トランジスタ21Aおよび2OAによって形成されるインバータ回路を分離する ために、PMO3)ランジスタ21BおよびNMOSトランジスタ20Bがター ンオフされる。トランジスタ21BのPゲート配線セグメント23BはV c  c を源線28に接続され、トランジスタ20BのNゲ−ト配線セグメント22 Bは図22に示されたプログラムされたアンチヒユーズによって接地電源線29 に接続される。電源線28および29は各C3T行15を通って走っている。
このようにアンチヒユーズを含む集積回路のプロセス特性は高速テストマシンな しで達成される。ループ302の周りの時間の直接測定のためにこのようなマシ ンが必要とされたであろう。
上述はこの発明の好ましい実施例の完全な説明であるが、様々な代替例、変更お よび等漬物が使用され得る。この発明は上述の実施例に適切な修正を行なうこと により等しく適用可能であることは明らかである。たとえば、この発明をCMO 3技術に関連して説明してきたが、この発明はバイポーラおよびB1CMOSプ ロセスを含む他の技術にも適用可能である。したかって、上述の説明は添付の請 求の範囲の境界によって規定されるこの発明の範囲を制限するものと考えられて はならない。
FIG、1 FIG、2゜ 4 クイルグリ 4 タイL−季す ノF7とブ 7 FIG、6A、 FIG、6θ FIG、6CN す〒χIレフOロア′°うξ シタ、・千lさ、牝PROG り”/−、)” −PROG5−PROG6−PROGI −PROG2 −P ROG3−PROG4豐ノ4卸ピノ4卸 ピ゛ブド TI T2 PGI PDI VCI FB−Y2 T3 T4 I N PO2PO2LCI−Y3 T5 T6 VO2CLKB PO2PO3− Y4 T7 T8 PO2LC201JT PG4P−7で浴ルフOログ°ラミ ータ、・才!II!、全。
ROG フ゛す1.7F+PROGI +PROGZ ΦPROGB +PROG4 + PROG5十Y2 T4 NG2 ND2 LCI T3+Y3 T5 T6  NG3 ND3 VCI+Y4 ND4 T7 T8 NG4 LC2Flとプ  9゜ F/6.lo FIG /2゜ FIG /4A。
≦2 FIG、168 FIG /6C FIG、 /7 FIG、 1BA FIG、18B。
FIG、 18c FIG、/80゜ FIG、20゜ FIG 21゜ FIG、22゜ フロントページの続き (72)発明者 フィリップス、クリストファー・イーアメリカ合衆国、951 35 カリフォルニア州、サン・ホーゼイ、リトルワース・ウェイ、4179 (72)発明者 アレン、ウィリアム・ジェイアメリカ合衆国、95014 カ リフォルニア州、クパーティノ、ロックウッド・ドライブ、10120

Claims (31)

    【特許請求の範囲】
  1. 1.集積回路であって、前記集積回路へのおよびそれからの電気的経路を与える ための複数個の端子を有し、前記集積回路は 機能ユニットのアレイと、 前記機能ユニットに接続された複数個のラインセグメントと、 プログラマブル素子とを含み、各プログラマブル素子は2つのラインセグメント 間に置かれ、かつ前記2つのラインセグメントにかけられたプログラミング電圧 によってプログラム可能であり、 前記ラインセグメントの各々に接続され、アドレス信号に応答して選択されたラ インセグメントを前記端子の1つに接続し、前記ユニットが前記ユニットに接続 されたラインセグメントを選択することによってテストされかっ前記ラインセグ メントを介してモニタされ、かつ前記素子がその間に該素子を有する選択された ラインセグメントによってプログラムされ得るようにする手段を含み、それによ って前記選択的に接続する手段は前記ユニットをテストし前記プログラマブル素 子をプログラムするために使用され得る、集積回路。
  2. 2.前記機能素子は連続直列トランジスタを含む、請求項1に記載の集積回路。
  3. 3.前記機能素子は回路ブロックを含む、請求項1に記載の集積回路。
  4. 4.前記択一接続手段は 前記アレイに実質的にわたる複数個のグリッドと、各ラインセグメントと前記グ リッドの少なくとも1つとの間、および各グリッドと前記端子の少なくとも1つ との間に接続されたプログラミング回路とを含み、前記プログラミング回路は前 記アドレス信号に応答して選択されたラインセグメントを前記1つの端子に接続 する、請求項1に記載の集積回路。
  5. 5.前記プログラミング回路は 複数個の論理ゲートを含み、各論理ゲートは前記アドレス信号に応答して出力信 号を発生し、 復数個のプログラミングトランジスタを含み、各ラインセグメントおよび前記グ リッドの少なくとも1つはその間に接続された第1のプログラミングトランジス タを有し、各グリッドおよび前記端子の少なくとも1つはその間に接続された第 2のプログラミングトランジスタを有し、各プログラミングトランジスタは前記 論理ゲートの1つの前記出力信号に応答する、請求項4に記載の集積回路。
  6. 6.前記第1のプログラミングトランジスタは第1のプログラミングトランジス タのバンクを含み、バンクの各トランジスタはお互いに近接するラインセグメン トに接続され、前記論理ゲートの1つの出力信号に応答する、請求項5に記載の 集積回路。
  7. 7.前記グリッドは第1の組のグリッドおよび第2の組のグリッドを含み、前記 プログラミング回路は第1のプログラミング回路および第2のプログラミング回 路を含み、前記第1のプログラミング回路は前記ラインセグメントの少なくとも 幾つかと前記第1の組のグリッドとの間、および各第1の組のグリッドと前記端 子の第1のものとの間に接続され、前記第2のプログラミング回路は前記ライン セグメントの少なくとも幾つかと前記第2の組のグリッドとの間、および各第2 の組のグリッドと前記端子の第2のものとの間に接続される、請求項5に記載の 集積回路。
  8. 8.前記第1のプログラミング回路は前記ラインセグメントのすべてと前記第1 の組のグリッドとの間に接続され、前記第2のプログラミング回路は前記ライン セグメントのすべてと前記第2の組のグリッドとの間に接続される、請求項7に 記載の集積回路。
  9. 9.前記第1のプログラミング回路は前記端子の前記第1のものが第2の電源よ り正の第1の電源に接続されてプログラミングのために前記端子の前記第2のも のに接続される、請求項7に記載の集積回路。
  10. 10.前記第1のプログラミング回路は第1の複数個の論理ゲートを含み、各論 理ゲートは前記アドレス信号に応答して出力信号を発生し、複数個のPMOSプ ログラミングトランジスタを含み、前記ラインセグメントの少なくとも幾つかお よび前記第1の組のグリッドの1つはその間に接続された第1のPMOSプログ ラミングトランジスタを有し、各第1の組のグリッドおよび前記端子の前記第1 のものはその間に接続された第2のPMOSプログラミングトランジスタを有し 、各PMOSプログラミングトランジスタは前記第1の複数個の論理ゲートのう ちの1つの前記出力信号に応答し、前記第2のプログラミング回路は 第2の復数個の論理ゲートを含み、各論理ゲートは前記アドレス信号に応答して 出力信号を発生し、複数個のNMOSプログラミングトランジスタを含み、前記 ラインセグメントの少なくとも幾つかおよび前記第2の組のグリッドの1つはそ の間に接続された第1のNMOSプログラミングトランジスタを有し、各第2の 組のグリッドおよび前記端子の前記第2のものはその間に接続された第2のNM OSプログラミングトランジスタを有し、各NMOSプログラミングトランジス タは前記第2の複数個の論理ゲートのうちの1つの前記出力信号に応答する、請 求項8に記載の集積回路。
  11. 11.各第1の組のグリッドと前記端子の前記第2のものとの間に接続されたN MOSトランジスタと、各第2の組のグリッドと前記端子の前記第1のものとの 間に接続されたPMOSトランジスタとをさらに含み、それによってグリッドの 前記第1の組は前記端子の前記第2のものに接続され、グリッドの前記第2のも のは前記端子の前記第1のものに接続され得る、請求項10に記載の集積回路。
  12. 12.集積回路であって、前記集積回路へのおよびそれからの電気的経路を与え るための複数個の端子を有し、前記集積回路は NMOSトランジスタのアレイを含み、各NMOSトランジスタは第1のソース /ドレイン、第2のソース/ドレインおよびゲートを有し、 各NMOSトランジスタの前記ソース/ドレインおよびゲートに接続された複数 個のラインセグメントと、前記ラインセグメントの各々に接続され、各MOSト ランジスタのソース/ドレインおよびゲートに接続されたラインセグメントをア ドレス信号に応答して前記端子のうちの1つに選択的に接続するための手段とを 含み、それによって各MOSトランジスタの動作および前記MOSトランジスタ へのラインセグメント接続の連続性がテストされ得る、集積回路。
  13. 13.前記MOSトランジスタは連続直列トランジスタを含む、請求項12に記 載の集積回路。
  14. 14.前記選択的に接続する手段は 実質的に前記アレイにわたる複数個のグリッドと、各ラインセグメントと前記グ リッドのうちの少なくとも1つとの間、および各グリッドと前記端子の少なくと も1つとの間に接続された回路とを含み、前記回路は前記アドレス信号に応答し て選択されたラインセグメントを前記1つの端子に接続する、請求項13に記載 の集積回路。
  15. 15.前記回路は 複数個の論理ゲートを含み、各論理ゲートは前記アドレス信号に応答して出力信 号を発生し、 複数個のトランジスタを含み、各ラインセグメントおよび前記グリッドの少なく とも1つはその間に接続された第1のトランジスタを有し、各グリッドおよび前 記端子のうちの少なくとも1つはその間に接続された第2のトランジスタを有し 、各トランジスタは前記論理ゲートのうちの1つの前記出力信号に応答する、請 求項14に記載の集積回路。
  16. 16.前記第1のトランジスタは第1のトランジスタのバンクを備え、バンクの 各トランジスタはお互いに近接するラインセグメントに接続されかっ前記論理ゲ ートのうちの1つの出力信号に応答する、請求項15に記載の集積回路。
  17. 17.バンクの各トランジスタはお互いに近接する前記ラインセグメントの1つ と前記グリッドの異なるものとの間に接続される、請求項16に記載の集積回路 。
  18. 18.各連続直列MOSトランジスタはラインセグメントが接続される第1のソ ース/ドレイン、第2のソース/ドレインおよびゲートを有し、前記第1のソー ス/ドレインに接続されたラインセグメントは第1の論理ゲートに応答して第1 の第1のトランジスタによって第1のグリッドに接続され、前記ゲートに接続さ れたラインセグメントは第2の論理ゲートに応答して第2の第1のトランジスタ によって前記第1のグリッドに接続され、さらに前記第2のソース/ドレインに 接続されたラインセグメントは前記第2の論理ゲートに応答して第3の第1のト ランジスタによって第2のグリッドに接続される、請求項17に記載の集積回路 。
  19. 19.前記MOSトランジスタのアレイは連続直列PMOSトランジスタのアレ イと連続直列NMOSトランジスタのアレイとを含み、 前記グリッドは 第1の組のグリッドと第2の組のグリッドとを含み、前記プログラミング回路は 前記PMOSトランジスタの前記第1および第2のソース/ドレインならびにゲ ートに接続された前記ラインセグメントと前記第1の組のグリッドとの間、およ び各第1の組のグリッドと前記端子のうちの第1のものとの間に接続された第1 の回路と、 前記NMOSトランジスタの前記第1および第2のソース/ドレインならびにゲ ートに接続された前記ラインセグメントと前記第2の組のグリッドとの間、およ び各第2の組のグリッドと前記端子のうちの第2のものとの間に接続された第2 の回路とを含む、請求項15に記載の集積回路。
  20. 20.前記第1の回路は 第1の復数個の論理ゲートを含み、各論理ゲートは前記アドレス信号に応答して 出力信号を発生し、複数個のPMOSトランジスタを含み、各ラインセグメント および第1の組のグリッドはその間に接続された第1のPMOSトランジスタを 有し、各第1の組のグリッドおよび前記端子の前記第1のものはその間に接続さ れた第2のPMOSトランジスタを有し、各トランジスタは前記第1の複数個の 論理ゲートのうちの1つの前記出力信号に応答し、 前記第2の回路は 第2の複数個の論理ゲートを含み、各論理ゲートは前記アドレス信号に応答して 出力信号を発生し、複数個のNMOSトランジスタを含み、各ラインセグメント および第2の組のグリッドはその間に接続された第1のNMOSトランジスタを 有し、各第2の組のグリッドおよび前記端子の前記第2のものはその間に接続さ れた第2のNMOSトランジスタを有し、各NMOSトランジスタは前記第2の 複数個の論理ゲートのうちの1つの前記出力信号に応答す る、請求項19に記載の集積回路。
  21. 21.集積回路であって 前記集積回路へのおよびそれからの電気的経路を与えるための複数個の端子と、 1組のラインセグメントを含む複数個の導電線とを含み、各ラインセグメントは 第1のノードと前記第1のノードから位置をずらされた第2のノードとを有し、 各ラインセグメントの前記第1および第2のノードに接続され、アドレス信号に 応答して、選択されたラインセグメントの第1のノードを第1の電源に接続し、 前記選択されたラインセグメントの第2のノードを第2の電源に接続するための 手段を含み、 それによって前記第1および第2のノード間の前記選択されたラインセグメント の連続性がテストされ得る、集積回路。
  22. 22.各ラインセグメントは第1および第2の端部を有し、前記第1のノードは ほぼ前記第1の端部のところにあり、前記第2のノードはほぼ前記第2のノード のところにある、請求項21に記載の集積回路。
  23. 23.集積回路であって 回路ブロックのアレイを含み、前記回路ブロックは論理またはメモリ機能として プログラマブルであり、前記回路ブロックのアレイがメモリ機能用にプログラム された場合機能的に相互接続されるように前記ブロックの各々に接続された複数 個の導電線と、 前記ブロックの各々に接続された複数個のラインセグメントと、 プログラマブル素子とを含み、各プログラマブル素子は2つのラインセグメント 間に置かれ、かつ前記2つのラインセグメントに接続された回路ブロックをプロ グラムするように前記2つのラインセグメントにかかるプログラミング電圧によ ってプログラマブルであり、前記ラインセグメントの各々に接続されアドレス信 号に応答して選択されたラインセグメント上に選択された信号を与え、前記選択 されたラインセグメントに接続された回路ブロックをテストするための手段と、 さらに前記導電線を介して前記テストされたブロックをモニタするための手段と を含み、 それによって前記導電線は前記回路ブロックをテストし、前記回路ブロックを相 互接続するために使用される、集積回路。
  24. 24.前記導電線はメモリ機能用にプログラムされた前記回路ブロックのための データ信号を読込みかつ書出すための線を含む、請求項23に記載の集積回路。
  25. 25.複数個の入力/出力回路ブロックを有する集積回路であって、前記入力/ 出力回路ブロックは前記集積回路をテストするために信号を伝えるためのシリア ルスキャンパスによって相互接続され、前記集積回路は選択的にクロック信号を 伝えるための複数個の導電線と、前記シリアルスキャンパスによって前記入力/ 出力バッファ回路に相互接続された少なくとも1つのクロック回路ブロックとを 含み、前記クロック回路ブロックは前記シリアルスキャンパス上の信号に応答し て前記クロック信号を伝えるために前記導電線を選択し、 それによって前記シリアルスキャンパスの信号は前記クロック回路を制御するた めに使用される、集積回路。
  26. 26.集積回路であって 集積回路のために信号を受信し、かつ前記集積回路から信号を送るための複数個 の第1の外部端子と、前記第1の外部端子に接続された複数個の回路ブロックと を含み、前記回路ブロックは前記第1の端子から前記信号を受取り、かつ前記第 1の外部端子へ前記信号を送り、前記入力/出力回路ブロックは前記集積回路を テストするために信号を伝えるためのシリアルスキャンパスによって相互接続さ れ、さらに クロック信号を選択的に伝えるための複数個の導電線を有するクロックネットワ ークを備え、 前記回路ブロックのうちの少なくとも1つは前記第1の外部端子の1つからクロ ック信号を受取り、かつ前記クロックネットワークに送るようにされ、前記1つ の回路ブロックは前記シリアルスキャンパスによって前記回路ブロックと相互接 続され、前記クロック回路ブロックは前記シリアルスキャンパスから前記クロッ クネットワークへ信号を選択的に送り、 それによって前記クロックネットワークは前記シリアルスキャンパスからの前記 信号によってテストされ得る、集積回路。
  27. 27.前記導電線の各々に接続され、導電線を前記回路ブロックのうちの1つに 選択的に接続するための手段をさらに含み、前記回路ブロックは前記導電線から 前記シリアルスキャンパスへ信号を選択的に送り、それによって前記クロックネ ットワークは前記シリアルスキャンバスから前記導電線を介して前記シリアルス キャンパスへと戻る信号によってテストされ得る、請求項26に記載の集積回路 。
  28. 28.前記導電線の各々に接続され、導電線を第2の外部端子に選択的に接続す るための手段をさらに含み、それによって前記クロックネットワークは前記シリ アルスキャンパスから前記導電線を介し前記第2の外部端子へと伝搬する信号に よってテストされ得る、請求項26に記載の集積回路。
  29. 29.集積回路であって 第1の伝搬時間を有する第1のリングオシレータ回路と、第2の伝搬時間を有す る第2のリングオシレータ回路とを含み、前記第2の伝搬時間は前記第1の伝搬 時間より小さく、 前記第2のリングオシレータ回路を前記第1のリングオシレータ回路に直列に接 続するための手段とを含み、それによって前記第2のオシレータ回路の伝搬時間 は前記第1のオシレータ回路を介する伝搬時間をテストするのに十分な速度を有 するテストマシンによってテストされ得る、集積回路。
  30. 30.前記第1のオシレータ回路は第1のプロセスによって形成される素子を有 し、前記第2のオシレータ回路は前記第1のプロセスとは異なる第2のプロセス によって形成される素子を有し、それによって前記第2のプロセスはテストされ かつ評価され得る、請求項29に記載の集積回路。
  31. 31.前記第2のプロセスによって形成される前記素子はアンチヒューズを含む 、請求項30に記載の集積回路。
JP5510156A 1991-12-03 1992-11-17 フィールドプログラマブルゲートアレイの事前プログラミングテスト Pending JPH07501669A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/801,237 US5347519A (en) 1991-12-03 1991-12-03 Preprogramming testing in a field programmable gate array
US801,237 1991-12-03
PCT/US1992/009960 WO1993011487A1 (en) 1991-12-03 1992-11-17 Preprogramming testing in a field programmable gate array

Publications (1)

Publication Number Publication Date
JPH07501669A true JPH07501669A (ja) 1995-02-16

Family

ID=25180553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5510156A Pending JPH07501669A (ja) 1991-12-03 1992-11-17 フィールドプログラマブルゲートアレイの事前プログラミングテスト

Country Status (3)

Country Link
US (3) US5347519A (ja)
JP (1) JPH07501669A (ja)
WO (1) WO1993011487A1 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528600A (en) 1991-01-28 1996-06-18 Actel Corporation Testability circuits for logic arrays
US6487682B2 (en) * 1991-09-18 2002-11-26 Fujitsu Limited Semiconductor integrated circuit
US5448525A (en) * 1994-03-10 1995-09-05 Intel Corporation Apparatus for configuring a subset of an integrated circuit having boundary scan circuitry connected in series and a method thereof
US5550843A (en) * 1994-04-01 1996-08-27 Xilinx, Inc. Programmable scan chain testing structure and method
US5682107A (en) * 1994-04-01 1997-10-28 Xilinx, Inc. FPGA architecture with repeatable tiles including routing matrices and logic matrices
US5424655A (en) * 1994-05-20 1995-06-13 Quicklogic Corporation Programmable application specific integrated circuit employing antifuses and methods therefor
US5982188A (en) * 1994-07-29 1999-11-09 Stmicroelectronics, Inc. Test mode control circuit of an integrated circuit device
US5457408A (en) * 1994-11-23 1995-10-10 At&T Corp. Method and apparatus for verifying whether a bitstream received by a field programmable gate array (FPGA) is intended for that FPGA
US5652529A (en) * 1995-06-02 1997-07-29 International Business Machines Corporation Programmable array clock/reset resource
US5646544A (en) * 1995-06-05 1997-07-08 International Business Machines Corporation System and method for dynamically reconfiguring a programmable gate array
US6028446A (en) * 1995-06-06 2000-02-22 Advanced Micro Devices, Inc. Flexible synchronous and asynchronous circuits for a very high density programmable logic device
US5860125A (en) * 1995-11-08 1999-01-12 Advanced Micro Devices, Inc. Integrated circuit including a real time clock, configuration RAM, and memory controller in a core section which receives an asynchronous partial reset and an asynchronous master reset
US5898232A (en) * 1995-11-08 1999-04-27 Advanced Micro Devices, Inc. Input/output section of an integrated circuit having separate power down capability
US5867507A (en) * 1995-12-12 1999-02-02 International Business Machines Corporation Testable programmable gate array and associated LSSD/deterministic test methodology
US5991907A (en) * 1996-02-02 1999-11-23 Lucent Technologies Inc. Method for testing field programmable gate arrays
US5712577A (en) * 1996-04-18 1998-01-27 Electronics And Telecommunications Research Institute Anti-fuse programming circuit for user programmable integrated
US6028444A (en) * 1996-06-21 2000-02-22 Quicklogic Corporation Three-statable net driver for antifuse field programmable gate array
US5828538A (en) * 1996-06-21 1998-10-27 Quicklogic Corporation Power-up circuit for field programmable gate arrays
US5892370A (en) * 1996-06-21 1999-04-06 Quicklogic Corporation Clock network for field programmable gate array
US5825201A (en) * 1996-06-21 1998-10-20 Quicklogic Corporation Programming architecture for a programmable integrated circuit employing antifuses
US5668818A (en) * 1996-08-06 1997-09-16 Hewlett-Packard Co. System and method for scan control of a programmable fuse circuit in an integrated circuit
US5805607A (en) * 1996-10-22 1998-09-08 Advanced Micro Devices, Inc. Method for user-controlled I/O switching during in-circuit programming of CPLDs through the IEEE 1149.1 test access port
US5878051A (en) * 1997-02-05 1999-03-02 Lockheed Martin Corp. Assembly-level bist using field-programmable gate array
US5889411A (en) * 1997-02-26 1999-03-30 Xilinx, Inc. FPGA having logic element carry chains capable of generating wide XOR functions
US5914616A (en) * 1997-02-26 1999-06-22 Xilinx, Inc. FPGA repeatable interconnect structure with hierarchical interconnect lines
US6204689B1 (en) 1997-02-26 2001-03-20 Xilinx, Inc. Input/output interconnect circuit for FPGAs
US5963050A (en) 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US5942913A (en) * 1997-03-20 1999-08-24 Xilinx, Inc. FPGA repeatable interconnect structure with bidirectional and unidirectional interconnect lines
US5920202A (en) * 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US6201410B1 (en) 1997-02-26 2001-03-13 Xilinx, Inc. Wide logic gate implemented in an FPGA configurable logic element
US6694464B1 (en) * 1997-05-30 2004-02-17 Quickturn Design Systems, Inc. Method and apparatus for dynamically testing electrical interconnect
US6418547B1 (en) * 1998-02-26 2002-07-09 Micron Technology, Inc. Internal guardband for semiconductor testing
US6202182B1 (en) 1998-06-30 2001-03-13 Lucent Technologies Inc. Method and apparatus for testing field programmable gate arrays
US6169416B1 (en) 1998-09-01 2001-01-02 Quicklogic Corporation Programming architecture for field programmable gate array
US6256758B1 (en) 1999-03-03 2001-07-03 Agere Systems Guardian Corp. Fault tolerant operation of field programmable gate arrays
US6601224B1 (en) * 1999-08-30 2003-07-29 Intel Corporation Layout to minimize gate orientation related skew effects
US6574761B1 (en) 1999-09-27 2003-06-03 Lattice Semiconductor Corp. On-line testing of the programmable interconnect network in field programmable gate arrays
US6631487B1 (en) 1999-09-27 2003-10-07 Lattice Semiconductor Corp. On-line testing of field programmable gate array resources
US6550030B1 (en) 1999-09-27 2003-04-15 Lattice Semiconductor Corp. On-line testing of the programmable logic blocks in field programmable gate arrays
US6687864B1 (en) * 2000-06-08 2004-02-03 Cypress Semiconductor Corp. Macro-cell flip-flop with scan-in input
US6530049B1 (en) 2000-07-06 2003-03-04 Lattice Semiconductor Corporation On-line fault tolerant operation via incremental reconfiguration of field programmable gate arrays
US6426649B1 (en) * 2000-12-29 2002-07-30 Quicklogic Corporation Architecture for field programmable gate array
DE60223196T2 (de) * 2001-06-15 2008-02-07 Fujifilm Corp. Verfahren zum Herstellen einer Celluloseesterfolie
US6966020B1 (en) * 2001-07-03 2005-11-15 Agere Systems Inc. Identifying faulty programmable interconnect resources of field programmable gate arrays
US6973608B1 (en) * 2001-07-06 2005-12-06 Agere Systems Inc. Fault tolerant operation of field programmable gate arrays
US6732309B1 (en) * 2001-08-02 2004-05-04 Xilinx, Inc. Method for testing faults in a programmable logic device
EP1351065B1 (en) * 2002-04-03 2005-06-08 STMicroelectronics Limited A field programmable device
US7673273B2 (en) 2002-07-08 2010-03-02 Tier Logic, Inc. MPGA products based on a prototype FPGA
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
US6992503B2 (en) 2002-07-08 2006-01-31 Viciciv Technology Programmable devices with convertibility to customizable devices
US7112994B2 (en) * 2002-07-08 2006-09-26 Viciciv Technology Three dimensional integrated circuits
US6711716B1 (en) * 2002-09-26 2004-03-23 Agilent Technologies, Inc. Metal programmable clock distribution for integrated circuits
US7812458B2 (en) * 2007-11-19 2010-10-12 Tier Logic, Inc. Pad invariant FPGA and ASIC devices
US8643162B2 (en) * 2007-11-19 2014-02-04 Raminda Udaya Madurawe Pads and pin-outs in three dimensional integrated circuits
US7030651B2 (en) 2003-12-04 2006-04-18 Viciciv Technology Programmable structured arrays
US7109734B2 (en) * 2003-12-18 2006-09-19 Xilinx, Inc. Characterizing circuit performance by separating device and interconnect impact on signal delay
US7489164B2 (en) 2004-05-17 2009-02-10 Raminda Udaya Madurawe Multi-port memory devices
US7180769B2 (en) * 2005-04-12 2007-02-20 Headway Technologies, Inc. World line segment select transistor on word line current source side
US7571406B2 (en) * 2005-08-04 2009-08-04 Freescale Semiconductor, Inc. Clock tree adjustable buffer
US7600168B2 (en) * 2005-12-26 2009-10-06 Prolific Technology Inc. Apparatus with programmable scan chains for multiple chip modules and method for programming the same
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
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
US7602213B2 (en) * 2007-12-26 2009-10-13 Tier Logic, Inc. Using programmable latch to implement logic
US8230375B2 (en) 2008-09-14 2012-07-24 Raminda Udaya Madurawe Automated metal pattern generation for integrated circuits
US20100148218A1 (en) * 2008-12-10 2010-06-17 Panasonic Corporation Semiconductor integrated circuit device and method for designing the same
US8310367B1 (en) 2009-05-18 2012-11-13 Empire Technology Development Llc Methods of implanting electronics in objects and objects with implanted electronics
US8331163B2 (en) * 2010-09-07 2012-12-11 Infineon Technologies Ag Latch based memory device
US8566657B2 (en) * 2011-04-26 2013-10-22 Taiwan Semiconductor Manufacturing Co., Ltd. Circuit and method for diagnosing scan chain failures
TWI684774B (zh) * 2018-12-05 2020-02-11 瑞昱半導體股份有限公司 應用於多個掃描模式來進行測試的電路

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3958110A (en) * 1974-12-18 1976-05-18 Ibm Corporation Logic array with testing circuitry
DE3015992A1 (de) * 1980-04-25 1981-11-05 Ibm Deutschland Gmbh, 7000 Stuttgart Programmierbare logische anordnung
US4435805A (en) * 1981-06-04 1984-03-06 International Business Machines Corporation Testing of logic arrays
US4495629A (en) * 1983-01-25 1985-01-22 Storage Technology Partners CMOS scannable latch
US4609830A (en) * 1983-11-28 1986-09-02 Zoran Corporation Programmable logic gate
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4642487A (en) * 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
US4692923A (en) * 1984-09-28 1987-09-08 Ncr Corporation Fault tolerant memory
DE3514266A1 (de) * 1985-04-19 1986-10-23 Nixdorf Computer Ag, 4790 Paderborn Baustein zur erzeugung integrierter schaltungen
ES2002307A6 (es) * 1985-09-11 1988-08-01 Pilkington Micro Electronics Un circuito integrado semiconductor configurable
US4739250A (en) * 1985-11-20 1988-04-19 Fujitsu Limited Semiconductor integrated circuit device with test circuit
US4910417A (en) * 1986-09-19 1990-03-20 Actel Corporation Universal logic module comprising multiplexers
US5309091A (en) * 1986-09-19 1994-05-03 Actel Corporation Testability architecture and techniques for programmable interconnect architecture
US5083083A (en) * 1986-09-19 1992-01-21 Actel Corporation Testability architecture and techniques for programmable interconnect architecture
US4857774A (en) * 1986-09-19 1989-08-15 Actel Corporation Testing apparatus and diagnostic method for use with programmable interconnect architecture
US4758745B1 (en) * 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
US5015885A (en) * 1986-09-19 1991-05-14 Actel Corporation Reconfigurable programmable interconnect architecture
US5365165A (en) * 1986-09-19 1994-11-15 Actel Corporation Testability architecture and techniques for programmable interconnect architecture
US4786904A (en) * 1986-12-15 1988-11-22 Zoran Corporation Electronically programmable gate array having programmable interconnect lines
JPS63217821A (ja) * 1987-03-06 1988-09-09 Toshiba Corp 半導体集積回路
US5231637A (en) * 1988-01-27 1993-07-27 Oki Electric Industry Co., Ltd. Apparatus for testing a PLA by measuring a current consumed by the PLO when activated with known codes
US4905257A (en) * 1988-08-31 1990-02-27 Unisys Corporation Manchester decoder using gated delay line oscillator
GB8828828D0 (en) * 1988-12-09 1989-01-18 Pilkington Micro Electronics Semiconductor integrated circuit
ATE84637T1 (de) * 1989-06-29 1993-01-15 Siemens Ag Schaltungsanordnung zur identifikation integrierter halbleiterschaltkreise.
US5023485A (en) * 1989-12-04 1991-06-11 Texas Instruments Incorporated Method and circuitry for testing a programmable logic device
US5121394A (en) * 1989-12-20 1992-06-09 Bull Hn Information Systems Inc. Method of organizing programmable logic array devices for board testability
KR920006992A (ko) * 1990-09-28 1992-04-28 정몽헌 Epld의 입력회로의 시험장치 및 시험방법
US5210759A (en) * 1990-11-19 1993-05-11 Motorola, Inc. Data processing system having scan testing using set latches for selectively observing test data
US5532441A (en) * 1994-10-13 1996-07-02 Square D Company Contact block having convertible normally open or normally closed electrical contact

Also Published As

Publication number Publication date
WO1993011487A1 (en) 1993-06-10
US5887002A (en) 1999-03-23
US5347519A (en) 1994-09-13
US5623501A (en) 1997-04-22

Similar Documents

Publication Publication Date Title
JPH07501669A (ja) フィールドプログラマブルゲートアレイの事前プログラミングテスト
US5083083A (en) Testability architecture and techniques for programmable interconnect architecture
US5365165A (en) Testability architecture and techniques for programmable interconnect architecture
US5223792A (en) Testability architecture and techniques for programmable interconnect architecture
US5208530A (en) Testability architecture and techniques for programmable interconnect architecture
US5400262A (en) Universal interconnect matrix array
US6021513A (en) Testable programmable gate array and associated LSSD/deterministic test methodology
US4873459A (en) Programmable interconnect architecture
US4910417A (en) Universal logic module comprising multiplexers
US6580289B2 (en) Cell architecture to reduce customization in a semiconductor device
US5313119A (en) Field programmable gate array
US5309091A (en) Testability architecture and techniques for programmable interconnect architecture
US6130554A (en) Programmable integrated circuit having a test circuit for testing the integrity of routing resource structures
US4857774A (en) Testing apparatus and diagnostic method for use with programmable interconnect architecture
US5341092A (en) Testability architecture and techniques for programmable interconnect architecture
EP0394575B1 (en) Programmable logic device
US5682106A (en) Logic module for field programmable gate array
US5453696A (en) Embedded fuse resistance measuring circuit
US7119573B2 (en) Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
WO2010135477A1 (en) A programmable integrated circuit having built in test circuit
US8091001B2 (en) FPGA programming structure for ATPG test coverage
EP0266873B1 (en) Programmable logic array
US7545166B2 (en) Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US5465055A (en) RAM-logic tile for field programmable gate arrays
US6933747B1 (en) Structures and methods of testing interconnect structures in programmable logic devices