(57)【要約】【課題】  PLD組み立て後発見された不良箇所に応じて、不良箇所を回避することにより、製品歩留まりを向上することが可能なPLD及び関連する制御プログラム等を提供することができないでいた。【解決手段】  プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部と、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレース制御部と、前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイスを提供する。【選択図】    図１１
2006134997.tif 000002
【特許請求の範囲】
【請求項１】
プログラム可能な論理回路を含む複数の論理ブロックと、
前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部と、
前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレース制御部と、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイス。
【請求項２】
請求項１において、更に、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、前記代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換える書き込み制御部を有することを特徴とするプログラム可能論理デバイス。
【請求項３】
請求項１において、
前記記憶部には、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、
前記リプレースルール表に基づき、前記代替経路が求められることを特徴とするプログラム可能論理デバイス。
【請求項４】
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報、故障した資源を特定する不良箇所情報、及び、制御プログラムが予め格納された記憶部と、前記制御プログラムを読み出して実行する制御部とを有するプログラム可能論理デバイスに、
前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、代替経路を求めさせ、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えさせるリプレース制御機能と、
前記記憶部に格納された前記回路情報を読み出させ、前記読み出された回路情報に基づき所定の論理回路を形成させる配線リソース機能とを実現させるための制御プログラム。
【請求項５】
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部とを有するプログラム可能論理デバイスにおける回路形成方法であって、
前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定する判定ステップと、
前記判定ステップにおいて、前記経路に故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレースステップと、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線ステップとを有することを特徴とする回路形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能論理デバイスに関連し、特に、不良製品を救済し、歩留まりを向上させることができるプログラム可能論理デバイス、及び、関連する制御プログラム、回路形成方法、回路設計システム、プログラム可能論理デバイスを搭載した装置に関する。
【背景技術】
【０００２】
現在、内部回路群の結線を外部からデザインでき、製造後でも論理動作をプログラムすることができるチップであるプログラム可能論理デバイス(Programmable Logic Device、以下PLDと略)を用いた回路設計がよく行われる。PLDには、CPLD(Complex Programmable Logic Device)やFPGA(Field Programmable Gate Array)等が含まれる。
【０００３】
PLDには、内部回路群の結線をデザインしてできる回路情報を記憶しておく記憶部が存在し、
記憶部に書き込む回路情報を変更することによって、自由に論理動作をプログラムすることができる。内部回路群の結線のデザインは、PLDにパラレルケーブル等を介して外部接続されるPC(Personal Computer)等の情報処理装置において、配置・配線ソフトと呼ばれるプログラムを実行することで行うことができる。配置・配線ソフトや、記憶部に回路情報を書き込むためのプログラム（書き込みソフト）は、PLDメーカ(manufacturer)が無償で提供することが多く、開発者はPLDを手に入れるだけで安価に回路設計が行える。
【０００４】
従来技術においては、PLDの製品歩留まりを向上させるために、本来必要とする機能以外に、冗長要素を組み込み、製造過程において不良が発生した場合、不良部分の代替として冗長要素を使用することで、不良となる製品を救済している。これは、従来メモリデバイスに対して行われており、例えば、特許文献１によれば、メモリブロックを冗長に用意し、欠陥素子を含むメモリブロックへのアクセスを回避するための冗長アドレスデコーダを備えた半導体装置が記載される。また、特許文献２によれば、不良発生時にメタルで形成されたヒューズを切断して予備のメモリセルに置換することが記載される。また、不良製品の救済に関連する従来技術としては、特許文献３に、本来出力されるべき値と実際の出力値が異なるときの、入力値の組を予め故障メモリに記憶しておき、その入力値の組が入力されるとき出力を反転することで、１つの基本ブロックにおける１つの入力値の組に対する故障による不良を救済することが記載される。
【特許文献１】特開２００２−３１９２９６号公報
【特許文献２】特開平１１−２１１７９４号公報
【特許文献３】特開平５−２６７６０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来技術では、製品歩留まり向上のためには、ウェハ段階で加工（レーザによる配線の切断など）が必要となり、PLD組み立て後発見した不良については、対応できない。また、当初予測した範囲（組み込んだ冗長要素）を超える不良の場合は、対応できない。
【０００６】
そこで、本発明の目的は、PLD組み立て後発見された不良箇所に応じて、不良箇所を回避することにより、製品歩留まりを向上することが可能なPLD及び関連する制御プログラム等を提供することにある。更に、本発明の目的は、PLD毎に異なる不良箇所に応じて、不良箇所を回避することができる回路設計システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的は、本発明の第一の側面として、プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部と、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレース制御部と、前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイスを提供することにより達成される。
【０００８】
上記発明の側面においてより好ましい実施例によれば、プログラム可能論理デバイスは、更に、前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、前記代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換える書き込み制御部を有する。
【０００９】
上記発明の側面においてより好ましい実施例によれば、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、前記リプレースルール表に基づき、前記代替経路が求められる。
【００１０】
また、上記目的は、第二の側面として、プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報、故障した資源を特定する不良箇所情報、及び、制御プログラムが予め格納された記憶部と、前記制御プログラムを読み出して実行する制御部とを有するプログラム可能論理デバイスに、前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、代替経路を求めさせ、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えさせるリプレース制御機能と、前記記憶部に格納された前記回路情報を読み出させ、前記読み出された回路情報に基づき所定の論理回路を形成させる配線リソース機能とを実現させるための制御プログラムを提供することにより達成される。
【００１１】
また、上記目的は、第三の側面として、プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部とを有するプログラム可能論理デバイスにおける回路形成方法であって、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定する判定ステップと、前記判定ステップにおいて、前記経路に故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレースステップと、前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線ステップとを有することを特徴とする回路形成方法を提供することにより達成される。
【発明の効果】
【００１２】
本発明によれば、PLDにおいて、その内部に持つ出荷試験結果（不良箇所情報）から、その不良箇所を回避する機能を持たせることで、不良品として廃棄するPLDを削減し、全体歩留まりを向上させることができる。出荷試験は、PLD組み立て後に行われるものであり、本発明の実施においては、ウェハ段階での加工を必要としないで済む。また、不良箇所の回避により、当初予定していた経路よりも遅延が増加すると考えられるが、その遅延増加分はリプレースルール表に「遅延時間」として格納されており、タイミングモデルに折り込むことにより、タイミング変動に対応することもできる。また、各PLDがその内部に不良箇所情報を持つことから、他のデバイスの不良箇所情報と混同することなく管理することが可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１４】
以下、本明細書に述べる実施形態の基本概念は、PLDの製品組み立て後に発見された不良箇所の情報を不良箇所情報としてPLD内部の記憶部に予め格納しておくことで、不良箇所を含んだPLDであっても製品として使用することができるようにするものである。こうして、不良箇所を含んだPLDであっても廃棄を免れさせることができ、PLD製品の歩留まりを向上させることができる。更に概略を言えば、以下に述べる実施形態においては、ユーザが設計する所定の論理回路を、不良箇所を含んだPLDにおいて実現する場合、その不良箇所を回避するようにPLD内部の接続状態を適宜設定することが行われる。
【００１５】
図１は、本発明の実施形態におけるプログラム可能論理デバイス(PLD)を説明する図である。PLDは、ANDゲートやORゲートの組合せで再現される組合せ論理回路を実現するための論理ブロック１３と、論理ブロック１３の周囲に配置され、論理ブロック同士を接続するのに使用される、縦横方向に伸びる配線リソース１４と、配線リソース同士の交差部分に配置され、つなぐべき配線リソースを接続するスイッチ部１２と、PLD内部の各所を制御する制御ユニット１１と、PLD１外部とインタフェースとなるI/Oピン１６、I/Oピン１６に直結し、I/Oピン１６の特性を設定するI/Oセル１５とを含む。
【００１６】
図２は、論理ブロック１３を説明する図である。論理ブロック１３は、ルックアップテーブルLUTと、フリップフロップFFから構成される。ルックアップテーブルを使用することにより、入力ビットをメモリアドレスとし、各メモリアドレスに対応する出力値を格納しておくことで、入力側２５からどのような組合せの信号が入力されても、対応する値が出力側２６に出力され、任意の組合せ論理回路を実現することができる。
【００１７】
論理ブロック１３の周囲には、配線リソースが交差する箇所にスイッチ部１２が配置される。また、スイッチ部１２同士は、配線リソース１４に含まれる複数の信号線１４１によって接続される。なお、入力側２５から論理ブロック１３に入る配線リソースや、論理ブロック１３から出力側２６に出る信号線と、スイッチ部１２同士を接続する信号線との交差部分（図２には、出力側２６での交差部分２０が描かれる）においても、スイッチ部１２が形成される。
【００１８】
図３は、スイッチ部１２において交差する配線リソースを拡大する図である。図３に示されるように、各論理ブロックに向かう配線リソースの接続点には、トランジスタスイッチ２１が配置される。このトランジスタスイッチ２１は、制御ユニット１１からのスイッチ切り替え信号に応じて、接続したり切り離したりされる。こうして、どの論理ブロックをどのように接続するかを自由に変えることができる。
【００１９】
PLDの動作は、各論理ブロック１３のLUT、スイッチ部１２のトランジスタスイッチ状態、そして論理ブロック１３同士を接続する経路を決める回路情報で決定される。上述したトランジスタスイッチ２１の状態だけでなく、残りの要素も、ユーザの設計により自由に内容を変更することができる。
【００２０】
本明細書で説明する実施形態においては、論理ブロック１３同士を接続する経路に含まれる資源である、スイッチ部１２と配線リソース１４が故障する場合に、その故障した資源を回避する代替経路を使用することで製品歩留まりを向上させる。回路情報は、PLDの起動前に外部から書き込まれる。
【００２１】
図４は、回路情報を外部からPLDに書き込むための情報システムを説明する図である。まず、着脱可能なソケット４４等を介して、PLD１が基板４１に取り付けられる。基板４１は、外部インタフェースとして例えば、パラレルポート４２を備えており、パラレルポート４２は、ソケット４４と信号線４３で接続されている。
【００２２】
パラレルポート４２は、形状の一致するコネクタ３９を有するパラレルケーブル３８により情報処理装置３０のパラレルポート（図示せず）に接続される。情報処理装置３０のパラレルポートは、周辺機器インタフェースとして提供されるものである。
【００２３】
情報処理装置３０は、PC(Personal Computer)等であって、情報を表示するための表示部３７、情報を入力するためのキーボード、マウス、CD(Compact Disc)、DVD(Digital Versatile Disk)、MO(Magneto-Optical)ディスク等の記憶媒体を読み出すためのドライブ装置を有する。キーボードやマウスを使用すれば、ユーザは、回路情報を情報処理装置に入力できる。また、ドライブ装置を使用すれば、記憶媒体に格納された回路情報が読み出され、情報処理装置に入力される。つまり、キーボード、マウス、ドライブ装置は、入力部３６として機能する。
【００２４】
以上のようにして情報処理装置３０に入力された回路情報は、パラレルケーブルを介してPLDに入力され、回路情報が外部からPLDに書き込まれることになる。
【００２５】
図５は、情報処理装置３０の構成を説明する図である。図５の情報処理装置３０は、バス３４を介して互いに接続される制御部３１、RAM(Random Access Memory)３２、記憶部３３、周辺機器接続用インタフェース(周辺機器I/F)３５、情報が入力される入力部３６、情報を表示する表示部３７を含む。
【００２６】
制御部１１は、図示省略されたCPU(Central Processing Unit)を含み、RAM３２に格納されるプログラムを実行し、情報処理装置３０に含まれる各部を制御する。RAM３２は、情報処理装置３０の処理における演算結果やプログラムが一時的に格納される記憶手段である。記憶部３３は、ハードディスク、光ディスク、磁気ディスク、フラッシュメモリ等の不揮発性記憶手段であり、各種データやRAMへ読み出される前のOS(Operating System)等のプログラムが格納される。
【００２７】
周辺機器I/F３５は、情報処理装置３０に周辺機器を接続するためのインタフェースであり、パラレルポート、USB(Universal Serial Bus)ポートや、PCIカードスロット等である。周辺機器としては、基板４１があるが、他にもプリンタ、TVチューナ、SCSI(Small Computer System Interface)機器、オーディオ機器、ドライブ装置、メモリカードリーダライタ、ネットワークインタフェースカード、無線LANカード、モデムカード、キーボードやマウス、ディスプレイ装置など多岐に渡る。周辺機器と情報処理装置３０との接続形態は、有線であっても無線であっても構わない。
【００２８】
入力部３６は、キーボード、マウス等ユーザの要求が入力される入力手段であり、また、記憶媒体に格納された情報を読み出すためのドライブ装置であってもよい。表示部１７は、CRT(Cathode Ray Tube)、液晶ディスプレイ等ユーザに情報を提示する表示手段である。情報処理装置３０としては、デスクトップ型PC、ノートブック型PC、PDA(Personal Digital Assistance)、サーバ等が考えられる。
【００２９】
図６は、本明細書で説明する実施形態のPLD１において、論理ブロック１３同士を接続する経路が形成される様子を説明する図であり、図６Ａは、故障箇所のないPLDの場合を、図６Ｂは、ある配線リソースが故障している場合をそれぞれ説明するものである。本明細書においては、経路を、その経路に含まれる資源を識別する識別子を並べることによって特定する。
【００３０】
論理ブロック１３同士を接続する経路に含まれる資源（スイッチ部１２、配線リソース１４）には、図６Ａに示されるように識別子が割り当てられる。例えば、図６Ａには、スイッチ部１２が「SW」＋数字により識別子が割り当てられ、配線には、「H」を挟む数字により識別子が割り当てられる。配線リソースの識別子の場合、「H」の前後の数字は、その配線リソースが接続するスイッチ部１２の数字部分を表している。例えば、「13H14」は、スイッチ部「SW13」とスイッチ部「SW14」を接続する配線リソースを意味する。
【００３１】
PLD１に不良箇所（故障資源）があり、回路情報により特定される経路にその不良箇所に対応する資源が使用されている場合、図６Ｂに示されるように、代替経路が用意され、その代替経路が使用される。例えば、図６ＡのPLD１は、故障箇所がないため、論理ブロックａと論理ブロックｉを接続する経路１０１として、スイッチＳＷ５、配線リソース５Ｈ８、スイッチＳＷ８、配線リソース８Ｈ１１、スイッチＳＷ１１が使用される。図６ＢのPLD１は、配線リソース８Ｈ１１が故障しており、図６Ａの経路１０１を使用して論理ブロックａと論理ブロックｉを接続することはできない。そこで、図６Ｂに示されるように、故障資源８Ｈ１１を迂回する２つの代替経路１０２、１０３が用意され、どちらかが使用される。
【００３２】
こうして、PLD組み立て後に不良箇所が見つかった場合でも、その不良箇所を回避しながら、本来のPLD１の目的である所定の論理回路を実現することができる。こうして、従来であれば、不良箇所が存在するだけで廃棄しなければならないPLD１の歩留まりを大幅に改善することが可能となる。
【００３３】
続いて、実施形態の説明において共通に使用されるデータのデータ構成について説明する。
【００３４】
図７は、回路情報のデータ構成例を示す図であり、図７Ａは、故障箇所のないPLDの場合を、図７Ｂは、ある配線リソースが故障している場合をそれぞれ説明するものである。図７の回路情報は、「論理ブロック」、「経路」、「故障反映済フラグ」というデータ項目を含む。
【００３５】
「論理ブロック」は、回路情報により特定される経路がどの論理ブロックを接続するかを示す情報である。図７Ａには、一例として図６Ａに示す論理ブロックａから論理ブロックｉへの接続を示す「a to i」が格納される。
【００３６】
「経路」は、論理ブロックの接続に使用される経路を、その経路において使用される資源の識別子により特定する情報である。図７Ａには、故障箇所のないPLDに対応する経路として、図６Ａの経路１０１で使用される資源の識別子が格納される。
【００３７】
「故障反映済フラグ」は、このレコードが代替経路か否かを示すフラグ情報である。図７Ａにおいては、故障箇所のないPLDであるため、このレコードは代替経路ではなく、「故障反映済フラグ」には、代替経路ではないことを示す「Ｎｏ」が格納される。
【００３８】
一方図７Ｂは、図６Ｂに対応し、論理ブロックａから論理ブロックｉへの経路において故障資源８Ｈ１１が存在する結果、代替経路１０３に置き換えられた回路情報を示している。従って、図７Ａの「経路」と図７Ｂの「経路」を比較すると、下線部が故障資源を回避する迂回路によって置き換えられていることがわかる。そして、図７Ｂのレコードは代替経路であるため、「故障反映済フラグ」には、代替経路であることを示す「Ｙｅｓ」が格納される。
【００３９】
図８は、本明細書において説明する実施形態における前提として、PLDに予め格納される不良箇所情報のデータ構成例を示す図である。不良箇所は、PLD組み立て後の出荷試験によって、ほぼ１００％特定可能であり、その資源に割り当てられた識別子により位置を特定することができる。そして、不良箇所情報は、不良箇所（故障資源）を特定するための情報であり、「リソースID」と「故障タイプ」というデータ項目を含む。
【００４０】
「リソースID」は、各資源に対して割り当てられる識別子である。これは、図６において説明したように、スイッチ部１２、配線リソース１４にそれぞれ割り当てられるものである。「故障タイプ」は、故障の種別を識別するための番号である。例えば、「１」は、トランジスタスイッチ２１をOnにできない故障を示し、「２」は、トランジスタスイッチをOffにできない故障を示し、「３」は、配線がショートしている故障を示し、「４」は、信号遅延又は信号損失の発生確率が高い故障を示すものである。
【００４１】
なお、図８においては、リソースIDに格納される値として、スイッチ部ＳＷ１、配線リソース１Ｈ２のようにある資源全体が指定されるが、各スイッチ部１２に複数含まれるトランジスタスイッチ２１毎に、そして各配線リソース１４に含まれる複数の信号線１４１毎に、資源を識別するための識別子を割り当てれば、より細かいレベルで故障資源を特定することも可能である。
【００４２】
図９は、代替経路を求めるのに使用されるリプレースルール表を説明する図であり、図９Ａは、ある論理ブロックに隣接する論理ブロックの関係を示す図であり、図９Ｂは、リプレースルール表のデータ構成例を示す図である。
【００４３】
図９Ａに示されるように、論理ブロック１３を格子状に配置すれば、１つの論理ブロック１３の周囲には８つの論理ブロック１３が隣接することになる。こうしてある論理ブロック（ここでは論理ブロックａ）を中心とする周囲８つの論理ブロックに対してそれぞれ、代替経路がリプレースルール表に格納される。
【００４４】
ただし、本明細書においては、説明を簡略化するために、配線リソース１４の故障は、スイッチ部１２同士を接続する配線リソース１４にしか発生しないものとする。このため、論理ブロックａと右隣の論理ブロックｂのリプレースルールは存在しない。論理ブロックａと論理ブロックｂ間の接続に使用される資源は、１つのスイッチ部１２のみであり、代替経路を作成できないためである。しかしながら、図８において説明したように、より細かいレベルで故障資源を特定したり、論理ブロック１３の入力側２５及び出力側２６の信号線を故障資源として特定可能な識別子により管理すれば上述した問題は避けられるため、論理ブロックａと右隣の論理ブロックｂのリプレースルールが作成される場合があることは言うまでもない。
【００４５】
図９Ｂに示されるように、リプレースルール表は、「論理ブロック」、「経路」、「故障位置」、「代替経路」、「遅延時間」というデータ項目を持つ。「論理ブロック」は、どの隣接論理ブロック間を接続する経路に関する代替経路が格納されるレコードかを示す情報である。図９Ｂには、図９Ａに示す論理ブロックａと論理ブロックｃの組み合わせ（「a to c」で示される）から論理ブロックａと論理ブロックｉの組み合わせ（「a to i」で示される）に対応するレコードが格納される。
【００４６】
「経路」は、PLDに不良箇所がない場合に使用される経路を、その経路において使用される資源の識別子により特定する情報である。図９Ｂには、一例として論理ブロックａと論理ブロックｉを接続する経路が、図６Ａのように各資源がナンバリングされる場合の、識別子の列挙によって特定されている。他の論理ブロック間の経路は示されていないが、同様のポリシーによってナンバリングされた識別子の列挙により特定される。
【００４７】
「故障位置」は、「経路」に含まれる資源のうち、故障可能性のある資源を特定する情報である。そして、「代替経路」は、「故障位置」により特定される資源が故障の場合に使用される代替経路を、その代替経路において使用される資源の識別子により特定する情報である。代替経路は、「故障位置」の資源を迂回する経路であれば、次の「遅延時間」に関する制約を満たす限り、採用される。例えば、図９Ｂには、論理ブロックａと論理ブロックｉを接続する経路で、配線リソース８Ｈ１１が故障した場合の代替経路として、２つの経路が格納されていることがわかる（ちなみに、これは図６Ｂにおける代替経路１０２、１０３に対応する）。
【００４８】
最後に、「遅延時間」は、「経路」の代わりに「代替経路」が使用される場合の信号遅延時間である。「代替経路」は予め、この「遅延時間」が所定の遅延時間を下回るように設定される。従って、故障資源を迂回するために遠回りする代替経路がリプレースルール表のレコードに格納されることはない。遅延時間は、代替経路に含まれる資源が決定すれば求められる。
【００４９】
図９のリプレースルール表を参照すれば、隣接する論理ブロック間の経路に関する代替経路を素早く得ることができる。しかし、隣接する論理ブロック間以外の経路に関する代替経路は、リプレースルール表を参照するだけでは得られない。その問題の解決には、次のような方法をとればよい。
【００５０】
図１０は、リプレースルール表を利用して隣接する論理ブロック間以外の経路に関する代替経路を導出する方法の一例を説明するフローチャートである。図１０の「開始」に示される論理ブロックｄと論理ブロックｉとを接続する経路のうち、図６Ｂに示す配線リソース８Ｈ１１（図１０における不良箇所５０１）が故障している場合の代替経路を導出するものとする。
【００５１】
まず、不良箇所手前までの経路を求める（Ｓ１２１）。図６Ｂのナンバリングを援用すると、論理ブロックａ、ｂ、ｈ、ｉの周囲に含まれない資源に説明用の識別子を割り当てていないため、識別子を示すことはできないが、ステップＳ１２１によって、経路５０２が求められる。この経路５０２を本線と呼ぶことにする。
【００５２】
次に、不良箇所５０１を経路に含む隣接論理ブロックの経路を特定する（Ｓ１２２）。例えば、配線リソース８Ｈ１１（不良箇所５０１）であれば、図９のリプレースルール表を参照すれば、論理ブロックａと論理ブロックｉが、その「不良箇所５０１を経路に含む隣接論理ブロック」に該当する。
【００５３】
そして、ステップＳ１２２で特定された経路の代替経路を求める（Ｓ１２３）。図９のリプレースルール表を参照すれば、論理ブロックａと論理ブロックｉを接続する経路において、故障位置が配線リソース８Ｈ１１である場合の代替経路として、２つの経路が示される。これは、図６Ｂにおける代替経路１０２、１０３に対応するものである。
【００５４】
次に、ステップＳ１２１で求められる本線５０２と、ステップＳ１２３で求められる代替経路を足す（Ｓ１２４）。ステップＳ１２４で経路を足し合わせるとは、本線と代替経路の重複区間で位置あわせをして、両者を合体させることである。図１０の場合、本線も、代替経路も図６のナンバリングでいうところの、スイッチ部ＳＷ２、配線リソース２Ｈ５、スイッチ部ＳＷ５、配線リソース５Ｈ８、スイッチ部ＳＷ８という区間を含む。従って、この区間で位置合わせをすれば両者を合体できる。なお、ステップＳ１２４の下に示される図は、合体前の本線及び代替経路をしめし、その経路内の矢印は、経路の向きを示すものである。
【００５５】
本線と、代替経路の合体が完了すると、はみ出た部分を切り取る整理処理を行う（Ｓ１２５）。整理処理においては、まず、本線５０２に合流する区間が削除される。これは、代替経路における、論理ブロックａからスイッチ部ＳＷ５に至る区間である。そして、合体の際の位置合わせに使用された重複区間は本線５０２を優先する。また、図１０に示した例には現れないが、経路の向きを示す矢印が互いに逆向きになって重なる区間がある場合、その区間は削除する。
【００５６】
以上の処理によって、最終的に図１０の「終了」の下に示されるような経路が、互いに隣接しない論理ブロックｄと論理ブロックｉを接続する経路の代替経路として導出される。導出された代替経路は、通常の経路と同様、その経路に含まれる資源の識別子の列挙によって特定される。なお、ステップＳ１２３で求められる隣接論理ブロック間の代替経路が複数ある場合、ここではその複数の代替経路を並行して処理したが、ステップＳ１２３において、そのいずれかを選択し、選択されたものに対してのみ以降の処理を施すようにしても構わない。
【００５７】
図１０に示す方法を使用して、非隣接論理ブロック間の代替経路を求めずとも、図９に示すリプレースルール表にすべての論理ブロック間の経路に関する代替経路を格納することももちろん可能である。しかし、論理ブロック数が多くなればなるほど組合せは膨大になり、広大なメモリ空間を必要とする。従って、論理ブロック数は多いが、メモリ容量を抑えたければ、隣接する論理ブロック間の代替経路だけをリプレースルール表に格納しておき、それ以外の組合せは図１０に示すアルゴリズムに従って処理するとよい。
【００５８】
以上の説明を基に、PLDの動作について実施形態毎に説明する。以下の実施形態における前提として、図８に示す不良箇所情報が予めPLDに格納される。また、特に断りがない限り、図９に示すリプレースルール表も予めPLDに格納されるものとする。
【００５９】
第１の実施形態は、回路情報の書き込み時には特別な処理は行わず、PLD起動時に、故障箇所を迂回するための処理を行うものである。そこで、PLDは、不良箇所情報と回路情報を参照し、回路情報に基づきこれから形成しようとする所定の論理回路を実現するための経路に、故障資源が含まれる場合、リプレースルール表を参照して、代替経路を導出して故障資源を迂回するようスイッチ部１２を制御するものである。
【００６０】
図１１は、第１の実施形態におけるPLD１の制御ユニット１１を説明する機能ブロック図であり、図１１Ａは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニット１１の状態を示し、図１１Ｂは、PLD起動後の起動フェーズにおける制御ユニット１１の状態を示す。
【００６１】
図１１の制御ユニット１１は、制御部６０と記憶部７４とを有している。制御部６０は、リプレース制御部７２、配線リソース部７３を含む。制御部６０の各機能部は、制御部６０に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
【００６２】
記憶部７４は、前提において説明したように、不良箇所情報５１（図８参照）、リプレースルール表５２（図９参照）を予め含む。そして、図１１Ａにおいて、回路情報の書き込み時に特別な処理は行われず、外部から書き込まれる回路情報５３（図７Ａ参照）がそのまま記憶部７４に追加される。
【００６３】
図１１Ｂにおいて、PLD１を起動すると、リプレース制御部７２は、不良箇所情報５１を参照し、回路情報５３により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、代替経路に含まれる資源を識別する情報で回路情報を書き換える。代替経路を求めるにあたり、リプレース制御部７２は、図１０で説明したように、リプレースルール表５２を参照する。
【００６４】
代替経路に含まれる資源を識別する情報で回路情報５３を書き換えると、図７Ｂに示されるように「故障反映済フラグ」が「Ｙｅｓ」となるレコードが記憶部７４には格納される。以降、このときの回路情報のことを、故障反映済回路情報５４と呼ぶ。配線リソース部７３は、故障反映済回路情報５４が生成されると、それを記憶部７４から読み出して、読み出された故障反映済回路情報５４に基づき所定の論理回路を形成すべく、トランジスタスイッチ２１の切り替え信号を出力する。
【００６５】
図１２は、第１の実施形態におけるPLD１の動作を説明するフローチャートである。予め、記憶部７４には、不良箇所情報５１とリプレースルール表５２が格納される（Ｓ２）。そして、書き込みフェーズにおいて回路情報５３が追加される（Ｓ４）。
【００６６】
その後PLD１が起動されると（Ｓ６）、リプレース制御部７２が、回路情報５３、不良箇所情報５１を読み出す（Ｓ８）。そして、リプレース制御部７２は、読み出された回路情報５３により特定される経路に、不良箇所が含まれるかを確認する（Ｓ１０）。ステップＳ１０において、リプレース制御部７２は、不良箇所情報５１に含まれる「リソースID」を含む経路があるかないかを回路情報（図７参照）に基づき判定する。
【００６７】
ステップＳ１０において不良箇所（故障資源）が含まれる場合（Ｓ１０Ｙｅｓ）、代替経路が導出される（Ｓ１２）。ステップＳ１２において、隣接論理ブロック間の代替経路を求める場合、リプレース制御部７２は、リプレースルール表５２の「代替経路」欄を直接参照する。非隣接論理ブロック間の代替経路を求める場合、リプレース制御部７２は、リプレースルール表５２を参照し、図１０で説明したアルゴリズムに従って代替経路を求める。
【００６８】
そして、リプレース制御部７２は、ステップＳ１２で導出された代替経路に含まれる資源の識別子を順番に列挙することによって故障反映済回路情報を生成し、記憶部７４に格納する（Ｓ１４）。このとき、図７Ｂに示されるように「故障反映済フラグ」が「Ｙｅｓ」にセットされる。
【００６９】
配線リソース部７３は、故障反映済回路情報５４が生成されると、それを記憶部７４から読み出して、読み出された故障反映済回路情報５４に基づき所定の論理回路を形成すべく、トランジスタスイッチ２１の切り替え信号を出力する（Ｓ１６）。そして、所定の論理回路として動作が開始される（Ｓ１８）。
【００７０】
以上に説明した第１の実施形態によれば、PLDにおいて、その内部に持つ出荷試験結果（不良箇所情報）から、その不良箇所を回避する機能を持たせることで、不良品として廃棄するPLDを削減し、全体歩留まりを向上させることができる。出荷試験は、PLD組み立て後に行われるものであり、本発明の実施においては、ウェハ段階での加工を必要としないで済む。また、不良箇所の回避により、当初予定していた経路よりも遅延が増加すると考えられるが、その遅延増加分はリプレースルール表に「遅延時間」として格納されており、タイミングモデルに折り込むことにより、タイミング変動に対応することもできる。また、各PLDがその内部に不良箇所情報を持つことから、他のデバイスの不良箇所情報と混同することなく管理することが可能になる。
【００７１】
続いて、第２の実施形態について説明する。第２の実施形態は、第１の実施形態においてPLD起動時にリプレース制御部７２が行う処理を、回路情報の書き込み時に行う書き込み制御部を新たに設けることによって、PLD起動時の処理を高速化するものである。
【００７２】
図１３は、第２の実施形態におけるPLD１の制御ユニット１１を説明する機能ブロック図であり、図１３Ａは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニット１１の状態を示し、図１３Ｂは、PLD起動後の起動フェーズにおける制御ユニット１１の状態を示す。
【００７３】
図１３の制御ユニット１１は、制御部６０と記憶部７４とを有している。制御部６０は、書き込み制御部７１、リプレース制御部７２、配線リソース部７３を含む。制御部６０の各機能部は、制御部６０に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
【００７４】
記憶部７４は、前提において説明したように、不良箇所情報５１（図８参照）、リプレースルール表５２（図９参照）を予め含む。そして、図１３Ａにおいて、回路情報の書き込み時に、
書き込み制御部７１が、リプレース制御部７２と同じ機能を果たす。
【００７５】
つまり、書き込み制御部７１は、不良箇所情報５１を参照し、回路情報５３により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、故障反映済回路情報５４を記憶部７４に格納する。
【００７６】
図１１Ｂにおいて、PLD１を起動すると、リプレース制御部７２は、回路情報の「故障反映済フラグ」を参照し、「Ｙｅｓ」かどうかを確認する。故障反映済回路情報５４が格納されていれば、そのレコードのフラグは「Ｙｅｓ」であり、その場合、すでに故障資源を回避する代替経路が求められているため、リプレース制御部７２は、特に処理を行わずスキップする。そして、配線リソース部７３は、記憶部７４に格納された故障反映済回路情報５４を読み出して、読み出された故障反映済回路情報５４に基づき所定の論理回路を形成すべく、トランジスタスイッチ２１の切り替え信号を出力する。
【００７７】
図１４は、第２の実施形態におけるPLD１の動作を説明するフローチャートである。予め、記憶部７４には、不良箇所情報５１とリプレースルール表５２が格納される（Ｓ２）。そして、書き込みフェーズにおいて回路情報５３が入力される（Ｓ３）。
【００７８】
回路情報が入力されると、書き込み制御部７１が不良箇所情報５１を読み出す（Ｓ５）。そして、書き込み制御部７１は、入力された回路情報５３により特定される経路に、不良箇所が含まれるかを確認する（Ｓ１０）。ステップＳ１０において、書き込み制御部７１は、不良箇所情報５１に含まれる「リソースID」を含む経路があるかないかを入力された回路情報（図７参照）に基づき判定する。
【００７９】
ステップＳ１０において不良箇所（故障資源）が含まれる場合（Ｓ１０Ｙｅｓ）、代替経路が導出される（Ｓ１２）。ステップＳ１２において、隣接論理ブロック間の代替経路を求める場合、書き込み制御部７１は、リプレースルール表５２の「代替経路」欄を直接参照する。非隣接論理ブロック間の代替経路を求める場合、書き込み制御部７１は、リプレースルール表５２を参照し、図１０で説明したアルゴリズムに従って代替経路を求める。
【００８０】
そして、書き込み制御部７１は、ステップＳ１２で導出された代替経路に含まれる資源の識別子を順番に列挙することによって故障反映済回路情報を生成し、記憶部７４に格納する（Ｓ１４）。このとき、図７Ｂに示されるように「故障反映済フラグ」が「Ｙｅｓ」にセットされる。
【００８１】
その後PLD１が起動されると（Ｓ６）、リプレース制御部７２は、記憶部７４に格納されている回路情報を読み出す（Ｓ１５）。この場合、既に故障反映済回路情報５４が格納されているため、リプレース制御部７２は、特別な処理は行わない。そして、配線リソース部７３は、記憶部７４に格納される故障反映済回路情報５４を読み出して、読み出された故障反映済回路情報５４に基づき所定の論理回路を形成すべく、トランジスタスイッチ２１の切り替え信号を出力する（Ｓ１６）。そして、所定の論理回路として動作が開始される（Ｓ１８）。
【００８２】
以上に説明した第２の実施形態によれば、故障反映済回路情報５４と、故障反映前の回路情報５３が混在して記憶部７４に格納される場合、読み出されたのが故障反映済回路情報５４であれば、リプレース制御部７２は起動時の処理を省略でき、起動処理を高速化できる。また、読み出されたのが故障反映前の回路情報５３であれば、不良箇所情報を参照し、故障資源を回避させることができ、その両者に対応することができることになる。
【００８３】
続いて、第３の実施形態について説明する。第３の実施形態は、第２の実施形態においてリプレース制御部を省略したものである。回路情報の書き込み時に故障反映済回路情報を生成して格納しておけば、リプレース制御部は必要ないためである。
【００８４】
図１５は、第３の実施形態におけるPLD１の制御ユニット１１を説明する機能ブロック図であり、図１５Ａは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニット１１の状態を示し、図１５Ｂは、PLD起動後の起動フェーズにおける制御ユニット１１の状態を示す。
【００８５】
図１５の制御ユニット１１は、制御部６０と記憶部７４とを有している。制御部６０は、書き込み制御部７１、配線リソース部７３を含む。制御部６０の各機能部は、制御部６０に備えられる図示省略されたCPUで実行されるプログラムとして実現されるがハードウェアにより実現することも可能である。
【００８６】
記憶部７４には、前提において説明したように、不良箇所情報５１（図８参照）、リプレースルール表５２（図９参照）を予め含む。図１５Ａにおける書き込みフェーズの動作は、第２の実施形態と同じであり説明を略す。そして、図１５Ｂにおいて、PLD１を起動すると、最初から配線リソース部７３が、記憶部７４に格納された故障反映済回路情報５４を読み出して、読み出された故障反映済回路情報５４に基づき所定の論理回路を形成すべく、トランジスタスイッチ２１の切り替え信号を出力する。
【００８７】
第３の実施形態におけるPLD１の動作は、第２の実施形態（図１４）とほぼ同じである。ただし、第２の実施形態と異なり、ステップＳ６の後、リプレース制御部７２による回路情報の読み出しステップＳ１５が省略され、配線リソース部７３によるステップＳ１６が行われる。
【００８８】
以上に説明した第１〜第３の実施形態においては、代替経路の導出をPLD側で行うため、１つの回路情報を不良箇所を含む複数のPLD１に適用しようとすると、処理に時間を要することになる。例えば、図１６に示されるように、記憶媒体５５に格納された情報として、又は、他の情報処理装置３０に入力された情報としてネットワーク等の通信手段を介して、提供される回路情報を、PLDへの書き込みを処理する情報処理装置３０が、不良箇所を含む複数のPLD１に適用しようとする。
【００８９】
このとき、PLDの起動時にリプレース制御部７２が働く（第１実施形態）か、回路情報５３の書き込み時に書き込み制御部７１が働く（第２、第３実施形態）かいずれにしても、PLD毎に異なる回路情報５３を各PLDに備えられた制御ユニット１１が処理することになる。PLD１に備えられる制御ユニット１１の演算能力はそれほど高くないため、PLD１の起動処理あるいは、回路情報５３の書き込み処理に時間を要することになるわけである。
【００９０】
そこで、１つの回路情報５３を複数のPLD１に適用する場合の処理時間を短縮するために、比較的演算能力の高い情報処理装置３０に、第２、第３実施形態の書き込み制御部７１の機能を持たせた情報処理システムを導入することが考えられる。それを、第４の実施形態として説明する。
【００９１】
図１７は、第４の実施形態における情報処理システムの構成を示すブロック図である。図１７の情報処理システムは、パラレルケーブル等の信号線を介して互いに接続される情報処理装置３０とPLD１の構成から、必要な部分を抜き出したものである。
【００９２】
図１７における情報処理装置３０は、制御部３１と記憶部３２を有している。制御部３１は、入力部３１１、要求部３１２、書き込み制御部７１を含む。制御部６０の各機能部は、制御部６０に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
【００９３】
記憶部７４には、リプレースルール表５２（図９参照）を予め含む。括弧付きで示される不良箇所情報５１と回路情報５３は後に記憶部３２に格納されることになる。
【００９４】
入力部３６は、図５において説明したように、キーボード、マウス等の入力手段や、記憶媒体を読み出すドライブ装置である。入力部３６を介して、回路情報が情報処理装置３０に入力される。
【００９５】
要求部３１２は、入力部３６を介して回路情報５３が入力されると、PLD１に不良箇所取得要求を出力すると共に、入力された回路情報５３を記憶部３２に格納する。そして、PLD１より入力される不良箇所情報５１を書き込み制御部７１に出力すると共に、記憶部３２に格納する。書き込み制御部７１は、第２、３の実施形態の書き込み制御部と同じ機能を持つものであり、不良箇所情報を参照し、入力部３６を介して入力された回路情報５３により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、代替経路に含まれる資源を特定する情報で入力部３６を介して入力された回路情報５３を書き換えた、故障反映済回路情報５４としてPLDに出力する。
【００９６】
図１７におけるPLD１は、制御部６０と記憶部７４を有している。制御部６０は、応答部７６、格納部７７、配線リソース部７３を含む。制御部６０の各機能部は、制御部６０に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
【００９７】
記憶部７４は、前提において説明したように、不良箇所情報５１（図８参照）を予め含む。括弧付きで示される故障反映済回路情報５４は後に記憶部７４に格納されることになる。
【００９８】
応答部７６は、情報処理装置３０の要求部３１２が出力する不良箇所取得要求に応じて、記憶部７４に格納された不良箇所情報５１を情報処理装置３０に出力する。格納部７７は、情報処理装置３０が入力する回路情報（ここでは故障反映済回路情報５４が入力される）を記憶部７４に格納する。そして、配線リソース部７３は、第１〜第３の実施形態における配線リソース部と同じ機能を持つものであり、記憶部７４に格納された回路情報を読み出して、読み出された回路情報に基づき所定の論理回路を形成すべく、トランジスタスイッチ２１の切り替え信号を出力する。
【００９９】
図１８は、第４の実施形態における情報処理システムの動作を説明するフローチャートである。予め、PLD１の記憶部７４には、不良箇所情報５１が格納され、情報処理装置３０の記憶部３２には、リプレースルール表５２が格納される（Ｓ２）。そして、書き込みフェーズにおいて情報処理装置１の入力部３６を介して回路情報５３が入力される（Ｓ３）。
【０１００】
すると、情報処理装置３０の要求部３１２がPLD１に不良箇所取得要求を出力すると共に、入力された回路情報５３を記憶部３２に格納する（Ｓ１０１）。PLD１の応答部７６は、情報処理装置３０より入力される不良箇所取得要求に応じて、記憶部７４に格納された不良箇所情報５１を情報処理装置３０に出力する（Ｓ１０２）。
【０１０１】
情報処理装置３０では、ステップＳ１０２で出力された不良箇所情報５１を要求部３１２が、記憶部３２に格納すると共に、書き込み制御部７１に出力する。書き込み制御部７１は、入力部３６を介して入力された回路情報５３により特定される経路に、不良箇所が含まれるかを、要求部３１２を介して記憶部３２に格納された不良箇所情報５１を参照して確認する（Ｓ１０）。ステップＳ１０において、書き込み制御部７１は、不良箇所情報５１に含まれる「リソースID」を含む経路があるかないかを入力された回路情報５３（図７参照）に基づき判定する。
【０１０２】
ステップＳ１０において不良箇所（故障資源）が含まれる場合（Ｓ１０Ｙｅｓ）、代替経路が導出される（Ｓ１２）。ステップＳ１２において、隣接論理ブロック間の代替経路を求める場合、書き込み制御部７１は、リプレースルール表５２の「代替経路」欄を直接参照する。非隣接論理ブロック間の代替経路を求める場合、書き込み制御部７１は、リプレースルール表５２を参照し、図１０で説明したアルゴリズムに従って代替経路を求める。
【０１０３】
そして、書き込み制御部７１は、ステップＳ１２で導出された代替経路に含まれる資源の識別子を順番に列挙することによって故障反映済回路情報を生成し、PLD１に出力する（Ｓ１４）。このとき、図７Ｂに示されるように「故障反映済フラグ」が「Ｙｅｓ」にセットされる。PLD１では、格納部７７が、情報処理装置３０が入力する故障反映済回路情報５４を記憶部７４に格納する（Ｓ１０３）。
【０１０４】
その後PLD１が起動されると（Ｓ６）、配線リソース部７３は、記憶部７４に格納される故障反映済回路情報５４を読み出して、読み出された故障反映済回路情報５４に基づき所定の論理回路を形成すべく、トランジスタスイッチ２１の切り替え信号を出力する（Ｓ１６）。そして、所定の論理回路として動作が開始される（Ｓ１８）。
【０１０５】
以上に説明した第４の実施形態によれば、回路情報を書き込む際に、PLDに記憶された不良箇所情報を使用し、不良箇所を回避する機能をPLD外部に組み込むことによって、PLD毎に不良箇所が異なる場合でも、１つのマスタ回路情報を、その複数のPLDに適用することを容易に行うことができる。そして、この場合には、デバイス内部に不良箇所を回避する機能を持たなくても済む。つまり、PLD起動の度にリプレース制御（代替経路の導出）を行う必要がなく、短時間で動作開始状態にすることが可能となる。また、本実施形態の情報処理システムによれば、不良箇所を使用禁止リソースとして情報処理装置の表示部に表示し、配置・配線を行うことで、そのPLDにおける最適設計を行うことも可能になる。
【０１０６】
なお、第１〜第４の実施形態においては、代替経路を求める際、２次元平面内で故障した資源を避ける経路を探すものであるが、配線が多層構造である場合、３次元空間において代替経路を求めてもよい。例えば、図１９に示されるように、論理ブロック１３２から論理ブロック１３４への経路が、第１層における故障箇所（罰印）によって使用できない場合、第２層を経由する代替経路とすることが可能である。
【０１０７】
以上まとめると付記のようになる。
【０１０８】
（付記１）
プログラム可能な論理回路を含む複数の論理ブロックと、
前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部と、
前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレース制御部と、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイス。
【０１０９】
（付記２）
付記１において、更に、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、前記代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換える書き込み制御部を有することを特徴とするプログラム可能論理デバイス。
【０１１０】
（付記３）
付記２において、
前記回路情報により特定される前記経路には、それぞれ該経路が前記不良箇所情報を反映して書き換えられた代替経路かどうかを示す故障反映済みフラグが対応付けられて前記記憶部に格納されており、
前記書き込み制御部は、前記回路情報を書き換える場合、前記代替経路に置き換えられた経路の前記故障反映済みフラグを、前記不良箇所情報を反映済みであることを示す情報に更新し、
前記リプレース制御部は、まず、前記記憶部の前記回路情報に含まれる前記故障反映済みフラグを参照し、前記故障反映済みフラグが前記不良箇所情報を反映済みであることを示す経路の場合、前記判定を行わないことを特徴とするプログラム可能論理デバイス。
【０１１１】
（付記４）
プログラム可能な論理回路を含む複数の論理ブロックと、
前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報が格納される記憶部であって、故障した資源を特定する不良箇所情報が予め格納された記憶部と、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換える書き込み制御部と、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイス。
【０１１２】
（付記５）
付記１又は４において、
前記記憶部には、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、
前記リプレースルール表に基づき、前記代替経路が求められることを特徴とするプログラム可能論理デバイス。
【０１１３】
（付記６）
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報、故障した資源を特定する不良箇所情報、及び、制御プログラムが予め格納された記憶部と、前記制御プログラムを読み出して実行する制御部とを有するプログラム可能論理デバイスに、
前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、代替経路を求めさせ、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えさせるリプレース制御機能と、
前記記憶部に格納された前記回路情報を読み出させ、前記読み出された回路情報に基づき所定の論理回路を形成させる配線リソース機能とを実現させるための制御プログラム。
【０１１４】
（付記７）
付記６において、更に、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、前記代替経路を求めさせ、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換えさせる書き込み制御機能を実現させるための制御プログラム。
【０１１５】
（付記８）
付記７において、
前記回路情報により特定される前記経路には、それぞれ該経路が前記不良箇所情報を反映して書き換えられた代替経路かどうかを示す故障反映済みフラグが対応付けられて前記記憶部に格納されており、
前記書き込み制御機能では、前記回路情報が書き換えられる場合、前記代替経路に置き換えられた経路の前記故障反映済みフラグが、前記不良箇所情報を反映済みであることを示す情報に更新され、
前記リプレース制御機能では、まず、前記記憶部の前記回路情報に含まれる前記故障反映済みフラグが参照され、前記故障反映済みフラグが前記不良箇所情報を反映済みであることを示す経路の場合、前記判定が行われないことを特徴とする制御プログラム。
【０１１６】
（付記９）
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報が格納される記憶部であって、故障した資源を特定する不良箇所情報、及び、制御プログラムが予め格納された記憶部と、前記制御プログラムを読み出して実行する制御部とを有するプログラム可能論理デバイスに、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、代替経路を求めさせ、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換えさせる書き込み制御機能と、
前記記憶部に格納された前記回路情報を読み出させ、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース機能とを実現させるための制御プログラム。
【０１１７】
（付記１０）
付記６又は９において、
前記記憶部には、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、
前記リプレースルール表に基づき、前記代替経路が求められることを特徴とする制御プログラム。
【０１１８】
（付記１１）
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部とを有するプログラム可能論理デバイスにおける回路形成方法であって、
前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定する判定ステップと、
前記判定ステップにおいて、前記経路に故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレースステップと、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線ステップとを有することを特徴とする回路形成方法。
【０１１９】
（付記１２）
付記１１において、更に、
前記回路情報が前記記憶部に格納されるとき、前記判定ステップ及び前記リプレースステップを行うことを有することを特徴とする回路形成方法。
【０１２０】
（付記１３）
付記１２において、
前記回路情報により特定される前記経路には、それぞれ該経路が前記不良箇所情報を反映して書き換えられた代替経路かどうかを示す故障反映済みフラグが対応付けられて前記記憶部に格納されており、
前記回路情報が前記記憶部に格納されるとき、前記回路情報を書き換える場合、前記代替経路に置き換えられた経路の前記故障反映済みフラグを、前記不良箇所情報を反映済みであることを示す情報に更新し、
前記リプレースステップにおいて、まず、前記記憶部の前記回路情報に含まれる前記故障反映済みフラグを参照し、前記故障反映済みフラグが前記不良箇所情報を反映済みであることを示す経路の場合、前記判定を行わないことを特徴とする回路形成方法。
【０１２１】
（付記１４）
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報が格納される記憶部であって、故障した資源を特定する不良箇所情報が予め格納された記憶部とを有するプログラム可能論理デバイスにおける回路形成方法であって、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定する判定ステップと、
前記判定ステップにおいて、前記経路に故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレースステップと、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線ステップとを有することを特徴とする回路形成方法。
【０１２２】
（付記１５）
付記１１又は１４において、
前記記憶部には、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、
前記リプレースルール表に基づき、前記代替経路が求められることを特徴とする回路形成方法。
【０１２３】
（付記１６）
プログラム可能な論理回路を含む複数の論理ブロックを有し、前記複数の論理ブロックを接続する経路を特定する回路情報が入力され、前記入力される回路情報に基づき所定の論理回路を形成するプログラム可能論理デバイスと、
前記プログラム可能論理デバイスに信号線を介して接続され、前記回路情報を前記プログラム可能論理デバイスに出力する情報処理装置とを備える回路設計システムであって、
前記プログラム可能論理デバイスは、更に、
故障した資源を特定する不良箇所情報が予め格納された記憶部と、
前記情報処理装置が入力する不良箇所取得要求に応じて、前記記憶部に格納された前記不良箇所情報を前記情報処理装置に出力する応答部と、
前記情報処理装置が入力する回路情報を前記記憶部に格納する格納部と、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有し、
前記情報処理装置は、
前記回路情報を入力するための入力部と、
前記入力部を介して前記回路情報が入力されると、前記プログラム可能論理デバイスに前記不良箇所取得要求を出力する要求部と、
前記プログラム可能論理デバイスが入力する前記不良箇所情報を参照し、前記入力部を介して入力された前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記入力部を介して入力された前記回路情報を書き換えて前記プログラム可能論理デバイスに出力する書き込み制御部とを有することを特徴とする回路設計システム。
【０１２４】
（付記１７）付記１乃至５に記載されたプログラム可能論理デバイスを搭載する装置。
【図面の簡単な説明】
【０１２５】
【図１】本発明の実施形態におけるプログラム可能論理デバイス(PLD)を説明する図である。
【図２】論理ブロックを説明する図である。
【図３】スイッチ部において交差する配線リソースを拡大する図である。
【図４】回路情報を外部からPLDに書き込むための情報システムを説明する図である。
【図５】情報処理装置の構成を説明する図である。
【図６】本明細書で説明する実施形態のPLDにおいて、論理ブロック同士を接続する経路が形成される様子を説明する図であり、Ａは、故障箇所のないPLDの場合を、Ｂは、ある配線リソースが故障している場合をそれぞれ説明するものである。
【図７】回路情報のデータ構成例を示す図であり、Ａは、故障箇所のないPLDの場合を、Ｂは、ある配線リソースが故障している場合をそれぞれ説明するものである。
【図８】本明細書において説明する実施形態における前提として、PLDに予め格納される不良箇所情報のデータ構成例を示す図である。
【図９】代替経路を求めるのに使用されるリプレースルール表を説明する図であり、Ａは、ある論理ブロックに隣接する論理ブロックの関係を示す図であり、Ｂは、リプレースルール表のデータ構成例を示す図である。
【図１０】リプレースルール表を利用して隣接する論理ブロック間以外の経路に関する代替経路を導出する方法の一例を説明するフローチャートである。
【図１１】第１の実施形態におけるPLDの制御ユニットを説明する機能ブロック図であり、Ａは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニットの状態を示し、Ｂは、PLD起動後の起動フェーズにおける制御ユニットの状態を示す。
【図１２】第１の実施形態におけるPLDの動作を説明するフローチャートである。
【図１３】第２の実施形態におけるPLDの制御ユニットを説明する機能ブロック図であり、Ａは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニットの状態を示し、Ｂは、PLD起動後の起動フェーズにおける制御ユニットの状態を示す。
【図１４】第２の実施形態におけるPLD１の動作を説明するフローチャートである。
【図１５】第３の実施形態におけるPLDの制御ユニットを説明する機能ブロック図であり、Ａは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニットの状態を示し、Ｂは、PLD起動後の起動フェーズにおける制御ユニットの状態を示す。
【図１６】１つの回路情報を不良箇所を含む複数のPLD１に適用しようとする場合を説明する図である。
【図１７】第４の実施形態における情報処理システムの構成を示すブロック図である
【図１８】第４の実施形態における情報処理システムの動作を説明するフローチャートである。
【図１９】配線が多層構造である場合の代替経路を説明する図である。
【符号の説明】
【０１２６】
１  プログラム可能論理デバイス(PLD)、１１  制御ユニット、１２  スイッチ部、１３  論理ブロック、１４  配線リソース、１５  I/Oセル、１６  I/Oピン、２１  トランジスタスイッチ、３０  情報処理装置、３１  制御部、３２  RAM、３３  記憶部、３４  バス、３５  周辺機器インタフェース、３６  入力部、３７  表示部、３８  信号線、３９  コネクタ、４１  基板、４３  信号線、４４  ソケット、５１  不良箇所情報、５２  リプレースルール表、５３  回路情報、５４  故障反映済回路情報、６０  制御部、７１  書き込み制御部、７２  リプレース制御部、７３  配線リソース部、７４  記憶部、１４１  信号線、LUT  ルックアップテーブル、FF  フリップフロップ
【図１】
2006134997.tif 000003
【図２】
2006134997.tif 000004
【図３】
2006134997.tif 000005
【図４】
2006134997.tif 000006
【図５】
2006134997.tif 000007
【図６】
2006134997.tif 000008
【図７】
2006134997.tif 000009
【図８】
2006134997.tif 000010
【図９】
2006134997.tif 000011
【図１０】
2006134997.tif 000012
【図１１】
2006134997.tif 000013
【図１２】
2006134997.tif 000014
【図１３】
2006134997.tif 000015
【図１４】
2006134997.tif 000016
【図１５】
2006134997.tif 000017
【図１６】
2006134997.tif 000018
【図１７】
2006134997.tif 000019
【図１８】
2006134997.tif 000020
【図１９】
2006134997.tif 000021