(57)【特許請求の範囲】
【請求項１】
マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワーク内の入力相互接続リードと出力相互接続リードとの間に接続される少なくとも１つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
前記入力相互接続リードから前記プログラム可能インターフェース回路へデータを運ぶための入力ノードと、前記プログラム可能インターフェース回路から前記出力相互接続リードへデータを運ぶための出力ノードと、
前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、
を含む集積回路。
【請求項２】
マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワーク内に接続される少なくとも１つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
入力ノード及び出力ノードと、
前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、
二次入力ノード及び二次出力ノードと、を含み、前記信号記憶回路が、
前記入力ノード又は前記二次入力ノードのいずれかから受信した論理状態を選択的に記憶するために、前記入力ノード又は前記二次入力ノードと選択的に結合される一次選択ラッチと、
前記一次選択ラッチと選択的に結合され、更に前記二次出力ノードにラッチされたデータを与えるために、前記二次出力ノードに結合される二次選択ラッチであって、前記ラッチされたデータは、前記一次選択ラッチの事前に記憶された論理状態を表すものである二次選択ラッチと、
を含む、集積回路。
【請求項３】
マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワーク内に接続される少なくとも１つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
入力ノード及び出力ノードと、
前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、を含み、
前記集積回路が複数の操作制御信号パス及び複数の試験制御信号パスを更に含み、前記集積回路が、
前記複数の操作制御信号パスの少なくとも１つの選択操作制御信号パスと、前記複数の試験制御信号パスの少なくとも１つの選択試験制御信号パスで構成されるグループの、少なくとも１つの信号パスを前記信号記憶回路に選択的に接続するプログラム可能カプラを含み、その結果前記信号記憶回路が前記集積回路の試験時、又は前記集積回路の操作時に選択的に使用され得る、
ことを特徴とする集積回路。
【請求項４】
マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワーク内に接続される少なくとも１つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
入力ノード及び出力ノードと、
前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、を含み、
前記信号記憶回路が、
直列入力データを受信するための二次入力ノードと、
直列出力データを送信するための二次出力ノードと、
一次及び二次のラッチされるデータそれぞれを保存する一次及び二次ラッチと、
前記入力ノードと前記一次ラッチとの間に配置される第１の選択カプラであって、前記第１の選択カプラが、第１のクロック信号に従って前記入力ノードの一次データを前記一次ラッチに選択的に結合し、その結果一次データが前記一次のラッチされるデータとして取込まれる、第１の選択カプラと、
前記二次入力ノードと前記一次ラッチとの間に配置される第２の選択カプラであって、前記第２の選択カプラが、第２のクロック信号に従って前記二次入力ノードの直列入力データを前記一次ラッチに選択的に結合し、その結果直列入力データが前記一次のラッチされるデータとして取込まれる、第２の選択カプラと、
前記一次ラッチと前記二次ラッチとの間に配置される第３の選択カプラであって、前記第３の選択カプラが、第３のクロック信号に従って前記一次ラッチを前記二次ラッチに選択的に結合し、その結果前記二次ラッチの二次ラッチされたデータを前記一次ラッチされたデータに従って更新し、二次ラッチされたデータを表すデータが前記二次出力ノードにおいて直列出力データとして提供される、第３の選択カプラと、
を含む、集積回路。
【請求項５】
前記複数のプログラム可能論理セルの内のいくつかが、信号記憶ラッチを含む、請求項１〜４の何れか１つに記載の集積回路。
【請求項６】
前記信号記憶回路がスキャン・チェーンの一部である、請求項１〜４の何れか１つに記載の集積回路。
【請求項７】
前記回路の選択性を制御するための第１の構成データを提供する第１のデータ源と、
前記信号記憶回路の選択性を制御するための第２の構成データを提供する第２のデータ源と、
を更に含む、請求項１〜４の何れか１つに記載の集積回路。
【請求項８】
マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワークの所定のプログラム可能相互接続内において、信号を選択的にバッファリングするためのプログラム可能バッファと、前記所定のプログラム可能相互接続のデータを選択的に取込み及び記憶しそして前記所定のプログラム可能相互接続にデータを選択的に提供するための直列スキャン・チェーンの信号記憶回路と、を有する集積回路を提供するステップと、
所望の論理設計を実施するために、構成される論理回路として、前記複数の論理セルの選択プログラム可能論理セルと、前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続とを構成し、そして前記所定のプログラム可能相互接続を含むステップと、
前記構成される論理回路にその励振用にデータを与えるステップと、
前記データによる励振に応答する前記構成される論理回路の処理の結果生ずる、前記所定のプログラム可能相互接続のデータを、前記スキャン・チェーンの前記信号記憶回路に取込むために、前記信号記憶回路を選択的に操作するステップと、
前記スキャン・チェーンから前記取込みデータをスキャン・アウトするステップと、
を含む方法。
【請求項９】
集積回路を操作する方法であって、
マトリクス状に配置された複数のプログラム可能論理セルと、前記プログラム可能論理セルを接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワークの所定のプログラム可能相互接続内において、信号を選択的にバッファリングするためのプログラム可能バッファと、前記所定のプログラム可能相互接続のデータを選択的に取込み及び記憶しそして前記所定のプログラム可能相互接続にデータを選択的に提供するための直列スキャン・チェーンの信号記憶回路と、を有する集積回路を提供するステップと、  所望の論理設計を実施するために、構成される論理回路として、前記複数の論理セルの選択プログラム可能論理セルと、前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続とを構成し、前記所定のプログラム可能相互接続を含むステップと、
前記直列スキャン・チェーンを介して前記信号記憶回路にデータを直列にスキャン・インするステップと、
前記データを前記構成される論理回路への入力データとして、前記所定のプログラム可能相互接続に与えるために、前記信号記憶回路を選択的に操作するステップと、
を含む方法。
【請求項１０】
集積回路を操作する方法であって、
マトリクス状に配置された複数のプログラム可能論理回路と、前記プログラム可能論理回路を接続するために行方向及び列方向に配置されたプログラム可能相互接続ネットワークと、行方向及び列方向に配置された前記プログラム可能相互接続ネットワークの個々の相互接続内に関連する信号を選択的にバッファリングするための、プログラム可能バッファと、関連する前記プログラム可能相互接続のデータを選択的に取込み記憶するため、又はその記憶されたデータを関連する前記プログラム可能相互接続に選択的に出力するための、個々のプログラム可能バッファと並列となる、複数の信号記憶回路とを有する集積回路を提供するステップと、
所望の論理設計を実施するために、構成される論理回路として、前記複数の論理回路の選択プログラム可能論理回路、及び前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続を構成するステップと、
前記構成される論理回路の少なくとも１つの入力線にわたる入力直列スキャン・チェーンとして、前記複数の信号記憶回路の第１の選択信号記憶回路を構成するステップと、
前記構成される論理回路の少なくとも１つの出力線にわたる出力直列スキャン・チェーンとして、前記複数の信号記憶回路の第２の選択信号記憶回路を構成するステップと、
前記入力直列スキャン・チェーンにデータをスキャン・インするステップと、
前記構成される論理回路の少なくとも１つの入力線と関連づけて、選択プログラム可能相互接続のプログラム可能バッファを選択的に使用不能にするステップと、
前記データを前記構成される論理回路に与えるために、前記入力直列スキャン・チェーンの前記第１の選択信号記憶回路を選択的に使用可能にするステップと、
前記構成される論理回路で前記データを処理するステップと、
前記構成される論理回路に、前記少なくとも１つの出力線における出力データを取込むために、前記出力直列スキャン・チェーンの前記第２の選択信号記憶回路を選択的に操作するステップと、
前記出力直列スキャン・チェーンから前記取込みデータをスキャン・アウトするために、前記出力直列スキャン・チェーンの前記第２の選択信号記憶回路を選択的に操作するステップと、
を含む方法。
【請求項１１】
マトリクス状に配置された複数のプログラム可能論理回路と、行方向及び列方向に配置された複数のプログラム可能相互接続とを有するプログラマブル・ゲート・アレイ（ＰＧＡ）であって、前記複数のプログラム可能相互接続の少なくとも１つのプログラム可能相互接続が、その中に配置されたプログラム可能インターフェース回路を含み、前記プログラム可能インターフェース回路が、
前記少なくとも１つのプログラム可能相互接続の第１の部分に結合される第１のノードと、
前記少なくとも１つのプログラム可能相互接続の第２の部分に結合される第２のノードと、
前記第１及び第２のノード間に配置され、第１の選択信号に従ってその間に信号を選択的に伝達するためのプログラム可能結合回路と、
前記第１及び第２のノード間に配置されるＬＳＳＤレジスタと、
を含み、前記ＬＳＳＤレジスタが、
一次データを受信するために前記第１のノードに結合される一次入力と、
直列データを受信するための直列入力と、
Ｃクロックのパルスにより有効になる前記一次入力の一次データ、又はＡクロックのパルスにより有効になる前記直列入力の直列データのいずれかを、取込みデータとして選択的に取込むために、前記一次入力又は前記直列入力に選択的に結合される第１の選択ラッチと、
前記第１の選択ラッチの前記取込みデータに対応して、ラッチされるデータとしてその中にデータをラッチするために、前記第１の選択ラッチに選択的に結合される第２の選択ラッチであって、前記ラッチされるデータのラッチ操作はＢクロックのパルスにより有効になる、第２の選択ラッチと、
前記第２の選択ラッチの前記ラッチされるデータに対応して、直列出力データを送信するための直列出力と、
前記ラッチされるデータに対応して、前記第２のノードへ一次出力データを選択的に出力するためのプログラム可能一次出力であって、前記一次出力データは第２の選択信号に従って前記第２のノードへ選択的に送付される、プログラム可能一次出力と、
を有する、プログラマブル・ゲート・アレイ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概して集積回路素子に関し、更に詳細には、複数のプログラム可能論理セル及びプログラム可能相互接続ネットワークを有する、プログラム可能集積回路素子に関する。特に本発明は、プログラム可能相互接続ネットワークの特定の相互接続内の、プログラム可能ラッチの設置に関する。
【０００２】
【従来の技術】
プログラム可能な集積回路は当該技術分野では周知のものであり、プログラム可能なロジック・デバイス（ＰＬＤ）、プログラム可能なアレイ・ロジック（ＰＡＬ）、及びプログラム可能なロジック・アレイ（ＰＬＡ）が含まれる。これらのプログラム可能な回路のそれぞれは、入力ＡＮＤ論理プレーン及びその後に付くＯＲ論理プレーンを備える。出力関数は、入力条件の積を加算したものとして計算される。論理プレーンは一般にプログラム可能であり、したがってこれらプレーンの当初の全体的なレイアウトは、特定の用途のためにカストマイズできる。
【０００３】
プログラム可能な回路に対する更に一般的なアプローチは、プログラマブル・ゲート・アレイ（ＰＧＡ）中に個別の特定の機能のものでない論理セルの配列を設けることである。セルを相互接続し、配列にデータを入力し、配列から出力を取り出すために、一般にプログラム可能な相互接続ネットワークが設けられる。カストマイゼーション、即ち一般には共通なものとして設計される論理セル、及び相互接続ネットワークをプログラムすることは、特定の用途に対して行われる。そのような配列の１つは、マスク式プログラマブル・ゲート・アレイ（ＭＰＧＡ）であり、この配列では、セル及び配線ネットワークの構成が、集積回路に最後の金属化層を付着させるときに行われる。変形のアプローチでは、金属化パターンをカストマイズするためにレーザが方向づけられたエネルギを用いる。このような配列のもう１つは、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）であり、この配列では、構成は「フィールド」でユーザが行うことができる。こうした構成は、電気的にプログラム可能な可溶性の結線、アンチフューズ、メモリ制御トランジスタ、又はフローティング・ゲート・トランジスタの使用によりもたらされる。
【０００４】
目的の回路を提供するためにプログラマブル・アレイが構成されると、論理回路全体の中の特定のモジュールを分離して試験することが望ましい。特定モジュールの試験方法の１つには、プログラマブル・アレイの選択入出力ピン間に、特定モジュールをもつ、プログラマブル・アレイを再構成することが含まれる。試験データが、選択入出力ピンを介して特定モジュールへ渡される。しかし、特定モジュールを選択入出力ピン間で直接インターフェースする必要なしに、構成されるプログラマブル・アレイ内のプログラム可能境界を使用して、特定モジュールを残りの論理回路から分離する方法のほうが望ましい。特定モジュールの境界に関連付けられたプログラム可能相互接続ネットワークの特定の相互接続が、特定モジュールの分離及び試験のために選択的にオープンされ、アクセスされるのが理想的である。
【０００５】
【発明が解決しようとする課題】
本発明の目的は、プログラマブル・ゲート・アレイの相互接続ネットワークの、改良されたプログラム可能相互接続を提供することにある。
本発明の更に別の目的は、プログラマブル・ゲート・アレイ内の構成回路の特定のブロックの分離及び試験のために、プログラマブル・ゲート・アレイのプログラム可能相互接続ネットワークの相互接続内の、改良された回路を提供することにある。
本発明の更にもう１つの目的は、フィールド・プログラマブル・ゲート・アレイの選択プログラム可能リソースの境界スキャン分離及び試験を可能にする、改良された装置及び方法を提供することにある。
【０００６】
【課題を解決するための手段】
本発明の１つの実施例では、集積回路は複数のプログラム可能論理回路、及びプログラム可能論理回路を接続するためのプログラム可能相互接続ネットワークをもつ。プログラム可能インターフェース回路が、プログラム可能相互接続ネットワーク内で接続される。プログラム可能インターフェース回路は、少なくとも１つのデータ入力ノード、及び少なくとも１つのデータ出力ノードをもつ。回路は、データ入力ノード及びデータ出力ノード間で接続され、データ入力ノードでの論理状態と関連するバッファリングされた出力信号を、データ出力ノードへ選択的に与える。信号記憶回路もデータ入力ノードに接続され、データ入力ノードから受信される論理状態を選択的に記憶する。
【０００７】
本発明のこの実施例の更に別の面では、プログラム可能インターフェース回路は、二次入力ノード及び二次出力を更に含む。信号記憶回路は、データ入力ノード又は二次入力ノードのいずれかから受信された論理状態を選択的に記憶するための、選択的記憶素子を含む。追加回路が、記憶された論理状態を表すデータを二次出力ノードへ与える。
【０００８】
本発明の更に別の面に従って、プログラム可能インターフェース回路は、記憶された論理状態を表すデータを、データ出力ノードへ選択的に提供するための回路を更に含む。
【０００９】
本発明のこの実施例の好ましい面では、選択回路が信号記憶回路を制御信号パス又は試験制御信号パスへ選択的に接続させるので、その結果、信号記憶回路を集積回路の試験又は操作の間のそれぞれのいずれにも使用できる。
【００１０】
本発明のこの実施例の更に別の面では、信号記憶回路はＬＳＳＤレジスタ・ラッチを含む。ＬＳＳＤレジスタ・ラッチは、直列入力データを受信するための二次入力ノード、及び直列出力データを送信するための二次出力ノードをもつ。一次及び二次ラッチは、それぞれ一次及び二次ラッチ・データを保存する。第１の選択カプラが、データ入力ノードと一次ラッチとの間に配置され、第１のクロック信号に従って、データ入力ノードの一次データを一次ラッチに選択的に結合し、その結果、一次データを一次ラッチ・データとして取込む。第２の選択カプラが、二次入力ノードと一次ラッチとの間に配置され、第２のクロックに従って、二次入力ノードの直列入力データを一次ラッチに選択的に結合し、その結果、直列入力データを一次ラッチ・データとして取込む。更に、第３の選択カプラが、一次ラッチと二次ラッチとの間に配置され、第３のクロックに従って、一次ラッチの一次ラッチ・データを二次ラッチに選択的に結合する。このようにして、二次ラッチの二次ラッチ・データが、一次ラッチ・データに従って更新される。二次ラッチの二次ラッチ・データは、二次出力ノードにおいて直列出力データとして提供される。好ましくは、信号記憶回路が、二次ラッチ・データを表す出力信号をデータ出力ノードへ選択的に出力するためのプログラム可能出力を更に含み、そこでデータがプログラム可能選択信号に従って選択的に出力される。
【００１１】
本発明の第２の実施例に従い、集積回路の操作方法が提供される。複数のプログラム可能論理回路、プログラム可能論理回路の接続のためのプログラム可能相互接続ネットワーク、所定のプログラム可能相互接続内で信号を選択的にバッファリングするためのプログラム可能バッファ、及び所定のプログラム可能相互接続のデータを選択的に取込み、記憶するための第１の直列スキャン・チェーンの信号記憶回路をもつ集積回路が設けられる。複数の論理回路の選択プログラム可能論理回路が、選択プログラム可能相互接続により構成され、プログラム可能バッファ及び信号記憶回路と関連付けられた、所定のプログラム可能相互接続を含む構成された論理回路を提供する。既知データが構成される論理回路に与えられ、そこで信号記憶回路が選択的に操作され、構成された論理回路の処理の結果生ずる所定のプログラム可能相互接続のデータを取込む。その後、取込まれたデータが第１のスキャン・チェーンからスキャンされる。
【００１２】
本発明のこの第２の実施例の代替的な面では、集積回路は第２のスキャン・チェーンの第２の信号記憶回路も含み、既知データを構成論理回路に選択的に適用する。したがって、既知データを構成される論理回路へ適用する場合、既知データは最初に第２のスキャン・チェーンにスキャンされ、その後、第２のスキャン・チェーンの信号記憶回路から構成される論理回路へ転送される。
【００１３】
本発明の第３の実施例に従い、複数のプログラム可能論理回路、プログラム可能論理回路の接続のためのプログラム可能相互接続ネットワーク、プログラム可能相互接続ネットワークの所定のプログラム可能相互接続と関連付けられた信号を、選択的にバッファリングするためのプログラム可能バッファ、及び出力データを前記所定のプログラム可能相互接続へ選択的に提供するための、直列スキャン・チェーンの信号記憶回路をもつ集積回路の操作方法を提供する。プログラム可能バッファ、及び信号記憶回路に関連付けられた所定のプログラム可能相互接続を含む、前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続と一緒に、複数の論理回路の選択プログラム可能論理回路を構成することにより、構成された論理回路が設けられる。信号記憶回路に関連付けられた直列スキャン・チェーンを介して、既知データがその信号記憶回路に直列にスキャンされる。構成される論理回路への入力データとして、既知データを所定のプログラム可能相互接続へ転送するために、信号記憶回路が選択的に操作される。
【００１４】
本発明のこの第３の実施例の更に別の面では、入力データが構成された論理回路により処理され、そして処理の結果生ずる出力データが、第２の直列スキャン・チェーンの第２の信号記憶回路に取込まれる。
【００１５】
本発明の第４の実施例に従い、プログラマブル・ゲート・アレイは、複数のプログラム可能論理回路及び複数のプログラム可能相互接続を含む。複数のプログラム可能相互接続の少なくとも１つのプログラム可能相互接続内に、中継器ラッチ回路が設けられる。中継器ラッチは、関連するプログラム可能相互接続の第１及び第２の部分とそれぞれ結合する、第１及び第２のノードをもつ。プログラム可能結合回路が、第１及び第２のノード間に配置され、第１の選択信号に従って信号をノード間で選択的に伝達する。ＬＳＳＤレジスタも第１及び第２のノード間に配置される。ＬＳＳＤレジスタは、一次データを受信するための第１のノードと結合された一次入力、及び直列データを受信するための直列入力を有す。第１のラッチは、入力データとして、一次入力の一次データをＣクロックのパルスの結果として取込むか、又は直列入力の直列データをＡクロックのパルスの結果として取込む。第２のラッチは、Ｂクロックのパルスを受信すると、第１のラッチが取込んだデータに対応するデータをラッチ・データとしてその中にラッチする。第２のラッチのラッチ・データと対応する直列出力データが、ＬＳＳＤレジスタの直列出力に提供される。プログラム可能一次出力は、ラッチ・データに対応する一次出力データを第２のノードへ選択的に提供する。一次出力データは、プログラム可能一次出力が、第２の選択信号により使用可能になると、第２のノードへ出力される。
【００１６】
本発明のこの第４の実施例の更に別の面では、プログラム可能結合回路は、第１及び第２のノード間に、更に通過ゲートを配置する。通過ゲートは、第３の選択信号に従って、選択的に使用可能になる。
【００１７】
本発明のこの第４の実施例の好ましい面では、複数のメモリ・セルがプログラマブル・ゲート・アレイの個別のプログラム可能リソースに関連付けられる。複数のメモリ・セルの第１のメモリ・セルは、プログラム可能結合回路と関係付けられ、そこに記憶されたデータに従って第１の選択信号を提供する。複数のメモリ・セルの第２のメモリ・セルは、ＬＳＳＤレジスタのプログラム可能一次出力と関係付けられ、そこに記憶されたデータに従って第２の選択信号を提供する。
【００１８】
本発明のこの第４の実施例の更に別の面では、ＬＳＳＤレジスタは、直列スキャン・チェーンの複数のＬＳＳＤレジスタの中の１つであり、個々のＡ、Ｂ、Ｃクロックを共用し、個々のプログラム可能一次出力用に独立した選択ラインをもつ。
【００１９】
本発明のこの第４の実施例のもう１つ別の面では、機能用クロック線又は試験用クロック線のいずれかをＬＳＳＤレジスタに二者択一的に結合するための、プログラム可能セレクタが設けられる。したがって、ＬＳＳＤレジスタは、プログラマブル・ゲート・アレイの関連する論理回路の機能操作中は機能用クロックにより計時され、あるいは代替的にプログラマブル・ゲート・アレイの試験中は試験用クロックにより計時される。
【００２０】
【発明の実施の形態】
図１を参照すると、複数の論理セルを含むプログラマブル・ゲート・アレイ１０のレイアウトが示されている。この特定の実施例では、複数のプログラム可能論理セルは、セクタ１２に分割されている５６×５６配列のセルから成っている。個々のセクタ１２は、８×８のセル・グループによって画定されている。配列の周辺に沿って入出力ピン１４も示されており、これらはデータの入力及び出力に使われる。更にこれらのいくつかのピンは、クロック・ピン、リセット・ピン、又は配列１０のプログラム可能リソースをプログラムするための構成用ピンの用途に専用とされる。この配列の入出力部分は、米国特許申請、主題「ＰＲＯＧＲＡＭＭＡＢＬＥ  ＡＲＲＡＹ  Ｉ／Ｏ−ＲＯＵＴＩＮＧ  ＲＥＳＯＵＲＣＥ」に従って実現できる。
【００２１】
図２を参照すると、論理１６１，１から１６８，８によって成るプログラム可能論理セルの単一セクタ１２が示されている。論理セル１６１，６は、垂直方向の相互接続導体１８ａ及び１８ｂ、ならびに水平方向の相互接続導体２０ａ及び２０ｂによって囲まれていることが示されている。それぞれの水平方向及び垂直方向の相互接続導体は、配列の関連する行及び列の間に配置され、配列内のいずれかの２つの論理セル間、及びこれと入出力ピンとの間の接続を行う。相互接続導体はバスと呼ばれることもあり、一緒になってプログラマブル・アレイの全体的な相互接続ネットワークを形成する。加えてバス折り返し点（示されてない）が、特定の垂直相互接続導体と特定の水平相互接続導体との間に、プログラム可能な相互接続を提供するために用いられることもある。相互接続ネットワークは、米国特許申請、主題「ＰＲＯＧＲＡＭＭＡＢＬＥ  ＡＲＲＡＹ  ＩＮＴＥＲＣＯＮＮＥＣＴ  ＮＥＴＷＯＲＫ」に従って実現することができる。
【００２２】
個々の論理セル１６は、図３、４、及び５に示すように、複数の論理素子及び内部相互接続を含む。プログラム可能入力マルチプレクサ２４ａ〜２４ｄは、論理セルを囲むローカル・バスＬ１、Ｌ２、Ｌ３、Ｌ４のそれぞれからの複数の入力を受信する。更にマルチプレクサへの入力のいくつかは近隣の論理セルへの直接接続Ｆ、Ｇを提供し、又はクロック、フィードバック、及び論理１又は論理０信号との結合を行う。
【００２３】
個々の入力マルチプレクサは、スタティックＲＡＭのプログラム可能ビットによって駆動され、論理セル１６の内部論理にどの入力が結合するのかを選択するための選択ラインをもつ。プログラム可能入力マルチプレクサ２４ａは１６の入力をもち、したがって１６の入力のどの１つが自身の出力Ｅに送られるのかを選択するために、４つのプログラム可能ビットを必要とする。プログラム可能入力マルチプレクサ２４ｂは、８入力の１つを選択して自身の出力Ｆに送るために、マルチプレクサを構成するための関連するプログラム可能ビットに従って構成される。プログラム可能入力マルチプレクサ２４ｃは、マルチプレクサ２４ｄと共に１６入力をもち、したがってそれぞれのマルチプレクサは、４つの構成用ビットを必要とする。
【００２４】
各マルチプレクサからの出力は、それぞれのＮＡＮＤ／ＮＯＲ論理素子２２に送られる。このとき、関連する反転回路２６のプログラミング状態に従い、反転なしに直接送信されるか、又は反転して間接的に送信されるかいずれかである。プログラム可能ＮＡＮＤ／ＮＯＲゲート２２の論理は、それらが関連する構成データに従って決定される。論理素子２２からの出力Ｉ、Ｊは、追加の論理素子２７、２９及びマルチプレクサ２８、３０と結合される。フリップ・フロップ２５は、論理素子２９からＤ入力信号、及び関連するリセット及びクロック信号を受信する。
【００２５】
出力マルチプレクサ２８は４つの入力をもつ。それらは論理素子２２からの出力Ｉ、論理素子２７からの出力の反転回路を経由したもの、フリップ・フロップ２５からの出力、及びマルチプレクサ３０からの出力である。マルチプレクサ２８は自身の構成データに従って構成され、その出力はトライ・ステイト・バッファ３２を介して、プログラム可能出力マルチプレクサ３４に結合されている。マルチプレクサ２８の出力は反転バッファを介して、北、東、西、南、にある近接の論理セルに直接接続信号Ｆを供給する。マルチプレクサ３０も４つの入力をもつ。それらは論理素子２２からの出力Ｊ、論理素子２９及び２７からの２つの出力、ならびにマルチプレクサ２８からの出力である。マルチプレクサ３０の出力は、反転バッファを介して近接論理セルに直接接続信号Ｇを供給する。
【００２６】
通過ゲート・マルチプレクサは、ローカル・バスへの論理セルの相互接続を行う入出力マルチプレクサとして用いられる。これらのマルチプレクサは、静的ランダム・アクセス・メモリ（ＳＲＡＭ）セルによって制御される。ＳＲＡＭセルは、通過ゲート・マルチプレクサ内の通過ゲートに直接に、又は間接に（デコーダを経由）結合され、通過ゲートの状態を制御する。例えば論理セル１６ａは、論理セルの多数の側面に存在する入力接続Ｅを制御する、プログラム可能入力マルチプレクサ２４ａを含む。この開示の特定の実施例では、個々の潜在的バスから伝送ゲートのソース／ドレインの組み合わせに単一の接続がされ、そして伝送ゲートのソース／ドレインの組み合わせは、論理セルの入力ノードに結合されている。１６のこのような伝送ゲートが、１６：１通過ゲート・マルチプレクサに存在する。ソフトウェア及びデコード論理回路が、ただ１つの特定の通過ゲートが、いずれかの単一入力ノードに接続されることを保証する。
【００２７】
出力マルチプレクサ３４は、論理セルの多数サイドにおいて関連するローカル・バスＬ１〜Ｌ４への１６の出力をもつ。トライ・ステイト・バッファ３２からの出力信号は、マルチプレクサの構成ビットに従って１６の出力の中の１つに選択的に結合される。論理セル１６の内部論理及び相互接続のこれ以上の説明は、米国特許申請、主題「ＰＲＯＧＲＡＭＭＡＢＬＥ  ＬＯＧＩＣ  ＣＥＬＬ」に記述されている。
【００２８】
図４に示すように、個々のコア・セルの対角線に位置する２つの角（かど）に、プログラム可能なバス折り返し点３８が設けられ、スーパ・バス以外のすべてのバスに対して、垂直バスを水平バスに結合することを可能にする。コア・セル１６を取囲むバス配線間にプログラム可能バス折り返し点を構成するための構成データは、所定の論理セルに対する関連する配線構成データ中に含まれる。
【００２９】
図４及び図５を参照すると、水平バス及び垂直バスが、フィールド・プログラマブル・ゲート・アレイ内で論理セル１６のそれぞれを取囲んでいる。これらのバスは４つのローカル・バスＬ１、Ｌ２、Ｌ３、Ｌ４、２つの直通バスＥ１、Ｅ２、及び１つのスーパ・バスＳ１を含んでいる。個々のセクタの境界において、例えば８つの論理セル毎にローカル・バス、直通バス、及びスーパ・バス配線間の切り替えを行うため、及びフィールド・プログラマブル・ゲート・アレイの多数のセクタにわたってバスの信号をバッファリングするために、中継器のグループ３６がバス配線の中間に置かれる。更に、特定の中継器グループは中継器ラッチを含み、関連するローカル・バスからのデータの選択的取込み、及びそのローカル・バスへのデータの選択的送付を可能にする。中継器グループの各中継器は、関連する構成データによりプログラム可能であり、複数の中継機構成の１つを備える。
【００３０】
プログラマブル・ゲート・アレイ内のコア・セルの行の片側に関連付けられるバスのグループを、図６及び図７に示す。中継器回路、例えば３６ａが、８個のコア・セル毎の間隔で、各セクタ境界においてローカル・バスＬ１及び直通バスＥ１と関連付けられる。更に、ローカル・バスＬ１はジャンパ５３を含み、これはローカル・バスを小さなバス・セグメントへ選択的に分割することを可能にする。中継器ラッチ５０が（矢印で示す）、ローカル・バスと関連付けられた各中継器回路に並列に設けられる。例えば中継器ラッチ５０１は、ローカル・バスＬ１の部分５２と部分５６との間に結合されたＬＳＳＤレジスタを含む。同様に、図で示すように同じような中継器ラッチ５０２、５０３、５０４が中継器回路３６ｂ及び３６ｃ内でローカル・バスＬ２、Ｌ３及びＬ４とそれぞれ関連付けられる。
【００３１】
図７を参照すると、中継器回路、例えば中継器回路３６ａの各種ノードを相互接続する点線が、４つの各ノード、５２、５４、５６、５８間の可能なバッファ構成を示す。中継器回路３６ａに含まれる各種のプログラム可能トライ・ステイト・バッファ６２、６４（図８を参照）は、多様な構成を可能にする。フィールド・プログラマブル・ゲート・アレイ内の各行２０及び各列１８のバスは、行バス２０ａ（図２）に対応する構造を含む。
【００３２】
図９は、中継器３６ａに関連付けられたいくつかのプログラム可能リソースの詳細を示す。通過ゲート６０は、ノード５２及びノード５６との間のチャネルのそれぞれと結合された２つのＦＥＴ素子からなる。通過ゲート６０のＦＥＴのゲートは、選択信号ＰＳ０（及びその補数）により使用可能にされる。トライ・ステイト・バッファ６２の入力は、ノード５２に結合され、出力はノード５６に結合される。バッファ６２のトライ・ステイト・イネーブルは、第２の選択信号ＰＳ１を受信するために結合される。第２のトライ・ステイト・バッファ６４は、ノード５２と５６との間で反対向きに結合され、そのトライ・ステイト・イネーブルは第３の選択信号ＰＳ２を受信して使用可能にされる。
【００３３】
中継器ラッチ５０（図９及び図１０を参照）は、一次入力Ｄｉｎをもち、ローカル・バスＬ１のノード５２から入力データを受信する。中継器ラッチ５０の一次出力Ｄｏｕｔが、ローカル・バスＬ１のノード５６に結合される。二次入力及び二次出力のＳｉｎ及びＳｏｕｔが、それぞれ直列スキャン・チェーンの直列データの受信及び送信のために設けられ、この中に中継器ラッチ５０が組込まれる。中継器ラッチ５０は、Ａ、Ｂ、及びＣクロックの受信のために３つのクロック入力をもち、これらが中継器ラッチのＬＳＳＤ操作を可能にする。中継器ラッチのトライ・ステイト・イネーブルがトライ・ステイト・イネーブル信号ＴＳＥ（及びその補数）の受信のために結合され、中継器ラッチがその一次出力Ｄｏｕｔへデータを提供することを可能にする。
【００３４】
図１０は、中継器ラッチ５０の代表的な構成図を示す。通過ゲート７０及び７２が、一次入力Ｄｉｎ及び二次入力Ｓｉｎそれぞれを、反転回路７４及び７６を含む第１のラッチに選択的に結合させる。通過ゲート７８が第１のラッチ７４、７６と、反転回路８０、８２を含む第２のラッチとの間に設けられる。第２のラッチ８０、８２の出力が、二次出力Ｓｏｕｔ及びトライ・ステイト反転回路８４の入力にも与えられる。トライ・ステイト反転回路８４の出力は、トライ・ステイト・イネーブル信号ＴＳＥにより使用可能になったときに、一次出力Ｄｏｕｔをドライブし、第２のラッチのデータをノード５６へ送信する。
【００３５】
図１１の直列スキャン・チェーン５１の例のような直列スキャン・チェーンに直列データを入力するために、中継器ラッチ５０はＡクロック入力でクロック・パルスを受信する。Ａクロック・パルスはＮＦＥＴ７２のゲートに与えられ、二次入力Ｓｉｎのデータの第１のラッチ７４、７６への転送を可能にする。代替的に一次入力Ｄｉｎのデータを取込むには、一次入力Ｄｉｎからのデータを第１のラッチ７４、７６へ転送するために、Ｃクロック・パルスがＮＦＥＴ７０のゲートに与えられる。データを第１のラッチから第２のラッチへシフトするためには、Ｂクロック・パルスがＮＦＥＴ７８のゲートに与えられ、その結果第２のラッチのラッチ・データが第１のラッチに取込まれたデータに従って更新される。第２のラッチのラッチ・データを一次出力Ｄｏｕｔに出力するには、トライ・ステイト反転回路８４を使用可能にするトライ・ステイト・イネーブル信号ＴＳＥを与えるように、中継器ラッチ５０用の構成データをプログラムする。代替の方法としては、一次入力Ｄｉｎと関連付けられた一次データ経路に反転回路（表示されていない）が設けられ、一次入力から一次出力へ伝達されるデータが全体として反転されることを防ぐ。但し、本発明のこの実施例では、回路構成を生成する合成ソフトウェアが、単一トライ・ステイト反転回路８４により生ずる一次入力と一次出力との間の極性反転を許容できる。
【００３６】
図１０の構成図は、本発明の範囲で提供できるＬＳＳＤタイプのラッチ・レジスタの実施例の１つを示すにすぎないことに留意されたい。第２のラッチのデータを、プログラマブル・ゲート・アレイの分配相互接続に関連付けられた一次出力Ｄｏｕｔへ選択的に結合するために、プログラム可能トライ・ステイト出力が含まれるならば、他のＬＳＳＤレジスタも使用できる。本開示で使用されるように、ＬＳＳＤは、レベル・センシティブ・スキャン・デザインを表す。既知のＬＳＳＤ技術及び回路は、本発明の代理人に譲渡された、Ｅｉｃｈｅｌｂｅｒｇｅｒによる米国特許第３，７８３，２５４号、主題「ＬＥＶＥＬ  ＳＥＮＳＩＴＩＶＥ  ＬＯＧＩＣ  ＳＹＳＴＥＭ」、及びＲ．Ｗ．Ｂａｓｓｅｔｔ、外によるＩＢＭ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｅｓｅａｒｃｈ  ＆  Ｄｅｖｅｌｏｐｍｅｎｔ、Ｖｏｌ  １４、Ｎｏ．２／４、１９９０年３月／５月、主題「Ｂｏｕｎｄａｒｙ−Ｓｃａｎ  Ｄｅｓｉｇｎ  Ｐｒｉｎｃｉｐｌｅｓ  ｆｏｒ  Ｅｆｆｅｃｔｉｖｅ  ＬＳＳＤ  ＡＳＩＣ  Ｔｅｓｔｉｎｇ」などに記載されている。
【００３７】
図７、図１１、及び図１２を参照すると、本発明の好ましい実施例で、複数の中継器ラッチが次々につながり、直列スキャン・チェーン５１を構成する。直列スキャン・チェーンは、個々の中継器ラッチへの直列データ入力及びそこからの直列データ出力の直列スキャニングを可能にする。個々の直列中継器ラッチ、例えば中継器ラッチ５０１は、その後の中継器ラッチ、例えば５０２の直列入力Ｓｉｎと接続される個々の直列出力Ｓｏｕｔをもつ。スキャン・チェーン５１の第１の中継器ラッチ５０１の直列入力Ｓｉｎは、スキャン・チェーン５１のスキャン入力ＳＩを提供する。スキャン・チェーンの最後の中継器ラッチ５０２４の直列出力Ｓｏｕｔは、スキャン・チェーン５１のスキャン出力ＳＯを提供する。スキャン・チェーン５１内の各中継器ラッチは、Ａ、Ｂ、Ｃクロック入力を共用し、そのＬＳＳＤ操作用のＡ、Ｂ、Ｃクロックのそれぞれを受信する。これと対照的に、関連する中継器ラッチの一次出力Ｄｏｕｔを提供する各トライ・ステイト反転回路は、構成メモリ９２の独自のメモリ・セルを割り当てられる。したがって、関連する中継器ラッチの各トライ・ステイト反転回路は、関連するメモリ・セル内の構成データに従って提供される、それ独自のトライ・ステイト・イネーブル信号により、他とは独立して使用可能になる。
【００３８】
本発明の好ましい実施例では、中継器ラッチは個々の行バス２０内の個別の並列スキャン・チェーンに一列に並べられる。同様に、追加中継器ラッチも、個々の垂直の列バス１８（これらのバスは、図２に示す）内の個々の並列スキャン・チェーンに一列に並べられる。好ましくは、個々のスキャン・チェーンのスキャン・アウトＳＯ及びスキャン・インＳＩが、プログラマブル・ゲート・アレイの機能ラインの中から、プログラマブル・ゲート・アレイの関連する行及び列に近接する個々の入出力ポート１４に、選択的に多重化される（表示されていない）のが望ましい。
【００３９】
操作では、プログラマブル・ゲート・アレイ内の論理セル１６の選択グループが、所望の論理回路に従って構成され、相互接続される。構成される論理回路の境界に関連付けられる各相互接続は、関連する中継器ラッチ５０を含む。好ましくは、構成される論理回路の相互接続入力は、関連する第１のスキャン・チェーン５１（図１２）の中継器ラッチにより交差され、直列スキャンされた入力データを構成される論理回路の入力に送付することを可能にし、一方で構成される論理回路の相互接続出力が第２のスキャン・チェーンの中継器ラッチ（表示されていない）と交差する。個々のスキャン・チェーンのスキャン入力ＳＩ及びスキャン出力ＳＯが、プログラマブル・ゲート・アレイの入出力ポートで他の機能ラインと共用される場合、個々の第１及び第２のスキャン・チェーンのスキャン入力及びスキャン出力をアクセスするために、関連する二重使用入力ポートを構成するための適切なプログラミングが必要である。
【００４０】
一旦適切に構成されると、試験ベクトルがＡ、Ｂクロックそれぞれの作用により第１のスキャン・チェーンにスキャン・インされ、一方トライ・ステイト・バッファ６２、６４、及び関連する中継器回路の通過ゲート６０は使用不能にされる。試験ベクトルが第１のスキャン・チェーンにスキャン・インされた後で、第１のスキャン・チェーンの各中継器ラッチのトライ・ステイト反転回路８４が使用可能にされ、試験ベクトルを構成される論理回路の入力に送付する。構成される回路による適切な処理の後、Ｃクロックの適切な作用により、第２のスキャン・チェーンの関連する中継器ラッチの第１のラッチに、構成された回路の処理の結果生ずるデータ出力が取込まれる。構成された論理回路の処理の結果生ずる出力データを取込んだ後で、取込みデータはＡ、Ｂクロックそれぞれの作用により第２のスキャン・チェーンからスキャン・アウトされる。スキャン・アウトされた結果のデータは、次に、構成された論理回路の適切な機能性を判定するために、所定の予想データと分析比較される。
【００４１】
上記の操作の中で、構成される論理回路をプログラマブル・ゲート・アレイの他の部分から分離するために、構成される論理回路の相互接続が開放された。次に試験データが構成される論理回路に与えられ、そこからの結果データが境界スキャン・チェーンを介して得られた。したがって、構成される論理回路はプログラマブル・ゲート・アレイの他の部分からは独立して試験される。
【００４２】
図１２及び図１３を参照すると、各セクタの各列は、クロック及びリセット信号を論理セル１６のフリップ・フロップ２５へ分配するための分配ネットワークをもつ。列クロック線１０６は、関連する列クロック・マルチプレクサ１０２の出力からクロック信号を受信し、このクロック信号を所定のセクタの所定の列の各論理セル１６のフリップ・フロップ２５に分配する。マルチプレクサ１０２は、それ自身の列又は最大２列離れた列のクロック信号から１つのクロック信号を選択するように構成される。同様の回路及び信号ラインが、さまざまな列の論理セルのフリップ・フロップ２５にリセット信号を分配するために設けられる。
【００４３】
フィールド・プログラマブル・ゲート・アレイの各列と関連付けられ、複数のセクタにわたる、グローバル列クロック線１０４が設けられ、関連するグローバル列マルチプレクサ１００からのクロック信号を分配する。グローバル・マルチプレクサ１００は、多数のシステム・クロック１１２及び関連する内部で生成されたクロック１０１の中から１つのクロックを選択的に結合し、個々のグローバル列クロック線１０４をドライブする。フィールド・プログラマブル・ゲート・アレイ内のクロック、及びリセット・ネットワークの構成及びプログラミングに関するこれ以上の情報は、米国特許申請、主題「ＰＲＯＧＲＡＭＭＡＢＬＥ  ＡＲＲＡＹ  ＣＬＯＣＫ／ＲＥＳＥＴ  ＲＥＳＯＵＲＣＥ」に記載されている。
【００４４】
本発明の代替実施例では、マルチプレクサ１０８（図１２を参照）が、操作制御信号パス１１２のシステム・クロック、又は試験制御信号パス１１０の試験クロックを、スキャン・チェーン５１の中継器ラッチ５０のＡ、Ｂ、Ｃ入力１１４に選択的に結合する。したがって、プログラマブル・ゲート・アレイの試験中に、試験クロック１１０のＡ、Ｂ、Ｃクロックにより与えられる適切な計時を用いて中継器ラッチ５０１、５０２．．．を使用できる。代替的に、中継器ラッチ５０１、５０２．．．を、プログラマブル・ゲート・アレイの機能操作中に、他の論理セル１６と共に使用し、システム・クロック１１２が提供する適切な計時によりデータのラッチ及び処理を実行できる。
【００４５】
一般的に、中継器ラッチが他の論理セル１６と共に機能上で使用される場合、中継器ラッチのＣ及びＢクロック入力だけが計時され、一方で中継器ラッチのトライ・ステイト反転回路８４が、そのラッチ・データを関連する相互接続へ送付するために使用可能にされる。更に、単一のクロックから、２つの個別のクロックをＣ及びＢ入力のために生成することが可能である。単一クロックの非反転信号が中継器ラッチのＣ入力に送付され、一方中継器ラッチのＢ入力はその単一クロックの反転信号を受信する。このような操作を行うために、マルチプレクサ１０８は、中継器ラッチ５０のＢ及びＣ入力と結合された２つの出力ライン１１４をもち、マルチプレクサの２つの入力は、試験クロック１１０のＢ及びＣクロックと結合され、代替する２つの入力はシステム・クロック１１２の関連するクロック線と結合される。マルチプレクサの代替入力と結合された、システム・クロック１１２の２つの関連するクロックは、単一クロックでも与えられる。ここで、その非反転信号が１つのクロック線と結合され、もう１つのクロック線は反転回路を介した（表示されていない）同じ信号によりドライブされる。
【００４６】
配列（ａｒｒａｙ）をプログラム可能にするために、多様な技術が当分野に知識のある当業者には知られている。マスクを使ったプログラミング技術は、最後の金属化層の付着をカストマイズすることを含み、この金属化層は、カストマイズされないときは共通に設計された集積回路に使われるものである。（例えば、Ｃｏｘ、外に発行された米国特許第３，９９３，９１９号、主題「ＰＲＯＧＲＡＭＭＡＢＬＥ  ＬＡＴＣＨ  ＡＮＤ  ＯＴＨＥＲ  ＣＩＲＣＵＩＴＳ  ＦＯＲ  ＬＯＧＩＣ  ＡＲＲＡＹＳ」、１９７６年１１月２３日付、及びＦｉｔｚｇｅｒａｌｄに発行された米国特許第４，７４２，３８３号、主題「ＭＵＬＴＩ−ＦＵＮＣＴＩＯＮ  ＦＥＴ  ＭＡＳＴＥＲＳＬＩＣＥ  ＣＥＬＬ」、１９８８年５月３日付、を参照されたい。これら双方の特許は本申請と同じ出願人に譲渡されている。）レーザを使ったプログラミング技術は、金属化層の付着後に金属化層をカストマイズすることを含む。（例えば、Ｒａｆｆｅｌ、外による主題「Ａ  ＷＡＦＥＲ−ＳＣＡＬＥ  ＤＩＧＩＴＡＬ  ＩＮＴＥＧＲＡＴＯＲ  ＵＳＩＮＧ  ＲＥＳＴＲＵＣＴＵＲＡＢＬＥ  ＶＬＳＩ」、ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆＳｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ、Ｖｏｌ．ＳＣ−２０、Ｎｏ．１、１９８５年２月、頁３９９を参照されたい。）溶融可能リンク、又はアンチ・フューズも用いられ、これらは恒久的な（揮発性でない）プログラミングを行う。（例えば、Ｍｉｌｌａｎによる主題「ＭＩＣＲＯＥＬＥＣＴＲＯＮＩＣＳ」、ＭｃＧｒａｗ−Ｈｉｌｌ社、１９７９年出版、頁１９６、及びＥｌｇａｍａｌ、外に発行された米国特許第４，７５８，７４５号、主題「ＵＳＥＲ  ＰＲＯＧＲＡＭＭＡＢＬＥ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴ  ＩＮＴＥＲＣＯＮＮＥＣＴ  ＡＲＣＨＩＴＥＣＴＵＲＥ  ＡＮＤ  ＴＥＳＴ  ＭＥＴＨＯＤ」、１９８８年７月１９日付を参照されたい。）消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）素子、及び電気的に消去可能なプログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）素子も用いられ、半恒久的なプログラミングを提供する。ＥＰＲＯＭ及びＥＥＰＲＯＭは両方とも電気的にプログラム可能であり、電源が切れてもそれらの状態を保持する。しかしこれらの素子を再プログラムするためには、特別な消去手順が用いられる。（例えば、Ｗｏｏｄ、外による主題「ＡＮ  ＥＬＥＣＴＲＩＣＡＬＬＹ  ＡＬＴＥＲＡＢＬＥ  ＰＬＡ  ＦＯＲ  ＦＡＳＴ  ＴＵＲＮＡＲＯＵＮＤ  ＴＩＭＥ  ＶＬＳＩ  ＤＥＶＥＬＯＰＭＥＮＴ  ＨＡＲＤＷＡＲＥ」、ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ−ＳｔａｔｅＣｉｒｃｕｉｔｓ、Ｖｏｌ．ＳＣ−１６、Ｎｏ．５、１９８１年１０月、頁５７０を参照されたい。）最後に揮発性のランダム・アクセス・メモリ（ＲＡＭ）素子も使用可能であり、これらは完全にプログラム可能及び再プログラム可能であるが、電源が切れるとそのプログラム状態が失われる。（例えば、Ｂａｌａｓｕｂｒａｍａｎｉａｎ、外に発行された米国特許第４，１７７，４５２号、１９７９年１２月４日付を参照されたい。この特許は本申請と同じ出願人に譲渡されている。）配列をプログラムするこれらの技術及び他の技術は、当分野の当業者には周知のものであり、又Ｓ���Ｂｒｏｗｎ、Ｒ．Ｆｒａｎｃｉｓ、Ｊ．Ｒｏｓｅ及びＺ．Ｖｒａｎｅｓｉｃによる主版物、主題「ＦＩＥＬＤ−ＰＲＯＧＲＡＭＭＡＢＬＥ  ＧＡＴＥ  ＡＲＲＡＹＳ」、Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ  １９９２年発行にも全体的に記述されている。
【００４７】
配列をプログラムするための本発明の好ましい方法は、ユーザがプログラムするＳＲＡＭメモリ・セルを含む。配列は、主題「ＡＰＰＬＩＣＡＴＩＯＮ  ＮＯＴＥ  ＡＴ６０００  ＳＥＲＩＥＳ  ＣＯＮＦＩＧＵＲＡＴＩＯＮ」の出版物、１９９３年５月発行、改定１Ｂ、Ａｔｍｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ社発行、で開示されている技術に従って構成される。ＳＲＡＭのメモリ・セルは、関連する論理ビット・マップに従ってフィールド・プログラマブル・ゲート・アレイ、ＦＰＧＡのプログラム可能リソースに割り当てられる。
【００４８】
図１１を参照すると、フィールド・プログラマブル・ゲート・アレイ９０（ＦＰＧＡ）がコンピュータ・システムに組込まれる場合、ＦＰＧＡ用のＳＲＡＭ９２にＦＰＧＡのプログラム可能リソースを構成するための所定の構成データがロードされる。電源投入時に、データ源９６の構成データが、例えばＥＥＰＲＯＭからダウンロードされ、ＳＲＡＭの関連するメモリ・セルにロードされ、プログラマブル・ゲート・アレイの各種のプログラム可能リソースをドライブする。
【００４９】
代替として、外部コントローラ（表示されていない）がフィールド・プログラマブル・ゲート・アレイとインターフェースされ、構成データを提供する。通常はＦＰＧＡの機能操作中には試験操作は実施されないので、このような試験に関連する構成データは、標準ブートアップ・メモリ素子内には含まれない。その代わり、このような試験操作を可能にするための構成データを提供するために、一般的に品質保証試験システムの一部である外部コントローラが、フィールド・プログラマブル・ゲート・アレイのＳＲＡＭ９２をアドレス指定し、相互接続及び中継器ラッチを構成するために、その中に適切な構成データをロードする。このようにして、上で説明したように試験が可能になる。更に、外部コントローラは、個々のスキャン・チェーンへのデータのスキャン・イン及びそこからのデータのスキャン・アウト、ならびに適切なスキャン・チェーンへのデータの取込みに必要なＡ、Ｂ、Ｃクロックを提供する。システム・クロックは、必要に応じて、所定の構成される論理回路内の各種の論理セルの機能操作用に提供される。
【００５０】
したがって、上記で開示したものは、プログラマブル・ゲート・アレイの選択相互接続内に組込まれるプログラム可能中継器ラッチであり、これは、プログラマブル・ゲート・アレイの構成される回路の特定のブロックの分離及び試験を可能にする。更に、この他にも、プログラム可能中継器ラッチは、プログラマブル・ゲート・アレイの関連する構成される回路と機能的に協調動作する機能素子としても使用できる。
【００５１】
本発明を、特に好ましい実施例を参照にして開示し、説明したが、本発明の意図及び範囲を逸脱することなく、その中に形態及び詳細について各種の他の変更が可能であることは、当分野に知識をもつ当業者には明かであろう。
【００５２】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００５３】
（１）  複数のプログラム可能論理回路と、前記プログラム可能論理回路の接続のためのプログラム可能相互接続ネットワークと、前記プログラム可能相互接続ネットワーク内に接続される少なくとも１つのプログラム可能インターフェース回路とを有する集積回路であって、前記プログラム可能インターフェース回路が、
少なくとも１つの入力ノード及び少なくとも１つの出力ノードと、
前記入力ノードと前記出力ノードとの間に接続され、前記入力ノードにおける論理状態に関連するバッファリングされた出力信号を前記出力ノードへ選択的に与えるための回路と、
前記入力ノードから受信した論理状態を選択的に記憶するために、前記入力ノードに接続される信号記憶回路と、
を含む集積回路。
（２）  前記プログラム可能インターフェース回路が二次入力ノード及び二次出力ノードを更に含み、前記信号記憶回路が、
前記入力ノード又は前記二次入力ノードのいずれかから受信した論理状態を選択的に記憶するために、前記入力ノード又は前記二次入力ノードと選択的に結合される一次選択ラッチと、
前記一次選択ラッチと選択的に結合され、更に前記二次出力ノードにラッチされたデータを与えるために、前記二次出力ノードに結合される二次選択ラッチであって、前記ラッチされたデータは、前記一次選択ラッチの事前に記憶された論理状態を表すものである二次選択ラッチと、
を更に含む、（１）に記載の集積回路。
（３）  前期プログラム可能インターフェース回路が、前記ラッチされたデータを表すデータを前記出力ノードへ選択的に与えるために、前記出力ノードと選択的に結合されるプログラム可能ドライバを更に含む、（２）に記載の集積回路。
（４）  前記複数のプログラム可能論理回路の各々が信号記憶ラッチを含む、（１）に記載の集積回路。
（５）  前記集積回路が複数の操作制御信号パス及び複数の試験制御信号パスを更に含み、前記集積回路が、
前記複数の操作制御信号パスの少なくとも１つの選択操作制御信号パスと、前記複数の試験制御信号パスの少なくとも１つの選択試験制御信号パスで構成されるグループの、少なくとも１つの信号パスを前記信号記憶回路に選択的に接続し、その結果前記信号記憶回路が前記集積回路の試験時、又は前記集積回路の操作時に選択的に使用できるプログラム可能カプラとを更に含む、
（１）に記載の集積回路。
（６）  前記信号記憶回路が、
直列入力データの受信のための二次入力ノードと、
直列出力データの送信のための二次出力ノードと、
一次及び二次のラッチされるデータそれぞれを保存する一次及び二次ラッチと、
前記入力ノードと前記一次ラッチとの間に配置される第１の選択カプラであって、前記第１の選択カプラが、第１のクロック信号に従って前記入力ノードの一次データを前記一次ラッチに選択的に結合し、その結果一次データが前記一次のラッチされるデータとして取込まれる、第１の選択カプラと、
前記二次入力ノードと前記一次ラッチとの間に配置される第２の選択カプラであって、前記第２の選択カプラが、第２のクロック信号に従って前記二次入力ノードの直列入力データを前記一次ラッチに選択的に結合し、その結果直列入力データが前記一次のラッチされたデータとして取込まれる、第２の選択カプラと、
前記一次ラッチと前記二次ラッチとの間に配置される第３の選択カプラであって、前記第３の選択カプラが、第３のクロック信号に従って前記一次ラッチを前記二次ラッチに選択的に結合し、その結果前記二次ラッチの二次ラッチされたデータを前記一次ラッチされたデータに従って更新し、二次ラッチされたデータを表すデータが前記二次出力ノードにおいて直列出力データとして提供される、第３の選択カプラと、
を含む、（１）に記載の集積回路。
（７）  前記信号記憶回路が、
前記二次ラッチされたデータを表す出力信号を前記出力ノードへ選択的に出力するためのプログラム可能出力手段と、
第１のプログラム可能選択信号に従って前記出力信号を選択的に出力するためのプログラム可能出力手段と、
を更に含む、（６）に記載の集積回路。
（８）  前記プログラム可能出力がトライ・ステイト反転回路を含み、その入力は前記二次ラッチされたデータを受信するために前記二次ラッチに結合され、そのトライ・ステイト・イネーブルは、前記第１のプログラム可能選択信号によりドライブするように結合され、更にその出力は前記第１のプログラム可能選択信号により使用可能にされたときに、前記出力信号を提供するために前記出力ノードに結合される、（７）に記載の集積回路。
（９）  前記入力ノード及び前記出力ノード間に接続される前記回路が、入力が前記入力ノードに結合され、出力が前記出力ノードに結合されるトライ・ステイト・バッファを含み、更にそのトライ・ステイト・イネーブルは、第２のプログラム可能選択信号を受信するように結合される、（７）に記載の集積回路。
（１０）  前記信号記憶回路がスキャン・チェーンの一部である、（１）に記載の集積回路。
（１１）  前記回路の選択性を制御するための第１の構成データを提供する第１のデータ源と、
前記信号記憶回路の選択性を制御するための第２の構成データを提供する第２のデータ源と、
を更に含む、（１）に記載の集積回路。
（１２）  集積回路を操作する方法であって、
複数のプログラム可能論理回路と、前記プログラム可能論理回路を接続するためのプログラム可能相互接続ネットワークと、前記プログラム可能相互接続ネットワークの所定のプログラム可能相互接続内において、信号を選択的にバッファリングするためのプログラム可能バッファと、前記所定のプログラム可能相互接続のデータを選択的に取込み、記憶するための第１の直列スキャン・チェーンの信号記憶回路とを有する集積回路を提供するステップと、
所望の論理設計を実施するために、構成される論理回路として、前記複数の論理回路の選択プログラム可能論理回路と、前記所定のプログラム可能相互接続を含む前記プログラム可能相互接続ネットワークの、選択プログラム可能相互接続とを構成するステップと、
前記構成される論理回路にその励振用に既知データを与えるステップと、
前記既知データによる励振に応答する前記構成される論理回路の処理の結果生ずる、前記所定のプログラム可能相互接続のデータを、前記第１のスキャン・チェーンの前記信号記憶回路に取込むために、前記信号記憶回路を選択的に操作するステップと、
前記第１のスキャン・チェーンから前記取込みデータをスキャン・アウトするステップと、
を含む方法。
（１３）  前記集積回路が、前記既知データを受信し、更に前記既知データを前記構成される論理回路に選択的に与えるために、第２のスキャン・チェーンの第２の信号記憶回路をも含み、
前記構成される論理回路に既知データを与える前記ステップが、既知データを前記第２のスキャン・チェーンにスキャン・インすること、及び前記第２のスキャン・チェーンの前記第２の信号記憶回路から、既知データを励振用に前記構成される論理回路に転送するために、前記第２の信号記憶回路を選択的に操作することとを含む、
（１２）に記載の方法。
（１４）  集積回路を操作する方法であって、
複数のプログラム可能論理回路と、前記プログラム可能論理回路を接続するためのプログラム可能相互接続ネットワークと、前記プログラム可能相互接続ネットワークの所定のプログラム可能相互接続内において、信号を選択的にバッファリングするためのプログラム可能バッファと、前記所定のプログラム可能相互接続にデータを選択的に提供するための直列スキャン・チェーンの信号記憶回路とを有する集積回路を提供するステップと、
所望の論理設計を実施するために、構成される論理回路として、前記複数の論理回路の選択プログラム可能論理回路、及び前記所定のプログラム可能相互接続を含む前記プログラム可能相互接続ネットワークの、選択プログラム可能相互接続を構成するステップと、
前記直列スキャン・チェーンを介して前記信号記憶回路に既知データを直列にスキャン・インするステップと、
前記既知データを前記構成される論理回路への入力データとして、前記所定のプログラム可能相互接続に与えるために、前記信号記憶回路を選択的に操作するステップと、
を含む方法。
（１５）  前記構成される論理回路による前記入力データを処理することと、
前記構成される論理回路の前記処理の結果生ずる出力データを、第２の直列スキャン・チェーンの第２の信号記憶回路に取込むことと、
を更に含む、（１４）に記載の方法。
（１６）  集積回路を操作する方法であって、
複数のプログラム可能論理回路と、前記プログラム可能論理回路を接続するためのプログラム可能相互接続ネットワークと、前記プログラム可能相互接続ネットワークの個々の相互接続内に関連する信号を選択的にバッファリングするための、プログラム可能バッファと、関連する前記プログラム可能相互接続のデータを選択的に取込み記憶するため、又はその記憶されたデータを関連する前記プログラム可能相互接続に選択的に出力するための、個々のプログラム可能バッファと並列となる、複数の信号記憶回路とを有する集積回路を提供するステップと、所望の論理設計を実施するために、構成される論理回路として、前記複数の論理回路の選択プログラム可能論理回路、及び前記プログラム可能相互接続ネットワークの選択プログラム可能相互接続を構成するステップと、
前記構成される論理回路の少なくとも１つの入力線にわたる入力直列スキャン・チェーンとして、前記複数の信号記憶回路の第１の選択信号記憶回路を構成するステップと、
前記構成される論理回路の少なくとも１つの出力線にわたる出力直列スキャン・チェーンとして、前記複数の信号記憶回路の第２の選択信号記憶回路を構成するステップと、
前記入力直列スキャン・チェーンに既知データをスキャン・インするステップと、
前記構成される論理回路の少なくとも１つの入力線と関連づけて、選択プログラム可能相互接続のプログラム可能バッファを選択的に使用不能にするステップと、
前記既知データを前記構成される論理回路に与えるために、前記入力直列スキャン・チェーンの前記第１の選択信号記憶回路を選択的に使用可能にするステップと、
前記構成される論理回路で前記既知データを処理するステップと、
前記構成される論理回路の結果として、前記少なくとも１つの出力線で出力データを取込むために、前記出力直列スキャン・チェーンの前記第２の選択信号記憶回路を選択的に操作するステップと、
前記出力直列スキャン・チェーンから前記取込みデータをスキャン・アウトするために、前記出力直列スキャン・チェーンの前記第２の選択信号記憶回路を選択的に操作するステップと、
を含む方法。
（１７）  複数のプログラム可能論理回路と、複数のプログラム可能相互接続とを有するプログラマブル・ゲート・アレイ（ＰＧＡ）であって、前記複数のプログラム可能相互接続の少なくとも１つのプログラム可能相互接続が、その中に配置された中継器／ラッチ回路を含み、前記中継器／ラッチ回路が、
前記少なくとも１つのプログラム可能相互接続の第１の部分に結合される第１のノードと、
前記少なくとも１つのプログラム可能相互接続の第２の部分に結合される第２のノードと、
前記第１及び第２のノード間に配置され、第１の選択信号に従ってその間に信号を選択的に伝達するためのプログラム可能結合回路と、
前記第１及び第２のノード間に配置されるＬＳＳＤレジスタと、
を含み、前記ＬＳＳＤレジスタが、
一次データを受信するために前記第１のノードに結合される一次入力と、
直列データを受信するための直列入力と、
Ｃクロックのパルスにより有効になる前記一次入力の一次データ、又はＡクロックのパルスにより有効になる前記直列入力の直列データのいずれかを、取込みデータとして選択的に取込むために、前記一次入力又は前記直列入力に選択的に結合される第１の選択ラッチと、
前記第１の選択ラッチの前記取込みデータに対応して、ラッチされるデータとしてその中にデータをラッチするために、前記第１の選択的ラッチに選択的に結合される第２の選択ラッチであって、前記ラッチされるデータのラッチ操作はＢクロックのパルスに有効になる、第２の選択ラッチと、
前記第２の選択ラッチの前記ラッチされるデータに対応して、直列出力データを送信するための直列出力と、
前記ラッチされるデータに対応して、前記第２のノードへ一次出力データを選択的に出力するためのプログラム可能一次出力であって、前記一次出力データは第２の選択信号に従って前記第２のノードへ選択的に送付される、プログラム可能一次出力と、
を有する、プログラマブル・ゲート・アレイ。
（１８）  前記プログラム可能結合回路が、トライ・ステイト・バッファを含み、その入力は前記第１のノードに結合され、その出力は前記第２のノードに結合され、更にそのトライ・ステイト・イネーブルは前記第１の選択信号を受信するために結合されるトライ・ステイト・バッファである、（１７）に記載のＰＧＡ。
（１９）  前記プログラム可能結合回路が、第２のトライ・ステイト・バッファを更に含み、その入力は前記第２のノードに結合され、その出力は前記第１のノードに結合され、更にそのトライ・ステイト・イネーブルは第３の選択信号を受信するために結合されるトライ・ステイト・バッファである、（１８）に記載のＰＧＡ。
（２０）  前記トライ・ステイト・バッファがトライ・ステイト反転回路を含む、（１８）に記載のＰＧＡ。
（２１）  前記プログラム可能結合回路が、前記第１のノードと前記第２のノード間に配置される通過ゲートを更に含み、前記通過ゲートが第３の選択信号に従って前記第１のノードを前記第２のノードに選択的に結合する、（１８）に記載のＰＧＡ。
（２２）  前記ＰＧＡの個々のプログラム可能リソースに関連付けられる複数のメモリ・セルと、
前記複数のメモリ・セルの第１のメモリ・セルであって、前記第１のメモリ・セルが前記プログラム可能結合回路と関連付けられ、更に前記第１のメモリ・セルに記憶されるデータに従って前記第１の選択信号を提供する、前記第１のメモリ・セルと、
前記複数のメモリ・セルの第２のメモリ・セルであって、前記第２のメモリ・セルが前記ＬＳＳＤレジスタの前記プログラム可能一次出力と関連付けられ、更に前記第２のメモリ・セルに記憶されるデータに従って前記第２の選択信号を提供する、第２のメモリ・セルと、
を更に含む、（１７）に記載のＰＧＡ。
（２３）  前記第１及び第２のノード間に信号を伝達するために、前記プログラム可能結合回路を構成するように、前記第１のメモリ・セルにデータがロードされており、前記第２のノードに前記ＬＳＳＤレジスタの一次出力データを与えるために、前記ＬＳＳＤレジスタの前記プログラム可能一次出力を構成するように、前記第２のメモリ・セルにデータがロードされている、プログラム済みの（２２）に記載のＰＧＡ。
（２４）  （２２）に記載のＰＧＡを使用するコンピュータ・システムであって、
前記プログラム可能結合回路、及び前記ＬＳＳＤレジスタの前記プログラム可能一次出力の所望の構成状態に従い、前記第１及び第２のメモリ・セルそれぞれの中に前記関連する記憶データとして記憶するために、所定の第１及び第２の構成データを提供するための構成手段を更に含む、
コンピュータ・システム。
（２５）  前記構成手段が、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ及びＥＥＰＲＯＭからなるグループのメモリ素子を含み、前記メモリ素子が、前記プログラム可能結合回路、及び前記ＬＳＳＤレジスタの前記プログラム可能一次出力を含む、前記ＰＧＡのプログラム可能リソースに割当てられるデータ構造体メモリ・マップを含む、（２４）に記載のコンピュータ・システム。
（２６）  前記ＬＳＳＤレジスタの前記プログラム可能一次出力がトライ・ステイト・バッファを含み、その出力は前記第２のノードに結合され、その入力は前記ラッチされたデータを受信するために結合され、更にそのトライ・ステイト・イネーブルは前記第２の選択信号を受信するために結合される、（１７）に記載のＰＧＡ。
（２７）  前記ＬＳＳＤレジスタが、直列スキャン・チェーンを設ける複数のＬＳＳＤレジスタの１つであり、前記複数のＬＳＳＤレジスタの隣接するＬＳＳＤレジスタが、近傍の直列出力／入力に結合される個々の直列入力／出力を有し、前記直列スキャン・チェーンの前記複数のＬＳＳＤレジスタがＡ、Ｂ、Ｃクロックそれぞれを共用し、更に個々のプログラム可能一次出力用に個別の前記第２の選択信号を受信する、（１７）に記載のＰＧＡ。
（２８）  前記複数のプログラム可能論理回路の関連する構成される論理回路を計時するために、前記関連する構成される論理回路の機能操作中に、各種のシステム・クロック信号を伝達するための複数の機能クロック線と、
前記ＬＳＳＤレジスタを計時するために、前記ＰＧＡの試験中に試験クロック信号を伝達するための複数の試験クロック線と、
前記複数の機能クロック線の少なくとも１つの選択機能クロック線、又は前記の複数の試験クロック線の少なくとも１つの選択試験クロック線のいずれかを、前記ＬＳＳＤレジスタの関連する前記Ａ、Ｂ、Ｃクロックとして関連付けて、二者択一的に前記ＬＳＳＤレジスタに結合させるためのプログラム可能選択手段であって、その結果前記ＬＳＳＤレジスタが、前記ＰＧＡの機能操作中には、関連する少なくとも１つの機能クロック信号により計時され、あるいは前記ＰＧＡの試験中には、関連する少なくとも１つの試験クロック信号により代わって計時される、プログラム可能選択手段と、
を更に含む、（１７）に記載のＰＧＡ。
（２９）  前記プログラム可能選択手段が、前記ＬＳＳＤレジスタのＣ及びＢクロックを選択的に提供する、（２８）に記載のＰＧＡ。
（３０）  前記プログラム可能選択手段がマルチプレクサを含む、（２８）に記載のＰＧＡ。
【図面の簡単な説明】
【図１】複数のプログラム可能論理セルを中に配置した、プログラマブル・ゲート・アレイを示す図である。
【図２】中に配置される複数のプログラム可能論理セル、及び論理セルを選択的に接続するためのプログラム可能相互接続ネットワークを有する、プログラマブル・ゲート・アレイのセクタ部分を示す図である。
【図３】プログラム可能論理素子及び論理セルの相互接続を示すブロック図である。
【図４】４つの論理セル、ならびにそれらに関連するバス配置及び４つの個別セクタの境界に配置されたバス中継器を示す図である。
【図５】図４の単一論理セルとこれに関連する周囲のバス配置を示す図である。
【図６】プログラマブル・ゲート・アレイ内の論理セルの行に沿ったプログラム可能バス配置相互接続の中継器及びジャンパ回路を示すブロック図である。
【図７】図６の中継器回路の構成オプションを示す詳細なブロック図である。
【図８】本発明に基づく中継器ラッチを有する中継器回路の機能ブロック図である。
【図９】図８の中継器のいくつかの素子の詳細を示す部分的ブロック図である。
【図１０】中継器ラッチの構造図である。
【図１１】構成データの受信のために外部回路とインターフェースするプログラマブル・ゲート・アレイのブロック図である。
【図１２】試験クロック又はシステム・クロックのいずれかを受信するために、選択的に結合されるスキャン・チェーンの中継器ラッチを示すブロック図である。
【図１３】クロック線に結合された論理セルのラッチを示す図である。
【符号の説明】
１０                            プログラマブル・ゲート・アレイ
１２                            セクタ
１４                            入出力ピン
１６                            論理セル
１６１、１〜１６８、８                論理セル
１６ａ、１６ｂ、１６ｃ、１６ｄ  論理セル
１８ａ、１８ｂ                  垂直相互接続導体
２０ａ、２０ｂ                  水平相互接続導体
２２                            プログラム可能ＮＡＮＤ／ＮＯＲ論理素子
２４ａ、２４ｂ、２４ｃ、２４ｄ  プログラム可能入力マルチプレクサ
２５                            フリップ・フロップ
２６                            反転回路
２７                            論理素子
２８                            出力マルチプレクサ
２９                            論理素子
３０                            出力マルチプレクサ
３２                            トライ・ステイト・バッファ
３４                            プログラム可能出力マルチプレクサ
３６                            中継器
３６ａ、３６ｂ、３６ｃ          中継器回路
３８                            バス折り返し点
５０                            中継器ラッチ
５０１、５０２、５０３、５０４、５０５、５０２４      中継器ラッチ
５１                            直列スキャン・チェーン
５２、５２１、５２２              ローカル・バス
５３                            ジャンパ
５４                            ローカル・バス
５６、５６１、５６２              ローカル・バス
５８                            ローカル・バス
６０                            通過ゲート
６２、６４                      プログラム可能トライ・ステイト・バッファ
７０、７２                      通過ゲート（ＮＦＥＴ）
７４、７６                      第１ラッチ（反転回路より構成）
７８                            通過ゲート（ＮＦＥＴ）
８０、８２                      第２ラッチ（反転回路より構成）
８４                            トライ・ステイト反転回路
９０                            フィールド・プログラマブル・ゲート・アレイ
９２                            構成メモリ（ＳＲＡＭ）
９４                            コントローラ
９６                            データ源
１００                          グローバル列マルチプレクサ
１０１                          内部生成クロック
１０２                          列クロック・マルチプレクサ
１０４                          グローバル列クロック線
１０６                          列クロック線
１０８                          マルチプレクサ
１１０                          試験クロック（試験制御信号パス）
１１２                          システム・クロック（操作制御信号パス）
１１４                          Ａ、Ｂ、Ｃ入力
【図１】
0003549077.tif 000002
【図２】
0003549077.tif 000003
【図３】
0003549077.tif 000004
【図４】
0003549077.tif 000005
【図５】
0003549077.tif 000006
【図６】
0003549077.tif 000007
【図７】
0003549077.tif 000008
【図８】
0003549077.tif 000009
【図９】
0003549077.tif 000010
【図１０】
0003549077.tif 000011
【図１１】
0003549077.tif 000012
【図１２】
0003549077.tif 000013
【図１３】
0003549077.tif 000014