(57)【要約】      （修正有）【課題】信号ルーティングのために第１または第２の垂直ラインを選択的に使用して、行シフト冗長において追加のドライバの必要性を小さくする。【解決手段】第１または第２のスタガ形垂直ラインを通じて選択的に信号をルーティングするのに適する冗長アーキテクチャを含むプログラマブル・ロジック・デバイス（”ＰＬＤ”）を提供する。１つの実施例は、ルーティング選択を決定するためのコンフィギュレーション・ロジックおよびプログラムを提供する。他の実施形態は、同じ行から動かされる垂直ラインの近接グループ化を提供する。さらに欠陥行の位置が分かった場合のスペア行の位置を提供する。【選択図】図１ａ
2006014297.tif 000002
【特許請求の範囲】
【請求項１】
電子デバイスにおいて、
第１の垂直ラインか第２の垂直ラインのどちらかから信号を選択的に受信し、かつ、受信した信号を前記電子デバイスの回路アレイの行にルーティングするように結合されるルーティング素子を備え、
ルーティング素子は、第１の垂直ラインか第２の垂直ラインのどちらかからの正常モード信号経路を与えるために、冗長に関連する少なくとも１つの規定条件に基づいて構成可能であり、かつ、該第１の垂直ラインか該第２の垂直ラインのどちらかからの冗長モード信号経路を与えるためにも構成可能であって、該第１および第２の垂直ラインは異なる行から動かされるルーティング素子であることを特徴とする電子デバイス。
【請求項２】
請求項１に記載の電子デバイスにおいて、該電子デバイスは、プログラマブル・ロジック・デバイスであって、さらに、
前記プログラマブル・ロジック・デバイスの機能を制御するコンフィギュレーション素子であって、該コンフィギュレーション素子は該コンフィギュレーション素子にロードされるコンフィギュレーション・ビットによってプログラムされるコンフィギュレーション素子、かつ、
正常モードにおいてアレイの１つの行に関係するコンフィギュレーション素子のコンフィギュレーション・ビットを、下の次の行に関係するコンフィギュレーション素子にシフトするように結合されるスイッチング回路であって、そのようなシフトは、不良行からスペア行への少なくとも前記デバイスの部分が冗長モードである場合に、該不良行から該スペア行へ生じるスイッチング回路を備えることを特徴とする電子デバイス。
【請求項３】
請求項１に記載の電子デバイスにおいて、前記少なくとも１つの規定条件は、指定される不良行が、前記第１の垂直ラインのドライバに関係する行と前記ルーティング素子に関係する行との間にあるかどうかを含むことを特徴とする電子デバイス。
【請求項４】
請求項３に記載の電子デバイスにおいて、指定される不良行は、前記デバイスの正常モード部分において非欠陥スペア行を含むことを特徴とする電子デバイス。
【請求項５】
請求項４に記載の電子デバイスにおいて、指定される不良行は、前記デバイスの冗長モード部分において欠陥行を含むことを特徴とする電子デバイス。
【請求項６】
請求項１に記載の電子デバイスにおいて、前記ルーティング素子は、前記垂直ラインから信号を受信するために結合されるマルチプレクサ［“ｍｕｘ”］を含むことを特徴とする電子デバイス。
【請求項７】
請求項６に記載の電子デバイスにおいて、
結合される前記垂直ラインのドライバの下流にある垂直ライン-マルチプレクサ結合については、もしその結合があるなら、第１の垂直ラインは第１の下流マルチプレクサの“Ａ”入力と第２の下流マルチプレクサの“Ｂ”入力に結合され、および、該第２の垂直ラインは、該第２の下流マルチプレクサの“Ａ”入力に結合され、該第１の下流マルチプレクサは前記アレイの第１の下流行の回路に結合される出力を含むマルチプレクサ、および、該第２の下流マルチプレクサは該アレイの第２の下流行の回路に結合される出力を含むマルチプレクサであって、
結合される前記垂直ラインのドライバの上流にある垂直ライン-マルチプレクサ結合については、もしその結合があるなら、第１の垂直ラインは、第１の上流マルチプレクサの“Ａ”入力に結合され、および、第２の垂直ラインは、該第１の上流マルチプレクサの“Ｂ”入力と第２の上流マルチプレクサの“Ａ”入力に結合され、該第１の上流マルチプレクサは前記アレイの第１の上流行の回路に結合される出力を含むマルチプレクサ、および、該第２の上流マルチプレクサは該アレイの第２の上流行の回路に結合される出力を含むマルチプレクサであることを特徴とする電子デバイス。
【請求項８】
請求項７に記載の電子デバイスにおいて、前記アレイの前記第１の上流または下流行の中の前記回路は、第１のロジック・アレイ・ブロックへのルーティングを含み、かつ、該アレイの前記第２の上流または下流行の該回路は、第２のロジック・アレイ・ブロックへのルーティングを含むことを特徴とする電子デバイス。
【請求項９】
請求項７に記載の電子デバイスにおいて、前記アレイの前記第１の上流または下流行の中の前記回路は、別の垂直ラインのドライバを含み、かつ、該アレイの前記第２の上流または下流行の該回路は、別の垂直ラインのドライバを含むことを特徴とする電子デバイス。
【請求項１０】
請求項７に記載の電子デバイスにおいて、前記アレイの前記第１の上流または下流行の中の前記回路は、水平ラインのドライバを含み、かつ、前記アレイの前記第２の上流または下流行の中の前記回路は、水平ラインのドライバを含むことを特徴とする電子デバイス。
【請求項１１】
請求項７に記載の電子デバイスにおいて、前記第１のマルチプレクサ（上流または下流）のＡ入力とＢ入力の間の選択は、同じコンフィギュレーション素子のフレームにおける第１の近接コンフィギュレーション素子によって保持されるビットに依存しており、前記第２のマルチプレクサ（上流または下流）のＡ入力とＢ入力の間の選択は、同じコンフィギュレーション素子のフレームにおける第２の近接コンフィギュレーション素子によって保持されるビットに依存することを特徴とする電子デバイス。
【請求項１２】
請求項１１に記載の電子デバイスにおいて、前記第１の近接コンフィギュレーション素子は、連続的であり、かつ、前記第２の近接コンフィギュレーション素子も連続的であることを特徴とする電子デバイス。
【請求項１３】
請求項１１に記載の電子デバイスにおいて、前記コンフィギュレーション素子は、前記第１および第２のマルチプレクサの同じステージの少なくとも一部を制御することを特徴とする電子デバイス。
【請求項１４】
請求項１３に記載の電子デバイスにおいて、前記第１および第２のマルチプレクサは、単一ステージであることを特徴とする電子デバイス。
【請求項１５】
請求項１３に記載の電子デバイスにおいて、前記第１および第２のマルチプレクサは、２つのステージを有し、かつ、前記同じステージが第２ステージであることを特徴とする電子デバイス。
【請求項１６】
請求項１３に記載の電子デバイスにおいて、前記マルチプレクサは、２つのステージを有し、かつ、前記同じステージが第１ステージであることを特徴とする電子デバイス。
【請求項１７】
請求項１３に記載の電子デバイスにおいて、前記マルチプレクサは、２つ以上のステージを有することを特徴とする電子デバイス。
【請求項１８】
請求項１に記載の電子デバイスにおいて、さらに、前記第１の垂直ラインと第２の垂直ラインの間に選択するための前記ルーティング素子を構成するために１つ以上のコンフィギュレーション・ビットを与えるように結合されるコンフィギュレーション・ロジック回路を備えることを特徴とする電子デバイス。
【請求項１９】
請求項１８に記載の電子デバイスにおいて、さらに、不良行データを保持するためのメモリ素子、および、該メモリ素子が前記コンフィギュレーション・ロジック回路に結合されるメモリ素子を備えることを特徴とする電子デバイス。
【請求項２０】
請求項１９に記載の電子デバイスにおいて、前記メモリ素子がレジスタ素子を含むことを特徴とする電子デバイス。
【請求項２１】
請求項１８に記載の電子デバイスにおいて、
前記電子デバイスは、プログラミング・データを受信するために接続可能であり、かつ、
前記コンフィギュレーション・ロジック回路は、冗長に関して受信したプログラミング・データに含まれる情報、および、冗長に関して前記電子デバイス上に記憶される他の情報に応答するようになっていることを特徴とする電子デバイス。
【請求項２２】
請求項２１に記載の電子デバイスにおいて、前記コンフィギュレーション・ロジック回路は、前記プログラミング・データが、前記電子デバイスが適する冗長スキームに関係する第１および第２の垂直ラインに結合される１対のルーティング入力を構成するためのコンフィギュレーション・ビットの値を設定するためであるかどうか、を示す前記プログラミング・データ内の情報に応答するようになっていることを特徴とする電子デバイス。
【請求項２３】
請求項２２に記載の電子デバイスにおいて、前記コンフィギュレーション・ロジック回路は、ルーティング入力対に関係する行が、垂直ラインのドライバに関係する行から上流又は下流であるかどうかを示す前記プログラミング・データ内の情報に応答するようになっていることを特徴とする電子デバイス。
【請求項２４】
請求項２２に記載の電子デバイスにおいて、前記コンフィギュレーション・ロジック回路は、ルーティング入力対に関係する行と、第１の垂直ラインのドライバに関係する行の間の行の距離を示す前記プログラミング・データ内の情報に応答するようになっていることを特徴とする電子デバイス。
【請求項２５】
請求項２１に記載の電子デバイスにおいて、前記コンフィギュレーション・ロジック回路は、前記プログラミング・データ内の情報および前記不良行データ内の情報に応答して該電子デバイスの冗長スキームに関係する前記第１および第２の垂直ラインに結合されるルーティング入力のペアを構成するためにコンフィギュレーション・ビットを生成するようになっていることを特徴とする電子デバイス。
【請求項２６】
請求項２３に記載の電子デバイスにおいて、前記冗長スキームは、該電子デバイスは適する複数の冗長スキームのうちの１つであることを特徴とする電子デバイス。
【請求項２７】
請求項２５に記載の電子デバイスにおいて、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの１つであることを特徴とする電子デバイス。
【請求項２８】
請求項２１に記載の電子デバイスにおいて、前記コンフィギュレーション・ロジック回路は、前記プログラミング・データが、該電子デバイスが適する冗長スキームに関係する垂直ラインに結合されるルーティング入力を構成するために少なくとも１つのコンフィギュレーション・ビット値を設定するためかどうかを示すプログラミング・データ内の情報に応答するのにようになっていることを特徴とする電子デバイス。
【請求項２９】
請求項２８に記載の電子デバイスにおいて、前記コンフィギュレーション・ロジック回路は、前記ルーティング入力に関係する行が前記垂直ラインのドライバに関連する行から上流か下流かどうかを示すプログラミング・データ内の情報に応答するようになっていることを特徴とする電子デバイス。
【請求項３０】
請求項２８に記載の電子デバイスにおいて、前記コンフィギュレーション・ロジック回路は、前記不良行データ内の情報および前記プログラミング・データ内の情報に応答して、少なくとも１つの前記コンフィギュレーション・ビットの値を設定するために該プログラミング・データ内の複数の値のうちの１つを選択するようになっていることを特徴とする電子デバイス。
【請求項３１】
請求項２８に記載の電子デバイスにおいて、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの１つであることを特徴とする電子デバイス。
【請求項３２】
請求項１に記載の電子デバイスにおいて、前記第１および第２の垂直ラインは、前記垂直ラインのドライバの上流の接続点に結合され、かつ、該垂直ラインの該ドライバの下流の接続点にも結合される少なくとも数本の垂直ラインを含むことを特徴とする電子デバイス。
【請求項３３】
請求項１に記載の電子デバイスにおいて、
前記垂直ラインは、複数の垂直ラインのグループにおける垂直ラインを含み、
第１の垂直ラインのグループにおける垂直ラインは、１つの行から動かされ、および、相互に近接して配置され、かつ、
第２の垂直ラインのグループにおける垂直ラインは、別の行から動かされ、および、相互に近接して配置されることを特徴とする電子デバイス。
【請求項３４】
請求項３３に記載の電子デバイスにおいて、さらに、
前記第１の垂直ラインのグループか前記第２の垂直ラインのグループのどちらかに選択的に信号をルーティングするための構成可能なルーティング回路を備えることを特徴とする電子デバイス。
【請求項３５】
請求項３４に記載の電子デバイスにおいて、さらに、
信号を受信するために前記第１グループと第２グループの間で選択するために、少なくとも１つの規定条件に基づいて、前記構成可能なルーティング回路を構成するために結合される制御回路を備えることを特徴とする電子デバイス。
【請求項３６】
請求項３５に記載の電子デバイスにおいて、前記少なくとも１つの規定条件は、前記第１グループ内の１以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。
【請求項３７】
請求項３５に記載の電子デバイスにおいて、前記少なくとも１つの規定条件は、前記第１および第２グループより上で、および、同じ修復可能領域内のグループに属する１以上のラインが欠陥ラインかどうかを含むことを特徴とする電子デバイス。
【請求項３８】
請求項１に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項３９】
請求項７に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項４０】
請求項２１に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項４１】
請求項２５に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項４２】
請求項２６に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項４３】
請求項３０に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項４４】
請求項３１に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項４５】
請求項３２に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項４６】
請求項３３に記載の電子デバイスを含むプログラマブル・ロジック・デバイス。
【請求項４７】
請求項３８に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項４８】
請求項３９に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項４９】
請求項４０に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項５０】
請求項４１に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項５１】
請求項４２に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項５２】
請求項４３に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項５３】
請求項４４に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項５４】
請求項４５に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項５５】
請求項４６に記載のプログラマブル・ロジック・デバイスを含むデータ処理システム。
【請求項５６】
プログラマブル・ロジック・デバイスをプログラムするためにプログラミング・データを生成するためのコンピュータ・プログラム製品において、該コンピュータ・プログラム製品は、少なくとも、
前記プログラマブル・ロジック・デバイスが適する少なくとも１つの冗長スキームを実現するために前記電子デバイスによって使用可能な冗長情報を、前記プログラミング・データ内に含むための電子的に読み取り可能なメディア内で実行可能なコードを備えることを特徴とするコンピュータ・プログラム製品。
【請求項５７】
請求項５６に記載のコンピュータ・プログラム製品において、前記冗長情報は、前記少なくとも１つの冗長スキームを実現するために前記プログラマブル・ロジック・デバイスに記憶される他の冗長情報と組み合わせて使用可能であることを特徴とするコンピュータ・プログラム製品。
【請求項５８】
プログラマブル・ロジック・デバイスをプログラムするためのプログラミング・データを生成するコンピュータ・プログラム製品において、該コンピュータ・プログラム製品は、少なくとも、
構成される接続点は、前記プログラマブル・ロジック・デバイスが適する冗長スキームに関連する垂直ラインからのルーティング接続点かどうかを示す前記プログラミング・データ内に情報を含み、かつ、
前記構成される接続点は、前記冗長スキームに関係する垂直ラインからのルーティング接続点である場合、前記垂直ラインへの前記接続点が前記垂直ラインのドライバから上流か下流かどうかを示す前記プログラミング・データ内の情報、および、前記接続点と前記垂直ラインのドライバに関係する行の間の行における距離を示す情報を決定し、含むための電子的に読み取り可能なメディアに実行可能なコードを備えることを特徴とするコンピュータ・プログラム製品。
【請求項５９】
請求項５９に記載のコンピュータ・プログラム製品において、前記プログラミング・データは、前記プログラミング・データに基づいて、かつ、前記プログラマブル・ロジック・デバイスに記憶される不良行データに基づいて前記接続点を構成するための前記プログラマブル・ロジック・デバイスによって使用可能であることを特徴とするコンピュータ・プログラム製品。
【請求項６０】
請求項５９に記載のコンピュータ・プログラム製品において、前記不良行情報は、前記ルーティング接続点に関係する行と前記垂直ラインのドライバに関係する行の間に不良行があるかどうかを示す、または、示すために使用可能な情報を含むことを特徴とするコンピュータ・プログラム製品。
【請求項６１】
請求項５８に記載のコンピュータ・プログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの１つであることを特徴とするコンピュータ・プログラム製品。
【請求項６２】
請求項５９に記載のコンピュータ・プログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの１つであることを特徴とするコンピュータ・プログラム製品。
【請求項６３】
プログラマブル・ロジック・デバイスをプログラムするためのプログラミング・データを生成するコンピュータ・プログラム製品において、該コンピュータ・プログラム製品は、少なくとも、
プログラムされる接続点は、前記プログラマブル・ロジック・デバイスが適する冗長スキームに関係する垂直ラインからのルーティング接続点であるかどうかを示す情報を前記プログラミング・データに含み、かつ、
前記プログラムされる接続点は、前記冗長スキームに関係する垂直ラインからのルーティング接続点である場合、前記接続点を構成するために可能なビット値を示し、かつ、不良行情報に基づいて前記可能なビット値から選択するために使用可能な情報を前記プログラミング・データに含めるための電子的に読み取り可能なメディアに実行可能なコードを備えることを特徴とするコンピュータ・プログラム製品。
【請求項６４】
請求項６３に記載のコンピュータ・プログラム製品において、前記実行可能なコードは、少なくとも、プログラムされる前記接続点が前記冗長スキームに関係する垂直ラインからのルーティング接続点である場合、前記接続点が前記垂直ラインのドライバに関係する行の上流か下流にあるかどうかを示す情報を、前記プログラミング・データに含めることを特徴とするコンピュータ・プログラム製品。
【請求項６５】
請求項６３に記載のコンピュータ・プログラム製品において、前記不良行情報は、前記接続点に関係する行と前記垂直ラインのドライバに関係する行の間に指定される不良行があるかどうかを示す、または、示すために使用可能な情報を含むことを特徴とするコンピュータ・プログラム製品。
【請求項６６】
請求項６３に記載のコンピュータ・プログラム製品において、前記不良行情報は、前記接続点に関係する前記行と指定される不良行との間の距離を示す、または、示すために使用可能な情報を含むことを特徴とするコンピュータ・プログラム製品。
【請求項６７】
請求項６３に記載のコンピュータ・プログラム製品において、前記不良行情報は、前記プログラマブル・ロジック・デバイスに記憶され、かつ、前記可能なビット値から選択するための前記プログラマブル・ロジック・デバイスによって前記プログラミング・データと組み合わせて使用されることを特徴とするコンピュータ・プログラム製品。
【請求項６８】
請求項６３に記載のコンピュータ・プログラム製品において、前記不良行情報は、前記プログラマブル・ロジック・デバイスに記憶され、かつ、前記可能なビット値から選択するために前記プログラマブル・ロジック・デバイスによって前記プログラミング・データと組み合わせて使用されることを特徴とするコンピュータ・プログラム製品。
【請求項６９】
請求項６３に記載のコンピュータ・プログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの１つであることを特徴とするコンピュータ・プログラム製品。
【請求項７０】
請求項６６に記載のコンピュータ・プログラム製品において、前記冗長スキームは、前記プログラマブル・ロジック・デバイスが適する複数の冗長スキームのうちの１つであることを特徴とするコンピュータ・プログラム製品。
【請求項７１】
請求項６８に記載のコンピュータ・プログラム製品において、前記冗長スキームは、前記プログラマブル・ロジック・デバイスが適する複数の冗長スキームのうちの１つであることを特徴とするコンピュータ・プログラム製品。
【請求項７２】
プログラマブル・ロジック・デバイスをプログラムするためにプログラミング・データを生成するためのコンピュータ・プログラム製品において、該コンピュータ・プログラム製品は、少なくとも、
ルーティング素子に入力を与えるために前記プログラマブル・ロジック・デバイスが適する冗長スキームに関係する第１の垂直ラインと第２の垂直ラインとの間で選択を行い、かつ、
前記選択された垂直ラインから信号を受信するために前記ルーティング素子を構成するためのプログラミング・データを生成するために電子的に読み取り可能なメディアに実行可能なコードを備えることを特徴とするコンピュータ・プログラム製品。
【請求項７３】
請求項７２に記載のコンピュータ・プログラム製品において、前記実行可能なコードは、少なくとも、
選択の一部として、垂直ラインのドライバに関係する行と前記ルーティング素子に関係する行との間に指定される不良行があるかどうかを決定することも特徴とするコンピュータ・プログラム製品。
【請求項７４】
請求項７３に記載のコンピュータ・プログラム製品において、前記実行可能なコードは、少なくとも、
前記プログラマブル・ロジック・デバイスの指定される不良行を識別するためにデバイス・データに問い合わせるためのものでもあることを特徴とするコンピュータ・プログラム製品。
【請求項７５】
請求項７４に記載のコンピュータ・プログラム製品において、前記デバイス・データは、前記プログラマブル・ロジック・デバイスに記憶されることを特徴とするコンピュータ・プログラム製品。
【請求項７６】
請求項７４に記載のコンピュータ・プログラム製品において、前記デバイス・データは、前記実行可能なコードを実行するコンピュータに接続可能なメモリ装置に記憶されることを特徴とするコンピュータ・プログラム製品。
【請求項７７】
請求項７２に記載のコンピュータ・プログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの１つであることを特徴とするコンピュータ・プログラム製品。
【請求項７８】
請求項７４に記載のコンピュータ・プログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの１つであることを特徴とするコンピュータ・プログラム製品。
【請求項７９】
特定の正常モード行のために、第１の垂直ラインを通じてアレイの正常モード行に信号をルーティングするように結合される正常モード信号経路、かつ、
特定の冗長モード行のために、第１の垂直ライン、または、第２の垂直ラインのどちらかを通じて前記アレイの冗長モード行に選択的に信号をルーティングするように結合される冗長モード信号経路であって、該冗長モード信号経路が前記正常モード信号経路にとって冗長である冗長モード信号経路を備えることを特徴とする電子デバイス。
【請求項８０】
請求項７９に記載の電子デバイスにおいて、前記特定の冗長モード行のために、前記第１または第２の垂直ラインのどちらかを通じて前記冗長モード行にルーティングするために、少なくとも１つの規定条件に基づいて、信号経路ルーティングが構成されることを特徴とする電子デバイス。
【請求項８１】
請求項８０に記載の電子デバイスにおいて、前記規定条件は、前記第１の垂直ラインが該電子デバイスが適する冗長スキームに従ってシフトされるシフト行から動かされるかどうかを含むことを特徴とする電子デバイス。
【請求項８２】
請求項８１に記載の電子デバイスにおいて、前記冗長スキームは、該電子デバイスが適する複数の冗長スキームのうちの１つであることを特徴とする電子デバイス。
【請求項８３】
請求項８１に記載の電子デバイスにおいて、
前記信号経路ルーティングは、前記第１の垂直ラインが動かされる行がシフト行ではない場合、前記第１の垂直ラインを通じて前記冗長モード行にルーティングするように構成され、かつ、
前記信号経路ルーティングは、前記第１の垂直ラインが動かされる行がシフト行である場合、前記第２の垂直ラインを通じて前記冗長モード行にルーティングするように構成されることを特徴とする電子デバイス。
【請求項８４】
請求項７９に記載の電子デバイスにおいて、
前記垂直ラインは、複数の垂直ラインのグループの中の垂直ラインを含み、
第１の垂直ラインのグループの中の垂直ラインは、１つの行から動かされ、および、相互に近接して配置され、かつ、
第２の垂直ラインのグループの中の垂直ラインは、別の行から動かされ、および、相互に近接して配置されることを特徴とする電子デバイス。
【請求項８５】
請求項８４に記載の電子デバイスにおいて、さらに、
前記第１の垂直ラインのグループか前記第２の垂直ラインのグループのどちらかに選択的に信号をルーティングするための構成可能なルーティング回路を含むことを特徴とする電子デバイス。
【請求項８６】
請求項８５に記載の電子デバイスにおいて、さらに、
信号を受信するために前記第１のグループと前記第２のグループとの間で選択を行うために、少なくとも１つの規定条件に基づいて、前記設定可能なルーティング回路を構成するように結合される制御回路を備えることを特徴とする電子デバイス。
【請求項８７】
請求項８６に記載の電子デバイスにおいて、前記少なくとも１つの規定条件は、前記第１のグループの中の１以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。
【請求項８８】
請求項８６に記載の電子デバイスにおいて、前記少なくとも１つの規定条件は、前記第１および第２のグループより上で、同じ修復可能領域内にあるグループの中の１以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。
【請求項８９】
電子デバイスのアレイの特定の行の中の回路に信号をルーティングするように結合される構成可能なルーティングであって、該構成可能なルーティングは、第１の垂直ラインまたは第２の垂直ラインの延長部分のどちらかから信号をルーティングするために正常モードおよび冗長モードの両方で構成可能であるルーティングを備えることを特徴とする電子デバイス。
【請求項９０】
請求項８９に記載の電子デバイスにおいて、前記構成可能ルーティングは、前記第１の垂直ラインから、または、第２の垂直ラインの延長部分から信号をルーティングするように構成されるかどうかは、少なくとも１つの規定条件によって決まることを特徴とする電子デバイス。
【請求項９１】
請求項９０に記載の電子デバイスにおいて、前記規定条件は、前記特定の行と前記第１の垂直ラインのドライバに関係する行との間に指定される不良行があるかどうかを含むことを特徴とする電子デバイス。
【請求項９２】
回路の行に信号経路を与えるように結合される垂直ラインのグループを備え、
第１の垂直ラインのグループの中の垂直ラインは、１つの行から動かされ、および、相互に近接して配置され、かつ、
第２の垂直ラインのグループ内の垂直ラインは、別の行から動かされ、かつ、相互に近接して配置されることを特徴とする電子デバイス。
【請求項９３】
請求項９２に記載の電子デバイスにおいて、さらに、
前記第１の垂直ラインのグループか前記第２の垂直ラインのグループのどちらかに選択的に信号をルーティングするための構成可能なルーティング回路を備えることを特徴とする電子デバイス。
【請求項９４】
請求項９３に記載の電子デバイスにおいて、さらに、
信号を受信するために前記第１のグループと第２のグループの間で選択を行うために、少なくとも１つの規定条件に基づいて、前記構成可能なルーティング回路を構成するように結合される制御回路を備えることを特徴とする電子デバイス。
【請求項９５】
請求項９４に記載の電子デバイスにおいて、前記少なくとも１つの規定条件は、前記第１のグループ内の１以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。
【請求項９６】
請求項９４に記載の電子デバイスにおいて、前記少なくとも１つの規定条件は、前記第１および第２のグループより上で、かつ、同じ修復可能領域内のグループにおける１以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。
【請求項９７】
電子デバイス上に冗長を実現する方法において、
電子デバイスに合計Ｘ＋Ｓ［そこでＳは修復を行うために定義されるスペア行の位置の合計数］の行を与え、
前記電子デバイスの冗長モードにおいて、１以上の欠陥行の位置が検知された後に１以上のスペア行の位置を選択し、
前記電子デバイスを修復するために欠陥行からスペア行へ行をシフトすることを備えることを特徴とする方法。
【請求項９８】
請求項９７に記載の方法において、さらに、
前記電子デバイスは、Ｓ以下でゼロ以上の数Ｄの欠陥行を有する場合において、
Ｄのスペア行の位置を選択し、かつ、
前記電子デバイスの冗長修復バージョンと非修復バージョンの両方がＸの使用可能行を持つように、Ｄのスペア行を利用し、ＳマイナスＤの行をバイパスするように該電子デバイスを構成することを備えることを特徴とする方法。
【請求項９９】
請求項９７に記載の方法において、さらに、
前記電子デバイスは、欠陥行を持たない場合、全ての行をユーザ設計のために利用可能にし、Ｘ＋Ｓの使用可能な行を含む該電子デバイスの非修復バージョンを提供するように該電子デバイスを構成することを特徴とする方法。
【請求項１００】
請求項９９に記載の方法において、前記電子デバイスが欠陥行を持たない場合、前記デバイスの冗長修復バージョンにおいてユーザ設計に利用できない接続点は、該電子デバイスの前記非修復バージョンにおいてユーザ設計に利用できるようになることを特徴とする方法。
【請求項１０１】
垂直ライン、および、
電子デバイスの回路アレイの第１または第２の行に垂直ラインを選択的に結合するように構成可能である構成可能なルーティングを備え、
前記構成可能なルーティングは、前記電子デバイスの冗長モードにおいて、前記垂直ラインの第１か第２のどちらかに特定の論理的ラインを提供するように構成可能であることを特徴とする電子デバイス。
【請求項１０２】
請求項１０１に記載の電子デバイスにおいて、同様の論理的長さを有する前記垂直ラインの電子デバイスは、特定の垂直ラインについては、該特定の垂直ラインが横断する物理的行の中に指定される不良行があるか否かに関係なく、該特定の垂直ラインが横断する物理的行数で測定される一貫した物理的長さを有することも特徴とする電子デバイス。
【請求項１０３】
請求項１０２に記載の電子デバイスにおいて、前記垂直ルーティング・ラインの前記一貫した物理的長さは、１以上の欠陥行の位置が分かった後に、１以上のスペア行の位置の定義を容易にすることを特徴とする電子デバイス。
【請求項１０４】
電子デバイスにおいて冗長をルーティングする方法において、該電子デバイスは回路行を含み、該方法は、
特定の行のための行ルーティング経路において、少なくとも１つの第１の規定条件に応じて前記電子デバイスの正常モードにおいて前記行ルーティング経路を通してルーティングするために、第１か第２のどちらかの垂直ラインから信号を受信し、
前記行ルーティング経路において、少なくとも１つの第２の規定条件に応じて前記電子デバイスの冗長モードにおいて前記行ルーティング経路を通してルーティングするために、前記第１か第２のどちらかの垂直ラインから信号を受信することを備えることを特徴とする方法。
【請求項１０５】
請求項１０４に記載の方法において、前記第１および第２の規定条件は、同一の条件を含むことを特徴とする方法。
【請求項１０６】
請求項１０５に記載の方法において、前記第１および第２の規定条件は、現在アクティブな正常または冗長モードにおいて、前記第１の垂直ラインのドライバに関係する行と前記行ルーティング経路の前記特定の行との間に指定される不良行があるかどうかを含むことを特徴とする方法。
【請求項１０７】
請求項１０６に記載の方法において、さらに、
前記行ルーティング経路において、前記第１の垂直ラインの前記ドライバに関係する前記行と前記行ルーティング経路の前記特定の行との間に指定される不良行がない場合、前記行ルーティング経路を通してルーティングするために、前記第１の垂直ラインから信号を受信し、かつ、
前記行ルーティング経路において、前記第１の垂直ラインの前記ドライバに関係する前記行と前記行ルーティング経路の前記特定の行との間に指定される不良行がある場合、前記ルーティング経路を通してルーティングするために、前記第２の垂直ラインから信号を受信することを備えることを特徴とする方法。
【請求項１０８】
電子デバイスにおける冗長をルーティングする方法において、該電子デバイスは、回路行を含み、該方法は、
第１の行から動かされる第１の垂直ラインを通じて正常モード行にルーティングし、
少なくとも１つの規定条件に応じて第２の行から動かされる第１または第２の垂直ラインを通じて冗長モード行にルーティングすることを特徴とする方法。
【請求項１０９】
請求項１０８に記載の方法において、前記少なくとも１つの規定条件は、前記第１の垂直ラインのドライバが前記冗長モードにおいてシフトされるシフト行と関係するかどうかを含むことを特徴とする方法。
【請求項１１０】
請求項１０９に記載の方法において、前記第１の垂直ラインの前記ドライバがシフト行に関係しない場合、ルーティングは前記第１の垂直ラインを通じて冗長モード行に対して行われ、かつ、前記第１の垂直ラインの前記ドライバがシフト行に関係する場合、ルーティングは第２の垂直ラインを通じて行われることを特徴とする方法。
【請求項１１１】
プログラマブル・ロジック・デバイスをプログラムするための方法において、前記プログラマブル・ロジック・デバイスが回路アレイの行を含み、該方法は、
冗長に関連する少なくとも１つの規定条件に応じて、第１の行から動かされる第１の垂直ライン、または、第２の行から動かされる第２の垂直ラインのどちらかから信号を受信するようにルーティング接続点をプログラムすることを特徴とする方法。
【請求項１１２】
請求項１１１に記載の方法において、前記規定条件は、前記特定の行と前記垂直ラインのうち１つのドライバに関係する行との間に指定される不良行があるか否かを含むことを特徴とする方法。
【請求項１１３】
請求項１１２に記載の方法において、さらに、
前記特定の行と前記第１の垂直ラインの前記ドライバに関係する行との間に指定される不良行がない場合、該第１の垂直ラインから信号を受信するようにルーティング接続点をプログラムし、かつ、該特定の行と該第１の垂直ラインのドライバに関係する該行との間に指定される不良行がある場合、前記第２の垂直ラインから信号を受信するように前記ルーティング接続点をプログラムすることを備えることを特徴とする方法。
【請求項１１４】
請求項１１２に記載の方法において、前記特定の行と前記垂直ラインの１つのドライバと関係する行との間に指定される不良行があるかどうかの前記決定は、前記プログラマブル・ロジック・デバイスのコンフィギュレーション・ロジック回路と組み合わせてコンフィギュレーション・プログラムを用いて行われることを特徴とする方法。
【請求項１１５】
請求項１１２に記載の方法において、前記特定の行と前記垂直ラインの１つのドライバに関係する行との間に指定される不良行があるかどうかの前記決定は、コンフィギュレーション・プログラムを用いて行われることを特徴とする方法。
【請求項１１６】
請求項１１２に記載の方法において、前記特定の行と前記垂直ラインの１つのドライバに関係する行との間に指定される不良行があるかどうかの前記決定は、前記プログラマブル・ロジック・デバイスのコンフィギュレーション・ロジック回路を用いて行われることを特徴とする方法。
【請求項１１７】
電子デバイスの回路アレイの行に信号をルーティングするための複数の垂直ルーティング手段と、
特定の行のための行ルーティング経路において、少なくとも１つの第１の規定条件に応じて第１か第２の垂直ルーティング手段のどちらかから信号を受信するための正常モード受信手段と、
前記行ルーティング経路において、少なくとも１つの第２の規定条件に応じて前記第１か第２の垂直ルーティング手段のどちらかから信号を受信するための冗長モード受信手段とを備えることを特徴とする電子デバイス。
【請求項１１８】
請求項１１７に記載の電子デバイスにおいて、前記正常モード受信手段、および、前記冗長モード受信手段は、同じ手段を含むことを特徴とする電子デバイス。
【請求項１１９】
請求項１１７に記載の電子デバイスにおいて、前記第１と第２の規定条件は、同じであって、前記第１の垂直ルーティング手段の駆動手段の行と前記行ルーティング経路の前記特定の行との間に指定される不良行があるか否かを含むことを特徴とする電子デバイス。
【請求項１２０】
請求項１１７に記載の電子デバイスにおいて、さらに、前記規定条件に基づいて前記第１または第２の垂直ラインを選択するために前記正常および冗長モード受信手段を構成するための構成手段を含むことを特徴とする電子デバイス。
【請求項１２１】
請求項１２０に記載の電子デバイスにおいて、さらに、前記規定条件が存在するか否かを決定するため、および、前記規定条件が存在するか否かに基づいて前記正常および冗長モード受信手段を構成するために構成手段を制御するための論理手段を備えることを特徴とする電子デバイス。
【請求項１２２】
請求項１２１に記載の電子デバイスにおいて、前記論理手段は、前記規定条件が存在するか否かの決定の一部としてコンフィギュレーション・プログラムによって生成された受信プログラミング・データに含まれる情報を使用することを特徴とする電子デバイス。
【請求項１２３】
請求項１２２に記載の電子デバイスにおいて、前記構成手段は、コンフィギュレーション・プログラムによって生成され該電子デバイスによって受信されるプログラミング・データとともに、前記正常および冗長モード受信手段を構成するためのものであることを特徴とする電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長回路を有するプログラマブル・ロジック・デバイスに関する。
【背景技術】
【０００２】
プログラマブル・ロジック・デバイス（ＰＬＤ）（時にはＣＰＬＤ、ＰＡＬ、ＰＬＡ、ＦＰＬＡ、ＥＰＬＤ、ＥＥＰＬＤ、ＬＣＡ、ＦＰＧＡまたはその他の名前でも呼ばれる）は、固定集積回路の利点にカスタム集積回路の柔軟性を与える周知の集積回路である。この種のデバイスは技術上周知であり、一般に、少なくとも一部をユーザ固有のニーズに合わせてプログラムできる「規格品」デバイスである。特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）は伝統的に固定集積回路であるが、プログラム可能な部分（１つまたはそれ以上）を有するＡＳＩＣを提供することは可能である。従って、集積回路デバイスが、ＡＳＩＣとＰＬＤの両方の品質を持つことが可能である。ＰＬＤという用語は、本出願において使用される場合、この種のデバイスを含むのに充分に広義なものと見なされる。
【０００３】
ＰＬＤは、一般に、時にはロジック・アレイ・ブロック（ＬＡＢ；他の名前でも例えば「コンフィギュラブル・ロジック・ブロック」またはＣＬＢとも呼ばれる）論理素子のブロックを含む。論理素子（ＬＥ；他の名前でも例えば「論理セル」とも呼ばれる）は、ルックアップ・テーブル（ＬＵＴ）またはプロダクト・ターム、キャリアウト・チェーン、レジスタおよびその他の素子を含むことができる。ＬＡＢ（複数のＬＥを含む）は、ＰＬＤの長さ全体に伸びる場合も伸びない場合もある水平および垂直に接続される。
【０００４】
ＰＬＤは、プログラムまたは再プログラムできるコンフィギュレーション素子を有する。コンフィギュレーション素子は、ＲＡＭビット、フリップフロップ、ＥＥＲＯＭセルまたはその他の記憶素子として実現することができる。新しいデータをコンフィギュレーション素子に入れるということは、ＰＬＤの論理機能および関連するルーティング経路をプログラムまたは再プログラムすることである。フィールド・プログラム可能なコンフィギュレーション素子は、ＲＡＭセル（ＣＲＡＭまたはコンフィギュレーションＲＡＭとも呼ばれる）として実現されることが多い。ただし、スタティックまたはダイナミック・ランダムアクセス・メモリ、電気的消去可能読み出し専用メモリ、フラッシュ、フューズおよびアンチヒューズ・プログラマブル接続を含めて、多くのタイプのコンフィギュラブル素子を使用することができる。コンフィギュレーション素子のプログラミングは、デバイスの製造中マスク・プログラミングを通じて行うこともできる。マスク・プログラミングは、既に列記したフィールド・プログラマブル・オプションの一部に比べて短所を持つかも知れないが、特定の高容量アプリケーションにおいては有益かも知れない。本出願においては、総称「コンフィギュレーション素子」は、他のＰＬＤ素子によって実行されるまたは他のＰＬＤ素子間でルーティングする機能を決定するために設定できる任意のプログラム可能な素子を指すために使用される。
【０００５】
冗長回路を有するＰＬＤは、冗長回路を活動させることによって修復される領域をデバイスに提供することによって処理量を上げるのに役立つ。行ベースの冗長スキームは、通常は論理回路のアレイ（例えばＬＡＢのアレイおよび関連するルーティング）に少なくとも１つの冗長または「スペア」行を与える。行ベースの冗長スキームについては、例えば同時譲渡の米国特許第６，２０１，４０４号（「冗長回路を有するプログラマブル・ロジック・デバイス」）および第６，３４４，７５５号（「冗長回路を有するプログラマブル・ロジック・デバイス」）において記述されており、さらに同時譲渡継続米国特許出願第１０/１５９，５８１号（「冗長回路を有するプログラマブル・ロジック・デバイス」）において記述されている。通常は、ロジック・アレイの行のうち１つが欠陥である場合にスペア行がアクティブにされて、スペア行から不良行への各行が次の高位行に取り替えられるように、修復可能領域は、スペア行より上に形成され、このようにして欠陥領域を修復する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
１つの点においては、行シフト冗長スキームにおけるルーティング冗長が、冗長がアクティブになるか否かに応じて異なる行から同じ物理的ラインを動かす必要がある場合、単一の垂直ラインは正常モードで動く行より下の冗長モード行に冗長のための余分なドライバを必要とする可能性がある。しかし、スタガ形垂直ラインの構成においては、そうでなければ特定の信号が動かされ受信される元となる行（１つまたは複数）を効果的にシフトするために、選択的に１つの垂直ラインまたは別の垂直ラインを利用することが可能である。このように信号ルーティングのために第１または第２の垂直ラインを選択的に使用することは、行シフト冗長において追加のドライバの必要性を小さくするのに役立つ可能性がある。
【０００７】
別の点においては、冗長スキームの実現に関連して必要な決定の少なくとも一部が、プログラミング・データを生成するコンフィギュレーション・プログラムにおいてオフチップで行われる場合、特定の冗長スキームを実現するために必要とされるオンチップ・ロジックの量を最小限に抑えることができる。
【０００８】
別の点においては、スタガ形セグメント化ルーティング・アーキテクチャにおいて、欠陥はトラック・グループに属する隣接するラインを損傷する可能性がある。異なる駆動ポイントを有するラインが隣接するようにスタガ形ラインがグループ化される場合、この部分の修復可能性は限定される可能性がある。従って、スタガ形セグメント化ルーティング・アーキテクチャにおいては、修復可能性を最大限に高めるグループ化スキームが必要である。
【０００９】
別の点においては、欠陥行の位置が分かる前にスペア行の位置を予め指定しなければならない場合、修復の機会が限定される可能性がある。従って、欠陥行の位置が分かった後にスペア行の位置を指定できれば潜在的に有利である。
【００１０】
１つの形態において、本発明の一部の実施形態は、第１または第２の垂直ラインから選択的にルーティングをするための冗長スキームを実現する。別の形態においては、本発明の一部の実施形態は、垂直ラインに結合されるルーティング入力マルチプレクサの入力を制御するコンフィギュレーション素子をプログラムすることによって冗長スキームを実現する。一部の実施形態においては、コンフィギュレーション素子は対として処理される。また、マルチプレクサ入力およびステージは、コンフィギュレーション素子の対が同じコンフィギュレーション素子のフレーム内にあるように構成される。別の実施形態においては、コンフィギュレーション素子の対は連続的でもある。さらに別の実施形態においては、コンフィギュレーション素子は別個に処理され、関係するマルチプレクサ入力を制御する２つのコンフィギュレーション素子は連続的でなく異なるコンフィギュレーション素子のフレームに属する場合がある。別の形態においては、本発明の様々な実施形態は、冗長スキームを実現するためにオンチップ・ハードウェアとオフチップ・ソフトウェとの間で多様な区分を採用することができる。別の形態においては、一部の実施形態は、ドライバ行に対して上流および下流の両方の接続を有する垂直ラインを含む。さらに別の形態においては、本発明の一部の実施形態は、マルチラインの欠陥の修復可能性を最大限に大きくするために同じ行から動かされる垂直ラインの近接グループ化を行う。さらに別の形態においては、本発明の一部の実施形態は、さらに修復性を高めるためにスペア行の位置の「オンザフライ」定義を可能にすることができる。
【００１１】
本発明の新規の特徴は特許請求の範囲に示されている。ただし、説明のために本発明の特定の実施形態のいくつかの形態が、添付図面を参照して説明されている。
【実施例】
【００１２】
以下の説明は、当業者が本発明を実施し使用できるようにするためのものであり、特定の用途およびその要件について示されている。実施形態例に対する様々な修正は当業者には明白であり、本出願において定義される一般的原理は、本発明の精神および範囲を逸脱することなく他の実施形態および用途に応用できる。従って、本発明は、ここに示される実施形態に限定されるものではなく、本出願において開示される原理および特徴に合致する最大幅の範囲に合致する。
【００１３】
図１ａ−１ｃは、本発明の１つの実施形態による正常モード（図１ａ）および冗長モード（図１ｂ−１ｃ）で動作するＰＬＤの部分１００において選択される行に関する下流垂直ラインからのルーティングを示している。「下流」とは、単純に、これらのラインからの接続がライン・ドライバより下流に位置することを意味し、下流は冗長行シフト方向（冗長行シフトが現在活動中であるか否かに関係なく）に関して決定される。
【００１４】
図１ａを参照すると、ＰＬＤの部分１００は、垂直ライン１１１ａ、１１１ｂ、１１２ａおよび１１２ｂ、マルチプレクサ（“ｍｕｘ”）１２１、１２２、１２３および１２４、ドライバ１３１、１３２、１３３および１３４、接続点１０１および接続点１０２を含む。図に示されるＰＬＤの部分１００は、部分１００を含むＰＬＤのロジック・アレイの１３の行（ＲからＲ＋１２までラベルが付けられる）を含む。この説明において「アレイ」という用語は、ＰＬＤ回路の少なくとも一部が複数行のうちの１つと関連付けて見ることができることを意味する。
【００１５】
ここで示される実施形態においては、接続点１０１および１０２はフィールド・プログラム可能ではない。下でさらに説明する通り、ルーティング・パスの特定の選択を実現するために、特定の入力を選択するためのマルチプレクサのプログラミングが使用される。しかし、代替実施形態においては、必ずしも本発明の精神および範囲から逸脱することなく、接続点１０１および１０２と類似するがフィールド・プログラム可能である接続経路を、使用することができる。本出願において言及されるとき「ルーティング接続点」とは、接続点１０１および１０２など接続点、マルチプレクサ１２１−１２４などルーティング素子への入力またはその他のルーティング素子への入力を含めて、多数のタイプの素子または素子入力のうち任意の１つを指す。
【００１６】
図１ａに示される通り、論理的ライン“ＬＤ”は、ＰＬＤの部分１００の正常モードにおいて、マルチプレクサ１２３のＡｎ入力を通じてドライバ１３３への信号経路を与えるために第１の垂直ライン１１１ｂにおいて実現される。「論理的ライン」という用語はＰＬＤのユーザ（ＰＬＤユーザの一例としては信号処理システムを設計する、または、これを提供するためにＰＬＤを使用する人またはコンピュータがある）から見て利用可能な接続特性の特定のセットを意味するために使用される。論理的ラインは、使用可能な行数で測定されるある論理的長さの接続性を与える。例えば、図１ａにおいて、論理的ライン“ＬＤ”は垂直ライン１１１ｂにおいて実現され、行Ｒ＋６のドライバ１３１から接続点１０１およびルーティング入力マルチプレクサ１２３のＡｎ入力を経て行Ｒ＋１０のドライバ１３３までの接続性を与える。この接続性は、論理的長さ４を持つ、すなわちラインが動かされる行から使用可能な行４つを持つと言うことができる。図１ａは、さらに、例として、論理的ラインＬＤを含むルーティング経路を有する信号Ｓ１を示している。
【００１７】
特定の実施形態においては、マルチプレクサ１２３および１２４などのマルチプレクサは、ＬＡＢ、ＬＥ、水平ルーティング・ライン、別の垂直ルーティング・ライン（Ｖライン）、ＩＯ  ＢＵＳラインまたはその他の回路のために入力を選択することができる。本出願において、この種のマルチプレクサは時にはルーティング入力マルチプレクサと呼ばれる。
【００１８】
図１ｂを参照すると、図１ａと同じＰＬＤの部分１００が示されているが、図１ｂにおいては行Ｒ＋８が不良である点が異なる。従って、行Ｒ＋８の欠陥を考慮してＰＬＤを修復するために行Ｒ＋７より下の行をシフトするために、冗長スキームが呼び出される。図に示されるシフトされる行は、冗長モードで動作していると言うことができる。
【００１９】
図１ｂにおける行Ｒ＋８などの行は、物理的に同じ行またはもう１つの行にある欠陥ゆえに「欠陥のある」と見なすことができることが、当業者には理解されるだろう。例えば、図に示される部分１００以外のどこかの垂直ラインを行Ｒ＋８から動かすことができるが、このラインの行Ｒ＋１１にショートまたはオープンがあるかもしれない。欠陥ラインは行Ｒ＋８から動かされ、行シフト冗長スキームが行Ｒ＋８を不良と見なし、従って、行をシフトすることによってＰＬＤを修復できるかもしれないので、このような欠陥の場合行Ｒ＋８が「不良」と見なされる。従って、本出願においてある行が「欠陥」を持つと記述されるとき、それは、欠陥の物理的位置が不良と指摘される行にあろうとなかろうと、その行がデバイスの修復の観点から不良と見なされることが分かるだろう。
【００２０】
同じく図１ｂにおいて、行Ｒ＋８より下にスペア行があるが、特には示されていない。修復を行うために、ルーティング接続点は行Ｒ＋８からスペア行へ下へシフトされる。同様に、スペア行より上に規定される修復可能領域内において、多数の「冗長モード」行（例えば、行Ｒ＋９、Ｒ＋１０、Ｒ＋１１など）は、対応する多数の「正常モード」の行（例えば、行Ｒ＋８、Ｒ＋９、Ｒ＋１０など）が正常モードで使用されたであろう方法と同じ方法で、冗長モードで使用される。行シフトは、第１の垂直ライン１１１ｂが横断する行（ただし、ライン・ドライバ１３１に該当する行より下の行）で始まる。
【００２１】
この例において、論理的ラインＬＤはまだ第１の垂直ライン１１１ｂにおいて実現されているが、その接続は、接続点１０２を通じて行Ｒ＋１１と関連付けられるマルチプレクサ１２４のＢｎ入力に対して実現されている。この図１ｂの例においては、導線１１１ｂにおいて実現される接続の物理的長さは、１行分伸びるが、論理的長さは長さ４のままである。行Ｒ＋８は不良なので、これは論理的長さにはカウントされない。この例の説明を補強するために、信号Ｓ１をルーティングするための経路がこの図でも強調されており、この図では冗長モードのルーティング経路が示されている。
【００２２】
図１ｃを参照すると、図１ａ−１ｂと同じＰＬＤの部分１００が示されているが、図１ｃにおいては行Ｒ＋３が不良である点が異なる。従って、行Ｒ＋３の欠陥を考慮してＰＬＤを修復するために行Ｒ＋２より下の行をシフトするために、冗長スキームが呼び出される。行シフトは、第１の垂直ライン１１１ｂのドライバ１３１より上の行で始まり、ライン１１１ｂおよび１１２ｂによって占められる他の行において継続する。
【００２３】
この例においては、行シフトは、第１の垂直ライン１１１ａが動かされる行を含み、論理的ラインＬＤは第２の垂直ライン１１２ｂにシフトされる。この場合、論理的ラインＬＤは、行Ｒ＋７のドライバ１３２から接続点１０１およびルーティング入力マルチプレクサ１２４のＡｎ入力を通じて行Ｒ＋１１のドライバ１３４までの接続性を与える。この例における信号Ｓ１の経路が強調されている。図に示される通り、選択的なワイヤ・シフトは、ライン１１１ａが接続点１０２、マルチプレクサ１２２およびドライバ１３２を通じてライン１１２ｂへの接続性を持つように、マルチプレクサ１２２のＢｎ入力を有効にすることによって行われる。ラインＬＤの接続性の論理的長さはこの場合も４であり、行Ｒ＋７のライン１１２ｂのドライブ・ポイントと行Ｒ＋１１のルーティング接続点との間には使用不能の行はない。
【００２４】
本出願において使用される場合、“Ａ”入力および“Ｂ”入力および同様の用語は、単に１つの入力を別の入力から区別するために使用されるラベルである。同様に、「第１の」垂直ライン、「第２の」垂直ライン、「第１の」行および「第２の」行などの用語は、単に１つの垂直ライン（または行）を別の垂直ライン（または行）から区別するために使用されるラベルである。
【００２５】
図２ａ−２ｃは、本発明の１つの実施形態による正常モード（図２ａ）および冗長モード（図２ｂ−２ｃ）で動作するＰＬＤの部分２００において選択される行に関する上流垂直ラインからのルーティングを示している。「上流」とは、単純に、これらのラインからの接続点がライン・ドライバより上流に位置することを意味し、上流は冗長行シフト方向（冗長行シフトが現在活動中であるか否かに関係なく）に関して決定される。
【００２６】
図２ａを参照すると、ＰＬＤの部分２００は、垂直ライン２１１ａ、２１１ｂ、２１２ａおよび２１２ｂ、マルチプレクサ（“ｍｕｘ”）２２１、２２２、２２３および２２４、ドライバ２３１、２３２、２３３および２３４、接続点２０１および接続点２０２を含む。図に示されるＰＬＤの部分２００は、部分２００を含むＰＬＤのロジック・アレイの１３の行（ＲからＲ＋１２までラベルが付けられる）を含む。
【００２７】
図２ａに示される通り、論理的ライン“ＬＵ”は、ＰＬＤの部分２００の正常モードにおいて、行Ｒ＋１のマルチプレクサ１２３のＡｎ入力を通じてドライバ２３４に信号経路を与えるために第１の垂直ライン２１１ｂにおいて実現される。この接続性は行Ｒ＋５におけるＬＵのドライブ・ポイントから測定して論理的長さ４を持つ。図２ａは、さらに、例として、が論理的ラインＬＵを含むルーティング経路の信号Ｓ１を示している。
【００２８】
図２ｂを参照すると、図２ａと同じＰＬＤの部分２００が示されているが、図２ｂにおいては行Ｒが不良である点が異なる。従って、行Ｒの欠陥を考慮してＰＬＤを修復するために行Ｒおよび行Ｒより下の行をシフトするために、冗長スキームが呼び出される。行Ｒより下にスペア行があるが、特には示されていない。修復を行うために、ルーティング接続点は行Ｒからスペア行までシフトされる
【００２９】
この例において、論理的ラインＬＵは第２の垂直ライン２１２ｂにシフトされる。この場合、論理的ラインＬＵは、行Ｒ＋６のドライバ２３２から接続点２０１およびルーティング入力マルチプレクサ２２３のＡｎ入力を通じて行Ｒ＋２のドライバ２３３までの接続性を与える。この例においては信号Ｓ１の経路が強調されている。図に示される通り、選択的ワイヤ・シフトが垂直ライン２１１ａから垂直ライン２１２ａに生じているが、これらの導線のドライバおよびドライバ入力マルチプレクサは特に図に示されていない。このように、ワイヤ・シフトによって、信号Ｓ１は接続点２０１および行Ｒ＋６のマルチプレクサ２２２のＡｎ入力を通じて導線２１２ａから２１２ｂに流れる。ラインＬＵの接続性の論理的長さはこの場合も４であり、行Ｒ＋６のライン２１２ｂのドライブ・ポイントと行Ｒ＋２のルーティング接続点との間には使用不能の行はない。
【００３０】
図２ｃを参照すると、図２ａ−２ｂと同じＰＬＤの部分２００が示されているが、図２ｃにおいては行Ｒ＋３が不良である点が異なる。従って、行Ｒ＋３の欠陥を考慮してＰＬＤを修復するために行Ｒ＋２より下の行をシフトするために、冗長スキームが呼び出される。行シフトは、第１の垂直ライン２１１ｂのドライバ２３１より上の行で始まり、導線２１１ａおよび２１２ａによって占められる他の行において継続する。また、不良行Ｒ＋３は、関係するドライブ・ポイントと接続ポイントとの間にある。
【００３１】
この例においても、論理的ラインＬＵは第２の垂直ライン２１２ｂにシフトされる。この場合、論理的ラインＬＵは、行Ｒ＋６のドライバ２３２から接続点２０２およびルーティング入力マルチプレクサ２２４のＢｎ入力を通じて行Ｒ＋１のドライバ２３４までの接続性を与える。この例における信号Ｓ１の経路が強調されている。ラインＬＵの接続性は行Ｒ＋６から行Ｒ＋１までであるが、論理的長さの測定において不良の行Ｒ＋３はカウントされないので、ＬＵの論理的長さはこの場合も４である。
【００３２】
図３ａ−３ｃは、本発明の１つの実施形態による正常モード（図３ａ）および冗長モード（図３ｂ−３ｃ）で動作するＰＬＤの部分３００において選択される行に関する下流垂直ラインからのルーティングを示している。図３ａ−３ｃにおいて示されるラインはスペア行である行Ｒ＋５を横断する。
【００３３】
図３ａを参照すると、ＰＬＤの部分３００は、垂直ライン３１１、３１２および３１３、ドライバ３３１、３３２および３３３、接続点３０１および接続点３０２を含む。図を過度に複雑化しないようにするために、ルーティング入力マルチプレクサは特に示されていない。しかし、接続点３０１は特定の３０１接続点に対応する行と関連付けられるルーティング入力マルチプレクサのＡｎ入力への接続点であり、接続点３０２は、特定の３０２接続点に対応する行に関連付けられるルーティング入力マルチプレクサのＢｎ入力への接続点であるものと解釈される。図に示されるＰＬＤの部分３００は、部分３００を含むＰＬＤのロジック・アレイの１３の行（ＲからＲ＋１２までラベルが付けられる）を含む。
【００３４】
図３ａに示される通り、２つの論理的ラインＬＤ１およびＬＤ２は、ＰＬＤの部分３００の正常モードにおいて、それぞれの第１の垂直ライン３１１および３１２において実現される。ライン３１１は行Ｒ＋３から動かされ、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行Ｒ＋４（行Ｒ＋４ルーティング入力マルチプレクサのＡｎ入力への接続点３０１を通じて）および行Ｒ＋８（行Ｒ＋８ルーティング入力マルチプレクサのＢｎ入力への接続点３０２を通じて）にある。図３ａに示される正常モードにおいて、スペア行Ｒ＋５は使用されず（修復が必要とされないので）、従って論理的長さの測定においてはカウントされない。従って、ドライバ行（Ｒ＋３）に関してラインＬＤ１において与えられる論理的接続長さは、１および４である。言い換えると、論理的ラインＬＤ１はドライバ行から１および４の使用可能行の接続を与える。ラインＬＤ２は、同様の接続特性を有するが、別の行において垂直ライン３１２において実現される。ライン３１２は行Ｒ＋４から動かされ、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行Ｒ＋６（行Ｒ＋６ルーティング入力マルチプレクサのＢｎ入力への接続点３０２を通じて）および行Ｒ＋９（行Ｒ＋９ルーティング入力マルチプレクサのＢｎ入力への接続点３０２を通じて）にある。ラインＬＤ２において与えられる接続長さも１および４である（行Ｒ＋５は使用されないので、カウントされない）。信号経路は、例として信号Ｓ１およびＳ２に関して正常モードの時ＬＤ１およびＬＤ２によって与えられる接続性を示すために強調されている。
【００３５】
図３ｂを参照すると、図３ａと同じＰＬＤの部分３００が示されているが、図３ｂにおいては行Ｒ＋４およびＲ＋９が不良である点が異なる。第１の修復可能領域はスペア行Ｒ＋５より上に形成される。別のスペア行が存在するが、スペア行Ｒ＋５より下には特に示されていない。このように、第２の修復可能領域がスペア行Ｒ＋５より下、かつ、図には示されないスペア行より上に形成される。従って、行Ｒ＋４および行Ｒ＋９の欠陥を考慮してＰＬＤを修復するために行Ｒ＋４および行Ｒ＋８より下の行をシフトするために、冗長スキームが呼び出される。
【００３６】
論理的ラインＬＤ１は、同じ垂直ライン３１１上に実現される。しかし、行Ｒ＋４が不良と見なされ、行Ｒ＋５がアクティブになるので、行Ｒ＋４のライン３１１接続点は、行Ｒ＋５マルチプレクサのＢｎ入力への接続点３０２を通じて（行Ｒ＋５は冗長モードにおいてはアクティブ）行Ｒ＋５にシフトされる。従って、ラインＬＤ１は、やはり行Ｒ＋３ドライバから１および４の論理的長さ（使用可能行を測定して）の接続性を有する。
【００３７】
論理的ラインＬＤ２は、行Ｒ＋５のドライバ３３３によって動かされる垂直ライン３１３にシフトする。垂直ライン３１３は、行Ｒ＋６マルチプレクサのＡｎ入力への接続点３０１を通じて行Ｒ＋６に、また行Ｒ＋１０マルチプレクサのＢｎ入力への接続点３０２を通じて行Ｒ＋１０に接続性を与える。不良行Ｒ＋９は使用されないので、ラインＬＤ２のドライバに関する接続長さはやはり１および４である。
【００３８】
例として信号Ｓ１およびＳ２に関して図３ｂの冗長モードにおいてＬＤ１およびＬＤ２によって与えられる接続性を示すために、信号経路が強調されている。
【００３９】
図３ｃを参照すると、図３ａ−３ｂと同じＰＬＤの部分３００が示されているが、図３ｃにおいては行Ｒ＋１およびＲ＋９が不良である点が異なる。従って、行Ｒ＋１および行Ｒ＋９の欠陥を考慮してＰＬＤを修復するために行Ｒ＋１、Ｒ＋２、Ｒ＋３およびＲ＋４をシフトしかつ行Ｒ＋８より下の行をシフトするために、冗長スキームが呼び出される。
【００４０】
論理的ラインＬＤ１およびＬＤ２は、それぞれの第２の垂直ライン３１２および３１３にシフトする。第２の垂直ライン３１２に実現される論理的ラインＬＤ１は、行Ｒ＋５マルチプレクサのＡｎ入力への接続点３０１を通じてスペア行Ｒ＋５（冗長モードにおいてはアクティブ）に、また行Ｒ＋８マルチプレクサのＡｎ入力への別の接続点３０１を通じて行Ｒ＋８に接続性を与える。従って、ラインＬＤ１は、この冗長モードにおいて行Ｒ＋４にあるラインのドライブ・ポイントから１および４の論理的長さの接続性を有する。
【００４１】
第２の垂直ライン３１３に実現される論理的ラインＬＤ２は、行Ｒ＋６マルチプレクサのＡｎ入力への接続点３０１を通じて行Ｒ＋６に、また行Ｒ＋１０マルチプレクサのＢｎ入力への接続点３０２を通じて行Ｒ＋１０に接続性を与える。不良行Ｒ＋９は使用されないので、ラインが動かされる行（この冗長モードにおいて行Ｒ＋５）に対して相対的な接続性長さは、やはり１および４である。
【００４２】
例として信号Ｓ１およびＳ２について図３ｃの冗長モードにおいてＬＤ１およびＬＤ２によって与えられる接続性を示すために、信号経路は強調されている。
【００４３】
図４ａ−４ｃは、本発明の１つの実施形態による正常モード（図４ａ）および冗長モード（図４ｂ−４ｃ）で動作するＰＬＤの部分４００において選択される行に関する上流垂直ラインからのルーティングを示している。図４ａ−４ｃにおいて示されるラインはスペア行である行Ｒ＋５を横断する。
【００４４】
図４ａを参照すると、ＰＬＤの部分４００は、垂直ライン４１１、４１２および４１３、ドライバ４３１、４３２および４３３、接続点４０１および接続点４０２を含む。図を過度に複雑化しないようにするために、ルーティング入力マルチプレクサは特に示されていない。しかし、接続点４０１は特定の４０１接続点に対応する行に関連付けられるルーティング入力マルチプレクサのＡｎ入力への接続点であり、接続点４０２は、特定の４０２接続点に対応する行に関連付けられるルーティング入力マルチプレクサのＢｎ入力への接続点であるものと解釈される。図に示されるＰＬＤの部分４００は、部分４００を含むＰＬＤのロジック・アレイの１３の行（ＲからＲ＋１２までラベルが付けられる）を含む。
【００４５】
図４ａに示される通り、２つの論理的ラインＬＵ１およびＬＵ２は、ＰＬＤの部分４００の正常モードにおいて、それぞれの第１の垂直ライン４１１および４１２において実現される。ライン４１１は行Ｒ＋７から動かされ、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行Ｒ＋６（行Ｒ＋６ルーティング入力マルチプレクサのＡｎ入力への接続点４０１を通じて）および行Ｒ＋２（行Ｒ＋２ルーティング入力マルチプレクサのＢｎ入力への接続点４０２を通じて）にある。図４ａに示される正常モードにおいて、スペア行Ｒ＋５は使用されず（他の行への修復が必要とされないので）、従って論理的長さの測定においてはカウントされない。従って、ドライバ行（Ｒ＋７）に関してラインＬＵ１において与えられる論理的接続長さは、１および４である。ラインＬＵ２は同様の接続特性を有するが、行は異なる。ラインＬＵ２は、正常モードにおいて垂直ライン４１２において実現される。ライン４１２は行Ｒ＋８から動かされ、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行Ｒ＋７（行Ｒ＋７ルーティング入力マルチプレクサのＡｎ入力への接続点４０１を通じて）および行Ｒ＋３（行Ｒ＋３ルーティング入力マルチプレクサのＢｎ入力への接続点４０２を通じて）にある。このように、ラインＬＵ２において与えられる接続長さも１および４である（行Ｒ＋５は使用されないので、カウントされない）。例として信号Ｓ１およびＳ２に関して正常モードの時ＬＵ１およびＬＵ２によって与えられる接続性を示すために、信号経路は強調されている。
【００４６】
図４ｂを参照すると、図４ａと同じＰＬＤの部分４００が示されているが、図４ｂにおいては行Ｒ＋３が不良である点が異なる。修復可能領域はスペア行Ｒ＋５より上に形成される。従って、行Ｒ＋３の欠陥を考慮してＰＬＤを修復するために行Ｒ＋３およびＲ＋４をシフトするために、冗長スキームが呼び出される。
【００４７】
論理的ラインＬＵ１は、同じ垂直ライン４１１上に実現される。導線４１１の接続パターンは同じままであり、行Ｒ＋６のルーティング入力マルチプレクサ（行Ｒ＋６ルーティング入力マルチプレクサのＡｎ入力への接続点４０１を通じて）および行Ｒ＋２のルーティング入力マルチプレクサ（行Ｒ＋２ルーティング入力マルチプレクサのＢｎ入力への接続点４０２を通じて）に接続性が与えられる。ここではスペア行Ｒ＋５が使用されるので、論理的長さの測定においてカウントされる。ただし、行Ｒ＋３不良であり、論理的長さ測定においてカウントされない。従って、ラインＬＵ１は、やはり行Ｒ＋７ドライバから１および４の論理的長さ（使用可能行を測定して）の接続性を有する。
【００４８】
論理的ラインＬＵ２も、同じ垂直ライン４１２上に実現される。ただし、不良の行Ｒ＋３におけるライン４１２の接続は、行Ｒ＋４ルーティング入力マルチプレクサのＡｎ入力への接続点４０１を通じて行Ｒ＋４にシフトする。ここでスペア行Ｒ＋５はアクティブにされ、論理的長さの測定においてカウントされるので、ラインＬＵ２は、やはり行Ｒ＋８ドライバから１および４の接続性を与える。
【００４９】
例として信号Ｓ１およびＳ２に関して図４ｂの冗長モードにおいてＬＵ１およびＬＵ２によって与えられる接続性を示すために、信号経路が強調されている。
【００５０】
図４ｃを参照すると、図４ａ−４ｂと同じＰＬＤの部分４００が示されているが、図４ｃにおいては行Ｒ＋１およびＲ＋８が不良である点が異なる。第１の修復可能領域がスペア行Ｒ＋５より上に形成される。別のスペア行が存在するが、行Ｒ＋５より下には特に示されていない。従って第２の修復可能領域がスペア行Ｒ＋５より下に形成される。図に示される通り、行Ｒ＋１および行Ｒ＋８の欠陥を考慮してＰＬＤを修復するために行Ｒ＋１、Ｒ＋２、Ｒ＋３およびＲ＋４および行Ｒ＋７より下の行をシフトするために、冗長スキームが呼び出される。
【００５１】
論理的ラインＬＵ１はやはり同じ垂直ライン４１１上に実現される。ただし、行Ｒ＋２のライン４１１の接続は、行Ｒ＋３ルーティング入力マルチプレクサのＡｎ入力への接続点４０１を通じて行Ｒ＋３にシフトする。ここでスペア行Ｒ＋５はアクティブにされ、論理的長さの測定においてカウントされるので、ラインＬＵ１は、やはり行Ｒ＋７ドライバから１および４の論理的長さの接続性を与える。
【００５２】
論理的ラインＬＵ２は垂直ライン４１３にシフトする。第２の垂直ライン４１３上に実現されるラインＬＵ２は、行Ｒ＋７ルーティング入力マルチプレクサのＢｎ入力への接続点４０２を通じて行Ｒ＋７に、また行Ｒ＋４マルチプレクサのＢｎ入力への接続点４０２を通じて行Ｒ＋４に接続性を与える。ここで行Ｒ＋５が使用され、論理的長さの測定においてカウントされるが、不良の行Ｒ＋８はカウントされない。従って論理的ラインが動かされる行（冗長モードにおいては行Ｒ＋９）に対して相対的な接続長さはやはり１および４である。
【００５３】
例として信号Ｓ１およびＳ２について図４ｃの冗長モードでＬＤ１およびＬＤ２によって与えられる接続性を示すために、信号経路は強調されている。
【００５４】
図５ａ−５ｃは、本発明の１つの実施形態による正常モード（図５ａ）および冗長モード（図５ｂ−５ｃ）で動作するＰＬＤの部分５００において選択される行に関し上流および下流の両方の接続性を与える垂直ラインからのルーティングを示している。図５ａ−５ｃにおいて示されるラインはスペア行である行Ｒ＋３を横断するかまたはこの行において終了する。別のスペア行が行Ｒ＋１１に在る。
【００５５】
図５ａを参照すると、ＰＬＤの部分５００は、垂直ライン５１１、５１２および５１３、ドライバ５３１、５３２および５３３、接続点５０１および接続点５０２を含む。図を過度に複雑化しないようにするために、ルーティング入力マルチプレクサは特に示されていない。しかし、接続点５０１は特定の５０１接続点に対応する行と関連付けられるルーティング入力マルチプレクサのＡｎ入力への接続点であり、接続点５０２は、特定の５０２接続点に対応する行に関連付けられるルーティング入力マルチプレクサのＢｎ入力への接続点であるものと解釈される。図に示されるＰＬＤの部分５００は、部分５００を含むＰＬＤのロジック・アレイの１３の行（ＲからＲ＋１２までラベルが付けられる）を含む。
【００５６】
図５ａに示される通り、２つの論理的ラインＬＵＤ１およびＬＵＤ２は、ＰＬＤの部分５００の正常モードにおいて、それぞれの第１の垂直ライン５１１および５１２上に実現される。ライン５１１は行Ｒ＋４から動かされ、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行Ｒ＋１（行Ｒ＋１ルーティング入力マルチプレクサのＢｎ入力への接続点５０２を通じて）および行Ｒ＋６（行Ｒ＋６ルーティング入力マルチプレクサのＡｎ入力への接続点５０１を通じて）にある。図５ａに示される正常モードにおいて、スペア行Ｒ＋３およびＲ＋１１は使用されず（他の行への修復が必要とされないので）、従って論理的長さの測定においてはカウントされない。従って、ドライバ行（Ｒ＋４）に関するラインＬＤ１において与えられる論理的接続長さは、上流に２（行Ｒ＋１まで）および下流に２（行＋６まで）である。ラインＬＵＤ２は同様の接続特性を有するが、行が異なる。ラインＬＵＤ２は、正常モードにおいて、垂直ライン５１２上において実現される。ライン５１２は行Ｒ＋５から動かされ、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行Ｒ＋２（行Ｒ＋２ルーティング入力マルチプレクサのＢｎ入力への接続点５０２を通じて）および行Ｒ＋７（行Ｒ＋７ルーティング入力マルチプレクサのＡｎ入力への接続点５０１を通じて）にある。このように、ラインＬＵＤ２において与えられる接続長さも上流に２（行Ｒ＋２まで）および下流に２（行Ｒ＋７まで）である。例として信号Ｓ１およびＳ２に関して正常モードの時ＬＵＤ１およびＬＵＤ２によって与えられる接続性を示すために、信号経路は強調されている。
【００５７】
図５ｂを参照すると、図５ａと同じＰＬＤの部分５００が示されているが、図５ｂにおいては行ＲおよびＲ＋４が不良である点が異なる。第１の修復可能領域はスペア行Ｒ＋３より上に形成され、第２の修復可能領域は行Ｒ＋１１より上（かつ行Ｒ＋３より下）に形成される。従って、行ＲおよびＲ＋４の欠陥を考慮してＰＬＤを修復するために行Ｒ、Ｒ＋１およびＲ＋２および行Ｒ＋４、Ｒ＋５、Ｒ＋６、Ｒ＋７、Ｒ＋８、Ｒ＋９およびＲ＋１０をシフトするために、冗長スキームが呼び出される。
【００５８】
論理的ラインＬＵＤ１およびＬＵＤ２は、それぞれの第２の垂直ライン５１２および５１３にシフトする。第２の垂直ライン５１２上に実現されるラインＬＵＤ１は、行Ｒ＋２マルチプレクサのＢｎ入力への接続点５０２を通じて行Ｒ＋２に上流接続性を、また行Ｒ＋７マルチプレクサのＡｎ入力への接続点５０１を通じて行Ｒ＋７に下流接続性を与える。ここで行Ｒ＋３（およびＲ＋１１）は使用されるので、論理的長さの測定においてカウントされるが、不良の行ＲおよびＲ＋４はカウントされない。従って、論理的ラインが動かされる行（この冗長モードにおいては行Ｒ＋５）に関する接続長さはやはり上流に２（行Ｒ＋２まで）および下流に２（行Ｒ＋７まで）である。
【００５９】
第２の垂直ライン５１３上に実現されるラインＬＵＤ２は、行Ｒ＋３マルチプレクサのＢｎ入力への接続点５０２を通じて行Ｒ＋３に上流接続性を、また行Ｒ＋８マルチプレクサのＡｎ入力への接続点５０１を通じて行Ｒ＋８に下流接続性を与える。ここで行Ｒ＋３（およびＲ＋１１）は使用されるので、論理的長さの測定においてカウントされるが、不良の行ＲおよびＲ＋４はカウントされない。従って、論理的ラインが動かされる行（この冗長モードにおいては行Ｒ＋６）に関する接続長さはやはり上流に２（行Ｒ＋３まで）および下流に２（行Ｒ＋８まで）である。
【００６０】
例として信号Ｓ１およびＳ２に関して図５ｂの冗長モードにおいてＬＵＤ１およびＬＵＤ２によって与えられる接続性を示すために、信号経路が強調されている。
【００６１】
図５ｃを参照すると、図５ａ−５ｂと同じＰＬＤの部分５００が示されているが、図５ｃにおいては行Ｒ＋２およびＲ＋６が不良である点が異なる。図に示される通り、行Ｒ＋２および行Ｒ＋６の欠陥を考慮してＰＬＤを修復するために行Ｒ＋２および行Ｒ＋６、Ｒ＋７、Ｒ＋８、Ｒ＋９およびＲ＋１０をシフトするために、冗長スキームが呼び出される。
【００６２】
論理的ラインＬＵＤ１は同じ垂直ライン５１１上において実現される。ただし、行Ｒ＋６におけるライン５１１接続点は、行Ｒ＋７ルーティング入力マルチプレクサのＢｎ入力への接続点５０２を通じて行Ｒ＋７にシフトされる。スペア行Ｒ＋３（およびＲ＋１１）はここでアクティブにされ、論理的長さの測定においてカウントされるので、ラインＬＵＤ１は、やはり行Ｒ＋４ドライバから上流に２（行Ｒ＋２まで）および下流に２（行Ｒ＋７まで）の論理長さの接続性を与える。
【００６３】
論理的ラインＬＵＤ２はそのまま同じ垂直ライン５１２に実現される。ただし、行Ｒ＋２のライン５１２接続点は、行Ｒ＋３ルーティング入力マルチプレクサのＡｎ入力への接続点５０１を通じて行Ｒ＋３にシフトする。また、行Ｒ＋７のライン５１２接続点は行Ｒ＋８ルーティング入力マルチプレクサのＢｎ入力への接続点５０２を通じて行Ｒ＋８にシフトする。論理的ラインＬＵＤ２は、やはり行Ｒ＋５ドライバから上流に２（行Ｒ＋３まで）および下流に２（行Ｒ＋８まで）の論理的長さの接続性を与える。
【００６４】
例として信号Ｓ１およびＳ２について図５ｃの冗長モードにおいてＬＵＤ１およびＬＵＤ２によって与えられる接続性を示すために、信号経路は強調されている。
【００６５】
図１ａ−２ｃにおいて示される垂直ラインは、ドライバから４つの使用可能な行の論理的長さ（図１ａ−１ｃにおいて下流、図２ａ−２ｃにおいて上流に）の接続性を与えるために利用される。図３ａ−４ｃにおいて示される垂直ラインはドライバから１および４の使用可能な行の論理的長さ（図３ａ−３ｃにおいて下流、図４ａ−４ｃにおいて上流に）の接続性を与えるために利用される。図５ａ−５ｃにおいて示される垂直ラインは、ドライバに関して上流に２、および下流に２の論理的長さの接続性を与えるために利用される。
【００６６】
図１ａ−５ｃに示されるラインは、全て、ラインの論理的長さが４であることを示す“Ｖ４”ラインと呼ぶことができる。ここで、「論理的長さ」とは、ラインの上流論理的長さと下流論理的長さの合計と解釈できる。上流論理的長さは、ラインのドライバから（ただし、ドライバ行はカウントしない）最も遠い使用可能な上流接続点までの使用可能な行の数と解釈できる。同様に、下流論理的長さは、ラインのドライバから（ただしドライバ行はカウントしない）最も遠い使用可能な下流接続点までの使用可能な行の数と解釈できる。下流論理的長さプラス上流論理的長さが合計論理的長さとなる。例えば、図１ａ−１ｃおよび３ａ−３ｃのＶラインは、特定のモードにおいて最大下流接続性４および上流接続性ゼロを与えるので、下流論理的長さ４を有する。図２ａ−２ｃおよび４ａ−４ｃのＶラインは、特定のモードにおいて最大上流接続性４および下流接続性ゼロを与えるので、上流論理的長さは４である。図５ａ−５ｃのＶラインは、特定のモードにおいて、最大上流接続性２および最大下流接続性２を与えるので、上流論理的長さ２および下流論理的長さ２を有し、合計論理的長さは４である。
【００６７】
参照されるＶ４ラインは、この論理的長さより長い物理的長さを有する。図１ａ−４ｃに示されるＶラインは、５物理的行分の物理的長さを有し、図５ａ−５ｃに示されるＶラインは６物理的行分の物理的長さを有する。図１ａ−４ｃに示される純粋に上流または下流ラインにおいて、ラインのドライバから下流に５番目の行（図１ａ−１ｃおよび図３ａ−３ｃにおいて）またはラインのドライバから上流に５番目の行（図２ａ−２ｃおよび図４ａ−４ｃ）において接続可能なラインの部分は「拡張」部分と呼ぶことができる。上流および下流両方の接続性を与える図５ａ−５ｃのＶラインにおいて、ラインのドライバから下流に３番目の行および上流に３番目の行において接続可能なラインの部分は、同様に拡張部分と呼ぶことができる（この意味で、図５ａ−５ｃのＶラインは２つの拡張部分、すなわち下流端の拡張部分および上流端の拡張部分を有する）。ここで、「拡張」とは、単に、一貫した論理的長さを維持するために最長接続の物理的長さを延長するために使用できるラインの部分を意味する。このように、図に示され上に記述される様々な例において、ラインが「不良」と指定される行（例えば正常モードにおいて使用されないスペア行または冗長モードで使用されない欠陥行）を横断するときラインの「拡張部分」が使用される。
【００６８】
図に示される本発明の冗長スキームは、図に示される以外の長さおよび図に示されるのとは異なるドライブ・ポイントを有する垂直ライン・ネットワークにおいて実現できることが、当業者には分かるだろう。例えば、このスキームは、もっとずっと大きい長さを有しかつずっと大きい数の行に接続する垂直ライン上に実現することができる。
【００６９】
図６ａ−６ｂは、図１ａ−５ｃに示されるルーティング冗長スキームの実現を容易にするように配列される入力およびコンフィギュレーション素子を有するルーティング入力マルチプレクサ（“ｍｕｘ”）６００を示している。図１ａ−５ｃを参照すると、垂直ラインからルーティング入力マルチプレクサまで示される様々なルーティング経路を、特定の入力を選択するためのルーティング入力マルチプレクサのプログラミングに基づいて選択できることが、当業者には分かるだろう。例えば、図１ａおよび１ｃを参照すると、図１ａの信号Ｓ１用の経路（論理的ラインＬＤを含めて）は、Ａｎ入力を選択するようにマルチプレクサ１２１をプログラムしかつＡｎ入力を選択するようにマルチプレクサ１２３をプログラムすることによって実現されるのに対して、図１ｃの信号Ｓ１用経路（同様に論理的ラインＬＤを含めて）は、Ｂｎ入力を選択するようにマルチプレクサ１２２をプログラムしかつＡｎ入力を選択するようにマルチプレクサ１２４をプログラムすることによって実現される。さらなる例として、図３ａおよび３ｃを参照すると、図３ａの信号Ｓ２用経路（論理的ラインＬＤ２を含めて）は、Ｂｎ入力を選択するように接続点３０２を通じてライン３１２に結合される行Ｒ＋６ルーティング入力マルチプレクサをプログラムしかつＢｎ入力を選択するように接続点３０２を通じてライン３１２に結合される行Ｒ＋９ルーティング入力マルチプレクサをプログラムすることによって（ルーティング入力マルチプレクサは特に図に示されていない）実現され、図３ｃの信号Ｓ２用経路（同じく論理的ラインＬＤ２を含めて）は、Ａｎ入力を選択するように接続点３０１を通じてライン３１３に結合される行Ｒ＋６ルーティング入力マルチプレクサをプログラムしかつＢｎ入力を選択するように接続点３０２を通じてライン３１３に結合される行Ｒ＋１０ルーティング入力マルチプレクサをプログラムすることによって（マルチプレクサは特に示されていない）実現される。
【００７０】
図６ａを参照すると、ルーティング入力マルチプレクサ６００の例が示されている。ルーティング入力マルチプレクサ６００は、本発明の１つの実施形態に関連して使用できるルーティング入力マルチプレクサの単なる一例を示している。図１ａ−５ｃを説明する際に言及されるマルチプレクサ（例えば図１ａ−１ｃにおけるマルチプレクサ１２３および１２４）などのマルチプレクサは、特定の状況において、図６ａのマルチプレクサ６００などもっと大きいルーティング入力マルチプレクサ内のいくつのも入力のうちの２つを表しているに過ぎないと解釈できることが、当業者には分かるだろう。
【００７１】
さらに図６ａを参照すると、マルチプレクサ６００は、第１ステージ６００-１および第２ステージ６００-２を含む。第１ステージ６００-１はコンフィギュレーション素子１０、１１、１２および１３および第１ステージ・マルチプレクサ６１０、６１１および６１２を含む。コンフィギュレーション素子１０、１１、１２および１３は、図に示される通り、マルチプレクサ６１０、６１１および６１２の制御入力に結合される。第１ステージ・マルチプレクサ６１０、６１１および６１２は、様々な入力を通じて信号を受信するように結合される。第１ステージ・マルチプレクサ６１０は入力Ａ０、Ａ１、Ｘ０およびＸ１を受信するように結合される。第１ステージ・マルチプレクサ６１１は入力Ｂ０、Ｂ１、Ｙ０およびＹ１を受信するように結合される。第１ステージ・マルチプレクサ６１２は入力Ｃ０、Ｃ１、Ｚ０およびＺ１を受信するように結合される。第２ステージ６００-２はコンフィギュレーション素子２０、２１、２２および２３、および第２ステージ・マルチプレクサ６２０を含む。コンフィギュレーション素子２０、２１、２２および２３は、図に示される通りマルチプレクサ６２０の制御入力に結合される。第２ステージ・マルチプレクサ６２０は、図に示される通りそれぞれのマルチプレクサ・ライン６０１、６０２および６０３を通じて第１ステージ・マルチプレクサ６１０、６１１および６１２の出力から入力を受けるように結合される。第２ステージ・マルチプレクサ６２０の出力は、出力６００ｏｕｔにおいてマルチプレクサ６００の出力を与える。
【００７２】
図６ｂは、図６ａのマルチプレクサ６００の一部をさらに詳細に示している。特に、図６ｂは、第１ステージ構成ブロック６００-１ａおよび第２ステージ６００-２のさらなる詳細を示している。
【００７３】
第１ステージ構成ブロック６００-１ａは、トランジスタ・パスゲート６１０-１、６１０-２、６１１-１、６１１-２、６１２-１および６１２-２を含む。これらのトランジスタ・パスゲートは、図に示される通り、それぞれ入力Ａ０、Ａ１、Ｂ０、Ｂ１、Ｃ０およびＣ１に結合される。パスゲート６１０-１および６１０-２はマルチプレクサ・ライン６０１に結合され、パスゲート６１１-１および６１１-２はマルチプレクサ・ライン６０２に結合され、パスゲート６１２-１および６１２-２はマルチプレクサ・ライン６０３に結合される。パスゲート６１０-１、６１１-１および６１２-１は全てコンフィギュレーション素子１０に結合され、パスゲート６１０-２、６１１-２、６１２-２は全てコンフィギュレーション素子１１に結合される。第１ステージ６００-１は他のコンフィギュレーション素子（１２および１３）への他の入力（Ｘ０、Ｘ１、Ｙ０、Ｙ１、Ｚ０、Ｚ１）に関する同様の別の第１ステージ構成ブロックも含むことが、当業者には分かるだろう。この他の構成ブロックは特に図には示されない。
【００７４】
第２ステージ６００-２は、それぞれコンフィギュレーション素子２０、２１、２２および２３に結合されるトランジスタ・パスゲート６２０-１、６２０-２、６２０-３および６２０-４を含む。パスゲート６２０-１、６２０-２および６２０-３は、それぞれマルチプレクサ・ライン６０１、６０２および６０３にも結合される。コンフィギュレーション素子２０および２１はそれぞれラベル“ＣＲＡＭ  Ａ”および“ＣＲＡＭ  Ｂ”が付けられる。“ＣＲＡＭ”という用語は、特定の実施形態においてコンフィグレーション素子をＲＡＭセルとして実現できることを示す「コンフィギュレーション・ランダムアクセス・メモリ」を意味している。ただし、背景技術の項で述べた通り、コンフィギュレーション素子は他の手段によって実現することも可能である。
【００７５】
図６ａ−６ｂにおいて示される例において、入力Ａ０、Ｂ０、Ａ１およびＢ１は、例えば図１ａ−５ｃに示される垂直ラインなど本発明に従った指定の冗長スキームに関連する垂直ルーティング・ラインからの信号を受信するように結合することができると解釈される。図１ａ−５ｃにおいて、図に示される各ルーティング入力マルチプレクサは対の入力ＡｎとＢｎにおいて２本の垂直ラインから信号を受信する。マルチプレクサ６００は、２対の入力Ａ０、Ｂ０およびＡ１、Ｂ１においてこの種の最高４本の垂直ラインから信号を受信するのに適する。マルチプレクサ６００への他の入力（例えば、Ｃ０、Ｃ１、Ｙ０、Ｙ１、Ｚ０、Ｚ１）は他のルーティング・リソース（例えば、水平ライン、ＬＥアウトプットなど、または同じ冗長スキームに組み込まれない他の垂直ライン。この「他の垂直ライン」とは、場合によっては別の冗長スキームに関連する垂直ラインを含む場合がある）からの信号を受信するために使用される、と解釈される。
【００７６】
コンフィギュレーション素子１０および１１のプログラミングは、それぞれのマルチプレクサ・ライン６０１、６０２、６０３が（ｉ）それぞれの入力Ａ０、Ｂ０、Ｃ０から信号を受信するのか、（ii）それぞれの入力Ａ１、Ｂ１、Ｃ１から信号を受信するのか、あるいは（iii ）（ｉ）でも（ii）でもないのか、を決定する。コンフィギュレーション素子２０および２１のプログラミングは、出力６００ｏｕｔが（ｉ）マルチプレクサ・ライン６０１から信号を受信するのか、（ii）マルチプレクサ・ライン６０２から信号を受信するのか、あるいは（iii ）（ｉ）でも（ii）でもないのか、を決定する。例えば、第１ステージ６００-１において信号Ａ０、Ｂ０およびＣ０がマルチプレクス・ライン６０１、６０２および６０３に与えられるために選択されており、かつコンフィギュレーション素子２２および２３が“０”に設定される（トランジスタ６２０-３および６２０-４からの出力が出力６００ｏｕｔに与えられないように）とすると、コンフィギュレーション素子２０（“ＣＲＡＭ  Ａ”）およびコンフィギュレーション素子２１（“ＣＲＡＭ  Ｂ”）のプログラミングは、６００ｏｕｔに出力を与えるのが入力Ａ０であるかＢ０であるかの選択を決定する。
【００７７】
本実施形態の１つによれば、マルチプレクサ６００およびその関連する入力の配列は、２つのコンフィギュレーション素子（例えば、“ＣＲＡＭ  Ａ”および“ＣＲＡＭ  Ｂ”のラベルが付けられる２０または２１）のプログラミングに応じてＡｎ入力とＢｎ入力との間（例えば、マルチプレクス６００の入力Ａ０とＢ０あるいは入力Ａ１とＢ１との間）の選択ができるようにする。これによって、マルチプレクサのＡｎ入力とＢｎ入力との間の選択が、「フリップ」することによってすなわち２つのコンフィギュレーション・ビットを交換することによって（例えば、ＣＲＡＭ  Ａにおいて保持されるコンフィギュレーション・ビットをＣＲＡＭ  Ｂにおいて保持されるコンフィギュレーション・ビットと交換することによって）「フリップ」できるようにする。別の形態においては、これらの２つのコンフィギュレーション素子（例えば、ＣＲＡＭ  ＡおよびＣＲＡＭ  Ｂ）は同じコンフィギュレーション素子のフレームにおいて与えられる。言い換えると、図６ｂに示される通り、ＣＲＡＭ  ＡおよびＣＲＡＭ  Ｂは、同じコンフィギュレーション素子の垂直スパンに存在する（例えば、素子２０、２１、２２および２３は全て同じフレームにある）。図８に関連して下にさらに説明する通り、プログラマブル・ロジック・デバイスは、フレームことにプログラムできる。ここで、「フレーム」とはコンフィギュレーション素子の垂直スパンを意味するか、またはコンフィギュレーション素子の垂直スパンにロードされるデータを意味することができる。さらに別の形態において、２つのコンフィギュレーション素子は連続的である。言い換えると、図６ｂに示される通り、同じコンフィギュレーション素子のフレームにおいてＣＲＡＭ  ＡとＣＲＡＭ  Ｂとの間には他のコンフィギュレーション素子はない。
【００７８】
上に説明した通り、図６ａ−６ｂは、何を「第２ステージ」冗長保護と呼ぶことができるかを示している。言い換えると、図１ａ−５ｃに示される冗長スキームは、１つの実施形態においては、ルーティング入力マルチプレクサの第２ステージの一部を制御する２つの隣接するコンフィギュレーション・ビットが冗長スキームに関連する垂直ルーティング・ワイヤに結合される入力ＡｎかＢｎを選択するようにプログラムされるマルチプレクサ６００の配列などマルチプレクサ配列によって、実現することができる。他の例においては、すぐ前に説明した第２ステージ冗長保護の状況において、指定の同じ冗長スキームに関連する垂直ラインから信号を受信するために、マルチプレクサ６００と同様のマルチプレクサにおいて入力Ｘ０、Ｙ０、Ｘ１およびＹ１のポジションと同様のポジションを占める入力を使用することもできる。
【００７９】
次に、図７ａ−７ｂに関連して、可能な多くの配列のうちの１つである「第１ステージ」冗長保護について説明する。
【００８０】
図７ａ−７ｂは、図１ａ−５ｃに示されるルーティング冗長スキームの実現を容易にするように配列される入力およびコンフィギュレーション素子を有する代替ルーティング入力マルチプレクサ（“ｍｕｘ”）７００を示している。
【００８１】
図７ａを参照すると、マルチプレクサ７００は、第１ステージ７００-１および第２ステージ７００-２を含む。第１ステージ７００-１はコンフィギュレーション素子１０’、１１’、１２’および１３’および第１ステージ・マルチプレクサ７１０、７１１および７１２を含む。コンフィギュレーション素子１０’、１１’、１２’および１３’は、図に示される通り、マルチプレクサ７１０、７１１および７１２の制御入力に結合される。第１ステージ・マルチプレクサ７１０、７１１および７１２は様々な入力を通じて信号を受信するように結合される。第１ステージ・マルチプレクサ７１０は入力Ａ０’、Ｂ０’、Ｘ０’およびＹ１’を受信するように結合され、第１ステージ・マルチプレクサ７１１は入力Ａ１’、Ｂ１’、Ｘ１’およびＹ１’を受信するように結合され、第１ステージ・マルチプレクサ７１２は入力Ａ２’、Ｂ２’、Ｘ２’およびＹ２’を受信するように結合される。第２ステージ７００-２はコンフィギュレーション素子２０’、２１’、２２’および２３’、および第２ステージ・マルチプレクサ７２０を含む。コンフィギュレーション素子２０’、２１’、２２’および２３’は、図に示される通りマルチプレクサ７２０の制御入力に結合される。第２ステージ・マルチプレクサ７２０は、図に示される通りそれぞれのマルチプレクサ・ライン７０１、７０２および７０３を通じて第１ステージ・マルチプレクサ７１０、７１１および７１２の出力から入力を受けるように結合される。第２ステージ・マルチプレクサ７２０の出力は、出力７００ｏｕｔにおいてマルチプレクサ７００の出力を与える。
【００８２】
図７ｂは、図７ａのマルチプレクサ７００の一部をさらに詳細に示している。特に、図７ｂは、第１ステージ構成ブロック７００-１ａ（２つの第１ステージ構成ブロックのうちの１つ）および第２ステージ７００-２のさらなる詳細を示している。
【００８３】
第１ステージ構成ブロック７００-１ａは、トランジスタ・パスゲート７１０-１、７１０-２、７１１-１、７１１-２、７１２-１および７１２-２を含む。これらのトランジスタ・パスゲートは、図に示される通り、それぞれ入力Ａ０’、Ｂ０’、Ａ１’、Ｂ１’、Ｃ０’およびＣ１’に結合される。パスゲート７１０-１および７１０-２はマルチプレクサ・ライン７０１に結合され、パスゲート７１１-１および７１１-２はマルチプレクサ・ライン７０２に結合され、パスゲート７１２-１および７１２-２はマルチプレクサ・ライン７０３に結合される。パスゲート７１０-１、７１１-１および７１２-１は全てコンフィギュレーション素子１０’に結合され、パスゲート７１０-２、７１１-２、７１２-２は全てコンフィギュレーション素子１１’に結合される。コンフィギュレーション素子１０’および１１’にはそれぞれ“ＣＲＡＭ  Ａ”および“ＣＲＡＭ  Ｂ”のラベルが付けられる。
【００８４】
第２ステージ７００-２は、それぞれコンフィギュレーション素子２０’、２１’、２２’および２３’に結合されるトランジスタ・パスゲート７２０-１、７２０-２、７２０-３および７２０-４を含む。パスゲート７２０-１、７２０-２および７２０-３は、それぞれマルチプレクサ・ライン７０１、７０２および７０３にも結合される。
【００８５】
図７ａ−７ｂにおいて示される例において、入力Ａ０’、Ｂ０’、Ａ１’、Ｂ１’、Ａ２’およびＢ２’は、例えば図１ａ−５ｃに示される垂直ラインなど本発明に従った冗長スキームを実現する垂直ルーティング・ラインからの信号を受信するように結合することができると解釈される。前述の通り、図１ａ−５ｃにおいて示される各ルーティング入力マルチプレクサは対の入力ＡｎとＢｎにおいて２本の垂直ラインから信号を受信する。マルチプレクサ７００は、３対の入力すなわち（ｉ）Ａ０’、Ｂ０’、（ii）Ａ１’、Ｂ１’および（iii ）Ａ２’、Ｂ２’においてこの種の最高６本の垂直ラインから信号を受信するのに適する。マルチプレクサ７００への他の入力（例えば、Ｘ０’、Ｙ０’、Ｘ１’、Ｙ１’、Ｘ２’、Ｙ２’）は他のルーティング・リソース（例えば、水平ライン、ＬＥアウトプットなど、または同じ冗長スキームに組み込まれない他の垂直ライン）からの信号を受信するために使用される、と解釈される。他の例においては、本出願において説明される第１ステージ冗長保護において、指定の同じ冗長スキームに関連する垂直ラインから信号を受信するために、マルチプレクサ７００と同様のマルチプレクサにおいて入力Ｘ０’、Ｙ０’、Ｘ１’、Ｙ１’、Ｘ２’およびＹ２’のポジションと同様のポジションを占める入力を使用することもできる。
【００８６】
コンフィギュレーション素子１０’および１１’のプログラミングは、それぞれのマルチプレクサ・ライン７０１、７０２、７０３が（ｉ）それぞれの入力Ａ０’、Ａ１’、Ａ２’から信号を受信するのか、（ii）それぞれの入力Ｂ０’、Ｂ１’、Ｂ２’から受信するのか、あるいは（iii ）（ｉ）でも（ii）でもないのか、を決定する。コンフィギュレーション素子２０’、２１’および２２’のプログラミングは、出力７００ｏｕｔに対して信号を与えるためにどのマルチプレクサ・ライン（７０１、７０２、７０３）が選択されるかを決定する。
【００８７】
従って、図７ｂに示されるマルチプレクサ７００の配列の下では、Ａ’入力が選択されるかＢ’入力が選択されるかはコンフィギュレーション素子１０’（ＣＲＡＭ  Ａ）および１１’（ＣＲＡＭ  Ｂ）のプログラミングによって決定される。例えば、コンフィギュレーション素子１０’が保持する値がハイ（ｈｉｇｈ）であり、コンフィギュレーション素子１１’が保持する値がロー（ｌｏｗ）である場合、入力Ａ０’、Ａ１’、Ａ２’からの信号が、それぞれのマルチプレクサ・ライン７０１、７０２および７０３に与えられる。Ａ０’、Ａ１’およびＡ２’が最終的に７００ｏｕｔに与えられるか否かは、第２ステージ７００-２のコンフィギュレーション素子のプログラミングによって決まる。ただし、第２ステージに“Ａ”入力が送られるか“Ｂ”入力が送られるかを決定するのはコンフィギュレーション素子１０’および１１’である。素子１０’が保持する値がローでありかつ素子１１’が保持する値がハイであるように素子１０’および１１’のビットが「フリップ」される場合、Ｂ’入力（すなわち、Ｂ０’、Ｂ１’、Ｂ２’）が第２ステージに送られる。
【００８８】
図６ａ−６ｂの実施形態と同様、図７ａ−７ｂの実施形態は、Ａｎ入力とＢｎ入力との間の選択が同じコンフィギュレーション素子の垂直スパンすなわち「フレーム」に属する２つの素子のプログラミングによって決まるようなマルチプレクサの構成、および入力の配列を示している。この図７ａ−７ｂの例において、素子（１０’および１１’）はルーティング入力マルチプレクサの第２ステージではなく第１ステージに関係する。
【００８９】
他の状況においては、ルーティング入力マルチプレクサはもっと少ないまたはもっと多くのステージを持つことができ、ビットフリップに基づいてＡ入力とＢ入力の間で選択するために様々な代替配列を利用することができることが、当業者には分かるだろう。
【００９０】
図８は、本発明の実施形態を実現できるＰＬＤのコンフィギュレーション部分を例証するＰＬＤコンフィギュレーション部分８００を示している。部分８００は、データレジスタ８５０、アドレスレジスタ８７０、コンフィギュレーション素子８０１のグリッド８１０、アドレスライン８１１およびデータライン８１２を含む。データレジスタ８５０は、データレジスタＡ（“ＤＲＡ”）８２０およびデータレジスタＢ（“ＤＲＢ”）８３０を含む。
【００９１】
コンフィギュレーション素子８０１は、部分８００を一部として含むＰＬＤの回路の間に分散される。各コンフィギュレーション素子は、図８の例においてはＬＡＢ行Ｒ［ｍ］からＲ［ｍ＋５］までを含めてＬＡＢ行の回路を制御する。複数のデータライン８１２が各ＬＡＢ行に関連付けられる（例えば、図８は、各ＬＡＢ行Ｒ［ｍ］からＲ［ｍ＋５］までに関連付けられるデータライン８１２を示している）。ＰＬＤのコンフィギュレーション素子は、例えば列Ｃ［ｍ］からＣ［ｍ＋４］までを含めてＬＡＢの列にも関連付けられる。各ＬＡＢ列は、コンフィギュレーション・グリッドの複数のフレームによってプログラムすることができる。例えば、図に示される通り、ＬＡＢ列Ｃ［ｍ］は、フレームｆ１、ｆ２、ｆ３、ｆ４、ｆ５、ｆ６およびｆ７と関連付けられる。「フレーム」は、アドレスライン８１１によって電気的に関係するコンフィギュレーション素子８０１の単一の垂直スパンと定義される。
【００９２】
コンフィギュレーション素子８０１のグリッド８１０などコンフィギュレーション素子のグリッドをプログラムするための典型的なシーケンスは、次のように説明することができる。単一のフレームのプログラミング・データがＤＲＡ８２０にロードされる。このデータが次にＤＲＢ８３０にロードされる。アドレスレジスタ８７０は、ＤＲＢ８３０とコンフィギュレーション素子の特定のフレーム（例えば、フレームｆ１）との間のデータライン８１２を通じて電気経路を開く単一のアドレスライン８１１に関するハイ値を送ることによって、素子８０１のグリッド８１０において１つのフレームを「アサート」する。このシーケンスは、グリッド８１０の全てのフレームについてのデータがロードされるまでフレームごとに反復される。
【００９３】
本出願において使用される場合、「フレーム」という用語は、電気的に関係するコンフィギュレーション素子の垂直スパンかこれらの素子にロードされるコンフィギュレーション・データを指すことができる。図８を参照すると、図６ａ−６ｂまたは７ａ−７ｂの例と合致するコンフィギュレーション素子の同じフレームに属する２つの連続する素子を示すために、フレームｆ８の２つのコンフィギュレーション素子８０１の例にラベル“ＣＲＡＭ  Ａ”および“ＣＲＡＭ  Ｂ”が付けられている。
【００９４】
図９は、図８のＤＲＡ８２０のさらなる詳細を示している。ＤＲＡ８２０は、図に示される通りに結合されるシフト・セグメント８５とマルチプレクサ８２を含む。シフト・セグメント８５はシフト素子８１を含む。データはトップからＤＲＡ８２０にロードされ、シフト・セグメント８５の様々なシフト素子８１にシフトされる。各シフト素子８１は、図８のコンフィギュレーション素子８０１にロードされるビットに対応する単一のビットを保持する。各シフト・セグメントは特定のＬＡＢ行（例えば、Ｒ［ｍ］、Ｒ［ｍ＋１］、Ｒ［ｍ＋２］など）に関連付けられるコンフィギュレーション素子のデータを保持することができる。冗長モードに基づいて、マルチプレクサ８２は前の行のシフト・セグメント８５からまたは前の行の前の行からの入力データを選択するかまたはそのいずれも選択しないように、制御入力８２-ｓで制御される。図９の配列は、例えば図１ａ−５ｃに示されるような様々な正常モードおよび冗長モードにおいて行シフトを行うために行を選択的にバイパスするかあるいはすぐ下の行にシフトさせることができることが、当業者には分かるだろう。効果的な行シフト構造および方法には多くの代替例があることが当業者には分かるだろう。一例を挙げると、マルチプレクサ８２などのマルチプレクサは、行バイパスを行うために依存することなく行シフトのために依存することができる。このような代替形態においては、行バイパスは、バイパスされた行に対応する関連シフト・セグメントにロードされた値をクリアすることによって行うことができる。図９の例は、本発明を実現するための１つの実施例を示している。
【００９５】
図１０は、図６ｂおよび７ｂにおいて“ＣＲＡＭ  Ａ”および“ＣＲＡＭ  Ｂ”のラベルが付けられるコンフィギュレーション・ビットなど２つのコンフィギュレーション・ビットＡおよびＢに関するビットフリップ決定を実行するためのプロセス１０００を示している。このビットフリップ決定は、図１ａ−５ｃにおいて言及されるマルチプレクサ入力など“Ａｎ”マルチプレクサ入力と“Ｂｎ”マルチプレクサ入力との間の選択を決定することができる。
【００９６】
特定のルーティング素子の観点から見て、ＡまたはＢマルチプレクサ入力を選択すると、信号を受信するのが第１の垂直ラインからかまたは第２の垂直ラインからかを選択することになる。例えば、図１ｂを参照すると、マルチプレクサ１２４は、信号をドライバ１３４へのルーティング信号をライン１１１ｂと１１２ｂとの間で選択することができる。下にさらに説明する通り、この選択は、例えば、指定される不良行（例えば欠陥冗長モード行または正常モードにおける未使用スペア行）が、ドライバ行と接続点行との間にあるか否かなど、冗長に関係する条件に基づくことができる。他の例においては、冗長に関係する他の条件（正常モードまたは冗長モードにおいて存在する、およびそのデバイスが設計されるべき１つ以上の冗長スキームに関する条件を含めて）がこの種の選択のトリガーとなりうる。
【００９７】
１つの形態において、このような冗長関係の選択は、特定の物理的ラインにおける特定の論理的ラインを指定することができる。この論理的ラインは、その後、ユーザが最終的に実現する設計において特定の信号をルーティングするために選択される多くの論理的ラインのうちの１つになり得る。ただし、図１０および図１２のプロセスを含めて例として示されるプロセスは、必ずしも特定の論理的ラインの位置を考慮に入れる必要はない。これらのプロセスは、指定される不良行、ルーティング素子行、Ｖライン・ドライバ行の間の関係および接続が上流か下流かに関する情報にのみ依存する。代替プロセスは、他の観点に依存することが考えられる。例えば、代替プロセスは、特定の論理的ライン（最終的にユーザに利用可能になる論理的ライン）が第１の垂直ライン上に実現されるか第２の垂直ライン上に実現されるかを考慮に入れることができる。この観点から見ると、第１の垂直ラインまたは第２の垂直ライン上に特定の論理的ラインを指定するための決定は、例えば、第１の垂直ラインのドライバがシフトされた行にあるか否かに依存する。
【００９８】
図１０の実施形態例を参照すると、プロセス１０００は、図１ａ−５ｃに示される冗長スキームに関連付けられるＶラインに結合されるマルチプレクサ入力の対のビット“ＡＢ”がデフォルトとして“１０”に設定されると仮定する。このようなセッティングはＡｎマルチプレクサ入力を選択することになる（図１ａ−５ｃに示される例においては、Ａｎ入力は１本のＶ４ラインに結合され、Ｂｎマルチプレクサ入力は別のＶ４ラインに結合される）。プロセス１０００は、さらに、いくつかのコンフィギュレーション・ビット対は図１ａ−５ｃに示される冗長スキームに関連付けられるＶラインに結合される入力の選択に関係しないと仮定する。このように仮定して、プロセス１０００は、特定のビット対が指定の冗長スキームに関連付けられる垂直ライン（例えば、図１ａ−５ｃのＶ４ライン）に結合されるマルチプレクサ入力に関連付けられるか否かを、またもし関連付けられる場合にはＡｎ入力を選択するためにこれらのビットを“１０”に設定すべきかあるいはＢｎ入力を選択するために「フリップ」して“０１”に設定すべきかを決定する。
【００９９】
ブロック１００１において、プロセス１０００は、特定のビット対ＡＢが指定のスキームに関連付けられるＶラインからの接続点を有効にするか否かを決定する。この決定が“ノー”である場合、ブロック１００２に示される通り、プロセス１０００はこのビット対を操作せず、このビット対は、既に指定されている値のままである。この決定が“イエス”である場合、ブロック１００３は設定されるＶラインからの接続点がライン・ドライバに対して上流であるか下流であるか（すなわち冗長行シフト方向に関して上流か下流か）を決定する。
【０１００】
関係するＶライン接続がライン・ドライバから上流である場合、ブロック１００５は、行Ｒ［ｎ］より下のＬｕｐ個の行に不良行があるか否かを決定する。“Ｌｕｐ”はＶラインの上流論理的長さである。この場合、長さは４である。行Ｒ［ｎ］は、ビット対ＡＢによってプログラムされるルーティング入力マルチプレクサに関連付けられる行（行シフトがある場合にはこれが行われた後）を意味する。「不良」行は、単に特定のモード（正常または冗長）においてその行が使用されないことを意味するに過ぎない。ＰＬＤの正常モードにおいては、スペア行に指定された行は使用されない。従って、プロセス１０００の観点から見ると、スペア行は、たとえこの行が欠陥行でなくても、この行を含むＰＬＤ部分が正常モードで動作する場合「不良」である。ここで、「不良」とは単に特定のモード（正常または冗長）において使用されない行を識別するための表示である。ブロック１００５の結果が“ノー”である場合、ブロック１０１１に示される通り、ビットはＡｎ入力を選択するためにＡＢ＝１０に設定される。これはプロセス１０００が応用されない場合のデフォルト・ビット・セッティングであると仮定されることに留意すること。ブロック１００５の結果が“イエス”である場合、ブロック１００７は、行Ｒ［ｎ＋Ｄ］が不良行でありかつ１＜＝Ｄ＜＝Ｌｕｐであるように、“Ｄ”を定義する。ブロック１００９は、接続点と関係するルーティング入力マルチプレクサのＡｎ入力に結合されるＶラインのドライバとの間の論理的距離を決定（または識別）し、この距離の値から“Ｄ”を差し引く。ブロック１００９の結果が０以上（＞＝０）である場合、すなわち関係するＶライン・ドライバと接続点との間に不良行がある場合、ブロック１０１０に示される通り、ビット対がＡＢ＝０１と設定するように操作される。これによってルーティング入力マルチプレクサのＢｎ入力が選択される。ブロック１００９の結果が０未満（＜０）の場合、すなわち行Ｒ［ｎ］接続点と関連するルーティング入力マルチプレクサのＡｎ入力に結合されるＶライン・ドライバとの間に不良行がない場合、ブロック１０１１に示される通り、ビット対はＡｎ入力を選択するためにＡＢ＝１０に設定される。
【０１０１】
関係するＶライン接続点がライン・ドライバから下流にある場合、ブロック１００６は、行Ｒ［ｎ］より上のＬｄｗｎ個の行に不良行があるか否かを決定する。“Ｌｄｗｎ”はＶラインの下流論理的長さである。ブロック１００６の結果が“ノー”である場合、ブロック１０１１に示される通り、ビットはＡｎ入力を選択するためにＡＢ＝１０に設定される。ブロック１００６の結果が“イエス”である場合、ブロック１００８は、行Ｒ［ｎ-Ｄ］が不良行でありかつ１＜＝Ｄ＜＝Ｌｄｗｎであるように“Ｄ”を定義する。ブロック１００８において定義された“Ｄ”を用いて、プロセス１０００は前述の通りブロック１００９から先に進む。
【０１０２】
図１０のプロセス１０００は、冗長行シフトが行われたまたは行われると仮定して実行できることが、当業者には分かるだろう。この実施形態の一実施例においては、このような透明性は、図１ａ−５ｃに示される指定のスキームを利用しない他のＶラインに関連付けられる接続のために同じＰＬＤにおいて他の冗長スキームを実現できるようにする。例えば、Ｖ１６ライン（すなわち１６の論理的長さのライン）などもっと長いＶラインからの接続に関して、論理的ラインを異なる物理的ワイヤにシフトすることなく行シフトを行うために異なる行に複数のドライブ・ポイントを与える別のスキームを、図１ａ−５ｃに示される指定のスキームがＶ４ライン接続に応用される同じＰＬＤにおいて実現することができる。このように単一のラインに複数のドライブ・ポイントを含むスキームの例については、米国特許出願第１０/１５９，５８１号（「冗長回路を有するプログラマブル・ロジック・デバイス」）の開示の一部の形態を参照のこと。（米国特許出願第１０/１５９，５８１号は多くの形態を開示しており、本出願または前記の特許において明示されることは他方の範囲を限定するものと解釈されるべきではないことに、留意すること）。
【０１０３】
プロセス１０００は、ソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組合せで容易に実行できることが、当業者には分かるだろう。
【０１０４】
図１１は、本発明の１つの実施形態の形態に従ったユーザ・コンピュータ１１７０によるＰＬＤ１１００のプログラミングを示している。ユーザ・コンピュータ１１７０はコンフィギュレーション記憶装置１１９０にまたその後ＰＬＤに送られるプログラミング・データ１１８０を生成するためのコンフィギュレーション・プログラム１１７５を含む。記憶装置１１９０はプログラミング・データ１１８０を保持し、指定されるモードのときデータ１１８０をＰＬＤ１１００に伝送する。（代替例においては、まず別個のデバイスが保持することなくデータを直接ユーザ・コンピュータからＰＬＤに伝送することができる。また、特定の代替例においては、コンフィギュレーション記憶装置をＰＬＤ自体の一部とすることができる）。ＰＬＤ１１００は、制御ブロック（“ＣＢ”）１１１０、データレジスタ１１５０およびフューズ・レジスタ１１４０を含む。フューズ・レジスタ１１４０は、特定の行が「不良」（既述のとおり、正常モードにおいては非欠陥スペア行を含み、冗長モードにおいては欠陥行を含むことができる）と指定されるか否かを指示する情報を保持する。「フューズ・レジスタ」という用語は、本出願において、単にこのようなレジスタを指すラベルである。特定の例においては、この種のレジスタはプログラムされたフューズ・レジスタの場合もあるしそうではない場合もある。ＣＢ１１１０は、プログラミング・データ１１８０を受け取って、このデータを用いてコンフィギュレーション・ビットストリーム１１８５を生成する。このビットストリームは、ＰＬＤ１１００の領域を設定するために制御ブロック１１１０によってデータレジスタ１１５０に与えられる。コンフィギュレーション・プログラム１１７５は、部分１１７６を含む。制御ブロック１１１０は、コンフィギュレーション・ロジック１１１１を含む。
【０１０５】
ユーザ・コンピュータのソフトウェア部分１１７６とＰＬＤ１１００のコンフィギュレーション・ロジック部分１１１１は一緒に、図１０のプロセス１０００を実行する（また、ロジック部分１１１１は、プロセス１０００の実行の一部としてフューズ・レジスタからのデータも利用する）。特に、ソフトウェア部分１１７６は、ＡＢビット対が指定の冗長スキームに関連付けられるＶライン（例えば、図１ａ−５ｃに示されるＶ４ライン）からの接続点をプログラムするためのものであるか否か、またそうであるならこれらの接続点は関係するライン・ドライバから上流であるか下流であるかを指示する情報を使って、ビット対をコード化する。さらに、ソフトウェア部分１１７６は、関係するＶライン・ドライバとＡＢビット対によって設定されるＶライン接続点の行との間の距離を示す情報を使ってＡＢビット対をコード化する。このようにして図１１のソフトウェア部分１１７６は、図１０のブロック１００１および１００３によって示されるプロセス１０００のステップを実施するために充分な情報をプログラミング・データ１１８０に追加し、さらに、ブロック１００９において示されるステップを実施するために使用される情報も追加する。Ｖ４ラインにおいては、均等の４ビット・コード化スキームが採用される場合、ビット対に関するこの情報を伝えるために使用されるプログラミング・データ１１８０内の４ビットストリームが下の表１に要約されている。
【０１０６】
【表１】
2006014297.tif 000003
【０１０７】
上の表１の第２行を参照すると、ビット３が“０”のとき、本発明のスキームによって与えられる冗長保護が利用されない（例えば、関係する接続が本発明の冗長スキームに関連付けられるＶ４ラインからではない）。その結果、プロセス１０００のブロック１００２を関与させることになり、プログラミング・ビットはプログラム１１７５によって決定される通りに設定される。従って、ＡおよびＢコンフィギュレーション・ビットの値は、ビット１およびビット０など特定の４ビットストリームにおいて “Ｄａｔａ１”および“Ｄａｔａ０”としてプログラミング・データ１１８０に含まれる。この場合、ビット２は一貫性のためのパディング・ビットであり、０に設定される。ＣＢ１１１０およびロジック１１１１がこのビット・シーケンスを受信すると、ビット３が“０”なので、Ｄａｔａ１およびＤａｔａ０がデータレジスタ１１５０にロードされるコンフィギュレーション・ビットストリームに含まれるべきコンフィギュレーション値を与えるものであると認識する。
【０１０８】
表１の第３行を参照すると、ビット３が“１”の場合、本発明のスキームの冗長保護が呼び出される。この場合、“ＡＢ”対の正確な値を決定するためにはさらなる情報が必要とされる。従って、この場合、プログラム部分１１７６は、ＡＢ対の値を決定する際にロジック１１１１が使用する情報をコード化する。特にビット２はＶ４ライン接続点が上流であるか下流であるかを指示するために使用される。
【０１０９】
ビット１およびビット０は、接続と関係するＶライン・ドライバとの間の距離を指示するために使用される。Ｖ４ラインの場合、この距離の最大値は“４”であり、従って、この例において、この情報を表すために２つのビットが必要であり、かつ充分である。ここで例証される実施形態は、冗長スキームがもっと長いＶラインからの接続に応用される場合にはもっと多くのビットを含むように修正できることが、当業者には分かるだろう。また、ある長さのラインについて情報またはその他の情報を伝えるために必要なビットの数は、異なるタイプおよび（または）非標準タイプの２進コード化が使用される場合には変わる可能性がある。
【０１１０】
例証される例に戻ると、ビット３が“１”の場合、ＣＢ１１１０のロジック１１１１は、ＡＢ対に関して設定する値を決定するためにプロセス１０００を実行するために、ビット２（ラインが上流か下流かを指示する）およびビット１とビット０（接続と関係するドライバとの間の距離を指示する）によって与えられる情報、並びにどの行が“不良”と指定されるかに関してフューズ・レジスタ１１４０から与えられる情報を使用する。次に、ＣＢ１１１０は、データレジスタ１１５０にロードするためにコンフィギュレーション・ビットストリーム１１８５にこの値を与える。
【０１１１】
図１０のプロセス１０００などのプロセス（または本発明の範囲に含まれる別のプロセス）を実行するために図１１に示されるソフトウェア/ハードウェア区分について、必ずしも本発明の精神および範囲から逸脱することなく多くの代替形態を利用できることが、当業者には分かるだろう。その一例を挙げると、ユーザ・コンピュータのコンフィギュレーション・プログラムは、代替形態において、ＰＬＤフューズ・レジスタから「不良」行データを受信し、ソフトウェアにおいてプロセス１０００全体を実行し、その後、全てのＡＢ対について明白なビット決定を既に含んでいるＰＬＤにプログラミング・データを伝送することができる。別の一例を挙げると、プロセス１０００の全てのロジックをフューズ情報およびビットが特定の冗長スキームに関連付けられる上流ラインへの接続を設定するのか下流ラインへの接続を設定するのかに関してまたこれらの接続点と関係するＶライン・ドライバとの間の距離に関してオンチップで生成される情報に基づいて、ＰＬＤの制御ブロックにおいて実行することができる。別の一例を挙げると、ビット「フリップ」すなわちビット「選択」を実行するハードウェアは、例えばデータレジスタに分散されるハードウェアまたは関係するコンフィギュレーション素子に局部的に分散されるハードウェアなど、ＰＬＤの制御ブロックの外部のハードウェアを含むことができる。この種の代替ハードウェア分散の例はデータレジスタ内でビットフリップを行うための、図９のＤＲＡ８２０の素子８１など素子間のマルチプレクサを含む。あるいは、その代わりに、図６ｂあるいは７ｂにおいて“ＣＲＡＭ  Ａ”および“ＣＲＡＭ  Ｂ”のラベルが付けられるものなどコンフィギュレーション素子に、局部的に追加の２：１マルチプレクサを与えることができる。このような２：１マルチプレクサは、“ＣＲＡＭ  Ａ”と“ＣＲＡＭ  Ｂ”との間のローカル・ビット・ルーティングを行う。例証される実施形態のこれらのまたその他の代替形態は、必ずしも本発明の精神および範囲から逸脱することなく可能であることが、当業者には分かるだろう。
【０１１２】
例証される主たる実施形態において、コンフィギュレーション・ロジック１１１１などオンチップ・ロジックは、専用回路によって実行される。しかし、代替形態においては、このようなオンチップ・ロジックを、本発明に従ってプロセスまたはプロセスの部分を実行するためのソフトウェアを実行するチップに埋め込まれた汎用プロセッサによって実行することができる。１つの例において、プログラム１１７５などコンフィギュレーション・プログラムの実行の一部として、この種のソフトウェアをユーザ・コンピュータ１１７０などユーザ・コンピュータからダウンロードすることができる。
【０１１３】
図１２は、ルーティング接続点に関するコンフィギュレーション・ビットについてビット・セッティング決定を実行するためのプロセス１２００を示す流れ図である。このようなビット・セッティング決定の結果は、例えば図１ａ−５ｃにおいて言及される“Ａｎ”マルチプレクサ入力あるいは“Ｂｎ”マルチプレクサ入力などマルチプレクサ入力を制御することができる。図１２のプロセス１２００は、本発明の範囲に従った図１０のプロセス１０００の多くの可能な代替形態のうちの１つを示している。プロセス１２００は、ビットを対ではなく個々に処理する。プロセス１２００は、設定されるビットが同じコンフィギュレーション素子のフレームに属する連続するコンフィギュレーション素子に関するものであるか否かに関係なく、応用することができる。
【０１１４】
プロセス１２００は、ビットを設定するためのプログラミング・データがデフォルト値を指定すると仮定し、その後このデフォルト値を修正すべきか否かを決定する。
【０１１５】
ブロック１２０１において、プロセス１２００は、設定対象である特定のビットが指定のスキームに関連付けられるＶライン（例えば、この例を図１ａ−５ｃに示されるスキームに応用する場合これらの図に示されるＶ４ライン）からの接続点を有効にするものであるか否かを決定する。このブロック１２０１の決定が“ノー”である場合、ブロック１２０１に指示される通り、プロセス１２００はコンフィギュレーション・ビット（関係するＣＲＡＭにロードされるビット）をデフォルト値に設定する。このブロック１２０１の決定が“イエス”である場合、ブロック１２０３は設定される接続点がライン・ドライバから上流であるか下流であるか（すなわち冗長行シフト方向に関して上流であるか下流であるか）を決定する。
【０１１６】
関係するＶライン接続点がライン・ドライバから上流にある場合、ブロック１２０５は行Ｒ［ｎ］より下のＬｕｐ個の行に不良行があるか否かを決定する。ここでＬｕｐはＶラインの上流論理的長さである。行Ｒ［ｎ］はビットによってプログラムされるルーティング入力マルチプレクサに関連付けられる行（行シフトが行われる場合には、これが行われた後）である。ブロック１２０５の結果が“ノー”である場合、ブロック１２０２に指示される通り、ビットはデフォルト値に設定される。ブロック１２０５の結果が“イエス”である場合、ブロック１２０７は行Ｒ［ｎ＋Ｄ］が不良行でありかつ１＝＜Ｄ＝＜Ｌｕｐであるように“Ｄ”を定義する。ブロック１２０９は、ビットを設定するためにＤを用いてプログラミング・データにおいてコード化された択一的ビット値のうち１つを選択する。択一的ビット値のコード化および選択については表２に関連して下でさらに説明する。
【０１１７】
関係するＶライン接続点がライン・ドライバから下流にある場合、ブロック１２０６は行Ｒ［ｎ］より上のＬｄｗｎ個の行に不良行があるか否かを決定する。ここで、ＬｄｗｎはＶラインの下流論理的長さである。ブロック１２０６の結果が“ノー”の場合、ブロック１２０２に示される通り、ビットはプログラミング・データにおいて指定されるデフォルト値に従って設定される。ブロック１２０６の結果が“イエス”である場合、ブロック１２０８は、行Ｒ［ｎ-Ｄ］が不良行でありかつ１＝＜Ｄ＝＜Ｌｄｗｎであるように“Ｄ”を定義する。ブロック１２０８において定義された“Ｄ”を用いて、プロセス１２００は、ビットを設定するためにプログラミング・データにおいてコード化された択一的ビット値のうち１つを選択するためにブロック１２１０に進む。
【０１１８】
プロセス１２００は、図１１の修正版コンフィギュレーション・プログラム１１７５などユーザ・コンフィギュレーション・プログラムと図１１の修正版コンフィギュレーション・ロジック１１１１などオンチップ・ロジックの組合せを用いて実行することができる。この種のコンフィギュレーション・プログラムは、ＰＬＤにロードするためのプログラミング・データを与える。Ｖ４ラインからの接続点をプログラムするためのビット（例えば図１ａ−５ｃにおいて“Ａｎ”または“Ｂｎ”マルチプレクサ入力をプログラムするためのビット）を設定するためにコンフィギュレーション・プログラムによって与えられるプログラミング・データに関連して、この例においてはＣＲＡＭにロードされる単一のビット値をコード化するために使用されるプログラミング・データの７つのビットについて下の表２を参照して説明する。
【０１１９】
【表２】
2006014297.tif 000004
【０１２０】
表２は、図１２のプロセス１２００に従って特定のＣＲＡＭをプログラムするために特定のコンフィギュレーション・ビットを設定するためにＰＬＤが使用できるユーザ・コンピュータで実行されるコンフィギュレーション・プログラムによって与えられるデータを表している。表２を参照すると、ビット６’は、プログラムされる接続点が指定の冗長スキームに関連付けられるＶラインからの接続点であるか否かを指示する。このビットの値の決定は、プロセス１２００のブロック１２０１に関係し、コンフィギュレーション・プログラムによって実行することができる。表２の第２行を参照すると、接続点が指定の冗長スキームに関連付けられるＶ４ライン接続に関係しない場合、ビット６’＝０である。ブロック１２０２に指示される通り、接続点が関係する冗長接続に関係しない場合、関係するＣＲＡＭビットを設定するためにデフォルト値が選択される。関係するＣＲＡＭビットのデフォルト値への設定は、デフォルト値が設定されるべきであることを指示するビット６’およびデフォルト値が何であるかを指示するビット４’に基づいて、コンフィギュレーション・ロジックによってオンチップで行うことができる。この場合、表２の残りのビットは、ビット５’、 ビット３’、 ビット２’、 ビット１’およびビット０’を含めて、全て一貫性のためのパディングとして（すなわち、設定対象である各ビットのプログラミング・データが７ビットの一貫した長さを有するように）含まれ、“０”に設定される。
【０１２１】
表２の第３行を参照すると、接続点が指定の冗長スキームに関連付けられるＶ４ライン接続に関係することをビット６’が示す場合、すなわちこの例においてビット６’＝１の場合、ブロック１２０３に示される通り、プロセス１２００は、接続点がライン・ドライバから上流であるか下流であるかを決定する。プロセス１２００のブロック１２０３は、コンフィギュレーション・プログラムによって実行することができ、ブロック１２０３の結果は、接続が上流であるか下流であるかを指示するビット５’によって表される。この場合にも、ビット４’はデフォルト値を指示する。デフォルト値の決定はコンフィギュレーション・プログラムによって実行することができる。ビット３’、ビット２’、ビット１’およびビット０’は、各々、接続点の行に対して相対的な特定の行が不良である場合にＣＲＡＭビットが設定されるべき値を示す。例えば、特定の行が不良であるか否かの決定はフューズ・レジスタからの入力に基づいてコンフィギュレーション・ロジックがオンチップで行う。このコンフィギュレーション・ロジックは、不良行データを用いて、ステップ１２０５および１２０７（上流接続の場合）あるいはステップ１２０６および１２０８（下流接続の場合）を実行し、その後これらのステップの結果すなわちＤを用いて、ビット３’、ビット２’、ビット１’またはビット０’のうちから１つＣＲＡＭビットの値を選択する。ここでＤは接続点行からの不良行の距離である。この例において、これらのビットの値はコンフィギュレーション・プログラムによって決定され、プログラミング・データと一緒に含まれるのに対して、ＣＲＡＭビットを設定するために行われる値のうちの１つの選択はオンチップ・コンフィギュレーション・ロジックによって行われる。
【０１２２】
図１０のプロセス１０００と同様、図１２のプロセス１２００は、図１ａ−５ｃにおいて示される指定のスキームを利用しない他のＶラインに関連付けられる接続のために同じＰＬＤにおいて他の冗長スキームを実現できるようにすることが、当業者には分かるだろう。さらに、プロセス１２００はソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組み合わせにおいて容易に実現できるロジックを表すことが、当業者には分かるだろう。上記の説明は、本発明の範囲内に含まれるソフトウェア/ハードウェア区分の一例を示しているのに過ぎない。
【０１２３】
図１３ａおよび１３ｂは、正常モード（図１３ａ）および冗長モード（図１３ｂ）で動作するＰＬＤの部分１３００における垂直ルーティング・ラインに関するトラック・グループの物理的配列を示している。図に示される配列は、冗長機能を有する垂直ライン用のスタガ形セグメント化ルーティング・アーキテクチャにおいて、本発明の１つの実施形態の１つの形態に従って修復性を強化するために有益である。
【０１２４】
図１３ａを参照すると、部分１３００は、部分１３００をその一部として含むＰＬＤの合わせて５つの行（Ｒ、Ｒ＋１、Ｒ＋２、Ｒ＋３およびＲ＋４）の垂直ラインおよび垂直ラインの部分を含む。図に示されるラインは、トラック・グループとして配列されていると言うことができ、各グループは特定の行から動かされる垂直ラインを含む。第１のグループは、行Ｒから動かされるライン１１１-１、１１１-２および１１１-３を含む。第２のグループは、行Ｒ＋１から動かされるライン１１２-１、１１２-２および１１２-３を含む。第３のグループは、行Ｒ＋２から動かされるライン１１３-１、１１３-２および１１３-３を含む。第４のグループは、行Ｒ＋３から動かされるライン１１４-１、１１４-２および１１４-３を含む。また、第５のグループは、行Ｒ＋４から動かされるライン１１５-１、１１５-２および１１５-３を含む。単に図１３ａに示される正常モードにおいて与えられる可能性のある信号経路の一部を例示するために、代表的な信号Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５およびＳ６がそれぞれライン１１１-１、１１１-２、１１２-１、１１２-３、１１３-２および１１４-１に示されている。行Ｒ＋４はスペア行なので、図に示される正常モードにおいてはしようされない。従って、図１３ａに示される通り、行Ｒ＋４から動かされるラインは信号経路を与えるために使用されていない。
【０１２５】
図１３ｂを参照すると、同じ部分１３００が示されているが、図１３ｂの例においては、欠陥１３ｘがライン１１２-１、１１２-２および１１２-３を欠陥ラインにしている。欠陥はこれらのラインの行Ｒ＋２の部分にあるように示されているが、欠陥ラインは行Ｒ＋１から動かされるので、行Ｒ＋１は結果として欠陥行である。修復可能領域はスペア行Ｒ＋4より上に形成される。行Ｒ＋１の欠陥を考慮してＰＬＤを修復するために行Ｒ＋１、Ｒ＋２およびＲ＋３をシフトするために、冗長スキームが呼び出される。指示される行シフトによって、信号Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５およびＳ６のための冗長モード経路が可能になる。図に示される通り、信号Ｓ１およびＳ２はそれぞれのライン１１１-１および１１１-２（図に示されるモードにおいてシフトしない行Ｒから動かされるライン）上のままである。しかし、他の信号Ｓ３、Ｓ４、Ｓ５およびＳ６はそれぞれライン１１３-２、１１３-３（行Ｒ＋２から動かされる）、１１４-２（行Ｒ＋３から動かされる）および１１５-１（行Ｒ＋４から動かされる）にシフトされる。
【０１２６】
欠陥によっては複数のラインに及ぶ場合がある。しかし、これらの複数のラインが同じ行から動かされる場合、この種の欠陥は行シフトおよび特定の修復可能領域における単一のスペア行の使用によって修復できる可能性がある。従って、同じ行から動かされる少なくとも数本のワイヤを近接して配置することによって、複数のラインに及ぶ単一の欠陥を修復できる可能性が高くなる。
【０１２７】
図１４ａおよび１４ｂは、本発明の実施形態に従って正常モード（図１４ａ）および冗長モード（図１４ｂ）で動作するＰＬＤの部分１４００において選択される行についての垂直ラインからのルーティングを示している。図に示されるＰＬＤ部分において、修復性を最大限にするためにスペア行は修復定義可能である。
【０１２８】
図１４ａを参照すると、ＰＬＤ部分１４００は、垂直ライン１４１１、１４１２および１４１３、ドライバ１４３１、１４３２および１４３３、接続点１４０１および接続点１４０２を含む。図面が過度に複雑にならないようにするために、ルーティング入力マルチプレクサは特に示されていない。しかし、接続点１４０１は特定の１４０１接続点に対応する行に関連付けられるルーティング入力マルチプレクサのＡｎ入力への接続点であり、接続点１４０２は特定の１４０２接続点に対応する行に関連付けられるルーティング入力マルチプレクサのＢｎ入力への接続点であると、解釈される。図に示されるＰＬＤ部分１４００は、部分１４００を含むＰＬＤのロジック・アレイの１３の行（ＲからＲ＋１２までのラベルが付けられる）を含む。
【０１２９】
図１４ａに示される通り、２本の論理的ラインＬ１４-１およびＬ１４-２は、ＰＬＤ部分１４００の正常モードにおいて、それぞれ第１の垂直ライン１４１１および１４１２上に実現される。ライン１４１１上に実現されるラインＬ１４-１は、行Ｒ＋３から動かされ、図に示される通り、ルーティング入力マルチプレクサへのアクティブの接続点は行Ｒ＋４（行Ｒ＋４ルーティング入力マルチプレクサのＡｎ入力への接続点１４０１を通じて）およびＲ＋７（Ｒ＋７ルーティング入力マルチプレクサのＡｎ入力への接続点１４０１を通じて）にある。ライン１４１２上に実現されるラインｌ１４-２は、行Ｒ＋４から動かされ、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は、行Ｒ＋５（行Ｒ＋５ルーティング入力マルチプレクサのＡｎ入力への接続点１４０１を通じて）および行Ｒ＋８（行Ｒ＋８ルーティング入力マルチプレクサのＡｎ入力への接続点１４０１を通じて）にある。両方のラインＬ１４-１およびＬ１４-２に与えられる論理的接続長さは１および４である。
【０１３０】
図１４ａおよび１４ｂの実施形態において、欠陥行がある場合これがどこにあるか分かるまでスペア行は定義される必要はない。図１４ａの例において欠陥行はない。従って、スペア行を使用する必要はない。様々な理由により（例えば一貫性のため）使用可能な行の合計数が予め決められたＰＬＤにおいて、冗長のために含まれる追加の行（すなわちスペア行）は使用する必要がない。図１４ａに示される実施形態において、スペア行の位置を予め定義する必要はないので、スペア行の位置は任意に定義することができる。行Ｒ＋２およびＲ＋１２がスペアとして定義され、図１４ａの正常モードにおいては使用されない。しかし、図１４ａの例の代替形態においては、未使用のスペア行を垂直ラインが横断する行において指定することも可能であることが分かるだろう。例えば、代替形態において、図１４ａの行Ｒ＋１２に定義されるスペア行を、行Ｒ＋７に定義することもできる。このような代替形態においては、それぞれ行Ｒ＋７およびＲ＋８におけるライン１４１１および１４１２からの１４０１接続点は、それぞれ行Ｒ＋８およびＲ＋９における同じそれぞれのラインからの１４０２接続点に移動するので、行Ｒ＋７の未使用スペア行を考慮するとラインＬ１４-１およびＬ１４-２の一貫した論理的長さが維持される。
【０１３１】
図１４ｂは、同じＰＬＤ部分１４００を示しているが、図１４ｂの例においては、行Ｒ＋４およびＲ＋９が不良である点が異なる。図１４ａに示される通り行Ｒ＋２およびＲ＋１２にスペア行が固定されているとすると、行Ｒ＋４およびＲ＋９の欠陥は、単一の修復可能領域（スペア行の間に形成される）に２つの不良行があることを意味することになり、デバイスを修復するための冗長行シフトの能力を制限することになる。しかし、図１４ｂの例において、２つの不良行を修復するために２つのスペア行の位置を定義することができる。図に示される通り、スペア行は、行Ｒ＋５およびＲ＋１０に定義される。このようにして、これらの行の欠陥を考慮してＰＬＤを修復するために行Ｒ＋４およびＲ＋９をシフトするために、冗長スキームが呼び出される。論理的ラインＬ１４-１はそのままライン１４１１上に実現されるが、行Ｒ＋４およびＲ＋７の接続点はそれぞれ行Ｒ＋５およびＲ＋８の１４０２接続点にシフトする。論理的ラインＬ１４-１に与えられる論理的接続長さは１および４のままである。しかし論理的ラインＬ１４-２は、ライン１４１３にシフトする。このラインにおいて、ルーティング入力マルチプレクサへのアクティブな接続点は行Ｒ＋６（Ａｎ入力への１４０１接続点を通じて）および行Ｒ＋１０（Ｂｎ入力への１４０２接続点を通じて）にある。論理的ラインＬ１４-２に与えられる論理的接続長さは、１および４のままである。
【０１３２】
図１４ａにおいても１４ｂにおいても、例として信号Ｓ１およびＳ２のためにＬ１４-１およびＬ１４-２によって与えられる接続性を示すために、信号経路が強調されている。
【０１３３】
物理的行数で測定されるライン１４１１、１４１２および１４１３の物理的長さは５である。ここで例証される冗長スキーム例は、スペア行を横断するか否かに関係なく同様の接続性を実現する垂直ラインが一貫した物理的長さを持てるようにする。この一貫性はスペア行定義に柔軟性を持たせる。
【０１３４】
デバイス全体または図１４ａに示されるようなデバイスの部分におけるスペア行の任意の定義には代替形態があることが分かるだろう。例えば、ＰＬＤ供給者は、複数のバージョンのデバイスを提供することができるだろう。このような例においては、Ｘ＋Ｓ個の物理的行を有するデバイスの２つのバージョンすなわちＸ個の使用可能な行を持つ第１のバージョンおよびＸ＋Ｓ個の使用可能な行を持つ別のバージョンを提供するができる。ここで、Ｓは欠陥部分の行を修復するために利用可能なスペア行の潜在的数である。第１のバージョン（Ｘ個の使用可能な行）は、スペア行のどれかがデバイスの修復のために既に使用された場合に提供できる。修復に全てのスペア行が使用されているわけではない場合、他のスペア行は「不良」と指定され、使用されない。しかし、デバイスに欠陥行がない場合、第２のバージョンを提供でき、全てのスペア行をアクティブにして、デバイスにＸ＋Ｓ個の使用可能な行を与えることができる。このような「Ｘ＋Ｓ行使用可能な」デバイスのバージョンにおいては、「Ｘ行使用可能な」デバイスのバージョンにおける接続点に比べてユーザ設計のために利用可能な接続総数を増やすために、より多くの接続点を利用することができる。さらに、このようなＸ＋Ｓ行使用可能なデバイスのバージョンにおいて与えられる垂直ラインの論理的長さは、潜在的に、同じデバイスのＸ行使用可能なバージョンにおけるラインの論理的長さより大きくすることができる。例えば、図１ａを参照すると、この図の修正バージョンにおいて、ライン１１１ｂに結合されるマルチプレクサ１２４のＢｎ入力への接続点１０２を通じて行Ｒ＋１１経路が正常モードで使用されるとすると、このラインの論理的長さは４ではなく５になる。
【０１３５】
他の代替形態においては、修復のためにそれまでにいくつのスペア行が必要とされたかに応じて多様な数の使用可能な行を含むデバイスの３つ以上のバージョンを提供することができる。
【０１３６】
図１５は、データ処理システム１５００における本発明に従ったＰＬＤ１５０を示している。データ処理システム１５００は、以下のコンポーネントのうち１つまたはそれ以上を含むことができる：プロセッサ１５４０、メモリ１５５０、Ｉ/Ｏ回路１５２０、および周辺機器１５３０。これらのコンポーネントは、システム・バス１５６５によってまとめて結合され、エンドユーザ・システム１５７０に含まれる回路板に配置される。システム１５００などデータ処理システムは、エンドユーザ・システム１５７０など単一のエンドユーザ・システムを含むか、データ処理システムとして協働する複数のシステムを含むことができる。
【０１３７】
システム１５００は、コンピュータ・ネットワーキング、データ・ネットワーキング、計装、画像処理、デジタル信号処理またはシステム設計においてプログラマブルまたは再プログラマブル・ロジックを使用する利点があるその他の用途など、多様な用途に使用することができる。ＰＬＤ１５０は、多様なロジック機能を果たすために使用できる。例えば、プログラマブル・ロジック・デバイスをプロセッサまたはプロセッサ１５４０と協力するコントローラとして設定することができる（または、代替実施形態においては、ＰＬＤ自体が単独システム・プロセッサとして行動することができる）。ＰＬＤ１５０は、また、システム１５００における共有リソースへのアクセスを仲裁するアービタとして使用することもできる。さらに別の例においては、ＰＬＤ１５０をプロセッサ１５４０とシステム１５００の他のコンポーネントのうちの１つとの間のインターフェイスとして設定することができる。システム１５００は一例に過ぎないことに留意しなければならない。
【０１３８】
行ベースの冗長スキーム（このスキームにおいて、「垂直」ラインは単に複数の行を横断する向きのラインである）を有するプログラマブル・ロジック・デバイスに関して本発明の実施形態を説明したが、本発明は、列ベースの冗長スキーム（列ベースのスキームにおける「水平」ラインは複数の列を横断するので、行ベースのスキームにおける水平ラインと同じになることに留意すること）を使用するプログラマブル・ロジック・デバイスにも同様に応用できる。行および列という用語は、デバイスの方位に対して相対的なものなので、相互に直交する行と列を有する典型的なデバイスにおいては、デバイスを９０°回転させるだけで行と列を交換できる。説明を明白にするために、本発明は、行ベースの配列について説明され、主張されているが、この説明およびクレームは同様に列ベースの冗長配列に適用される。
【０１３９】
さらに、「行」という用語は一般にアイテムの直線配列に関連付けられるが、代替実施形態は、必ずしも本発明の精神および範囲から逸脱することなく、湾曲したまたは部分的に湾曲したまたは時折凸凹またはギャップを有する行配列を採用することができる。このような変動する方位を有する列を含むデバイスも、本発明の範囲内にある冗長スキームを持つことができる。また、上述の通り、「垂直」ラインは本出願においては複数の行を横断するラインとして定義されるので、垂直ラインは同様にその長さに沿って様々な方位を持つことができる。また、一部が垂直であり（すなわち複数の行を横断する）、他の部分が垂直ではない（複数の行を横断する向きではない）場合もある。
【０１４０】
特定の実施形態について詳細に説明し、いくつかの変形について注記したが、本発明の精神および範囲から逸脱することなく、本出願において説明される実施形態に他の様々な修正を加えることができるので、本発明は添付の特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【０１４１】
【図１ａ】本発明の一実施例による正常モードで動作するＰＬＤの部分１００において選択される行に関する下流垂直ラインからのルーティングを示す図である。
【図１ｂ】本発明の一実施例による冗長モードで動作するＰＬＤの部分１００において選択される行に関する下流垂直ラインからのルーティングを示す図である。
【図１ｃ】本発明の一実施例による冗長モードで動作するＰＬＤの部分１００において選択される行に関する下流垂直ラインからのルーティングを示す図である。
【図２ａ】本発明の一実施例による正常モードで動作するＰＬＤの部分２００において選択される行に関する上流垂直ラインからのルーティングを示す図である。
【図２ｂ】本発明の一実施例による冗長モードで動作するＰＬＤの部分２００において選択される行に関する上流垂直ラインからのルーティングを示す図である。
【図２ｃ】本発明の一実施例による冗長モードで動作するＰＬＤの部分２００において選択される行に関する上流垂直ラインからのルーティングを示す図である。
【図３ａ】本発明の一実施例による正常モードで動作するＰＬＤの部分３００において選択される行に関するスペア行を横断する下流垂直ラインからのルーティングを示す図である。
【図３ｂ】本発明の一実施例による冗長モードで動作するＰＬＤの部分３００において選択される行に関するスペア行を横断する下流垂直ラインからのルーティングを示す図である。
【図３ｃ】本発明の一実施例による冗長モードで動作するＰＬＤの部分３００において選択される行に関するスペア行を横断する下流垂直ラインからのルーティングを示す図である。
【図４ａ】本発明の一実施例による正常モードで動作するＰＬＤの部分４００においてスペア行を横断する選択される行に関する上流垂直ラインからのルーティングを示す図である。
【図４ｂ】本発明の一実施例による冗長モードで動作するＰＬＤの部分４００においてスペア行を横断する選択される行に関する上流垂直ラインからのルーティングを示す図である。
【図４ｃ】本発明の一実施例による冗長モードで動作するＰＬＤの部分４００においてスペア行を横断する選択される行に関する上流垂直ラインからのルーティングを示す図である。
【図５ａ】本発明の一実施例による正常モードで動作するＰＬＤの部分５００において選択される行に関し上流および下流両方の接続性を与える垂直ラインからのルーティングを示す図である。
【図５ｂ】本発明の一実施例による冗長モードで動作するＰＬＤの部分５００において選択される行に関し上流および下流両方の接続性を与える垂直ラインからのルーティングを示す図である。
【図５ｃ】本発明の一実施例による冗長モードで動作するＰＬＤの部分５００において選択される行に関し上流および下流両方の接続性を与える垂直ラインからのルーティングを示す図である。
【図６ａ】図１ａ〜５ｃにおいて示されるルーティング冗長スキームの実現を容易にするように配列される入力およびコンフィギュレーション素子を有するルーティング入力マルチプレクサ（“ｍｕｘ”）６００を示す図である。
【図６ｂ】図１ａ〜５ｃにおいて示されるルーティング冗長スキームの実現を容易にするように配列される入力およびコンフィギュレーション素子を有するルーティング入力マルチプレクサ（“ｍｕｘ”）６００を示す図である。
【図７ａ】図１ａ〜５ｃにおいて示されるルーティング冗長スキームの実現を容易にするように配列される入力およびコンフィギュレーション素子を有する代替ルーティング入力マルチプレクサ（“ｍｕｘ”）７００を示す図である。
【図７ｂ】図１ａ〜５ｃにおいて示されるルーティング冗長スキームの実現を容易にするように配列される入力およびコンフィギュレーション素子を有する代替ルーティング入力マルチプレクサ（“ｍｕｘ”）７００を示す図である。
【図８】本発明の一実施例が実現されるＰＬＤのコンフィギュレーション部分を例証するＰＬＤコンフィギュレーション部分８００の図である。
【図９】図８のＤＲＡ８２０の詳細を示す図である。
【図１０】図６ｂおよび７ｂにおいて“ＣＲＡＭ  Ａ”および“ＣＲＡＭ  Ｂ”のラベルが付けられるコンフィギュレーション・ビットなど２つのコンフィギュレーション・ビットＡおよびＢに関するビットフリップ決定を実行するためのプロセス１０００を示す流れ図である。
【図１１】本発明の一実施例に従ったユーザ・コンピュータ１１７０によるＰＬＤ１１００のプログラミングを示す図である。
【図１２】ルーティング接続のためにコンフィギュレーション・ビットに関するビット・セッティング決定を実行するためのプロセス１２００を示す流れ図である。図１２のプロセス１２００は図１０のプロセスの代替形態として実行することができる。
【図１３ａ】正常モードで動作するＰＬＤ部分１３００における垂直ルーティング・ラインのためのトラック・グループの物理的配列を示す図である。
【図１３ｂ】冗長モードで動作するＰＬＤ部分１３００における垂直ルーティング・ラインのためのトラック・グループの物理的配列を示す図である。
【図１４ａ】修復を最大限に高めるためにスペア行が修復定義可能な、本発明の一実施例による正常モードで動作するＰＬＤの部分１４００において選択される行に関する垂直ラインからのルーティングを示す図である。
【図１４ｂ】修復を最大限に高めるためにスペア行が修復定義可能な、本発明の一実施例による冗長モードで動作するＰＬＤの部分１４００において選択される行に関する垂直ラインからのルーティングを示す図である。
【図１５】データ処理システム１５００における本発明に従ったＰＬＤ１５０を示す図である。
【図１ａ】
2006014297.tif 000005
【図１ｂ】
2006014297.tif 000006
【図１ｃ】
2006014297.tif 000007
【図２ａ】
2006014297.tif 000008
【図２ｂ】
2006014297.tif 000009
【図２ｃ】
2006014297.tif 000010
【図３ａ】
2006014297.tif 000011
【図３ｂ】
2006014297.tif 000012
【図３ｃ】
2006014297.tif 000013
【図４ａ】
2006014297.tif 000014
【図４ｂ】
2006014297.tif 000015
【図４ｃ】
2006014297.tif 000016
【図５ａ】
2006014297.tif 000017
【図５ｂ】
2006014297.tif 000018
【図５ｃ】
2006014297.tif 000019
【図６ａ】
2006014297.tif 000020
【図６ｂ】
2006014297.tif 000021
【図７ａ】
2006014297.tif 000022
【図７ｂ】
2006014297.tif 000023
【図８】
2006014297.tif 000024
【図９】
2006014297.tif 000025
【図１０】
2006014297.tif 000026
【図１１】
2006014297.tif 000027
【図１２】
2006014297.tif 000028
【図１３ａ】
2006014297.tif 000029
【図１３ｂ】
2006014297.tif 000030
【図１４ａ】
2006014297.tif 000031
【図１４ｂ】
2006014297.tif 000032
【図１５】
2006014297.tif 000033
【外国語明細書】
2006014297000001.pdf