(57)【特許請求の範囲】
【請求項１】
行および列から成る２次元配列状に配置された複数のスーパー領域を備えた集積回路装置であって、前記各スーパー領域は、プログラマブルロジックの複数の領域と、前記領域のサブセットにプログラム可能に信号を供給するようにコンフィギュアされた第１レベル相互接続部と、前記第１レベル相互接続にプログラム可能に接続されるとともに、複数の前記領域の間に前記スーパー領域を通じて信号を分配するようにコンフィギュアされた第２レベル相互接続部と、前記第２レベル相互接続に接続されるとともに、前記スーパー領域の間に信号を分配するようにコンフィギュアされたスーパー相互接続構造とを備えた集積回路装置であって、前記スーパー領域がさらに、前記領域の出力信号を前記第２レベル相互接続部にプログラム可能に印加するドライバ回路を備えた集積回路装置。
【請求項２】
請求項１記載の集積回路装置であって、前記ドライバ回路が、ドライバ回路本体と、前記領域の出力信号またはスーパー相互接続構造信号を前記ドライバ回路本体に印加するようにコンフィギュアされた第１プログラマブルロジックコネクタ回路と、前記ドライバ回路本体の出力信号を前記第２レベル相互接続部および前記スーパー相互接続構造にプログラム可能に印加するようにコンフィギュアされた第２プログラマブルロジックコネクタ回路とを備えた集積回路装置。
【請求項３】
請求項２記載の集積回路装置であって、第２プログラマブルロジックコネクタ回路が、前記ドライバ回路の出力信号を前記第１レベル相互接続部に印加するように追加的にコンフィギュアされた集積回路装置。
【請求項４】
行および列から成る２次元配列状に配置された複数のスーパー領域を備えた集積回路装置であって、前記各スーパー領域は、プログラマブルロジックの複数の領域と、前記領域のサブセットにプログラム可能に信号を供給するようにコンフィギュアされた第１レベル相互接続部と、前記第１レベル相互接続にプログラム可能に接続されるとともに、複数の前記領域の間に前記スーパー領域を通じて信号を分配するようにコンフィギュアされた第２レベル相互接続部と、前記第２レベル相互接続に接続されるとともに、前記スーパー領域の間に信号を分配するようにコンフィギュアされたスーパー相互接続構造とを備えた集積回路装置であって、前記スーパー領域の各々がさらに、前記領域のサブセット内で信号をプログラム可能に再循環させるようにコンフィギュアされたローカルフィードバック相互接続部を備えた集積回路装置。
【請求項５】
請求項２記載の集積回路装置であって、前記スーパー領域の各々がさらに、前記領域のサブセット内で信号をプログラム可能に再循環させるようにコンフィギュアされ、前記第２プログラマブルロジックコネクタ回路が前記ドライバ回路本体の出力信号がプログラム可能に印加されるようにさらにコンフィギュアされたローカルフィードバック相互接続部を備えた集積回路装置。
【請求項６】
請求項２記載の集積回路装置であって、前記スーパー相互接続部が、前記行に関連する複数の水平方向相互接続導体と、前記列に関連する複数の垂直方向相互接続導体とを備え、前記第１プログラマブルロジックコネクタ回路が水平方向相互接続導体または垂直方向相互接続導体からの信号をプログラム可能に選択し前記ドライバ回路本体に印加するようにさらにコンフィギュアされた集積回路装置。
【請求項７】
請求項６記載の集積回路装置であって、前記第２プログラマブルロジックコネクタ回路が、前記ドライバ回路本体の前記出力信号を水平方向相互接続導体および垂直方向相互接続導体のいずれへもプログラム可能に印加するようにさらにコンフィギュアされた集積回路装置。
【請求項８】
請求項２記載の集積回路装置であって、さらに、入力ピンを備え、前記第１プログラマブルロジックコネクタ回路がさらにコンフィギュアされ前記入力ピンからの信号を前記ドライバ回路本体にプログラム可能に印加する集積回路装置。
【請求項９】
行および列から成る２次元配列状に配置された複数のスーパー領域を備えた集積回路装置であって、前記各スーパー領域は、プログラマブルロジックの複数の領域と、前記領域のサブセットにプログラム可能に信号を供給するようにコンフィギュアされた第１レベル相互接続部と、前記第１レベル相互接続にプログラム可能に接続されるとともに、複数の前記領域の間に前記スーパー領域を通じて信号を分配するようにコンフィギュアされた第２レベル相互接続部と、前記第２レベル相互接続に接続されるとともに、前記スーパー領域の間に信号を分配するようにコンフィギュアされたスーパー相互接続構造とを備えた集積回路装置であって、さらに、出力ピンと、前記第２レベル相互接続部を前記出力ピンに接続するようにコンフィギュアされたプログラマブルロジックコネクタ回路とを備えた集積回路装置。
【請求項１０】
請求項９記載の集積回路装置であって、さらに、前記プログラマブルロジックコネクタ回路、前記出力ピンに接続されたデータ出力端子、および出力イネーブル端子に接続されたデータ入力端子を備えた３状態ドライバ回路と、前記第２レベル相互接続部を前記出力イネーブル端子にプログラム可能に接続するようにコンフィギュアされた第２プログラマブルロジックコネクタ回路とを備えた集積回路装置。
【請求項１１】
行および列から成る２次元配列状に配置された複数のスーパー領域を備えた集積回路装置であって、前記各スーパー領域は、プログラマブルロジックの複数の領域と、前記領域のサブセットにプログラム可能に信号を供給するようにコンフィギュアされた第１レベル相互接続部と、前記第１レベル相互接続にプログラム可能に接続されるとともに、複数の前記領域の間に前記スーパー領域を通じて信号を分配するようにコンフィギュアされた第２レベル相互接続部と、前記第２レベル相互接続に接続されるとともに、前記スーパー領域の間に信号を分配するようにコンフィギュアされたスーパー相互接続構造とを備え、
前記スーパー相互接続構造が、前記行の各々に関連する複数の水平方向相互接続導体と、前記列の各々に関連する複数の垂直方向相互接続導体とを備えた集積回路装置であって、水平方向相互接続導体および垂直方向相互接続導体の一つが、軸状で別個のセグメントを備えた集積回路装置。
【請求項１２】
請求項１１記載の集積回路装置であって、さらに、前記軸状で別個のセグメントの２つにプログラム可能に接続するプログラマブル回路を備えた集積回路装置。
【請求項１３】
請求項１２記載の集積回路装置であって、前記プログラマブル回路が、信号を増幅して前記セグメントの１つから前記プログラマブル回路を通して前記セグメントの他のものに伝達するようにさらにコンフィギュアされた集積回路装置。
【請求項１４】
請求項１３記載の集積回路装置であって、前記プログラマブル回路が、信号を生成して増幅することのできる前記セグメント、および増幅された信号を受信することのできる前記セグメントに関連してプログラム可能である集積回路装置。
【請求項１５】
行および列から成る２次元配列状に配置された複数のスーパー領域を備えた集積回路装置であって、前記各スーパー領域は、プログラマブルロジックの複数の領域と、前記領域のサブセットにプログラム可能に信号を供給するようにコンフィギュアされた第１レベル相互接続部と、前記第１レベル相互接続にプログラム可能に接続されるとともに、複数の前記領域の間に前記スーパー領域を通じて信号を分配するようにコンフィギュアされた第２レベル相互接続部と、前記第２レベル相互接続に接続されるとともに、前記スーパー領域の間に信号を分配するようにコンフィギュアされたスーパー相互接続構造とを備えた集積回路装置であって、前記第１レベル相互接続部の部分が、前記第１レベル相互接続部によってサーブされる前記領域の間にインターリーブされ、前記第１レベル相互接続部の部分の両側の領域が当該部分から信号を受信することのできる集積回路装置。
【請求項１６】
請求項４記載の集積回路装置であって、前記ローカルフィードバック相互接続部の部分が、当該ローカルフィードバック相互接続部によってサーブされる前記領域の間にインターリーブされている集積回路装置。
【請求項１７】
行および列から成る２次元配列状に配置された複数のスーパー領域を備えた集積回路プログラマブルロジックデバイスであって、前記スーパー領域の各々が、（ａ）プログラマブルロジックの複数の領域であって、前記領域の各々がプログラマブルロジックの複数のサブ領域を備え、前記サブ領域の各々がプログラム可能であり複数の入力信号について複数の論理機能のうちの任意のものを実行し、前記入力信号は前記領域に印加され当該入力信号に対する前記論理機能の実行結果を示す出力信号を生成し、（ｂ）前記領域への信号の伝達、前記領域からの信号の受信、および前記領域間での信号のやり取りを選択的に行うようにコンフィギュアされた複数の領域間導体と、（ｃ）前記領域間導体上の信号を前記サブ領域に前記入力信号として選択的に印加するようにコンフィギュアされた第１複数プログラマブルロジックコネクタと、（ｄ）前記出力信号を前記領域間導体に印加するようにコンフィギュアされた第２複数プログラマブルロジックコネクタと、前記行の各々に関連するとともに、前記行内の前記スーパー領域への信号の伝達、前記スーパー領域からの信号の受信、および前記スーパー領域間での信号のやり取りを行うようにコンフィギュアされた複数の水平方向スーパー領域間相互接続導体と、前記列の各々に関連するとともに、前記列内の前記スーパー領域への信号の伝達、前記スーパー領域からの信号の受信、および前記スーパー領域間での信号のやり取りを行うようにコンフィギュアされた複数の垂直方向スーパー領域間相互接続導体と、前記出力信号を前記水平方向スーパー領域間導体および前記垂直方向スーパー領域間導体に選択的に印加するようにコンフィギュアされた第３複数プログラマブルロジックコネクタと、前記水平方向スーパー領域間導体上の信号および前記垂直方向スーパー領域間導体上の信号を前記領域間導体に選択的に印加するようにコンフィギュアされた第４複数プログラマブルロジックコネクタと、前記水平方向スーパー領域間導体および前記垂直方向スーパー領域間導体と選択的に相互接続するようにコンフィギュアされた第５複数プログラマブルロジックコネクタとを備えた集積回路プログラマブルロジックデバイス。
【請求項１８】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記行の数が、前記列の数に略等しい集積回路プログラマブルロジックデバイス。
【請求項１９】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記行に関連する前記水平方向スーパー領域間導体の数が、前記列に関連する前記垂直方向スーパー領域間導体の数に略等しい集積回路プログラマブルロジックデバイス。
【請求項２０】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記第３複数プログラマブルロジックコネクタが、前記出力信号を前記水平方向スーパー領域間導体に印加する導体の数が前記出力信号を前記垂直方向スーパー領域間導体に印加する導体の数と略等しい数の導体を備えた集積回路プログラマブルロジックデバイス。
【請求項２１】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記第４複数プログラマブルロジックコネクタが、前記水平方向スーパー領域間導体から印加する導体の数が前記垂直方向スーパー領域間導体から印加する導体の数と略等しい数の導体を備えた集積回路プログラマブルロジックデバイス。
【請求項２２】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、第５複数プログラマブルロジックコネクタが、信号を前記水平方向スーパー領域間導体から前記垂直方向スーパー領域間導体に選択的に印加するようにコンフィギュアされた第１サブプルーラリティプログラマブルロジックコネクタと、信号を前記垂直方向スーパー領域間導体から前記水平方向スーパー領域間導体に選択的に印加するようにコンフィギュアされた第２サブプルーラリティプログラマブルロジックコネクタとを備えた集積回路プログラマブルロジックデバイス。
【請求項２３】
請求項２２記載の集積回路プログラマブルロジックデバイスであって、前記第１サブプルーラリティプログラマブルロジックコネクタが、前記第２サブプルーラリティプログラマブルロジックコネクタと略等しい数の導体を備えた集積回路プログラマブルロジックデバイス。
【請求項２４】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記第３複数プログラマブルロジックコネクタが、多重化サブプルーラリティプログラマブルロジックコネクタを備え、この多重化サブプルーラリティプログラマブルロジックコネクタの各々は、前記スーパー領域の各々に関連するとともに、コンフィギュアされ関連するスーパー領域内のサブ領域の前記出力信号を、前記スーパー領域を含む前記行および前記列に関連する、前記水平方向スーパー領域間導体および前記垂直方向スーパー領域間導体へ選択的に印加する集積回路プログラマブルロジックデバイス。
【請求項２５】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記第４複数プログラマブルロジックコネクタが、多重化サブプルーラリティプログラマブルロジックコネクタを備え、この多重化サブプルーラリティプログラマブルロジックコネクタの各々は、前記スーパー領域の各々に関連するとともに、前記スーパー領域を含む前記行および前記列に関連する前記水平方向スーパー領域間導体および前記垂直方向スーパー領域間導体の上に存在する信号を前記スーパー領域の前記領域間導体へ選択的に印加するようにコンフィギュアされた集積回路プログラマブルロジックデバイス。
【請求項２６】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記第５複数プログラマブルロジックコネクタが、多重化サブプルーラリティプログラマブルロジックコネクタを備え、この多重化サブプルーラリティプログラマブルロジックコネクタの各々は、前記スーパー領域の各々に関連するとともに、前記スーパー領域を含む前記行および前記列に関連する前記水平方向スーパー領域間導体および前記垂直方向スーパー領域間導体に選択的に相互接続するようにコンフィギュアされた集積回路プログラマブルロジックデバイス。
【請求項２７】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記第３複数プログラマブルロジックコネクタ、前記第４複数プログラマブルロジックコネクタおよび前記第５複数プログラマブルロジックコネクタ内の前記プログラマブルロジックコネクタが、３状態を備えてた集積回路プログラマブルロジックデバイス。
【請求項２８】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記スーパー領域の各々の中の前記領域が、前記スーパー領域の前記領域間導体の両側に２個の線形配列状に配置された集積回路プログラマブルロジックデバイス。
【請求項２９】
請求項１７記載の集積回路プログラマブルロジックデバイスであって、前記第１複数プログラマブルロジックコネクタが、スーパー領域内の前記領域の各々に関連する複数の領域フィード導体と、前記スーパー領域の前記領域間導体上の信号を前記領域フィード導体に選択的に印加するようにコンフィギュアされた第１サブプルーラリティプログラマブルロジックコネクタと、前記領域フィード導体上の信号を前記領域上の前記サブ領域に前記サブ領域の前記入力信号として選択的に印加するようにコンフィギュアされた第２サブプルーラリティプログラマブルロジックコネクタとを備えた集積回路プログラマブルロジックデバイス。
【請求項３０】
請求項２９記載の集積回路プログラマブルロジックデバイスであって、前記第２複数プログラマブルロジックコネクタが、前記サブ領域の前記出力信号を前記サブ領域に前記サブ領域の前記入力信号として選択的に印加する集積回路プログラマブルロジックデバイス。
【請求項３１】
プロセシング回路と、前記プロセシング回路に結合されたメモリ回路と、前記プロセシング回路と前記メモリ回路とに結合された請求項１記載の集積回路装置とを備えたディジタルプロセシングシステム。
【請求項３２】
請求項１記載の集積回路装置がマウントされたプリント回路基板。
【請求項３３】
請求項３２記載のプリント回路基板であって、さらに、前記プリント回路基板上にマウントされるとともに前記プリント回路基板に・結合されたメモリ回路を備えたプリント回路基板。
【請求項３４】
請求項３２記載のプリント回路基板であって、さらに、前記プリント回路基板上にマウントされるとともに前記プリント回路基板に・結合されたプロセシング回路を備えたプリント回路基板。
【請求項３５】
集積回路プログラマブルロジックデバイスであって、前記集積回路プログラマブルロジックデバイス上にスーパー領域の行および列から成る２次元配列として配置されたプログラマブルロジックの複数のスーパー領域と、前記行の各々に関連するとともに関連する行内で前記スーパー領域への信号の伝達、前記スーパー領域からの信号の受信および前記スーパー領域間の信号のやり取りを行うようにコンフィギュアされた複数の水平方向スーパー領域間相互接続導体と、前記列の各々に関連するとともに関連する列内でスーパー領域への信号の伝達、スーパー領域からの信号の受信およびスーパー領域間の信号のやり取りを行うようにコンフィギュアされた複数の水平方向スーパー領域間相互接続導体と、を備え、前記スーパー領域の各々が、前記領域の各々は、複数の入力信号に対して複数の論理機能のうちの任意のものを実行し、前記入力信号は前記領域に印加され前記入力信号に対して実行した前記論理機能の結果を示す出力信号を生成するプログラマブルロジックの複数の領域と、前記領域への信号の伝達、前記領域からの信号の受信および前記領域間の信号のやり取りを行うようにコンフィギュアされた複数の領域間導体と、前記出力信号を前記スーパー領域の前記領域間導体に選択的に印加し、前記スーパー領域を備え、前記出力信号を前記行および前記列に関連する前記水平方向スーパー領域間導体および前記垂直方向スーパー領域間導体に選択的に印加し、前記スーパー領域の前記領域間導体上の信号を前記スーパー領域の前記領域に前記入力信号として選択的に印加し、前記スーパー領域を備えた前記行および前記列に関連する前記水平方向スーパー領域間導体上の信号および前記垂直方向スーパー領域間導体上の信号を前記スーパー領域の前記領域間導体に選択的に印加し、さらに、前記スーパー領域を備えた前記行および前記列に関連する前記水平方向スーパー領域間導体と前記垂直方向スーパー領域間導体とを選択的に相互接続するようにコンフィギュアされた複数のプログラマブルロジックコネクタとを備えた集積回路プログラマブルロジックデバイス。
【請求項３６】
請求項３５記載の集積回路プログラマブルロジックデバイスであって、前記複数のプログラマブルロジックコネクタが、サブプルーラリティプログラマブルロジックコネクタを備え、これらサブプルーラリティプログラマブルロジックコネクタの各々は、プログラム可能であり、サブ領域出力信号または水平方向スーパー領域間導体信号を領域間導体に印加する集積回路プログラマブルロジックデバイス。
【請求項３７】
請求項３５記載の集積回路プログラマブルロジックデバイスであって、前記複数のプログラマブルロジックコネクタが、サブプルーラリティプログラマブルロジックコネクタを備え、これらサブプルーラリティプログラマブルロジックコネクタの各々は、プログラム可能であり、サブ領域出力信号または垂直方向スーパー領域間導体信号を領域間導体に印加する集積回路プログラマブルロジックデバイス。
【請求項３８】
請求項３５記載の集積回路プログラマブルロジックデバイスであって、前記複数のプログラマブルロジックコネクタが、サブプルーラリティプログラマブルロジックコネクタを備え、これらサブプルーラリティプログラマブルロジックコネクタの各々は、プログラム可能であり、サブ領域出力信号または水平方向スーパー領域間導体信号を垂直方向スーパー領域間導体に印加する集積回路プログラマブルロジックデバイス。
【請求項３９】
請求項３５記載の集積回路プログラマブルロジックデバイスであって、前記複数のプログラマブルロジックコネクタが、サブプルーラリティプログラマブルロジックコネクタを備え、これらサブプルーラリティプログラマブルロジックコネクタの各々は、プログラム可能であり、サブ領域出力信号または垂直方向スーパー領域間導体信号を水平方向スーパー領域間導体に印加する集積回路プログラマブルロジックデバイス。
【請求項４０】
請求項３５記載の集積回路プログラマブルロジックデバイスであって、前記プログラマブルロジックコネクタの各々が３状態ドライバを備えた集積回路プログラマブルロジックデバイス。
【請求項４１】
請求項３５記載の集積回路プログラマブルロジックデバイスであって、前記スーパー領域の各々に属する前記領域が、前記スーパー領域の前記領域間導体の両側に２個の線形配列として配置された集積回路プログラマブルロジックデバイス。
【請求項４２】
請求項３５記載の集積回路プログラマブルロジックデバイスであって、前記プログラマブルロジックコネクタが、スーパー領域内の前記領域の各々に関連する複数の領域フィード導体と、コンフィギュアされ前記スーパー領域の前記領域上の信号を前記領域フィード導体に選択的に印加する第１サブプルーラリティプログラマブルロジックコネクタと、コンフィギュアされ前記領域フィード導体上の信号を前記領域の前記サブ領域に前記サブ領域の前記入力信号として選択的に印加する第２サブプルーラリティプログラマブルロジックコネクタとを備えた集積回路プログラマブルロジックデバイス。
【請求項４３】
請求項４２記載の集積回路プログラマブルロジックデバイスであって、前記第２サブプルーラリティプログラマブルロジックコネクタは、前記サブ領域の前記出力信号を前記サブ領域に前記サブ領域の前記入力信号として追加的に選択的に印加する集積回路プログラマブルロジックデバイス。
【請求項４４】
第１導体セグメントと、第２導体セグメントと、前記第１導体セグメントと前記第２導体セグメントとを相互接続し、前記第１導体セグメントと前記第２導体セグメントとが相互接続された場合、前記第１導体セグメントおよび前記第２導体セグメントのうちのプログラム可能で選択可能な一つの上の信号を増幅し、増幅した信号を前記第１導体セグメントおよび前記第２導体セグメントのうちの他のものに印加するようにコンフィギュアされたプログラマブルバッファリング回路とを備えた回路であって、前記プログラマブルバッファリング回路が、入力端子および出力端子を備えたバッファリング回路と、前記第１導体セグメントおよび前記第２導体セグメントのうちからプログラム可能に選択された一つを前記入力端子に選択的に接続するようにコンフィギュアされた第１プログラマブルロジックコネクタ回路と、前記第１導体セグメントおよび前記第２導体セグメントのうちの選択されなかった他のものを前記出力端子に選択的に接続するようにコンフィギュアされた第２プログラマブルロジックコネクタ回路とを備えた回路。
【請求項４５】
請求項４４記載の回路であって、第１プログラマブルロジックコネクタ回路および第２プログラマブルロジックコネクタ回路のうちの少なくとも一つが、前記第１導体セグメントおよび前記第２導体セグメントのうちのいずれをも前記バッファリング回路に対して選択的に無接続とするように追加的にコンフィギュアされた回路。
【請求項４６】
請求項４４記載の回路であって、前記バッファリング回路が、前記入力端子と前記出力端子との間に相互に直列接続された第１イバーティングドライバおよび第２イバーティングドライバを備えた回路。
【請求項４７】
請求項４６記載の回路であって、前記バッファリング回路が、さらに、前記第１イバーティングドライバおよび前記第２インバーティングドライバのうちの一つに並列接続されたレベルコレクタ回路を備えた回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は集積回路装置、特にプログラマブルロジックデバイス（ＰＬＤ）に関し、より詳しくは、大きなロジック能力および大きな相互接続能力を備えたプログラマブルロジックデバイス（ＰＬＤ）に関する。
【０００２】
【従来の技術】
プログラマブルロジックデバイス（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ；ＰＬＤ）は次の米国特許、例えば、ペデルセン等の米国特許第５，２６０，６１１号、クリフ等の米国特許出願第０８／４４２，７９５号（１９９５年５月１７日出願）、および、クリフ等の米国特許出願第０８／６７２，６７６号（１９９６年６月２８日出願）が示すようによく知られている。
【０００３】
より大きなロジック能力を備えたプログラマブルロジックデバイスには、途切れることのない関心が持たれている。このように、より大きな数のプログラマブルロジック領域を備えたプログラマブルロジックデバイスが求められている。また、大きな数のプログラマブルロジック領域の間の必要な接続を行うために用いるプログラム可能な相互接続資源をより多く備えたプログラマブルロジックデバイスが求められている。しかしながら、プログラム可能な相互接続資源の追加は慎重に行い、その資源がデバイスのスペースを必要以上に要求し始めて、デバイスに備えることのできる追加的なロジックの量を不必要に抑圧しないようにすることが重要である。これを実現するために、プログラマブルロジックデバイスの構成、特にプログラマブルロジックデバイス内の相互接続を構成する方法を見出して、相互接続資源の利用効率を向上できるようにすることが望まれる。こうすにことにより、デバイス内により多くの相互接続を備えることが可能にり、増大されたロジック能力を備えた相互接続資源の規模を直接的に増大させるという簡単な方法によることなく、より多くのロジックを供給することができるようになる。
【０００４】
公知のプログラマブルロジックデバイスアーキテクチャの単なる規模増大に関連して起こり得る問題の例を、上述したクリフ等の米国特許出願第０８／４４２，７９５号に示されたアーキテクチャの実例が示している。この型のデバイスでは、プログラマブルロジック領域はデバイス上に、複数行のプログラマブルロジック領域として配置されている。各行は、関連する複数の水平方向相互接続導体を有しており、その行内のプログラマブルロジック領域に対する選択的な信号のやり取り、および当該領域間の選択的な信号のやり取りを行う。領域フィード（ｆｅｅｄ）導体は各領域に関連付けられており、関連する水平方向導体からの信号を入力信号として当該領域に選択的に伝達する。各領域によって生成された出力信号は、関連する水平方向導体に選択的に印加される。垂直方向相互接続導体が、デバイスを構成する行の間で信号を選択的に伝達するために設けられている。したがって、この型のアーキテクチャを有するプログラマブルロジックデバイスは基本的に１行のロジック領域および関連する相互接続導体から成り、各行は多数回繰り返して設けられており、さらに複数行を相互接続するために垂直方向相互接続導体を備えている。デバイスをますます大きくする要求を満たすために、１行中の領域の数または行の数を増やすことは、製造上の制約から実際的でない。例えば、デバイスのアスペクト比が大きくなり過ぎる可能性がある。
【０００５】
【発明が解決しようとする課題】
この発明は上述した点に鑑みてなされたものであり、その目的は、プログラマブルロジックデバイスのための改良された構成（「アーキテクチャ」）を提供することである。
【０００６】
この発明のより特有の目的は、大量のプログラマブルロジック領域を効率的に配置することのできるプログラマブルロジックデバイスアーキテクチャを提供することである。
【０００７】
この発明の別のより特有の目的は、より高密度のプログラマブルロジック領域を実現するとともに、より均一な水平方向特性および垂直方向特性を有するようにすることにより、一方向が他方向より偏重される度合いを少なくして、アスペクト比が高くなってしまう設計上の傾向を少なくすることのできる、プログラマブルロジックデバイスアーキテクチャを提供することである。
【０００８】
【課題を解決するための手段】
この発明の上述した目的および他の目的は、この発明の原理に従って、スーパー領域（ｓｕｐｅｒ−ｒｅｇｉｏｎ）の行および列から成る２次元配列としてデバイス上に配置されたプログラマブルロジックの複数のスーパー領域を有するプログラマブルロジックアレイ集積回路装置を実現することにより達成される。各スーパー領域は、プログラマブルロジックの複数の領域（ｒｅｇｉｏｎ）、および当該スーパー領域内の領域への信号の伝達および領域間の信号の伝達を行う複数の領域間相互接続導体を備える。この発明のいくつかの実例では、各スーパー領域は、従来の技術の項で述べた代表的なデバイスにおいて行を短く折り曲げたものに幾分似ているかも知れない。例えば、これらの実例では、各スーパー領域内の領域を、当該スーパー領域の領域間相互接続導体の両側に沿って配置することができる。このように、これらの実例では、スーパー領域は関連する領域間相互接続導体に沿って折り返された１行の領域のように見えるかも知れない。各領域は、プログラマブルロジックの複数のサブ領域（ｓｕｂｒｅｇｉｏｎ）を備えるのが望ましい。典型的なサブ領域は、プログラム可能であり、当該サブ領域に印加された複数の入力信号に幾つかの論理操作を施して当該サブ領域の出力信号を生成する。プログラマブルロジックコネクタ（ＰＬＣ；ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｎｅｃｔｏｒ）は、領域に関連付けられており、当該領域内のサブ領域への入力として用いるための信号を関連する領域間導体から領域へ選択的に伝達する。その他のプログラマブルロジックコネクタ（ＰＬＣ）は、サブ領域の出力信号を関連する領域間導体へ選択的に印加する。
【０００９】
複数の水平方向スーパー領域間相互接続導体は、スーパー領域の各行に関連付けられており、関連する行内のスーパー領域に対する信号のやり取りおよびスーパー領域間の信号のやり取りを選択的に行う。同様に、複数の垂直方向スーパー領域間相互接続導体は、スーパー領域の各列に関連付けられており、関連する列内のスーパー領域に対する信号のやり取りおよびスーパー領域間の信号のやり取りを選択的に行う。水平方向スーパー領域間導体上および垂直方向スーパー領域間導体上の信号を領域間導体へ選択的に印加するために、プログラマブルロジックコネクタ（ＰＬＣ）が設けられている。サブ領域の出力信号を水平方向スーパー領域間導体および垂直方向スーパー領域間導体に選択的に印加するために、追加のプログラマブルロジックコネクタ（ＰＬＣ）が設けられている。さらに、水平方向スーパー領域間導体および垂直方向スーパー領域間導体を選択的に相互接続するために、プログラマブルロジックコネクタ（ＰＬＣ）が設けられている。
【００１０】
この発明のアーキテクチャは、デバイスの水平軸および垂直軸に関してより均一に作製することができる。したがって、これらのアーキテクチャは、正方形のレイアウトあるいは略正方形のレイアウトをとる傾向がある。これは、このようなレイアウトが１あるいは略１という小さなアスペクト比を有するから、望ましいのである。この発明のアーキテクチャによれば、より大きなロジック密度を実現することも可能である。スーパー領域間相互接続導体は、次レベルのルーティング（ｒｏｕｔｉｎｇ）の階層（領域レベルおよびスーパー領域レベルで提供されるルーティングを超える階層）を提供する。デバイス内の接続性は、配置されたスーパー領域内の配線チャネルを分割する（これにより配線チャネルを再使用可能にする）ことによって増大する。スーパー領域間のいかなる必要な相互接続もスーパー領域間導体を用いて形成されている。
【００１１】
この発明のプログラマブルロジックデバイスが備えることのできる他の特徴は、２つの型の水平方向スーパー領域間相互接続導体および／または垂直方向スーパー領域間相互接続導体を提供することである。これらは、「グローバル」（ｇｌｏｂａｌ）および「ハーフ」（ｈａｌｆ）という用語を用いて、グローバル水平方向導体および／またはグローバル垂直方向スーパー領域間相互接続導体、ハーフ水平方向導体および／またはハーフ垂直方向スーパー領域間相互接続導体と呼ばれる。グローバル水平方向導体はスーパー領域の関連する行の全長に渡って延在しており、グローバル垂直方向導体はスーパー領域の関連する列の全長に渡って延在している。また、ハーフ水平方向導体はスーパー領域の関連する行の長さの互いに排他的な２つの半分のうちの一方に沿って延在しており、ハーフ垂直方向導体はスーパー領域の関連する列の長さの互いに排他的な２つの半分のうちの一方に沿って延在している。互いに排他的であることは、望ましいことであるが、絶対に必要というわけではない。
【００１２】
分離したグローバル水平方向導体およびハーフ水平方向導体を備えることに対する可能な追加あるいは変更として、同軸状に配置した２つのハーフ水平方向導体をプログラム可能に互いに「縫合」（ｓｔｉｔｃｈｅｄ）できるようにして、必要なときにグローバル水平方向導体を備えるようにすることができる。これにより、複雑なグローバル水平方向導体を省略することが可能になる。あるいは、グローバル水平方向導体だけを有し、ハーフ水平方向導体は無い方が望ましい場合がある。同じ選択は、上述したグローバル垂直方向導体およびハーフ垂直方向導体についても存在する。上述した選択に関してなされる設計変更は、デバイスのサイズ（例えばデバイス上のサブ領域、領域およびスーパー領域の数）が影響する可能性がある。
【００１３】
上述したように導体の縫合がなされる場合、縫合は縫合される導体の間にプログラム可能なバッファを備えることにより行うことができる。
【００１４】
領域間導体から領域へ信号を伝達する上述したプログラマブルロジックコネクタは、水平方向に隣接する領域の間にインターリーブ（ｉｎｔｅｒｌｅａｖｅ）されたローカル導体を備えることができる。このローカル導体は次の２つの型をとり得る。（１）信号を隣接する領域に伝達する領域フィード（ｆｅｅｄ）導体、および（２）領域への入力として得られるように、さらに可能な限り水平方向に隣接する領域への入力としても得られるように、領域の出力信号を生成するローカルフィードバック導体。領域フィード導体は、領域間相互接続導体からの信号を受信するために、隣接する領域間相互接続導体へプログラム的に接続することが可能である。上述した、（１）水平方向スーパー領域間導体上の信号および垂直方向スーパー領域間導体上の信号の領域間導体への印加、（２）サブ領域の出力信号のスーパー領域間導体への印加、および（３）水平方向スーパー領域間導体および垂直方向スーパー領域間導体の間の選択的相互接続、を行うプログラマブルロジックコネクタ（ＰＬＣ）は、これら種々の目的のために効率的に共有されるドライバを備えることができる。例えば、１または２以上のこれらのドライバは、各サブ領域に関連させることができる。どのような信号であっても各ドライバに印加するために、プログラマブルロジックコネクタを設ける。これらの信号には例えば、（１）関連するサブ領域の１または２以上の出力信号、（２）１または２以上のグローバル垂直方向導体信号または１または２以上のハーフ垂直方向導体信号、および（３）１または２以上のグローバル水平方向導体信号または１または２以上のハーフ水平方向導体信号を含むことができる。各ドライバの出力信号は、プログラム可能に、（１）１または２以上のグローバル水平方向導体または１または２以上のハーフ水平方向導体、（２）１または２以上のグローバル垂直方向導体または１または２以上のハーフ垂直方向導体、（３）１または２以上の領域間相互接続導体、および（４）１または２以上のローカル導体、にプログラム可能に接続することができる。したがって、これらのドライバは、（１）サブ領域出力信号の、グローバル導体およびハーフ導体上への駆動、同じく領域間相互接続導体上への駆動、（２）水平方向導体および垂直方向導体の間の接続の形成、および（３）サブ領域出力信号のローカル導体上への駆動、など多くの目的のために共有される。
【００１５】
上述したドライバをフィードするプログラマブルロジックコネクタ（ＰＬＣ）の一部（例えばデバイスの周辺近くに配置されたＰＬＣ）は、デバイスの入出力（「Ｉ／Ｏ」）ピンから信号を受信することもできる。これは関連するドライバが信号をＩ／Ｏピンから上述した行き先へ駆動するのに使うことも可能にする。一部のＩ／Ｏピンは、１または２以上のグローバル導体または１または２以上のハーフ導体、および／または１または２以上の領域間相互接続導体をプログラム可能にフィードする専用ピンを備えることもできる。
【００１６】
各サブ領域は多重入力によってフィードされる。水平方向に隣接する領域の間にインターリーブされたローカル導体を備えたアーキテクチャでは、これら多重入力の一部はローカル導体から取り入れ当該サブ領域を含む領域の左側へ出し、これら多重入力の他の一部はローカル導体から取り入れ当該サブ領域を含む領域の右側へ出す。
【００１７】
デバイスの上下左右各側に沿って配置されたＩ／Ｏピンは、出力信号および／または出力イネーブル信号を、デバイスの上下左右各側からプログラム可能に選択することができる。
【００１８】
上述した点から、領域フィードローカル導体は、グローバル導体またはハーフ導体に直接接続しない方が望ましいことが明らかである。ローカル配線に到達するために、これらグローバル導体上の信号またはハーフ導体上の信号は、まず上述したドライバを経由するルートを確立する必要があり、多くの場合、領域間相互接続導体を経由するルートをも確立する必要がある。この相互接続アーキテクチャによれば、信号をローカル配線に接続するのに使用するプログラム可能な接続の数が少なくなる。
【００１９】
専用のローカルフィードバック配線を設ける必要のないデバイスがあり得る。この場合、ローカルフィードバック配線を使用しない場合無駄になるプログラム可能な相互接続を節約することができる。これらのデバイスでは、ローカルフィード配線の機能は、領域フィード導体へ（例えば領域間相互接続導体を経由して）信号を供給することによってなし遂げることができる。これが達成されると、領域間相互接続導体を非常に小さな個数の領域のみを跨ぐように配置するのが有利になるが、さもないと領域間相互接続導体を大きな個数の領域を跨ぐように配置しなければならない。
【００２０】
上述して点から、この発明の相互接続資源アーキテクチャは、逓増する階層構造（例えばグローバルまたはハーフグローバル−領域間−ローカル）をしていることがわかる。このアーキテクチャによれば、所定量のロジック能力を備えたプログラマブルロジックデバイス（ＰＬＤ）の必要面積を、必要とするプログラム可能な相互接続の総数を減少させることにより、低減するのが容易になる。このアーキテクチャによれば、プログラム可能な相互接続の個数が多過ぎることに起因する寄生負荷を低減することにより、デバイスを高速化させるのも容易になる。
【００２１】
なお、次に記す用語には対応する日本語の用語が存在しないので、カタカナ標記するとともにかっこ内に原語を併記する。コンフィギュア（ｃｏｎｆｉｇｕｒｅ）、プログラマブルロジックコネクタ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｎｅｃｔｏｒ）、ローカルフィードバック（ｌｏｃａｌ  ｆｅｅｄｂａｃｋ）、サブセット（ｓｕｂ  ｓｅｔ）、セグメント（ｓｅｇｍｅｎｔ）、インターリーブ（ｉｎｔｅｒｌｅａｖｅ）、サーブ（ｓｅｒｖｅ）、サブプルーラリティ（ｓｕｂｐｌｕｒａｌｉｔｙ）、バッファリング（ｂｕｆｆｅｒｉｎｇ）、インバーティング（ｉｎｖｅｒｔｉｎｇ）、コレクタ（ｃｏｒｒｅｃｔｏｒ）。
【００２２】
この発明のさらなる特徴、性質、および種々の利点は、添付図面および発明の実施の形態の説明から明らかになる。
【００２３】
【発明の実施の形態】
まず、この発明の種々の側面を図１〜図４に示す実施の形態を参照して説明する。その後、これらの側面を図５〜図８に示す実施の形態（この発明のあり得る付加的側面を示す）を参照してさらに説明する。この発明によるプログラマブルロジックデバイス（ＰＬＤ）の使用方法は図９および図１０を参照して述べる。
【００２４】
図１に示すように、この発明に従って作製したプログラマブルロジックアレイ集積回路装置（プログラマブルロジックデバイス）１０の一実施形態は、デバイス上に行および列の２次元配列として配置したプログラマブルロジックの複数のスーパー領域２０を備える。複数の水平方向スーパー領域間相互接続導体３０が各行に関連付けられており、複数の垂直方向スーパー領域間相互接続導体４０が各列に関連付けられている。この実施の形態は半導体製造における最近の進歩を利用するから、追加の金属層を設けることができ、この追加の金属層を使用することにより、スーパー領域２０上に水平方向スーパー領域間相互接続導体３０および垂直方向スーパー領域間相互接続導体４０を走らせることができる。これは、この発明がプログラマブルロジックアレイ集積回路装置（プログラマブルロジックデバイス）１０上のロジック密度を容易に増大できるようにする方法の一つである。図１に示す行および列の数（７行７列）は単なる例示であり、行および列は必要な数だけ設けることができる。また、図１には図示してないが、容易に分かるように、プログラマブルロジックアレイ集積回路装置（プログラマブルロジックデバイス）１０は、外部回路に接続するための入力ピンおよび／または出力ピンを追加的に備えることができる。これらの入力ピンおよび／または出力ピン（一般に単に入出力ピンまたはＩ／Ｏピンとして参照される）は、プログラマブルロジックアレイ集積回路装置（プログラマブルロジックデバイス）１０の周辺に沿って配置することができ、水平方向スーパー領域間相互接続導体３０および垂直方向スーパー領域間相互接続導体４０にプログラム可能に接続することができる。図６に示す入出力接続のために用いる技術を参照されたい。
【００２５】
「行」と「列」、「水平方向」と「垂直方向」、「左」と「右」、「上方」と「下方」などの用語は便宜的なものであること、また、ここで用いる方向を示す用語あるいは配置を示す用語も便宜的なものであること、さらに、これらの用語の使用は固定した、あるいは絶対的な方向や配置を示すものではないことを理解されたい。例えば、上述した各用語の組に属する用語は、必要に応じて入れ替えることがてきる（例えば、「左と右」を「右と左」に入れ替えることができる）。
【００２６】
スーパー領域２０の代表的な実例の詳細を図２に模式的に示す。図２において、スーパー領域２０は、複数の水平方向領域間相互接続導体６０の両側に配置されたプログラマブルロジックの２行の領域５０を備える。例えば、スーパー領域２０は、水平方向領域間相互接続導体６０の両側に領域５０を８個ずつ備えることができる。したがって、この実例のスーパー領域２０は、１６個の領域５０から成る１行を、半分の位置で間に水平方向領域間相互接続導体６０が介在するように背中合わせに折り曲げられているように見える。
【００２７】
代表的な領域５０のより詳細な実例を図３に示す。図３において、領域５０は複数のプログラマブルロジックのサブ領域７０を備える。例えば、領域５０は８個のサブ領域７０を備えることができる。各サブ領域７０はプログラム可能であり、当該サブ領域７０に印加される入力信号８０に対して複数の論理機能のうち任意の論理機能を実行する。例えば、各サブ領域７０は、プログラム可能な４入力ルックアップテーブル（ｌｏｏｋ−ｕｐ  ｔａｂｌｅ）を備えることができ、当該サブ領域７０に印加される４個の入力８０の論理の組み合わせであるルックアップテーブルを生成する。各サブ領域７０は、レジスタおよびプログラマブルスイッチを追加的に備えることができ、ルックアップテーブル出力をレジスタによって選択的に登録することができる。したがって、サブ領域７０の出力９０は、登録されたルックアップテーブル出力の場合もあるし、登録されていないルックアップテーブル出力の場合もある。サブ領域７０の出力９０は、プログラマブルロジックコネクタ（ＰＬＣ）１００を経由して水平方向領域間相互接続導体６０に選択的に印加される。図３には各出力９０に対して１個のＰＬＣが示されているだけだが、各出力９０は、水平方向領域間相互接続導体６０への接続を必要応じて複数個持てることが分かる。各出力９０は領域５０内にもフィードバックされるから、当該領域５０内の任意のサブ領域７０への入力として使うことができる。
【００２８】
各領域５０は、複数の領域フィード導体導体１１０も備え、水平方向領域間相互接続導体６０から当該領域５０内へ信号を選択的に取り込む。この目的を達成するために、ＰＬＣ１２０を水平方向領域間相互接続導体６０を領域フィード導体導体１１０にプログラム可能に接続する。ＰＬＣ１２０は、可能な接続によって部分的に布線することができるだけである（例えば、各領域フィード導体導体１１０は、水平方向領域間相互接続導体６０のサブセット（ｓｕｂ  ｓｅｔ）にだけプログラム可能に接続することができる）。しかしながら、布線密度および布線分布は、各水平方向領域間相互接続導体６０が領域フィード導体導体１１０を経由して領域５０へ至ることのできる経路をいくつか備えるようにするのが望ましい。
【００２９】
ＰＬＣ１３０によって、領域フィード導体１１０上の信号および出力９０をサブ領域の入力８０にプログラム可能にかつ選択的に印加できるようになる。ＰＬＣ１３０は、全て布線されていてもよいし、部部的に布線されているだけでもよい。しかしながら、ＰＬＣ１３０が部分的に布線されているだけの場合には、布線密度および布線分布は、出力導体９０および領域フィード導体導体１１０の各々が入力導体８０を経由して各サブ領域７０へ至ることのできる経路を少なくとも１組備えるようにするのが望ましい。
【００３０】
上述した点から、スーパー領域２０内で、領域５０が当該スーパー領域２０の各水平方向領域間相互接続導体６０を経由して相互に通信することが分かる。
【００３１】
図３に示す模式的な領域構造は、上述したクリフ等の米国特許出願第０８／４４２，７９５号（特に当該特許出願のＦＩＧ．３参照）に示された構造の対応する部分に大体似ている。しかしながら、図３はクリフ等の米国特許出願のＦＩＧ．３と比べて幾分簡単化されている。必要なら、クリフ等の米国特許出願に示された構造から得られる特徴を、この発明のデバイスが備える領域に含めてもよいことが分かる。このようなあり得る特徴の他の例は追加的な導体であり、これはサブ領域７０、出力導体９０および／または領域フィード導体導体１１０などのローカル配線から導出されたレジスタ制御信号などの間のいわゆる高速配線および／またはクロック信号、キャリー（ｃａｒｒｙ）相互接続および／またはカスケード相互接続のために用いる。サブ領域７０の詳細な構造は、上述と同じクリフ等の米国特許出願のＦＩＧ．８に示されたものと同様にすることができる。この代わりに、サブ領域７０を、全体に異なったものとして（例えば、積項論理（ｐｒｏｄｕｃｔｔｅｒｍ  ｌｏｇｉｃ）として）構成することができる。同様に、領域５０は、図３に示したものおよび上述したものと異なった構成をとることができる。例えば、マクリントック等の米国特許第５，５４３，７３２号、マクリントック等の米国特許出願第０８／４４３，１１９号（１９９５年５月１７日出願）、クリフ等の米国特許第５，５４１，５３０号、レオング等の米国特許出願第０８／４４２，７０６号（１９９５年５月１７日出願）、レディ等の米国特許出願第０８／６１９，０７２号（１９９６年３月２０日出願）、ペデルセンの米国特許出願第０８／７１０，８６２号（１９９６年９月２３日出願）、およびクリフ等の米国特許出願第０８／６７２，６７６号（１９９６年６月２８日出願）に示された特徴の一部を必要に応じて採用することができる。
【００３２】
図４は、代表的なスーパー領域２０と、当該スーパー領域２０を備えた行および列に関連する水平方向スーパー領域間相互接続導体３０および垂直方向スーパー領域間相互接続導体４０との間の相互接続の実例を模式的に示す図である。図４に示された各々の回路経路（ｃｉｒｃｕｉｔ  ｐａｔｈ）は、同様の回路経路を単に代表するものに過ぎない。例えば、図４には１個のＰＬＣ１００ａおよび関連する構造（符号９０、１５０、１５２および１０２ａで示す）が示されているだけであるが、実際はこれらの構造要素は多重グループ化されて、各スーパー領域２０に関連付けられている。ＰＬＣ１００ｂ、１７０および２１０と関連する構造要素にも、上述したのと同じことが成り立つ。
【００３３】
サブ領域の出力信号９０は、ＰＬＣ１００ａ、１００ｂ、１７０および２１０のうちの特定の入力に印加される。（ＰＬＣ１００ａおよび１００ｂは、図３のＰＬＣ１００のサブセットであり得る）。水平方向スーパー領域間相互接続導体３０からの信号は、ＰＬＣ１５０および導体１５２によってＰＬＣ１００ａの他の入力に印加することができる。ＰＬＣ１００ａは、受信した信号のうちから１つを選択し、選択した信号をドライバ１０２を経由して水平方向領域間相互接続導体６０へ印加する。このように、水平方向スーパー領域間相互接続導体３０上の信号は、スーパー領域２０内に選択的に伝達することができる。
【００３４】
垂直方向スーパー領域間相互接続導体４０から信号は、ＰＬＣ１８０および導体１８２によってＰＬＣ１００ｂの他の入力に印加することができる。ＰＬＣ１００ｂは、受信した信号のうちから１つを選択し、選択した信号をドライバ１０２ｂを経由して水平方向領域間相互接続導体６０へ印加する。このように、垂直方向スーパー領域間相互接続導体４０上の信号は、スーパー領域２０内に選択的に伝達することができる。
【００３５】
水平方向スーパー領域間相互接続導体３０からの信号は、ＰＬＣ１６０および導体１６２によってＰＬＣ１７２の他の入力に印加することができる。ＰＬＣ１７０は、これらの水平方向スーパー領域間相互接続導体３０信号を、ドライバ１７２を経由して垂直方向スーパー領域間相互接続導体４０に印加するために選択することができる。したがって、ＰＬＣ１６０、ＰＬＣ１７０および導体１７２によって、水平方向スーパー領域間相互接続導体３０上の信号を垂直方向スーパー領域間相互接続導体４０に印加できるようになる。ＰＬＣ１７０および導体１７２によって、さらに、サブ領域出力９０を垂直方向スーパー領域間相互接続導体４０に印加できるようになる。
【００３６】
垂直方向スーパー領域間相互接続導体４０からの信号は、ＰＬＣ２００および導体２０２によってＰＬＣ２１０の他の入力に印加することができる。ＰＬＣ２１０は、これらの水平方向スーパー領域間相互接続導体３０信号またはサブ領域出力信号９０を、ドライバ２１２を経由して水平方向スーパー領域間相互接続導体３０に印加するために選択することができる。したがって、ＰＬＣ２００、ＰＬＣ２１０およびドライバ２１２によって、垂直方向スーパー領域間相互接続導体４０上の信号を水平方向スーパー領域間相互接続導体３０に印加できるようになる。ＰＬＣ２１０および導体２１２によって、さらに、サブ領域出力９０を水平方向スーパー領域間相互接続導体３０に印加できるようになる。
【００３７】
図４はさらに、水平方向領域間相互接続導体６０上の信号をスーパー領域２０の領域５０中へ選択的に駆動するＰＬＣ１２０およびドライバ１２２を示している（この点は図３と同様である）。
【００３８】
ＰＬＣ１２０について上述したのと同様に、ＰＬＣ１５０、ＰＬＣ１５０、ＰＬＣ１６０、ＰＬＣ１８０、およびＰＬＣ２００は、入力用の水平方向スーパー領域間相互接続導体３０および垂直方向スーパー領域間相互接続導体４０から出力用の導体１５２、１６２、１８２および２０２へのプログラム可能な接続を、全面的布線または部分的布線で行うことができる。部分的布線を用いるときは、プログラム可能な接続の密度および分布は、入力用の水平方向スーパー領域間相互接続導体３０または垂直方向スーパー領域間相互接続導体４０が、ＰＬＣ１００ａ、１００ｂ、ＰＬＣ１７０およびＰＬＣ２１０に到達する経路を複数通り備えるようにすることが望ましい。
【００３９】
ドライバ１０２ａ、１０２ｂ、１７２および２１２は、プログラム可能に制御された３状態（ｔｒｉ−ｓｔａｔｅ）ドライバであることが望ましく、これにより複数のこれらドライバは、水平方向スーパー領域間相互接続導体３０、垂直方向スーパー領域間相互接続導体４０、または水平方向領域間相互接続導体６０に接続することができる。１つの導体に接続されたドライバは１つだけがアクティブになり、他のドライバは３状態をとる。逆に、水平方向スーパー領域間相互接続導体３０または垂直方向スーパー領域間相互接続導体４０に接続された全てのドライバ１７２および２１２は３状態をとるから、水平方向スーパー領域間相互接続導体３０および垂直方向スーパー領域間相互接続導体４０は、別の目的（例えば、デバイスの入出力ピンからデバイス中への信号の伝達）のために使用することができる。
【００４０】
ドライバ１０２ａ、１０２ｂ、１７２および２１２の出力信号が図４に、水平方向スーパー領域間相互接続導体３０、垂直方向スーパー領域間相互接続導体４０および水平方向領域間相互接続導体６０への固定した（すなわちプログラム可能でない（ｎｏｎ−ｐｒｏｇｒａｍｍａｂｌｅ））接続を有するように図示されている。これは、各ドライバ１０２ａ、１０２ｂ、１７２および２１２が、ある特定の導体、すなわち水平方向スーパー領域間相互接続導体３０、垂直方向スーパー領域間相互接続導体４０および水平方向領域間相互接続導体６０への固定した出力接続を備えていることを示す。しかしながら、この構造の代わりとして、各ドライバ１０２ａ、１０２ｂ、１７２および／または２１２が、関連する導体、すなわち水平方向スーパー領域間相互接続導体３０、垂直方向スーパー領域間相互接続導体４０および水平方向領域間相互接続導体６０の１または２以上に対してプログラム可能な接続を備えるようにできることが分かる。
【００４１】
図４に示すサブ領域の出力信号９０は、図３に示す特定のサブ領域の出力９０から直接取り込むことができる。逆に、図３に示すサブ領域の出力９０と図４に示す入力９０との間にプログラム可能なスイッチを設けることができるから、図４の各入力９０は、図３に示す型の出力９０の中から選択することができる。
【００４２】
上述した点から、この発明のデバイスは、垂直方向スーパー領域間相互接続導体４０と対立するものとしての水平方向スーパー領域間相互接続導体３０を経由する通信に特別の配慮をすることなく作製することができ、その逆も同様であることが分かる。例えば、各行に対して水平方向スーパー領域間相互接続導体３０を、各列に対する垂直方向スーパー領域間相互接続導体４０と同じ数だけ設けることができる。ＰＬＣ１０２ａを経由する各種の経路を、ＰＬＣ１０２ｂを経由する各種の経路と同じ数だけ設けることができる。ＰＬＣ１７２を経由する各種の経路を、ＰＬＣ２１０を経由する各種の経路と同じ数だけ設けることができる。したがって、水平方向または垂直方向のいずれか一方の通信に特別の配慮を払う必要はないから、デバイスが略同数の行および列から成る場合、サブ領域間の通信のレベルにおいてどちらの方向も実質的に同じものにすることができる。したがって、この発明のデバイスは、２次元配列を作製するために繰り返されたプログラマブルロジックの単なる行である必要はないという利点を持つことができる。むしろ、この発明のデバイスは、スーパー領域間通信の目的のためには、水平および垂直両方向において真に同形（ｉｓｏｍｏｒｐｈｉｃ）であり得る。さらに、行および列の数が同じまたは略同じであるから、この発明のデバイスは、１または略１という有利な低アスペクト比を有することができる。
【００４３】
図５に模式的に示す別のプログラマブルロジック集積回路装置（プログラマブルロジックデバイス）５１０は、プログラマブルロジックのスーパー領域５２０から成る行および列を備えている。例えば、プログラマブルロジック集積回路装置（プログラマブルロジックデバイス）５１０上には、スーパー領域５２０を２０行１０列備えることができる。
【００４４】
各スーパー領域５２０は、プログラマブルロジックの領域５３０をいくつか備えている。例えば、スーパー領域５２０は領域５３０を８個備えることができる。
【００４５】
各領域５３０は、プログラマブルロジックのサブ領域５４０をいくつか備えている。例えば、領域５３０はサブ領域５４０を１０個備えることができる。図５においては煩雑さを避けるために、サブ領域５４０は左上隅の領域５３０内にだけ示してある。
【００４６】
各サブ領域５４０は、典型的にプログラム可能であり、当該サブ領域５４０に印加された入力信号に対して何種類かの比較的基本的な論理操作を全て実行する。例えば、各サブ領域５４０は、４入力のルックアップテーブルを備えることができるが、そのルックアップテーブルはプログラム可能であり、当該サブ領域５４０に印加される４個の入力信号の論理組み合わせを全て供給できる。各サブ領域５４０は、レジスタおよび関連するＰＬＣを備えており、ルックアップテーブルの出力信号を選択的に登録する。
【００４７】
複数の水平方向スーパー領域間相互接続導体５５０が、スーパー領域５２０の各行に関連付けられている。水平方向スーパー領域間相互接続導体５５０の各グループは、グローバル水平方向導体５５０ａ（これはスーパー領域５２０の関連する行の全長に沿って延在する）およびハーフ水平方向導体５５０ｂ（これはスーパー領域５２０の関連する行の左半分または右半分に沿って延在する）を含む。軸方向に配置されたハーフ水平方向導体５５０ｂは、ＰＬＣ５５２によってグローバル水平方向導体５５０ａを効率的に形成できるようにプログラム可能に相互接続することができる。プログラマブルロジック集積回路装置５１０のサイズのような要因によって、グローバル水平方向導体５５０ａを取り除き、グローバル水平方向導体が必要なときには、軸状に配置されたハーフ水平方向導体５５０ｂを相互接続することにより実現するようにすることができる。別の変更として、水平方向スーパー領域間相互接続導体５５０を全てグローバル水平方向導体５５０ａとし、ハーフ水平方向導体５５０ｂを取り除くことができる。
【００４８】
複数の垂直方向スーパー領域間相互接続導体５６０は、スーパー領域５２０の各列に関連付けられている。水平方向スーパー領域間相互接続導体５５０の各組と同様に、垂直方向スーパー領域間相互接続導体５６０の各組は、（関連する列の全長に沿って延在する）グローバル垂直方向導体５６０ａ、または（関連する列の上半分または下半分に沿って延在する）ハーフ垂直方向導体５６０ｂ、あるいはグローバル垂直方向導体およびハーフ垂直方向導体の双方を含むことができる。軸方向に配置されたハーフ垂直方向５６０ｂは、当該ハーフ垂直方向５６０ｂの間に設けたＰＬＣ５６２によって、プログラム可能に相互接続することができる。図５は１つの組にまとめられたスーパー領域５２０の各列に関連する垂直方向スーパー領域間相互接続導体５６０を示しているが、図６に示すように、領域間相互接続導体５７０を、当該列内の領域５３０の間の各列に分布させることか望ましい。
【００４９】
各スーパー領域５２０は、当該スーパー領域５２０内の領域５３０に沿って延在する、関連する複数の領域間相互接続導体５７０を有する。領域間相互接続導体５７０は、以下では「部分水平方向」（ｆｒａｃｔｉｏｎａｌ  ｈｏｒｉｚｏｎｔａｌ）導体あるいは単に「部分」（ｆｒａｃｔｉｏｎａｌ）導体として参照する。
【００５０】
プログラマブルロジック集積回路装置（プログラマブルロジックデバイス）５１０の代表的な部分を図６により詳細に示す。図６は、特にプログラマブルロジック集積回路装置（プログラマブルロジックデバイス）５１０の右下側部を示している。図６では右側に向かうに従ってより多くの詳細を示してある。これらの詳細のうちいくつかは左に向かうに従って省略してある。図６は、領域５３０にローカル導体５８０が差し込まれているのを示している。ローカル導体５８０には、（１）領域フィード導体５８０ａ、および（２）ローカルフィードバック導体５８０ｂ、の２つのタイプがある。各領域５３０の各側にある領域フィード導体５８０ａは、ＰＬＣ５７２によって部分導体５７０にプログラム可能に接続できるようになっており、この部分導体５７０はスーパー領域５２０に関連付けられており、このスーパー領域５２０は信号を当該部分導体５７０から隣接する領域５３０へ伝達するために領域５３０を備えている。各サブ領域５４０はメイン入力導体５９０を備えており、これらメイン入力導体５９０の一部は左から、他の一部は右から入力している。例えば、各サブ領域５４０は４本のメイン入力導体５９０を備えることができ、２本は左から、２本は右からという具合である。メイン入力導体５９０の各々は、ＰＬＣ５８２によってローカル導体５８０にプログラム可能に接続できるようになっているが、前記ローカル導体５８０が関連するサブ領域５４０の左へ接続するか右へ接続するかは、メイン入力導体５９０が当該サブ領域５４０から出る向きによる。
【００５１】
各サブ領域５４０は少なくとも１個のメイン出力導体６００を有する。（各サブ領域５４０が２以上の出力を有するのが望ましいことを、もっと余裕をもって示した図７とともに説明する。しかし、現在の目的のためには、１個のメイン出力導体６００を示して説明するだけで十分にである）。少なくとも１個のＰＬＣ６１０が、各サブ領域５４０のメイン出力導体６００に関連付けられている。サブ領域５４０のメイン出力導体６００の信号は、関連するＰＬＣ６１０の１個の入力端子に印加される。各ＰＬＣ６１０への他の入力は、（１）隣接するグローバル水平方向導体５５０ａおよびハーフ水平方向導体５５０ｂからの信号（この信号は横方向導体５５２を経由して関連する領域に伝達される）、および（２）隣接するグローバル垂直方向導体５６０ａおよびハーフ垂直方向導体５６０ｂからの信号である。水平方向Ｉ／Ｏピン６３０および／または垂直方向Ｉ／Ｏピン６４０に隣接するＰＬＣ６１０は、これらのＩ／Ｏピン６３０、６４０からの入力信号をも持つことができる。最も単純な場合、各ＰＬＣ６１０は、自らの入力の１つを自らの出力としてプログラム可能に選択するようになっている。各ＰＬＣ６１０の出力は、関連するドライバ６２０に印加される。
【００５２】
各ドライバ６２０の出力は次のものに印加することができる。（１）１または２以上のグローバル水平方向導体５５０ａまたはハーフ水平方向導体５５０ｂ（ＰＬＣ６２２経由で）、（２）１または２以上の隣接する部分水平方向導体５７０（ＰＬＣ６２４経由で）、（３）１または２以上の隣接するグローバル垂直方向導体５６０ａまたはハーフ垂直方向導体５６０ｂ（ＰＬＣ６２６経由で）、（４）１または２以上の隣接する領域フィード導体５８０ａ（ＰＬＣ６２８経由で）、および／または（５）ローカルフィードバック導体５８０ｂ。
【００５３】
上述した点から次のことが分かる。サブ領域出力信号６００を水平方向スーパー領域間相互接続導体５５０、垂直方向スーパー領域間相互接続導体５６０、領域間相互接続導体（部分水平方向導体）５７０およびローカル導体５８０に駆動するのに用いる経路を提供するのに加えて、ＰＬＣ６１０およびドライバ６２０は、水平方向スーパー領域間相互接続導体５５０および垂直方向スーパー領域間相互接続導体５６０を相互接続するための経路、および水平方向スーパー領域間相互接続導体５５０上の信号および垂直方向スーパー領域間相互接続導体５６０上の信号をスーパー領域５２０内に伝達するための経路を提供する。通常、最後に述べたルーティング（ｒｏｕｔｉｎｇ）は、各スーパー領域の部分水平方向導体５７０への通信および部分水平方向導体５７０から各領域５３０の領域フィード導体５８０ａへの通信を伴う（もっとも、時として水平方向スーパー領域間相互接続導体５５０または垂直方向スーパー領域間相互接続導体５６０から、より直接的に領域５３０へ、隣接する部分水平方向導体５７０を使用することなく、当該領域５３０のローカル導体５８０を経由して経路を確立することもあり得る）。このルーティング方法によって、信号を領域フィード導体５８０ａに接続するのに使用するプログラム可能な接続の数を少なくすることができる。実際には、水平方向スーパー領域間相互接続導体５５０および垂直方向スーパー領域間相互接続導体５６０は、スーパー領域５２０相互の通信を提供し、一方、各スーパー領域５２０に関連する部分水平方向導体５７０は、当該スーパー領域５２０内の領域５３０同士の大部分の通信を提供する。ローカル導体５８０（特にローカルフィードバック導体５８０ｂ）は、当該ローカル導体５８０に隣接するサブ領域５４０相互の大部分の通信を提供する。
【００５４】
水平方向に隣接する領域５３０の間にインターリーブしているローカル導体５８０は、水平方向に隣接する領域５３０内のサブ領域５４０相互の追加的なローカル信号ルーティングを提供する点に留意されたい。例えば、図６の中程に示す領域５３０内のサブ領域５４０の出力信号６００は、入力として右手に示す領域５３０内のサブ領域５４０へ印加することができるが、これにはローカル導体５８０だけを使用するだけで済み、部分水平方向導体５７０を使用する必要はない。
【００５５】
プログラマブルロジック集積回路装置（プログラマブルロジックデバイス）５１０の端近くのローカル導体５８０は、Ｉ／Ｏピン６３０および６４０の出力データ信号源および出力イネーブル信号源として用いる。ＰＬＣ５８４は出力データ信号を選択し、ＰＬＣ５８６は出力イネーブル信号を選択する。各出力データ信号は関連する３状態ドライバ６５０に印加し、各出力イネーブル信号は関連する３状態ドライバ６５０の制御入力端子に印加する。
【００５６】
図６は次のことを示している。Ｉ／Ｏピン５３０および６４０は専用のドライバ６３２ａ、６３２ｂおよび５４２を備えることができ、これらのドライバは、１または２以上の水平方向スーパー領域間相互接続導体５５０、部分水平方向導体５７０、およびＰＬＣ６３４ａ、６３４ｂおよび６４４をそれぞれ経由した垂直方向スーパー領域間相互接続導体５６０をプログラム可能にフィードする。
【００５７】
図７は図６の代表的な部分をより詳細に示す。しかしながら、図７は、図６が備えている相互接続資源のいくつかは省略できることも示しており、省略した機能は以下で説明する他の相互接続資源によって実現できる。
【００５８】
図７は、各サブ領域５４０が２以上のメイン出力導体６００を備え得ることを示す。例えば、図７の各ＰＬＣ６１０は、関連するサブ領域５４０の登録された信号および組み合わせ出力信号の双方を受信するものとして示されており、各サブ領域５４０に関連する２個のＰＬＣ６１０が設けられている。各ＰＬＣ６１０への他の入力は、図６と関連して上述した通りである。図６および図７は、各ＰＬＣ６１０がただ１個のサブ領域５４０から入力６００を受信する例を示しているが、これに限らず、各ＰＬＣ６１０は必要に応じ２以上のサブ領域５４０から入力６００を受信することができる。
【００５９】
図７に示す実例では、ドライバ６２０は、水平方向スーパー領域間相互接続導体５５０（ＰＬＣ６２２経由で）、垂直方向スーパー領域間相互接続導体５６０（ＰＬＣ６２６経由で）、および部分水平方向導体５７０（ＰＬＣ６２４経由で）だけを駆動する。ドライバ６２０は領域フィード導体５８０ａへの直接接続を有さず、ローカルフィードバック導体５８０ｂは全て取り除かれている。したがって、領域フィード導体５８０ａは、領域フィードおよびローカルフィードバック双方の働きをする。さらに、領域フィード信号およびローカルフィードバック信号も全て、部分水平方向導体５７０を通過する必要がある。この実例は数多くの部分水平方向導体５７０を備えているから、部分水平方向導体５７０を軸状に幾つかの部分に分割するのが望ましい。このような部分水平方向導体５７０の軸状の各セグメントは小さな数の領域５３０（例えば１または２以上の領域５３０）のみに延在すればよいが、分割しない部分水平方向導体５７０は関連するスーパー領域５２０内の全ての領域５３０に延在する必要がある。図７に示すように専用のローカルフィードバック導体５８０ｂを取り除くことにより、ローカルフィードバックが必要でない場合におけるローカル相互接続の数を実質的に節約することができる。
【００６０】
図７はまた、メイン出力導体６００に加え各サブ領域５４０が隣接するサブ領域５４０への１または２以上の直接接続を持ち得ることを示している。例えば、１つの直接接続７００は、１つのサブ領域から別のサブ領域への算術的キャリーアウト（ｃａｒｒｙ  ｏｕｔ）信号のために使用することがてきる。別の直接接続７００は、１つのサブ領域から別のサブ領域へのカスケード接続のために使用することがてきる。上述したクリフ等の米国特許出願第０８／４４２，７９５号が、キャリー接続およびカスケード接続をプログラマブルロジックデバイス（ＰＬＤ）の中で実現する方法および使用方法の典型例である。
【００６１】
典型的なデバイスはスーパー領域５２０を２０行備えることができ、各行は８０個の領域５３０を備えることができる。各領域５３０は１０個のサブ領域５４０を備えることができる。各行は、各半行あたり４８０個のハーフ水平方向導体５５０ｂを備えることができる。デバイスは、合計６４００個のハーフ垂直方向導体５６０ｂを備えることができる（領域５３０の各列の各半分あたり４０個である）。このサイズのデバイスは、グローバル水平方向導体およびグローバル垂直方向導体のどちらも必要としない。各スーパー領域５２０は、１２０個の部分水平方向導体５７０を一まとめにすることができる。これらの部分水平方向導体５７０の各々は、一まとめにした領域フィード導体５８０ａの各組内の２個の領域フィード導体５８０ａをプログラム可能に接続することができる。ローカル導体５８０の各組は、２４個の領域フィード導体５８０ａおよび１０個のローカルフィードバック導体５８０ｂを備えることができる。サブ領域５４０は１個あたり２個のドライバ６２０を備えることができる。各ドライバ６２０は、２個のハーフ水平方向導体５５０ｂ、３個の部分水平方向導体５７０、および１個のハーフ垂直方向導体５６０ｂをフィードすることができる。各ＰＬＣ６１０は、２個のハーフ垂直方向導体５６０ｂ、６個のハーフ水平方向導体５５０ｂ、および２個のサブ領域出力６００によってフィードすることができる。図６に関連して述べたように、いくつかのＰＬＣ６１０は、Ｉ／Ｏピン６３０および／またはＩ／Ｏピン６４０によってもフィードすることができ、各Ｉ／Ｏピン６３０、６４０は典型的には４個の異なったＰＬＣ６１０をフィードすることができる。典型的なプログラマブルロジック集積回路装置（プログラマブルロジックデバイス）５１０は、４８０個のＩ／Ｏピン６３０および６４０を備えることができる。
【００６２】
上述したデバイスサイズ、相互接続の数、ＰＬＣの数などは、単なる例示であり、必要に応じ他のデバイスサイズや相互接続数を採用することができる。
【００６３】
図８は、この発明に係る両方向バッフアリング回路５５２／５６２の実例を模式的に示す図である。参照符号５５２／５６２が示すように、この回路は、図５に符号５５２で示したように２個のハーフ水平方向導体５５０ｂをプログラム可能に接続することができるようにするとともに、図５に符号５６２で示したように２個のハーフ垂直方向導体５６０ｂをプログラム可能に接続することができるようにするものである。
【００６４】
プログラマブル機能制御素子（ＦＣＥ；ｐｒｏｇｒａｍｍａｂｌｅ  ｆｕｎｃｔｉｏｎ  ｅｌｅｍｅｎｔ）８１０は、バッフアリングの方向を制御する（例えば、左手のハーフ水平方向導体５５０ｂから右手のハーフ水平方向導体５５０ｂへあるいはその逆、または左手のハーフ垂直方向導体５６０ｂから右手のハーフ垂直方向導体５６０ｂへあるいはその逆である）。ＦＣＥ８２０は分割（ｓｅｇｍｅｎｔａｔｉｏｎ）を制御する（例えば、左手および右手のハーフ水平方向導体５５０ｂおよびハーフ垂直方向導体５６０ｂは、互いに別の半分に接続されている）。ＦＣＥ８１０を論理０にプログラムし、ＦＣＥ８２０を論理１にプログラムすると、ＮＯＲゲート８３０の出力は論理０になり、全てのトランジスタ８４０および８５０はオフ（ｏｆｆ）になるから、水平方向スーパー領域間相互接続導体５５０または垂直方向スーパー領域間相互接続導体５６０の左手半分および右手半分を互いに非接続とされる。他方、ＦＣＥ８１０および８２０の双方を論理０にプログラムすると、ＮＯＲゲートの出力は論理１になり、トランジスタ８４０ａおよび８４０ｂは共にオフとなり、一方トランジスタ８５０ａおよび８５０ｂは共にオン（ｏｎ）となる。これにより、左手の水平方向導体セグメント５５０ｃまたは垂直方向導体セグメント５６０ｃ上の信号が、トランジスタ８５０ｂ中を流れるようになり、直列接続されたインバータドライバ８６０および８８０によって増幅され、さらにトランジスタ８５０ａ経由して右手の水平方向導体セグメント５５０ｃまたは垂直方向導体セグメント５６０ｃに印加できるようになる。インバータ８７０はこの回路にための小レベルコレクター（ｓｍａｌｌｌｅｖｅｌ−ｃｏｒｒｅｃｔｏｒ）である。ここ、および特許請求の範囲中で「増幅」（ａｍｐｌｉｆｙ）という用語を種々の態様で使っているが、インバータドライバ８６０および８８０のようなバッフアリング回路素子が実行する信号の増強（ｓｔｒｅｎｇｔｈｅｎｉｇ）および回復（ｒｅｓｔｏｒａｔｉｏｎ）として参照される。
【００６５】
ＦＣＥ８１０を論理１にプログラムし、ＦＣＥ８２０を論理０にプログラムすると、ＮＯＲゲート８３０は論理０となり、トランジスタ８４０はオンするが、トランジスタ８５０はオフする。これにより、右手の水平方向導体セグメント５５０ｃ上の信号または垂直方向導体セグメント５６０ｃ上の信号がトランジスタ８４０ｂを通って流れるのが可能になり、ドライバ８６０および８８０によって増幅できるようになり、トランジスタ８４０ａを経由して左手の水平方向導体セグメント５５０ｃまたは垂直方向導体セグメント５６０ｃに印加できるようになる。
【００６６】
ＦＣＥ８１０および８２０の双方を論理１にプログラムすると、ＦＣＥ８１０を論理１にプログラムするとともにＦＣＥ８２０を論理０にプログラムしたの同じ条件が成立する。
【００６７】
上述した点から、水平方向分割バッフア回路５５２／垂直方向分割バッフア回路５６２は、次のいずれかが実現するようにプログラムできることが分かる。（１）左手および右手の水平方向導体セグメント５５０ｃを電気的に相互に絶縁すること、または左手および右手の垂直方向導体セグメント５６０ｃを電気的に相互に絶縁すること、（２）左手の水平方向導体セグメント５５０ｃが右手の水平方向導体セグメント５５０ｃをバッフアリング回路素子８６０または８８０を経由して駆動すること、または左手の垂直方向導体セグメント５６０ｃが右手の垂直方向導体セグメント５６０ｃをバッフアリング回路素子８６０または８８０を経由して駆動すること、（３）右手の水平方向導体セグメント５５０ｃが左手の水平方向導体セグメント５５０ｃをバッフアリング回路素子８６０または８８０を経由して駆動すること、または右手の垂直方向導体セグメント５６０ｃが左手の垂直方向導体セグメント５６０ｃをバッフアリング回路素子８６０または８８０を経由して駆動すること。
【００６８】
図８に示すタイプのプログラム可能な分割バッフア回路を使用する一つの利点は、使用しない導体セグメントを取り除くことにより、配線全体を駆動するために浪費していた電力を節約できる点である。このような回路によれば、長い相互接続導体をバッファリングする方法が得られるから、プログラマブルロジックデバイス（ＰＬＤ）アーキテクチャのスケーリングが容易になる。セグメンテーション（ｓｅｇｍｅｎｔａｔｉｏｎ；分割）およびバッファリング（ｂｕｆｆｅｒｉｎｇ）を行うと、セグメンテーションおよびバッファリングがなされた導体を駆動するドライバ（例えばドライバ６２０）が見る負荷が減少する。これにより、ドライバのサイズおよび消費電力を低減することが可能になる。セグメンテーションおよびバッファリングを行うと、隅から隅への経路および４等分された経路双方のタイミングが改善するとともに、グローバル導体を分割できるから、プログラマブルロジックデバイス（ＰＬＤ）内へロジックをはめ込む操作も改善する。水平方向分割バッフア回路５５２／垂直方向分割バッフア回路５６２は、いかなる種類、いかなる長さの導体であってもセグメンテーションおよびバッファリングのために用いることができ、上で特に述べたハーフ水平方向導体５５０ｂおよびハーフ垂直方向導体５６０ｂに限るものではない。
【００６９】
当業者には、この発明のプログラマブルロジックデバイス（ＰＬＤ）が多くの用途を有し得ることが分かるであろう。例えば、図９はこの発明のプログラマブルロジックデバイス（ＰＬＤ）１００２をディジタルプロセシングシステム１０００に使用した例を模式的に示す図であり、ディジタルプロセシングシステム１０００は、プロセシングユニット１００４、メモリ１００６、入力装置（入力回路）１００８および出力装置（出力回路）１０１０のような他のディジタル素子を備えている。ディジタルプロセシングシステム１０００としては、必要な機能を実現するためにプログラマブルロジックデバイス（ＰＬＤ）１００２を付加したコンピュータ、あるいはコンピュータライク（ｃｏｍｐｕｔｅｒ−ｌｉｋｅ）なシステムの形をとり得る。例えば、プログラマブルロジックデバイス（ＰＬＤ）１００２は、プロセシングユニット１００４の制御下でメモリ１００６からプログラムすることができる。その後、プログラマブルロジックデバイス（ＰＬＤ）１００２は、プロセシングユニット１００４の制御下でデータその他の信号を操作することができるが、データや信号はプロセシングユニット１００４、メモリ１００６および／または入力装置（入力回路）１００８が供給し、データや信号の操作はプロセシングユニット１００４、メモリ１００６および／または出力装置（出力回路）１０１０に印加するデータその他の信号を生成するためになされる。プロセシングユニット１００４には、汎用（ｇｅｎｅｒａｌ−ｐｕｒｐｏｓｅ）プロセッサ（例えばマイクロプロセッサ）を用いることができ、プロセッサ１００４がプログラマブルロジックデバイス（ＰＬＤ）１００２を備えた汎用コンピュータシステムのプロセッサである場合が典型的である。逆に、プロセッサ１００４は、特定の機能あるいはタスクを実行あるいは制御する専用（ｓｐｅｃｉａｌ−ｐｕｒｐｏｓｅ）回路にすることもできる。図５に示す種々の素子や相互接続は一例に過ぎない。これらの素子や相互接続は、必要な場合、取り除くことができる。同様に、必要な場合、追加的な素子や相互接続を備えることができる。例えば、入力装置（入力回路）１００８および出力装置（出力回路）１０１０は、１つの入出力装置あるいは入出力回路に一体化することができる。適用可能な技術はいかなるものでも、プロセシングユニット１００４、メモリ１００６、入力装置（入力回路）１００８および出力装置（出力回路）１０１０のために用いることができる。
【００７０】
図１０は、この発明のプログラマブルロジックデバイス（ＰＬＤ）（例えばＰＬＤ１００２）は、他の回路（例えば図９に示す種々の回路）とともにプリント回路基板１０２０上にマウントすることができる。図９に示すタイプの回路のプリント回路基板へのインプリメンテーション（ｉｍｐｌｅｍｅｎｔａｔｉｏｎ）において、図９の入力装置（入力回路）１００８は外部の入力装置および／または入力回路（図示せず）と相互接続に用いる入力インタフェース回路１００８’として実現する。同様に、図９の出力装置（出力回路）１０１０は外部の出力装置および／または出力回路（図示せず）と相互接続に用いる出力インタフェース回路１０１０’として実現する。反対に、図１０に示す素子や接続を関連する図９に示す素子や接続と同様のものにすることができる。また、必要に応じ図１０に示す種々の素子や接続をプリント回路基板１０２０から取り除くことができ、かつ／または、プリント回路基板１０２０に他の素子や接続を追加することができる。
【００７１】
様々な技術を用いて、この発明のスーパー領域、領域およびサブ領域を用いるプログラマブルロジックデバイス（ＰＬＤ）を実現することができるが、これらのスーパー領域、領域およびサブ領域の種々の素子（例えばＰＬＣおよび、このＰＬＣを制御するプログラマブル機能制御素子（ＦＣＥ））も同様に様々な技術を用いて実現できる。例えば、各ＰＬＣは、任意の入力を１つの出力に接続する１個または複数のスイッチのような比較的簡単なプログラム可能なコネクタを用いて実現することができる。反対に、各ＰＬＣに、接続をなすとともに論理操作を行う能力（例えばいくつかの入力を論理的に組み合わせる能力）を有する幾分複雑な素子を用いることもできる。例えば、後者の場合には、各ＰＬＣに、積項論理（ｐｒｏｄｕｃｔ  ｔｅｒｍ  ｌｏｇｉｃ）を用いて、ＡＮＤ、ＮＡＮＤ、ＯＲまたはＮＯＲのような機能を実現することができる。ＰＬＣの実現に好適な素子は、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、パストランジスタ、トランスミッションゲート、アンチヒューズ、レーザヒューズ、メタルオプションリンク（ｍｅｎｔａｌ  ｏｐｔｉｏｎ  ｌｉｎｋ）などである。上述したように、ＰＬＣを構成する素子は、様々なプログラム可能で機能制御素子によって制御することができる。（ある種のＰＬＣ実現手段（例えばヒューズやメタルオプションリンク）では、別個のＰＬＣデバイスは必要でない）。ＦＣＥは、いくつかの異なった方法でインプリメント（ｉｍｐｌｅｍｅｎｔ）することができる。例えば、ＦＣＥには、ＳＲＡＭ、ＤＲＡＭ、先入れ先だし（ＦＩＦＯ；ｆｉｒｓｔ−ｉｎｆｉｒｓｔ−ｏｕｔ）メモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、機能制御レジスタ（例えばワールストロームの米国特許第３，４７３，１６０号参照）、フェロエレクトリック（ｆｅｒｒｏ−ｅｌｅｃｔｒｉｃ）メモリ、ヒューズ、アンチヒューズなどを用いることができる。上述した様々な例から、この発明は、ＯＴＰ（ｏｎｅ−ｔｉｍｅ−ｏｎｌｙ  ｐｒｏｇｒａｍｍａｂｌｅ）デバイスおよびＯＴＲ（ｏｎｅ−ｔｉｍｅ−ｏｎｌｙ  ｒｅｐｒｏｇｒａｍｍａｂｌｅ）デバイスの双方に適用できることが分かる。
【００７２】
上述した事項はこの発明の原理を例示したものに過ぎず、当業者は、この発明の範囲内およびこの発明の精神の範囲内で様々な変更をなし得る。例えば、スーパー領域の行および列の数を変更することができる。同様に、各スーパー領域内の領域の数を変更することができ、各領域内のサブ領域の数を変更することができる。様々なタイプの相互接続資源（例えば、ＰＬＣ１００、１２０、１５０、１６０、１７０、１８０、２００、２１０、５７２、５８２、６１０、６２２、６２４および６２６、ドライバ１０２、１７２、２１２および６２０など）は、全て必要に応じて変更することができる。上述したように、サブ領域内では様々なタイプのプログラマブルロジックを用いることができ、ＰＬＣおよびデバイスの他の素子のために様々な技術を適用することができる。
【図面の簡単な説明】
【図１】  この発明の原理によって作製されるプログラマブルロジックデバイス（ＰＬＤ）の実例の部分平面である。
【図２】  この発明による図１のＰＬＤの部分実例のより詳細であるが未だ簡単化された平面を示す図である。
【図３】  この発明による図２のＰＬＤの部分実例のさらにより詳細であるが未だ簡単化された平面を示す図である。
【図４】  この発明による図１のＰＬＤの部分実例のより詳細であるが未だ簡単化された模式ブロック図である。
【図５】  この発明によって作製されるプログラマブルロジックデバイス（ＰＬＤ）の別の部分実例の簡単化されたブロック図である。
【図６】  図５の部分のより詳細であるが未だ簡単化された模式ブロック図である。
【図７】  図６の部分をさらにより詳細であるがこの発明によって変更したものを示す図である。
【図８】  この発明によるプログラマブルロジックデバイス（ＰＬＤ）において使用することのできる回路の実例の模式ブロック図である。
【図９】  この発明によるプログラマブルロジックデバイス（ＰＬＤ）の使用方法を示す簡単化されたブロック図である。
【図１０】  この発明によるプログラマブルロジックデバイス（ＰＬＤ）の別の使用方法を示す簡単化されたブロック図である。
【符号の説明】
１０  プログラマブルロジックアレイ集積回路装置
２０  スーパー領域
３０  水平方向スーパー領域間相互接続導体
４０  垂直方向スーパー領域間相互接続導体
５０  領域
６０  水平方向領域間相互接続導体
７０  サブ領域
８０  入力信号
９０  出力信号
１００  プログラマブルロジックコネクタ（ＰＬＣ）
１１０  領域フィード導体導体
１２０  ＰＬＣ
１３０  ＰＬＣ
５１０  プログラマブルロジック集積回路装置
５２０  スーパー領域
５３０  領域
５４０  サブ領域
５５０  水平方向スーパー領域間相互接続導体
５５０ａ  グローバル水平方向導体
５５０ｂ  ハーフ水平方向導体
５５０ｃ  水平方向導体セグメント
５５２  水平方向分割バッフア回路
５６０  垂直方向スーパー領域間相互接続導体
５６０ａ  グローバル垂直方向導体
５６０ｂ  ハーフ垂直方向導体
５６０ｃ  垂直方向導体セグメント
５６２  垂直方向分割バッフア回路
５７０  領域間相互接続導体（部分水平方向導体、部分導体）
５８０  ローカル導体
５８０ａ  領域フィード導体
５８０ｂ  ローカルフィードバック導体
５９０  メイン入力導体
６００  メイン出力導体
６１０  ＰＬＣ
６２０  ドライバ
６３０  Ｉ／Ｏピン
６４０  Ｉ／Ｏピン
６５０  ３状態ドライバ
７００  直接接続
８１０  プログラマブル機能制御素子（ＦＣＥ）
８２０  ＦＣＥ
８３０  ＮＯＲゲート
８４０  トランジスタ
８５０  トランジスタ
８６０  インバータドライバ
８７０  インバータドライバ
８８０  インバータドライバ
１０００  ディジタルプロセシングシステム
１００２  プログラマブルロジックデバイス（ＰＬＤ）
１００４  プロセシングユニット
１００６  メモリ
１００８  入力装置（入力回路）
１０１０  出力装置（出力回路）
１０２０  プリント回路基板
１００８’  入力インタフェース回路
１０１０’  出力インタフェース回路
【図１】
0003925754.tif 000002
【図２】
0003925754.tif 000003
【図３】
0003925754.tif 000004
【図４】
0003925754.tif 000005
【図５】
0003925754.tif 000006
【図６】
0003925754.tif 000007
【図７】
0003925754.tif 000008
【図８】
0003925754.tif 000009
【図９】
0003925754.tif 000010
【図１０】
0003925754.tif 000011