JP2006134997A - プログラム可能論理デバイス - Google Patents

プログラム可能論理デバイス Download PDF

Info

Publication number
JP2006134997A
JP2006134997A JP2004320416A JP2004320416A JP2006134997A JP 2006134997 A JP2006134997 A JP 2006134997A JP 2004320416 A JP2004320416 A JP 2004320416A JP 2004320416 A JP2004320416 A JP 2004320416A JP 2006134997 A JP2006134997 A JP 2006134997A
Authority
JP
Japan
Prior art keywords
information
resource
path
circuit information
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004320416A
Other languages
English (en)
Inventor
Toshikado Shiyuudo
利門 秋道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004320416A priority Critical patent/JP2006134997A/ja
Priority to US11/063,981 priority patent/US7187198B2/en
Publication of JP2006134997A publication Critical patent/JP2006134997A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17764Structural details of configuration resources for reliability

Abstract

【課題】 PLD組み立て後発見された不良箇所に応じて、不良箇所を回避することにより、製品歩留まりを向上することが可能なPLD及び関連する制御プログラム等を提供することができないでいた。
【解決手段】 プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部と、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレース制御部と、前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイスを提供する。
【選択図】 図11

Description

本発明は、プログラム可能論理デバイスに関連し、特に、不良製品を救済し、歩留まりを向上させることができるプログラム可能論理デバイス、及び、関連する制御プログラム、回路形成方法、回路設計システム、プログラム可能論理デバイスを搭載した装置に関する。
現在、内部回路群の結線を外部からデザインでき、製造後でも論理動作をプログラムすることができるチップであるプログラム可能論理デバイス(Programmable Logic Device、以下PLDと略)を用いた回路設計がよく行われる。PLDには、CPLD(Complex Programmable Logic Device)やFPGA(Field Programmable Gate Array)等が含まれる。
PLDには、内部回路群の結線をデザインしてできる回路情報を記憶しておく記憶部が存在し、
記憶部に書き込む回路情報を変更することによって、自由に論理動作をプログラムすることができる。内部回路群の結線のデザインは、PLDにパラレルケーブル等を介して外部接続されるPC(Personal Computer)等の情報処理装置において、配置・配線ソフトと呼ばれるプログラムを実行することで行うことができる。配置・配線ソフトや、記憶部に回路情報を書き込むためのプログラム(書き込みソフト)は、PLDメーカ(manufacturer)が無償で提供することが多く、開発者はPLDを手に入れるだけで安価に回路設計が行える。
従来技術においては、PLDの製品歩留まりを向上させるために、本来必要とする機能以外に、冗長要素を組み込み、製造過程において不良が発生した場合、不良部分の代替として冗長要素を使用することで、不良となる製品を救済している。これは、従来メモリデバイスに対して行われており、例えば、特許文献1によれば、メモリブロックを冗長に用意し、欠陥素子を含むメモリブロックへのアクセスを回避するための冗長アドレスデコーダを備えた半導体装置が記載される。また、特許文献2によれば、不良発生時にメタルで形成されたヒューズを切断して予備のメモリセルに置換することが記載される。また、不良製品の救済に関連する従来技術としては、特許文献3に、本来出力されるべき値と実際の出力値が異なるときの、入力値の組を予め故障メモリに記憶しておき、その入力値の組が入力されるとき出力を反転することで、1つの基本ブロックにおける1つの入力値の組に対する故障による不良を救済することが記載される。
特開2002−319296号公報 特開平11−211794号公報 特開平5−267607号公報
しかし、従来技術では、製品歩留まり向上のためには、ウェハ段階で加工(レーザによる配線の切断など)が必要となり、PLD組み立て後発見した不良については、対応できない。また、当初予測した範囲(組み込んだ冗長要素)を超える不良の場合は、対応できない。
そこで、本発明の目的は、PLD組み立て後発見された不良箇所に応じて、不良箇所を回避することにより、製品歩留まりを向上することが可能なPLD及び関連する制御プログラム等を提供することにある。更に、本発明の目的は、PLD毎に異なる不良箇所に応じて、不良箇所を回避することができる回路設計システムを提供することにある。
上記目的は、本発明の第一の側面として、プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部と、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレース制御部と、前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイスを提供することにより達成される。
上記発明の側面においてより好ましい実施例によれば、プログラム可能論理デバイスは、更に、前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、前記代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換える書き込み制御部を有する。
上記発明の側面においてより好ましい実施例によれば、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、前記リプレースルール表に基づき、前記代替経路が求められる。
また、上記目的は、第二の側面として、プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報、故障した資源を特定する不良箇所情報、及び、制御プログラムが予め格納された記憶部と、前記制御プログラムを読み出して実行する制御部とを有するプログラム可能論理デバイスに、前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、代替経路を求めさせ、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えさせるリプレース制御機能と、前記記憶部に格納された前記回路情報を読み出させ、前記読み出された回路情報に基づき所定の論理回路を形成させる配線リソース機能とを実現させるための制御プログラムを提供することにより達成される。
また、上記目的は、第三の側面として、プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部とを有するプログラム可能論理デバイスにおける回路形成方法であって、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定する判定ステップと、前記判定ステップにおいて、前記経路に故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレースステップと、前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線ステップとを有することを特徴とする回路形成方法を提供することにより達成される。
本発明によれば、PLDにおいて、その内部に持つ出荷試験結果(不良箇所情報)から、その不良箇所を回避する機能を持たせることで、不良品として廃棄するPLDを削減し、全体歩留まりを向上させることができる。出荷試験は、PLD組み立て後に行われるものであり、本発明の実施においては、ウェハ段階での加工を必要としないで済む。また、不良箇所の回避により、当初予定していた経路よりも遅延が増加すると考えられるが、その遅延増加分はリプレースルール表に「遅延時間」として格納されており、タイミングモデルに折り込むことにより、タイミング変動に対応することもできる。また、各PLDがその内部に不良箇所情報を持つことから、他のデバイスの不良箇所情報と混同することなく管理することが可能になる。
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
以下、本明細書に述べる実施形態の基本概念は、PLDの製品組み立て後に発見された不良箇所の情報を不良箇所情報としてPLD内部の記憶部に予め格納しておくことで、不良箇所を含んだPLDであっても製品として使用することができるようにするものである。こうして、不良箇所を含んだPLDであっても廃棄を免れさせることができ、PLD製品の歩留まりを向上させることができる。更に概略を言えば、以下に述べる実施形態においては、ユーザが設計する所定の論理回路を、不良箇所を含んだPLDにおいて実現する場合、その不良箇所を回避するようにPLD内部の接続状態を適宜設定することが行われる。
図1は、本発明の実施形態におけるプログラム可能論理デバイス(PLD)を説明する図である。PLDは、ANDゲートやORゲートの組合せで再現される組合せ論理回路を実現するための論理ブロック13と、論理ブロック13の周囲に配置され、論理ブロック同士を接続するのに使用される、縦横方向に伸びる配線リソース14と、配線リソース同士の交差部分に配置され、つなぐべき配線リソースを接続するスイッチ部12と、PLD内部の各所を制御する制御ユニット11と、PLD1外部とインタフェースとなるI/Oピン16、I/Oピン16に直結し、I/Oピン16の特性を設定するI/Oセル15とを含む。
図2は、論理ブロック13を説明する図である。論理ブロック13は、ルックアップテーブルLUTと、フリップフロップFFから構成される。ルックアップテーブルを使用することにより、入力ビットをメモリアドレスとし、各メモリアドレスに対応する出力値を格納しておくことで、入力側25からどのような組合せの信号が入力されても、対応する値が出力側26に出力され、任意の組合せ論理回路を実現することができる。
論理ブロック13の周囲には、配線リソースが交差する箇所にスイッチ部12が配置される。また、スイッチ部12同士は、配線リソース14に含まれる複数の信号線141によって接続される。なお、入力側25から論理ブロック13に入る配線リソースや、論理ブロック13から出力側26に出る信号線と、スイッチ部12同士を接続する信号線との交差部分(図2には、出力側26での交差部分20が描かれる)においても、スイッチ部12が形成される。
図3は、スイッチ部12において交差する配線リソースを拡大する図である。図3に示されるように、各論理ブロックに向かう配線リソースの接続点には、トランジスタスイッチ21が配置される。このトランジスタスイッチ21は、制御ユニット11からのスイッチ切り替え信号に応じて、接続したり切り離したりされる。こうして、どの論理ブロックをどのように接続するかを自由に変えることができる。
PLDの動作は、各論理ブロック13のLUT、スイッチ部12のトランジスタスイッチ状態、そして論理ブロック13同士を接続する経路を決める回路情報で決定される。上述したトランジスタスイッチ21の状態だけでなく、残りの要素も、ユーザの設計により自由に内容を変更することができる。
本明細書で説明する実施形態においては、論理ブロック13同士を接続する経路に含まれる資源である、スイッチ部12と配線リソース14が故障する場合に、その故障した資源を回避する代替経路を使用することで製品歩留まりを向上させる。回路情報は、PLDの起動前に外部から書き込まれる。
図4は、回路情報を外部からPLDに書き込むための情報システムを説明する図である。まず、着脱可能なソケット44等を介して、PLD1が基板41に取り付けられる。基板41は、外部インタフェースとして例えば、パラレルポート42を備えており、パラレルポート42は、ソケット44と信号線43で接続されている。
パラレルポート42は、形状の一致するコネクタ39を有するパラレルケーブル38により情報処理装置30のパラレルポート(図示せず)に接続される。情報処理装置30のパラレルポートは、周辺機器インタフェースとして提供されるものである。
情報処理装置30は、PC(Personal Computer)等であって、情報を表示するための表示部37、情報を入力するためのキーボード、マウス、CD(Compact Disc)、DVD(Digital Versatile Disk)、MO(Magneto-Optical)ディスク等の記憶媒体を読み出すためのドライブ装置を有する。キーボードやマウスを使用すれば、ユーザは、回路情報を情報処理装置に入力できる。また、ドライブ装置を使用すれば、記憶媒体に格納された回路情報が読み出され、情報処理装置に入力される。つまり、キーボード、マウス、ドライブ装置は、入力部36として機能する。
以上のようにして情報処理装置30に入力された回路情報は、パラレルケーブルを介してPLDに入力され、回路情報が外部からPLDに書き込まれることになる。
図5は、情報処理装置30の構成を説明する図である。図5の情報処理装置30は、バス34を介して互いに接続される制御部31、RAM(Random Access Memory)32、記憶部33、周辺機器接続用インタフェース(周辺機器I/F)35、情報が入力される入力部36、情報を表示する表示部37を含む。
制御部11は、図示省略されたCPU(Central Processing Unit)を含み、RAM32に格納されるプログラムを実行し、情報処理装置30に含まれる各部を制御する。RAM32は、情報処理装置30の処理における演算結果やプログラムが一時的に格納される記憶手段である。記憶部33は、ハードディスク、光ディスク、磁気ディスク、フラッシュメモリ等の不揮発性記憶手段であり、各種データやRAMへ読み出される前のOS(Operating System)等のプログラムが格納される。
周辺機器I/F35は、情報処理装置30に周辺機器を接続するためのインタフェースであり、パラレルポート、USB(Universal Serial Bus)ポートや、PCIカードスロット等である。周辺機器としては、基板41があるが、他にもプリンタ、TVチューナ、SCSI(Small Computer System Interface)機器、オーディオ機器、ドライブ装置、メモリカードリーダライタ、ネットワークインタフェースカード、無線LANカード、モデムカード、キーボードやマウス、ディスプレイ装置など多岐に渡る。周辺機器と情報処理装置30との接続形態は、有線であっても無線であっても構わない。
入力部36は、キーボード、マウス等ユーザの要求が入力される入力手段であり、また、記憶媒体に格納された情報を読み出すためのドライブ装置であってもよい。表示部17は、CRT(Cathode Ray Tube)、液晶ディスプレイ等ユーザに情報を提示する表示手段である。情報処理装置30としては、デスクトップ型PC、ノートブック型PC、PDA(Personal Digital Assistance)、サーバ等が考えられる。
図6は、本明細書で説明する実施形態のPLD1において、論理ブロック13同士を接続する経路が形成される様子を説明する図であり、図6Aは、故障箇所のないPLDの場合を、図6Bは、ある配線リソースが故障している場合をそれぞれ説明するものである。本明細書においては、経路を、その経路に含まれる資源を識別する識別子を並べることによって特定する。
論理ブロック13同士を接続する経路に含まれる資源(スイッチ部12、配線リソース14)には、図6Aに示されるように識別子が割り当てられる。例えば、図6Aには、スイッチ部12が「SW」+数字により識別子が割り当てられ、配線には、「H」を挟む数字により識別子が割り当てられる。配線リソースの識別子の場合、「H」の前後の数字は、その配線リソースが接続するスイッチ部12の数字部分を表している。例えば、「13H14」は、スイッチ部「SW13」とスイッチ部「SW14」を接続する配線リソースを意味する。
PLD1に不良箇所(故障資源)があり、回路情報により特定される経路にその不良箇所に対応する資源が使用されている場合、図6Bに示されるように、代替経路が用意され、その代替経路が使用される。例えば、図6AのPLD1は、故障箇所がないため、論理ブロックaと論理ブロックiを接続する経路101として、スイッチSW5、配線リソース5H8、スイッチSW8、配線リソース8H11、スイッチSW11が使用される。図6BのPLD1は、配線リソース8H11が故障しており、図6Aの経路101を使用して論理ブロックaと論理ブロックiを接続することはできない。そこで、図6Bに示されるように、故障資源8H11を迂回する2つの代替経路102、103が用意され、どちらかが使用される。
こうして、PLD組み立て後に不良箇所が見つかった場合でも、その不良箇所を回避しながら、本来のPLD1の目的である所定の論理回路を実現することができる。こうして、従来であれば、不良箇所が存在するだけで廃棄しなければならないPLD1の歩留まりを大幅に改善することが可能となる。
続いて、実施形態の説明において共通に使用されるデータのデータ構成について説明する。
図7は、回路情報のデータ構成例を示す図であり、図7Aは、故障箇所のないPLDの場合を、図7Bは、ある配線リソースが故障している場合をそれぞれ説明するものである。図7の回路情報は、「論理ブロック」、「経路」、「故障反映済フラグ」というデータ項目を含む。
「論理ブロック」は、回路情報により特定される経路がどの論理ブロックを接続するかを示す情報である。図7Aには、一例として図6Aに示す論理ブロックaから論理ブロックiへの接続を示す「a to i」が格納される。
「経路」は、論理ブロックの接続に使用される経路を、その経路において使用される資源の識別子により特定する情報である。図7Aには、故障箇所のないPLDに対応する経路として、図6Aの経路101で使用される資源の識別子が格納される。
「故障反映済フラグ」は、このレコードが代替経路か否かを示すフラグ情報である。図7Aにおいては、故障箇所のないPLDであるため、このレコードは代替経路ではなく、「故障反映済フラグ」には、代替経路ではないことを示す「No」が格納される。
一方図7Bは、図6Bに対応し、論理ブロックaから論理ブロックiへの経路において故障資源8H11が存在する結果、代替経路103に置き換えられた回路情報を示している。従って、図7Aの「経路」と図7Bの「経路」を比較すると、下線部が故障資源を回避する迂回路によって置き換えられていることがわかる。そして、図7Bのレコードは代替経路であるため、「故障反映済フラグ」には、代替経路であることを示す「Yes」が格納される。
図8は、本明細書において説明する実施形態における前提として、PLDに予め格納される不良箇所情報のデータ構成例を示す図である。不良箇所は、PLD組み立て後の出荷試験によって、ほぼ100%特定可能であり、その資源に割り当てられた識別子により位置を特定することができる。そして、不良箇所情報は、不良箇所(故障資源)を特定するための情報であり、「リソースID」と「故障タイプ」というデータ項目を含む。
「リソースID」は、各資源に対して割り当てられる識別子である。これは、図6において説明したように、スイッチ部12、配線リソース14にそれぞれ割り当てられるものである。「故障タイプ」は、故障の種別を識別するための番号である。例えば、「1」は、トランジスタスイッチ21をOnにできない故障を示し、「2」は、トランジスタスイッチをOffにできない故障を示し、「3」は、配線がショートしている故障を示し、「4」は、信号遅延又は信号損失の発生確率が高い故障を示すものである。
なお、図8においては、リソースIDに格納される値として、スイッチ部SW1、配線リソース1H2のようにある資源全体が指定されるが、各スイッチ部12に複数含まれるトランジスタスイッチ21毎に、そして各配線リソース14に含まれる複数の信号線141毎に、資源を識別するための識別子を割り当てれば、より細かいレベルで故障資源を特定することも可能である。
図9は、代替経路を求めるのに使用されるリプレースルール表を説明する図であり、図9Aは、ある論理ブロックに隣接する論理ブロックの関係を示す図であり、図9Bは、リプレースルール表のデータ構成例を示す図である。
図9Aに示されるように、論理ブロック13を格子状に配置すれば、1つの論理ブロック13の周囲には8つの論理ブロック13が隣接することになる。こうしてある論理ブロック(ここでは論理ブロックa)を中心とする周囲8つの論理ブロックに対してそれぞれ、代替経路がリプレースルール表に格納される。
ただし、本明細書においては、説明を簡略化するために、配線リソース14の故障は、スイッチ部12同士を接続する配線リソース14にしか発生しないものとする。このため、論理ブロックaと右隣の論理ブロックbのリプレースルールは存在しない。論理ブロックaと論理ブロックb間の接続に使用される資源は、1つのスイッチ部12のみであり、代替経路を作成できないためである。しかしながら、図8において説明したように、より細かいレベルで故障資源を特定したり、論理ブロック13の入力側25及び出力側26の信号線を故障資源として特定可能な識別子により管理すれば上述した問題は避けられるため、論理ブロックaと右隣の論理ブロックbのリプレースルールが作成される場合があることは言うまでもない。
図9Bに示されるように、リプレースルール表は、「論理ブロック」、「経路」、「故障位置」、「代替経路」、「遅延時間」というデータ項目を持つ。「論理ブロック」は、どの隣接論理ブロック間を接続する経路に関する代替経路が格納されるレコードかを示す情報である。図9Bには、図9Aに示す論理ブロックaと論理ブロックcの組み合わせ(「a to c」で示される)から論理ブロックaと論理ブロックiの組み合わせ(「a to i」で示される)に対応するレコードが格納される。
「経路」は、PLDに不良箇所がない場合に使用される経路を、その経路において使用される資源の識別子により特定する情報である。図9Bには、一例として論理ブロックaと論理ブロックiを接続する経路が、図6Aのように各資源がナンバリングされる場合の、識別子の列挙によって特定されている。他の論理ブロック間の経路は示されていないが、同様のポリシーによってナンバリングされた識別子の列挙により特定される。
「故障位置」は、「経路」に含まれる資源のうち、故障可能性のある資源を特定する情報である。そして、「代替経路」は、「故障位置」により特定される資源が故障の場合に使用される代替経路を、その代替経路において使用される資源の識別子により特定する情報である。代替経路は、「故障位置」の資源を迂回する経路であれば、次の「遅延時間」に関する制約を満たす限り、採用される。例えば、図9Bには、論理ブロックaと論理ブロックiを接続する経路で、配線リソース8H11が故障した場合の代替経路として、2つの経路が格納されていることがわかる(ちなみに、これは図6Bにおける代替経路102、103に対応する)。
最後に、「遅延時間」は、「経路」の代わりに「代替経路」が使用される場合の信号遅延時間である。「代替経路」は予め、この「遅延時間」が所定の遅延時間を下回るように設定される。従って、故障資源を迂回するために遠回りする代替経路がリプレースルール表のレコードに格納されることはない。遅延時間は、代替経路に含まれる資源が決定すれば求められる。
図9のリプレースルール表を参照すれば、隣接する論理ブロック間の経路に関する代替経路を素早く得ることができる。しかし、隣接する論理ブロック間以外の経路に関する代替経路は、リプレースルール表を参照するだけでは得られない。その問題の解決には、次のような方法をとればよい。
図10は、リプレースルール表を利用して隣接する論理ブロック間以外の経路に関する代替経路を導出する方法の一例を説明するフローチャートである。図10の「開始」に示される論理ブロックdと論理ブロックiとを接続する経路のうち、図6Bに示す配線リソース8H11(図10における不良箇所501)が故障している場合の代替経路を導出するものとする。
まず、不良箇所手前までの経路を求める(S121)。図6Bのナンバリングを援用すると、論理ブロックa、b、h、iの周囲に含まれない資源に説明用の識別子を割り当てていないため、識別子を示すことはできないが、ステップS121によって、経路502が求められる。この経路502を本線と呼ぶことにする。
次に、不良箇所501を経路に含む隣接論理ブロックの経路を特定する(S122)。例えば、配線リソース8H11(不良箇所501)であれば、図9のリプレースルール表を参照すれば、論理ブロックaと論理ブロックiが、その「不良箇所501を経路に含む隣接論理ブロック」に該当する。
そして、ステップS122で特定された経路の代替経路を求める(S123)。図9のリプレースルール表を参照すれば、論理ブロックaと論理ブロックiを接続する経路において、故障位置が配線リソース8H11である場合の代替経路として、2つの経路が示される。これは、図6Bにおける代替経路102、103に対応するものである。
次に、ステップS121で求められる本線502と、ステップS123で求められる代替経路を足す(S124)。ステップS124で経路を足し合わせるとは、本線と代替経路の重複区間で位置あわせをして、両者を合体させることである。図10の場合、本線も、代替経路も図6のナンバリングでいうところの、スイッチ部SW2、配線リソース2H5、スイッチ部SW5、配線リソース5H8、スイッチ部SW8という区間を含む。従って、この区間で位置合わせをすれば両者を合体できる。なお、ステップS124の下に示される図は、合体前の本線及び代替経路をしめし、その経路内の矢印は、経路の向きを示すものである。
本線と、代替経路の合体が完了すると、はみ出た部分を切り取る整理処理を行う(S125)。整理処理においては、まず、本線502に合流する区間が削除される。これは、代替経路における、論理ブロックaからスイッチ部SW5に至る区間である。そして、合体の際の位置合わせに使用された重複区間は本線502を優先する。また、図10に示した例には現れないが、経路の向きを示す矢印が互いに逆向きになって重なる区間がある場合、その区間は削除する。
以上の処理によって、最終的に図10の「終了」の下に示されるような経路が、互いに隣接しない論理ブロックdと論理ブロックiを接続する経路の代替経路として導出される。導出された代替経路は、通常の経路と同様、その経路に含まれる資源の識別子の列挙によって特定される。なお、ステップS123で求められる隣接論理ブロック間の代替経路が複数ある場合、ここではその複数の代替経路を並行して処理したが、ステップS123において、そのいずれかを選択し、選択されたものに対してのみ以降の処理を施すようにしても構わない。
図10に示す方法を使用して、非隣接論理ブロック間の代替経路を求めずとも、図9に示すリプレースルール表にすべての論理ブロック間の経路に関する代替経路を格納することももちろん可能である。しかし、論理ブロック数が多くなればなるほど組合せは膨大になり、広大なメモリ空間を必要とする。従って、論理ブロック数は多いが、メモリ容量を抑えたければ、隣接する論理ブロック間の代替経路だけをリプレースルール表に格納しておき、それ以外の組合せは図10に示すアルゴリズムに従って処理するとよい。
以上の説明を基に、PLDの動作について実施形態毎に説明する。以下の実施形態における前提として、図8に示す不良箇所情報が予めPLDに格納される。また、特に断りがない限り、図9に示すリプレースルール表も予めPLDに格納されるものとする。
第1の実施形態は、回路情報の書き込み時には特別な処理は行わず、PLD起動時に、故障箇所を迂回するための処理を行うものである。そこで、PLDは、不良箇所情報と回路情報を参照し、回路情報に基づきこれから形成しようとする所定の論理回路を実現するための経路に、故障資源が含まれる場合、リプレースルール表を参照して、代替経路を導出して故障資源を迂回するようスイッチ部12を制御するものである。
図11は、第1の実施形態におけるPLD1の制御ユニット11を説明する機能ブロック図であり、図11Aは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニット11の状態を示し、図11Bは、PLD起動後の起動フェーズにおける制御ユニット11の状態を示す。
図11の制御ユニット11は、制御部60と記憶部74とを有している。制御部60は、リプレース制御部72、配線リソース部73を含む。制御部60の各機能部は、制御部60に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
記憶部74は、前提において説明したように、不良箇所情報51(図8参照)、リプレースルール表52(図9参照)を予め含む。そして、図11Aにおいて、回路情報の書き込み時に特別な処理は行われず、外部から書き込まれる回路情報53(図7A参照)がそのまま記憶部74に追加される。
図11Bにおいて、PLD1を起動すると、リプレース制御部72は、不良箇所情報51を参照し、回路情報53により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、代替経路に含まれる資源を識別する情報で回路情報を書き換える。代替経路を求めるにあたり、リプレース制御部72は、図10で説明したように、リプレースルール表52を参照する。
代替経路に含まれる資源を識別する情報で回路情報53を書き換えると、図7Bに示されるように「故障反映済フラグ」が「Yes」となるレコードが記憶部74には格納される。以降、このときの回路情報のことを、故障反映済回路情報54と呼ぶ。配線リソース部73は、故障反映済回路情報54が生成されると、それを記憶部74から読み出して、読み出された故障反映済回路情報54に基づき所定の論理回路を形成すべく、トランジスタスイッチ21の切り替え信号を出力する。
図12は、第1の実施形態におけるPLD1の動作を説明するフローチャートである。予め、記憶部74には、不良箇所情報51とリプレースルール表52が格納される(S2)。そして、書き込みフェーズにおいて回路情報53が追加される(S4)。
その後PLD1が起動されると(S6)、リプレース制御部72が、回路情報53、不良箇所情報51を読み出す(S8)。そして、リプレース制御部72は、読み出された回路情報53により特定される経路に、不良箇所が含まれるかを確認する(S10)。ステップS10において、リプレース制御部72は、不良箇所情報51に含まれる「リソースID」を含む経路があるかないかを回路情報(図7参照)に基づき判定する。
ステップS10において不良箇所(故障資源)が含まれる場合(S10Yes)、代替経路が導出される(S12)。ステップS12において、隣接論理ブロック間の代替経路を求める場合、リプレース制御部72は、リプレースルール表52の「代替経路」欄を直接参照する。非隣接論理ブロック間の代替経路を求める場合、リプレース制御部72は、リプレースルール表52を参照し、図10で説明したアルゴリズムに従って代替経路を求める。
そして、リプレース制御部72は、ステップS12で導出された代替経路に含まれる資源の識別子を順番に列挙することによって故障反映済回路情報を生成し、記憶部74に格納する(S14)。このとき、図7Bに示されるように「故障反映済フラグ」が「Yes」にセットされる。
配線リソース部73は、故障反映済回路情報54が生成されると、それを記憶部74から読み出して、読み出された故障反映済回路情報54に基づき所定の論理回路を形成すべく、トランジスタスイッチ21の切り替え信号を出力する(S16)。そして、所定の論理回路として動作が開始される(S18)。
以上に説明した第1の実施形態によれば、PLDにおいて、その内部に持つ出荷試験結果(不良箇所情報)から、その不良箇所を回避する機能を持たせることで、不良品として廃棄するPLDを削減し、全体歩留まりを向上させることができる。出荷試験は、PLD組み立て後に行われるものであり、本発明の実施においては、ウェハ段階での加工を必要としないで済む。また、不良箇所の回避により、当初予定していた経路よりも遅延が増加すると考えられるが、その遅延増加分はリプレースルール表に「遅延時間」として格納されており、タイミングモデルに折り込むことにより、タイミング変動に対応することもできる。また、各PLDがその内部に不良箇所情報を持つことから、他のデバイスの不良箇所情報と混同することなく管理することが可能になる。
続いて、第2の実施形態について説明する。第2の実施形態は、第1の実施形態においてPLD起動時にリプレース制御部72が行う処理を、回路情報の書き込み時に行う書き込み制御部を新たに設けることによって、PLD起動時の処理を高速化するものである。
図13は、第2の実施形態におけるPLD1の制御ユニット11を説明する機能ブロック図であり、図13Aは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニット11の状態を示し、図13Bは、PLD起動後の起動フェーズにおける制御ユニット11の状態を示す。
図13の制御ユニット11は、制御部60と記憶部74とを有している。制御部60は、書き込み制御部71、リプレース制御部72、配線リソース部73を含む。制御部60の各機能部は、制御部60に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
記憶部74は、前提において説明したように、不良箇所情報51(図8参照)、リプレースルール表52(図9参照)を予め含む。そして、図13Aにおいて、回路情報の書き込み時に、
書き込み制御部71が、リプレース制御部72と同じ機能を果たす。
つまり、書き込み制御部71は、不良箇所情報51を参照し、回路情報53により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、故障反映済回路情報54を記憶部74に格納する。
図11Bにおいて、PLD1を起動すると、リプレース制御部72は、回路情報の「故障反映済フラグ」を参照し、「Yes」かどうかを確認する。故障反映済回路情報54が格納されていれば、そのレコードのフラグは「Yes」であり、その場合、すでに故障資源を回避する代替経路が求められているため、リプレース制御部72は、特に処理を行わずスキップする。そして、配線リソース部73は、記憶部74に格納された故障反映済回路情報54を読み出して、読み出された故障反映済回路情報54に基づき所定の論理回路を形成すべく、トランジスタスイッチ21の切り替え信号を出力する。
図14は、第2の実施形態におけるPLD1の動作を説明するフローチャートである。予め、記憶部74には、不良箇所情報51とリプレースルール表52が格納される(S2)。そして、書き込みフェーズにおいて回路情報53が入力される(S3)。
回路情報が入力されると、書き込み制御部71が不良箇所情報51を読み出す(S5)。そして、書き込み制御部71は、入力された回路情報53により特定される経路に、不良箇所が含まれるかを確認する(S10)。ステップS10において、書き込み制御部71は、不良箇所情報51に含まれる「リソースID」を含む経路があるかないかを入力された回路情報(図7参照)に基づき判定する。
ステップS10において不良箇所(故障資源)が含まれる場合(S10Yes)、代替経路が導出される(S12)。ステップS12において、隣接論理ブロック間の代替経路を求める場合、書き込み制御部71は、リプレースルール表52の「代替経路」欄を直接参照する。非隣接論理ブロック間の代替経路を求める場合、書き込み制御部71は、リプレースルール表52を参照し、図10で説明したアルゴリズムに従って代替経路を求める。
そして、書き込み制御部71は、ステップS12で導出された代替経路に含まれる資源の識別子を順番に列挙することによって故障反映済回路情報を生成し、記憶部74に格納する(S14)。このとき、図7Bに示されるように「故障反映済フラグ」が「Yes」にセットされる。
その後PLD1が起動されると(S6)、リプレース制御部72は、記憶部74に格納されている回路情報を読み出す(S15)。この場合、既に故障反映済回路情報54が格納されているため、リプレース制御部72は、特別な処理は行わない。そして、配線リソース部73は、記憶部74に格納される故障反映済回路情報54を読み出して、読み出された故障反映済回路情報54に基づき所定の論理回路を形成すべく、トランジスタスイッチ21の切り替え信号を出力する(S16)。そして、所定の論理回路として動作が開始される(S18)。
以上に説明した第2の実施形態によれば、故障反映済回路情報54と、故障反映前の回路情報53が混在して記憶部74に格納される場合、読み出されたのが故障反映済回路情報54であれば、リプレース制御部72は起動時の処理を省略でき、起動処理を高速化できる。また、読み出されたのが故障反映前の回路情報53であれば、不良箇所情報を参照し、故障資源を回避させることができ、その両者に対応することができることになる。
続いて、第3の実施形態について説明する。第3の実施形態は、第2の実施形態においてリプレース制御部を省略したものである。回路情報の書き込み時に故障反映済回路情報を生成して格納しておけば、リプレース制御部は必要ないためである。
図15は、第3の実施形態におけるPLD1の制御ユニット11を説明する機能ブロック図であり、図15Aは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニット11の状態を示し、図15Bは、PLD起動後の起動フェーズにおける制御ユニット11の状態を示す。
図15の制御ユニット11は、制御部60と記憶部74とを有している。制御部60は、書き込み制御部71、配線リソース部73を含む。制御部60の各機能部は、制御部60に備えられる図示省略されたCPUで実行されるプログラムとして実現されるがハードウェアにより実現することも可能である。
記憶部74には、前提において説明したように、不良箇所情報51(図8参照)、リプレースルール表52(図9参照)を予め含む。図15Aにおける書き込みフェーズの動作は、第2の実施形態と同じであり説明を略す。そして、図15Bにおいて、PLD1を起動すると、最初から配線リソース部73が、記憶部74に格納された故障反映済回路情報54を読み出して、読み出された故障反映済回路情報54に基づき所定の論理回路を形成すべく、トランジスタスイッチ21の切り替え信号を出力する。
第3の実施形態におけるPLD1の動作は、第2の実施形態(図14)とほぼ同じである。ただし、第2の実施形態と異なり、ステップS6の後、リプレース制御部72による回路情報の読み出しステップS15が省略され、配線リソース部73によるステップS16が行われる。
以上に説明した第1〜第3の実施形態においては、代替経路の導出をPLD側で行うため、1つの回路情報を不良箇所を含む複数のPLD1に適用しようとすると、処理に時間を要することになる。例えば、図16に示されるように、記憶媒体55に格納された情報として、又は、他の情報処理装置30に入力された情報としてネットワーク等の通信手段を介して、提供される回路情報を、PLDへの書き込みを処理する情報処理装置30が、不良箇所を含む複数のPLD1に適用しようとする。
このとき、PLDの起動時にリプレース制御部72が働く(第1実施形態)か、回路情報53の書き込み時に書き込み制御部71が働く(第2、第3実施形態)かいずれにしても、PLD毎に異なる回路情報53を各PLDに備えられた制御ユニット11が処理することになる。PLD1に備えられる制御ユニット11の演算能力はそれほど高くないため、PLD1の起動処理あるいは、回路情報53の書き込み処理に時間を要することになるわけである。
そこで、1つの回路情報53を複数のPLD1に適用する場合の処理時間を短縮するために、比較的演算能力の高い情報処理装置30に、第2、第3実施形態の書き込み制御部71の機能を持たせた情報処理システムを導入することが考えられる。それを、第4の実施形態として説明する。
図17は、第4の実施形態における情報処理システムの構成を示すブロック図である。図17の情報処理システムは、パラレルケーブル等の信号線を介して互いに接続される情報処理装置30とPLD1の構成から、必要な部分を抜き出したものである。
図17における情報処理装置30は、制御部31と記憶部32を有している。制御部31は、入力部311、要求部312、書き込み制御部71を含む。制御部60の各機能部は、制御部60に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
記憶部74には、リプレースルール表52(図9参照)を予め含む。括弧付きで示される不良箇所情報51と回路情報53は後に記憶部32に格納されることになる。
入力部36は、図5において説明したように、キーボード、マウス等の入力手段や、記憶媒体を読み出すドライブ装置である。入力部36を介して、回路情報が情報処理装置30に入力される。
要求部312は、入力部36を介して回路情報53が入力されると、PLD1に不良箇所取得要求を出力すると共に、入力された回路情報53を記憶部32に格納する。そして、PLD1より入力される不良箇所情報51を書き込み制御部71に出力すると共に、記憶部32に格納する。書き込み制御部71は、第2、3の実施形態の書き込み制御部と同じ機能を持つものであり、不良箇所情報を参照し、入力部36を介して入力された回路情報53により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、代替経路に含まれる資源を特定する情報で入力部36を介して入力された回路情報53を書き換えた、故障反映済回路情報54としてPLDに出力する。
図17におけるPLD1は、制御部60と記憶部74を有している。制御部60は、応答部76、格納部77、配線リソース部73を含む。制御部60の各機能部は、制御部60に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
記憶部74は、前提において説明したように、不良箇所情報51(図8参照)を予め含む。括弧付きで示される故障反映済回路情報54は後に記憶部74に格納されることになる。
応答部76は、情報処理装置30の要求部312が出力する不良箇所取得要求に応じて、記憶部74に格納された不良箇所情報51を情報処理装置30に出力する。格納部77は、情報処理装置30が入力する回路情報(ここでは故障反映済回路情報54が入力される)を記憶部74に格納する。そして、配線リソース部73は、第1〜第3の実施形態における配線リソース部と同じ機能を持つものであり、記憶部74に格納された回路情報を読み出して、読み出された回路情報に基づき所定の論理回路を形成すべく、トランジスタスイッチ21の切り替え信号を出力する。
図18は、第4の実施形態における情報処理システムの動作を説明するフローチャートである。予め、PLD1の記憶部74には、不良箇所情報51が格納され、情報処理装置30の記憶部32には、リプレースルール表52が格納される(S2)。そして、書き込みフェーズにおいて情報処理装置1の入力部36を介して回路情報53が入力される(S3)。
すると、情報処理装置30の要求部312がPLD1に不良箇所取得要求を出力すると共に、入力された回路情報53を記憶部32に格納する(S101)。PLD1の応答部76は、情報処理装置30より入力される不良箇所取得要求に応じて、記憶部74に格納された不良箇所情報51を情報処理装置30に出力する(S102)。
情報処理装置30では、ステップS102で出力された不良箇所情報51を要求部312が、記憶部32に格納すると共に、書き込み制御部71に出力する。書き込み制御部71は、入力部36を介して入力された回路情報53により特定される経路に、不良箇所が含まれるかを、要求部312を介して記憶部32に格納された不良箇所情報51を参照して確認する(S10)。ステップS10において、書き込み制御部71は、不良箇所情報51に含まれる「リソースID」を含む経路があるかないかを入力された回路情報53(図7参照)に基づき判定する。
ステップS10において不良箇所(故障資源)が含まれる場合(S10Yes)、代替経路が導出される(S12)。ステップS12において、隣接論理ブロック間の代替経路を求める場合、書き込み制御部71は、リプレースルール表52の「代替経路」欄を直接参照する。非隣接論理ブロック間の代替経路を求める場合、書き込み制御部71は、リプレースルール表52を参照し、図10で説明したアルゴリズムに従って代替経路を求める。
そして、書き込み制御部71は、ステップS12で導出された代替経路に含まれる資源の識別子を順番に列挙することによって故障反映済回路情報を生成し、PLD1に出力する(S14)。このとき、図7Bに示されるように「故障反映済フラグ」が「Yes」にセットされる。PLD1では、格納部77が、情報処理装置30が入力する故障反映済回路情報54を記憶部74に格納する(S103)。
その後PLD1が起動されると(S6)、配線リソース部73は、記憶部74に格納される故障反映済回路情報54を読み出して、読み出された故障反映済回路情報54に基づき所定の論理回路を形成すべく、トランジスタスイッチ21の切り替え信号を出力する(S16)。そして、所定の論理回路として動作が開始される(S18)。
以上に説明した第4の実施形態によれば、回路情報を書き込む際に、PLDに記憶された不良箇所情報を使用し、不良箇所を回避する機能をPLD外部に組み込むことによって、PLD毎に不良箇所が異なる場合でも、1つのマスタ回路情報を、その複数のPLDに適用することを容易に行うことができる。そして、この場合には、デバイス内部に不良箇所を回避する機能を持たなくても済む。つまり、PLD起動の度にリプレース制御(代替経路の導出)を行う必要がなく、短時間で動作開始状態にすることが可能となる。また、本実施形態の情報処理システムによれば、不良箇所を使用禁止リソースとして情報処理装置の表示部に表示し、配置・配線を行うことで、そのPLDにおける最適設計を行うことも可能になる。
なお、第1〜第4の実施形態においては、代替経路を求める際、2次元平面内で故障した資源を避ける経路を探すものであるが、配線が多層構造である場合、3次元空間において代替経路を求めてもよい。例えば、図19に示されるように、論理ブロック132から論理ブロック134への経路が、第1層における故障箇所(罰印)によって使用できない場合、第2層を経由する代替経路とすることが可能である。
以上まとめると付記のようになる。
(付記1)
プログラム可能な論理回路を含む複数の論理ブロックと、
前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部と、
前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレース制御部と、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイス。
(付記2)
付記1において、更に、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、前記代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換える書き込み制御部を有することを特徴とするプログラム可能論理デバイス。
(付記3)
付記2において、
前記回路情報により特定される前記経路には、それぞれ該経路が前記不良箇所情報を反映して書き換えられた代替経路かどうかを示す故障反映済みフラグが対応付けられて前記記憶部に格納されており、
前記書き込み制御部は、前記回路情報を書き換える場合、前記代替経路に置き換えられた経路の前記故障反映済みフラグを、前記不良箇所情報を反映済みであることを示す情報に更新し、
前記リプレース制御部は、まず、前記記憶部の前記回路情報に含まれる前記故障反映済みフラグを参照し、前記故障反映済みフラグが前記不良箇所情報を反映済みであることを示す経路の場合、前記判定を行わないことを特徴とするプログラム可能論理デバイス。
(付記4)
プログラム可能な論理回路を含む複数の論理ブロックと、
前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報が格納される記憶部であって、故障した資源を特定する不良箇所情報が予め格納された記憶部と、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換える書き込み制御部と、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイス。
(付記5)
付記1又は4において、
前記記憶部には、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、
前記リプレースルール表に基づき、前記代替経路が求められることを特徴とするプログラム可能論理デバイス。
(付記6)
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報、故障した資源を特定する不良箇所情報、及び、制御プログラムが予め格納された記憶部と、前記制御プログラムを読み出して実行する制御部とを有するプログラム可能論理デバイスに、
前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、代替経路を求めさせ、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えさせるリプレース制御機能と、
前記記憶部に格納された前記回路情報を読み出させ、前記読み出された回路情報に基づき所定の論理回路を形成させる配線リソース機能とを実現させるための制御プログラム。
(付記7)
付記6において、更に、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、前記代替経路を求めさせ、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換えさせる書き込み制御機能を実現させるための制御プログラム。
(付記8)
付記7において、
前記回路情報により特定される前記経路には、それぞれ該経路が前記不良箇所情報を反映して書き換えられた代替経路かどうかを示す故障反映済みフラグが対応付けられて前記記憶部に格納されており、
前記書き込み制御機能では、前記回路情報が書き換えられる場合、前記代替経路に置き換えられた経路の前記故障反映済みフラグが、前記不良箇所情報を反映済みであることを示す情報に更新され、
前記リプレース制御機能では、まず、前記記憶部の前記回路情報に含まれる前記故障反映済みフラグが参照され、前記故障反映済みフラグが前記不良箇所情報を反映済みであることを示す経路の場合、前記判定が行われないことを特徴とする制御プログラム。
(付記9)
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報が格納される記憶部であって、故障した資源を特定する不良箇所情報、及び、制御プログラムが予め格納された記憶部と、前記制御プログラムを読み出して実行する制御部とを有するプログラム可能論理デバイスに、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、代替経路を求めさせ、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換えさせる書き込み制御機能と、
前記記憶部に格納された前記回路情報を読み出させ、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース機能とを実現させるための制御プログラム。
(付記10)
付記6又は9において、
前記記憶部には、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、
前記リプレースルール表に基づき、前記代替経路が求められることを特徴とする制御プログラム。
(付記11)
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部とを有するプログラム可能論理デバイスにおける回路形成方法であって、
前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定する判定ステップと、
前記判定ステップにおいて、前記経路に故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレースステップと、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線ステップとを有することを特徴とする回路形成方法。
(付記12)
付記11において、更に、
前記回路情報が前記記憶部に格納されるとき、前記判定ステップ及び前記リプレースステップを行うことを有することを特徴とする回路形成方法。
(付記13)
付記12において、
前記回路情報により特定される前記経路には、それぞれ該経路が前記不良箇所情報を反映して書き換えられた代替経路かどうかを示す故障反映済みフラグが対応付けられて前記記憶部に格納されており、
前記回路情報が前記記憶部に格納されるとき、前記回路情報を書き換える場合、前記代替経路に置き換えられた経路の前記故障反映済みフラグを、前記不良箇所情報を反映済みであることを示す情報に更新し、
前記リプレースステップにおいて、まず、前記記憶部の前記回路情報に含まれる前記故障反映済みフラグを参照し、前記故障反映済みフラグが前記不良箇所情報を反映済みであることを示す経路の場合、前記判定を行わないことを特徴とする回路形成方法。
(付記14)
プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報が格納される記憶部であって、故障した資源を特定する不良箇所情報が予め格納された記憶部とを有するプログラム可能論理デバイスにおける回路形成方法であって、
前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定する判定ステップと、
前記判定ステップにおいて、前記経路に故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレースステップと、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線ステップとを有することを特徴とする回路形成方法。
(付記15)
付記11又は14において、
前記記憶部には、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、
前記リプレースルール表に基づき、前記代替経路が求められることを特徴とする回路形成方法。
(付記16)
プログラム可能な論理回路を含む複数の論理ブロックを有し、前記複数の論理ブロックを接続する経路を特定する回路情報が入力され、前記入力される回路情報に基づき所定の論理回路を形成するプログラム可能論理デバイスと、
前記プログラム可能論理デバイスに信号線を介して接続され、前記回路情報を前記プログラム可能論理デバイスに出力する情報処理装置とを備える回路設計システムであって、
前記プログラム可能論理デバイスは、更に、
故障した資源を特定する不良箇所情報が予め格納された記憶部と、
前記情報処理装置が入力する不良箇所取得要求に応じて、前記記憶部に格納された前記不良箇所情報を前記情報処理装置に出力する応答部と、
前記情報処理装置が入力する回路情報を前記記憶部に格納する格納部と、
前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有し、
前記情報処理装置は、
前記回路情報を入力するための入力部と、
前記入力部を介して前記回路情報が入力されると、前記プログラム可能論理デバイスに前記不良箇所取得要求を出力する要求部と、
前記プログラム可能論理デバイスが入力する前記不良箇所情報を参照し、前記入力部を介して入力された前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記入力部を介して入力された前記回路情報を書き換えて前記プログラム可能論理デバイスに出力する書き込み制御部とを有することを特徴とする回路設計システム。
(付記17)付記1乃至5に記載されたプログラム可能論理デバイスを搭載する装置。
本発明の実施形態におけるプログラム可能論理デバイス(PLD)を説明する図である。 論理ブロックを説明する図である。 スイッチ部において交差する配線リソースを拡大する図である。 回路情報を外部からPLDに書き込むための情報システムを説明する図である。 情報処理装置の構成を説明する図である。 本明細書で説明する実施形態のPLDにおいて、論理ブロック同士を接続する経路が形成される様子を説明する図であり、Aは、故障箇所のないPLDの場合を、Bは、ある配線リソースが故障している場合をそれぞれ説明するものである。 回路情報のデータ構成例を示す図であり、Aは、故障箇所のないPLDの場合を、Bは、ある配線リソースが故障している場合をそれぞれ説明するものである。 本明細書において説明する実施形態における前提として、PLDに予め格納される不良箇所情報のデータ構成例を示す図である。 代替経路を求めるのに使用されるリプレースルール表を説明する図であり、Aは、ある論理ブロックに隣接する論理ブロックの関係を示す図であり、Bは、リプレースルール表のデータ構成例を示す図である。 リプレースルール表を利用して隣接する論理ブロック間以外の経路に関する代替経路を導出する方法の一例を説明するフローチャートである。 第1の実施形態におけるPLDの制御ユニットを説明する機能ブロック図であり、Aは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニットの状態を示し、Bは、PLD起動後の起動フェーズにおける制御ユニットの状態を示す。 第1の実施形態におけるPLDの動作を説明するフローチャートである。 第2の実施形態におけるPLDの制御ユニットを説明する機能ブロック図であり、Aは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニットの状態を示し、Bは、PLD起動後の起動フェーズにおける制御ユニットの状態を示す。 第2の実施形態におけるPLD1の動作を説明するフローチャートである。 第3の実施形態におけるPLDの制御ユニットを説明する機能ブロック図であり、Aは、回路情報がPLDに書き込まれるまでの書き込みフェーズにおける制御ユニットの状態を示し、Bは、PLD起動後の起動フェーズにおける制御ユニットの状態を示す。 1つの回路情報を不良箇所を含む複数のPLD1に適用しようとする場合を説明する図である。 第4の実施形態における情報処理システムの構成を示すブロック図である 第4の実施形態における情報処理システムの動作を説明するフローチャートである。 配線が多層構造である場合の代替経路を説明する図である。
符号の説明
1 プログラム可能論理デバイス(PLD)、11 制御ユニット、12 スイッチ部、13 論理ブロック、14 配線リソース、15 I/Oセル、16 I/Oピン、21 トランジスタスイッチ、30 情報処理装置、31 制御部、32 RAM、33 記憶部、34 バス、35 周辺機器インタフェース、36 入力部、37 表示部、38 信号線、39 コネクタ、41 基板、43 信号線、44 ソケット、51 不良箇所情報、52 リプレースルール表、53 回路情報、54 故障反映済回路情報、60 制御部、71 書き込み制御部、72 リプレース制御部、73 配線リソース部、74 記憶部、141 信号線、LUT ルックアップテーブル、FF フリップフロップ

Claims (5)

  1. プログラム可能な論理回路を含む複数の論理ブロックと、
    前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部と、
    前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレース制御部と、
    前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線リソース部とを有することを特徴とするプログラム可能論理デバイス。
  2. 請求項1において、更に、
    前記回路情報が前記記憶部に格納されるとき、前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定し、故障した資源が含まれる場合、前記代替経路を求め、前記代替経路に含まれる資源を特定する情報で前記回路情報を書き換える書き込み制御部を有することを特徴とするプログラム可能論理デバイス。
  3. 請求項1において、
    前記記憶部には、互いに隣接する前記論理ブロックを接続する経路と、前記隣接ブロック接続経路に含まれる資源における故障可能性のある資源と、前記故障可能性のある資源が実際に故障した場合に使用される前記代替経路と、前記代替経路を使用する場合の遅延時間とが対応付けられたリプレースルール表が格納されており、
    前記リプレースルール表に基づき、前記代替経路が求められることを特徴とするプログラム可能論理デバイス。
  4. プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報、故障した資源を特定する不良箇所情報、及び、制御プログラムが予め格納された記憶部と、前記制御プログラムを読み出して実行する制御部とを有するプログラム可能論理デバイスに、
    前記不良箇所情報を参照させ、前記回路情報により特定される経路に、故障した資源が含まれるかを判定させ、故障した資源が含まれる場合、代替経路を求めさせ、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えさせるリプレース制御機能と、
    前記記憶部に格納された前記回路情報を読み出させ、前記読み出された回路情報に基づき所定の論理回路を形成させる配線リソース機能とを実現させるための制御プログラム。
  5. プログラム可能な論理回路を含む複数の論理ブロックと、前記複数の論理ブロックを接続する経路を、前記経路に含まれる資源を識別する情報により特定する回路情報と、故障した資源を特定する不良箇所情報とが予め格納された記憶部とを有するプログラム可能論理デバイスにおける回路形成方法であって、
    前記不良箇所情報を参照し、前記回路情報により特定される経路に、故障した資源が含まれるかを判定する判定ステップと、
    前記判定ステップにおいて、前記経路に故障した資源が含まれる場合、代替経路を求め、前記代替経路に含まれる資源を識別する情報で前記回路情報を書き換えるリプレースステップと、
    前記記憶部に格納された前記回路情報を読み出して、前記読み出された回路情報に基づき所定の論理回路を形成する配線ステップとを有することを特徴とする回路形成方法。
JP2004320416A 2004-11-04 2004-11-04 プログラム可能論理デバイス Withdrawn JP2006134997A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004320416A JP2006134997A (ja) 2004-11-04 2004-11-04 プログラム可能論理デバイス
US11/063,981 US7187198B2 (en) 2004-11-04 2005-02-24 Programmable logic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004320416A JP2006134997A (ja) 2004-11-04 2004-11-04 プログラム可能論理デバイス

Publications (1)

Publication Number Publication Date
JP2006134997A true JP2006134997A (ja) 2006-05-25

Family

ID=36261080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004320416A Withdrawn JP2006134997A (ja) 2004-11-04 2004-11-04 プログラム可能論理デバイス

Country Status (2)

Country Link
US (1) US7187198B2 (ja)
JP (1) JP2006134997A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016194332A1 (ja) * 2015-05-29 2016-12-08 日本電気株式会社 プログラマブル論理集積回路、設計支援システム及びコンフィグレーション方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284229B1 (en) 2004-10-01 2007-10-16 Xilinx, Inc. Multiple bitstreams enabling the use of partially defective programmable integrated circuits while avoiding localized defects therein
US7424655B1 (en) 2004-10-01 2008-09-09 Xilinx, Inc. Utilizing multiple test bitstreams to avoid localized defects in partially defective programmable integrated circuits
US20090079467A1 (en) * 2007-09-26 2009-03-26 Sandven Magne V Method and apparatus for upgrading fpga/cpld flash devices
US7810059B1 (en) 2007-10-11 2010-10-05 Xilinx, Inc. Methods of enabling the validation of an integrated circuit adapted to receive one of a plurality of configuration bitstreams
US7619438B1 (en) * 2007-10-11 2009-11-17 Xilinx, Inc. Methods of enabling the use of a defective programmable device
US7853916B1 (en) 2007-10-11 2010-12-14 Xilinx, Inc. Methods of using one of a plurality of configuration bitstreams for an integrated circuit
US7589552B1 (en) * 2007-10-23 2009-09-15 Altera Corporation Integrated circuit with redundancy
JP6993580B2 (ja) * 2018-08-03 2022-01-13 日本電信電話株式会社 制御システム及び制御方法
US11426046B2 (en) * 2018-12-03 2022-08-30 Sharkninja Operating Llc Optical indicium for communicating information to autonomous devices
JP2022091012A (ja) * 2020-12-08 2022-06-20 富士フイルムビジネスイノベーション株式会社 プログラマブル論理回路装置及び画像処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899067A (en) * 1988-07-22 1990-02-06 Altera Corporation Programmable logic devices with spare circuits for use in replacing defective circuits
JPH05267607A (ja) 1992-03-19 1993-10-15 Kawasaki Steel Corp 自己修復可能な論理lsi
US5925920A (en) * 1996-06-12 1999-07-20 Quicklogic Corporation Techniques and circuits for high yield improvements in programmable devices using redundant routing resources
JPH11211794A (ja) 1998-01-29 1999-08-06 Matsushita Electric Ind Co Ltd 半導体集積回路およびその検査方法
US6167558A (en) * 1998-02-20 2000-12-26 Xilinx, Inc. Method for tolerating defective logic blocks in programmable logic devices
US6691264B2 (en) * 2001-01-22 2004-02-10 Lsi Logic Corporation Built-in self-repair wrapper methodology, design flow and design architecture
JP2002319296A (ja) 2001-04-19 2002-10-31 Nec Corp 半導体装置及びシステム及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016194332A1 (ja) * 2015-05-29 2016-12-08 日本電気株式会社 プログラマブル論理集積回路、設計支援システム及びコンフィグレーション方法
US10740435B2 (en) 2015-05-29 2020-08-11 Nec Corporation Programmable logic integrated circuit, design support system, and configuration method

Also Published As

Publication number Publication date
US20060091899A1 (en) 2006-05-04
US7187198B2 (en) 2007-03-06

Similar Documents

Publication Publication Date Title
US7187198B2 (en) Programmable logic device
US8051400B2 (en) Modifying integrated circuit layout
US8176457B2 (en) Apparatus and method updating diagram of circuit based on pin swap performed in package design with respect to PLD
US7831944B2 (en) Circuit-design supporting apparatus, circuit-design supporting method, computer product, and printed-circuit-board manufacturing method
US7784011B2 (en) Reflecting pin swap of PLD performed in package design in circuit design and PLD design
US9141747B1 (en) System level tools to support FPGA partial reconfiguration
JP6860916B2 (ja) プログラマブル論理集積回路、設計支援システム及びコンフィグレーション方法
US7913220B2 (en) Coordinated-design supporting apparatus, coordinated-design supporting method, computer product, and printed-circuit-board manufacturing method
JP5699195B2 (ja) 冗長回路網を有するプログラム可能な集積回路
US20080134124A1 (en) Circuit-design supporting apparatus, circuit-design supporting method, computer product, and printed-circuit-board manufacturing method
CN102782765B (zh) 集成电路中的可修复io
JP3168839B2 (ja) 論理エミュレーションシステム及び等価回路生成方法
US6539463B1 (en) Disk-array apparatus capable of performing writing process in high transmission speed and surely avoiding data loss
JP4485591B2 (ja) 縮退方法および情報処理装置
CN113673191B (zh) 时序修正方法及装置、计算装置和存储介质
JP2016046358A (ja) 半導体装置の設計方法、半導体装置及びプログラム
US8255844B2 (en) Coordinated-design supporting apparatus, coordinated-design supporting method, computer product, printed-circuit-board manufacturing method, circuit-design supporting apparatus, circuit-design supporting method, computer product, and printed-circuit-board manufacturing method
JP2001117855A (ja) バスインタフェース回路作成装置及び記録媒体
US10319436B2 (en) System including programmable integrated circuit including first areas having same shape and second areas formed between first areas, and operation processing device and method for controlling the programmable integrated circuit
JPH11250031A (ja) プログラマブルロジックおよび情報処理装置
US8402424B2 (en) Support apparatus, control method, and control program
US9424040B2 (en) LSI and LSI manufacturing method
WO2023108976A1 (zh) 存储器的熔丝熔断方法及装置、存储介质及电子设备
JP2004213441A (ja) ディスクアレイ装置
JP2016206957A (ja) 設計方法、設計装置及びプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080108