JPWO2014147780A1 - Logic processing apparatus and control method thereof - Google Patents
Logic processing apparatus and control method thereof Download PDFInfo
- Publication number
- JPWO2014147780A1 JPWO2014147780A1 JP2015506475A JP2015506475A JPWO2014147780A1 JP WO2014147780 A1 JPWO2014147780 A1 JP WO2014147780A1 JP 2015506475 A JP2015506475 A JP 2015506475A JP 2015506475 A JP2015506475 A JP 2015506475A JP WO2014147780 A1 JPWO2014147780 A1 JP WO2014147780A1
- Authority
- JP
- Japan
- Prior art keywords
- configuration data
- programmable logic
- logic device
- areas
- configuration
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Stored Programmes (AREA)
Abstract
論理処理装置は、複数の領域毎にロジックをプログラム可能なプログラマブルロジックデバイス(301)と、前記プログラマブルロジックデバイスの複数の領域のうちの異なる領域を未使用領域として前記未使用領域以外の領域を使用領域として相互に同じ機能を実現するための複数のコンフィグレーションデータを記憶するコンフィグレーションメモリ(MEM1〜MEMn)と、前記複数のコンフィグレーションデータのうちのいずれか1個を選択して前記プログラマブルロジックデバイスのロジックをプログラムさせる選択回路(303)とを有し、前記選択回路は、前記複数のコンフィグレーションデータのうちの前記プログラマブルロジックデバイスの動作に基づくエラーが発生しないコンフィグレーションデータを選択する。The logic processing device uses a programmable logic device (301) in which logic can be programmed for each of a plurality of areas, and uses an area other than the unused area as a different area among the plurality of areas of the programmable logic device. A configuration memory (MEM1 to MEMn) for storing a plurality of configuration data for realizing the same function as each other, and the programmable logic device by selecting any one of the plurality of configuration data A selection circuit (303) for programming the logic, and the selection circuit selects configuration data that does not cause an error based on the operation of the programmable logic device among the plurality of configuration data.
Description
本発明は、論理処理装置及びその処理方法に関する。 The present invention relates to a logic processing device and a processing method thereof.
自己修復機能付き情報処理装置が知られている(例えば、特許文献1参照)。論理処理部は、論理構成要素により構成され所定機能を実現する。予備論理処理部は、論理構成要素により再構成可能に構成され論理処理部の所定機能を再現しうる。データ保持手段は、論理処理部の構成データを保持する。障害検出手段は、論理処理部での障害発生を検出する。再構成手段は、障害検出手段による障害発生検出時にデータ保持手段から読み出した構成データに基づき予備論理処理部を論理処理部と同一の論理回路構成になるように再構成する。 An information processing apparatus with a self-healing function is known (see, for example, Patent Document 1). The logic processing unit is configured by logic components and realizes a predetermined function. The spare logic processing unit is configured to be reconfigurable with logic components, and can reproduce a predetermined function of the logic processing unit. The data holding unit holds the configuration data of the logic processing unit. The failure detection means detects the occurrence of a failure in the logic processing unit. The reconfiguring unit reconfigures the standby logic processing unit to have the same logic circuit configuration as the logic processing unit based on the configuration data read from the data holding unit when the failure detection is detected by the failure detecting unit.
また、複数の論理構成要素から成る回路の再構成が可能な集積回路が知られている(例えば、特許文献2参照)。機能構成部は、論理構成要素から成る所定の機能を備える複数の機能回路部と予備機能回路部とを備える。共通バスは、入出力信号をインタフェースする。第1の構成選択部は、複数の機能回路部のいずれかの故障に対応して第1の構成種別テーブルで指定される第1の構成種別データを選択する。第1のメモリは、機能回路部相互間の接続状態を指定する第1の配置配線データを記憶する。第1の転送部は、第1の配置配線データを抽出して、回路部相互間の接続と予備機能回路部の回路とを書き込む。 There is also known an integrated circuit capable of reconfiguring a circuit composed of a plurality of logic components (see, for example, Patent Document 2). The functional component includes a plurality of functional circuit units having a predetermined function composed of logical components and a spare functional circuit unit. The common bus interfaces input / output signals. The first configuration selection unit selects the first configuration type data specified in the first configuration type table corresponding to a failure of any of the plurality of functional circuit units. The first memory stores first placement and routing data that designates a connection state between the functional circuit units. The first transfer unit extracts the first placement and routing data, and writes the connection between the circuit units and the circuit of the spare function circuit unit.
また、再構成可能なディジタル論理ユニットが知られている(例えば、特許文献3参照)。複数の論理セルは、構成可能な特性を有する。メモリは、複数の論理セルの関数性に関する情報を含んだ複数のマイクロプログラムを有し、マイクロプログラムの少なくとも1つが定められたアプリケーションに関係して少なくとも論理ユニットの現在の動作中に再プログラム可能である。第1の手段は、少なくとも1つのマイクロプログラムを選択する。第2の手段は、少なくとも論理ユニットの現在の動作中に選択されたマイクロプログラムの関数性情報に応じて論理セルを構成する。 A reconfigurable digital logic unit is known (see, for example, Patent Document 3). The plurality of logic cells have configurable characteristics. The memory has a plurality of microprograms containing information about the functionality of the plurality of logic cells, and at least one of the microprograms is reprogrammable during at least the current operation of the logic unit in relation to the defined application. is there. The first means selects at least one microprogram. The second means configures the logic cell according to at least the functional information of the microprogram selected during the current operation of the logic unit.
情報処理装置は、論理処理部と予備論理処理部とを有する。論理処理部での障害発生を検出すると、予備論理処理部を論理処理部と同一の論理回路構成になるように再構成する。この場合、予備論理処理部に障害がある場合には、修復することができない。 The information processing apparatus includes a logic processing unit and a backup logic processing unit. When the occurrence of a failure in the logic processing unit is detected, the standby logic processing unit is reconfigured to have the same logic circuit configuration as the logic processing unit. In this case, if there is a failure in the backup logical processing unit, it cannot be repaired.
また、予備論理処理部は、複数の論路処理部のうちの最大セル数の論理処理部と同じセル数を持つ必要がある。なぜなら、予備論理処理部が論理処理部を代替するためには、予備論理処理部は論理処理部と同じセル数が必要だからである。そのため、予備論理処理部は、必要とするセル数が多くなり、非常に非効率である。また、論理処理部及び予備論理処理部にセル数の制限があるため、設計に制限がある。 Further, the spare logic processing unit needs to have the same number of cells as the logic processing unit having the maximum number of cells among the plurality of logical path processing units. This is because the spare logical processing unit needs the same number of cells as the logical processing unit in order for the spare logical processing unit to replace the logical processing unit. Therefore, the spare logic processing unit requires a large number of cells and is very inefficient. In addition, since the number of cells is limited in the logic processing unit and the backup logic processing unit, the design is limited.
本発明の目的は、短時間でプログラマブルロジックデバイスの内部故障を修復することができる論理処理装置及びその処理方法を提供することである。 An object of the present invention is to provide a logic processing apparatus and a processing method thereof that can repair an internal failure of a programmable logic device in a short time.
論理処理装置は、複数の領域毎にロジックをプログラム可能なプログラマブルロジックデバイスと、前記プログラマブルロジックデバイスの複数の領域のうちの異なる領域を未使用領域として前記未使用領域以外の領域を使用領域として相互に同じ機能を実現するための複数のコンフィグレーションデータを記憶するコンフィグレーションメモリと、前記複数のコンフィグレーションデータのうちのいずれか1個を選択して前記プログラマブルロジックデバイスのロジックをプログラムさせる選択回路とを有し、前記選択回路は、前記複数のコンフィグレーションデータのうちの前記プログラマブルロジックデバイスの動作に基づくエラーが発生しないコンフィグレーションデータを選択する。 The logic processing apparatus includes a programmable logic device capable of programming logic for each of a plurality of areas, and a different area among the plurality of areas of the programmable logic device as an unused area and an area other than the unused area as a used area. A configuration memory that stores a plurality of configuration data for realizing the same function, and a selection circuit that selects one of the plurality of configuration data to program the logic of the programmable logic device; The selection circuit selects configuration data that does not cause an error based on the operation of the programmable logic device from among the plurality of configuration data.
コンフィグレーションメモリに複数のコンフィグレーションデータを記憶させることにより、短時間でプログラマブルロジックデバイスの内部故障を修復することができる。 By storing a plurality of configuration data in the configuration memory, an internal failure of the programmable logic device can be repaired in a short time.
(第1の実施形態)
図1は、第1の実施形態によるプログラマブルロジックデバイス(PLD)の複数のコンフィグレーションデータCF1〜CF9の例を示す図である。プログラムロジックデバイスは、例えば、FPGA(Field Programmable Gate Array)であり、プログラム可能な論理ゲートとプログラム可能な配線とを有し、再構成可能なロジックデバイスである。論理ゲートは、複数の論理セルで構成される。論理ゲート及び配線をプログラムするには、ユーザがハードウエア記述言語(HDL)などで設計を行い、コンパイルによって論理ゲートの配置及び配線情報を含むバイナリファイルを生成する。プログラマブルロジックデバイスが、このバイナリファイルを読み込んで、内部回路を生成することをコンフィグレーションと呼ぶ。また、このバイナリファイルのことをコンフィグレーションデータと呼ぶ。(First embodiment)
FIG. 1 is a diagram illustrating an example of a plurality of configuration data CF1 to CF9 of the programmable logic device (PLD) according to the first embodiment. The program logic device is, for example, an FPGA (Field Programmable Gate Array) and has a programmable logic gate and programmable wiring, and is a reconfigurable logic device. The logic gate is composed of a plurality of logic cells. In order to program logic gates and wirings, a user designs with a hardware description language (HDL) or the like, and generates a binary file including logic gate arrangement and wiring information by compilation. A configuration in which the programmable logic device reads this binary file and generates an internal circuit is called configuration. This binary file is called configuration data.
プログラマブルロジックデバイスは、内部の論理セル領域を複数の領域R1〜R9に分割し、複数の領域R1〜R9毎にロジックをプログラム可能である。領域R1〜R9は、全ての論理セルを一切使用しない未使用領域と、論理セルを使用することができる使用領域に分けられる。本実施形態では、複数の領域R1〜R9のうちの異なる領域を未使用領域として未使用領域以外の領域を使用領域として相互に同じ機能を実現するための複数のコンフィグレーションデータCF1〜CF9を生成する。 The programmable logic device divides an internal logic cell region into a plurality of regions R1 to R9, and can program logic for each of the plurality of regions R1 to R9. The regions R1 to R9 are divided into an unused region that does not use all the logic cells and a use region that can use the logic cells. In the present embodiment, a plurality of configuration data CF1 to CF9 are generated for realizing the same function by using different areas of the plurality of areas R1 to R9 as unused areas and areas other than the unused areas as used areas. To do.
例えば、コンフィグレーションデータCF1は、領域R1を未使用領域とし、領域R2〜R9を使用領域としてコンフィグレーションするためのデータである。コンフィグレーションデータCF2は、領域R2を未使用領域とし、領域R1、R3〜R9を使用領域としてコンフィグレーションするためのデータである。コンフィグレーションデータCF9は、領域R9を未使用領域とし、領域R1〜R8を使用領域としてコンフィグレーションするためのデータである。コンフィグレーションデータCF1〜CF9は、相互に未使用領域が異なり、全領域R1〜R9に対して少なくとも1度は未使用領域が割り当てられるように生成する。図1の例では、コンフィグレーションデータCF1〜CF9は、それぞれ、1個の領域を未使用領域として、8個の領域を使用領域とする。 For example, the configuration data CF1 is data for configuring the area R1 as an unused area and the areas R2 to R9 as used areas. The configuration data CF2 is data for configuring the area R2 as an unused area and the areas R1, R3 to R9 as used areas. The configuration data CF9 is data for configuring the area R9 as an unused area and the areas R1 to R8 as used areas. The configuration data CF1 to CF9 are generated so that unused areas are different from each other, and an unused area is allocated at least once for all the areas R1 to R9. In the example of FIG. 1, the configuration data CF1 to CF9 each have one area as an unused area and eight areas as used areas.
プログラマブルロジックデバイスは、コンフィグレーションデータCF1〜CF9のうちのいずれか1つを選択することにより、任意の領域R1〜R9を未使用領域にすることができる。プログラマブルロジックデバイスは、どの領域R1〜R9で故障が起きるか予想できないため、プログラマブルロジックデバイスの故障発生時には故障個所が未使用領域に一致するコンフィグレーションデータCF1〜CF9を選択することにより、プログラマブルロジックデバイスの故障を修復する。 The programmable logic device can make any area | region R1-R9 into an unused area | region by selecting any one of the configuration data CF1-CF9. Since the programmable logic device cannot predict in which region R1 to R9 the failure will occur, the programmable logic device is selected by selecting the configuration data CF1 to CF9 whose failure location matches the unused region when the failure of the programmable logic device occurs. Repair the malfunction.
図2は、プログラマブルロジックデバイスの修復方法を説明するための図である。例えば、プログラマブルロジックデバイスの領域R2で故障が発生した例を説明する。コンフィグレーションデータCF1によりコンフィグレーションした場合、故障が発生した領域R2は使用領域であるため、プログラマブルロジックデバイスは、正常に動作することができない。これに対し、コンフィグレーションデータCF2によりコンフィグレーションした場合、故障が発生した領域R2は未使用領域であるため、プログラマブルロジックデバイスは、正常に動作することができる。このようにして、故障が発生した領域が未使用領域になるように、コンフィグレーションデータCF1〜CF9を選択することにより、プログラマブルロジックデバイスを修復することができる。 FIG. 2 is a diagram for explaining a method for repairing a programmable logic device. For example, an example in which a failure has occurred in the region R2 of the programmable logic device will be described. When the configuration data CF1 is used for configuration, the programmable logic device cannot operate normally because the region R2 where the failure has occurred is a usage region. On the other hand, when the configuration is performed by the configuration data CF2, the programmable logic device can operate normally because the region R2 where the failure has occurred is an unused region. In this way, the programmable logic device can be restored by selecting the configuration data CF1 to CF9 so that the area where the failure has occurred becomes an unused area.
図3は、第1の実施形態による論理処理装置の構成例を示す図である。論理処理装置は、プログラマブルロジックデバイス301、n個のコンフィグレーションメモリMEM1〜MEMn、及び選択回路303を有する。ここで、図1の場合、n=9である。選択回路303は、不揮発メモリ304を有する。
FIG. 3 is a diagram illustrating a configuration example of the logic processing device according to the first embodiment. The logic processing apparatus includes a
プログラマブルロジックデバイス301は、例えばFPGAであり、n個の領域R1〜Rn毎にロジックをプログラム可能である。複数のコンフィグレーションメモリMEM1〜MEMnは、例えばROM(Read Only Memory)であり、図1のように、プログラマブルロジックデバイス301の複数の領域R1〜Rnのうちの異なる領域を未使用領域として未使用領域以外の領域を使用領域として相互に同じ機能を実現するための複数のコンフィグレーションデータCF1〜CFnをそれぞれ記憶する。選択回路303は、不揮発メモリ304に記憶されたコンフィグレーションデータ番号に応じて、選択信号SEL1〜SELnのいずれか1個を有効にする。すなわち、選択回路303は、複数のコンフィグレーションメモリMEM1〜MEMnのうちの1個のコンフィグレーションメモリを選択する。コンフィグレーションメモリMEM1〜MEMnは、選択信号SEL1〜SELnのうちの有効の信号に応じて、複数のコンフィグレーションデータCF1〜CFnのうちのいずれか1個を、バス302を介して、プログラマブルロジックデバイス301に出力する。次に、選択回路303は、リセット信号RSをプログラマブルロジックデバイス301に出力する。プログラマブルロジックデバイス301は、リセット信号RSを入力すると、コンフィグレーションメモリMEM1〜MEMnのいずれかから入力したコンフィグレーションデータを基にコンフィグレーションを行う。以上のように、選択回路303は、複数のコンフィグレーションデータCF1〜CFnのうちのいずれか1個を選択してプログラマブルロジックデバイス301のロジックをプログラムさせる。次に、プログラマブルロジックデバイス301は、論理処理を行い、領域R1〜Rnのいずれかでエラーが発生した場合には、エラー信号ERを出力する。選択回路303は、エラー信号ERを検出すると、不揮発メモリ304に記憶されているコンフィグレーションデータ番号を変更し、上記と同様の動作を繰り返す。エラー信号ERが検出されなければ、不揮発メモリ304内のコンフィグレーションデータ番号は確定する。そのコンフィグレーションデータ番号に対応するコンフィグレーションデータCF1〜CFnでは、エラーが発生した領域R1〜Rnが未使用領域となっており、プログラマブルロジックデバイス301は、正常に動作することができる。また、選択回路303は、すべてのコンフィグレーションデータCF1〜CFnにおいてエラー信号ERが発生した場合には、フォルト信号FTを出力し、修復不能であることを知らせる。
The
図4は、プログラマブルロジックデバイス301のエラー検出方法の一例を示す図である。プログラマブルロジックデバイス301は、内部バス400と、機能ブロック401と、機能ブロック402とを有する。機能ブロック401及び402は、それぞれ、領域R1〜Rnのうちの1個又は複数の領域で構成される。例えば、図1のコンフィグレーションデータCF1の場合、機能ブロックブロック401は、ハードディスクドライブコントローラであり、領域R2〜R5により構成される。機能ブロックブロック402は、USB(Universal Serial Bus)コントローラであり、領域R6〜R9により構成される。このように、各機能ブロック401及び402を複数の領域で構成することにより、各領域R1〜R9内の論理セルの数の制限をなくすことができる。すなわち、各領域R1〜R9内の論理セルの数は、機能ブロック401及び402のうちの最大の論理セル数にする必要がなくなる。
FIG. 4 is a diagram illustrating an example of an error detection method of the
機能ブロック401は、フリップフロップ411及びエラー検出回路412を有する。フリップフロップ411は、例えば、論理セルの入力ノードに接続されるフリップフロップ、又は論理セルの出力ノードに接続されるフリップフロップなどであり、プログラマブルロジックデバイス301内に通常配置されている複数のフリップフロップである。フリップフロップ411は、例えば、4ビットデータ及びそのパリティビットを記憶する。エラー検出回路412は、フリップフロップ411に記憶されている4ビットデータを基にパリティビットを演算し、その演算したパリティビットとフリップフロップ411内のパリティビットが等しいときには正常と判断してエラー信号を出力せず、異なるときにはエラー信号を出力する。エラー検出回路412は、プログラマブルロジックデバイス301内のすべて又は一部のフリップフロップ411に接続される。プログラマブルロジックデバイス301は、複数のエラー検出回路412のいずれかがエラー信号を出力すると、エラー信号ERを選択回路303に出力する。
The
機能ブロック402は、処理ブロック421及び監視部422を有する。処理ブロック421は、機能を実現するための論理処理を行うブロックである。監視部422は、スタート信号STを処理ブロック421に出力する。処理ブロック421は、スタート信号STを入力すると、論理処理を開始し、論理処理を終了すると、完了信号DNを監視部422に出力する。監視部422は、スタート信号STを出力してから規定時間内に完了信号DNを入力すれば正常と判断してエラー信号を出力せず、規定時間内に完了信号DNを入力しない場合にはエラー信号ERを出力する。
The
なお、機能ブロック401のエラー検出方法と機能ブロック402のエラー検出方法の2種類を説明したが、すべての機能ブロックを同じ方法でエラーを検出してもよいし、異なる方法でエラーを検出してもよい。また、その他、ECC(Error Correction Code)又はCRC(Cyclic
Redundancy Check)を用いてエラーを検出してもよい。また、フリップフロップ411は、レジスタ又はステートマシンであってもよい。In addition, although the two types of error detection methods of the
An error may be detected using Redundancy Check. The flip-
図5は、図3の選択回路303の処理方法を示すフローチャートである。例えば、論理処理装置の電源が投入されると、選択回路303は、図5の処理を行う。
FIG. 5 is a flowchart showing a processing method of the
まず、ステップS501では、選択回路303は、不揮発メモリ304からコンフィグレーションデータ番号を読み出す。ここで、不揮発メモリ304に記憶されているコンフィグレーションデータ番号の初期値は、1である。
First, in step S501, the
次に、ステップS502では、選択回路303は、読み出したコンフィグレーションデータ番号に応じて、選択信号SEL1〜SELnのうちの1個を有効にして、残りを無効にする。例えば、コンフィグレーションデータ番号が1の場合、選択信号SEL1が有効になり、残りの選択信号SEL2〜SELnが無効になる。コンフィグレーションメモリMEM1〜MEMnのうち、選択信号SEL1〜SELnが有効であるコンフィグレーションメモリはコンフィグレーションデータをプログラマブルロジックデバイス301に出力し、選択信号SEL1〜SELnが無効であるコンフィグレーションメモリはコンフィグレーションデータを出力しない。例えば、コンフィグレーションデータ番号が1の場合、コンフィグレーションメモリMEM1がコンフィグレーションデータCF1をプログラマグルロジックデバイス301に出力する。
Next, in step S502, the
次に、ステップS503では、選択回路303は、リセット信号RSをプログラマブルロジックデバイス301に出力する。プログラマブルロジックデバイス301は、リセット信号RSを入力すると、バス302を介して入力したコンフィグレーションデータに基づくコンフィグレーションを行う。その後、プログラマブルロジックデバイス301は、論理処理を行い、エラーが発生するとエラー信号ERを出力し、正常動作をすればエラー信号ERを出力しない。
Next, in step S503, the
次に、ステップS504では、選択回路303は、エラー信号ERを検出したか否かをチェックし、エラー信号ERが検出されれば、ステップS505に進む。
Next, in step S504, the
ステップS505では、選択回路303は、不揮発メモリ304に記憶されているコンフィグレーションデータ番号をインクリメントする。これにより、コンフィグレーションデータ番号は、1から2に変更される。
In step S505, the
次に、ステップS506では、選択回路303は、不揮発メモリ304に記憶されているコンフィグレーションデータ番号がnより大きいか否かをチェックする。大きくない場合には、ステップS502に戻り、変更後のコンフィグレーションデータ番号について上記の処理を繰り返す。プログラマブルロジックデバイス301が正常動作した場合には、ステップS504で、エラー信号ERが検出されず、不揮発メモリ304のコンフィグレーションデータ番号は、確定する。その結果、コンフィグレーションデータも確定し、プログラマブルロジックデバイス301の故障が修復される。次回、電源を投入した時、ステップS501において、選択回路303は、不揮発メモリ304からコンフィグレーションデータ番号を読み出すので、修復後のコンフィグレーションデータが選択され、プログラマブルロジックデバイス301は、正常に動作する。
Next, in step S506, the
ステップS506において、コンフィグレーションデータ番号がnより大きくなると、すべてのコンフィグレーションデータCF1〜CFnについてエラー信号ERが検出されたことを意味するので、ステップS507へ進む。 If the configuration data number is larger than n in step S506, it means that the error signal ER has been detected for all the configuration data CF1 to CFn, and the process proceeds to step S507.
ステップS507では、選択回路303は、フォルト信号FTを出力し、プログラマブルロジックデバイス301が修復不能であることを知らせる。フォルト信号FTが発生した後、論理処理装置は、動作を停止してもよい。また、宇宙線などによるプログラマブルロジックデバイス301の一過性のソフトエラーである可能性があるため、論理処理装置は、不揮発メモリ304に記憶されているコンフィグレーションデータ番号を初期値に戻して、再度、上記の処理を繰り返してもよい。
In step S507, the
以上のように、選択回路303は、複数のコンフィグレーションデータCF1〜CFnのうちのプログラマブルロジックデバイス301の動作に基づくエラーが発生しないコンフィグレーションデータを選択する。具体的には、選択回路303は、複数のコンフィグレーションデータCF1〜CFnを順に選択し、プログラマブルロジックデバイス301がエラー信号ERを出力したときのコンフィグレーションデータを選択せず、プログラマブルロジックデバイス301がエラー信号ERを出力しないときのコンフィグレーションデータを選択して、プログラマブルロジックデバイス301のロジックをプログラムさせる。
As described above, the
これにより、本実施形態は、プログラマブルロジックデバイス301の故障の修復を短時間に自動で行うことができる。また、本実施形態は、未使用領域に必要な論理セル数の制限がなく、任意のサイズの領域R1〜Rnを設けることができる。また、未使用領域以外の領域は、一つのブロックとして使用できるので、回路設計を柔軟に行うことができる。また、本実施形態は、未使用領域以外の領域のブロック内に任意の大きさの機能ブロックを複数割り当てることができる。
Thereby, this embodiment can perform the repair of the failure of the
(第2の実施形態)
図6は、第2の実施形態による論理処理装置の構成例を示す図である。論理処理装置は、例えばコンピュータシステムである。本実施形態(図6)は、第1の実施形態(図3)に対して、プロセッサ601、ROM602、RAM(Random Access Memory)603、ビデオコントローラ604、バス605、ハードディスクドライブ装置621、PCI(Peripheral Component Interconnect)エクスプレスカード622、LAN(Local Area Network)623及びUSB装置624を追加したものである。以下、本実施形態が第1の実施形態と異なる点を説明する。(Second Embodiment)
FIG. 6 is a diagram illustrating a configuration example of a logic processing device according to the second embodiment. The logic processing device is, for example, a computer system. This embodiment (FIG. 6) is different from the first embodiment (FIG. 3) in that the
バス605には、プロセッサ601、ROM602、RAM603、ビデオコントローラ604及びプログラマブルロジックデバイス301が接続される。プロセッサ601は、例えば中央処理装置(CPU)である。ROM602は、ブート用プログラムなどを記憶する。RAM603は、メインメモリである。ビデオコントローラ604は、表示装置に表示するためのコントローラである。
A
ハードディスクドライブ装置621は、ハードディスクにデータを記憶することができる。PCIエクスプレスカード622は、SCSI(Small Computer System Interface)などのインターフェースに変換することができる。LAN623は、ローカルエリアネットワークであり、他のネットワーク装置を接続することができる。USB装置624は、例えば、キーボード、マウス又はDVD(Digital Versatile Disc)装置である。
The hard
プログラマブルロジックデバイス301は、例えば、コンフィグレーションにより、ハードディスクドライブコントローラ611、PCIエクスプレスコントローラ612、LANコントローラ613及びUSBコントローラ614の機能ブロックを有する。ハードディスクドライブコントローラ611は、ハードディスクドライブ装置621を制御する。PCIエクスプレスコントローラ612は、PCIエクスプレスカード622を制御する。LANコントローラ613は、LAN623を制御する。USBコントローラ614は、USB装置624を制御する。
The
プロセッサ601は、カウントアップ信号CUを選択回路303に出力することができる。選択回路303は、カウントアップ信号CUを入力すると、不揮発メモリ304に記憶されているコンフィグレーションデータ番号をインクリメントする。
The
プロセッサ601は、リセット信号RSをプログラマブルロジックデバイス301に出力することができる。プログラマブルロジックデバイス301は、リセット信号RSを入力すると、バス302を介して入力したコンフィグレーションデータを基にコンフィグレーションを行う。プログラマブルロジックデバイス301は、論理動作により、エラーが発生すると、エラー信号ERをプロセッサ601に出力する。
The
プログラマブルロジックデバイス301は、内部の1個の論理セルの故障によっても、正常に動作しなくなる可能性がある。本実施形態では、コンフィグレーションデータCF1〜CFnの設定により、プログラマブルロジックデバイス301の故障を修復する。
The
図7は、図6の選択回路303の処理方法を示すフローチャートである。例えば、論理処理装置の電源が投入されると、選択回路303は、図7の処理を行う。
FIG. 7 is a flowchart showing a processing method of the
まず、ステップS701では、選択回路303は、不揮発メモリ304からコンフィグレーションデータ番号を読み出す。ここで、不揮発メモリ304に記憶されているコンフィグレーションデータ番号の初期値は、1である。
First, in step S701, the
次に、ステップS702では、選択回路303は、読み出したコンフィグレーションデータ番号に応じて、選択信号SEL1〜SELnのうちの1個を有効にして、残りを無効にする。例えば、コンフィグレーションデータ番号が1の場合、選択信号SEL1が有効になり、残りの選択信号SEL2〜SELnが無効になる。コンフィグレーションメモリMEM1〜MEMnのうち、選択信号SEL1〜SELnが有効であるコンフィグレーションメモリはコンフィグレーションデータをプログラマブルロジックデバイス301に出力し、選択信号SEL1〜SELnが無効であるコンフィグレーションメモリはコンフィグレーションデータを出力しない。例えば、コンフィグレーションデータ番号が1の場合、コンフィグレーションメモリMEM1がコンフィグレーションデータCF1をプログラマグルロジックデバイス301に出力する。
Next, in step S702, the
次に、プロセッサ601は、選択回路303が次の選択信号SEL1〜SELnを有効にする時間を考慮して、必要な時間が経過後に、リセット信号RSをプログラマブルロジックデバイス301に出力する。プログラマブルロジックデバイス301は、リセット信号RSを入力すると、バス302を介して入力したコンフィグレーションデータに基づくコンフィグレーションを行う。その後、プログラマブルロジックデバイス301は、論理処理を行い、エラーが発生するとエラー信号ERを出力し、正常動作をすればエラー信号ERを出力しない。プロセッサ601は、エラー信号ERを入力すると、カウントアップ信号CUを選択回路303に出力する。
Next, the
次に、ステップS703では、選択回路303は、カウントアップ信号CUを検出したか否かをチェックし、カウントアップ信号CUが検出されれば、ステップS704に進む。
Next, in step S703, the
ステップS704では、選択回路303は、不揮発メモリ304に記憶されているコンフィグレーションデータ番号をインクリメントする。これにより、コンフィグレーションデータ番号は、1から2に変更される。
In step S704, the
次に、ステップS705では、選択回路303は、不揮発メモリ304に記憶されているコンフィグレーションデータ番号がnより大きいか否かをチェックする。大きくない場合には、ステップS702に戻り、変更後のコンフィグレーションデータ番号について上記の処理を繰り返す。プログラマブルロジックデバイス301が正常動作した場合には、ステップS703で、カウントアップ信号CUが検出されず、不揮発メモリ304のコンフィグレーションデータ番号は、確定する。その結果、コンフィグレーションデータも確定し、プログラマブルロジックデバイス301の故障が修復される。次回、電源を投入した時、ステップS701において、選択回路303は、不揮発メモリ304からコンフィグレーションデータ番号を読み出すので、修復後のコンフィグレーションデータが選択され、プログラマブルロジックデバイス301は、正常に動作する。
In step S705, the
ステップS705において、コンフィグレーションデータ番号がnより大きくなると、すべてのコンフィグレーションデータCF1〜CFnについてカウントアップ信号CUが検出されたことを意味するので、ステップS706へ進む。 If the configuration data number becomes larger than n in step S705, it means that the count-up signal CU has been detected for all the configuration data CF1 to CFn, and the process proceeds to step S706.
ステップS706では、選択回路303は、フォルト信号FTを出力し、プログラマブルロジックデバイス301が修復不能であることを知らせる。
In step S706, the
以上のように、プロセッサ601は、プログラマブルロジックデバイス301がエラー信号ERを出力したときには、選択回路303に次のコンフィグレーションデータCF1〜CFnを選択させる。本実施形態は、第1の実施形態と同様の効果を得ることができる。
As described above, when the
(第3の実施形態)
図8は、第3の実施形態による論理処理装置の構成例を示す図である。本実施形態(図8)は、第2の実施形態(図6)に対して、n個のコンフィグレーションメモリMEM1〜MEMnを1個のコンフィグレーションメモリMEMに変更した点が異なる。以下、本実施形態が第2の実施形態と異なる点を説明する。(Third embodiment)
FIG. 8 is a diagram illustrating a configuration example of a logic processing device according to the third embodiment. This embodiment (FIG. 8) is different from the second embodiment (FIG. 6) in that n configuration memories MEM1 to MEMn are changed to one configuration memory MEM. Hereinafter, the points of the present embodiment different from the second embodiment will be described.
コンフィグレーションメモリMEMは、例えばROMであり、異なるアドレスに複数のコンフィグレーションデータCF1〜CFnをそれぞれ記憶する。選択回路303は、不揮発メモリ304に記憶されているコンフィグレーションデータ番号に応じて、上記の複数のアドレスのうちの1個のアドレスADを選択して、コンフィグレーションメモリMEMに出力する。コンフィグレーションメモリMEMは、アドレスADに記憶されているコンフィグレーションデータを、バス302を介して、プログラマブルロジックデバイス301に出力する。
The configuration memory MEM is, for example, a ROM, and stores a plurality of configuration data CF1 to CFn at different addresses. The
図9は、図8のコンフィグレーションメモリMEMの構成例を示す図である。コンフィグレーションメモリMEMは、n個のアドレスAD1〜ADnを開始アドレスとしてn個のコンフィグレーションデータCF1〜CFnをそれぞれ記憶する。コンフィグレーションメモリMEMは、アドレスADを入力し、アドレスADに記憶されているコンフィグレーションデータを、バス302を介して、プログラマブルロジックデバイス301に出力する。例えば、アドレスADがアドレスAD1の場合には、コンフィグレーションメモリMEMは、アドレスAD1に記憶されているコンフィグレーションデータCF1をプログラマブルロジックデバイス301に出力する。選択回路303は、複数のアドレスAD1〜ADnのうちの1個のアドレスを選択して出力する。
FIG. 9 is a diagram illustrating a configuration example of the configuration memory MEM in FIG. The configuration memory MEM stores n configuration data CF1 to CFn using n addresses AD1 to ADn as start addresses. The configuration memory MEM receives the address AD, and outputs the configuration data stored in the address AD to the
図10は、図8の選択回路303の処理方法を示すフローチャートである。例えば、論理処理装置の電源が投入されると、選択回路303は、図10の処理を行う。
FIG. 10 is a flowchart showing a processing method of the
まず、ステップS1001では、選択回路303は、不揮発メモリ304からコンフィグレーションデータ番号を読み出す。ここで、不揮発メモリ304に記憶されているコンフィグレーションデータ番号の初期値は、1である。
First, in step S1001, the
次に、ステップS1002では、選択回路303は、読み出したコンフィグレーションデータ番号に応じて、読み出し開始アドレスADを出力する。例えば、コンフィグレーションデータ番号が1の場合、読み出し開始アドレスADは、アドレスAD1になる。コンフィグレーションメモリMEMは、読み出し開始アドレスADに記憶されているコンフィグレーションデータをプログラマブルロジックデバイス301に出力する。例えば、読み出し開始アドレスADがアドレスAD1の場合、コンフィグレーションメモリMEMは、コンフィグレーションデータCF1をプログラマグルロジックデバイス301に出力する。
Next, in step S1002, the
次に、プロセッサ601は、選択回路303が次の選択信号SEL1〜SELnを有効にする時間を考慮して、必要な時間が経過後に、リセット信号RSをプログラマブルロジックデバイス301に出力する。プログラマブルロジックデバイス301は、リセット信号RSを入力すると、バス302を介して入力したコンフィグレーションデータに基づくコンフィグレーションを行う。その後、プログラマブルロジックデバイス301は、論理処理を行い、エラーが発生するとエラー信号ERを出力し、正常動作をすればエラー信号ERを出力しない。プロセッサ601は、エラー信号ERを入力すると、カウントアップ信号CUを選択回路303に出力する。
Next, the
次に、ステップS1003では、選択回路303は、カウントアップ信号CUを検出したか否かをチェックし、カウントアップ信号CUが検出されれば、ステップS1004に進む。
Next, in step S1003, the
ステップS1004では、選択回路303は、不揮発メモリ304に記憶されているコンフィグレーションデータ番号をインクリメントする。これにより、コンフィグレーションデータ番号は、1から2に変更される。
In step S1004, the
次に、ステップS1005では、選択回路303は、不揮発メモリ304に記憶されているコンフィグレーションデータ番号がnより大きいか否かをチェックする。大きくない場合には、ステップS1002に戻り、変更後のコンフィグレーションデータ番号について上記の処理を繰り返す。プログラマブルロジックデバイス301が正常動作した場合には、ステップS1003で、カウントアップ信号CUが検出されず、不揮発メモリ304のコンフィグレーションデータ番号は、確定する。その結果、コンフィグレーションデータも確定し、プログラマブルロジックデバイス301の故障が修復される。次回、電源を投入した時、ステップS1001において、選択回路303は、不揮発メモリ304からコンフィグレーションデータ番号を読み出すので、修復後のコンフィグレーションデータが選択され、プログラマブルロジックデバイス301は、正常に動作する。
In step S1005, the
ステップS1005において、コンフィグレーションデータ番号がnより大きくなると、すべてのコンフィグレーションデータCF1〜CFnについてカウントアップ信号CUが検出されたことを意味するので、ステップS1006へ進む。 If the configuration data number is larger than n in step S1005, it means that the count-up signal CU has been detected for all the configuration data CF1 to CFn, and the process proceeds to step S1006.
ステップS1006では、選択回路303は、フォルト信号FTを出力し、プログラマブルロジックデバイス301が修復不能であることを知らせる。本実施形態は、第2の実施形態と同様の効果を得ることができる。
In step S1006, the
(第4の実施形態)
図11は、第4の実施形態によるプログラマブルロジックデバイス301の複数のコンフィグレーションデータCF1〜CF36の例を示す図である。以下、本実施形態が第1〜第3の実施形態と異なる点を説明する。(Fourth embodiment)
FIG. 11 is a diagram illustrating an example of a plurality of configuration data CF1 to CF36 of the
プログラマブルロジックデバイス301は、内部の論理セル領域が例えば9個の領域R1〜R9に分割される。本実施形態では、9個の領域R1〜R9のうちの相互に異なる2個の領域を未使用領域として未使用領域以外の領域を使用領域として相互に同じ機能を実現するための36個のコンフィグレーションデータCF1〜CF36を生成する。
In the
例えば、コンフィグレーションデータCF1は、領域R1及びR2を未使用領域とし、領域R3〜R9を使用領域としてコンフィグレーションするためのデータである。コンフィグレーションデータCF2は、領域R1及びR3を未使用領域とし、領域R2、R4〜R9を使用領域としてコンフィグレーションするためのデータである。コンフィグレーションデータCF36は、領域R8及びR9を未使用領域とし、領域R1〜R7を使用領域としてコンフィグレーションするためのデータである。コンフィグレーションデータCF1〜CF36は、相互に未使用領域が異なり、領域R1〜R9のうちのすべての2個の領域の組み合わせが未使用領域として割り当てられるように生成される。 For example, the configuration data CF1 is data for configuring the areas R1 and R2 as unused areas and the areas R3 to R9 as used areas. The configuration data CF2 is data for configuring the areas R1 and R3 as unused areas and the areas R2, R4 to R9 as used areas. The configuration data CF36 is data for configuring the areas R8 and R9 as unused areas and the areas R1 to R7 as used areas. The configuration data CF1 to CF36 are generated so that unused areas are different from each other, and combinations of all two areas among the areas R1 to R9 are allocated as unused areas.
プログラマブルロジックデバイス301は、コンフィグレーションデータCF1〜CF36のうちのいずれか1つを選択することにより、任意の2個の領域R1〜R9を未使用領域にすることができる。プログラマブルロジックデバイス301は、1個又は2個の領域で故障が発生した場合に、故障個所が未使用領域に一致するコンフィグレーションデータCF1〜CF36を選択することにより、プログラマブルロジックデバイス301の故障を修復する。
The
図12は、プログラマブルロジックデバイス301の修復方法を説明するための図である。例えば、プログラマブルロジックデバイス301の領域R1及びR3で故障が発生した例を説明する。コンフィグレーションデータCF1によりコンフィグレーションした場合、故障が発生した領域R3は使用領域であるため、プログラマブルロジックデバイス301は、正常に動作することができない。これに対し、コンフィグレーションデータCF2によりコンフィグレーションした場合、故障が発生した領域R1及びR3は未使用領域であるため、プログラマブルロジックデバイス301は、正常に動作することができる。このようにして、故障が発生した領域が未使用領域になるように、コンフィグレーションデータCF1〜CF36を選択することにより、プログラマブルロジックデバイス301を修復することができる。なお、未使用領域が3個以上になるように、コンフィグレーションデータを生成するようにしてもよい。
FIG. 12 is a diagram for explaining a method for repairing the
図11に示す通り、9個の領域R1〜R9のうちの2個の領域を未使用領域にすると、生成されるコンフィグレーションデータの組み合わせは、次式で計算することができ、36個のコンフィグレーションデータCF1〜CF36を生成すればよい。 As shown in FIG. 11, when two of the nine regions R1 to R9 are set as unused regions, a combination of generated configuration data can be calculated by the following equation. The generation data CF1 to CF36 may be generated.
9C2=9P2/2!
=9!/{(9−2)!×2!}
=9×8/2
=36 9 C 2 = 9 P 2/ 2!
= 9! / {(9-2)! × 2! }
= 9 × 8/2
= 36
また、プログラマブルロジックデバイス301の内部をn分割し、m個の未使用領域を設定する場合、コンフィグレーションデータの組み合わせは、次式で計算することができる。
When the inside of the
nCm=nPm/m!
=n!/{(n−m)!×m!} n C m = n P m / m!
= N! / {(Nm)! × m! }
これにより、n個の領域で故障が発生しても、プログラマブルロジックデバイス301は、故障を修復し、正常に動作することができる。以上のように、未使用領域は、1個の領域でもよいし、複数の領域でもよい。
Thereby, even if a failure occurs in n regions, the
(第5の実施形態)
図13は、第5の実施形態による論理処理装置の構成例を示す図である。本実施形態(図13)は、第3の実施形態(図8)に対して、コンピュータ1301及び論理和(OR)回路1302を追加したものである。以下、本実施形態が第3の実施形態と異なる点を説明する。(Fifth embodiment)
FIG. 13 is a diagram illustrating a configuration example of a logic processing device according to the fifth embodiment. In this embodiment (FIG. 13), a
ハードディスクドライブ装置621、PCIエクスプレスカード622、コンピュータ1301、及びUSB装置624は、プログラマブルロジックデバイス301の出力信号を用いて処理する外部装置である。
The hard
ハードディスクドライブコントローラ611は、プログラマブルロジックデバイス301の領域R1〜R9の一部により構成される。ハードディスクドライブコントローラ611を構成する領域R1〜R9で故障が発生すると、ハードディスクドライブ装置621は、エラーが発生し、エラー信号ER1を出力する。
The hard
PCIエクスプレスコントローラ612は、プログラマブルロジックデバイス301の領域R1〜R9の一部により構成される。PCIエクスプレスコントローラ612を構成する領域R1〜R9で故障が発生すると、PCIエクスプレスカード622は、エラーが発生し、エラー信号ER2を出力する。
The PCI
コンピュータ1301は、LAN623に接続される。LANコントローラ613は、プログラマブルロジックデバイス301の領域R1〜R9の一部により構成される。LANコントローラ613を構成する領域R1〜R9で故障が発生すると、コンピュータ1301は、エラーが発生し、エラー信号ER3を出力する。
A
USBコントローラ614は、プログラマブルロジックデバイス301の領域R1〜R9の一部により構成される。USBコントローラ614を構成する領域R1〜R9で故障が発生すると、USB装置624は、エラーが発生し、エラー信号ER4を出力する。
The
論理和回路1302は、エラー信号ER1〜ER4の論理和信号を、エラー信号ERとしてプロセッサ601に出力する。プロセッサ601は、第3の実施形態と同様に、エラー信号ERを入力すると、カウントアップ信号CUを選択回路303に出力する。
The
選択回路303は、複数のコンフィグレーションデータCF1〜CFnのうちの外部装置621,622,624,1301がエラーを発生したコンフィグレーションデータを選択せず、複数のコンフィグレーションデータCF1〜CFnのうちの外部装置621,622,624,1301がエラーを発生しないコンフィグレーションデータを選択する。
The
プログラマブルロジックデバイス301が自己の内部故障を検出できず、ハードディスクドライブ装置621、PCIエクスプレスカード622、コンピュータ1301、又はUSB装置624の外部装置がエラーを検出する場合がある。本実施形態は、外部装置621,622,624,1301がエラーを検出した場合に、上記と同様に、コンフィグレーションデータCF1〜CFnの切り替えを行い、故障を修復する。
In some cases, the
(第6の実施形態)
図14は、第6の実施形態による論理処理装置の構成例を示す図である。本実施形態(図14)は、第3の実施形態(図8)に対して、エラー表示レジスタ1401を追加したものである。以下、本実施形態が第3の実施形態と異なる点を説明する。(Sixth embodiment)
FIG. 14 is a diagram illustrating a configuration example of a logic processing device according to the sixth embodiment. In this embodiment (FIG. 14), an
エラー表示レジスタ1401は、プログラマブルロジックデバイス301内に設けられる。不揮発メモリ304は、バス605を介して、プロセッサ601に接続される。プロセッサ601は、不揮発メモリ304内のコンフィグレーションデータ番号を読み書きすることができる。本実施形態は、エラー表示レジスタ1401を用いて、プログラマブルロジックデバイス301内の故障領域を特定し、その故障領域を未使用領域とするコンフィグレーションデータを一度で選択する。
The
図15は、図1に対応し、コンフィグレーションデータCF1〜CF9の例を示す図である。コンフィグレーションデータCF1〜CF9は、それぞれ、1個の未使用領域NR及び8個の使用領域U1〜U8を有する。 FIG. 15 corresponds to FIG. 1 and shows an example of the configuration data CF1 to CF9. Each of the configuration data CF1 to CF9 has one unused area NR and eight used areas U1 to U8.
図16は、図14のプログラマブルロジックデバイス301の一部の構成例を示す図である。プログラマブルロジックデバイス301は、8個の領域R2〜R9及びエラー表示レジスタ1401を有する。領域R2〜R9は、初期のコンフィグレーションデータCF1において使用領域U1〜U8に設定されている領域である。エラー表示レジスタ1401は、8ビットのエラー信号を記憶する。各領域R1〜R9は、1個の機能ブロックを構成することが好ましい。
FIG. 16 is a diagram illustrating a configuration example of a part of the
領域R2は、論理和回路LG2を有し、図4の複数のエラー検出回路412により出力されるエラー信号の論理和信号を、エラー信号ER2として出力する。複数のエラー検出回路412が出力するエラー信号のうちのいずれか1個でも「1」になれば、エラー信号ER2は「1」になる。エラー信号ER2は、「1」がエラー発生を示し、エラー表示レジスタ1401のビット0に書き込まれる。
The region R2 includes a logical sum circuit LG2, and outputs a logical sum signal of error signals output from the plurality of error detection circuits 412 in FIG. 4 as an error signal ER2. If any one of the error signals output from the plurality of error detection circuits 412 becomes “1”, the error signal ER2 becomes “1”. In the error signal ER2, “1” indicates that an error has occurred, and is written to bit 0 of the
同様に、領域R9は、論理和回路LG9を有し、図4の複数のエラー検出回路412により出力されるエラー信号の論理和信号を、エラー信号ER9として出力する。複数のエラー検出回路412が出力するエラー信号のうちのいずれか1個でも「1」になれば、エラー信号ER9は「1」になる。エラー信号ER9は、「1」がエラー発生を示し、エラー表示レジスタ1401のビット7に書き込まれる。
Similarly, the region R9 has a logical sum circuit LG9, and outputs a logical sum signal of error signals output from the plurality of error detection circuits 412 in FIG. 4 as an error signal ER9. If any one of the error signals output from the plurality of error detection circuits 412 becomes “1”, the error signal ER9 becomes “1”. In the error signal ER9, “1” indicates that an error has occurred, and is written in bit 7 of the
領域R2〜R9のエラー信号ER2〜ER9は、それぞれエラー表示レジスタ1401のビット0〜ビット7に書き込まれる。エラー表示レジスタ1401は、各領域R2〜R9のエラー検出回路412によって検出されたエラー信号ER2〜ER9を各ビットに割り当てる。プロセッサ601は、初期のコンフィグレーションデータCF1の使用時に、領域R2〜R9のエラー信号ER2〜ER9を検出した時に、エラー表示レジスタ1401に記憶されているエラー信号ER2〜ER9を読み出すことにより、使用領域U1〜U8のうちのどの領域が故障したのかを認識できる。
The error signals ER2 to ER9 in the areas R2 to R9 are written in bits 0 to 7 of the
図17は、図14のROM602に記憶されるテーブルの構成例を示す図である。テーブルは、エラー検出レジスタ1401の各ビット番号1701と、そのビット番号1701に対応する領域U1〜U8を未使用領域NRに設定しているコンフィグレーションデータCF2〜CF9の番号1702との対応関係を記憶する。例えば、エラー表示レジスタ1401のビット0が「1」の場合、故障領域U1が未使用領域NRとなるコンフィグレーションデータCF2が設定される。これにより、プロセッサ601は、エラー表示レジスタ1401に記憶されているエラー信号ER2〜ER9を基に、このテーブルによってその故障領域を未使用領域NRとするコンフィグレーションデータCF2〜CF9の番号を一意で得ることができる。
FIG. 17 is a diagram showing a configuration example of a table stored in the
図18は、図14の選択回路303の処理方法を示すフローチャートである。例えば、論理処理装置の電源が投入されると、選択回路303は、図18の処理を行う。
FIG. 18 is a flowchart showing a processing method of the
まず、ステップS1801では、選択回路303は、不揮発メモリ304からコンフィグレーションデータ番号を読み出す。ここで、不揮発メモリ304に記憶されているコンフィグレーションデータ番号の初期値は、1である。
First, in step S1801, the
次に、ステップS1802では、選択回路303は、読み出したコンフィグレーションデータ番号に応じて、読み出し開始アドレスADを出力する。例えば、コンフィグレーションデータ番号が1の場合、読み出し開始アドレスADは、アドレスAD1になる。コンフィグレーションメモリMEMは、読み出し開始アドレスADに記憶されているコンフィグレーションデータをプログラマブルロジックデバイス301に出力する。例えば、読み出し開始アドレスADがアドレスAD1の場合、コンフィグレーションメモリMEMは、コンフィグレーションデータCF1をプログラマグルロジックデバイス301に出力する。
In step S1802, the
次に、ステップS1803では、選択回路303は、プロセッサ601からの書き込み指示を検出したか否かをチェックする。検出した場合には、ステップS1804に進む。
In step S1803, the
ステップS1804では、選択回路303は、プロセッサ601から書き込み指示されたコンフィグレーションデータ番号を、不揮発メモリ304に書き込む。その後、ステップS1801に戻り、上記と同様の処理を繰り返す。
In step S1804, the
図19は、図14のプロセッサ601の処理方法を示すフローチャートである。例えば、論理処理装置の電源が投入されると、プロセッサ601は、図19の処理を行う。
FIG. 19 is a flowchart showing a processing method of the
まず、ステップS1901では、プロセッサ601は、不揮発メモリ304からコンフィグレーションデータ番号を読み出す。ここで、不揮発メモリ304に記憶されているコンフィグレーションデータ番号の初期値は、1である。
First, in step S1901, the
次に、ステップS1902では、プロセッサ601は、必要な時間が経過後に、リセット信号RSをプログラマブルロジックデバイス301に出力する。プログラマブルロジックデバイス301は、リセット信号RSを入力すると、バス302を介して入力したコンフィグレーションデータに基づくコンフィグレーションを行う。その後、プログラマブルロジックデバイス301は、論理処理を行い、エラーが発生するとエラー信号ERを出力し、正常動作をすればエラー信号ERを出力しない。
Next, in step S1902, the
次に、ステップS1903では、プロセッサ601は、エラー信号ERを検出したか否かをチェックし、エラー信号ERが検出されれば、ステップS1904に進む。エラー信号ERが検出されなければ、不揮発メモリ304に記憶されているコンフィグレーションデータ番号は、「1」の初期値に確定し、故障の修復を行う必要はない。プログラマブルロジックデバイス301は、正常に動作することができる。
Next, in step S1903, the
ステップS1904では、プロセッサ601は、対象のコンフィグレーションデータ番号が初期値のコンフィグレーションデータ番号であるか否かをチェックする。初期値であれば、ステップS1905に進む。
In step S1904, the
ステップS1905では、プロセッサ601は、エラー表示レジスタ1401に記憶されているエラー信号ER2〜ER9を読み出す。
In step S1905, the
次に、ステップS1906では、プロセッサ601は、図17のテーブルを用いて、エラーが発生した領域U1〜U8を未使用領域にするコンフィグレーションデータ番号を取得する。
Next, in step S1906, the
次に、ステップS1907では、プロセッサ601は、取得したコンフィグレーションデータ番号を不揮発メモリ304に書き込み、ステップS1902に戻る。すると、選択回路303は、図18のステップS1802において、コンフィグレーションデータ番号に応じて、読み出し開始アドレスADを出力する。そして、コンフィグレーションメモリMEMは、読み出し開始アドレスADに記憶されているコンフィグレーションデータをプログラマブルロジックデバイス301に出力する。
Next, in step S1907, the
ステップS1902では、プロセッサ601は、必要な時間が経過後に、リセット信号RSをプログラマブルロジックデバイス301に出力する。プログラマブルロジックデバイス301は、リセット信号RSを入力すると、バス302を介して入力したコンフィグレーションデータに基づくコンフィグレーションを行う。その後、プログラマブルロジックデバイス301は、論理処理を行い、エラーが発生するとエラー信号ERを出力し、正常動作をすればエラー信号ERを出力しない。通常、コンフィグレーションデータ番号は、故障領域を未使用領域とするコンフィグレーションデータ番号に変更されているので、エラー信号ERは出力されない。
In step S1902, the
次に、ステップS1903では、プロセッサ601は、エラー信号ERを検出したか否かをチェックし、エラー信号ERが検出されれば、ステップS1904に進む。エラー信号ERが検出されなければ、不揮発メモリ304に記憶されているコンフィグレーションデータ番号は確定し、故障の修復が終了する。プログラマブルロジックデバイス301は、正常に動作することができる。
Next, in step S1903, the
次に、ステップS1904では、プロセッサ601は、対象のコンフィグレーションデータ番号が初期値のコンフィグレーションデータ番号であるか否かをチェックする。この場合、コンフィグレーションデータ番号は、変更されており、初期値ではないので、ステップS1908に進む。
Next, in step S1904, the
ステップS1908では、プロセッサ601は、フォルト信号FTを出力し、プログラマブルロジックデバイス301が修復不能であることを知らせる。
In step S1908, the
以上のように、プログラマブルロジックデバイス301は、複数の領域R2〜R9毎にエラー信号ER2〜ER9を発生可能である。選択回路303は、プログラマブルロジックデバイス301がエラー信号を発生したときには、エラー信号を基に、プログラマブルロジックデバイス301の複数の領域R2〜R9のうちのエラー信号が発生した領域を未使用領域とするコンフィグレーションデータを選択する。
As described above, the
エラー表示レジスタ1401は、複数の領域R2〜R9毎のエラー信号を記憶する。選択回路303は、エラー表示レジスタ401に記憶されているエラー信号ER2〜ER9を基に、エラー信号が発生した領域を未使用領域とするコンフィグレーションデータを選択する。
The
本実施形態は、第3の実施形態と同様の効果を得ることができる。また、本実施形態は、エラー発生後の1度のコンフィグレーションで、プログラマブルロジックデバイス301内の故障領域が未使用領域に割り当てられるため、第1〜第5の実施形態のようにコンフィグレーションを繰り返すことがなく、早急にプログラマブルロジックデバイス301の故障を修復することができる。
This embodiment can obtain the same effects as those of the third embodiment. Further, in the present embodiment, the failure area in the
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
コンフィグレーションメモリに複数のコンフィグレーションデータを記憶させることにより、短時間でプログラマブルロジックデバイスの内部故障を修復することができる。 By storing a plurality of configuration data in the configuration memory, an internal failure of the programmable logic device can be repaired in a short time.
本発明は、論理処理装置及びその制御方法に関する。 The present invention relates to a logic processing device and a control method thereof.
本発明の目的は、短時間でプログラマブルロジックデバイス部の内部故障を修復することができる論理処理装置及びその制御方法を提供することである。 An object of the present invention is to provide a logic processing apparatus capable of repairing an internal failure of a programmable logic device section in a short time and a control method thereof.
論理処理装置は、複数の領域毎にロジックをプログラム可能な論理セル部を含むプログラマブルロジックデバイス部と、互いに同じ機能を実現するとともに、前記複数の領域のうち論理セル部を使用する領域である使用領域と前記複数の領域のうち論理セル部を使用しない領域である未使用領域との配置の組み合わせが互いに異なる複数のコンフィグレーションデータを記憶するコンフィグレーションメモリ部と、コンフィグレーションデータ番号を記憶するデータ番号メモリ部と、前記複数のコンフィグレーションデータのうち、前記データ番号メモリ部が記憶するコンフィグレーションデータ番号に対応するいずれか一のコンフィグレーションデータを選択して前記プログラマブルロジックデバイス部のロジックをプログラムさせるとともに、エラーが発生した場合、前記エラーが発生しなくなるまで前記コンフィグレーションデータ番号の変更を繰り返し、変更された前記コンフィグレーションデータ番号に対応する1個のコンフィグレーションデータを選択して前記プログラマブルロジックデバイス部のロジックをプログラムさせる選択部とを有する。 The logic processing device realizes the same function as the programmable logic device unit including a logic cell unit capable of programming logic for each of a plurality of regions, and is a region that uses the logic cell unit among the plurality of regions. Configuration memory unit that stores a plurality of configuration data in which the combination of the arrangement of the region and the unused region that does not use the logic cell unit among the plurality of regions is different from each other , and data that stores the configuration data number The number memory unit and the configuration data corresponding to the configuration data number stored in the data number memory unit among the plurality of configuration data are selected and the logic of the programmable logic device unit is programmed. And , If an error occurs, the until no error occurs repeatedly changing the configuration data number, the programmable logic device to select one of the configuration data corresponding to the changed the configuration data number and a selection unit for programming a section of logic.
コンフィグレーションメモリ部に複数のコンフィグレーションデータを記憶させることにより、短時間でプログラマブルロジックデバイス部の内部故障を修復することができる。 By storing a plurality of configuration data in the configuration memory unit , an internal failure of the programmable logic device unit can be repaired in a short time.
Claims (10)
前記プログラマブルロジックデバイスの複数の領域のうちの異なる領域を未使用領域として前記未使用領域以外の領域を使用領域として相互に同じ機能を実現するための複数のコンフィグレーションデータを記憶するコンフィグレーションメモリと、
前記複数のコンフィグレーションデータのうちのいずれか1個を選択して前記プログラマブルロジックデバイスのロジックをプログラムさせる選択回路とを有し、
前記選択回路は、前記複数のコンフィグレーションデータのうちの前記プログラマブルロジックデバイスの動作に基づくエラーが発生しないコンフィグレーションデータを選択することを特徴とする論理処理装置。A programmable logic device capable of programming logic in a plurality of areas;
A configuration memory for storing a plurality of configuration data for realizing the same function with different areas among the plurality of areas of the programmable logic device as unused areas and areas other than the unused areas as used areas; ,
A selection circuit that selects any one of the plurality of configuration data and programs the logic of the programmable logic device;
The logic processing apparatus, wherein the selection circuit selects configuration data that does not cause an error based on an operation of the programmable logic device from the plurality of configuration data.
前記選択回路は、前記複数のコンフィグレーションメモリのうちの1個のコンフィグレーションメモリを選択することを特徴とする請求項1記載の論理処理装置。The configuration memory has a plurality of configuration memories each storing the plurality of configuration data,
The logic processing device according to claim 1, wherein the selection circuit selects one configuration memory from the plurality of configuration memories.
前記選択回路は、前記複数のアドレスのうちの1個のアドレスを選択することを特徴とする請求項1記載の論理処理装置。The configuration memory stores the plurality of configuration data at different addresses,
2. The logic processing device according to claim 1, wherein the selection circuit selects one address among the plurality of addresses.
前記選択回路は、前記複数のコンフィグレーションデータのうちの前記外部装置がエラーを発生したコンフィグレーションデータを選択せず、前記複数のコンフィグレーションデータのうちの前記外部装置がエラーを発生しないコンフィグレーションデータを選択することを特徴とする請求項1記載の論理処理装置。Furthermore, it has an external device for processing using the output signal of the programmable logic device,
The selection circuit does not select configuration data in which the external device has caused an error in the plurality of configuration data, and configuration data in which the external device does not cause an error in the plurality of configuration data. The logic processing device according to claim 1, wherein the logic processing device is selected.
前記選択回路は、前記プログラマブルロジックデバイスがエラー信号を発生したときには、前記エラー信号を基に、前記プログラマブルロジックデバイスの複数の領域のうちの前記エラー信号が発生した領域を未使用領域とするコンフィグレーションデータを選択することを特徴とする請求項1記載の論理処理装置。The programmable logic device can generate an error signal for each of the plurality of regions,
The selection circuit is configured such that when the programmable logic device generates an error signal, an area in which the error signal is generated among a plurality of areas of the programmable logic device is set as an unused area based on the error signal. 2. The logic processing apparatus according to claim 1, wherein data is selected.
前記選択回路は、前記エラー表示レジスタに記憶されているエラー信号を基に、前記エラー信号が発生した領域を未使用領域とするコンフィグレーションデータを選択することを特徴とする請求項8記載の論理処理装置。The programmable logic device has an error display register that stores an error signal for each of the plurality of regions,
9. The logic according to claim 8, wherein the selection circuit selects configuration data in which an area where the error signal is generated is an unused area based on an error signal stored in the error display register. Processing equipment.
前記プログラマブルロジックデバイスの複数の領域のうちの異なる領域を未使用領域として前記未使用領域以外の領域を使用領域として相互に同じ機能を実現するための複数のコンフィグレーションデータを記憶するコンフィグレーションメモリとを有する論理処理装置の処理方法であって、
前記複数のコンフィグレーションデータのうちの前記プログラマブルロジックデバイスの動作に基づくエラーが発生しないコンフィグレーションデータを選択し、
前記選択されたコンフィグレーションデータを基に、前記プログラマブルロジックデバイスのロジックをプログラムさせることを特徴とする論理処理装置の処理方法。A programmable logic device capable of programming logic in a plurality of areas;
A configuration memory for storing a plurality of configuration data for realizing the same function with different areas among the plurality of areas of the programmable logic device as unused areas and areas other than the unused areas as used areas; A processing method of a logic processing device having
Select configuration data that does not cause an error based on the operation of the programmable logic device among the plurality of configuration data,
A logic processing apparatus processing method, comprising: programming logic of the programmable logic device based on the selected configuration data.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/057996 WO2014147780A1 (en) | 2013-03-21 | 2013-03-21 | Logic processing device and processing method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2014147780A1 true JPWO2014147780A1 (en) | 2017-02-16 |
Family
ID=51579512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015506475A Pending JPWO2014147780A1 (en) | 2013-03-21 | 2013-03-21 | Logic processing apparatus and control method thereof |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2014147780A1 (en) |
WO (1) | WO2014147780A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962528A (en) * | 1995-08-23 | 1997-03-07 | Fujitsu Ltd | Self-recovering device |
-
2013
- 2013-03-21 JP JP2015506475A patent/JPWO2014147780A1/en active Pending
- 2013-03-21 WO PCT/JP2013/057996 patent/WO2014147780A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962528A (en) * | 1995-08-23 | 1997-03-07 | Fujitsu Ltd | Self-recovering device |
Also Published As
Publication number | Publication date |
---|---|
WO2014147780A1 (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI773890B (en) | Data storage device and parity code processing method thereof | |
JP5048972B2 (en) | Reduce false positives in programmable device configuration error detection | |
EP2492917B1 (en) | Error detection and correction circuitry | |
JP2019091519A (en) | Nand type flash memory having internal ecc processing and operation method thereof | |
KR101561769B1 (en) | Storage device and data processing method | |
US11334415B2 (en) | Data storage device and method for sharing memory of controller thereof | |
JP2007293856A (en) | Soft error location and sensitivity detection for programmable devices | |
KR20100031148A (en) | Semiconductor memory device for accumulation test and system including the same | |
JP6290934B2 (en) | Programmable device, error holding system, and electronic system apparatus | |
JP6282482B2 (en) | Programmable circuit device and configuration information restoration method | |
JP5558269B2 (en) | Error correction circuit for programmable logic circuit | |
JP2006309700A (en) | Logic integrated circuit having dynamic alternate function, information processing device using the same, and dynamic alternate method of logic integrated circuit | |
JP2020048022A (en) | Semiconductor integrated circuit and reconfigurable semiconductor system | |
JP2013125513A (en) | Nonvolatile semiconductor memory device and management method therefor | |
US8966344B2 (en) | Data protecting method, memory controller and memory storage device | |
JP6517549B2 (en) | Memory controller, storage device, data transfer system, data transfer method, and data transfer program | |
US9575862B1 (en) | Integrated circuits with error handling capabilities | |
US9037948B2 (en) | Error correction for memory systems | |
WO2014147780A1 (en) | Logic processing device and processing method thereof | |
JP2018022277A (en) | Programmable logic device, information processing device, soft error recording method, and soft error recording program | |
CN109119126B (en) | Semiconductor device and error management method | |
JP4582078B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP5910356B2 (en) | Electronic device, electronic device control method, and electronic device control program | |
JP2013187699A (en) | Fpga configuration processing control circuit | |
JP2014137833A (en) | Semiconductor memory and method of outputting number of error correction bits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161004 |