(57)【特許請求の範囲】
【請求項１】
ユーザー・プログラマブルゲート配列集積回路のためのコアアーキテクチャであって、
モジュールの各々が少なくとも１つの入力部と少なくとも１つの出力部を有する論理機能モジュールのアレイと、
複数の水平汎用相互接続チャネルと垂直汎用相互接続チャネルを含んでおり、前記アレイの上に置かれており、前記水平汎用相互接続チャネルと垂直汎用相互接続チャネルの各々が複数の相互接続導体を含み、前記汎用相互接続導体が互いに接続可能であり、ユーザー・プログラマブル相互接続要素によって論理機能モジュールの入力部と出力部に接続可能である、汎用相互接続構成と、
局所相互接続チャネルを含んでおり、前記アレイの上に置かれた局所相互接続構成であって、各局所相互接続チャネルは、前記論理機能モジュール中の少なくとも２つのの隣接する同モジュール間を接続し、複数の局所相互接続導体を含み、前記局所相互接続導体の第１組は前記論理機能モジュールの前記隣接組の出力部に接続され、前記局所相互接続導体の第２組は互いに接続可能であり、ユーザー・プログラマブル相互接続要素によって論理機能モジュールの入力部に接続可能である局所相互接続構成と、
を含む、ユーザー・プログラマブルゲートアレイのためのコアアーキテクチャ。
【請求項２】
前記局所相互接続チャネルが、前記論理機能モジュールの前記隣接モジュールの対の間を接続する、請求項１に記載のコアアーキテクチャ。
【請求項３】
前記論理機能モジュールの各々が、組合せユニットと順次ユニットから選択された複数の機能ユニットを含む、請求項１に記載のコアアーキテクチャ。
【請求項４】
前記ユーザー・プログラマブル相互接続要素がアンチヒューズである、請求項１に記載のコアアーキテクチャ。
【請求項５】
個別局所相互接続チャネルに接続された第１論理機能モジュールが、左端の組合せユニット、中央の順次ユニット、及び右端の組合せユニットを含み、前記個別局所相互接続チャネルに接続された第２論理機能モジュールが、左端の組合せユニット、中央の順次ユニット、及び右端の組合せユニットを含む、請求項３に記載のコアアーキテクチャ。
【請求項６】
個別局所相互接続チャネルに接続された第１論理機能モジュールが、左端の組合せユニット、中央の順次ユニット、及び右端の組合せユニットを含み、前記個別局所相互接続チャネルに接続された第２論理機能モジュールが、左端の順次ユニット、中央の順次ユニット、及び右端の組合せユニットを含む、請求項３に記載のコアアーキテクチャ。
【請求項７】
個別局所相互接続チャネルに接続された第１論理機能モジュールが、左端の組合せユニット、中央の順次ユニット、及び右端の順次ユニットを含み、前記個別局所相互接続チャネルに接続された第２論理機能モジュールが、左端の組合せユニット、中央の順次ユニット、及び右端の組合せユニットを含む、請求項３に記載のコアアーキテクチャ。
【請求項８】
第１データ入力導体に接続された第１データ入力部、第２データ入力導体に接続された第２データ入力部、制御入力部、及び出力部を有する、第１マルチプレクサと、
第３データ入力導体に接続された第１データ入力部、第４データ入力導体に接続された第２データ入力部、制御入力部、及び出力部を有する、第２マルチプレクサと、
前記第１マルチプレクサの出力部に接続された第１データ入力部、前記第２マルチプレクサの出力部に接続された第２データ入力部、制御入力部、及び出力部を有する第３マルチプレクサと、
第５データ入力導体に接続された第１入力部、第６データ入力導体に接続された第２入力部、及び第１マルチプレクサと第２マルチプレクサの制御入力部に接続された出力部を有する、第１論理ゲートと、
第７データ入力導体に接続された第１入力部、第８データ入力導体に接続された第２入力部、及び第３マルチプレクサの制御入力部に接続された出力部を有する、第２論理ゲートと、
前記第３マルチプレクサの前記出力部に接続された入力部及び出力導体に接続された出力部を有する、出力バッファと、
前記第１、第２、第３マルチプレクサの前記データ及び制御入力導体に交差しており、ユーザー・プログラマブル相互接続要素によって前記データ及び制御入力導体に個別に選択的に接続可能な、前記複数の相互接続導体と、
前記相互接続導体の第１導体に接続された入力部と前記相互接続導体の第２導体に接続された出力部を有するインバータ
を含む、組合せ論理ユニット。
【請求項９】
前記第１論理ゲートがＡＮＤゲートであり、前記第２論理ゲートがＯＲゲートである、請求項８に記載の組合せ論理ユニット。
【請求項１０】
前記ユーザー・プログラマブル相互接続要素がアンチヒューズである、請求項８に記載の組合せ論理ユニット。
【請求項１１】
データ入力部、クロック入力部、及び出力部を有するデータ・フリップフロップと、
第１データ入力導体に接続された第１データ入力部、第２データ入力導体に接続された第２データ入力部、第１制御入力導体に接続された制御入力部、及び出力部を有する、第１データ・マルチプレクサと、
前記データ・フリップフロップの出力部に接続された第１データ入力部、前記第１マルチプレクサの出力部に接続された第２データ入力部、制御入力部、及び前記データ・フリップフロップのデータ入力部に接続された出力部を有する、第２データ・マルチプレクサと、
グローバル・クロック導体に接続された第１データ入力部、前記グローバル・クロック導体の上の信号の補足部に接続された第２データ入力部、クロック入力導体に接続された第３データ入力部、前記クロック入力導体の上の信号の補足部に接続された第４データ入力部、クロック選択制御入力導体に接続された第１制御入力部、クロック極性制御入力導体に接続された第２制御入力部、及び前記データ・フリップフロップの前記クロック入力部に接続された出力部を有する、クロック・マルチプレクサと、
前記データ・フリップフロップの前記出力部に接続された入力部と、出力導体に接続された出力部を有する、出力バッファと、
複数の汎用相互接続導体であって、少なくともそのいくつかが前記第１、第２、第３マルチプレクサの前記データ、クロック、及び制御入力導体に交差し、そしてユーザー・プログラマブル相互接続要素によって前記データ、クロック、及び制御入力導体に個別に選択的に接続可能な、複数の汎用相互接続導体と、
を含む、順次論理ユニット。
【請求項１２】
セット入力導体に接続されており、少なくとも前記汎用相互接続導体のいくつかに交差し、ユーザー・プログラマブル相互接続要素によって前記汎用相互接続導体のいくつかに接続可能な、セット入力部と、
リセット入力導体に接続されており、少なくとも前記汎用相互接続導体のいくつかに交差し、またユーザー・プログラマブル相互接続要素によって前記汎用相互接続導体のいくつかに接続可能な、前記リセット入力部と、
をさらに含む、請求項１１に記載の順次論理ユニット。
【請求項１３】
第１データ入力導体に接続された第１データ入力部、第２データ入力導体に接続された第２データ入力部、制御入力部、及び出力部を有する、第１マルチプレクサと、
第３データ入力導体に接続された第１データ入力部、第４データ入力導体に接続された第２データ入力部、制御入力部、及び出力部を有する、第２マルチプレクサと、
前記第１マルチプレクサの出力部に接続された第１データ入力部、前記第２マルチプレクサの出力部に接続された第２データ入力部、制御入力部、及び出力部を有する第３マルチプレクサと、
第５データ入力導体に接続された第１入力部、第６データ入力導体に接続された第２入力部、及び前記第１マルチプレクサと第２マルチプレクサの制御入力部に接続された出力部を有する、第１論理ゲートと、
第７データ入力導体に接続された第１入力部、第８データ入力導体に接続された第２入力部、及び前記第３マルチプレクサの制御入力部に接続された出力部を有する、第２論理ゲートと、
前記第３マルチプレクサの前記出力部に接続された入力部及び第１出力導体に接続された出力部を有する、第１出力バッファと、
データ入力部、クロック入力部、及び出力部を有するデータ・フリップフロップと、
前記第１出力バッファの出力部に接続された第１データ入力部、第９データ入力導体に接続された第２データ入力部、第１制御入力導体に接続された制御入力部、及び出力部を有する、第４データ・マルチプレクサと、
前記データ・フリップフロップの出力部に接続された第１データ入力部、前記第４マルチプレクサの出力部に接続された第２データ入力部、第２制御入力導体に接続された制御入力部、及び前記データ・フリップフロップのデータ入力部に接続された出力部を有する、第５データ・マルチプレクサと、
グローバル・クロック導体に接続された第１データ入力部、前記グローバル・クロック導体の上の信号の補足部に接続された第２データ入力部、クロック入力導体に接続された第３データ入力部、前記クロック入力導体の上の信号の補足部に接続された第４データ入力部、クロック選択制御入力導体に接続された第１制御入力部、クロック極性制御入力導体に接続された第２制御入力部、及び前記データ・フリップフロップの前記クロック入力部に接続された出力部を有する、クロック・マルチプレクサと、
前記データ・フリップフロップの前記出力部に接続された入力部と、第２出力導体に接続された出力部を有する、第２出力バッファと、
複数の汎用相互接続導体であって、少なくともそのいくつかが前記第１、第２、第３、第４、第５、及び前記クロック・マルチプレクサの前記データ、クロック、及び制御入力導体、及び前記第１、第２出力バッファの第１、第２出力導体に交差し、そしてユーザー・プログラマブル相互接続要素によって前記データ、クロック、及び制御入力導体に個別に選択的に接続可能な、複数の汎用相互接続導体と、
前記相互接続導体の第１導体に接続された入力部と、前記相互接続導体の第２導体に接続された出力部、を有するインバータと、
を含む、プログラマブル論理モジュール。
【請求項１４】
前記データ・フリップフロップが、
セット入力導体に接続されており、少なくとも前記汎用相互接続導体のいくつかに交差し、ユーザー・プログラマブル相互接続要素によって前記汎用相互接続導体のいくつかに接続可能な、セット入力部と、
リセット入力導体に接続されており、少なくとも前記汎用相互接続導体のいくつかに交差し、またユーザー・プログラマブル相互接続要素によって前記汎用相互接続導体のいくつかに接続可能な、リセット入力部と、
をさらに含む、請求項１３に記載のプログラマブル論理モジュール。
【請求項１５】
前記第１論理ゲートがＡＮＤゲートであり、前記第２論理ゲートがＯＲゲートである、請求項１３に記載のプログラマブル論理モジュール。
【請求項１６】
前記ユーザー・プログラマブル相互接続要素がアンチヒューズである、請求項１３に記載のプログラマブル論理モジュール。
【請求項１７】
第１データ入力導体に接続された第１データ入力部、第２データ入力導体に接続された第２データ入力部、制御入力部、及び出力部を有する、第１マルチプレクサと、
第３データ入力導体に接続された第１データ入力部、第４データ入力導体に接続された第２データ入力部、制御入力部、及び出力部を有する、第２マルチプレクサと、
前記第１マルチプレクサの出力部に接続された第１データ入力部、前記第２マルチプレクサの出力部に接続された第２データ入力部、制御入力部、及び出力部を有する第３マルチプレクサと、
第５データ入力導体に接続された第１入力部、第６データ入力導体に接続された第２入力部、及び前記第１マルチプレクサと第２マルチプレクサの制御入力部に接続された出力部を有する、第１論理ゲートと、
第７データ入力導体に接続された第１入力部、第８データ入力導体に接続された第２入力部、及び前記第３マルチプレクサの制御入力部に接続された出力部を有する、第２論理ゲートと、
前記第３マルチプレクサの前記出力部に接続された入力部及び出力部を有する、第１出力バッファと、
データ入力部、クロック入力部、及び出力部を有するデータ・フリップフロップと、
前記第１出力バッファの出力部に接続された第１データ入力部、第９データ入力導体に接続された第２データ入力部、第１制御入力導体に接続された制御入力部、及び出力部を有する、第４データ・マルチプレクサと、
前記データ・フリップフロップの出力部に接続された第１データ入力部、前記第４マルチプレクサの出力部に接続された第２データ入力部、第２制御入力導体に接続された制御入力部、及び前記データ・フリップフロップのデータ入力部に接続された出力部を有する、第５データ・マルチプレクサと、
グローバル・クロック導体に接続された第１データ入力部、前記グローバル・クロック導体の上の信号の補足部に接続された第２データ入力部、クロック入力導体に接続された第３データ入力部、前記クロック入力導体の上の信号の補足部に接続された第４データ入力部、クロック選択制御入力導体に接続された第１制御入力部、クロック極性制御入力導体に接続された第２制御入力部、及び前記データ・フリップフロップの前記クロック入力部に接続された出力部を有する、クロック・マルチプレクサと、
前記データ・フリップフロップの前記出力部に接続された入力部と、出力導体に接続された出力部を有する、第２出力バッファと、
複数の汎用相互接続導体であって、少なくともそのいくつかが前記第１、第２、第３、第４、第５、及び前記クロック・マルチプレクサの前記データ、クロック、及び制御入力導体に交差し、そしてユーザー・プログラマブル相互接続要素によって前記データ、クロック、及び制御入力導体に個別に選択的に接続可能な、複数の汎用相互接続導体と、
複数の局所相互接続導体であって、その第１導体は前記第１出力バッファの出力部に接続され、その第２導体は前記第２出力バッファの出力部に接続され、少なくともそのいくつかが前記第１、第２、第３、第４、第５、及び前記クロック・マルチプレクサの前記データ、クロック、及び制御入力導体に交差し、そしてユーザー・プログラマブル相互接続要素によって前記データ、クロック、及び制御入力導体に個別に選択的に接続可能な、複数の汎用相互接続導体と、
前記相互接続導体の第１導体に接続された入力部と、前記相互接続導体の第２導体に接続された出力部を有する、インバータと、
を含む、プログラマブル論理モジュール。
【請求項１８】
前記データ・フリップフロップが、
セット入力導体に接続されており、少なくとも前記汎用相互接続導体のいくつかに交差し、ユーザー・プログラマブル相互接続要素によって前記汎用相互接続導体のいくつかに接続可能な、セット入力部と、
リセット入力導体に接続されており、少なくとも前記汎用相互接続導体のいくつかに交差し、またユーザー・プログラマブル相互接続要素によって前記汎用相互接続導体のいくつかに接続可能な、リセット入力部と、
をさらに含む、請求項１７に記載のプログラマブル論理モジュール。
【請求項１９】
前記第１論理ゲートがＡＮＤゲートであり、前記第２論理ゲートがＯＲゲートである、請求項１７に記載のプログラマブル論理モジュール。
【請求項２０】
前記ユーザー・プログラマブル相互接続要素がアンチヒューズである、請求項１７に記載のプログラマブル論理モジュール。
【請求項２１】
第１データ入力導体に接続された第１データ入力部、第２データ入力導体に接続された第２データ入力部、制御入力部、及び出力部を有する、第１マルチプレクサと、
第３データ入力導体に接続された第１データ入力部、第４データ入力導体に接続された第２データ入力部、制御入力部、及び出力部を有する、第２マルチプレクサと、
前記第１マルチプレクサの出力部に接続された第１データ入力部、前記第２マルチプレクサの出力部に接続された第２データ入力部、制御入力部、及び出力部を有する第３マルチプレクサと、
第５データ入力導体に接続された第１入力部、第６データ入力導体に接続された第２入力部、及び前記第１マルチプレクサと第２マルチプレクサの制御入力部に接続された出力部を有する、第１論理ゲートと、
第７データ入力導体に接続された第１入力部、第８データ入力導体に接続された第２入力部、及び前記第３マルチプレクサの制御入力部に接続された出力部を有する、第２論理ゲートと、
前記第３マルチプレクサの前記出力部に接続された入力部、及び出力部を有する、第１出力バッファと、
データ入力部、クロック入力部、及び出力部を有する第１データ・フリップフロップと、
前記第１出力バッファの出力部に接続された第１データ入力部、第９データ入力導体に接続された第２データ入力部、第１制御入力導体に接続された制御入力部、及び出力部を有する、第４データ・マルチプレクサと、
前記第１データ・フリップフロップの出力部に接続された第１データ入力部、前記第４マルチプレクサの出力部に接続された第２データ入力部、第２制御入力導体に接続された制御入力部、及び前記データ・フリップフロップのデータ入力部に接続された出力部を有する、第５データ・マルチプレクサと、
グローバル・クロック導体に接続された第１データ入力部、前記グローバル・クロック導体の上の信号の補足部に接続された第２データ入力部、クロック入力導体に接続された第３データ入力部、前記クロック入力導体の上の信号の補足部に接続された第４データ入力部、クロック選択制御入力導体に接続された第１制御入力部、クロック極性制御入力導体に接続された第２制御入力部、及び前記データ・フリップフロップの前記クロック入力部に接続された出力部を有する、第１クロック・マルチプレクサと、
前記第１データ・フリップフロップの前記出力部に接続された入力部と、出力導体に接続された出力部を有する、第２出力バッファと、
データ入力部、クロック入力部、及び出力部を有する第２データ・フリップフロップと、
第１０データ入力導体に接続された第１データ入力部、第１１データ入力導体に接続された第２データ入力部、第４制御入力導体に接続された制御入力部、及び出力部を有する、第６データ・マルチプレクサと、
前記第２データ・フリップフロップの出力部に接続された第１データ入力部、前記第４マルチプレクサの出力部に接続された第２データ入力部、第５制御入力導体に接続された制御入力部、及び前記第２データ・フリップフロップのデータ入力部に接続された出力部を有する、第７データ・マルチプレクサと、
グローバル・クロック導体に接続された第１データ入力部、前記グローバル・クロック導体の上の信号の補足部に接続された第２データ入力部、クロック入力導体に接続された第３データ入力部、前記クロック入力導体の上の信号の補足部に接続された第４データ入力部、クロック選択制御入力導体に接続された第１制御入力部、クロック極性制御入力導体に接続された第２制御入力部、及び前記データ・フリップフロップの前記クロック入力部に接続された出力部を有する、第２クロック・マルチプレクサと、
第２データ・フリップフロップの前記出力部に接続された入力部、及び出力導体に接続された出力部を有する、第３出力バッファと、
複数の汎用相互接続導体であって、少なくともそのいくつかが第１から第１１までのデータ入力導体、前記第１から第６までの制御入力導体、前記第１、第２クロック・マルチプレクサ、及び第１、第２クロック制御入力・クロック制御極性入力導体の少なくともいくつかとの第１交差部を形成する、複数の汎用相互接続導体と、
複数の局所相互接続導体であって、その第１導体は前記第１出力バッファの出力部に接続され、その第２導体は前記第２出力バッファの出力部に接続され、少なくともそのいくつかが第１から第１１までのデータ入力導体、前記第１から第６までの制御入力導体、前記第１、第２クロック・マルチプレクサ、及び第１、第２クロック制御入力・クロック制御極性入力導体の少なくともいくつかとの第２交差部を形成する、複数の局所相互接続導体と、
前記相互接続導体の第１導体に接続された入力部と、前記相互接続導体の第２導体に接続された出力部を有するインバータと、
前記第１交差部と第２交差部の選択されたものの上に配置された、複数のユーザー・プログラマブル相互接続要素と、
を含む、プログラマブル論理モジュール。
【請求項２２】
前記第１及び第２データ・フリップフロップの少なくとも１つが、
セット入力導体に接続されており、少なくとも前記汎用相互接続導体のいくつかに交差し、ユーザー・プログラマブル相互接続要素によって前記汎用相互接続導体のいくつかに接続可能な、セット入力部と、
リセット入力導体に接続されており、少なくとも前記汎用相互接続導体のいくつかに交差し、またユーザー・プログラマブル相互接続要素によって前記汎用相互接続導体のいくつかに接続可能な、前記リセット入力部
をさらに含む、請求項２１に記載のプログラマブル論理モジュール。
【請求項２３】
前記第１論理ゲートがＡＮＤゲートであり、前記第２論理ゲートがＯＲゲートである、請求項２１に記載のプログラマブル論理モジュール。
【請求項２４】
前記ユーザー・プログラマブル相互接続要素がアンチヒューズである、請求項２１に記載のプログラマブル論理モジュール。
【請求項２５】
各マルチプレクサ・ランクが、入力、少なくとも１つの入力ノードに接続された少なくとも１つの制御入力および少なくとも１つの出力を有する少なくとも１つのマルチプレクサを含む、複数のマルチプレクサ・ランクを有する縦続接続マルチプレクサ・アーキテクチャと、
入力ノードに接続された前記入力を有する第１の前記マルチプレクサ・ランクの少なくとも１つのマルチプレクサと、
前記縦続接続マルチプレクサ・アーキテクチャの先行するマルチプレクサ・ランクの前記少なくとも１つのマルチプレクサの前記出力に接続された前記第１のマルチプレクサ・ランクに続く前記マルチプレクサ・ランクの前記少なくとも１つのマルチプレクサの入力と、
出力導体に接続された前記少なくとも１つの出力を有する最終の前記マルチプレクサ・ランクの少なくとも１つのマルチプレクサと、
入力ノードに接続された入力と前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な出力とを有する少なくとも１つのインバータ
とを備える組み合わせ論理ユニット。
【請求項２６】
前記出力導体に接続された出力バッファをさらに含む請求項２５に記載の組み合わせ論理ユニット。
【請求項２７】
前記ユーザ・プログラマブル相互接続要素がアンチヒューズである請求項２５に記載の組み合わせ論理ユニット。
【請求項２８】
入力ノードに接続された入力、出力導体に接続された出力および前記最終マルチプレクサ・ランクの前記出力に接続された制御入力を有する出力マルチプレクサをさらに含む請求項２５に記載の組み合わせ論理ユニット。
【請求項２９】
前記出力導体に接続された出力バッファをさらに含む請求項２８に記載の組み合わせ論理ユニット。
【請求項３０】
入力ノードに接続された複数の入力および少なくとも１つのマルチプレクサ・ランクの前記マルチプレクサが持つ前記少なくとも１つの制御入力に接続された出力を有する論理ゲートをさらに含む請求項２５に記載の組み合わせ論理ユニット。
【請求項３１】
入力ノードに接続された複数の制御マルチプレクサ入力、入力ノードに接続された制御入力および少なくとも１つのマルチプレクサ・ランクの前記マルチプレクサが持つ前記少なくとも１つの制御入力に接続された出力を有する制御マルチプレクサをさらに含む請求項２５に記載の組み合わせ論理ユニット。
【請求項３２】
前記少なくとも１つの制御マルチプレクサ入力が極性反転されている請求項３１に記載の組み合わせ論理ユニット。
【請求項３３】
前記第１のマルチプレクサ・ランクに続く前記マルチプレクサ・ランクの前記少なくとも１つのマルチプレクサの前記入力が前記縦続接続マルチプレクサ・アーキテクチャの隣接して先行するマルチプレクサ・ランクの前記少なくとも１つのマルチプレクサの前記出力に接続される請求項２５に記載の組み合わせ論理ユニット。
【請求項３４】
前記第１マルチプレクサ・ランクに続く前記マルチプレクサ・ランクの前記少なくとも１つのマルチプレクサの前記入力が前記入力ノードに接続される請求項２５に記載の組み合わせ論理ユニット。
【請求項３５】
各マルチプレクサが、複数の入力、少なくとも１つの入力ノードに接続された少なくとも１つの制御入力および出力を有する、マルチプレクサの完全に順序付けられたＮ次のランクと  、
入力ノードに接続された第１のランクの前記マルチプレクサの入力と、
高位に完全に順序付けられたランクが持つ前記マルチプレクサの前記入力に接続されたＮ−１までの各ランクの前記マルチプレクサの前記出力と、
出力導体に接続された第Ｎランクの少なくとも１つのマルチプレクサの少なくとも１つの出力と、
各インバータが入力ノードに接続された入力と前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な出力とを有する少なくとも１つのインバータ
とを備える組み合わせ論理ユニット。
【請求項３６】
前記出力導体に接続された出力バッファをさらに含む請求項３５に記載の組み合わせ論理ユニット。
【請求項３７】
前記ユーザ・プログラマブル相互接続要素がアンチヒューズである請求項３５に記載の組み合わせ論理ユニット
【請求項３８】
入力ノードに接続された入力、出力導体に接続された出力および前記Ｎ次マルチプレクサ・ランクの前記入力に接続された制御入力を有する出力マルチプレクサをさらに含む請求項３５に記載の組み合わせ論理ユニット。
【請求項３９】
前記出力導体に接続された出力バッファをさらに含む請求項３８に記載の組み合わせ論理ユニット。
【請求項４０】
入力ノードに接続された複数の入力および少なくとも１つのマルチプレクサ・ランクの前記マルチプレクサが持つ前記少なくとも１つの制御入力に接続された出力を有する論理ゲートをさらに含む請求項３５に記載の組み合わせ論理ユニット。
【請求項４１】
入力ノードに接続された複数の制御マルチプレクサ入力、入力ノードに接続された制御入力および少なくとも１つのマルチプレクサ・ランクの前記マルチプレクサが持つ前記少なくとも１つの制御入力に接続された出力を有する制御マルチプレクサをさらに含む請求項３５に記載の組み合わせ論理ユニット。
【請求項４２】
少なくとも１つの前記制御マルチプレクサ入力が極性反転されている請求項４１に記載の組み合わせ論理ユニット。
【請求項４３】
Ｎ−１までの各ランクの前記マルチプレクサの前記出力が隣接して高位に完全に順序付けられたランクが持つ前記マルチプレクサの前記入力に接続される請求項３５に記載の組み合わせ論理ユニット。
【請求項４４】
前記第１のマルチプレクサ・ランクに続く前記マルチプレクサ・ランクの前記少なくとも１つのマルチプレクサの前記入力が前記入力ノードに接続される請求項３５に記載の組み合わせ論理ユニット。
【請求項４５】
入力ノードに接続された複数の入力、入力ノードに接続された少なくとも１つの制御入力および出力導体に接続された出力を有するマルチプレクサと、
相互接続導体に接続された入力および前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な出力を有するインバータ
とを備える組み合わせ論理ユニット。
【請求項４６】
前記ユーザ・プログラマブル相互接続要素がアンチヒューズである請求項４５に記載の組み合わせ論理ユニット。
【請求項４７】
前記出力導体に接続された出力バッファをさらに含む請求項４５に記載の組み合わせ論理ユニット。
【請求項４８】
入力ノードに接続された複数の入力および少なくとも１つの制御入力に接続された出力を有する論理ゲートをさらに含む請求項４５に記載の組み合わせ論理ユニット。
【請求項４９】
第１の入力ノードに接続された第１の入力、第２の入力ノードに接続された第２の入力、第３の入力ノードに接続された制御入力および出力導体に接続された出力を有するマルチプレクサと、
相互接続導体に接続された入力と前記マルチプレクサの入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な出力とを有するインバータ
とを備える組み合わせ論理ユニット。
【請求項５０】
前記ユーザ・プログラマブル相互接続要素がアンチヒューズである請求項４９に記載の組み合わせ論理ユニット。
【請求項５１】
前記出力導体に接続された出力バッファをさらに含む請求項４９に記載の組み合わせ論理ユニット。
【請求項５２】
第１の入力ノードに接続された第１の入力、第２の入力ノードに接続された第２の入力、第３の入力ノードに接続された制御入力および出力を有する第１のマルチプレクサと、
第４の入力ノードに接続された第１の入力、第５の入力ノードに接続された第２の入力、前記第３の入力ノードに接続された制御入力および出力を有する第２のマルチプレクサと、
前記第１のマルチプレクサの出力に接続された第１の入力、前記第２のマルチプレクサの出力に接続された第２の入力、第６の入力ノードに接続された制御入力および出力導体に接続された出力を有する第３のマルチプレクサと、
入力ノードに接続された入力と前記第１と第２のマルチプレクサが持つ前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な出力とを有するインバータ
とを備える組み合わせ論理ユニット。
【請求項５３】
前記ユーザ・プログラマブル相互接続要素がアンチヒューズである請求項５２に記載の組み合わせ論理ユニット。
【請求項５４】
前記出力導体に接続された出力バッファをさらに含む請求項５２に記載の組み合わせ論理ユニット。
【請求項５５】
第７の入力ノードに接続された第１の入力、第８の入力ノードに接続された第２の入力および前記第３の入力ノードに接続された出力を有する論理ゲートをさらに含む請求項５２に記載の組み合わせ論理ユニット。
【請求項５６】
第７の入力ノードに接続された第１の入力、第８の入力ノードに接続された第２の入力および前記第６の入力ノードに接続された出力を有する論理ゲートをさらに含む請求項５２に記載の組み合わせ論理ユニット。
【請求項５７】
第１の入力ノードに接続された第１の入力、第２の入力ノードに接続された第２の入力、制御入力および出力を有する第１のマルチプレクサと、
第３の入力ノードに接続された第１の入力、第４の入力ノードに接続された第２の入力、制御入力および出力を有する第２のマルチプレクサと、
前記第１のマルチプレクサの出力に接続された第１の入力、前記第２のマルチプレクサの出力に接続された第２の入力、制御入力および出力導体に接続された出力を有する第３のマルチプレクサと、
第５の入力ノードに接続された入力と第６の入力ノードに接続された極性反転入力、第７の入力ノードに接続された制御入力および前記第１と第２のマルチプレクサの前記制御入力に接続された出力を有する第１の制御マルチプレクサと、
第８の入力ノードに接続された入力と第９の入力ノードに接続された極性反転入力、第１０の入力ノードに接続された制御入力および前記第３のマルチプレクサの前記制御入力に接続された出力を有する第２の制御マルチプレクサ
とを備える組み合わせ論理ユニット。
【請求項５８】
前記出力導体に接続された出力バッファをさらに含む請求項５７に記載の組み合わせ論理ユニット。
【請求項５９】
第１の入力ノードに接続された第１の入力、第２の入力ノードに接続された第２の入力、第３の入力ノードに接続された制御入力および出力を有する第１のマルチプレクサと、
第４の入力ノードに接続された第１の入力、第５の入力ノードに接続された第２の入力、前記第３の入力ノードに接続された制御入力および出力を有する第２のマルチプレクサと、
第６の入力ノードに接続された第１の入力、第７の入力ノードに接続された第２の入力、前記第３の入力ノードに接続された制御入力および出力を有する第３のマルチプレクサと、
第８の入力ノードに接続された第１の入力、第９の入力ノードに接続された第２の入力、前記第３の入力ノードに接続された制御入力および出力を有する第４のマルチプレクサと、
前記第１のマルチプレクサの出力に接続された第１の入力、前記第２のマルチプレクサの出力に接続された第２の入力、第１０の入力ノードに接続された制御入力および出力を有する第５のマルチプレクサと、
前記第３のマルチプレクサの出力に接続された第１の入力、前記第４のマルチプレクサの出力に接続された第２の入力、前記第１０の入力ノードに接続された制御入力および出力を有する第６のマルチプレクサと、
前記第５のマルチプレクサの出力に接続された第１の入力、前記第６のマルチプレクサの出力に接続された第２の入力、第１１の入力ノードに接続された制御入力および出力導体に接続された出力を有する第７のマルチプレクサと、
前記第１、第２、第３及び第４のマルチプレクサの前記入力ノードと交差し、前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な複数の相互接続導体と、
前記相互接続導体の１つに接続された入力および前記第１、第２、第３及び第４マルチプレクサの前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な出力を有するインバータ
とを備える組み合わせ論理ユニット。
【請求項６０】
前記ユーザ・プログラマブル相互接続要素がアンチヒューズである請求項５９に記載の組み合わせ論理ユニット。
【請求項６１】
前記出力導体に接続された出力バッファをさらに含む請求項５９に記載の組み合わせ論理ユニット。
【請求項６２】
第１２の入力ノードに接続された第１の入力、第１３の入力ノードに接続された第２の入力および前記第１０の入力ノードに接続された出力を有する論理ゲートをさらに含む請求項５９に記載の組み合わせ論理ユニット。
【請求項６３】
第１２の入力ノードに接続された第１の入力、第１３の入力ノードに接続された第２の入力および前記第１１の入力ノードに接続された出力を有する論理ゲートをさらに含む請求項５９に記載の組み合わせ論理ユニット。
【請求項６４】
第１の入力ノードに接続された第１の入力、第２の入力ノードに接続された第２の入力、第３の入力ノードに接続された制御入力および出力を有する第１のマルチプレクサと、
第４の入力ノードに接続された第１の入力、第５の入力ノードに接続された第２の入力、前記第３の入力ノードに接続された制御入力および出力を有する第２のマルチプレクサと、
第６の入力ノードに接続された第１の入力、第７の入力ノードに接続された第２の入力、前記第３の入力ノードに接続された制御入力および出力を有する第３のマルチプレクサと、
第８の入力ノードに接続された第１の入力、第９の入力ノードに接続された第２の入力、前記第３の入力ノードに接続された制御入力および出力を有する第４のマルチプレクサと、
前記第１のマルチプレクサの出力に接続された第１の入力、前記第２のマルチプレクサの出力に接続された第２の入力、第１０の入力ノードに接続された制御入力および出力を有する第５のマルチプレクサと、
前記第３のマルチプレクサの出力に接続された第１の入力、前記第４のマルチプレクサの出力に接続された第２の入力、前記第１０の入力ノードに接続された制御入力および出力を有する第６のマルチプレクサと、
前記第５のマルチプレクサの出力に接続された第１の入力、前記第６のマルチプレクサの出力に接続された第２の入力、第１１の入力ノードに接続された制御入力および出力を有する第７のマルチプレクサと、
第１２の入力ノードに接続された第１の入力、第１３の入力ノードに接続された第２の入力、前記第７のマルチプレクサの出力に接続された制御入力および出力導体に接続された出力を有する第８のマルチプレクサと、
前記第１、第２、第３、第４及び第８のマルチプレクサの前記入力ノードと交差し、前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な複数の相互接続導体と、
前記相互接続導体の１つに接続された入力と前記第１、第２、第３および第４マルチプレクサの前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な出力とを有する第１のインバータと、
前記相互接続導体の１つに接続された入力と前記第１、第２、第３および第４マルチプレクサの前記入力ノードの夫々にユーザ・プログラマブル相互接続要素によって選択的に接続可能な出力とを有する第２のインバータ
とを備える組み合わせ論理ユニット。
【請求項６５】
前記ユーザ・プログラマブル相互接続要素がアンチヒューズである請求項６４に記載の組み合わせ論理ユニット。
【請求項６６】
前記出力導体に接続された出力バッファをさらに含む請求項６４に記載の組み合わせ論理ユニット。
【請求項６７】
第１４の入力ノードに接続された第１の入力、第１５の入力ノードに接続された第２の入力および前記第１０の入力ノードに接続された出力を有する論理ゲートをさらに含む請求項６４に記載の組み合わせ論理ユニット。
【請求項６８】
第１４の入力ノードに接続された第１の入力、第１５の入力ノードに接続された第２の入力および前記第１１の入力ノードに接続された出力を有する論理ゲートをさらに含む請求項６４に記載の組み合わせ論理ユニット。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、プログラマブル集積回路に関する。さらに詳しくは、本発明は、フィールド・プログラマブルゲート配列集積回路などの集積回路で使用するための、プログラマブル論理モジュールとアーキテクチャに関する。
本願は、１９９２年４月１５日付けの米国出願（出願番号０７／８６９，４８８、米国特許第５，１８７，３９３号）の１９９３年１月１３日付けの継続出願（出願番号０８／００２，８７３、審査継続中）の部分継続出願に対応する。上記１９９２年４月１５日付けの米国出願は、１９８９年２月１０日付けの米国出願（出願番号０７／３０９，３０６、米国特許第５，０１５，８８５号）の１９９１年１月１５日付の分割出願（出願番号０７／６２１，４５２、米国特許第５，１７２，０１４号）の継続出願である。上記１９８９年２月１０日付けの米国出願は、１９８６年９月１９日付けの米国出願（出願番号０６／９０９，２６１、米国特許第４，７５８，７４５号）の部分継続出願である。
【０００２】
【従来の技術】
ユーザー・プログラマブル相互接続技術の最近の進歩は、ユーザーが特注して幅広い様々な組合せ論理機能及び順次論理機能を実施できるフィールド・プログラマブルゲートアレイ（ＦＰＧＡ）集積回路の開発につながった。この形式の集積回路については多くの構成が知られている。このような構成の例は、フリーマンの米国特許第４８７０３０２号、エル・ガマル他の同第４７５８７４５号、及びマッカラム他の同第５１３２５７１号に開示されている。特定のＦＰＧＡ集積回路に採用されている構成は、集積回路の上に配置された種々の回路要素の間で行われる可能な相互接続の豊富さと密度を確定することになり、したがってその有用性に大きな効果をもたらすことができる。
【０００３】
ユーザーが選択できる複数の論理機能の選択可能な１つを実行することのできるプログラマブル論理ブロックは、従来の技術において周知であり、上述の構成のようなＦＰＧＡ構成において採用されている。本発明と同じ譲受人に譲受されたエル・ガマル他の米国特許第４９１０４１７号、ガルブレス他の米国特許第５０５５７１８号と同第５１９８７０５号、及びル・キャン他の米国特許第４４５３０９６号は、複数の組合せ機能を実施することのできるマルチプレクサから成る論理モジュールを開示している。ホイッタッカーの米国特許第４５４１０６７号は、パス・トランジスタのいろいろな組合せを用いて種々の論理機能を実行する方法を開示している。
【０００４】
【発明が解決しようとする課題】
これらの回路は、ユーザー・プログラマブル論理配列の設計者に一定の柔軟度をもたらす一方で、このような回路の機能性を改善する必要性が常に存在する。
【０００５】
本発明は、ＦＰＧＡ構成に関し、さらに詳しくは、プログラマブル論理モジュールと呼ばれることもある機能回路モジュールを含むＦＰＧＡ集積回路のコアアーキテクチャと、プログラマブル論理モジュールの機能並びにこれらの間の相互接続を確定するために使用される相互接続構成に関する。
【０００６】
【課題を解決するための手段】
本発明によるユーザー・プログラマブルゲートアレイアーキテクチャは、１つまたは複数の組合せ論理回路または順次論理回路もしくはその両方を含む、論理機能モジュールのアレイを含む。複数の水平汎用相互接続チャネルと垂直汎用相互接続チャネルから成る相互接続構成が、アレイの上に組み付けられており、ここで各チャネルは複数の相互接続導体を含み、導体のいくつかは区分されていてもよい。個々の相互接続導体は互いに接続可能であり、そしてユーザー・プログラマブル相互接続要素によって論理機能モジュールの入力部と出力部に接続可能である。局所相互接続チャネルを含む局所相互接続構成も、アレイの上に組み付けられる。各局所相互接続チャネルは複数の局所相互接続導体を含み、論理機能モジュール中の２つまたはそれ以上の隣接する同モジュール間を接続する。
【０００７】
本発明の好ましい実施例によるプログラマブル論理モジュールは、３つの機能ユニットを含む。これら３つの機能ユニットの各々は、少なくとも組合せユニットと順次ユニットの中から選択されてもよい。
【０００８】
好ましい実施例によれば、プログラマブル論理モジュールのための組合せユニットは３つのマルチプレクサを含んでもよい。第１二入力マルチプレクサは、第１データ入力ノードに接続された第１データ入力部、第２データ入力ノードに接続された第２データ入力部、第１ゲートの出力部に接続された制御入力部、及び出力部を有する。第１ゲートは、第１制御入力ノードに接続された第１入力部と、第２制御入力ノードに接続された第２入力部とを有する。第２二入力マルチプレクサは、第３データ入力ノードに接続された第１データ入力部、第４データ入力ノードに接続された第２データ入力部、第１ゲートの出力部に接続された制御入力部、及び出力部を有する。複数の相互接続導体が第１データ入力ノードから第４データ入力ノードまでと交差し、各交差部に１つのユーザー・プログラマブル相互接続要素が配置されて、相互接続導体の選択されたものと第１から第４までのデータ入力ノードの選択されたものとの間にプログラマブル接続部が作られるようにすることが好ましい。複数の相互接続導体の１つは相互接続導体の他の１つに、インバータを通じて接続されている。
【０００９】
第３二入力マルチプレクサは、第１マルチプレクサの出力部に接続された第１データ入力部、第２マルチプレクサの出力部に接続された第２データ入力部、第２ゲートの出力部に接続された制御入力部、及び出力部を有する。この出力部はバッファ機構付きであることが好ましい。第２ゲートは、第３制御入力ノードに接続された第１入力部と、第４制御入力ノードに接続された第２入力部を有する。
【００１０】
本発明の現在好ましい実施例によれば、順次ユニットは３つのマルチプレクサと１つのＤフリップフロップを含むが、他の順次論理回路も使用可能となる。第１二入力マルチプレクサは、第１データ入力ノードに接続された第１データ入力部、第２データ入力ノードに接続された第２データ入力部、第１制御ノードに接続された制御入力部、及び出力部を有する。第２二入力マルチプレクサは、第１マルチプレクサの出力部に接続された第１データ入力部、Ｄフリップフロップの出力部に接続された第２データ入力部、第２制御ノードに接続された制御入力部、及びＤフリップフロップのＤ入力部に接続された出力部を有する。第１四入力マルチプレクサは、第１クロック入力ノードに接続された第１データ入力部、第１データ入力ノード上の信号補体に接続された第２データ入力部、第２クロック入力ノードに接続された第３データ入力部、第２クロック入力ノード上の信号補体に接続された第４データ入力部、クロック選択ノードに接続された第１制御入力部とクロック極性選択ノードに接続された第２制御入力部、及びＤフリップフロップのクロック入力部に接続された出力部を有する。
【００１１】
上記のように、３つの機能ユニットを論理モジュールに組み合わせることが好ましい。これら３つのユニットは同じにしてもよく、すなわち論理モジュールは、３つの組合せユニットまたは３つの順次ユニットを含んでもよく、または混合されてもよく、すなわち論理モジュールは、１つの混合ユニットと２つの順次ユニットを含んでもよい。組合せユニットと順次ユニットの混合物を含む論理モジュールでは、組合せユニットの事前バッファ機構付き出力部を、順次ユニットの第１マルチプレクサの入力部の１つに、内部的に接続することが有利である。
【００１２】
本発明による論理モジュール構成では、上述のような２つまたはそれ以上の論理モジュールを、上述のような複数の局所相互接続導体と組み合わせてもよい。本発明の現在好ましい実施例によれば、局所相互接続導体は一対の論理モジュールに付随している。この論理モジュールの対を含む６つの機能ユニットの出力部は、局所相互接続導体のそれぞれに個々に結線されている。
【００１３】
２つの論理モジュールを含む６つの機能ユニットの選択された入力部を、プログラムによって局所相互接続導体に接続することができる。組合せユニットのマルチプレクサの入力ノードに交差する相互接続導体も、局所相互接続導体と交差する。ユーザー・プログラマブル相互接続要素は、相互接続導体と局所相互接続導体との交差部に配置されて、これらの導体の間で選択プログラマブル相互接続ができるようにする。
【００１４】
さらに、組合せユニットにおける第１ゲートと第２ゲートの少なくとも１つの入力部の少なくとも１つが、局所相互接続導体と交差し、ユーザー・プログラマブル相互接続要素によって個々の局所相互接続導体にプログラムにより接続される。
【００１５】
本発明の実施例においては、本発明による論理モジュール対のアレイは、集積回路の上に配置されている。相互接続導体の構成は論理モジュールの上に重ね合わせられている。本発明の好ましい実施例によれば、汎用相互接続導体のグループが論理モジュールの近くで水平と垂直の両方向に伸びている。従来の技術で知られているように、これらの汎用相互接続導体をユーザー・プログラマブル相互接続要素によってセグメント化してもよい。ユーザー・プログラマブル相互接続要素を、水平汎用相互接続導体と垂直汎用相互接続導体との選択された交差部に、また垂直汎用相互接続導体と局所相互接続導体との交差部に配置してもよい。汎用相互接続導体はプログラムによって、論理モジュールにおける機能ユニットのデータ入力ノード、制御入力ノード、及び出力ノードに接続される。
【００１６】
【実施例】
本発明に関する下記の説明は例示のためのみであって、決して限定されるものでないことは、当業者には理解できよう。また当業者には本発明の他の実施例も容易に考えられるであろう。
【００１７】
先ず図１を見ると、本発明によるＦＰＧＡコアアーキテクチャ１０の簡略化されたブロック図が示されている。ここで使用されている用語「コアアーキテクチャ」とは、相互接続導体とユーザー・プログラマブル相互接続要素を含む相互接続構成のオーバーレイを有するマトリクスの中の配置された複数の論理機能回路すなわち論理機能モジュール（参照番号１２−１から１２−１２まで）を含む、ＦＰＧＡ配列のコアの構成を指す。論理機能モジュール（１２−１から１２−１２まで）は、種々の回路のすべて、組合せ論理か順次論理かこれらの組合せのいずれかを含むことができ、本発明の実施例に関してここでさらに詳しく開示するように、同一である必要はない。
【００１８】
図１に示すように、論理機能モジュール（１２−１から１２−１２まで）は相互接続導体のネットワークに配置されている。図が複雑になり過ぎて理解し難くなるのを避けるために、相互接続導体のネットワークが簡略化された概要図の形で示されていることは、当業者には理解できよう。さらに、図面は論理機能回路間を接続する相互接続導体を示しているが、アーキテクチャは、相互接続導体が論理機能回路の間ではなく実際には論理機能回路上に直接に走る、「ゲートの海」形式のアーキテクチャにすることもできる。相互接続導体は、論理機能回路を構成する層の上に配置された層の中に金属線を含む。
【００１９】
このような「ゲートの海」構成は当技術分野においては周知であり、マッカラム他の同第５１３２５７１号に例証されており、相互接続導体が論理機能回路の間のみを接続している構成よりも密なアレイの製造を可能にする。このような「ゲートの海」配置は好ましく、当業者には、本発明の原理が、上記の構成、並びに論理機能回路の上と間の両方に直接相互接続導体を有するハイブリッドアーキテクチャの両方に、同等に適用されることが認識されよう。
【００２０】
図１は、相互接続導体の水平チャネルと垂直チャネルを複数個含む相互接続構成を示す。簡単にするために、水平チャネルを参照番号１４−１、１４−２、１４−３、及び１４−４で確定される単線で示し、垂直チャネルを参照番号１６−１、１６−２、１６−３、及び１６−４で確定される単線で示す。当業者には、各チャネルが複数の個別相互接続導体を含み、個別相互接続導体にはセグメント化されているものもあり、またアレイの長さ（または幅）にわたって伸びるものもあることは、理解されよう。本発明を実現する実際の集積回路の各チャネルに存在する相互接続導体の個数は、アレイの規模や密度などの要素の基づいて個別の設計選択によって指示されることになる。
【００２１】
相互接続導体のセグメント化は周知であり、エル・ガマル他の米国特許第４７５８７４５号及びグリーン他の同第５０７３７２９号などの従来技術の特許に例証されており、したがって図面を過度に複雑化しないように図１には示されていない。当業者には理解されるように、多くの利用可能なセグメント化計画を本発明のアーキテクチャに採用することができる。セグメント化された相互接続導体が選択的に連結されて、選択された導体の間に、ユーザー・プログラマブル相互接続要素をプログラミングすることによって、より長い導体を作ることができることは、当業者には理解されよう。
【００２２】
相互接続選択の高い可能性をもたらすために、個別導体の水平及び垂直相互接続チャネルの選択されたものの交差部は、ユーザー・プログラマブル相互接続要素によって占められ、この要素はユーザによってプログラミングされて選択された導体の間を電気的に接続し、論理機能回路の入力部と出力部との間で接続ネットを実行する。水平相互接続チャネルと垂直相互接続チャネルの交差部におけるこのようなユーザー・プログラマブル相互接続要素のグループを、図１に１８−１から１８−１６までの正方形で略図的に示す。論理機能回路の入力部と出力部はまた、正方形２０によって略図的に示されているように、個別の入力部と出力部及びチャネル内の相互接続導体の選択されたものとの交差部に配置されたユーザー・プログラマブル相互接続要素によって、チャネル内の相互接続導体の選択されたものに接続可能である。
【００２３】
本発明の構成に採用できる多くの入手可能なユーザー・プログラマブル相互接続技術が存在する。これらは、アンチヒューズなどの要素とパス・トランジスタなどの能動装置を含む。これらの装置、その実現、及びこれらをプログラミングするために必要な回路は、当業者には周知である。これら周知の装置の詳細は、本発明の開示内容を過度に複雑化して性質を不明瞭にすることを避けるために、ここでは述べない。便宜上、本発明の開示は、例示的なユーザー・プログラマブル相互接続要素としてアンチヒューズを採用するが、本発明がこれに限定されるものではなく、パス・トランジスタ、及びアンチヒューズのユーザー・プログラマブル要素等価品である他の既知の装置を含めることも企図していることは、当業者には理解されよう。
【００２４】
本発明の重要な特徴は、マトリクス内の論理機能の隣接する対の間を伸びるように示された「局所相互接続」チャネルのネットワークである。図１には、これらの局所相互接続チャネルが１２−１と１２−２の間、１２−３と１２−４の間、１２−５と１２−６の間、１２−７と１２−８の間、１２−９と１２−１０の間、１２−１１と１２−１２の間を伸びるように示され、参照番号２２−１から２２−６までによって示されている。ここでさらに詳しく開示するように、局所相互接続チャネルは、隣接する論理機能回路の間に強化された相互接続能力をもたらす。局所相互接続チャネルが複数対の隣接論理モジュールを接続することがあるのは、当業者には理解されよう。限定されない例として、局所相互接続チャネル２２−１は、汎用相互接続チャネルとともに使用されて、図２Ａからさらに明らかにわかるように、論理モジュール１２−５と１２−６への接続を行うこともできる。
【００２５】
本発明の現在好ましい実施例によれば、個別の局所相互接続導体の選択されたものが、チャネルの交差部に置かれたユーザー・プログラマブル相互接続要素によって、チャネル内の相互接続導体の選択されたものに接続可能である。これらのユーザー・プログラマブル相互接続要素のネットワークを、図１に正方形２４として略図的に示す。
【００２６】
ＦＰＧＡ１０のコアアーキテクチャは、複数の入出力（Ｉ／Ｏ）モジュールによってオフ・チップと交信する。例示されたＩ／Ｏモジュール２６−１、２６−２、２６−３、２６−４は、Ｉ／Ｏパッド２８−１、２８−２、２８−３、２８−４のそれぞれと、水平相互接続チャネル１４−２、１４−３、垂直相互接続チャネル１６−２、１６−３のそれぞれとの間に結合されて示されている。当業者には理解されるように、Ｉ／Ｏモジュール２６−１、２６−２、２６−３、２６−４は各々が、入力バッファ、出力バッファ、及び入出力機能選択回路を含む。特定のＩ／Ｏモジュール回路の設計は単に設計選択の問題であり、当業者の間ではうまくいっている。このような回路の周知の事例を米国特許第５０８３０８３号に見ることができる。
【００２７】
本発明のＦＰＧＡ１０のプログラミングは、プログラム・テスト制御回路３０によって制御される。プログラム・テスト制御回路３０は、Ｉ／Ｏパッド３２、３４、３６を介してオフ・チップからプログラミング・データと制御信号を受け取るために必要な回路を含む。本発明の実行に必要な上記のＩ／Ｏパッドの数は、設計の選択と要件に従って変わることは当業者には認識されよう。データと制御信号を使用し、集積回路におけるユーザー・プログラマブル相互接続要素の選択されたものをプログラミングし、論理機能モジュール（１２−１から１２−１２まで）とＩ／Ｏモジュール（２６−１から２６−４まで）の回路機能、及びこれらの間の回路接続パスを定義する。当技術分野では周知のように、プログラム・テスト制御回路３０はまた、論理機能モジュール（１２−１から１２−１２まで）にテスト・データを提供し、そして同モジュールからテスト・データを取得するためにも使用できる。このような回路を使用するテストの事例を米国特許第４７５８７４５号と同第５０８３０８３号に見ることができる。
【００２８】
すでに開示されたように、本発明で使用される個々の論理モジュール回路は、組合せ論理ユニット、順次論理ユニット、または１種類か２種類の論理ユニットコードの組合せを含むことがある。図２Ａの概略ブロック図を見ると、プログラマブル論理モジュールのための組合せユニット４０の現在好ましい実施例では、３つの二入力マルチプレクサ４２、４４、４６を含む。第１二入力マルチプレクサ４２は、第１データ入力ノード４８に接続された第１データ入力部、第２データ入力ノード５０に接続された第２データ入力部、第１ゲート５２の出力部に接続された制御入力部、及び出力部５４を有する。第１ゲート５２は、第１制御入力ノード５６に接続された第１入力部と第２制御入力ノード５８に接続された第２入力部を有する。第２二入力マルチプレクサ４４は、第３データ入力ノード６０に接続された第１データ入力部、第４データ入力ノード６２に接続された第２データ入力部、第１ゲート５２の出力部に接続された制御入力部、及び出力部６６を有する。第３二入力マルチプレクサ４６は、第１マルチプレクサ４２の出力部５４に接続された第１データ入力部、第２マルチプレクサ４４の出力部６６に接続された第２データ入力部、第２ゲート６８の出力部に接続された制御入力部、及び出力部７０を有する。第２ゲート６８は、第３制御入力ノード７２に接続された第１入力部と第４制御入力ノード７４に接続された第２入力部を有する。出力バッファ７６が第３マルチプレクサ４６の出力部７０に接続されている。第１ゲート５２と第２ゲート６８はそれぞれＡＮＤゲートとＯＲゲートとして示されているが、他のゲートの組合せも可能であることは、当業者には認識されよう。
【００２９】
複数の相互接続導体７８、８０、８２、８４、８６が、第１から第４までのデータ入力ノード４８、５０、６０、６２と交差し、ユーザー・プログラマブル相互接続要素（図面では中空円として示されている）は各交差部に配置されて、プログラマブル接続部が相互接続導体の選択されたものと第１から第４までのデータ入力ノードの選択されたものとの間に作られるようになることが好ましい。ユーザー・プログラマブル相互接続要素の選択されたものが参照番号８８ａ−８８ｄによって示されており、後で図２Ｂを参照して検討する。
【００３０】
複数の相互接続導体８６の１つが、インバータ９０を通じて相互接続導体８４の他の１つに接続されている。当業者には理解されるように、インバータ９０の存在は、入力項の１つを逆転できるようにすることによって、論理機能モジュール回路の融通性を増す一助となる。この融通性は、相互接続導体８６を延長して同じ機能ユニット内の他の機能ユニット入力部を横断することによって、またはこの導体を局部相互接続チャネルの一部分として、他の機能ユニットへの接続を可能することによって、さらに増加されよう。インバータ９０の出力部も、追加のアンチヒューズを通じてゲート５２と６８の入力部のいずれかに接続することができる。
【００３１】
図２Ａからもわかるように、相互接続導体７８、８０、８２、８４は、上部汎用相互接続チャネルにおける水平相互接続導体９２、９４、９６、９８と下部汎用相互接続チャネルにおける水平相互接続導体１００、１０２、１０４、１０６を交差している。第１ゲート５２と第２ゲート６８の制御入力ノード５６、５８、７２、７４も、水平相互接続導体９２、９４、９６、９８、１００、１０２、１０４、１０６を横切る。他のユーザー・プログラマブル相互接続要素がこれらの導体の交差部に配置され、当技術分野で周知のようにプログラム化されて選択的に接続を行う。
【００３２】
図２Ａに示す特定の配置は単に例示であり、ユーザー・プログラマブル相互接続要素によって導体交差部を占めるための別の個数の相互接続導体や他の計画を用いる他の配置も可能であることは、当業者には認識されよう。
【００３３】
図２Ａに示すプログラマブル論理モジュールのための組合せユニット４０は、広範囲の組合せ論理機能を実施できるコンパクトで柔軟な回路である。ここで図２Ｂを参照すると、図２Ａの組合せ論理機能モジュール・ブロックの出力状態を、その入力の状態の機能として、このユニットを用いて可能な利用できる組合せ機能の小さなサンプリングのために示す表が示されている。当業者は、容易に残りの可能な機能を決定することができよう。当業者にはまた、これらの機能のいくつかについて複数の実行が可能なことを容易に理解されよう。図２Ｂの表では、Ａ０とＢ０はＡＮＤゲート５２の第１制御入力部５６と第２制御入力部５８を示し、Ａ１とＢ１はＯＲゲート６８の第１制御入力部７２と第２制御入力部７４を示す。入力線Ｌ０、Ｌ１、Ｌ２、Ｌ３は、それぞれ相互接続導体７８、８０、８２、８４を示す。入力部Ｄ０、Ｄ１、Ｄ２、Ｄ３はそれぞれ、第１マルチプレクサ４２と第２マルチプレクサ４４のデータ入力ノード４８、５０、６０、６２を示す。最後に、「内部」の下の項目における表示！Ｌ３は、相互接続導体８６上のインバータ９０の出力部を示す。Ｌ０、Ｌ１、Ｌ２、Ｌ３の下の項目をＤ０、Ｄ１、Ｄ２、Ｄ３の下の項目とともに読むことによって、当業者は、所望の論理機能を実行するために、どのユーザー・プログラマブル相互接続要素をプログラミングすべきかを容易に決定することができる。
【００３４】
図２Ｂにおける項目は直接的なものである。一例として、図２Ａに示すプログラマブル論理モジュールを四入力ＡＮＤゲートとしてコンフィギュレートするためには、次のような接続を行う。入力項ａ、ｂは、ＡＮＤゲート５２の線上の第１入力部５６と第２入力部５８に与えられる。入力項ｃは、ＯＲゲート６８の入力部７２の１つに与えられ、論理０はＯＲゲート６８の他の入力部７４に与えられる。論理０にレベルは相互接続導体７８、８０、８２に与えられ、入力項ｄは相互接続導体８４に与えられる。
【００３５】
図２Ｂの表の第１行における項目を調べると、Ｄ０（第１マルチプレクサ４２の第１入力部への第１データ入力ノード４８）が相互接続導体７８に接続されていることがわかる。これは、相互接続導体７８と第１データ入力ノード４８との交差部におけるユーザー・プログラマブル相互接続要素８８ａをプログラミングすることによって達成できる。同様に、Ｄ１（第１マルチプレクサ４２の第２入力部への第２データ入力ノード５０）が相互接続導体８０に接続されている。これは、相互接続導体８０と第２データ入力ノード５０との交差部におけるユーザー・プログラマブル相互接続要素８８ｂをプログラミングすることによって達成できる。同様に、Ｄ２（第２マルチプレクサ４４の第１入力部への第３データ入力ノード６０）が相互接続導体８２に接続されている。これは、相互接続導体８２と第３データ入力ノード６０との交差部におけるユーザー・プログラマブル相互接続要素８８ｃをプログラミングすることによって達成できる。同様に、Ｄ３（第２マルチプレクサ４４の第２入力部への第４データ入力ノード６２）が相互接続導体８４の入力項ｄに接続されている。これは、相互接続導体８４と第４データ入力ノード６２との交差部におけるユーザー・プログラマブル相互接続要素８８ｄをプログラミングすることによって達成できる。
【００３６】
ここで図２Ｃを見ると、本発明による論理モジュールのための順次論理ユニット１１０の現在好ましい実施例が、ブロック図様式で示されている。本発明の好ましい実施例によれば、順次論理ユニットは３つのマルチプレクサと１つのＤフリップフロップを含む。第１二入力マルチプレクサ１１２は、第１データ入力ノード１１４に接続された第１データ入力部、第２データ入力ノード１１６に接続された第２データ入力部、第１制御ノード１１８に接続された制御入力部、及び出力部１２０を有する。第２二入力マルチプレクサ１２２は、第１マルチプレクサの出力部１２０に接続された第１データ入力部、Ｄフリップフロップ１２４の出力部に接続された第２データ入力部、第２制御ノード１２６に接続された制御入力部、及びＤフリップフロップ１２４のＤ入力部に接続された出力部１２８を有する。第１四入力マルチプレクサ１３０は、第１クロック入力ノード１３２に接続された第１データ入力部、第１クロック入力ノード１３２上の信号の補足部に接続された第２データ入力部、第２クロック入力ノード１３４に接続された第３データ入力部、第２クロック入力ノード１３４上の補足部に接続された第４データ入力部、クロック選択ノード１３６に接続された第１制御入力部、クロック極性選択ノード１３８に接続された第２制御入力部、及びＤフリップフロップ１２４のクロック大力部に接続された出力部１４０を有する。Ｄフリップフロップ１２４の出力部はバッファ１４２によって緩衝される。最後に、Ｄフリップフロップ１２４はまた、セットノード及びリセットノードに接続されたセット入力部１４４とリセット入力部１４６をそれぞれ備えている。
【００３７】
図２Ａの組合せユニット４０と同様に、図２Ｃの順次ユニット１１０は、本発明の相互接続構成に接続可能である。図２Ｃからわかるように、順次ユニット１１０の種々の入力と制御入力が、上部汎用相互接続チャネルにおける水平相互接続導体１４８、１５０、１５２、１５４、及び下部汎用相互接続チャネルにおける水平相互接続導体１５６、１５８、１６０、１６２と交差している。ユーザー・プログラマブル相互接続要素はこれらの導体の交差部に配置され、当技術分野では周知のように、選択的に接続するようにプログラミングすることができる。
【００３８】
順次ユニット１１０はまたフィレキシブルな回路であることは、当業者には理解されよう。第１四入力マルチプレクサ１３０を使用してクロック源を選択して制御し、こうしてＤフリップフロップ１２４を、集積回路のこのようなユニットすべてに共通であることが好ましい第１クロック入力ノード１３２においてシステム・クロックから駆動することができ、または汎用相互接続チャネルから第２クロック・ノード１３４上に与えられる他の信号から導出されるクロック・ノードからのクロック信号から駆動することができる。第１四入力マルチプレクサ１３０へのクロック極性選択制御ノード１３８の接続は、Ｄフリップフロップ１２４に関してエッジ・トリガリングの上昇または下降の選択を可能にする。当業者には容易に理解されるように、この機能もまた第３二入力マルチプレクサと排他的ＯＲゲートによって容易に実行される。
【００３９】
再び図２Ａと図２Ｃを見ると、相互接続導体の他の組が、組合せユニット４０と順次ユニット１１０の両方の入力部と出力部への接続のために準備されている。これらの相互接続導体は、相互接続導体９２、９４、９６、９８、１００、１０２、１０４、１０６、１４８、１５０、１５２、１５４、１５６、１５８、１６０、１６２で示される汎用相互接続チャネルとは異なり、隣接論理モジュールの間で共有される局所相互接続である。また、汎用相互接続導体とは異なり、組合せユニット４０と順次ユニット１１０の出力部は局所相互接続導体の個々に配線されている。
【００４０】
局所相互接続導体は、図２Ａと図２Ｃとでは同じ参照番号が付けられている。図２Ａと図２Ｃに示された例示的な実施例では、４つの局所相互接続導体１６４、１６６、１６８、１７０が示されているが、本発明の構成の実際の実現に使用されるべき局所相互接続導体の数は、主として設計選択及び局部的に相互接続された論理モジュールにおける組合せユニットと順次ユニットの数の問題であることは、当業者には認識されよう。
【００４１】
図を見ると、組合せユニット４０のバッファ７６の出力部は局所相互接続導体１６４に接続されている。同様に、順次ユニット１１０のバッファ１４２の出力部は局所相互接続導体１６６に接続されている。組合せユニット４０と順次ユニット１１０の他のデータ入力部と制御入力部の選択されたものは、プログラマブル相互接続要素を介して局所相互接続導体１６４、１６６、１６８、１７０に接続可能であり、これらのプログラマブル相互接続要素は、組合せユニット４０と順次ユニット１１０のデータ入力部と制御入力部及び局所相互接続導体１６４、１６６、１６８、１７０との交差部に円で示されている。
【００４２】
本発明において図２Ａの組合せユニット４０を採用することが好ましいが、同時に、他の組合せユニットも本発明の構成に有効に採用されることは、当業者には理解されよう。ここで図３Ａから図３Ｆまでを見ると、代替の組合せユニット回路が示されている。
【００４３】
既に述べたように、３つの機能ユニットを論理モジュールに組み合せることは現在好ましい。これらの３つのユニットは同一である。すなわち論理モジュールは、３つの組合せユニットまたは３つの順次ユニットを含むか、または混合される、すなわち論理モジュールが１つの組合せユニットと２つの順次ユニットを含む。組合せユニットと順次ユニットの混合を含む論理モジュールでは、組合せユニットの事前バッファ付き出力部を順次ユニットの第１マルチプレクサの入力部の１つに接続することが有利であろう。このような配置を図４Ａに示す。
【００４４】
ここで図４Ａを見ると、論理機能モジュール２００がブロック概略様式で示されている。図４Ａの例示的実施例において、論理機能モジュール２００は１つの組合せユニット４０と２つの順次ユニット１１０ａ、１１０ｂを含む。便宜上、図４Ａに示されたこれらのユニットの要素には、図面が複雑になるのを避けるために図４Ａではすべての要素には番号を付けないが、図２Ａと図２Ｃで使用した参照番号と同じものを付ける。
【００４５】
上部汎用相互接続チャネルは汎用相互接続導体２０２、２０４、２０６、２０８、２１０を含み、これらのいくつかはクロック信号機能と専用論理レベル機能に専有され、そして下部汎用相互接続チャネルは汎用相互接続導体２１２、２１４、２１６、２１８、２２０を含み、これらのいくつかはクロック信号機能と専用論理レベル機能にも専有される。局部相互接続チャネル２２２は局部相互接続導体２２４、２２６、２２８、２３０、２３２、２３４を含む。図面では、組合せユニット４０の出力バッファ７６の出力部は局部相互接続導体２２４に結線されている。組合せユニット１１０ａの出力バッファ１４２ａの出力部は局部相互接続導体２２６に結線されている。組合せユニット１１０ｂの出力バッファ１４２ｂの出力部は局部相互接続導体２２８に結線されている。さらに、組合せユニット４０の事前バッファ付き出力部と順次ユニット１１０ａにおけるマルチプレクサ１１２ａの第１入力部１１４ａとの間が内部的に結線接続される。代替案として、組合せユニット４０の事前バッファ付き出力部を、マルチプレクサ１１２ａの制御入力部に結線することができる。
【００４６】
図４Ａの論理機能モジュールは非常にフレキシブルであり、広範にわたる各種の組合せ論理機能及び順次論理機能の実現を可能にすることは、当業者には理解されよう。複数のこれらの論理機能モジュール２００が図１に示すように１つの配列に置かれると、局部相互接続チャネルの利点は明白になる。このような配置では、組合せ要素と順次要素の出力部は、局部相互接続導体２２４、２２６、２２８、２３０、２３２、２３４のそれぞれに個別に結線されている。結線接続は汎用相互接続チャネルにおけるどのユーザー・プログラマブル相互接続要素も迂回するので、このような相互接続要素がこれらを通過する信号に通常もたらすいかなる時間遅延も避けられ、その結果、実際により大きく、より速い、単一論理機能モジュールである回路となる。
【００４７】
また図４Ａは、図２Ａのインバータ９０の追加が論理モジュール機能を増すという余分の融通性も示す。図４Ａに示すように、組合せユニット４０に物理的に位置付けられたインバータ９０は、組合せユニット４０と共に、または順次ユニット１１０及び１１０ｂのいずれかと共に、適切なアンチヒューズをプログラミングすることによって使用され、その出力部を，順次ユニット１１０ａに付随するデータ・マルチプレクサ１１２ａ、及び１２２ａ及び順次ユニット１１０ｂに付随する１１２ｂ、１２２ｂのデータ入力部と制御入力部に接続し、また順次ユニット１１０ａ及び１１０ｂにおけるＤフリップ・フロップ１２４ａと１２４ｂのセット入力部及びリセット入力部にそれぞれ接続する。
【００４８】
本発明のさらに別の態様によれば、論理機能の対の組合せコンポーネントと順次コンポーネントの混合と配置は、有利に変更することができる。本発明のこの態様を、本発明による局所相互接続チャネルによって接続された論理機能モジュール対レイアウトの図式的表示として、図４Ｂから図４Ｄまでに示す。
【００４９】
先ず図４Ｂを見ると、論理機能モジュール２００ａ、２００ｂを含む論理機能モジュール対が局所相互接続バス２２２ａによって接続されている。論理機能モジュール２００ａは、左端の組合せユニット２４０、中央の順次ユニット２４２、及び右端の組合せユニット２４４を含む。論理機能モジュール２００ｂは、左端の組合せユニット２４６、中央の順次ユニット２４８、及び右端の組合せユニット２５０を含む。
【００５０】
組合せユニットと順次ユニット２４０、２４２、２４４、２４６、２４８、２５０の出力部は、単一論理機能ユニット２００について図４Ａに示す方法で、局所相互接続チャネル２２２ａの種々の個別局所相互接続導体に結線されることは、当業者には認識されよう。
【００５１】
本発明による論理モジュール対のレイアウトの他の変形を図４Ｃと図４Ｄに示す。図４Ｃでは、論理機能モジュール２００ｃ、２００ｄを含む論理機能モジュール対が局所相互接続バス２２２ｂによって接続されている。論理機能モジュール２００ｃは、左端の組合せユニット２５２、中央の順次ユニット２５４、及び右端の組合せユニット２５６を含む。論理機能モジュール２００ｄは、左端の組合せユニット２５８、中央の順次ユニット２６０、及び右端の組合せユニット２６２を含む。図４Ｄでは、論理機能モジュール２００ｅ、２００ｆを含む論理機能モジュール対が局所相互接続バス２２２ｃによって接続されている。論理機能モジュール２００ｅは、左端の組合せユニット２６４、中央の順次ユニット２６６、及び右端の組合せユニット２６８を含む。論理機能モジュール２００ｆは、左端の組合せユニット２７０、中央の順次ユニット２７２、及び右端の組合せユニット２７４を含む。
【００５２】
本発明による他の態様によれば、本発明の相互接続構成の相互接続導体はセグメントとして提供される。テストなどの目的のためにセグメントを一緒に一時的に接続する能力が準備される。さらに、ユーザー・プログラマブル相互接続要素を準備して、プログラムによってセグメントを一緒に接続し、集積回路の正常作動中に、より長い相互接続導体を作ることができる。
【００５３】
再び図２Ａを見ると、相互接続導体７８、８０、８２、８４、８６の各々はパス・トランジスタによってセグメントに区分されている。こうして、相互接続導体７８はパス・トランジスタ３０２のソース／ドレーン端子の１つに接続されている。パス・トランジスタ３０２の他のソース／ドレーン端子は、相互接続導体７８の下方に延長された垂直拡張部として考えてもよい相互接続導体７８ａに接続されている。同様な方式で、相互接続導体８０はパス・トランジスタ３０４のソース／ドレーン端子の１つに接続されている。パス・トランジスタ３０４の他のソース／ドレーン端子は、相互接続導体８０の上方に延長された垂直拡張部として考えてもよい相互接続導体８０ａに接続されている。相互接続導体８２はパス・トランジスタ３０６のソース／ドレーン端子の１つに接続されている。パス・トランジスタ３０６の他のソース／ドレーン端子は、相互接続導体８２の下方に延長された垂直拡張部として考えてもよい相互接続導体８２ａに接続されている。相互接続導体８４はパス・トランジスタ３０８のソース／ドレーン端子の１つに接続されている。パス・トランジスタ３０８の他のソース／ドレーン端子は、相互接続導体８４の上方に延長された垂直拡張部として考えてもよい相互接続導体８４ａに接続されている。相互接続導体８６はパス・トランジスタ３１０のソース／ドレーン端子の１つに接続されている。パス・トランジスタ３１０の他のソース／ドレーン端子は、相互接続導体８６の上方に延長された垂直拡張部として考えてもよい相互接続導体８６ａに接続されている。
【００５４】
図２Ａに示すように、パス・トランジスタの位置は、相互接続構成の融通性を増すように食い違っていることが好ましい。こうして、パス・トランジスタ３０２、３０６は、これらの関連相互接続導体上の１つの垂直位置に置かれ、一方パス・トランジスタ３０４、３０８、３１０は、これらの関連相互接続導体上の他の垂直位置に置かれている。パス・トランジスタのゲートは、プログラムとテスト制御回路３０によって駆動される（図１）。パス・トランジスタ３０２、３０６のゲートは共通ゲート線３１２に接続されており、パス・トランジスタ３０４、３０８、３１０のゲートは共通ゲート線３１４に接続されているが、その他の配置も可能であることは当業者には認識されよう。
【００５５】
相互接続導体７８ａ、８２ａは、集積回路配列における論理モジュールの下に位置する論理モジュール（図２Ａには図示せず）に、ユーザー・プログラマブル相互接続要素を通じて接続可能となり、また相互接続導体８０ａ、８４ａ、８６ａは、集積回路配列における論理モジュールの上に位置する論理モジュール（図２Ａには図示せず）に、ユーザー・プログラマブル相互接続要素を通じて接続可能となることは、当業者には理解されよう。本発明によって製造される実際の構成に使用される特定のセグメント化計画は、多少自由裁量的なものであり、主として特定の構成レイアウトによって指図される設計選択の問題となる。
【００５６】
本発明の実施と適用を示して説明したが、本発明の概念を逸脱することなく、上記以外のさらに多くの変更が可能であることは、当業者には明白であろう。したがって、本発明は、添付の特許請求の範囲の意図内にある以上は制約されるものではない。
【図面の簡単な説明】
【図１】ＦＰＧＡ集積回路に採用することのできる本発明によるコアアーキテクチャの簡略化されたブロック図である。
【図２Ａ】本発明の相互接続構成の一部分を示す、本発明による現在好ましい組合せ機能ユニットのブロック概略図である。
【図２Ｂ】図２Ａの組合せ機能ユニットの出力部の状態を入力部の状態の関数として示す表である。
【図２Ｃ】本発明の相互接続構成の一部分を示す、順次機能ユニットの、ブロック概略図である。
【図３Ａ】本発明によるＦＰＧＡ構成に採用することのできる他の組合せ機能ユニットの、ブロック概略図である。
【図３Ｂ】本発明によるＦＰＧＡ構成に採用することのできる他の組合せ機能ユニットの、ブロック概略図である。
【図３Ｃ】本発明によるＦＰＧＡ構成に採用することのできる他の組合せ機能ユニットの、ブロック概略図である。
【図３Ｄ】本発明によるＦＰＧＡ構成に採用することのできる他の組合せ機能ユニットの、ブロック概略図である。
【図３Ｅ】本発明によるＦＰＧＡ構成に採用することのできる他の組合せ機能ユニットの、ブロック概略図である。
【図３Ｆ】本発明によるＦＰＧＡ構成に採用することのできる他の組合せ機能ユニットの、ブロック概略図である。
【図４Ａ】図２Ａと図２Ｃの機能ユニットの組合せで構成される論理モジュールの、ブロック概略図である。
【図４Ｂ】本発明による局所相互接続チャネルによって接続された論理モジュール内の、論理機能ユニットに関するレイアウト配置の概念図である。
【図４Ｃ】本発明による局所相互接続チャネルによって接続された論理モジュール内の、論理機能ユニットに関するレイアウト配置の概念図である。
【図４Ｄ】本発明による局所相互接続チャネルによって接続された論理モジュール内の、論理機能ユニットに関するレイアウト配置の概念図である。
【符号の説明】
１０  ＦＰＧＡコアアーキテクチャ
１２  論理機能回路、論理機能モジュール
１４  相互接続導体の水平チャネル
１６  相互接続導体の垂直チャネル
１８  水平相互接続チャネルと垂直相互接続チャネルとの交差部
２０、７８、８０、８２、８４、８６、９２、９４、９６、９８、１００、１０２、１０４、１０６、１４８、１５０、１５２、１５４、１５６、１５８、１６０、１６２  相互接続導体
２２、２２２  局所相互接続チャネル
２４  ユーザー・プログラマブル相互接続要素
２６  Ｉ／Ｏモジュール
２８  ３２、３４、３６Ｉ／Ｏパッド
３０  プログラム・テスト制御回路
４０、２４０、２４４、２４６、２５２、２５６、２６２、２６４、２７０、２７４  組合せユニット
４２、４４、４６、１１２、１２２  二入力マルチプレクサ
４８、５０、６２、１１４、１１６  データ入力ノード
５２  第１ゲート
５４、６６、７０、１２０、１２８、１４０  出力部
５６、５８、６０、７２、７４  制御入力ノード
６８  第２ゲート
７６  出力バッファ
８８  ユーザー・プログラマブル相互接続要素
９０  インバータ
１１０  順次論理ユニット
１１８、１２６  制御ノード
１２４  Ｄフリップフロップ
１３０  四入力マルチプレクサ
１３２、１３４  クロック入力ノード
１３６  クロック選択ノード
１３８  クロック極性選択ノード
１４２  バッファ
１４４  セット入力部
１４６  リセット入力部
１６４、１６６、１６８、１７０、２２４、２２６、２２８、２３０、２３２、２３４  局所相互接続導体
２００  論理機能モジュール
２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６、２１８、２２０  汎用相互接続導体
２４２、２４８、２５０、２５４、２５８、２６０、２６６、２６８、２７２順次ユニット
３０２、３０４、３０６、３０８、３１０  パス・トランジスタ
３１２、３１４  共通ゲート線
【図１】
0003589501.tif 000002
【図２Ａ】
0003589501.tif 000003
【図２Ｂ】
0003589501.tif 000004
【図２Ｃ】
0003589501.tif 000005
【図３Ａ】
0003589501.tif 000006
【図３Ｂ】
0003589501.tif 000007
【図３Ｃ】
0003589501.tif 000008
【図３Ｄ】
0003589501.tif 000009
【図３Ｅ】
0003589501.tif 000010
【図３Ｆ】
0003589501.tif 000011
【図４Ａ】
0003589501.tif 000012
【図４Ｂ】
0003589501.tif 000013
【図４Ｃ】
0003589501.tif 000014
【図４Ｄ】
0003589501.tif 000015