"電子デバイスにおいて、第1の垂直ラインか第2の垂直ラインのどちらかから信号を選択的に受信し、かつ、受信した信号を前記電子デバイスの回路アレイの行にルーティングするように結合されるルーティング素子を備え、ルーティング素子は、第1の垂直ラインか第2の垂直ラインのどちらかからの正常モード信号経路を与えるために、冗長に関連する少なくとも1つの規定条件に基づいて構成可能であり、かつ、該第1の垂直ラインか該第2の垂直ラインのどちらかからの冗長モード信号経路を与えるためにも構成可能であって、該第1および第2の垂直ラインは異なる行から動かされるルーティング素子であることを特徴とする電子デバイス。請求項1に記載の電子デバイスにおいて、該電子デバイスは、プログラマブルロジックデバイスであって、さらに、前記プログラマブルロジックデバイスの機能を制御するコンフィギュレーション素子であって、該コンフィギュレーション素子は該コンフィギュレーション素子にロードされるコンフィギュレーションビットによってプログラムされるコンフィギュレーション素子、かつ、正常モードにおいてアレイの1つの行に関係するコンフィギュレーション素子のコンフィギュレーションビットを、下の次の行に関係するコンフィギュレーション素子にシフトするように結合されるスイッチング回路であって、そのようなシフトは、不良行からスペア行への少なくとも前記デバイスの部分が冗長モードである場合に、該不良行から該スペア行へ生じるスイッチング回路を備えることを特徴とする電子デバイス。請求項1に記載の電子デバイスにおいて、前記少なくとも1つの規定条件は、指定される不良行が、前記第1の垂直ラインのドライバに関係する行と前記ルーティング素子に関係する行との間にあるかどうかを含むことを特徴とする電子デバイス。請求項3に記載の電子デバイスにおいて、指定される不良行は、前記デバイスの正常モード部分において非欠陥スペア行を含むことを特徴とする電子デバイス。請求項4に記載の電子デバイスにおいて、指定される不良行は、前記デバイスの冗長モード部分において欠陥行を含むことを特徴とする電子デバイス。請求項1に記載の電子デバイスにおいて、前記ルーティング素子は、前記垂直ラインから信号を受信するために結合されるマルチプレクサ[mux]を含むことを特徴とする電子デバイス。請求項6に記載の電子デバイスにおいて、結合される前記垂直ラインのドライバの下流にある垂直ラインマルチプレクサ結合については、もしその結合があるなら、第1の垂直ラインは第1の下流マルチプレクサのA入力と第2の下流マルチプレクサのB入力に結合され、および、該第2の垂直ラインは、該第2の下流マルチプレクサのA入力に結合され、該第1の下流マルチプレクサは前記アレイの第1の下流行の回路に結合される出力を含むマルチプレクサ、および、該第2の下流マルチプレクサは該アレイの第2の下流行の回路に結合される出力を含むマルチプレクサであって、結合される前記垂直ラインのドライバの上流にある垂直ラインマルチプレクサ結合については、もしその結合があるなら、第1の垂直ラインは、第1の上流マルチプレクサのA入力に結合され、および、第2の垂直ラインは、該第1の上流マルチプレクサのB入力と第2の上流マルチプレクサのA入力に結合され、該第1の上流マルチプレクサは前記アレイの第1の上流行の回路に結合される出力を含むマルチプレクサ、および、該第2の上流マルチプレクサは該アレイの第2の上流行の回路に結合される出力を含むマルチプレクサであることを特徴とする電子デバイス。請求項7に記載の電子デバイスにおいて、前記アレイの前記第1の上流または下流行の中の前記回路は、第1のロジックアレイブロックへのルーティングを含み、かつ、該アレイの前記第2の上流または下流行の該回路は、第2のロジックアレイブロックへのルーティングを含むことを特徴とする電子デバイス。請求項7に記載の電子デバイスにおいて、前記アレイの前記第1の上流または下流行の中の前記回路は、別の垂直ラインのドライバを含み、かつ、該アレイの前記第2の上流または下流行の該回路は、別の垂直ラインのドライバを含むことを特徴とする電子デバイス。請求項7に記載の電子デバイスにおいて、前記アレイの前記第1の上流または下流行の中の前記回路は、水平ラインのドライバを含み、かつ、前記アレイの前記第2の上流または下流行の中の前記回路は、水平ラインのドライバを含むことを特徴とする電子デバイス。請求項7に記載の電子デバイスにおいて、前記第1のマルチプレクサ上流または下流のA入力とB入力の間の選択は、同じコンフィギュレーション素子のフレームにおける第1の近接コンフィギュレーション素子によって保持されるビットに依存しており、前記第2のマルチプレクサ上流または下流のA入力とB入力の間の選択は、同じコンフィギュレーション素子のフレームにおける第2の近接コンフィギュレーション素子によって保持されるビットに依存することを特徴とする電子デバイス。請求項11に記載の電子デバイスにおいて、前記第1の近接コンフィギュレーション素子は、連続的であり、かつ、前記第2の近接コンフィギュレーション素子も連続的であることを特徴とする電子デバイス。請求項11に記載の電子デバイスにおいて、前記コンフィギュレーション素子は、前記第1および第2のマルチプレクサの同じステージの少なくとも一部を制御することを特徴とする電子デバイス。請求項13に記載の電子デバイスにおいて、前記第1および第2のマルチプレクサは、単一ステージであることを特徴とする電子デバイス。請求項13に記載の電子デバイスにおいて、前記第1および第2のマルチプレクサは、2つのステージを有し、かつ、前記同じステージが第2ステージであることを特徴とする電子デバイス。請求項13に記載の電子デバイスにおいて、前記マルチプレクサは、2つのステージを有し、かつ、前記同じステージが第1ステージであることを特徴とする電子デバイス。請求項13に記載の電子デバイスにおいて、前記マルチプレクサは、2つ以上のステージを有することを特徴とする電子デバイス。請求項1に記載の電子デバイスにおいて、さらに、前記第1の垂直ラインと第2の垂直ラインの間に選択するための前記ルーティング素子を構成するために1つ以上のコンフィギュレーションビットを与えるように結合されるコンフィギュレーションロジック回路を備えることを特徴とする電子デバイス。請求項18に記載の電子デバイスにおいて、さらに、不良行データを保持するためのメモリ素子、および、該メモリ素子が前記コンフィギュレーションロジック回路に結合されるメモリ素子を備えることを特徴とする電子デバイス。請求項19に記載の電子デバイスにおいて、前記メモリ素子がレジスタ素子を含むことを特徴とする電子デバイス。請求項18に記載の電子デバイスにおいて、前記電子デバイスは、プログラミングデータを受信するために接続可能であり、かつ、前記コンフィギュレーションロジック回路は、冗長に関して受信したプログラミングデータに含まれる情報、および、冗長に関して前記電子デバイス上に記憶される他の情報に応答するようになっていることを特徴とする電子デバイス。請求項21に記載の電子デバイスにおいて、前記コンフィギュレーションロジック回路は、前記プログラミングデータが、前記電子デバイスが適する冗長スキームに関係する第1および第2の垂直ラインに結合される1対のルーティング入力を構成するためのコンフィギュレーションビットの値を設定するためであるかどうか、を示す前記プログラミングデータ内の情報に応答するようになっていることを特徴とする電子デバイス。請求項22に記載の電子デバイスにおいて、前記コンフィギュレーションロジック回路は、ルーティング入力対に関係する行が、垂直ラインのドライバに関係する行から上流又は下流であるかどうかを示す前記プログラミングデータ内の情報に応答するようになっていることを特徴とする電子デバイス。請求項22に記載の電子デバイスにおいて、前記コンフィギュレーションロジック回路は、ルーティング入力対に関係する行と、第1の垂直ラインのドライバに関係する行の間の行の距離を示す前記プログラミングデータ内の情報に応答するようになっていることを特徴とする電子デバイス。請求項21に記載の電子デバイスにおいて、前記コンフィギュレーションロジック回路は、前記プログラミングデータ内の情報および前記不良行データ内の情報に応答して該電子デバイスの冗長スキームに関係する前記第1および第2の垂直ラインに結合されるルーティング入力のペアを構成するためにコンフィギュレーションビットを生成するようになっていることを特徴とする電子デバイス。請求項23に記載の電子デバイスにおいて、前記冗長スキームは、該電子デバイスは適する複数の冗長スキームのうちの1つであることを特徴とする電子デバイス。請求項25に記載の電子デバイスにおいて、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの1つであることを特徴とする電子デバイス。請求項21に記載の電子デバイスにおいて、前記コンフィギュレーションロジック回路は、前記プログラミングデータが、該電子デバイスが適する冗長スキームに関係する垂直ラインに結合されるルーティング入力を構成するために少なくとも1つのコンフィギュレーションビット値を設定するためかどうかを示すプログラミングデータ内の情報に応答するのにようになっていることを特徴とする電子デバイス。請求項28に記載の電子デバイスにおいて、前記コンフィギュレーションロジック回路は、前記ルーティング入力に関係する行が前記垂直ラインのドライバに関連する行から上流か下流かどうかを示すプログラミングデータ内の情報に応答するようになっていることを特徴とする電子デバイス。請求項28に記載の電子デバイスにおいて、前記コンフィギュレーションロジック回路は、前記不良行データ内の情報および前記プログラミングデータ内の情報に応答して、少なくとも1つの前記コンフィギュレーションビットの値を設定するために該プログラミングデータ内の複数の値のうちの1つを選択するようになっていることを特徴とする電子デバイス。請求項28に記載の電子デバイスにおいて、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの1つであることを特徴とする電子デバイス。請求項1に記載の電子デバイスにおいて、前記第1および第2の垂直ラインは、前記垂直ラインのドライバの上流の接続点に結合され、かつ、該垂直ラインの該ドライバの下流の接続点にも結合される少なくとも数本の垂直ラインを含むことを特徴とする電子デバイス。請求項1に記載の電子デバイスにおいて、前記垂直ラインは、複数の垂直ラインのグループにおける垂直ラインを含み、第1の垂直ラインのグループにおける垂直ラインは、1つの行から動かされ、および、相互に近接して配置され、かつ、第2の垂直ラインのグループにおける垂直ラインは、別の行から動かされ、および、相互に近接して配置されることを特徴とする電子デバイス。請求項33に記載の電子デバイスにおいて、さらに、前記第1の垂直ラインのグループか前記第2の垂直ラインのグループのどちらかに選択的に信号をルーティングするための構成可能なルーティング回路を備えることを特徴とする電子デバイス。請求項34に記載の電子デバイスにおいて、さらに、信号を受信するために前記第1グループと第2グループの間で選択するために、少なくとも1つの規定条件に基づいて、前記構成可能なルーティング回路を構成するために結合される制御回路を備えることを特徴とする電子デバイス。請求項35に記載の電子デバイスにおいて、前記少なくとも1つの規定条件は、前記第1グループ内の1以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。請求項35に記載の電子デバイスにおいて、前記少なくとも1つの規定条件は、前記第1および第2グループより上で、および、同じ修復可能領域内のグループに属する1以上のラインが欠陥ラインかどうかを含むことを特徴とする電子デバイス。請求項1に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項7に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項21に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項25に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項26に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項30に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項31に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項32に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項33に記載の電子デバイスを含むプログラマブルロジックデバイス。請求項38に記載のプログラマブルロジックデバイスを含むデータ処理システム。請求項39に記載のプログラマブルロジックデバイスを含むデータ処理システム。請求項40に記載のプログラマブルロジックデバイスを含むデータ処理システム。請求項41に記載のプログラマブルロジックデバイスを含むデータ処理システム。請求項42に記載のプログラマブルロジックデバイスを含むデータ処理システム。請求項43に記載のプログラマブルロジックデバイスを含むデータ処理システム。請求項44に記載のプログラマブルロジックデバイスを含むデータ処理システム。請求項45に記載のプログラマブルロジックデバイスを含むデータ処理システム。請求項46に記載のプログラマブルロジックデバイスを含むデータ処理システム。プログラマブルロジックデバイスをプログラムするためにプログラミングデータを生成するためのコンピュータプログラム製品において、該コンピュータプログラム製品は、少なくとも、前記プログラマブルロジックデバイスが適する少なくとも1つの冗長スキームを実現するために前記電子デバイスによって使用可能な冗長情報を、前記プログラミングデータ内に含むための電子的に読み取り可能なメディア内で実行可能なコードを備えることを特徴とするコンピュータプログラム製品。請求項56に記載のコンピュータプログラム製品において、前記冗長情報は、前記少なくとも1つの冗長スキームを実現するために前記プログラマブルロジックデバイスに記憶される他の冗長情報と組み合わせて使用可能であることを特徴とするコンピュータプログラム製品。プログラマブルロジックデバイスをプログラムするためのプログラミングデータを生成するコンピュータプログラム製品において、該コンピュータプログラム製品は、少なくとも、構成される接続点は、前記プログラマブルロジックデバイスが適する冗長スキームに関連する垂直ラインからのルーティング接続点かどうかを示す前記プログラミングデータ内に情報を含み、かつ、前記構成される接続点は、前記冗長スキームに関係する垂直ラインからのルーティング接続点である場合、前記垂直ラインへの前記接続点が前記垂直ラインのドライバから上流か下流かどうかを示す前記プログラミングデータ内の情報、および、前記接続点と前記垂直ラインのドライバに関係する行の間の行における距離を示す情報を決定し、含むための電子的に読み取り可能なメディアに実行可能なコードを備えることを特徴とするコンピュータプログラム製品。請求項59に記載のコンピュータプログラム製品において、前記プログラミングデータは、前記プログラミングデータに基づいて、かつ、前記プログラマブルロジックデバイスに記憶される不良行データに基づいて前記接続点を構成するための前記プログラマブルロジックデバイスによって使用可能であることを特徴とするコンピュータプログラム製品。請求項59に記載のコンピュータプログラム製品において、前記不良行情報は、前記ルーティング接続点に関係する行と前記垂直ラインのドライバに関係する行の間に不良行があるかどうかを示す、または、示すために使用可能な情報を含むことを特徴とするコンピュータプログラム製品。請求項58に記載のコンピュータプログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの1つであることを特徴とするコンピュータプログラム製品。請求項59に記載のコンピュータプログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの1つであることを特徴とするコンピュータプログラム製品。プログラマブルロジックデバイスをプログラムするためのプログラミングデータを生成するコンピュータプログラム製品において、該コンピュータプログラム製品は、少なくとも、プログラムされる接続点は、前記プログラマブルロジックデバイスが適する冗長スキームに関係する垂直ラインからのルーティング接続点であるかどうかを示す情報を前記プログラミングデータに含み、かつ、前記プログラムされる接続点は、前記冗長スキームに関係する垂直ラインからのルーティング接続点である場合、前記接続点を構成するために可能なビット値を示し、かつ、不良行情報に基づいて前記可能なビット値から選択するために使用可能な情報を前記プログラミングデータに含めるための電子的に読み取り可能なメディアに実行可能なコードを備えることを特徴とするコンピュータプログラム製品。請求項63に記載のコンピュータプログラム製品において、前記実行可能なコードは、少なくとも、プログラムされる前記接続点が前記冗長スキームに関係する垂直ラインからのルーティング接続点である場合、前記接続点が前記垂直ラインのドライバに関係する行の上流か下流にあるかどうかを示す情報を、前記プログラミングデータに含めることを特徴とするコンピュータプログラム製品。請求項63に記載のコンピュータプログラム製品において、前記不良行情報は、前記接続点に関係する行と前記垂直ラインのドライバに関係する行の間に指定される不良行があるかどうかを示す、または、示すために使用可能な情報を含むことを特徴とするコンピュータプログラム製品。請求項63に記載のコンピュータプログラム製品において、前記不良行情報は、前記接続点に関係する前記行と指定される不良行との間の距離を示す、または、示すために使用可能な情報を含むことを特徴とするコンピュータプログラム製品。請求項63に記載のコンピュータプログラム製品において、前記不良行情報は、前記プログラマブルロジックデバイスに記憶され、かつ、前記可能なビット値から選択するための前記プログラマブルロジックデバイスによって前記プログラミングデータと組み合わせて使用されることを特徴とするコンピュータプログラム製品。請求項63に記載のコンピュータプログラム製品において、前記不良行情報は、前記プログラマブルロジックデバイスに記憶され、かつ、前記可能なビット値から選択するために前記プログラマブルロジックデバイスによって前記プログラミングデータと組み合わせて使用されることを特徴とするコンピュータプログラム製品。請求項63に記載のコンピュータプログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの1つであることを特徴とするコンピュータプログラム製品。請求項66に記載のコンピュータプログラム製品において、前記冗長スキームは、前記プログラマブルロジックデバイスが適する複数の冗長スキームのうちの1つであることを特徴とするコンピュータプログラム製品。請求項68に記載のコンピュータプログラム製品において、前記冗長スキームは、前記プログラマブルロジックデバイスが適する複数の冗長スキームのうちの1つであることを特徴とするコンピュータプログラム製品。プログラマブルロジックデバイスをプログラムするためにプログラミングデータを生成するためのコンピュータプログラム製品において、該コンピュータプログラム製品は、少なくとも、ルーティング素子に入力を与えるために前記プログラマブルロジックデバイスが適する冗長スキームに関係する第1の垂直ラインと第2の垂直ラインとの間で選択を行い、かつ、前記選択された垂直ラインから信号を受信するために前記ルーティング素子を構成するためのプログラミングデータを生成するために電子的に読み取り可能なメディアに実行可能なコードを備えることを特徴とするコンピュータプログラム製品。請求項72に記載のコンピュータプログラム製品において、前記実行可能なコードは、少なくとも、選択の一部として、垂直ラインのドライバに関係する行と前記ルーティング素子に関係する行との間に指定される不良行があるかどうかを決定することも特徴とするコンピュータプログラム製品。請求項73に記載のコンピュータプログラム製品において、前記実行可能なコードは、少なくとも、前記プログラマブルロジックデバイスの指定される不良行を識別するためにデバイスデータに問い合わせるためのものでもあることを特徴とするコンピュータプログラム製品。請求項74に記載のコンピュータプログラム製品において、前記デバイスデータは、前記プログラマブルロジックデバイスに記憶されることを特徴とするコンピュータプログラム製品。請求項74に記載のコンピュータプログラム製品において、前記デバイスデータは、前記実行可能なコードを実行するコンピュータに接続可能なメモリ装置に記憶されることを特徴とするコンピュータプログラム製品。請求項72に記載のコンピュータプログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの1つであることを特徴とするコンピュータプログラム製品。請求項74に記載のコンピュータプログラム製品において、前記冗長スキームは、前記電子デバイスが適する複数の冗長スキームのうちの1つであることを特徴とするコンピュータプログラム製品。特定の正常モード行のために、第1の垂直ラインを通じてアレイの正常モード行に信号をルーティングするように結合される正常モード信号経路、かつ、特定の冗長モード行のために、第1の垂直ライン、または、第2の垂直ラインのどちらかを通じて前記アレイの冗長モード行に選択的に信号をルーティングするように結合される冗長モード信号経路であって、該冗長モード信号経路が前記正常モード信号経路にとって冗長である冗長モード信号経路を備えることを特徴とする電子デバイス。請求項79に記載の電子デバイスにおいて、前記特定の冗長モード行のために、前記第1または第2の垂直ラインのどちらかを通じて前記冗長モード行にルーティングするために、少なくとも1つの規定条件に基づいて、信号経路ルーティングが構成されることを特徴とする電子デバイス。請求項80に記載の電子デバイスにおいて、前記規定条件は、前記第1の垂直ラインが該電子デバイスが適する冗長スキームに従ってシフトされるシフト行から動かされるかどうかを含むことを特徴とする電子デバイス。請求項81に記載の電子デバイスにおいて、前記冗長スキームは、該電子デバイスが適する複数の冗長スキームのうちの1つであることを特徴とする電子デバイス。請求項81に記載の電子デバイスにおいて、前記信号経路ルーティングは、前記第1の垂直ラインが動かされる行がシフト行ではない場合、前記第1の垂直ラインを通じて前記冗長モード行にルーティングするように構成され、かつ、前記信号経路ルーティングは、前記第1の垂直ラインが動かされる行がシフト行である場合、前記第2の垂直ラインを通じて前記冗長モード行にルーティングするように構成されることを特徴とする電子デバイス。請求項79に記載の電子デバイスにおいて、前記垂直ラインは、複数の垂直ラインのグループの中の垂直ラインを含み、第1の垂直ラインのグループの中の垂直ラインは、1つの行から動かされ、および、相互に近接して配置され、かつ、第2の垂直ラインのグループの中の垂直ラインは、別の行から動かされ、および、相互に近接して配置されることを特徴とする電子デバイス。請求項84に記載の電子デバイスにおいて、さらに、前記第1の垂直ラインのグループか前記第2の垂直ラインのグループのどちらかに選択的に信号をルーティングするための構成可能なルーティング回路を含むことを特徴とする電子デバイス。請求項85に記載の電子デバイスにおいて、さらに、信号を受信するために前記第1のグループと前記第2のグループとの間で選択を行うために、少なくとも1つの規定条件に基づいて、前記設定可能なルーティング回路を構成するように結合される制御回路を備えることを特徴とする電子デバイス。請求項86に記載の電子デバイスにおいて、前記少なくとも1つの規定条件は、前記第1のグループの中の1以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。請求項86に記載の電子デバイスにおいて、前記少なくとも1つの規定条件は、前記第1および第2のグループより上で、同じ修復可能領域内にあるグループの中の1以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。電子デバイスのアレイの特定の行の中の回路に信号をルーティングするように結合される構成可能なルーティングであって、該構成可能なルーティングは、第1の垂直ラインまたは第2の垂直ラインの延長部分のどちらかから信号をルーティングするために正常モードおよび冗長モードの両方で構成可能であるルーティングを備えることを特徴とする電子デバイス。請求項89に記載の電子デバイスにおいて、前記構成可能ルーティングは、前記第1の垂直ラインから、または、第2の垂直ラインの延長部分から信号をルーティングするように構成されるかどうかは、少なくとも1つの規定条件によって決まることを特徴とする電子デバイス。請求項90に記載の電子デバイスにおいて、前記規定条件は、前記特定の行と前記第1の垂直ラインのドライバに関係する行との間に指定される不良行があるかどうかを含むことを特徴とする電子デバイス。回路の行に信号経路を与えるように結合される垂直ラインのグループを備え、第1の垂直ラインのグループの中の垂直ラインは、1つの行から駆動され、および、相互に近接して配置され、かつ、第2の垂直ラインのグループ内の垂直ラインは、別の行から駆動され、かつ、相互に近接して配置されることを特徴とする電子デバイス。請求項92に記載の電子デバイスにおいて、さらに、前記第1の垂直ラインのグループか前記第2の垂直ラインのグループのどちらかに選択的に信号をルーティングするための構成可能なルーティング回路を備えることを特徴とする電子デバイス。請求項93に記載の電子デバイスにおいて、さらに、信号を受信するために前記第1のグループと第2のグループの間で選択を行うために、少なくとも1つの規定条件に基づいて、前記構成可能なルーティング回路を構成するように結合される制御回路を備えることを特徴とする電子デバイス。請求項94に記載の電子デバイスにおいて、前記少なくとも1つの規定条件は、前記第1のグループ内の1以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。請求項94に記載の電子デバイスにおいて、前記少なくとも1つの規定条件は、前記第1および第2のグループより上で、かつ、同じ修復可能領域内のグループにおける1以上のラインが欠陥かどうかを含むことを特徴とする電子デバイス。電子デバイス上に冗長を実現する方法において、電子デバイスに合計XS[そこでSは修復を行うために定義されるスペア行の位置の合計数]の行を与え、前記電子デバイスの冗長モードにおいて、1以上の欠陥行の位置が検知された後に1以上のスペア行の位置を選択し、前記電子デバイスを修復するために欠陥行からスペア行へ行をシフトすることを備えることを特徴とする方法。請求項97に記載の方法において、さらに、前記電子デバイスは、S以下でゼロ以上の数Dの欠陥行を有する場合において、Dのスペア行の位置を選択し、かつ、前記電子デバイスの冗長修復バージョンと非修復バージョンの両方がXの使用可能行を持つように、Dのスペア行を利用し、SマイナスDの行をバイパスするように該電子デバイスを構成することを備えることを特徴とする方法。請求項97に記載の方法において、さらに、前記電子デバイスは、欠陥行を持たない場合、全ての行をユーザ設計のために利用可能にし、XSの使用可能な行を含む該電子デバイスの非修復バージョンを提供するように該電子デバイスを構成することを特徴とする方法。請求項99に記載の方法において、前記電子デバイスが欠陥行を持たない場合、前記デバイスの冗長修復バージョンにおいてユーザ設計に利用できない接続点は、該電子デバイスの前記非修復バージョンにおいてユーザ設計に利用できるようになることを特徴とする方法。垂直ライン、および、電子デバイスの回路アレイの第1または第2の行に垂直ラインを選択的に結合するように構成可能である構成可能なルーティングを備え、前記構成可能なルーティングは、前記電子デバイスの冗長モードにおいて、前記垂直ラインの第1か第2のどちらかに特定の論理的ラインを提供するように構成可能であることを特徴とする電子デバイス。請求項101に記載の電子デバイスにおいて、同様の論理的長さを有する前記垂直ラインの電子デバイスは、特定の垂直ラインについては、該特定の垂直ラインが横断する物理的行の中に指定される不良行があるか否かに関係なく、該特定の垂直ラインが横断する物理的行数で測定される一貫した物理的長さを有することも特徴とする電子デバイス。請求項102に記載の電子デバイスにおいて、前記垂直ルーティングラインの前記一貫した物理的長さは、1以上の欠陥行の位置が分かった後に、1以上のスペア行の位置の定義を容易にすることを特徴とする電子デバイス。電子デバイスにおいて冗長をルーティングする方法において、該電子デバイスは回路行を含み、該方法は、特定の行のための行ルーティング経路において、少なくとも1つの第1の規定条件に応じて前記電子デバイスの正常モードにおいて前記行ルーティング経路を通してルーティングするために、第1か第2のどちらかの垂直ラインから信号を受信し、前記行ルーティング経路において、少なくとも1つの第2の規定条件に応じて前記電子デバイスの冗長モードにおいて前記行ルーティング経路を通してルーティングするために、前記第1か第2のどちらかの垂直ラインから信号を受信することを備えることを特徴とする方法。請求項104に記載の方法において、前記第1および第2の規定条件は、同一の条件を含むことを特徴とする方法。請求項105に記載の方法において、前記第1および第2の規定条件は、現在アクティブな正常または冗長モードにおいて、前記第1の垂直ラインのドライバに関係する行と前記行ルーティング経路の前記特定の行との間に指定される不良行があるかどうかを含むことを特徴とする方法。請求項106に記載の方法において、さらに、前記行ルーティング経路において、前記第1の垂直ラインの前記ドライバに関係する前記行と前記行ルーティング経路の前記特定の行との間に指定される不良行がない場合、前記行ルーティング経路を通してルーティングするために、前記第1の垂直ラインから信号を受信し、かつ、前記行ルーティング経路において、前記第1の垂直ラインの前記ドライバに関係する前記行と前記行ルーティング経路の前記特定の行との間に指定される不良行がある場合、前記ルーティング経路を通してルーティングするために、前記第2の垂直ラインから信号を受信することを備えることを特徴とする方法。電子デバイスにおける冗長をルーティングする方法において、該電子デバイスは、回路行を含み、該方法は、第1の行から動かされる第1の垂直ラインを通じて正常モード行にルーティングし、少なくとも1つの規定条件に応じて第2の行から動かされる第1または第2の垂直ラインを通じて冗長モード行にルーティングすることを特徴とする方法。請求項108に記載の方法において、前記少なくとも1つの規定条件は、前記第1の垂直ラインのドライバが前記冗長モードにおいてシフトされるシフト行と関係するかどうかを含むことを特徴とする方法。請求項109に記載の方法において、前記第1の垂直ラインの前記ドライバがシフト行に関係しない場合、ルーティングは前記第1の垂直ラインを通じて冗長モード行に対して行われ、かつ、前記第1の垂直ラインの前記ドライバがシフト行に関係する場合、ルーティングは第2の垂直ラインを通じて行われることを特徴とする方法。プログラマブルロジックデバイスをプログラムするための方法において、前記プログラマブルロジックデバイスが回路アレイの行を含み、該方法は、冗長に関連する少なくとも1つの規定条件に応じて、第1の行から駆動される第1の垂直ライン、または、第2の行から駆動される第2の垂直ラインのどちらかから信号を受信するようにルーティング接続点をプログラムすることを特徴とする方法。請求項111に記載の方法において、前記規定条件は、前記特定の行と1つの点においては、行シフト冗長スキームにおけるルーティング冗長において、冗長がアクティブになるか否かに応じて異なる行から同じ物理的ラインを駆動する必要がある場合、垂直ラインが1つであれば正常モードで駆動する行より下の冗長モード行に冗長のための余分なドライバを必要とする可能性がある。しかし、スタガ形垂直ラインの構成においては、垂直ラインが1つのとき特定の信号を駆動し送信元となる行1つまたは複数を効果的にシフトするために、一方の垂直ラインまたは他方の垂直ラインを選択的に使用することが可能である。このように信号ルーティングのために第1または第2の垂直ラインを選択的に使用することは、行シフト冗長において追加のドライバの必要性を小さくするのに役立つ可能性がある。別の点においては、冗長スキームの実現に関連して必要な決定の少なくとも一部が、プログラミングデータを生成するコンフィギュレーションプログラムにおいてオフチップで行われる場合、特定の冗長スキームを実現するために必要とされるオンチップロジックの量を最小限に抑えることができる。別の点においては、スタガ形セグメント化ルーティングアーキテクチャにおいて、欠陥はトラックグループに属する隣接するラインを損傷する可能性がある。異なる駆動ポイントを有するラインが隣接するようにスタガ形ラインがグループ化される場合、この部分の修復可能性は限定される可能性がある。従って、スタガ形セグメント化ルーティングアーキテクチャにおいては、修復可能性を最大限に高めるグループ化スキームが必要である。別の点においては、欠陥行の位置が分かる前にスペア行の位置を予め指定しなければならない場合、修復の機会が限定される可能性がある。従って、欠陥行の位置が分かった後にスペア行の位置を指定できれば潜在的に有利である。1つの形態において、本発明の一部の実施形態は、第1または第2の垂直ラインから選択的にルーティングをするための冗長スキームを実現する。別の形態においては、本発明の一部の実施形態は、垂直ラインに結合されるルーティング入力マルチプレクサの入力を制御するコンフィギュレーション素子をプログラムすることによって冗長スキームを実現する。一部の実施形態においては、コンフィギュレーション素子は対として処理される。また、マルチプレクサ入力およびステージは、コンフィギュレーション素子の対が同じコンフィギュレーション素子のフレーム内にあるように構成される。別の実施形態においては、コンフィギュレーション素子の対は連続的でもある。さらに別の実施形態においては、コンフィギュレーション素子は別個に処理され、関係するマルチプレクサ入力を制御する2つのコンフィギュレーション素子は連続的でなく異なるコンフィギュレーション素子のフレームに属する場合がある。別の形態においては、本発明の様々な実施形態は、冗長スキームを実現するためにオンチップハードウェアとオフチップソフトウェとの間で多様な区分を採用することができる。別の形態においては、一部の実施形態は、ドライバ行に対して上流および下流の両方の接続を有する垂直ラインを含む。さらに別の形態においては、本発明の一部の実施形態は、マルチラインの欠陥の修復可能性を最大限に大きくするために同じ行から駆動される垂直ラインの近接グループ化を行う。さらに別の形態においては、本発明の一部の実施形態は、さらに修復性を高めるためにスペア行の位置のオンザフライ定義を可能にすることができる。本発明の新規の特徴は特許請求の範囲に示されている。ただし、説明のために本発明の特定の実施形態のいくつかの形態が、添付図面を参照して説明されている。以下の説明は、当業者が本発明を実施し使用できるようにするためのものであり、特定の用途およびその要件について示されている。実施形態例に対する様々な修正は当業者には明白であり、本出願において定義される一般的原理は、本発明の精神および範囲を逸脱することなく他の実施形態および用途に応用できる。従って、本発明は、ここに示される実施形態に限定されるものではなく、本出願において開示される原理および特徴に合致する最大幅の範囲に合致する。図1a-1cは、本発明の1つの実施形態による正常モード図1aおよび冗長モード図1b-1cで動作するPLDの部分100において選択される行に関する下流垂直ラインからのルーティングを示している。下流とは、単純に、これらのラインからの接続がラインドライバより下流に位置することを意味し、下流は冗長行シフト方向冗長行シフトが現在活動中であるか否かに関係なくに関して決定される。図1aを参照すると、PLDの部分100は、垂直ライン111a、111b、112aおよび112b、マルチプレクサmux121、122、123および124、ドライバ131、132、133および134、接続点101および接続点102を含む。図に示されるPLDの部分100は、部分100を含むPLDのロジックアレイの13の行RからR12までラベルが付けられるを含む。この説明においてアレイという用語は、PLD回路の少なくとも一部が複数行のうちの1つと関連付けて見ることができることを意味する。ここで示される実施形態においては、接続点101および102はフィールドプログラム可能ではない。下でさらに説明する通り、ルーティングパスの特定の選択を実現するために、特定の入力を選択するためのマルチプレクサのプログラミングが使用される。しかし、代替実施形態においては、必ずしも本発明の精神および範囲から逸脱することなく、接続点101および102と類似するがフィールドプログラム可能である接続経路を、使用することができる。本出願において言及されるときルーティング接続点とは、接続点101および102など接続点、マルチプレクサ121-124などルーティング素子への入力またはその他のルーティング素子への入力を含めて、多数のタイプの素子または素子入力のうち任意の1つを指す。図1aに示される通り、論理的ラインLDは、PLDの部分100の正常モードにおいて、マルチプレクサ123のAn入力を通じてドライバ133への信号経路を与えるために第1の垂直ライン111bにおいて実現される。論理的ラインという用語はPLDのユーザPLDユーザの一例としては信号処理システムを設計する、または、これを提供するためにPLDを使用する人またはコンピュータがあるから見て利用可能な接続特性の特定のセットを意味するために使用される。論理的ラインは、使用可能な行数で表わされるある論理的長さの接続性を与える。例えば、図1aにおいて、論理的ラインLDは垂直ライン111bにおいて実現され、行R6のドライバ131から接続点101およびルーティング入力マルチプレクサ123のAn入力を経て行R10のドライバ133までの接続性を与える。この接続性は、論理的長さ4を持つ、すなわちラインが駆動される行から使用可能な行4つを持つと言うことができる。図1aは、さらに、例として、論理的ラインLDを含むルーティング経路を有する信号S1を示している。特定の実施形態においては、マルチプレクサ123および124などのマルチプレクサは、LAB、LE、水平ルーティングライン、別の垂直ルーティングラインVライン、IOBUSラインまたはその他の回路のために入力を選択することができる。本出願において、この種のマルチプレクサは時にはルーティング入力マルチプレクサと呼ばれる。図1bを参照すると、図1aと同じPLDの部分100が示されているが、図1bにおいては行R8が不良である点が異なる。従って、行R8の欠陥を考慮してPLDを修復するために行R7より下の行をシフトするために、冗長スキームが呼び出される。図に示されるシフトされる行は、冗長モードで動作していると言うことができる。図1bにおける行R8などの行は、物理的に同じ行または別の行にある欠陥ゆえに欠陥のあると見なすことができることが、当業者には理解されるだろう。例えば、図に示される部分100以外のどこかの垂直ラインを行R8から駆動することができるが、このラインの行R11にショートまたはオープンがあるかもしれない。欠陥ラインは行R8から駆動され、行シフト冗長スキームが行R8を不良と見なし、従って、行をシフトすることによってPLDを修復できるかもしれないので、このような欠陥の場合行R8が不良と見なされる。従って、本出願においてある行が欠陥を持つと記述されるとき、それは、欠陥の物理的位置が不良と指摘される行にあろうとなかろうと、その行がデバイスの修復の観点から不良と見なされることが分かるだろう。同じく図1bにおいて、行R8より下にスペア行があるが、特には示されていない。修復を行うために、ルーティング接続点は行R8からスペア行へ下へシフトされる。同様に、スペア行より上に規定される修復可能領域内において、多数の冗長モード行例えば、行R9、R10、R11などは、対応する多数の正常モードの行例えば、行R8、R9、R10などが正常モードで使用されたであろう方法と同じ方法で、冗長モードで使用される。行シフトは、第1の垂直ライン111bが横断する行ただし、ラインドライバ131に該当する行より下の行で始まる。この例において、論理的ラインLDはまだ第1の垂直ライン111bにおいて実現されているが、その接続は、接続点102を通じて行R11と関連付けられるマルチプレクサ124のBn入力に対して実現されている。この図1bの例においては、導線111bにおいて実現される接続の物理的長さは、1行分伸びるが、論理的長さは長さ4のままである。行R8は不良なので、これは論理的長さにはカウントされない。この例の説明を補強するために、信号S1をルーティングするための経路がこの図でも強調されており、この図では冗長モードのルーティング経路が示されている。図1cを参照すると、図1a-1bと同じPLDの部分100が示されているが、図1cにおいては行R3が不良である点が異なる。従って、行R3の欠陥を考慮してPLDを修復するために行R2より下の行をシフトするために、冗長スキームが呼び出される。行シフトは、第1の垂直ライン111bのドライバ131より上の行で始まり、ライン111bおよび112bによって占められる他の行において継続する。この例においては、行シフトは、第1の垂直ライン111aが駆動される行を含み、論理的ラインLDは第2の垂直ライン112bにシフトされる。この場合、論理的ラインLDは、行R7のドライバ132から接続点101およびルーティング入力マルチプレクサ124のAn入力を通じて行R11のドライバ134までの接続性を与える。この例における信号S1の経路が強調されている。図に示される通り、選択的なワイヤシフトは、ライン111aが接続点102、マルチプレクサ122およびドライバ132を通じてライン112bへの接続性を持つように、マルチプレクサ122のBn入力を有効にすることによって行われる。ラインLDの接続性の論理的長さはこの場合も4であり、行R7のライン112bの駆動ポイントと行R11のルーティング接続点との間には使用不能の行はない。本出願において使用される場合、A入力およびB入力および同様の用語は、単に1つの入力を別の入力から区別するために使用されるラベルである。同様に、第1の垂直ライン、第2の垂直ライン、第1の行および第2の行などの用語は、単に1つの垂直ラインまたは行を別の垂直ラインまたは行から区別するために使用されるラベルである。図2a-2cは、本発明の1つの実施形態による正常モード図2aおよび冗長モード図2b-2cで動作するPLDの部分200において選択される行に関する上流垂直ラインからのルーティングを示している。上流とは、単純に、これらのラインからの接続点がラインドライバより上流に位置することを意味し、上流は冗長行シフト方向冗長行シフトが現在活動中であるか否かに関係なくに関して決定される。図2aを参照すると、PLDの部分200は、垂直ライン211a、211b、212aおよび212b、マルチプレクサmux221、222、223および224、ドライバ231、232、233および234、接続点201および接続点202を含む。図に示されるPLDの部分200は、部分200を含むPLDのロジックアレイの13の行RからR12までラベルが付けられるを含む。図2aに示される通り、論理的ラインLUは、PLDの部分200の正常モードにおいて、行R1のマルチプレクサ123のAn入力を通じてドライバ234に信号経路を与えるために第1の垂直ライン211bにおいて実現される。この接続性は行R5におけるLUの駆動ポイントから数えて論理的長さ4を持つ。図2aは、さらに、例として、そのルーティング経路が論理的ラインLUを含む信号S1を示している。図2bを参照すると、図2aと同じPLDの部分200が示されているが、図2bにおいては行Rが不良である点が異なる。従って、行Rの欠陥を考慮してPLDを修復するために行Rおよび行Rより下の行をシフトするために、冗長スキームが呼び出される。行Rより下にスペア行があるが、特には示されていない。修復を行うために、ルーティング接続点は行Rからスペア行までシフトされる。この例において、論理的ラインLUは第2の垂直ライン212bにシフトされる。この場合、論理的ラインLUは、行R6のドライバ232から接続点201およびルーティング入力マルチプレクサ223のAn入力を通じて行R2のドライバ233までの接続性を与える。この例においては信号S1の経路が強調されている。図に示される通り、選択的ワイヤシフトが垂直ライン211aから垂直ライン212aに生じているが、これらの導線のドライバおよびドライバ入力マルチプレクサは特に図に示されていない。このように、ワイヤシフトによって、信号S1は接続点201および行R6のマルチプレクサ222のAn入力を通じて導線212aから212bに流れる。ラインLUの接続性の論理的長さはこの場合も4であり、行R6のライン212bの駆動ポイントと行R2のルーティング接続点との間には使用不能の行はない。図2cを参照すると、図2a-2bと同じPLDの部分200が示されているが、図2cにおいては行R3が不良である点が異なる。従って、行R3の欠陥を考慮してPLDを修復するために行R2より下の行をシフトするために、冗長スキームが呼び出される。行シフトは、第1の垂直ライン211bのドライバ231より上の行で始まり、導線211aおよび212aによって占められる他の行において継続する。また、不良行R3は、関係する駆動ポイントと接続ポイントとの間にある。この例においても、論理的ラインLUは第2の垂直ライン212bにシフトされる。この場合、論理的ラインLUは、行R6のドライバ232から接続点202およびルーティング入力マルチプレクサ224のBn入力を通じて行R1のドライバ234までの接続性を与える。この例における信号S1の経路が強調されている。ラインLUの接続性は行R6から行R1までであるが、論理的長さの測定において不良の行R3はカウントされないので、LUの論理的長さはこの場合も4である。図3a-3cは、本発明の1つの実施形態による正常モード図3aおよび冗長モード図3b-3cで動作するPLDの部分300において選択される行に関する下流垂直ラインからのルーティングを示している。図3a-3cにおいて示されるラインはスペア行である行R5を横断する。図3aを参照すると、PLDの部分300は、垂直ライン311、312および313、ドライバ331、332および333、接続点301および接続点302を含む。図を過度に複雑化しないようにするために、ルーティング入力マルチプレクサは特に示されていない。しかし、接続点301は特定の301接続点に対応する行と関連付けられるルーティング入力マルチプレクサのAn入力への接続点であり、接続点302は、特定の302接続点に対応する行に関連付けられるルーティング入力マルチプレクサのBn入力への接続点であるものと解釈される。図に示されるPLDの部分300は、部分300を含むPLDのロジックアレイの13の行RからR12までラベルが付けられるを含む。図3aに示される通り、2つの論理的ラインLD1およびLD2は、PLDの部分300の正常モードにおいて、それぞれの第1の垂直ライン311および312において実現される。ライン311は行R3から駆動され、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行R4行R4ルーティング入力マルチプレクサのAn入力への接続点301を通じておよび行R8行R8ルーティング入力マルチプレクサのBn入力への接続点302を通じてにある。図3aに示される正常モードにおいて、スペア行R5は使用されず修復が必要とされないので、従って論理的長さの測定においてはカウントされない。従って、ドライバ行R3に関してラインLD1において与えられる論理的接続長さは、1および4である。言い換えると、論理的ラインLD1はドライバ行から1および4の使用可能行の接続を与える。ラインLD2は、同様の接続特性を有するが、別の行において垂直ライン312において実現される。ライン312は行R4から駆動され、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行R6行R6ルーティング入力マルチプレクサのBn入力への接続点302を通じておよび行R9行R9ルーティング入力マルチプレクサのBn入力への接続点302を通じてにある。ラインLD2において与えられる接続長さも1および4である行R5は使用されないので、カウントされない。信号経路は、例として信号S1およびS2に関して正常モードの時LD1およびLD2によって与えられる接続性を示すために強調されている。図3bを参照すると、図3aと同じPLDの部分300が示されているが、図3bにおいては行R4およびR9が不良である点が異なる。第1の修復可能領域はスペア行R5より上に形成される。別のスペア行が存在するが、スペア行R5より下には特に示されていない。このように、第2の修復可能領域がスペア行R5より下、かつ、図には示されないスペア行より上に形成される。従って、行R4および行R9の欠陥を考慮してPLDを修復するために行R4および行R8より下の行をシフトするために、冗長スキームが呼び出される。論理的ラインLD1は、同じ垂直ライン311上に実現される。しかし、行R4が不良と見なされ、行R5がアクティブになるので、行R4のライン311接続点は、行R5マルチプレクサのBn入力への接続点302を通じて行R5は冗長モードにおいてはアクティブ行R5にシフトされる。従って、ラインLD1は、やはり行R3ドライバから1および4の論理的長さ使用可能行を測定しての接続性を有する。論理的ラインLD2は、行R5のドライバ333によって駆動される垂直ライン313にシフトする。垂直ライン313は、行R6マルチプレクサのAn入力への接続点301を通じて行R6に、また行R10マルチプレクサのBn入力への接続点302を通じて行R10に接続性を与える。不良行R9は使用されないので、ラインLD2のドライバに関する接続長さはやはり1および4である。例として信号S1およびS2に関して図3bの冗長モードにおいてLD1およびLD2によって与えられる接続性を示すために、信号経路が強調されている。図3cを参照すると、図3a-3bと同じPLDの部分300が示されているが、図3cにおいては行R1およびR9が不良である点が異なる。従って、行R1および行R9の欠陥を考慮してPLDを修復するために行R1、R2、R3およびR4をシフトしかつ行R8より下の行をシフトするために、冗長スキームが呼び出される。論理的ラインLD1およびLD2は、それぞれの第2の垂直ライン312および313にシフトする。第2の垂直ライン312に実現される論理的ラインLD1は、行R5マルチプレクサのAn入力への接続点301を通じてスペア行R5冗長モードにおいてはアクティブに、また行R8マルチプレクサのAn入力への別の接続点301を通じて行R8に接続性を与える。従って、ラインLD1は、この冗長モードにおいて行R4にあるラインの駆動ポイントから1および4の論理的長さの接続性を有する。第2の垂直ライン313に実現される論理的ラインLD2は、行R6マルチプレクサのAn入力への接続点301を通じて行R6に、また行R10マルチプレクサのBn入力への接続点302を通じて行R10に接続性を与える。不良行R9は使用されないので、ラインが駆動される行この冗長モードにおいて行R5に対して相対的な接続性長さは、やはり1および4である。例として信号S1およびS2について図3cの冗長モードにおいてLD1およびLD2によって与えられる接続性を示すために、信号経路は強調されている。図4a-4cは、本発明の1つの実施形態による正常モード図4aおよび冗長モード図4b-4cで動作するPLDの部分400において選択される行に関する上流垂直ラインからのルーティングを示している。図4a-4cにおいて示されるラインはスペア行である行R5を横断する。図4aを参照すると、PLDの部分400は、垂直ライン411、412および413、ドライバ431、432および433、接続点401および接続点402を含む。図を過度に複雑化しないようにするために、ルーティング入力マルチプレクサは特に示されていない。しかし、接続点401は特定の401接続点に対応する行に関連付けられるルーティング入力マルチプレクサのAn入力への接続点であり、接続点402は、特定の402接続点に対応する行に関連付けられるルーティング入力マルチプレクサのBn入力への接続点であるものと解釈される。図に示されるPLDの部分400は、部分400を含むPLDのロジックアレイの13の行RからR12までラベルが付けられるを含む。図4aに示される通り、2つの論理的ラインLU1およびLU2は、PLDの部分400の正常モードにおいて、それぞれの第1の垂直ライン411および412において実現される。ライン411は行R7から駆動され、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行R6行R6ルーティング入力マルチプレクサのAn入力への接続点401を通じておよび行R2行R2ルーティング入力マルチプレクサのBn入力への接続点402を通じてにある。図4aに示される正常モードにおいて、スペア行R5は使用されず他の行への修復が必要とされないので、従って論理的長さの測定においてはカウントされない。従って、ドライバ行R7に関してラインLU1において与えられる論理的接続長さは、1および4である。ラインLU2は同様の接続特性を有するが、行は異なる。ラインLU2は、正常モードにおいて垂直ライン412において実現される。ライン412は行R8から駆動され、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行R7行R7ルーティング入力マルチプレクサのAn入力への接続点401を通じておよび行R3行R3ルーティング入力マルチプレクサのBn入力への接続点402を通じてにある。このように、ラインLU2において与えられる接続長さも1および4である行R5は使用されないので、カウントされない。例として信号S1およびS2に関して正常モードの時LU1およびLU2によって与えられる接続性を示すために、信号経路は強調されている。図4bを参照すると、図4aと同じPLDの部分400が示されているが、図4bにおいては行R3が不良である点が異なる。修復可能領域はスペア行R5より上に形成される。従って、行R3の欠陥を考慮してPLDを修復するために行R3およびR4をシフトするために、冗長スキームが呼び出される。論理的ラインLU1は、同じ垂直ライン411上に実現される。導線411の接続パターンは同じままであり、行R6のルーティング入力マルチプレクサ行R6ルーティング入力マルチプレクサのAn入力への接続点401を通じておよび行R2のルーティング入力マルチプレクサ行R2ルーティング入力マルチプレクサのBn入力への接続点402を通じてに接続性が与えられる。ここではスペア行R5が使用されるので、論理的長さの測定においてカウントされる。ただし、行R3不良であり、論理的長さ測定においてカウントされない。従って、ラインLU1は、やはり行R7ドライバから1および4の論理的長さ使用可能行を測定しての接続性を有する。論理的ラインLU2も、同じ垂直ライン412上に実現される。ただし、不良の行R3におけるライン412の接続は、行R4ルーティング入力マルチプレクサのAn入力への接続点401を通じて行R4にシフトする。ここでスペア行R5はアクティブにされ、論理的長さの測定においてカウントされるので、ラインLU2は、やはり行R8ドライバから1および4の接続性を与える。例として信号S1およびS2に関して図4bの冗長モードにおいてLU1およびLU2によって与えられる接続性を示すために、信号経路が強調されている。図4cを参照すると、図4a-4bと同じPLDの部分400が示されているが、図4cにおいては行R1およびR8が不良である点が異なる。第1の修復可能領域がスペア行R5より上に形成される。別のスペア行が存在するが、行R5より下には特に示されていない。従って第2の修復可能領域がスペア行R5より下に形成される。図に示される通り、行R1および行R8の欠陥を考慮してPLDを修復するために行R1、R2、R3およびR4および行R7より下の行をシフトするために、冗長スキームが呼び出される。論理的ラインLU1はやはり同じ垂直ライン411上に実現される。ただし、行R2のライン411の接続は、行R3ルーティング入力マルチプレクサのAn入力への接続点401を通じて行R3にシフトする。ここでスペア行R5はアクティブにされ、論理的長さの測定においてカウントされるので、ラインLU1は、やはり行R7ドライバから1および4の論理的長さの接続性を与える。論理的ラインLU2は垂直ライン413にシフトする。第2の垂直ライン413上に実現されるラインLU2は、行R7ルーティング入力マルチプレクサのBn入力への接続点402を通じて行R7に、また行R4マルチプレクサのBn入力への接続点402を通じて行R4に接続性を与える。ここで行R5が使用され、論理的長さの測定においてカウントされるが、不良の行R8はカウントされない。従って論理的ラインが駆動される行冗長モードにおいては行R9に対して相対的な接続長さはやはり1および4である。例として信号S1およびS2について図4cの冗長モードでLD1およびLD2によって与えられる接続性を示すために、信号経路は強調されている。図5a-5cは、本発明の1つの実施形態による正常モード図5aおよび冗長モード図5b-5cで動作するPLDの部分500において選択される行に関し上流および下流の両方の接続性を与える垂直ラインからのルーティングを示している。図5a-5cにおいて示されるラインはスペア行である行R3を横断するかまたはこの行において終了する。別のスペア行が行R11に在る。図5aを参照すると、PLDの部分500は、垂直ライン511、512および513、ドライバ531、532および533、接続点501および接続点502を含む。図を過度に複雑化しないようにするために、ルーティング入力マルチプレクサは特に示されていない。しかし、接続点501は特定の501接続点に対応する行と関連付けられるルーティング入力マルチプレクサのAn入力への接続点であり、接続点502は、特定の502接続点に対応する行に関連付けられるルーティング入力マルチプレクサのBn入力への接続点であるものと解釈される。図に示されるPLDの部分500は、部分500を含むPLDのロジックアレイの13の行RからR12までラベルが付けられるを含む。図5aに示される通り、2つの論理的ラインLUD1およびLUD2は、PLDの部分500の正常モードにおいて、それぞれの第1の垂直ライン511および512上に実現される。ライン511は行R4から駆動され、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行R1行R1ルーティング入力マルチプレクサのBn入力への接続点502を通じておよび行R6行R6ルーティング入力マルチプレクサのAn入力への接続点501を通じてにある。図5aに示される正常モードにおいて、スペア行R3およびR11は使用されず他の行への修復が必要とされないので、従って論理的長さの測定においてはカウントされない。従って、ドライバ行R4に関するラインLD1において与えられる論理的接続長さは、上流に2行R1までおよび下流に2行6までである。ラインLUD2は同様の接続特性を有するが、行が異なる。ラインLUD2は、正常モードにおいて、垂直ライン512上において実現される。ライン512は行R5から駆動され、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は行R2行R2ルーティング入力マルチプレクサのBn入力への接続点502を通じておよび行R7行R7ルーティング入力マルチプレクサのAn入力への接続点501を通じてにある。このように、ラインLUD2において与えられる接続長さも上流に2行R2までおよび下流に2行R7までである。例として信号S1およびS2に関して正常モードの時LUD1およびLUD2によって与えられる接続性を示すために、信号経路は強調されている。図5bを参照すると、図5aと同じPLDの部分500が示されているが、図5bにおいては行RおよびR4が不良である点が異なる。第1の修復可能領域はスペア行R3より上に形成され、第2の修復可能領域は行R11より上かつ行R3より下に形成される。従って、行RおよびR4の欠陥を考慮してPLDを修復するために行R、R1およびR2および行R4、R5、R6、R7、R8、R9およびR10をシフトするために、冗長スキームが呼び出される。論理的ラインLUD1およびLUD2は、それぞれの第2の垂直ライン512および513にシフトする。第2の垂直ライン512上に実現されるラインLUD1は、行R2マルチプレクサのBn入力への接続点502を通じて行R2に上流接続性を、また行R7マルチプレクサのAn入力への接続点501を通じて行R7に下流接続性を与える。ここで行R3およびR11は使用されるので、論理的長さの測定においてカウントされるが、不良の行RおよびR4はカウントされない。従って、論理的ラインが駆動される行この冗長モードにおいては行R5に関する接続長さはやはり上流に2行R2までおよび下流に2行R7までである。第2の垂直ライン513上に実現されるラインLUD2は、行R3マルチプレクサのBn入力への接続点502を通じて行R3に上流接続性を、また行R8マルチプレクサのAn入力への接続点501を通じて行R8に下流接続性を与える。ここで行R3およびR11は使用されるので、論理的長さの測定においてカウントされるが、不良の行RおよびR4はカウントされない。従って、論理的ラインが駆動される行この冗長モードにおいては行R6に関する接続長さはやはり上流に2行R3までおよび下流に2行R8までである。例として信号S1およびS2に関して図5bの冗長モードにおいてLUD1およびLUD2によって与えられる接続性を示すために、信号経路が強調されている。図5cを参照すると、図5a-5bと同じPLDの部分500が示されているが、図5cにおいては行R2およびR6が不良である点が異なる。図に示される通り、行R2および行R6の欠陥を考慮してPLDを修復するために行R2および行R6、R7、R8、R9およびR10をシフトするために、冗長スキームが呼び出される。論理的ラインLUD1は同じ垂直ライン511上において実現される。ただし、行R6におけるライン511接続点は、行R7ルーティング入力マルチプレクサのBn入力への接続点502を通じて行R7にシフトされる。スペア行R3およびR11はここでアクティブにされ、論理的長さの測定においてカウントされるので、ラインLUD1は、やはり行R4ドライバから上流に2行R2までおよび下流に2行R7までの論理長さの接続性を与える。論理的ラインLUD2はそのまま同じ垂直ライン512に実現される。ただし、行R2のライン512接続点は、行R3ルーティング入力マルチプレクサのAn入力への接続点501を通じて行R3にシフトする。また、行R7のライン512接続点は行R8ルーティング入力マルチプレクサのBn入力への接続点502を通じて行R8にシフトする。論理的ラインLUD2は、やはり行R5ドライバから上流に2行R3までおよび下流に2行R8までの論理的長さの接続性を与える。例として信号S1およびS2について図5cの冗長モードにおいてLUD1およびLUD2によって与えられる接続性を示すために、信号経路は強調されている。図1a-2cにおいて示される垂直ラインは、ドライバから4つの使用可能な行の論理的長さ図1a-1cにおいて下流、図2a-2cにおいて上流にの接続性を与えるために利用される。図3a-4cにおいて示される垂直ラインはドライバから1および4の使用可能な行の論理的長さ図3a-3cにおいて下流、図4a-4cにおいて上流にの接続性を与えるために利用される。図5a-5cにおいて示される垂直ラインは、ドライバに関して上流に2、および下流に2の論理的長さの接続性を与えるために利用される。図1a-5cに示されるラインは、全て、ラインの論理的長さが4であることを示すV4ラインと呼ぶことができる。ここで、論理的長さとは、ラインの上流論理的長さと下流論理的長さの合計と解釈できる。上流論理的長さは、ラインのドライバからただし、ドライバ行はカウントしない最も遠い使用可能な上流接続点までの使用可能な行の数と解釈できる。同様に、下流論理的長さは、ラインのドライバからただしドライバ行はカウントしない最も遠い使用可能な下流接続点までの使用可能な行の数と解釈できる。下流論理的長さプラス上流論理的長さが合計論理的長さとなる。例えば、図1a-1cおよび3a-3cのVラインは、特定のモードにおいて最大下流接続性4および上流接続性ゼロを与えるので、下流論理的長さ4を有する。図2a-2cおよび4a-4cのVラインは、特定のモードにおいて最大上流接続性4および下流接続性ゼロを与えるので、上流論理的長さは4である。図5a-5cのVラインは、特定のモードにおいて、最大上流接続性2および最大下流接続性2を与えるので、上流論理的長さ2および下流論理的長さ2を有し、合計論理的長さは4である。参照されるV4ラインは、この論理的長さより長い物理的長さを有する。図1a-4cに示されるVラインは、5物理的行分の物理的長さを有し、図5a-5cに示されるVラインは6物理的行分の物理的長さを有する。図1a-4cに示される純粋に上流または下流ラインにおいて、ラインのドライバから下流に5番目の行図1a-1cおよび図3a-3cにおいてまたはラインのドライバから上流に5番目の行図2a-2cおよび図4a-4cにおいて接続可能なラインの部分は拡張部分と呼ぶことができる。上流および下流両方の接続性を与える図5a-5cのVラインにおいて、ラインのドライバから下流に3番目の行および上流に3番目の行において接続可能なラインの部分は、同様に拡張部分と呼ぶことができるこの意味で、図5a-5cのVラインは2つの拡張部分、すなわち下流端の拡張部分および上流端の拡張部分を有する。ここで、拡張とは、単に、一貫した論理的長さを維持するために最長接続の物理的長さを延長するために使用できるラインの部分を意味する。このように、図に示され上に記述される様々な例において、ラインが不良と指定される行例えば正常モードにおいて使用されないスペア行または冗長モードで使用されない欠陥行を横断するときラインの拡張部分が使用される。図に示される本発明の冗長スキームは、図に示される以外の長さおよび図に示されるのとは異なる駆動ポイントを有する垂直ラインネットワークにおいて実現できることが、当業者には分かるだろう。例えば、このスキームは、もっとずっと大きい長さを有しかつずっと大きい数の行に接続する垂直ライン上に実現することができる。図6a-6bは、図1a-5cに示されるルーティング冗長スキームの実現を容易にするように配列される入力およびコンフィギュレーション素子を有するルーティング入力マルチプレクサmux600を示している。図1a-5cを参照すると、垂直ラインからルーティング入力マルチプレクサまで示される様々なルーティング経路を、特定の入力を選択するためのルーティング入力マルチプレクサのプログラミングに基づいて選択できることが、当業者には分かるだろう。例えば、図1aおよび1cを参照すると、図1aの信号S1用の経路論理的ラインLDを含めては、An入力を選択するようにマルチプレクサ121をプログラムしかつAn入力を選択するようにマルチプレクサ123をプログラムすることによって実現されるのに対して、図1cの信号S1用経路同様に論理的ラインLDを含めては、Bn入力を選択するようにマルチプレクサ122をプログラムしかつAn入力を選択するようにマルチプレクサ124をプログラムすることによって実現される。さらなる例として、図3aおよび3cを参照すると、図3aの信号S2用経路論理的ラインLD2を含めては、Bn入力を選択するように接続点302を通じてライン312に結合される行R6ルーティング入力マルチプレクサをプログラムしかつBn入力を選択するように接続点302を通じてライン312に結合される行R9ルーティング入力マルチプレクサをプログラムすることによってルーティング入力マルチプレクサは特に図に示されていない実現され、図3cの信号S2用経路同じく論理的ラインLD2を含めては、An入力を選択するように接続点301を通じてライン313に結合される行R6ルーティング入力マルチプレクサをプログラムしかつBn入力を選択するように接続点302を通じてライン313に結合される行R10ルーティング入力マルチプレクサをプログラムすることによってマルチプレクサは特に示されていない実現される。図6aを参照すると、ルーティング入力マルチプレクサ600の例が示されている。ルーティング入力マルチプレクサ600は、本発明の1つの実施形態に関連して使用できるルーティング入力マルチプレクサの単なる一例を示している。図1a-5cを説明する際に言及されるマルチプレクサ例えば図1a-1cにおけるマルチプレクサ123および124などのマルチプレクサは、特定の状況において、図6aのマルチプレクサ600などもっと大きいルーティング入力マルチプレクサ内のいくつもの入力のうちの2つを表しているに過ぎないと解釈できることが、当業者には分かるだろう。さらに図6aを参照すると、マルチプレクサ600は、第1ステージ6001および第2ステージ6002を含む。第1ステージ6001はコンフィギュレーション素子10、11、12および13および第1ステージマルチプレクサ610、611および612を含む。コンフィギュレーション素子10、11、12および13は、図に示される通り、マルチプレクサ610、611および612の制御入力に結合される。第1ステージマルチプレクサ610、611および612は、様々な入力を通じて信号を受信するように結合される。第1ステージマルチプレクサ610は入力A0、A1、X0およびX1を受信するように結合される。第1ステージマルチプレクサ611は入力B0、B1、Y0およびY1を受信するように結合される。第1ステージマルチプレクサ612は入力C0、C1、Z0およびZ1を受信するように結合される。第2ステージ6002はコンフィギュレーション素子20、21、22および23、および第2ステージマルチプレクサ620を含む。コンフィギュレーション素子20、21、22および23は、図に示される通りマルチプレクサ620の制御入力に結合される。第2ステージマルチプレクサ620は、図に示される通りそれぞれのマルチプレクサライン601、602および603を通じて第1ステージマルチプレクサ610、611および612の出力から入力を受けるように結合される。第2ステージマルチプレクサ620の出力は、出力600outにおいてマルチプレクサ600の出力を与える。図6bは、図6aのマルチプレクサ600の一部をさらに詳細に示している。特に、図6bは、第1ステージ構成ブロック6001aおよび第2ステージ6002のさらなる詳細を示している。第1ステージ構成ブロック6001aは、トランジスタパスゲート6101、6102、6111、6112、6121および6122を含む。これらのトランジスタパスゲートは、図に示される通り、それぞれ入力A0、A1、B0、B1、C0およびC1に結合される。パスゲート6101および6102はマルチプレクサライン601に結合され、パスゲート6111および6112はマルチプレクサライン602に結合され、パスゲート6121および6122はマルチプレクサライン603に結合される。パスゲート6101、6111および6121は全てコンフィギュレーション素子10に結合され、パスゲート6102、6112、6122は全てコンフィギュレーション素子11に結合される。第1ステージ6001は他のコンフィギュレーション素子12および13への他の入力X0、X1、Y0、Y1、Z0、Z1に関する同様の別の第1ステージ構成ブロックも含むことが、当業者には分かるだろう。この他の構成ブロックは特に図には示されない。第2ステージ6002は、それぞれコンフィギュレーション素子20、21、22および23に結合されるトランジスタパスゲート6201、6202、6203および6204を含む。パスゲート6201、6202および6203は、それぞれマルチプレクサライン601、602および603にも結合される。コンフィギュレーション素子20および21はそれぞれラベルCRAMAおよびCRAMBが付けられる。CRAMという用語は、特定の実施形態においてコンフィグレーション素子をRAMセルとして実現できることを示すコンフィギュレーションランダムアクセスメモリを意味している。ただし、背景技術の項で述べた通り、コンフィギュレーション素子は他の手段によって実現することも可能である。図6a-6bにおいて示される例において、入力A0、B0、A1およびB1は、例えば図1a-5cに示される垂直ラインなど本発明に従った指定の冗長スキームに関連する垂直ルーティングラインからの信号を受信するように結合することができると解釈される。図1a-5cにおいて、図に示される各ルーティング入力マルチプレクサは対の入力AnとBnにおいて2本の垂直ラインから信号を受信する。マルチプレクサ600は、2対の入力A0、B0およびA1、B1においてこの種の最高4本の垂直ラインから信号を受信するのに適する。マルチプレクサ600への他の入力例えば、C0、C1、Y0、Y1、Z0、Z1は他のルーティングリソース例えば、水平ライン、LEアウトプットなど、または同じ冗長スキームに組み込まれない他の垂直ライン。この他の垂直ラインとは、場合によっては別の冗長スキームに関連する垂直ラインを含む場合があるからの信号を受信するために使用される、と解釈される。コンフィギュレーション素子10および11のプログラミングは、それぞれのマルチプレクサライン601、602、603がiそれぞれの入力A0、B0、C0から信号を受信するのか、iiそれぞれの入力A1、B1、C1から信号を受信するのか、あるいはiiiiでもiiでもないのか、を決定する。コンフィギュレーション素子20および21のプログラミングは、出力600outがiマルチプレクサライン601から信号を受信するのか、iiマルチプレクサライン602から信号を受信するのか、あるいはiiiiでもiiでもないのか、を決定する。例えば、第1ステージ6001において信号A0、B0およびC0がマルチプレクスライン601、602および603に与えられるために選択されており、かつコンフィギュレーション素子22および23が0に設定されるトランジスタ6203および6204からの出力が出力600outに与えられないようにとすると、コンフィギュレーション素子20CRAMAおよびコンフィギュレーション素子21CRAMBのプログラミングは、600outに出力を与えるのが入力A0であるかB0であるかの選択を決定する。本実施形態の1つによれば、マルチプレクサ600およびその関連する入力の配列は、2つのコンフィギュレーション素子例えば、CRAMAおよびCRAMBのラベルが付けられる20または21のプログラミングに応じてAn入力とBn入力との間例えば、マルチプレクス600の入力A0とB0あるいは入力A1とB1との間の選択ができるようにする。これによって、マルチプレクサのAn入力とBn入力との間の選択が、フリップすることによってすなわち2つのコンフィギュレーションビットを交換することによって例えば、CRAMAにおいて保持されるコンフィギュレーションビットをCRAMBにおいて保持されるコンフィギュレーションビットと交換することによってフリップできるようにする。別の形態においては、これらの2つのコンフィギュレーション素子例えば、CRAMAおよびCRAMBは同じコンフィギュレーション素子のフレームにおいて与えられる。言い換えると、図6bに示される通り、CRAMAおよびCRAMBは、同じコンフィギュレーション素子の垂直スパンに存在する例えば、素子20、21、22および23は全て同じフレームにある。図8に関連して下にさらに説明する通り、プログラマブルロジックデバイスは、フレームことにプログラムできる。ここで、フレームとはコンフィギュレーション素子の垂直スパンを意味するか、またはコンフィギュレーション素子の垂直スパンにロードされるデータを意味することができる。さらに別の形態において、2つのコンフィギュレーション素子は連続的である。言い換えると、図6bに示される通り、同じコンフィギュレーション素子のフレームにおいてCRAMAとCRAMBとの間には他のコンフィギュレーション素子はない。上に説明した通り、図6a-6bは、何を第2ステージ冗長保護と呼ぶことができるかを示している。言い換えると、図1a-5cに示される冗長スキームは、1つの実施形態においては、ルーティング入力マルチプレクサの第2ステージの一部を制御する2つの隣接するコンフィギュレーションビットが冗長スキームに関連する垂直ルーティングワイヤに結合される入力AnかBnを選択するようにプログラムされるマルチプレクサ600の配列などマルチプレクサ配列によって、実現することができる。他の例においては、すぐ前に説明した第2ステージ冗長保護の状況において、指定の同じ冗長スキームに関連する垂直ラインから信号を受信するために、マルチプレクサ600と同様のマルチプレクサにおいて入力X0、Y0、X1およびY1のポジションと同様のポジションを占める入力を使用することもできる。次に、図7a-7bに関連して、可能な多くの配列のうちの1つである第1ステージ冗長保護について説明する。図7a-7bは、図1a-5cに示されるルーティング冗長スキームの実現を容易にするように配列される入力およびコンフィギュレーション素子を有する代替ルーティング入力マルチプレクサmux700を示している。図7aを参照すると、マルチプレクサ700は、第1ステージ7001および第2ステージ7002を含む。第1ステージ7001はコンフィギュレーション素子10’、11’、12’および13’および第1ステージマルチプレクサ710、711および712を含む。コンフィギュレーション素子10’、11’、12’および13’は、図に示される通り、マルチプレクサ710、711および712の制御入力に結合される。第1ステージマルチプレクサ710、711および712は様々な入力を通じて信号を受信するように結合される。第1ステージマルチプレクサ710は入力A0’、B0’、X0’およびY1’を受信するように結合され、第1ステージマルチプレクサ711は入力A1’、B1’、X1’およびY1’を受信するように結合され、第1ステージマルチプレクサ712は入力A2’、B2’、X2’およびY2’を受信するように結合される。第2ステージ7002はコンフィギュレーション素子20’、21’、22’および23’、および第2ステージマルチプレクサ720を含む。コンフィギュレーション素子20’、21’、22’および23’は、図に示される通りマルチプレクサ720の制御入力に結合される。第2ステージマルチプレクサ720は、図に示される通りそれぞれのマルチプレクサライン701、702および703を通じて第1ステージマルチプレクサ710、711および712の出力から入力を受けるように結合される。第2ステージマルチプレクサ720の出力は、出力700outにおいてマルチプレクサ700の出力を与える。図7bは、図7aのマルチプレクサ700の一部をさらに詳細に示している。特に、図7bは、第1ステージ構成ブロック7001a2つの第1ステージ構成ブロックのうちの1つおよび第2ステージ7002のさらなる詳細を示している。第1ステージ構成ブロック7001aは、トランジスタパスゲート7101、7102、7111、7112、7121および7122を含む。これらのトランジスタパスゲートは、図に示される通り、それぞれ入力A0’、B0’、A1’、B1’、C0’およびC1’に結合される。パスゲート7101および7102はマルチプレクサライン701に結合され、パスゲート7111および7112はマルチプレクサライン702に結合され、パスゲート7121および7122はマルチプレクサライン703に結合される。パスゲート7101、7111および7121は全てコンフィギュレーション素子10’に結合され、パスゲート7102、7112、7122は全てコンフィギュレーション素子11’に結合される。コンフィギュレーション素子10’および11’にはそれぞれCRAMAおよびCRAMBのラベルが付けられる。第2ステージ7002は、それぞれコンフィギュレーション素子20’、21’、22’および23’に結合されるトランジスタパスゲート7201、7202、7203および7204を含む。パスゲート7201、7202および7203は、それぞれマルチプレクサライン701、702および703にも結合される。図7a-7bにおいて示される例において、入力A0’、B0’、A1’、B1’、A2’およびB2’は、例えば図1a-5cに示される垂直ラインなど本発明に従った冗長スキームを実現する垂直ルーティングラインからの信号を受信するように結合することができると解釈される。前述の通り、図1a-5cにおいて示される各ルーティング入力マルチプレクサは対の入力AnとBnにおいて2本の垂直ラインから信号を受信する。マルチプレクサ700は、3対の入力すなわちiA0’、B0’、iiA1’、B1’およびiiiA2’、B2’においてこの種の最高6本の垂直ラインから信号を受信するのに適する。マルチプレクサ700への他の入力例えば、X0’、Y0’、X1’、Y1’、X2’、Y2’は他のルーティングリソース例えば、水平ライン、LEアウトプットなど、または同じ冗長スキームに組み込まれない他の垂直ラインからの信号を受信するために使用される、と解釈される。他の例においては、本出願において説明される第1ステージ冗長保護において、指定の同じ冗長スキームに関連する垂直ラインから信号を受信するために、マルチプレクサ700と同様のマルチプレクサにおいて入力X0’、Y0’、X1’、Y1’、X2’およびY2’のポジションと同様のポジションを占める入力を使用することもできる。コンフィギュレーション素子10’および11’のプログラミングは、それぞれのマルチプレクサライン701、702、703がiそれぞれの入力A0’、A1’、A2’から信号を受信するのか、iiそれぞれの入力B0’、B1’、B2’から受信するのか、あるいはiiiiでもiiでもないのか、を決定する。コンフィギュレーション素子20’、21’および22’のプログラミングは、出力700outに対して信号を与えるためにどのマルチプレクサライン701、702、703が選択されるかを決定する。従って、図7bに示されるマルチプレクサ700の配列の下では、A’入力が選択されるかB’入力が選択されるかはコンフィギュレーション素子10’CRAMAおよび11’CRAMBのプログラミングによって決定される。例えば、コンフィギュレーション素子10’が保持する値がハイhighであり、コンフィギュレーション素子11’が保持する値がローlowである場合、入力A0’、A1’、A2’からの信号が、それぞれのマルチプレクサライン701、702および703に与えられる。A0’、A1’およびA2’が最終的に700outに与えられるか否かは、第2ステージ7002のコンフィギュレーション素子のプログラミングによって決まる。ただし、第2ステージにA入力が送られるかB入力が送られるかを決定するのはコンフィギュレーション素子10’および11’である。素子10’が保持する値がローでありかつ素子11’が保持する値がハイであるように素子10’および11’のビットがフリップされる場合、B’入力すなわち、B0’、B1’、B2’が第2ステージに送られる。図6a-6bの実施形態と同様、図7a-7bの実施形態は、An入力とBn入力との間の選択が同じコンフィギュレーション素子の垂直スパンすなわちフレームに属する2つの素子のプログラミングによって決まるようなマルチプレクサの構成、および入力の配列を示している。この図7a-7bの例において、素子10’および11’はルーティング入力マルチプレクサの第2ステージではなく第1ステージに関係する。他の状況においては、ルーティング入力マルチプレクサはもっと少ないまたはもっと多くのステージを持つことができ、ビットフリップに基づいてA入力とB入力の間で選択するために様々な代替配列を利用することができることが、当業者には分かるだろう。図8は、本発明の実施形態を実現できるPLDのコンフィギュレーション部分を例証するPLDコンフィギュレーション部分800を示している。部分800は、データレジスタ850、アドレスレジスタ870、コンフィギュレーション素子801のグリッド810、アドレスライン811およびデータライン812を含む。データレジスタ850は、データレジスタADRA820およびデータレジスタBDRB830を含む。コンフィギュレーション素子801は、部分800を一部として含むPLDの回路の間に分散される。各コンフィギュレーション素子は、図8の例においてはLAB行R[m]からR[m5]までを含めてLAB行の回路を制御する。複数のデータライン812が各LAB行に関連付けられる例えば、図8は、各LAB行R[m]からR[m5]までに関連付けられるデータライン812を示している。PLDのコンフィギュレーション素子は、例えば列C[m]からC[m4]までを含めてLABの列にも関連付けられる。各LAB列は、コンフィギュレーショングリッドの複数のフレームによってプログラムすることができる。例えば、図に示される通り、LAB列C[m]は、フレームf1、f2、f3、f4、f5、f6およびf7と関連付けられる。フレームは、アドレスライン811によって電気的に関係するコンフィギュレーション素子801の単一の垂直スパンと定義される。コンフィギュレーション素子801のグリッド810などコンフィギュレーション素子のグリッドをプログラムするための典型的なシーケンスは、次のように説明することができる。単一のフレームのプログラミングデータがDRA820にロードされる。このデータが次にDRB830にロードされる。アドレスレジスタ870は、DRB830とコンフィギュレーション素子の特定のフレーム例えば、フレームf1との間のデータライン812を通じて電気経路を開く単一のアドレスライン811に関するハイ値を送ることによって、素子801のグリッド810において1つのフレームをアサートする。このシーケンスは、グリッド810の全てのフレームについてのデータがロードされるまでフレームごとに反復される。本出願において使用される場合、フレームという用語は、電気的に関係するコンフィギュレーション素子の垂直スパンかこれらの素子にロードされるコンフィギュレーションデータを指すことができる。図8を参照すると、図6a-6bまたは7a-7bの例と合致するコンフィギュレーション素子の同じフレームに属する2つの連続する素子を示すために、フレームf8の2つのコンフィギュレーション素子801の例にラベルCRAMAおよびCRAMBが付けられている。図9は、図8のDRA820のさらなる詳細を示している。DRA820は、図に示される通りに結合されるシフトセグメント85とマルチプレクサ82を含む。シフトセグメント85はシフト素子81を含む。データはトップからDRA820にロードされ、シフトセグメント85の様々なシフト素子81にシフトされる。各シフト素子81は、図8のコンフィギュレーション素子801にロードされるビットに対応する単一のビットを保持する。各シフトセグメントは特定のLAB行例えば、R[m]、R[m1]、R[m2]などに関連付けられるコンフィギュレーション素子のデータを保持することができる。冗長モードに基づいて、マルチプレクサ82は前の行のシフトセグメント85からまたは前の行の前の行からの入力データを選択するかまたはそのいずれも選択しないように、制御入力82sで制御される。図9の配列は、例えば図1a-5cに示されるような様々な正常モードおよび冗長モードにおいて行シフトを行うために行を選択的にバイパスするかあるいはすぐ下の行にシフトさせることができることが、当業者には分かるだろう。効果的な行シフト構造および方法には多くの代替例があることが当業者には分かるだろう。一例を挙げると、マルチプレクサ82などのマルチプレクサは、行バイパスを行うために依存することなく行シフトのために依存することができる。このような代替形態においては、行バイパスは、バイパスされた行に対応する関連シフトセグメントにロードされた値をクリアすることによって行うことができる。図9の例は、本発明を実現するための1つの実施例を示している。図10は、図6bおよび7bにおいてCRAMAおよびCRAMBのラベルが付けられるコンフィギュレーションビットなど2つのコンフィギュレーションビットAおよびBに関するビットフリップ決定を実行するためのプロセス1000を示している。このビットフリップ決定は、図1a-5cにおいて言及されるマルチプレクサ入力などAnマルチプレクサ入力とBnマルチプレクサ入力との間の選択を決定することができる。特定のルーティング素子の観点から見て、AまたはBマルチプレクサ入力を選択すると、信号を受信するのが第1の垂直ラインからかまたは第2の垂直ラインからかを選択することになる。例えば、図1bを参照すると、マルチプレクサ124は、信号をドライバ134へのルーティング信号をライン111bと112bとの間で選択することができる。下にさらに説明する通り、この選択は、例えば、指定される不良行例えば欠陥冗長モード行または正常モードにおける未使用スペア行が、ドライバ行と接続点行との間にあるか否かなど、冗長に関係する条件に基づくことができる。他の例においては、冗長に関係する他の条件正常モードまたは冗長モードにおいて存在する、およびそのデバイスが設計されるべき1つ以上の冗長スキームに関する条件を含めてがこの種の選択のトリガーとなりうる。1つの形態において、このような冗長関係の選択は、特定の物理的ラインにおける特定の論理的ラインを指定することができる。この論理的ラインは、その後、ユーザが最終的に実現する設計において特定の信号をルーティングするために選択される多くの論理的ラインのうちの1つになり得る。ただし、図10および図12のプロセスを含めて例として示されるプロセスは、必ずしも特定の論理的ラインの位置を考慮に入れる必要はない。これらのプロセスは、指定される不良行、ルーティング素子行、Vラインドライバ行の間の関係および接続が上流か下流かに関する情報にのみ依存する。代替プロセスは、他の観点に依存することが考えられる。例えば、代替プロセスは、特定の論理的ライン最終的にユーザに利用可能になる論理的ラインが第1の垂直ライン上に実現されるか第2の垂直ライン上に実現されるかを考慮に入れることができる。この観点から見ると、第1の垂直ラインまたは第2の垂直ライン上に特定の論理的ラインを指定するための決定は、例えば、第1の垂直ラインのドライバがシフトされた行にあるか否かに依存する。図10の実施形態例を参照すると、プロセス1000は、図1a-5cに示される冗長スキームに関連付けられるVラインに結合されるマルチプレクサ入力の対のビットABがデフォルトとして10に設定されると仮定する。このようなセッティングはAnマルチプレクサ入力を選択することになる図1a-5cに示される例においては、An入力は1本のV4ラインに結合され、Bnマルチプレクサ入力は別のV4ラインに結合される。プロセス1000は、さらに、いくつかのコンフィギュレーションビット対は図1a-5cに示される冗長スキームに関連付けられるVラインに結合される入力の選択に関係しないと仮定する。このように仮定して、プロセス1000は、特定のビット対が指定の冗長スキームに関連付けられる垂直ライン例えば、図1a-5cのV4ラインに結合されるマルチプレクサ入力に関連付けられるか否かを、またもし関連付けられる場合にはAn入力を選択するためにこれらのビットを10に設定すべきかあるいはBn入力を選択するためにフリップして01に設定すべきかを決定する。ブロック1001において、プロセス1000は、特定のビット対ABが指定のスキームに関連付けられるVラインからの接続点を有効にするか否かを決定する。この決定がノーである場合、ブロック1002に示される通り、プロセス1000はこのビット対を操作せず、このビット対は、既に指定されている値のままである。この決定がイエスである場合、ブロック1003は設定されるVラインからの接続点がラインドライバに対して上流であるか下流であるかすなわち冗長行シフト方向に関して上流か下流かを決定する。関係するVライン接続がラインドライバから上流である場合、ブロック1005は、行R[n]より下のLup個の行に不良行があるか否かを決定する。LupはVラインの上流論理的長さである。この場合、長さは4である。行R[n]は、ビット対ABによってプログラムされるルーティング入力マルチプレクサに関連付けられる行行シフトがある場合にはこれが行われた後を意味する。不良行は、単に特定のモード正常または冗長においてその行が使用されないことを意味するに過ぎない。PLDの正常モードにおいては、スペア行に指定された行は使用されない。従って、プロセス1000の観点から見ると、スペア行は、たとえこの行が欠陥行でなくても、この行を含むPLD部分が正常モードで動作する場合不良である。ここで、不良とは単に特定のモード正常または冗長において使用されない行を識別するための表示である。ブロック1005の結果がノーである場合、ブロック1011に示される通り、ビットはAn入力を選択するためにAB=10に設定される。これはプロセス1000が応用されない場合のデフォルトビットセッティングであると仮定されることに留意すること。ブロック1005の結果がイエスである場合、ブロック1007は、行R[nD]が不良行でありかつ1<=D<=Lupであるように、Dを定義する。ブロック1009は、接続点と関係するルーティング入力マルチプレクサのAn入力に結合されるVラインのドライバとの間の論理的距離を決定または識別し、この距離の値からDを差し引く。ブロック1009の結果が0以上>=0である場合、すなわち関係するVラインドライバと接続点との間に不良行がある場合、ブロック1010に示される通り、ビット対がAB=01と設定するように操作される。これによってルーティング入力マルチプレクサのBn入力が選択される。ブロック1009の結果が0未満<0の場合、すなわち行R[n]接続点と関連するルーティング入力マルチプレクサのAn入力に結合されるVラインドライバとの間に不良行がない場合、ブロック1011に示される通り、ビット対はAn入力を選択するためにAB=10に設定される。関係するVライン接続点がラインドライバから下流にある場合、ブロック1006は、行R[n]より上のLdwn個の行に不良行があるか否かを決定する。LdwnはVラインの下流論理的長さである。ブロック1006の結果がノーである場合、ブロック1011に示される通り、ビットはAn入力を選択するためにAB=10に設定される。ブロック1006の結果がイエスである場合、ブロック1008は、行R[nD]が不良行でありかつ1<=D<=LdwnであるようにDを定義する。ブロック1008において定義されたDを用いて、プロセス1000は前述の通りブロック1009から先に進む。図10のプロセス1000は、冗長行シフトが行われたまたは行われると仮定して実行できることが、当業者には分かるだろう。この実施形態の一実施例においては、このような透明性は、図1a-5cに示される指定のスキームを利用しない他のVラインに関連付けられる接続のために同じPLDにおいて他の冗長スキームを実現できるようにする。例えば、V16ラインすなわち16の論理的長さのラインなどもっと長いVラインからの接続に関して、論理的ラインを異なる物理的ワイヤにシフトすることなく行シフトを行うために異なる行に複数の駆動ポイントを与える別のスキームを、図1a-5cに示される指定のスキームがV4ライン接続に応用される同じPLDにおいて実現することができる。このように単一のラインに複数の駆動ポイントを含むスキームの例については、米国特許出願第10159,581号冗長回路を有するプログラマブルロジックデバイスの開示の一部の形態を参照のこと。米国特許出願第10159,581号は多くの形態を開示しており、本出願または前記の特許において明示されることは他方の範囲を限定するものと解釈されるべきではないことに、留意すること。プロセス1000は、ソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組合せで容易に実行できることが、当業者には分かるだろう。図11は、本発明の1つの実施形態の形態に従ったユーザコンピュータ1170によるPLD1100のプログラミングを示している。ユーザコンピュータ1170はコンフィギュレーション記憶装置1190にまたその後PLDに送られるプログラミングデータ1180を生成するためのコンフィギュレーションプログラム1175を含む。記憶装置1190はプログラミングデータ1180を保持し、指定されるモードのときデータ1180をPLD1100に伝送する。代替例においては、まず別個のデバイスが保持することなくデータを直接ユーザコンピュータからPLDに伝送することができる。また、特定の代替例においては、コンフィギュレーション記憶装置をPLD自体の一部とすることができる。PLD1100は、制御ブロックCB1110、データレジスタ1150およびフューズレジスタ1140を含む。フューズレジスタ1140は、特定の行が不良既述のとおり、正常モードにおいては非欠陥スペア行を含み、冗長モードにおいては欠陥行を含むことができると指定されるか否かを指示する情報を保持する。フューズレジスタという用語は、本出願において、単にこのようなレジスタを指すラベルである。特定の例においては、この種のレジスタはプログラムされたフューズレジスタの場合もあるしそうではない場合もある。CB1110は、プログラミングデータ1180を受け取って、このデータを用いてコンフィギュレーションビットストリーム1185を生成する。このビットストリームは、PLD1100の領域を設定するために制御ブロック1110によってデータレジスタ1150に与えられる。コンフィギュレーションプログラム1175は、部分1176を含む。制御ブロック1110は、コンフィギュレーションロジック1111を含む。ユーザコンピュータのソフトウェア部分1176とPLD1100のコンフィギュレーションロジック部分1111は一緒に、図10のプロセス1000を実行するまた、ロジック部分1111は、プロセス1000の実行の一部としてフューズレジスタからのデータも利用する。特に、ソフトウェア部分1176は、ABビット対が指定の冗長スキームに関連付けられるVライン例えば、図1a-5cに示されるV4ラインからの接続点をプログラムするためのものであるか否か、またそうであるならこれらの接続点は関係するラインドライバから上流であるか下流であるかを指示する情報を使って、ビット対をコード化する。さらに、ソフトウェア部分1176は、関係するVラインドライバとABビット対によって設定されるVライン接続点の行との間の距離を示す情報を使ってABビット対をコード化する。このようにして図11のソフトウェア部分1176は、図10のブロック1001および1003によって示されるプロセス1000のステップを実施するために充分な情報をプログラミングデータ1180に追加し、さらに、ブロック1009において示されるステップを実施するために使用される情報も追加する。V4ラインにおいては、均等の4ビットコード化スキームが採用される場合、ビット対に関するこの情報を伝えるために使用されるプログラミングデータ1180内の4ビットストリームが下の表1に要約されている。上の表1の第2行を参照すると、ビット3が0のとき、本発明のスキームによって与えられる冗長保護が利用されない例えば、関係する接続が本発明の冗長スキームに関連付けられるV4ラインからではない。その結果、プロセス1000のブロック1002を関与させることになり、プログラミングビットはプログラム1175によって決定される通りに設定される。従って、AおよびBコンフィギュレーションビットの値は、ビット1およびビット0など特定の4ビットストリームにおいてData1およびData0としてプログラミングデータ1180に含まれる。この場合、ビット2は一貫性のためのパディングビットであり、0に設定される。CB1110およびロジック1111がこのビットシーケンスを受信すると、ビット3が0なので、Data1およびData0がデータレジスタ1150にロードされるコンフィギュレーションビットストリームに含まれるべきコンフィギュレーション値を与えるものであると認識する。表1の第3行を参照すると、ビット3が1の場合、本発明のスキームの冗長保護が呼び出される。この場合、AB対の正確な値を決定するためにはさらなる情報が必要とされる。従って、この場合、プログラム部分1176は、AB対の値を決定する際にロジック1111が使用する情報をコード化する。特にビット2はV4ライン接続点が上流であるか下流であるかを指示するために使用される。ビット1およびビット0は、接続と関係するVラインドライバとの間の距離を指示するために使用される。V4ラインの場合、この距離の最大値は4であり、従って、この例において、この情報を表すために2つのビットが必要であり、かつ充分である。ここで例証される実施形態は、冗長スキームがもっと長いVラインからの接続に応用される場合にはもっと多くのビットを含むように修正できることが、当業者には分かるだろう。また、ある長さのラインについて情報またはその他の情報を伝えるために必要なビットの数は、異なるタイプおよびまたは非標準タイプの2進コード化が使用される場合には変わる可能性がある。例証される例に戻ると、ビット3が1の場合、CB1110のロジック1111は、AB対に関して設定する値を決定するためにプロセス1000を実行するために、ビット2ラインが上流か下流かを指示するおよびビット1とビット0接続と関係するドライバとの間の距離を指示するによって与えられる情報、並びにどの行が不良と指定されるかに関してフューズレジスタ1140から与えられる情報を使用する。次に、CB1110は、データレジスタ1150にロードするためにコンフィギュレーションビットストリーム1185にこの値を与える。図10のプロセス1000などのプロセスまたは本発明の範囲に含まれる別のプロセスを実行するために図11に示されるソフトウェアハードウェア区分について、必ずしも本発明の精神および範囲から逸脱することなく多くの代替形態を利用できることが、当業者には分かるだろう。その一例を挙げると、ユーザコンピュータのコンフィギュレーションプログラムは、代替形態において、PLDフューズレジスタから不良行データを受信し、ソフトウェアにおいてプロセス1000全体を実行し、その後、全てのAB対について明白なビット決定を既に含んでいるPLDにプログラミングデータを伝送することができる。別の一例を挙げると、プロセス1000の全てのロジックをフューズ情報およびビットが特定の冗長スキームに関連付けられる上流ラインへの接続を設定するのか下流ラインへの接続を設定するのかに関してまたこれらの接続点と関係するVラインドライバとの間の距離に関してオンチップで生成される情報に基づいて、PLDの制御ブロックにおいて実行することができる。別の一例を挙げると、ビットフリップすなわちビット選択を実行するハードウェアは、例えばデータレジスタに分散されるハードウェアまたは関係するコンフィギュレーション素子に局部的に分散されるハードウェアなど、PLDの制御ブロックの外部のハードウェアを含むことができる。この種の代替ハードウェア分散の例はデータレジスタ内でビットフリップを行うための、図9のDRA820の素子81など素子間のマルチプレクサを含む。あるいは、その代わりに、図6bあるいは7bにおいてCRAMAおよびCRAMBのラベルが付けられるものなどコンフィギュレーション素子に、局部的に追加の2:1マルチプレクサを与えることができる。このような2:1マルチプレクサは、CRAMAとCRAMBとの間のローカルビットルーティングを行う。例証される実施形態のこれらのまたその他の代替形態は、必ずしも本発明の精神および範囲から逸脱することなく可能であることが、当業者には分かるだろう。例証される主たる実施形態において、コンフィギュレーションロジック1111などオンチップロジックは、専用回路によって実行される。しかし、代替形態においては、このようなオンチップロジックを、本発明に従ってプロセスまたはプロセスの部分を実行するためのソフトウェアを実行するチップに埋め込まれた汎用プロセッサによって実行することができる。1つの例において、プログラム1175などコンフィギュレーションプログラムの実行の一部として、この種のソフトウェアをユーザコンピュータ1170などユーザコンピュータからダウンロードすることができる。図12は、ルーティング接続点に関するコンフィギュレーションビットについてビットセッティング決定を実行するためのプロセス1200を示す流れ図である。このようなビットセッティング決定の結果は、例えば図1a-5cにおいて言及されるAnマルチプレクサ入力あるいはBnマルチプレクサ入力などマルチプレクサ入力を制御することができる。図12のプロセス1200は、本発明の範囲に従った図10のプロセス1000の多くの可能な代替形態のうちの1つを示している。プロセス1200は、ビットを対ではなく個々に処理する。プロセス1200は、設定されるビットが同じコンフィギュレーション素子のフレームに属する連続するコンフィギュレーション素子に関するものであるか否かに関係なく、応用することができる。プロセス1200は、ビットを設定するためのプログラミングデータがデフォルト値を指定すると仮定し、その後このデフォルト値を修正すべきか否かを決定する。ブロック1201において、プロセス1200は、設定対象である特定のビットが指定のスキームに関連付けられるVライン例えば、この例を図1a-5cに示されるスキームに応用する場合これらの図に示されるV4ラインからの接続点を有効にするものであるか否かを決定する。このブロック1201の決定がノーである場合、ブロック1201に指示される通り、プロセス1200はコンフィギュレーションビット関係するCRAMにロードされるビットをデフォルト値に設定する。このブロック1201の決定がイエスである場合、ブロック1203は設定される接続点がラインドライバから上流であるか下流であるかすなわち冗長行シフト方向に関して上流であるか下流であるかを決定する。関係するVライン接続点がラインドライバから上流にある場合、ブロック1205は行R[n]より下のLup個の行に不良行があるか否かを決定する。ここでLupはVラインの上流論理的長さである。行R[n]はビットによってプログラムされるルーティング入力マルチプレクサに関連付けられる行行シフトが行われる場合には、これが行われた後である。ブロック1205の結果がノーである場合、ブロック1202に指示される通り、ビットはデフォルト値に設定される。ブロック1205の結果がイエスである場合、ブロック1207は行R[nD]が不良行でありかつ1=<D=<LupであるようにDを定義する。ブロック1209は、ビットを設定するためにDを用いてプログラミングデータにおいてコード化された択一的ビット値のうち1つを選択する。択一的ビット値のコード化および選択については表2に関連して下でさらに説明する。関係するVライン接続点がラインドライバから下流にある場合、ブロック1206は行R[n]より上のLdwn個の行に不良行があるか否かを決定する。ここで、LdwnはVラインの下流論理的長さである。ブロック1206の結果がノーの場合、ブロック1202に示される通り、ビットはプログラミングデータにおいて指定されるデフォルト値に従って設定される。ブロック1206の結果がイエスである場合、ブロック1208は、行R[nD]が不良行でありかつ1=<D=<LdwnであるようにDを定義する。ブロック1208において定義されたDを用いて、プロセス1200は、ビットを設定するためにプログラミングデータにおいてコード化された択一的ビット値のうち1つを選択するためにブロック1210に進む。プロセス1200は、図11の修正版コンフィギュレーションプログラム1175などユーザコンフィギュレーションプログラムと図11の修正版コンフィギュレーションロジック1111などオンチップロジックの組合せを用いて実行することができる。この種のコンフィギュレーションプログラムは、PLDにロードするためのプログラミングデータを与える。V4ラインからの接続点をプログラムするためのビット例えば図1a-5cにおいてAnまたはBnマルチプレクサ入力をプログラムするためのビットを設定するためにコンフィギュレーションプログラムによって与えられるプログラミングデータに関連して、この例においてはCRAMにロードされる単一のビット値をコード化するために使用されるプログラミングデータの7つのビットについて下の表2を参照して説明する。表2は、図12のプロセス1200に従って特定のCRAMをプログラムするために特定のコンフィギュレーションビットを設定するためにPLDが使用できるユーザコンピュータで実行されるコンフィギュレーションプログラムによって与えられるデータを表している。表2を参照すると、ビット6’は、プログラムされる接続点が指定の冗長スキームに関連付けられるVラインからの接続点であるか否かを指示する。このビットの値の決定は、プロセス1200のブロック1201に関係し、コンフィギュレーションプログラムによって実行することができる。表2の第2行を参照すると、接続点が指定の冗長スキームに関連付けられるV4ライン接続に関係しない場合、ビット6’=0である。ブロック1202に指示される通り、接続点が関係する冗長接続に関係しない場合、関係するCRAMビットを設定するためにデフォルト値が選択される。関係するCRAMビットのデフォルト値への設定は、デフォルト値が設定されるべきであることを指示するビット6’およびデフォルト値が何であるかを指示するビット4’に基づいて、コンフィギュレーションロジックによってオンチップで行うことができる。この場合、表2の残りのビットは、ビット5’、ビット3’、ビット2’、ビット1’およびビット0’を含めて、全て一貫性のためのパディングとしてすなわち、設定対象である各ビットのプログラミングデータが7ビットの一貫した長さを有するように含まれ、0に設定される。表2の第3行を参照すると、接続点が指定の冗長スキームに関連付けられるV4ライン接続に関係することをビット6’が示す場合、すなわちこの例においてビット6’=1の場合、ブロック1203に示される通り、プロセス1200は、接続点がラインドライバから上流であるか下流であるかを決定する。プロセス1200のブロック1203は、コンフィギュレーションプログラムによって実行することができ、ブロック1203の結果は、接続が上流であるか下流であるかを指示するビット5’によって表される。この場合にも、ビット4’はデフォルト値を指示する。デフォルト値の決定はコンフィギュレーションプログラムによって実行することができる。ビット3’、ビット2’、ビット1’およびビット0’は、各々、接続点の行に対して相対的な特定の行が不良である場合にCRAMビットが設定されるべき値を示す。例えば、特定の行が不良であるか否かの決定はフューズレジスタからの入力に基づいてコンフィギュレーションロジックがオンチップで行う。このコンフィギュレーションロジックは、不良行データを用いて、ステップ1205および1207上流接続の場合あるいはステップ1206および1208下流接続の場合を実行し、その後これらのステップの結果すなわちDを用いて、ビット3’、ビット2’、ビット1’またはビット0’のうちから1つCRAMビットの値を選択する。ここでDは接続点行からの不良行の距離である。この例において、これらのビットの値はコンフィギュレーションプログラムによって決定され、プログラミングデータと一緒に含まれるのに対して、CRAMビットを設定するために行われる値のうちの1つの選択はオンチップコンフィギュレーションロジックによって行われる。図10のプロセス1000と同様、図12のプロセス1200は、図1a-5cにおいて示される指定のスキームを利用しない他のVラインに関連付けられる接続のために同じPLDにおいて他の冗長スキームを実現できるようにすることが、当業者には分かるだろう。さらに、プロセス1200はソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組み合わせにおいて容易に実現できるロジックを表すことが、当業者には分かるだろう。上記の説明は、本発明の範囲内に含まれるソフトウェアハードウェア区分の一例を示しているのに過ぎない。図13aおよび13bは、正常モード図13aおよび冗長モード図13bで動作するPLDの部分1300における垂直ルーティングラインに関するトラックグループの物理的配列を示している。図に示される配列は、冗長機能を有する垂直ライン用のスタガ形セグメント化ルーティングアーキテクチャにおいて、本発明の1つの実施形態の1つの形態に従って修復性を強化するために有益である。図13aを参照すると、部分1300は、部分1300をその一部として含むPLDの合わせて5つの行R、R1、R2、R3およびR4の垂直ラインおよび垂直ラインの部分を含む。図に示されるラインは、トラックグループとして配列されていると言うことができ、各グループは特定の行から駆動される垂直ラインを含む。第1のグループは、行Rから駆動されるライン1111、1112および1113を含む。第2のグループは、行R1から駆動されるライン1121、1122および1123を含む。第3のグループは、行R2から駆動されるライン1131、1132および1133を含む。第4のグループは、行R3から駆動されるライン1141、1142および1143を含む。また、第5のグループは、行R4から駆動されるライン1151、1152および1153を含む。単に図13aに示される正常モードにおいて与えられる可能性のある信号経路の一部を例示するために、代表的な信号S1、S2、S3、S4、S5およびS6がそれぞれライン1111、1112、1121、1123、1132および1141に示されている。行R4はスペア行なので、図に示される正常モードにおいてはしようされない。従って、図13aに示される通り、行R4から駆動されるラインは信号経路を与えるために使用されていない。図13bを参照すると、同じ部分1300が示されているが、図13bの例においては、欠陥13xがライン1121、1122および1123を欠陥ラインにしている。欠陥はこれらのラインの行R2の部分にあるように示されているが、欠陥ラインは行R1から駆動されるので、行R1は結果として欠陥行である。修復可能領域はスペア行R4より上に形成される。行R1の欠陥を考慮してPLDを修復するために行R1、R2およびR3をシフトするために、冗長スキームが呼び出される。指示される行シフトによって、信号S1、S2、S3、S4、S5およびS6のための冗長モード経路が可能になる。図に示される通り、信号S1およびS2はそれぞれのライン1111および1112図に示されるモードにおいてシフトしない行Rから駆動されるライン上のままである。しかし、他の信号S3、S4、S5およびS6はそれぞれライン1132、1133行R2から駆動される、1142行R3から駆動されるおよび1151行R4から駆動されるにシフトされる。欠陥によっては複数のラインに及ぶ場合がある。しかし、これらの複数のラインが同じ行から駆動される場合、この種の欠陥は行シフトおよび特定の修復可能領域における単一のスペア行の使用によって修復できる可能性がある。従って、同じ行から駆動される少なくとも数本のワイヤを近接して配置することによって、複数のラインに及ぶ単一の欠陥を修復できる可能性が高くなる。図14aおよび14bは、本発明の実施形態に従って正常モード図14aおよび冗長モード図14bで動作するPLDの部分1400において選択される行についての垂直ラインからのルーティングを示している。図に示されるPLD部分において、修復性を最大限にするためにスペア行は修復定義可能である。図14aを参照すると、PLD部分1400は、垂直ライン1411、1412および1413、ドライバ1431、1432および1433、接続点1401および接続点1402を含む。図面が過度に複雑にならないようにするために、ルーティング入力マルチプレクサは特に示されていない。しかし、接続点1401は特定の1401接続点に対応する行に関連付けられるルーティング入力マルチプレクサのAn入力への接続点であり、接続点1402は特定の1402接続点に対応する行に関連付けられるルーティング入力マルチプレクサのBn入力への接続点であると、解釈される。図に示されるPLD部分1400は、部分1400を含むPLDのロジックアレイの13の行RからR12までのラベルが付けられるを含む。図14aに示される通り、2本の論理的ラインL141およびL142は、PLD部分1400の正常モードにおいて、それぞれ第1の垂直ライン1411および1412上に実現される。ライン1411上に実現されるラインL141は、行R3から駆動され、図に示される通り、ルーティング入力マルチプレクサへのアクティブの接続点は行R4行R4ルーティング入力マルチプレクサのAn入力への接続点1401を通じておよびR7R7ルーティング入力マルチプレクサのAn入力への接続点1401を通じてにある。ライン1412上に実現されるラインl14-2は、行R4から駆動され、図に示される通り、ルーティング入力マルチプレクサへのアクティブな接続点は、行R5行R5ルーティング入力マルチプレクサのAn入力への接続点1401を通じておよび行R8行R8ルーティング入力マルチプレクサのAn入力への接続点1401を通じてにある。両方のラインL141およびL142に与えられる論理的接続長さは1および4である。図14aおよび14bの実施形態において、欠陥行がある場合これがどこにあるか分かるまでスペア行は定義される必要はない。図14aの例において欠陥行はない。従って、スペア行を使用する必要はない。様々な理由により例えば一貫性のため使用可能な行の合計数が予め決められたPLDにおいて、冗長のために含まれる追加の行すなわちスペア行は使用する必要がない。図14aに示される実施形態において、スペア行の位置を予め定義する必要はないので、スペア行の位置は任意に定義することができる。行R2およびR12がスペアとして定義され、図14aの正常モードにおいては使用されない。しかし、図14aの例の代替形態においては、未使用のスペア行を垂直ラインが横断する行において指定することも可能であることが分かるだろう。例えば、代替形態において、図14aの行R12に定義されるスペア行を、行R7に定義することもできる。このような代替形態においては、それぞれ行R7およびR8におけるライン1411および1412からの1401接続点は、それぞれ行R8およびR9における同じそれぞれのラインからの1402接続点に移動するので、行R7の未使用スペア行を考慮するとラインL141およびL142の一貫した論理的長さが維持される。図14bは、同じPLD部分1400を示しているが、図14bの例においては、行R4およびR9が不良である点が異なる。図14aに示される通り行R2およびR12にスペア行が固定されているとすると、行R4およびR9の欠陥は、単一の修復可能領域スペア行の間に形成されるに2つの不良行があることを意味することになり、デバイスを修復するための冗長行シフトの能力を制限することになる。しかし、図14bの例において、2つの不良行を修復するために2つのスペア行の位置を定義することができる。図に示される通り、スペア行は、行R5およびR10に定義される。このようにして、これらの行の欠陥を考慮してPLDを修復するために行R4およびR9をシフトするために、冗長スキームが呼び出される。論理的ラインL141はそのままライン1411上に実現されるが、行R4およびR7の接続点はそれぞれ行R5およびR8の1402接続点にシフトする。論理的ラインL141に与えられる論理的接続長さは1および4のままである。しかし論理的ラインL142は、ライン1413にシフトする。このラインにおいて、ルーティング入力マルチプレクサへのアクティブな接続点は行R6An入力への1401接続点を通じておよび行R10Bn入力への1402接続点を通じてにある。論理的ラインL142に与えられる論理的接続長さは、1および4のままである。図14aにおいても14bにおいても、例として信号S1およびS2のためにL141およびL142によって与えられる接続性を示すために、信号経路が強調されている。物理的行数で測定されるライン1411、1412および1413の物理的長さは5である。ここで例証される冗長スキーム例は、スペア行を横断するか否かに関係なく同様の接続性を実現する垂直ラインが一貫した物理的長さを持てるようにする。この一貫性はスペア行定義に柔軟性を持たせる。デバイス全体または図14aに示されるようなデバイスの部分におけるスペア行の任意の定義には代替形態があることが分かるだろう。例えば、PLD供給者は、複数のバージョンのデバイスを提供することができるだろう。このような例においては、XS個の物理的行を有するデバイスの2つのバージョンすなわちX個の使用可能な行を持つ第1のバージョンおよびXS個の使用可能な行を持つ別のバージョンを提供するができる。ここで、Sは欠陥部分の行を修復するために利用可能なスペア行の潜在的数である。第1のバージョンX個の使用可能な行は、スペア行のどれかがデバイスの修復のために既に使用された場合に提供できる。修復に全てのスペア行が使用されているわけではない場合、他のスペア行は不良と指定され、使用されない。しかし、デバイスに欠陥行がない場合、第2のバージョンを提供でき、全てのスペア行をアクティブにして、デバイスにXS個の使用可能な行を与えることができる。このようなXS行使用可能なデバイスのバージョンにおいては、X行使用可能なデバイスのバージョンにおける接続点に比べてユーザ設計のために利用可能な接続総数を増やすために、より多くの接続点を利用することができる。さらに、このようなXS行使用可能なデバイスのバージョンにおいて与えられる垂直ラインの論理的長さは、潜在的に、同じデバイスのX行使用可能なバージョンにおけるラインの論理的長さより大きくすることができる。例えば、図1aを参照すると、この図の修正バージョンにおいて、ライン111bに結合されるマルチプレクサ124のBn入力への接続点102を通じて行R11経路が正常モードで使用されるとすると、このラインの論理的長さは4ではなく5になる。他の代替形態においては、修復のためにそれまでにいくつのスペア行が必要とされたかに応じて多様な数の使用可能な行を含むデバイスの3つ以上のバージョンを提供することができる。図15は、データ処理システム1500における本発明に従ったPLD150を示している。データ処理システム1500は、以下のコンポーネントのうち1つまたはそれ以上を含むことができる:プロセッサ1540、メモリ1550、IO回路1520、および周辺機器1530。これらのコンポーネントは、システムバス1565によってまとめて結合され、エンドユーザシステム1570に含まれる回路板に配置される。システム1500などデータ処理システムは、エンドユーザシステム1570など単一のエンドユーザシステムを含むか、データ処理システムとして協働する複数のシステムを含むことができる。システム1500は、コンピュータネットワーキング、データネットワーキング、計装、画像処理、デジタル信号処理またはシステム設計においてプログラマブルまたは再プログラマブルロジックを使用する利点があるその他の用途など、多様な用途に使用することができる。PLD150は、多様なロジック機能を果たすために使用できる。例えば、プログラマブルロジックデバイスをプロセッサまたはプロセッサ1540と協力するコントローラとして設定することができるまたは、代替実施形態においては、PLD自体が単独システムプロセッサとして行動することができる。PLD150は、また、システム1500における共有リソースへのアクセスを仲裁するアービタとして使用することもできる。さらに別の例においては、PLD150をプロセッサ1540とシステム1500の他のコンポーネントのうちの1つとの間のインターフェイスとして設定することができる。システム1500は一例に過ぎないことに留意しなければならない。行ベースの冗長スキームこのスキームにおいて、垂直ラインは単に複数の行を横断する向きのラインであるを有するプログラマブルロジックデバイスに関して本発明の実施形態を説明したが、本発明は、列ベースの冗長スキーム列ベースのスキームにおける水平ラインは複数の列を横断するので、行ベースのスキームにおける水平ラインと同じになることに留意することを使用するプログラマブルロジックデバイスにも同様に応用できる。行および列という用語は、デバイスの方位に対して相対的なものなので、相互に直交する行と列を有する典型的なデバイスにおいては、デバイスを90°回転させるだけで行と列を交換できる。説明を明白にするために、本発明は、行ベースの配列について説明され、主張されているが、この説明およびクレームは同様に列ベースの冗長配列に適用される。さらに、行という用語は一般にアイテムの直線配列に関連付けられるが、代替実施形態は、必ずしも本発明の精神および範囲から逸脱することなく、湾曲したまたは部分的に湾曲したまたは時折凸凹またはギャップを有する行配列を採用することができる。このような変動する方位を有する列を含むデバイスも、本発明の範囲内にある冗長スキームを持つことができる。また、上述の通り、垂直ラインは本出願においては複数の行を横断するラインとして定義されるので、垂直ラインは同様にその長さに沿って様々な方位を持つことができる。また、一部が垂直でありすなわち複数の行を横断する、他の部分が垂直ではない複数の行を横断する向きではない場合もある。特定の実施形態について詳細に説明し、いくつかの変形について注記したが、本発明の精神および範囲から逸脱することなく、本出願において説明される実施形態に他の様々な修正を加えることができるので、本発明は添付の特許請求の範囲によってのみ限定される。"