JP2012053778A - Error correction circuit of programmable logic circuit - Google Patents

Error correction circuit of programmable logic circuit Download PDF

Info

Publication number
JP2012053778A
JP2012053778A JP2010197048A JP2010197048A JP2012053778A JP 2012053778 A JP2012053778 A JP 2012053778A JP 2010197048 A JP2010197048 A JP 2010197048A JP 2010197048 A JP2010197048 A JP 2010197048A JP 2012053778 A JP2012053778 A JP 2012053778A
Authority
JP
Japan
Prior art keywords
memory
error
configuration data
unit
programmable logic
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.)
Granted
Application number
JP2010197048A
Other languages
Japanese (ja)
Other versions
JP5558269B2 (en
Inventor
Toshinori Sueyoshi
敏則 末吉
Masahiro Iida
全広 飯田
Motoki Amagasaki
太樹 尼崎
Yoshihiro Ichinomiya
佳裕 一ノ宮
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2010197048A priority Critical patent/JP5558269B2/en
Publication of JP2012053778A publication Critical patent/JP2012053778A/en
Application granted granted Critical
Publication of JP5558269B2 publication Critical patent/JP5558269B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Logic Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an error correction circuit of a programmable logic circuit capable of dynamically performing detection, correction and restoration of an error in a configuration memory, with the error concealed, without influencing the programmable logic circuit.SOLUTION: An error correction circuit 11 includes: a configuration memory 12 where configuration data indicating circuit configuration or wiring configuration of a programmable logic circuit and the error detection encoding data for the configuration data are read out from a base memory M and stored; an error detection unit 131 that detects occurrence of an error on the basis of the configuration data and the error detection encoding data; an alternative storage unit 134 that stores the configuration data prior to the occurrence of the error; a multiplexer unit 133 that switches the configuration data to the configuration data stored by the alternative storage unit 134 in response to error notification; and a reconfiguration control unit 14 that reads out the configuration data from the base memory M and writes the data in the configuration memory 12 for reconfiguration.

Description

本発明は、プログラマブルに論理回路を形成することができるプログラマブル論理回路のエラー訂正回路に関するものである。   The present invention relates to an error correction circuit of a programmable logic circuit that can form a logic circuit in a programmable manner.

プログラマブル論理回路は、PLD(Programmable Logic Device)と称され、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)など種々のものに採用されている。   Programmable logic circuits are called PLDs (Programmable Logic Devices) and are employed in various devices such as CPLDs (Complex Programmable Logic Devices) and FPGAs (Field Programmable Gate Arrays).

プログラマブル論理回路は、コンフィギュレーションメモリから読み込んだ構成データにより、論理回路を所望とする構成とすることができる。このコンフィギュレーションメモリは、例えば、SRAM(Static Random Access Memory)から構成されているため、α線や中性子線によるソフトエラーが発生することが知られている。ソフトエラーの影響によりデータが破壊されると、論理回路を決定する回路情報が変わるため誤動作の原因となる。   The programmable logic circuit can have a desired configuration for the logic circuit based on the configuration data read from the configuration memory. Since this configuration memory is composed of, for example, an SRAM (Static Random Access Memory), it is known that soft errors due to α rays and neutron rays occur. When data is destroyed due to the influence of a soft error, circuit information that determines a logic circuit changes, which may cause a malfunction.

一般的に、プログラマブル論理回路の高信頼性化は、三重冗長化(TMR)などによるハードウェア冗長と、誤ったデータを修復するスクラビングとを組み合わせることで図られている。このような従来の技術について、例えば、特許文献1〜3に記載されたものが知られている。   Generally, high reliability of a programmable logic circuit is achieved by combining hardware redundancy such as triple redundancy (TMR) and scrubbing for repairing erroneous data. As such conventional techniques, for example, those described in Patent Documents 1 to 3 are known.

特許文献1には、1つのアドレスの1つのビットに対して3個以上の奇数個のメモリセルを有するメモリセルアレイ部と、多数決回路を有するデータ出力部とを備えた誤り訂正機能付半導体メモリ、および通常モードと高信頼性モードで書き込むメモリセルを切り換えるセレクタと、読み出されたメモリデータと多数決回路からの出力データとを切り換えるマルチプレクサとを備えた誤り訂正機能付半導体メモリが記載されている。   Patent Document 1 discloses a semiconductor memory with an error correction function including a memory cell array unit having three or more odd number of memory cells for one bit of one address, and a data output unit having a majority circuit, In addition, there is described a semiconductor memory with an error correction function including a selector that switches memory cells to be written in a normal mode and a high reliability mode, and a multiplexer that switches read memory data and output data from a majority circuit.

また、特許文献2には、ソフトエラーの影響を受けた構成メモリの情報を読み出し、エラーチェックビット(誤り訂正符号)などを用いて構成メモリデータの誤りを修復することで、PLD内部でスクラビングを行う方法が記載されている。   Further, Patent Document 2 reads information on a configuration memory affected by a soft error, and corrects an error in the configuration memory data using an error check bit (error correction code), thereby scrubbing inside the PLD. The method of doing is described.

更に、特許文献3には、運用中のFPGAと予備のFPGAとの二重化構成とし、ソフトエラーが運用中のFPGAで発生した場合は、運用中のFPGAを予備のFPGAに切替え、かつ切替え前の予備のFPGAを運用中のFPGAに切替え、予備のFPGAのソフトエラー発生箇所をリコンフィグするソフトエラー補正方法が記載されている。   Further, in Patent Document 3, a duplex configuration of an active FPGA and a spare FPGA is used, and when a soft error occurs in the active FPGA, the active FPGA is switched to the spare FPGA, and before the switching. A soft error correction method is described in which a spare FPGA is switched to an active FPGA and a soft error occurrence location of the spare FPGA is reconfigured.

特開平6−52697号公報JP-A-6-52697 特開2007−293856号公報JP 2007-293856 A 特開2005−235074号公報JP 2005-235074 A

しかし、特許文献1に記載されているような三重冗長化は、構成メモリやデータ読み出し回路を3つ持つことからハードウェア量が多くなってしまうので、面積の増加量および配線の増加量が大きい点で問題である。
また、特許文献2に記載の方法では、複数ビットがソフトエラーの影響を受け、誤り訂正符号での修復ができない場合、一旦、回路動作を停止して回路全体を書き直す必要がある。そのため、複数ビットのソフトエラーに対応できない可能性がある。
また、特許文献3に記載のソフトエラー補正方法では、動的にソフトエラーの修復が可能であるが、回路自体を切り替える大がかりな方法により対処しており、ソフトエラー発生からエラー検知、再構成開始までのエラー隠蔽については考慮されていない。
However, the triple redundancy as described in Patent Document 1 increases the amount of hardware because it has three configuration memories and data read circuits, and therefore the increase in area and the increase in wiring are large. This is a problem.
In the method described in Patent Document 2, when a plurality of bits are affected by a soft error and cannot be repaired with an error correction code, it is necessary to temporarily stop the circuit operation and rewrite the entire circuit. Therefore, there is a possibility that it cannot cope with a multi-bit soft error.
In addition, the soft error correction method described in Patent Document 3 can dynamically repair soft errors, but it is dealt with by a large-scale method of switching the circuit itself. Error detection and reconfiguration start from soft error occurrence The error concealment up to is not considered.

構成データに異常が発生した場合には、構成データが修復されるだけでなく、この構成データに基づいて回路が構成されるプログラマブル論理回路への影響がないように、エラー隠蔽の状態で復旧できることが重要である。   When an abnormality occurs in the configuration data, not only the configuration data is restored, but also the error concealment can be restored so that the programmable logic circuit that configures the circuit based on this configuration data is not affected. is important.

そこで本発明は、コンフィギュレーションメモリのエラーの検出から修正、復旧までをプログラマブル論理回路に影響を与えることなくエラーを隠蔽した状態で動的に行うことが可能なプログラマブル論理回路のエラー訂正回路を提供することを目的とする。   Accordingly, the present invention provides an error correction circuit for a programmable logic circuit capable of dynamically performing a process from detection, correction, and recovery of an error in the configuration memory in a state of concealing the error without affecting the programmable logic circuit. The purpose is to do.

本発明のプログラマブル論理回路のエラー訂正回路は、プログラマブル論理回路の回路構成または配線構成を示す構成データが、第1のメモリから読み出されて格納される第2のメモリと、前記第2のメモリから読み出した構成データと該構成データの誤り検出符号化データとからエラー発生を検出するエラー検知部、前記第2のメモリからのエラーが発生する前の構成データを保持する代替記憶部、前記エラー検知部からのエラー通知を切り替え指示として、前記第2のメモリからの構成データから前記代替記憶部が保持した構成データに切り替えて前記プログラマブル論理回路へ出力するマルチプレクサ部を備えたエラー検出訂正部と、前記エラー検知部からのエラー通知により前記第1のメモリから構成データを読み出し、前記第2のメモリに書き込み再構成する再構成制御部とを備えたことを特徴とする。   An error correction circuit for a programmable logic circuit according to the present invention includes: a second memory in which configuration data indicating a circuit configuration or a wiring configuration of the programmable logic circuit is read from the first memory and stored; and the second memory An error detection unit that detects the occurrence of an error from the configuration data read from the configuration data and the error detection encoded data of the configuration data, an alternative storage unit that stores configuration data before an error from the second memory occurs, and the error An error detection and correction unit including a multiplexer unit that switches from the configuration data from the second memory to the configuration data held in the alternative storage unit and outputs the configuration data to the programmable logic circuit using the error notification from the detection unit as a switching instruction; , Reading the configuration data from the first memory in response to an error notification from the error detection unit, and the second Characterized in that a reconfiguration control unit which reconstructs write to memory.

本発明のプログラマブル論理回路のエラー訂正回路は、第1のメモリからの構成データを格納する第2のメモリを備えている。この第2のメモリは、この構成データの他に、構成データの誤りを検出することができるエラー検出符号化データが格納されている。エラー検知部は、第2メモリからの構成データと、誤り検出符号化データとによりソフトエラーなどの読み取りエラーが発生しているか否かを検査する。エラー発生を検出した場合には、エラー検知部が、マルチプレクサ部からプログラマブル論理回路へ出力される構成データを、第2のメモリからの構成データから代替記憶部からの構成データに切り替える。代替記憶部には、第2のメモリからのエラーが発生する前の構成データが保持されているので、プログラマブル論理回路には誤りのない構成データを出力させることができる。このとき、再構成制御部が、第1のメモリから構成データを読み出し、第2のメモリに書き込み再構成するので、第2のメモリにソフトエラーが発生していても、プログラマブル論理回路に影響を与えることなく、正しい元の構成データに復元することができる。   The error correction circuit of the programmable logic circuit according to the present invention includes a second memory for storing configuration data from the first memory. In addition to the configuration data, the second memory stores error detection encoded data that can detect an error in the configuration data. The error detection unit checks whether or not a reading error such as a soft error has occurred based on the configuration data from the second memory and the error detection encoded data. When the occurrence of an error is detected, the error detection unit switches the configuration data output from the multiplexer unit to the programmable logic circuit from the configuration data from the second memory to the configuration data from the alternative storage unit. Since the configuration data before the occurrence of the error from the second memory is held in the alternative storage unit, the configuration data without error can be output to the programmable logic circuit. At this time, since the reconfiguration control unit reads the configuration data from the first memory and writes the data to the second memory for reconfiguration, even if a soft error occurs in the second memory, the programmable logic circuit is affected. It can be restored to the correct original configuration data without giving.

前記再構成制御部は、前記エラー検知部からのエラー通知により前記第2のメモリの再構成を行うと共に、再構成を行っている間、前記マルチプレクサ部へ切り替え状態の維持を指示する通知を出力するのが望ましい。
エラーが発生するとエラー検知部がすぐマルチプレクサ部を切り替えるが、再構成制御部が第2のメモリを再構成している間、切り替え状態を維持する必要がある。そこで、マルチプレクサ部へ切り替え状態の維持を指示する通知を出力することで、再構成制御部がコンフィギュレーションメモリの再構成を行っている間、確実に代替記憶部からの構成データをプログラマブル論理回路へ出力させることができる。
The reconfiguration control unit reconfigures the second memory based on an error notification from the error detection unit, and outputs a notification instructing the multiplexer unit to maintain the switching state during the reconfiguration. It is desirable to do.
When an error occurs, the error detection unit immediately switches the multiplexer unit. However, the switching state needs to be maintained while the reconfiguration control unit reconfigures the second memory. Therefore, by outputting a notification instructing the maintenance of the switching state to the multiplexer unit, the configuration data from the alternative storage unit is reliably transferred to the programmable logic circuit while the reconfiguration control unit is reconfiguring the configuration memory. Can be output.

前記代替記憶部は、切り替え指示がないときには、前記マルチプレクサ部からの構成データをそのまま出力し、切り替え指示により前記マルチプレクサ部からの構成データを保持するラッチであり、前記マルチプレクサ部に入力される前記第2のメモリからの構成データを、前記エラー検知部が検出処理を開始してから、この検出処理によりエラーを検出し、エラーを前記マルチプレクサ部へ通知して、前記マルチプレクサ部が構成データを切り替えるまでの時間分遅らせる遅延部が設けられているのが望ましい。
代替記憶部はマルチプレクサ部からの構成データを入力して更新しているので、遅延部がなければ、エラー検知部が検出処理を開始してから、この検出処理によりエラーを検出して通知してマルチプレクサ部が構成データを切り替えるまでの時間の間に、エラーが発生している状態の構成データを保持してしまうおそれがある。しかし、遅延部がマルチプレクサ部に入力される第2のメモリからの構成データを遅延させることで、代替記憶部の構成データの更新が停止するタイミングでは、エラー発生前の構成データを入力しているので、エラー発生前の構成データを保持することができ、正しい構成データをプログラマブル論理回路へ出力することができる。
The alternative storage unit is a latch that outputs the configuration data from the multiplexer unit as it is when there is no switching instruction, and holds the configuration data from the multiplexer unit according to the switching instruction, and the first input to the multiplexer unit After the error detection unit starts detection processing of the configuration data from the memory of No. 2, the detection processing detects an error, notifies the multiplexer unit of the error, and the multiplexer unit switches the configuration data It is desirable to provide a delay unit that delays by the amount of time.
Since the alternative storage unit inputs and updates the configuration data from the multiplexer unit, if there is no delay unit, the error detection unit starts the detection process and then detects and notifies an error by this detection process. There is a possibility that the configuration data in an error state may be held during the time until the multiplexer unit switches the configuration data. However, when the delay unit delays the configuration data from the second memory that is input to the multiplexer unit, the configuration data before the occurrence of the error is input at the timing when the update of the configuration data in the alternative storage unit is stopped. Therefore, configuration data before the occurrence of an error can be held, and correct configuration data can be output to the programmable logic circuit.

また、前記第2のメモリが複数設けられていると共に、それぞれの第2のメモリには、前記プログラマブル論理回路の各部ごとに対応した構成データがそれぞれ格納され、前記複数の第2のメモリに、それぞれ対応させて前記エラー検知訂正部を設けることもできる。   In addition, a plurality of the second memories are provided, and each second memory stores configuration data corresponding to each part of the programmable logic circuit, and the plurality of second memories include: The error detection / correction unit may be provided in correspondence with each other.

前記第2のメモリと前記エラー検知部と前記代替記憶部と前記マルチプレクサ部とは、前記プログラマブル論理回路が形成された半導体層と同層である第1の層に形成され、前記第1のメモリと前記再構成制御部とは、同じ半導体層である第2の層に形成され、前記第1の層と前記第2の層との間の配線を、貫通ビアにより接続することで、3次元的に配置することができるので、チップ面積を小さくすることができる。   The second memory, the error detection unit, the alternative storage unit, and the multiplexer unit are formed in a first layer that is the same layer as the semiconductor layer in which the programmable logic circuit is formed, and the first memory And the reconfiguration control unit are formed in a second layer, which is the same semiconductor layer, and the wiring between the first layer and the second layer is connected by a through via to form a three-dimensional structure. Therefore, the chip area can be reduced.

また、前記第2のメモリと前記エラー検知部と前記代替記憶部と前記マルチプレクサ部と、前記再構成制御部とは、前記プログラマブル論理回路が形成された半導体層と同層である第1の層に形成され、前記第1のメモリは、前記第1の層とは異なる第2の層に形成され、前記第1の層と前記第2の層との間の配線を、貫通ビアにより接続することもできる。このように構成した場合、高集積メモリプロセスと混載することが可能であり、かつ3次元的に配置することができるので、チップ面積を小さくすることができる。   The second memory, the error detection unit, the alternative storage unit, the multiplexer unit, and the reconfiguration control unit are the same layer as the semiconductor layer in which the programmable logic circuit is formed. The first memory is formed in a second layer different from the first layer, and interconnects between the first layer and the second layer are connected by through vias. You can also. When configured in this manner, it can be mixed with a highly integrated memory process and can be arranged three-dimensionally, so that the chip area can be reduced.

更に、前記第2のメモリには、前記第1のメモリに格納されたプログラマブル論理回路の異なる複数の構成データのうちのいずれかの構成データが書き込まれ、前記再構成制御部は、前記エラー検知部からのエラー通知の代わりに、回路切り替え部からの切り替え通知を切り替え指示として、前記マルチプレクサ部の出力を、前記第2のメモリからの構成データから、前記代替記憶部が保持した構成データへ切り替えさせて、前記プログラマブル論理回路へ出力させると共に、前記第1のメモリから回路切り替え通知に基づいて選択された構成データを読み出し、前記第2のメモリに書き込み再構成した後、前記マルチプレクサ部の出力を、前記代替記憶部が保持した構成データから、前記第2のメモリに書き込まれた前記他方の構成データに切り替えて、前記他方の構成データを前記プログラマブル論理回路へ出力させることもできる。
このように構成することで、エラー訂正回路を複数の論理回路を動的に切り替える論理回路選択手段として機能させることができる。
Furthermore, any one of a plurality of configuration data of different programmable logic circuits stored in the first memory is written into the second memory, and the reconfiguration control unit is configured to detect the error. Instead of error notification from the unit, switching output from the circuit switching unit is used as a switching instruction, and the output of the multiplexer unit is switched from configuration data from the second memory to configuration data held by the alternative storage unit And outputting to the programmable logic circuit, reading the configuration data selected based on the circuit switching notification from the first memory, writing to the second memory, reconfiguring, and then outputting the output of the multiplexer unit The other configuration data written to the second memory from the configuration data held by the alternative storage unit Switch, the other configuration data can also be output to the programmable logic circuit.
With this configuration, the error correction circuit can function as a logic circuit selection unit that dynamically switches a plurality of logic circuits.

本発明は、エラー発生を契機に、代替記憶部から正常な構成データを出力しつつ、再構成制御部により第2のメモリを復元することができるので、第2のメモリにソフトエラーが発生していても、プログラマブル論理回路に影響を与えることなく、正しい元の構成データに復元することができる。よって、本発明は、コンフィギュレーションメモリのエラーの検出から修正、復旧までをプログラマブル論理回路に影響を与えることなくエラーを隠蔽した状態で動的に行うことができる。   In the present invention, when an error occurs, the second memory can be restored by the reconfiguration control unit while outputting normal configuration data from the alternative storage unit, so that a soft error occurs in the second memory. Even in such a case, the original original configuration data can be restored without affecting the programmable logic circuit. Therefore, according to the present invention, it is possible to dynamically perform detection, correction, and recovery from errors in the configuration memory in a state of concealing errors without affecting the programmable logic circuit.

本発明の実施の形態1に係るプログラマブル論理回路のエラー訂正回路を用いたPLDを示す構成図である。It is a block diagram which shows PLD using the error correction circuit of the programmable logic circuit which concerns on Embodiment 1 of this invention. 図1に示すエラー訂正回路の動作を説明するためのフローチャートである。2 is a flowchart for explaining the operation of the error correction circuit shown in FIG. 図1に示す訂正回路の配置パターンを説明するための図である。It is a figure for demonstrating the arrangement pattern of the correction circuit shown in FIG. エラー訂正回路を3次元構造に配置した一例を示す図である。It is a figure which shows an example which has arrange | positioned the error correction circuit in the three-dimensional structure. エラー訂正回路を3次元構造に配置した他の例を示す図である。It is a figure which shows the other example which has arrange | positioned the error correction circuit in the three-dimensional structure. 本発明の実施の形態3に係るプログラマブル論理回路のエラー訂正回路を用いたPLDを示す構成図である。It is a block diagram which shows PLD using the error correction circuit of the programmable logic circuit which concerns on Embodiment 3 of this invention.

(実施の形態1)
本発明の実施の形態1に係るプログラマブル論理回路のエラー訂正回路について、図面に基づいて説明する。
図1に示すように、プログラマブル論理回路であるPLD10に内蔵された本実施の形態に係るエラー訂正回路11は、コンフィギュレーションメモリ12に発生するソフトエラーを論理セル群または配線スイッチ部(以下、プログラマブル論理回路Pと称す。)に影響を与えることなく隠蔽し、構成データを訂正する回路である。
(Embodiment 1)
An error correction circuit of a programmable logic circuit according to the first embodiment of the present invention will be described with reference to the drawings.
As shown in FIG. 1, the error correction circuit 11 according to the present embodiment incorporated in a PLD 10 which is a programmable logic circuit generates a soft error generated in the configuration memory 12 by a logic cell group or a wiring switch unit (hereinafter, programmable). This circuit is concealed without affecting the logic circuit P and corrects the configuration data.

PLD10には、プログラマブル論理回路Pの回路構成または配線構成を示す構成データが格納された外付けのベースメモリMが接続されている。ベースメモリMは、構成データおよび誤り検出符号化データが格納され、シリアルに読み出される不揮発性メモリである。以下、この構成データと誤り検出符号化データとを合わせたデータを、以下、コンフィギュレーションデータと称す。誤り検出符号としては、ハミング符号を採用しているが、ECC(Error Correcting/Detecting Code)、パリティ、CRC(Cyclic Redundancy Check)なども採用することができ、任意の符号化が採用できる。   An external base memory M that stores configuration data indicating the circuit configuration or wiring configuration of the programmable logic circuit P is connected to the PLD 10. The base memory M is a nonvolatile memory in which configuration data and error detection encoded data are stored and read out serially. Hereinafter, data obtained by combining the configuration data and the error detection encoded data is hereinafter referred to as configuration data. As the error detection code, a Hamming code is adopted, but ECC (Error Correcting / Detecting Code), parity, CRC (Cyclic Redundancy Check), etc. can also be adopted, and arbitrary encoding can be adopted.

なお、本実施の形態では、ベースメモリMを外付けの記憶手段としているが、PLD10に内蔵してもよい。また、ベースメモリMは必ずしも不揮発性である必要がなく、揮発性メモリとしてもよい。更に、ベースメモリMから読み出された構成データをエラーチェックするエラー検出訂正部を設けてもよい。   In the present embodiment, the base memory M is an external storage unit, but it may be built in the PLD 10. Further, the base memory M does not necessarily need to be non-volatile, and may be a volatile memory. Furthermore, an error detection and correction unit that performs error check on the configuration data read from the base memory M may be provided.

エラー訂正回路11は、コンフィギュレーションメモリ12と、エラー検出訂正部13と、再構成制御部14とを備えている。
コンフィギュレーションメモリ12は、ベースメモリMから読み出されたシリアルデータが、パラレルデータとして出力されるシフトレジスタにより形成された揮発性メモリである。このコンフィギュレーションメモリ12としては、例えば、SRAMが使用できるが、DRAMなどの他のメモリとしても、シリアルに入力してパラレル出力が可能であれば使用することができる。本実施の形態のコンフィギュレーションメモリ12では、構成データがnビット幅で、誤り検出符号化データがmビット幅である。
The error correction circuit 11 includes a configuration memory 12, an error detection correction unit 13, and a reconfiguration control unit 14.
The configuration memory 12 is a volatile memory formed by a shift register in which serial data read from the base memory M is output as parallel data. As the configuration memory 12, for example, an SRAM can be used, but other memories such as a DRAM can be used as long as serial input and parallel output are possible. In the configuration memory 12 of the present embodiment, the configuration data is n bits wide and the error detection encoded data is m bits wide.

エラー検出訂正部13は、エラー検知部131と、遅延部132と、マルチプレクサ部133と、代替記憶部134とを備えている。
エラー検知部131は、構成データと誤り検出符号化データからエラーの発生を検出してエラー通知を出力する機能を備えている。
遅延部132は、コンフィギュレーションメモリ12からの構成データを遅延させる。この遅延部132は、多段接続したMOSスイッチやRC回路などのアナログ素子などが使用可能であり、NOTゲートやNANDゲートを多段に接続したデジタル素子から構成した一般的な遅延素子とすることもできる。
The error detection / correction unit 13 includes an error detection unit 131, a delay unit 132, a multiplexer unit 133, and an alternative storage unit 134.
The error detection unit 131 has a function of detecting the occurrence of an error from the configuration data and the error detection encoded data and outputting an error notification.
The delay unit 132 delays the configuration data from the configuration memory 12. The delay unit 132 can be a multi-stage connected MOS switch, an analog element such as an RC circuit, or the like, and can also be a general delay element composed of digital elements in which NOT gates and NAND gates are connected in multiple stages. .

マルチプレクサ部133は、遅延部132からのnビットの構成データから、代替記憶部134からのnビットの構成データに、切り替え指示により切り替える機能を備えている。
代替記憶部134は、マルチプレクサ部133の出力からのnビットの構成データを入力して、マルチプレクサ部133に出力するもので、エラー通知と再構成制御部14からの通知とにより入力中の構成データをラッチし、その状態を保持するスルーラッチである。
再構成制御部14は、エラー通知により、ベースメモリMに格納されたコンフィギュレーションデータを読み出し、コンフィギュレーションメモリ12へ書き込むスクラビング機能を備えている。再構成制御部14は、スクラビングを行っている間、スクラビングイネーブル信号を、切り替え指示として有効とする。
The multiplexer unit 133 has a function of switching from the n-bit configuration data from the delay unit 132 to the n-bit configuration data from the alternative storage unit 134 by a switching instruction.
The alternative storage unit 134 inputs n-bit configuration data from the output of the multiplexer unit 133 and outputs the configuration data to the multiplexer unit 133. The configuration data being input by the error notification and the notification from the reconfiguration control unit 14 is input. Is a through latch that latches and holds the state.
The reconfiguration control unit 14 has a scrubbing function that reads configuration data stored in the base memory M and writes the configuration data to the configuration memory 12 in response to an error notification. The reconfiguration control unit 14 validates the scrubbing enable signal as a switching instruction while scrubbing.

以上のように構成された本発明の実施の形態1に係るエラー訂正回路の動作および使用状態を、更に図2を参照しながら説明する。
まず、エラー検知部131は、ステップS10にて、コンフィギュレーションメモリ12から入力したコンフィギュレーションデータにエラーが発生しているか否かをチェックする。
ステップS20にて、コンフィギュレーションメモリ12からのコンフィギュレーションデータにソフトエラーなどによるエラーが発生していない場合には、エラー検知部131は、エラーが発生していないことを示す「L」レベルを出力している。従って、マルチプレクサ部133は遅延部132からの構成データを出力する。また、代替記憶部134はマルチプレクサ部133からの構成データを入力し、そのままマルチプレクサ部133の入力へ出力する。また、マルチプレクサ部133からの構成データは、プログラマブル論理回路Pへそのまま出力する。
The operation and use state of the error correction circuit according to the first embodiment of the present invention configured as described above will be further described with reference to FIG.
First, the error detection unit 131 checks whether an error has occurred in the configuration data input from the configuration memory 12 in step S10.
In step S20, when an error due to a soft error or the like has not occurred in the configuration data from the configuration memory 12, the error detection unit 131 outputs an “L” level indicating that no error has occurred. is doing. Accordingly, the multiplexer unit 133 outputs the configuration data from the delay unit 132. The alternative storage unit 134 receives the configuration data from the multiplexer unit 133 and outputs the configuration data to the input of the multiplexer unit 133 as it is. The configuration data from the multiplexer unit 133 is output to the programmable logic circuit P as it is.

ステップS20にて、コンフィギュレーションデータにソフトエラーなどによるエラーが発生した場合には、エラー検知部131は、エラーが発生したことを示す「H」レベルを出力する(ステップS30)。
このエラー通知はORゲート133aを介してマルチプレクサ部133へ通知される。また、ORゲート133aからのエラー通知は、NOTゲート133bを介して代替記憶部134へ通知される。
If an error due to a soft error or the like occurs in the configuration data in step S20, the error detection unit 131 outputs an “H” level indicating that an error has occurred (step S30).
This error notification is notified to the multiplexer unit 133 via the OR gate 133a. Further, the error notification from the OR gate 133a is notified to the alternative storage unit 134 via the NOT gate 133b.

このエラー通知を切り替え指示として、マルチプレクサ部133の出力は、遅延部132からの構成データから、代替記憶部134からの構成データに切り替わる(ステップS40)。また、代替記憶部134は、エラー通知が入力されたことで、入力していた構成データをラッチし、その状態を保持する。   With this error notification as a switching instruction, the output of the multiplexer unit 133 is switched from the configuration data from the delay unit 132 to the configuration data from the alternative storage unit 134 (step S40). Further, the alternative storage unit 134 latches the input configuration data in response to the input of the error notification, and holds the state.

コンフィギュレーションメモリ12からの構成データは、遅延部132を介してマルチプレクサ部133へ入力されている。この遅延部132は、エラー検知部131が検出処理を開始してから、この検出処理によりエラーを検出し、エラーをマルチプレクサ部133へ通知して、マルチプレクサ部133が構成データを切り替えるまでの時間分遅らせるので、エラー通知により代替記憶部134がラッチした構成データはエラーが発生する前の構成データとなる。従って、代替記憶部134にはエラー発生前の正しい構成データが保持されている。   Configuration data from the configuration memory 12 is input to the multiplexer unit 133 via the delay unit 132. The delay unit 132 detects the error by the detection process after the error detection unit 131 starts the detection process, notifies the multiplexer unit 133 of the error, and waits until the multiplexer unit 133 switches the configuration data. Since the delay is delayed, the configuration data latched by the alternative storage unit 134 by the error notification becomes the configuration data before the error occurs. Therefore, correct configuration data before the occurrence of an error is held in the alternative storage unit 134.

マルチプレクサ部133の切り替わりにより、代替記憶部134が保持したエラー発生前の構成データがプログラマブル論理回路Pへ出力されるので、ソフトエラーが発生しても、プログラマブル論理回路Pに影響を与えない。   By switching the multiplexer unit 133, the configuration data before the error occurrence held in the alternative storage unit 134 is output to the programmable logic circuit P. Therefore, even if a soft error occurs, the programmable logic circuit P is not affected.

再構成制御部14は、エラー検知部131からのエラー通知によりORゲート133aを介してマルチプレクサ部133へ切り替えの継続を指示するスクラビングイネーブル信号を有効(「H」レベル)とする(ステップS50)。また、再構成制御部14は、ベースメモリMからコンフィギュレーションデータを読み出し、コンフィギュレーションパスを通じてコンフィギュレーションメモリ12へ書き込むスクラビング動作を開始する(ステップS60)   The reconfiguration control unit 14 validates (“H” level) a scrubbing enable signal that instructs the multiplexer unit 133 to continue switching via the OR gate 133a in response to an error notification from the error detection unit 131 (step S50). Further, the reconfiguration control unit 14 starts a scrubbing operation that reads the configuration data from the base memory M and writes the configuration data to the configuration memory 12 through the configuration path (step S60).

スクラビングイネーブル信号はNOTゲート133bにより代替記憶部134へも通知されるので、スクラビング動作を行っている間、スクラビングイネーブル信号を有効にし続けることで、代替記憶部134は保持した状態を維持する(ステップS70)。
従って、コンフィギュレーションメモリ12の内容が書き替え途中で、エラー状態が一時的に解除されても、書き換えが完了して完全に状態が元に戻るまで、代替記憶部134からの構成データをプログラマブル論理回路Pへ出力させることができる。従って、誤ってマルチプレクサ部133が切り戻ることを防止することができる。
再構成制御部14によるスクラビング動作が完了すると、スクラビングイネーブル信号を無効(「L」レベル)とする(ステップS80)。また、コンフィギュレーションメモリ12の構成データは元のデータに復元されているので、エラー検知部131からエラー通知は通知されなくなる。
Since the scrubbing enable signal is also notified to the alternative storage unit 134 by the NOT gate 133b, the alternative storage unit 134 maintains the held state by continuing to enable the scrubbing enable signal during the scrubbing operation (step S70).
Therefore, even if the error state is temporarily canceled while the contents of the configuration memory 12 are being rewritten, the configuration data from the alternative storage unit 134 is programmable logic until the rewriting is completed and the state is completely restored. It can be output to the circuit P. Therefore, it is possible to prevent the multiplexer unit 133 from being switched back by mistake.
When the scrubbing operation by the reconfiguration controller 14 is completed, the scrubbing enable signal is disabled ("L" level) (step S80). Further, since the configuration data of the configuration memory 12 is restored to the original data, no error notification is notified from the error detection unit 131.

このスクラビングイネーブル信号を無効によりマルチプレクサ部133は、正常に書き換わったコンフィギュレーションメモリ12からの構成データを遅延させた遅延部132からの構成データを、プログラマブル論理回路Pへ出力する。また、代替記憶部134はラッチを解除し、入力に応じた出力となる(ステップS90)。   By invalidating the scrubbing enable signal, the multiplexer unit 133 outputs the configuration data from the delay unit 132 obtained by delaying the configuration data from the configuration memory 12 that has been normally rewritten to the programmable logic circuit P. Further, the alternative storage unit 134 releases the latch, and outputs according to the input (step S90).

このように、コンフィギュレーションメモリ12からの構成データにエラーが発生しても、プログラマブル論理回路Pへ影響を与えることなく、コンフィギュレーションメモリ12のコンフィギュレーションデータを書き替え、元のデータに復元することができるので、エラーの検出から修正、復旧までをエラーを隠蔽した状態で動的に行うことができる。   As described above, even if an error occurs in the configuration data from the configuration memory 12, the configuration data in the configuration memory 12 is rewritten and restored to the original data without affecting the programmable logic circuit P. Therefore, from error detection to correction and recovery can be performed dynamically with errors hidden.

このように構成された本実施の形態1に係るエラー訂正回路は、コンフィギュレーションメモリ12としてnビット+mビットのメモリが必要であり、代替記憶部134としてnビットのメモリが必要である。つまり、合計で2nビット+mビットのメモリが必要となる。しかし、三重冗長化では、コンフィギュレーションメモリ12に相当するメモリが3つ必要であるため3nとなる。通常、エラー検出符号化データの方が誤り検出の対象データよりビット幅は小さいので、n>mの関係となる。従って、メモリ容量を小さくすることができるので、エラー訂正回路11は省面積化を図ることができる。   The error correction circuit according to the first embodiment configured as described above requires an n-bit + m-bit memory as the configuration memory 12 and an n-bit memory as the alternative storage unit 134. That is, a total of 2n bits + m bits of memory is required. However, triple redundancy requires 3 memories corresponding to the configuration memory 12 and therefore becomes 3n. Usually, the bit width of the error detection encoded data is smaller than that of the error detection target data, so that the relationship of n> m is satisfied. Therefore, since the memory capacity can be reduced, the error correction circuit 11 can reduce the area.

また、三重冗長化では2つのコンフィギュレーションメモリにエラーが発生した場合には、多数決判定が取れなくなるため、修復は勿論のこと、エラー通知等を行わないエラー隠蔽が困難になるが、エラー訂正回路10では、エラー検出符号化データにより構成データのエラー検出が可能であれば、多数ビットのエラーでもエラーを隠蔽した状態で、プログラマブル論理回路Pへ影響を与えることなく修復・復旧が可能である。   In addition, in the case of triple redundancy, when an error occurs in two configuration memories, the majority decision cannot be obtained, so it is difficult to perform error concealment without performing error notification as well as repair. 10, if the error of the configuration data can be detected by the error detection encoded data, even a multi-bit error can be repaired / restored without affecting the programmable logic circuit P while concealing the error.

更に、エラー検出訂正部13は、コンフィギュレーションメモリ12と、論理セルや配線スイッチ部であるプログラマブル論理回路Pとの間に挿入された形を取るため、論理セルや配線の構造に依存しない。そのため、様々な形式のPLDのアーキテクチャに適用することができる。   Further, since the error detection and correction unit 13 is inserted between the configuration memory 12 and the programmable logic circuit P that is a logic cell or wiring switch unit, the error detection and correction unit 13 does not depend on the structure of the logic cell or wiring. Therefore, the present invention can be applied to various types of PLD architectures.

なお、本実施の形態1に係るエラー訂正回路11では、予めベースメモリMに構成データの誤り検出符号化データが格納されているが、構成データのみを格納するようにしてもよい。その場合には、再構成制御部14により構成データをコンフィギュレーションメモリ12に書き込むときに、誤り検出符号化データを生成して書き込む符号化手段を備えるようにしてもよい。   In the error correction circuit 11 according to the first embodiment, the error detection encoded data of the configuration data is stored in the base memory M in advance, but only the configuration data may be stored. In that case, when the configuration data is written into the configuration memory 12 by the reconfiguration control unit 14, an encoding unit that generates and writes error detection encoded data may be provided.

プログラマブル論理回路Pである論理セルまたは配線スイッチ部を図3に示す。
図3に示すように、プログラマブル論理回路装置Pは、コンフィギュレーションメモリの構成データに基づいて論理回路を構成するプログラマブル論理回路が配置されるロジックブロック(Logic Block:以下、LBと称す。)と、LBと配線を接続する配線スイッチ部として機能するコネクションボックス(Connection Box:以下、CBと称す。)と、配線のクロスポイントとなるスイッチボックス(Switch Box:以下、SBと称す。)とを備えている。
FIG. 3 shows a logic cell or wiring switch portion which is the programmable logic circuit P.
As shown in FIG. 3, the programmable logic circuit device P includes a logic block (Logic Block: hereinafter referred to as LB) in which a programmable logic circuit configuring the logic circuit is arranged based on configuration data of the configuration memory. A connection box (Connection Box: hereinafter referred to as CB) functioning as a wiring switch unit for connecting the LB and the wiring, and a switch box (Switch Box: hereinafter referred to as SB) serving as a cross point of wiring are provided. Yes.

このLBは、LB内のコンフィギュレーションメモリに格納される構成データを書き替えることにより論理関数の変更ができる。また、CBおよびSB内の構成データを書き替えることにより、接続関係の変更が可能である。
エラー訂正回路11は、このLB、CBおよびSBに対して様々なパターンで配置することが可能である。
This LB can change the logical function by rewriting the configuration data stored in the configuration memory in the LB. In addition, the connection relationship can be changed by rewriting the configuration data in the CB and SB.
The error correction circuit 11 can be arranged in various patterns with respect to the LB, CB and SB.

例えば、パターンAでは、1つのLBと、このLBと斜めの位置関係にあるSBと、LBおよびSBに配線が繋がる2つのCBとを基本的な構成である1タイルとして、この1タイルに1組のコンフィギュレーションメモリ12とエラー検出訂正部13とを対応させて設けている。
また、パターンBでは、隣接するタイル同士を1つのグループとして、1組のコンフィギュレーションメモリ12とエラー検出訂正部13とを対応させて設けている。
また、パターンCでは、1つのタイルに複数のコンフィギュレーションメモリ12とエラー検出訂正部13とを設けている。
更に、パターンDでは、1つのSBに対応させて、1組のコンフィギュレーションメモリ12とエラー検出訂正部13とを設けている。この場合、SBの代わりに、LBやCBとすることができる。
For example, in the pattern A, one LB, an SB that is in an oblique positional relationship with the LB, and two CBs that have wirings connected to the LB and the SB are defined as one tile that is a basic configuration, and one tile is included in this tile. A set of configuration memory 12 and an error detection and correction unit 13 are provided in correspondence with each other.
In the pattern B, adjacent tiles are grouped as one group, and a set of configuration memory 12 and an error detection / correction unit 13 are associated with each other.
In the pattern C, a plurality of configuration memories 12 and an error detection / correction unit 13 are provided in one tile.
Further, in the pattern D, a set of configuration memory 12 and an error detection / correction unit 13 are provided corresponding to one SB. In this case, LB or CB can be used instead of SB.

コンフィギュレーションメモリ12およびエラー検出訂正部13は、構成データの供給先の構造に依存しないため、機能ブロックやタイル単位という枠組みに制約されずに適用することができる。   Since the configuration memory 12 and the error detection and correction unit 13 do not depend on the structure of the configuration data supply destination, the configuration memory 12 and the error detection and correction unit 13 can be applied without being restricted by the framework of functional blocks and tile units.

パターンAやパターンBでは、多数の機能ブロックを対象とするため、多数のコンフィギュレーションデータがエラー検出訂正部13の対象となる。誤り検出符号化データのビット幅は、構成データのビット幅が増加しても比例して増加しないため、エラー訂正の対象となる機能ブロックを増やすことで、コンフィギュレーションメモリ12のメモリ量の増加を抑制することができる。そのため、外部メモリからコンフィギュレーションメモリ12へのコンフィギュレーションパス数もエラー検出訂正部13の回路数に応じて少量とすることができる。   In the pattern A and the pattern B, since a large number of functional blocks are targeted, a large number of configuration data is targeted by the error detection and correction unit 13. Since the bit width of the error detection encoded data does not increase proportionally even if the bit width of the configuration data increases, increasing the number of functional blocks to be subjected to error correction increases the amount of memory of the configuration memory 12. Can be suppressed. Therefore, the number of configuration paths from the external memory to the configuration memory 12 can be reduced according to the number of circuits of the error detection / correction unit 13.

しかし、パターンAやパターンBの場合では、対象の機能ブロックが増える分、コンフィギュレーションメモリのメモリ数が増加するため、エラー検出訂正部13の回路規模が大きくなる。そのため、パターンCやパターンDのように対象となるコンフィギュレーションメモリのメモリ数を小さくすることで、エラー検出訂正部13の回路規模を小さく構成することができ、回路規模の削減効果を得ることができる。   However, in the case of the pattern A and the pattern B, the number of target configuration blocks increases and the number of configuration memories increases, so the circuit scale of the error detection and correction unit 13 increases. Therefore, by reducing the number of target configuration memories such as the pattern C and the pattern D, the circuit scale of the error detection and correction unit 13 can be reduced, and an effect of reducing the circuit scale can be obtained. it can.

エラー検出訂正部13は、前述したように機能ブロックに依存しないため最適な粒度で適用することができ、これらのパターンA〜Dを適宜、組み合わせて構成することができる。   As described above, the error detection / correction unit 13 does not depend on the functional block and can be applied with an optimum granularity, and can be configured by combining these patterns A to D as appropriate.

(実施の形態2)
次に、図1に示すエラー訂正回路11をPLD10に実装する際の構成について、図4および図5に基づいて説明する。なお、図1では、コンフィギュレーションメモリ12へスクラビングする構成データが格納されたベースメモリMが外付けであったが、実施の形態2ではPLDに内蔵している。
(Embodiment 2)
Next, a configuration when the error correction circuit 11 shown in FIG. 1 is mounted on the PLD 10 will be described with reference to FIGS. 4 and 5. In FIG. 1, the base memory M in which the configuration data to be scrubbed into the configuration memory 12 is externally attached, but in the second embodiment, it is built in the PLD.

図4に示すように、PLD20には、第1の層である上層に、プログラマブル論理回路Pと、コンフィギュレーションメモリ12と、エラー検出訂正部13とが設けられている。また、PLD20には、第2の層である下層に、再構成制御部14とベースメモリMとが設けられている。そして、その間の配線であるエラー通知をする配線と、スクラビングイネーブル信号を通知する配線と、コンフィギュレーションパスのための配線とが、貫通ビアを介して接続されている。この貫通ビアは、例えば、層間に跨る信号の接続に使用されるTSV(Through Silicon Via)と呼ばれるものが採用できる。   As shown in FIG. 4, the PLD 20 is provided with a programmable logic circuit P, a configuration memory 12, and an error detection and correction unit 13 in the upper layer, which is the first layer. Further, the PLD 20 is provided with a reconfiguration control unit 14 and a base memory M in a lower layer which is a second layer. A wiring for notifying an error, a wiring for reporting a scrubbing enable signal, and a wiring for a configuration path are connected via a through via. As this through via, for example, a so-called TSV (Through Silicon Via) used for connecting signals between layers can be adopted.

また、図5に示すように、PLD30には、第1の層である上層に、プログラマブル論理回路Pと、コンフィギュレーションメモリ12と、エラー検出訂正部13と、再構成制御部14とが設けられている。また、PLD20には、第2の層である下層に、ベースメモリMが設けられている。そして、その間の配線である再構成制御部14がスクラビング動作を行うためのベースメモリMへの配線と、コンフィギュレーションパスのための配線とが、貫通ビアを介して接続されている。   As shown in FIG. 5, the PLD 30 is provided with a programmable logic circuit P, a configuration memory 12, an error detection and correction unit 13, and a reconfiguration control unit 14 in the upper layer, which is the first layer. ing. Further, the PLD 20 is provided with a base memory M in a lower layer which is the second layer. A wiring to the base memory M for the reconfiguration control unit 14 that performs the scrubbing operation and a wiring for the configuration path are connected via a through via.

ベースメモリMを、他の回路と同層に形成すると、実装面積が増大してしまい問題となる。しかし、図4や図5のように3次元構造のLSIに実装して、ベースメモリMと他の回路との層を分けることで、チップ面積を削減することができるので、面積効率を高めることが可能である。また、ビット幅に応じて多数の配線領域が必要となるコンフィギュレーションパスを、貫通ビアとすることで、配線領域を削減することができ、更に面積効率が向上させることができる。
また、図5に示すベースメモリMを、DRAMを用いて高集積化を図ることで、混合プロセスによる3次元化を図ることができる。このように、各層ごとに適した製造プロセスを採用することで、チップ面積の削減を図ることができる。
If the base memory M is formed in the same layer as other circuits, a mounting area increases, which causes a problem. However, by mounting on an LSI having a three-dimensional structure as shown in FIG. 4 and FIG. 5 and separating the layers of the base memory M and other circuits, the chip area can be reduced, so that the area efficiency is increased. Is possible. In addition, by using a through via as a configuration path that requires a large number of wiring areas according to the bit width, the wiring area can be reduced, and the area efficiency can be further improved.
Further, the base memory M shown in FIG. 5 can be three-dimensionalized by a mixed process by achieving high integration using a DRAM. Thus, the chip area can be reduced by employing a manufacturing process suitable for each layer.

なお、ベースメモリMはDRAMとする他に、フラッシュメモリとすることで、不揮発性のメモリとすることも可能である。また、2層とする以外に、3層以上とすることも可能である。3層とする場合には、図4に示すPLD20の上層をプログラマブル論理回路Pとそれ以外の回路とに分けたり、図5に示すPLD30の上層をプログラマブル論理回路Pとそれ以外の回路とに分けたりすることができる。   In addition to the DRAM, the base memory M can be a non-volatile memory by using a flash memory. In addition to the two layers, three or more layers are also possible. In the case of three layers, the upper layer of the PLD 20 shown in FIG. 4 is divided into the programmable logic circuit P and other circuits, or the upper layer of the PLD 30 shown in FIG. 5 is divided into the programmable logic circuit P and other circuits. Can be.

(実施の形態3)
本発明の実施の形態3に係るエラー訂正回路を図6に基づいて説明する。実施の形態3に係るPLD10xのエラー訂正回路11xは、回路切り替え部15からの切り替え通知によりプログラマブル論理回路Pの回路構成や配線構成を動的に変更するものである。なお、図6においては、図1と同じ構成のものは同符号を付して説明を省略する。
(Embodiment 3)
An error correction circuit according to Embodiment 3 of the present invention will be described with reference to FIG. The error correction circuit 11x of the PLD 10x according to the third embodiment dynamically changes the circuit configuration and wiring configuration of the programmable logic circuit P in response to switching notification from the circuit switching unit 15. In FIG. 6, the same components as those in FIG.

ベースメモリMxには、プログラマブル論理回路Pの異なる複数の回路構成、複数の配線構成、または回路構成と配線構成の組み合わせを示す構成データが格納されている。また、例えば、コンフィギュレーションメモリ12には、第1の回路の構成データが書き込まれているものとする。そして、ベースメモリMxには、第1の回路を含む複数の回路の構成データが書き込まれているものとする。   The base memory Mx stores configuration data indicating a plurality of different circuit configurations of the programmable logic circuit P, a plurality of wiring configurations, or a combination of a circuit configuration and a wiring configuration. For example, it is assumed that the configuration data of the first circuit is written in the configuration memory 12. It is assumed that configuration data of a plurality of circuits including the first circuit is written in the base memory Mx.

そのとき、再構成制御部14xに回路切り替え部15からの切り替え通知が入力され、この切り替え通知には、切り替える回路を特定するための識別情報が含まれている。例えば、4つの回路がベースメモリMxに格納されていれば、「1」〜「4」の番号を指定して回路の切り替えを指示することができる。2つの回路であれば、切り替え通知の有無により切り替えを指示することができる。   At that time, the switching notification from the circuit switching unit 15 is input to the reconfiguration control unit 14x, and the switching notification includes identification information for specifying the circuit to be switched. For example, if four circuits are stored in the base memory Mx, the numbers “1” to “4” can be designated to instruct circuit switching. In the case of two circuits, switching can be instructed depending on the presence / absence of switching notification.

この切り替え通知が入力されると、再構成制御部14xは、エラー通知と同様に、スクラビングイネーブル信号を有効とし、ベースメモリMxに格納された構成データのうち、切り替え通知により通知された回路を識別するための識別情報に基づいて選択された回路の構成データを、コンフィギュレーションパスを通じて、コンフィギュレーションメモリ12へ書き込む。例えば、切り替え通知により識別情報「4」が指定された場合には、第4の回路の構成データをベースメモリMから読み込み、コンフィギュレーションメモリ12へ書き込む。   When this switching notification is input, the reconfiguration control unit 14x validates the scrubbing enable signal and identifies the circuit notified by the switching notification among the configuration data stored in the base memory Mx, similarly to the error notification. The configuration data of the circuit selected based on the identification information to be written is written to the configuration memory 12 through the configuration path. For example, when the identification information “4” is designated by the switching notification, the configuration data of the fourth circuit is read from the base memory M and written to the configuration memory 12.

マルチプレクサ部133は、スクラビングイネーブル信号が有効となることで、代替記憶部134からの構成データをプログラマブル論理回路Pへ出力する。
そして、再構成制御部14xは、第4の回路の構成データをコンフィギュレーションメモリ12に書き終わるまで、スクラビングイネーブル信号を有効とするので、コンフィギュレーションメモリ12の内容が入れ替わるまで、プログラマブル論理回路Pには第1の回路の構成データが出力される。
The multiplexer 133 outputs the configuration data from the alternative storage unit 134 to the programmable logic circuit P when the scrubbing enable signal becomes valid.
Then, the reconfiguration control unit 14x makes the scrubbing enable signal valid until the configuration data of the fourth circuit is written to the configuration memory 12, so that the programmable logic circuit P until the contents of the configuration memory 12 are replaced. Outputs the configuration data of the first circuit.

再構成制御部14xは、第4の回路の構成データを書き終えると、スクラビングイネーブル信号を無効とすることで、遅延部132により遅延した時間後には、コンフィギュレーションメモリ12からの第4の回路の構成データがマルチプレクサ部133から出力されるので、プログラマブル論理回路Pは第4の回路として動作することができる。   When the reconfiguration control unit 14x finishes writing the configuration data of the fourth circuit, the reconfiguration control unit 14x invalidates the scrubbing enable signal, and after the time delayed by the delay unit 132, the reconfiguration control unit 14x outputs the fourth circuit from the configuration memory 12. Since the configuration data is output from the multiplexer unit 133, the programmable logic circuit P can operate as the fourth circuit.

このように、エラー検知部131からのエラー通知の代わりに、回路切り替え部15からの切り替え通知を切り替え指示として、再構成制御部14xが、コンフィギュレーションメモリ12の再構成を行う間、マルチプレクサ部133にスクラビングイネーブル信号を有効とする。この切り替え指示により、マルチプレクサ部133は、代替記憶部134の構成データを出力し、コンフィギュレーションメモリ12の内容が書き換わった段階で切り戻しが行われるので、必要に応じて実装する回路を変更することができる。従って、面積効率を向上させることができる。また、状況に応じて最適な回路を実装することで、システム全体の処理は高速化される。   Thus, while the reconfiguration control unit 14x reconfigures the configuration memory 12 using the switching notification from the circuit switching unit 15 as a switching instruction instead of the error notification from the error detection unit 131, the multiplexer unit 133 Enable the scrubbing enable signal. In response to this switching instruction, the multiplexer unit 133 outputs the configuration data of the alternative storage unit 134, and switching is performed when the contents of the configuration memory 12 are rewritten. Therefore, the circuit to be mounted is changed as necessary. be able to. Therefore, area efficiency can be improved. In addition, the processing of the entire system is speeded up by mounting an optimum circuit according to the situation.

本発明は、CPLD、FPGAなどの構成データに基づいてプログラマブルに論理回路を形成することができるPLDに好適である。   The present invention is suitable for a PLD that can form a logic circuit in a programmable manner based on configuration data such as CPLD and FPGA.

10,20,30,10x PLD
11,11x エラー訂正回路
12 コンフィギュレーションメモリ
13 エラー検出訂正部
131 エラー検知部
132 遅延部
133 マルチプレクサ部
133a ORゲート
133b NOTゲート
134 代替記憶部
14,14x 再構成制御部
15 回路切り替え部
M,Mx ベースメモリ
10, 20, 30, 10x PLD
DESCRIPTION OF SYMBOLS 11, 11x Error correction circuit 12 Configuration memory 13 Error detection correction part 131 Error detection part 132 Delay part 133 Multiplexer part 133a OR gate 133b NOT gate 134 Alternative storage part 14, 14x Reconfiguration control part 15 Circuit switching part M, Mx Base memory

Claims (7)

プログラマブル論理回路の回路構成または配線構成を示す構成データが、第1のメモリから読み出されて格納される第2のメモリと、
前記第2のメモリから読み出した構成データと該構成データの誤り検出符号化データとからエラー発生を検出するエラー検知部、前記第2のメモリからのエラーが発生する前の構成データを保持する代替記憶部、前記エラー検知部からのエラー通知を切り替え指示として、前記第2のメモリからの構成データから前記代替記憶部が保持した構成データに切り替えて前記プログラマブル論理回路へ出力するマルチプレクサ部を備えたエラー検出訂正部と、
前記エラー検知部からのエラー通知により前記第1のメモリから構成データを読み出し、前記第2のメモリに書き込み再構成する再構成制御部とを備えたことを特徴とするプログラマブル論理回路のエラー訂正回路。
A second memory in which configuration data indicating a circuit configuration or a wiring configuration of the programmable logic circuit is read from the first memory and stored;
An error detection unit for detecting an error occurrence from the configuration data read from the second memory and the error detection encoded data of the configuration data; an alternative for holding the configuration data before the error from the second memory occurs A storage unit, and a multiplexer unit that switches the configuration data from the second memory to the configuration data held by the alternative storage unit and outputs it to the programmable logic circuit using an error notification from the error detection unit as a switching instruction An error detection and correction unit;
An error correction circuit for a programmable logic circuit, comprising: a reconfiguration control unit that reads out configuration data from the first memory in response to an error notification from the error detection unit, and writes and reconfigures data in the second memory .
前記再構成制御部は、前記エラー検知部からのエラー通知により前記第2のメモリの再構成を行うと共に、再構成を行っている間、前記マルチプレクサ部へ切り替え状態の維持を指示する通知を出力する請求項1記載のプログラマブル論理回路のエラー訂正回路。   The reconfiguration control unit reconfigures the second memory based on an error notification from the error detection unit, and outputs a notification instructing the multiplexer unit to maintain the switching state during the reconfiguration. An error correction circuit for a programmable logic circuit according to claim 1. 前記代替記憶部は、切り替え指示がないときには、前記マルチプレクサ部からの構成データをそのまま出力し、切り替え指示により前記マルチプレクサ部からの構成データを保持するラッチであり、
前記マルチプレクサ部に入力される前記第2のメモリからの構成データを、前記エラー検知部が検出処理を開始してから、この検出処理によりエラーを検出し、エラーを前記マルチプレクサ部へ通知して、前記マルチプレクサ部が構成データを切り替えるまでの時間分遅らせる遅延部が設けられている請求項1または2記載のプログラマブル論理回路のエラー訂正回路。
The alternative storage unit is a latch that outputs the configuration data from the multiplexer unit as it is when there is no switching instruction, and holds the configuration data from the multiplexer unit according to the switching instruction,
The configuration data from the second memory input to the multiplexer unit is detected by the error detection unit after the error detection unit starts the detection process, and an error is detected by the detection process, and the error is notified to the multiplexer unit. The error correction circuit of the programmable logic circuit according to claim 1 or 2, further comprising a delay unit that delays by a time until the multiplexer unit switches the configuration data.
前記第2のメモリが複数設けられていると共に、それぞれの第2のメモリには、前記プログラマブル論理回路の各部ごとに対応した構成データがそれぞれ格納され、
前記複数の第2のメモリに、それぞれ対応させて前記エラー検知訂正部が設けられている請求項1から3のいずれかの項に記載のプログラマブル論理回路のエラー訂正回路。
A plurality of the second memories are provided, and each second memory stores configuration data corresponding to each part of the programmable logic circuit,
The error correction circuit of the programmable logic circuit according to any one of claims 1 to 3, wherein the error detection and correction unit is provided corresponding to each of the plurality of second memories.
前記第2のメモリと前記エラー検知部と前記代替記憶部と前記マルチプレクサ部とは、前記プログラマブル論理回路が形成された半導体層と同層である第1の層に形成され、
前記第1のメモリと前記再構成制御部とは、同じ半導体層である第2の層に形成され、
前記第1の層と前記第2の層との間の配線は、貫通ビアにより接続されている請求項1から4のいずれかの項に記載のプログラマブル論理回路のエラー訂正回路。
The second memory, the error detection unit, the alternative storage unit, and the multiplexer unit are formed in a first layer that is the same layer as the semiconductor layer in which the programmable logic circuit is formed,
The first memory and the reconfiguration control unit are formed in a second layer, which is the same semiconductor layer,
The error correction circuit of the programmable logic circuit according to any one of claims 1 to 4, wherein the wiring between the first layer and the second layer is connected by a through via.
前記第2のメモリと前記エラー検知部と前記代替記憶部と前記マルチプレクサ部と、前記再構成制御部とは、前記プログラマブル論理回路が形成された半導体層と同層である第1の層に形成され、
前記第1のメモリは、前記第1の層とは異なる第2の層に形成され、
前記第1の層と前記第2の層との間の配線は、貫通ビアにより接続されている請求項1から4のいずれかの項に記載のプログラマブル論理回路のエラー訂正回路。
The second memory, the error detection unit, the alternative storage unit, the multiplexer unit, and the reconfiguration control unit are formed in a first layer that is the same layer as the semiconductor layer on which the programmable logic circuit is formed. And
The first memory is formed in a second layer different from the first layer;
The error correction circuit of the programmable logic circuit according to any one of claims 1 to 4, wherein the wiring between the first layer and the second layer is connected by a through via.
前記第2のメモリには、前記第1のメモリに格納されたプログラマブル論理回路の異なる複数の構成データのうちのいずれかの構成データが書き込まれ、
前記再構成制御部は、前記エラー検知部からのエラー通知の代わりに、回路切り替え部からの切り替え通知を切り替え指示として、前記マルチプレクサ部の出力を、前記第2のメモリからの構成データから、前記代替記憶部が保持した構成データへ切り替えさせて、前記プログラマブル論理回路へ出力させると共に、前記第1のメモリから回路切り替え通知に基づいて選択された構成データを読み出し、前記第2のメモリに書き込み再構成した後、前記マルチプレクサ部の出力を、前記代替記憶部が保持した構成データから、前記第2のメモリに書き込まれた前記他方の構成データに切り替えて、前記他方の構成データを前記プログラマブル論理回路へ出力させる請求項1から6のいずれかの項に記載のプログラマブル論理回路のエラー訂正回路。
In the second memory, any one of a plurality of different configuration data of the programmable logic circuit stored in the first memory is written,
The reconfiguration control unit uses the switching notification from the circuit switching unit as a switching instruction instead of the error notification from the error detection unit, and outputs the output of the multiplexer unit from the configuration data from the second memory. The configuration data held by the alternative storage unit is switched to be output to the programmable logic circuit, the configuration data selected based on the circuit switching notification is read from the first memory, and the configuration data is rewritten to the second memory. After the configuration, the output of the multiplexer unit is switched from the configuration data held in the alternative storage unit to the other configuration data written in the second memory, and the other configuration data is switched to the programmable logic circuit. The error correction of the programmable logic circuit according to any one of claims 1 to 6 Road.
JP2010197048A 2010-09-02 2010-09-02 Error correction circuit for programmable logic circuit Expired - Fee Related JP5558269B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010197048A JP5558269B2 (en) 2010-09-02 2010-09-02 Error correction circuit for programmable logic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010197048A JP5558269B2 (en) 2010-09-02 2010-09-02 Error correction circuit for programmable logic circuit

Publications (2)

Publication Number Publication Date
JP2012053778A true JP2012053778A (en) 2012-03-15
JP5558269B2 JP5558269B2 (en) 2014-07-23

Family

ID=45906991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010197048A Expired - Fee Related JP5558269B2 (en) 2010-09-02 2010-09-02 Error correction circuit for programmable logic circuit

Country Status (1)

Country Link
JP (1) JP5558269B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5500282B1 (en) * 2013-02-28 2014-05-21 日本電気株式会社 Fault repair device, fault repair method, and fault repair program
WO2014112082A1 (en) * 2013-01-17 2014-07-24 富士通株式会社 Programmable logic device
JP2015032860A (en) * 2013-07-31 2015-02-16 日本電気株式会社 Data correction circuit and data correction method
JP2015034236A (en) * 2013-08-09 2015-02-19 東洋製罐株式会社 Resin composition excellent in transparency and method for producing the same
JP2015201813A (en) * 2014-04-10 2015-11-12 株式会社日立製作所 Field programmable gate array
JP2015201814A (en) * 2014-04-10 2015-11-12 株式会社日立製作所 Field programmable gate array and electronic apparatus
WO2023162848A1 (en) * 2022-02-28 2023-08-31 三菱重工業株式会社 Control device, and control method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59227093A (en) * 1983-06-06 1984-12-20 Hitachi Ltd Duplex memory control system
JPH0523254U (en) * 1991-09-03 1993-03-26 三菱電機株式会社 Memory circuit
JPH06214890A (en) * 1993-01-14 1994-08-05 Mitsubishi Electric Corp Computer
JP2000260961A (en) * 1999-03-05 2000-09-22 Rohm Co Ltd Multichip semiconductor device
JP2005234855A (en) * 2004-02-19 2005-09-02 Yokogawa Electric Corp Information processor
JP2006113743A (en) * 2004-10-13 2006-04-27 Oki Techno Creation:Kk Information processing system, information processing method and information processing program
JP2007265056A (en) * 2006-03-29 2007-10-11 Juki Corp Configuration apparatus for programmable logistic device
JP2008015965A (en) * 2006-07-10 2008-01-24 Fuji Xerox Co Ltd Information processor, operation method of information processor, and program
JP2010066961A (en) * 2008-09-10 2010-03-25 Oki Electric Ind Co Ltd Method for guaranteeing activation of programmable logic circuit, and programmable logic circuit device thereof

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59227093A (en) * 1983-06-06 1984-12-20 Hitachi Ltd Duplex memory control system
JPH0523254U (en) * 1991-09-03 1993-03-26 三菱電機株式会社 Memory circuit
JPH06214890A (en) * 1993-01-14 1994-08-05 Mitsubishi Electric Corp Computer
JP2000260961A (en) * 1999-03-05 2000-09-22 Rohm Co Ltd Multichip semiconductor device
JP2005234855A (en) * 2004-02-19 2005-09-02 Yokogawa Electric Corp Information processor
JP2006113743A (en) * 2004-10-13 2006-04-27 Oki Techno Creation:Kk Information processing system, information processing method and information processing program
JP2007265056A (en) * 2006-03-29 2007-10-11 Juki Corp Configuration apparatus for programmable logistic device
JP2008015965A (en) * 2006-07-10 2008-01-24 Fuji Xerox Co Ltd Information processor, operation method of information processor, and program
JP2010066961A (en) * 2008-09-10 2010-03-25 Oki Electric Ind Co Ltd Method for guaranteeing activation of programmable logic circuit, and programmable logic circuit device thereof

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNG200900638003; 一ノ宮 佳裕 Yoshihiro ICHINOMIYA: 'SRAM型FPGAの部分再構成によるソフトコアプロセッサの高信頼化 Reliable Softcore Processor Usin' 電子情報通信学会論文誌 (J92-D) 第12号 THE IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS 第J92-D巻, 200912, 2105頁-2111頁, 社団法人電子情報通信学会 THE INSTITUTE OF ELECTRO *
CSNG201000080001; 甲斐 統貴 Noritaka KAI: 'SRAM型FPGAの部分再構成によるエラー訂正手法の一検討 A Case Study of Error Correction Techniq' 電子情報通信学会技術研究報告 Vol.109 No.320 IEICE Technical Report 第109巻, 200912, 第1頁-第5頁, 社団法人電子情報通信学会 The Institute of Electro *
JPN6014003289; 一ノ宮 佳裕 Yoshihiro ICHINOMIYA: 'SRAM型FPGAの部分再構成によるソフトコアプロセッサの高信頼化 Reliable Softcore Processor Usin' 電子情報通信学会論文誌 (J92-D) 第12号 THE IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS 第J92-D巻, 200912, 2105頁-2111頁, 社団法人電子情報通信学会 THE INSTITUTE OF ELECTRO *
JPN6014003289; 一ノ宮 佳裕: 'SRAM型FPGAの部分再構成によるソフトコアプロセッサの高信頼化' 電子情報通信学会論文誌 (J92-D) 第12号 第J92-D巻, 200912, 2105頁-2111頁, 社団法人電子情報通信学会 *
JPN6014003292; 甲斐 統貴 Noritaka KAI: 'SRAM型FPGAの部分再構成によるエラー訂正手法の一検討 A Case Study of Error Correction Techniq' 電子情報通信学会技術研究報告 Vol.109 No.320 IEICE Technical Report 第109巻, 200912, 第1頁-第5頁, 社団法人電子情報通信学会 The Institute of Electro *
JPN6014003292; 甲斐 統貴: 'SRAM型FPGAの部分再構成によるエラー訂正手法の一検討' 電子情報通信学会技術研究報告 Vol.109 No.320 第109巻, 200912, 第1頁-第5頁, 社団法人電子情報通信学会 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112082A1 (en) * 2013-01-17 2014-07-24 富士通株式会社 Programmable logic device
JP5500282B1 (en) * 2013-02-28 2014-05-21 日本電気株式会社 Fault repair device, fault repair method, and fault repair program
US9405612B2 (en) 2013-02-28 2016-08-02 Nec Corporation Fault repair apparatus, fault repair method and storage medium storing fault repair program
JP2015032860A (en) * 2013-07-31 2015-02-16 日本電気株式会社 Data correction circuit and data correction method
JP2015034236A (en) * 2013-08-09 2015-02-19 東洋製罐株式会社 Resin composition excellent in transparency and method for producing the same
JP2015201813A (en) * 2014-04-10 2015-11-12 株式会社日立製作所 Field programmable gate array
JP2015201814A (en) * 2014-04-10 2015-11-12 株式会社日立製作所 Field programmable gate array and electronic apparatus
WO2023162848A1 (en) * 2022-02-28 2023-08-31 三菱重工業株式会社 Control device, and control method

Also Published As

Publication number Publication date
JP5558269B2 (en) 2014-07-23

Similar Documents

Publication Publication Date Title
JP5558269B2 (en) Error correction circuit for programmable logic circuit
US9600366B1 (en) Error detection and correction circuitry
US7529992B1 (en) Configurable integrated circuit with error correcting circuitry
US8516339B1 (en) Method of and circuit for correcting adjacent bit errors in a memory
US8560927B1 (en) Memory error detection circuitry
EP1848001B1 (en) Soft error location and sensitivity detection for programmable devices
US7212448B1 (en) Method and apparatus for multiple context and high reliability operation of programmable logic devices
US7669097B1 (en) Configurable IC with error detection and correction circuitry
US8065574B1 (en) Soft error detection logic testing systems and methods
US8099625B1 (en) Self-checking and self-correcting internal configuration port circuitry
US10403387B2 (en) Repair circuit used in a memory device for performing error correction code operation and redundancy repair operation
JP5014899B2 (en) Reconfigurable device
JP6282482B2 (en) Programmable circuit device and configuration information restoration method
Kyriakoulakos et al. A novel SRAM-based FPGA architecture for efficient TMR fault tolerance support
US7266020B1 (en) Method and apparatus for address and data line usage in a multiple context programmable logic device
US7250786B1 (en) Method and apparatus for modular redundancy with alternative mode of operation
US8918706B1 (en) Methods and circuitry for performing parallel error checking
JP2020048022A (en) Semiconductor integrated circuit and reconfigurable semiconductor system
US7339816B1 (en) Soft error tolerance for configuration memory in programmable devices
US10417078B2 (en) Deterministic read back and error detection for programmable logic devices
JP6555359B2 (en) Reconfigurable circuit
Zarandi et al. Fast SEU detection and correction in LUT configuration bits of SRAM-based FPGAs
JP6326422B2 (en) Programmable logic device and logic integration tool
JP3139738B2 (en) Logic circuit
JP3895118B2 (en) Single event upset compensation circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140310

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140527

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140604

R150 Certificate of patent or registration of utility model

Ref document number: 5558269

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees