JP2013187699A - Fpga configuration processing control circuit - Google Patents
Fpga configuration processing control circuit Download PDFInfo
- Publication number
- JP2013187699A JP2013187699A JP2012050633A JP2012050633A JP2013187699A JP 2013187699 A JP2013187699 A JP 2013187699A JP 2012050633 A JP2012050633 A JP 2012050633A JP 2012050633 A JP2012050633 A JP 2012050633A JP 2013187699 A JP2013187699 A JP 2013187699A
- Authority
- JP
- Japan
- Prior art keywords
- fpga
- volatile memory
- data
- configuration
- construction
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Microcomputers (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
Description
本発明は、FPGAの自動的な再構成制御処理を実行可能として、信頼性の高いFPGAを提供するFPGA構成処理制御回路に関する。 The present invention relates to an FPGA configuration processing control circuit which can execute an automatic reconfiguration control processing of an FPGA and provides a highly reliable FPGA.
各種の制御回路等を、多数の同一構成又は異なる構成の論理回路やゲート回路等を含む回路素子を半導体基板上に形成して、回路素子内及び回路素子間の接続構成等を形成することにより、所望の処理機能を有する構成とするFPGA(Field Programmable Gate Array)は、既に各種の構成が提案され、且つ実用化されている。図11は、従来例のFPGA構成処理制御回路の要部を示し、101はFPGA、102は構築用処理部(CPLD;Complex Programmable Logic Device)、103は不揮発性メモリを示し、Power_ ONは動作電力供給、CRC_ ERRORはCRC(Cyclic Redundancy Check)によるエラー検出信号、re_ configはコンフィグレーション(Configuration)用マクロ104の再構築要求端子、resetはコンフィグレーション・スタートを指示する為のリセット端子を示す。
By forming various control circuits, etc. on a semiconductor substrate by including circuit elements including a large number of logic circuits and gate circuits having the same configuration or different configurations, and by forming a connection configuration in the circuit elements and between the circuit elements Various configurations of an FPGA (Field Programmable Gate Array) having a configuration having a desired processing function have already been proposed and put into practical use. 11 shows a main part of a conventional FPGA configuration processing control circuit, 101 is an FPGA, 102 is a processing unit (CPLD), 103 is a non-volatile memory, and Power_ON is operating power. Supply, CRC_ERROR is an error detection signal by CRC (Cyclic Redundancy Check), re_config is a reconfiguration request terminal of the
FPGA101は、半導体基板上に、複数の論理ブロックを例えば二次元配置構成として、ゲートや配線により相互間を接続設定可能の構成とし、論理ブロック内の構成や論理ブロック間の接続構成等を外部から設定制御することにより、所望の論理処理機能を有する構成とするものである。この従来例の図11に於いては、電源オンPower_ ONにより、コンフィグレーション用マクロ104を起動して、不揮発性メモリ103からFPGA101に対する構築用データとアドレスと制御信号等を含むデータを、FPGA101へ転送して、FPGA101の各部間の接続構成や処理機能等を設定する。又FPGA101に於けるCRCチェックエラーCRC_ ERROR検出により、コンフィグレーション用マクロ104に、再コンフィグレーション要求信号re_ configとして転送し、コンフィグレーション用マクロ104によりFPGA101の再構築処理を行う。正常終了時は、CPLD102をリセットし、FPGA101と切り離すか、又は接続状態を維持して運用し、エラー検出時に再構築処理を可能とすることもできる。
The FPGA 101 has a configuration in which a plurality of logical blocks are arranged on a semiconductor substrate, for example, in a two-dimensional arrangement, and can be connected to each other by gates and wirings. By performing setting control, a configuration having a desired logic processing function is obtained. In FIG. 11 of this conventional example, the
図12は、図11に示す構成に於ける従来例の動作説明図であり、コンフィグレーション動作と通常動作との概要を示す。同図に於いて、Power_ ONは電源オン、resetは電源オンによりコンフィグレーション用マクロ104をリセットして、コンフィグレーション・スタートとするリセット信号、データ方向は、FPGAに対するコンフィグレーション処理を行う場合の図11に於けるデータの転送方向を、(不揮発→FPGA)として、不揮発性メモリからFPGAへのデータ転送方向を示す。又INIT_ DONEはコンフィグレーション終了、CRC_ ERRORはエラー検出信号、re_ configはFPGAからのエラー検出信号CRC_ ERRORによるFPGA101の再構築の処理を示す。コンフィギュレーション開始により、不揮発性メモリからの構築用データをFPGAへ転送し、構築用データに従って内部構成を構築し、構築処理過程及び構築処理終了後のエラー検出信号(CRC_ ERROR)によって、FPGA101の再コンフィグレーションを行う。このような制御処理は、構築用データ格納部CPLDのコンフィグレーション用マクロの機能等によって行うことができる。
FIG. 12 is an operation explanatory diagram of the conventional example in the configuration shown in FIG. 11, and shows an outline of the configuration operation and the normal operation. In the same figure, Power_ON is a power-on, reset is a power-on to reset the
又FPGAは、半導体集積回路の微細化構成により大規模回路化すると共に、各種の処理機能を有する装置を比較的容易に構築可能である。このようなFPGAにより構成された各種の機能を有する処理装置に於いては、システム構築時や、システム運用中の障害発生に容易に対処可能の構成が要望されている。例えば、FPGAにより構成された装置部分の障害発生時に、複数のセル対応のルックアップテーブル(LUT;Look−Up Table)の修正処理等によって経路を変更した構成とし、障害発生ブロックに於ける休止状態の回路素子を利用可能とした再構築処理、及び休止ブロックによる障害発生ブロックの代替えによる再構築処理等によって、障害発生個所を切り離し、健全な回路素子による構成に修復する手段が提案されている(例えば、特許文献1参照)。又コンフィグレーション用データを格納するメモリを、メインメモリと、サブメモリとの複数個設けて、メインメモリによるFPGAの構築処理を行う時の処理時間を計測し、所定時間経過によっても処理が完了しないことを検出した場合、メインメモリ系統の障害発生と推定し、サブメモリに切替えることにより、このサブメモリによって、FPGAの構築処理を再度実行する手段も提案されている(例えば、特許文献2参照)。 The FPGA can be made large-scale by the miniaturization of the semiconductor integrated circuit, and a device having various processing functions can be constructed relatively easily. In a processing apparatus having various functions constituted by such an FPGA, there is a demand for a configuration that can easily cope with occurrence of a failure during system construction or system operation. For example, when a failure occurs in a device part constituted by an FPGA, the route is changed by a modification process of a lookup table (LUT: Look-Up Table) corresponding to a plurality of cells, and a dormant state in the failure occurrence block There are proposed means for isolating the fault location and restoring it to a sound circuit element configuration by a reconstruction process in which the circuit element can be used and a rebuild process by replacing the faulty block with a pause block ( For example, see Patent Document 1). In addition, a plurality of memories for storing configuration data, a main memory and a sub memory, are provided to measure the processing time when the FPGA is constructed by the main memory, and the processing is not completed even if a predetermined time elapses. If this is detected, it is estimated that a failure of the main memory system has occurred, and switching to the sub memory is performed, and means for executing the FPGA construction process again by using this sub memory is also proposed (for example, see Patent Document 2). .
FPGAによる所望の機能を有する構成を構築する時に、外来ノイズ等の影響によるエラー発生や、不揮発メモリに格納した構築用データのビット化けによるエラー発生があると、再度構築処理を最初から実行することになる。しかし、外来ノイズ等による一時的な外部からの影響を受けた場合のエラー発生は、再構築処理によって正常終了とすることができるが、不揮発性メモリに格納されたFPGAの構築用データにエラーが含まれている場合は、再構築処理を繰り返しても、正常終了とならない問題がある。又正常終了した場合でも、宇宙線等の外来ノイズの影響による構築用メモリのデータのビット化け等によって、その後の再構築処理時にはエラー発生となる問題がある。又前述の特許文献1に於いては、セル対応に機能又は経路変更を可能とし、障害発生部分の代替可能機能を再構築可能とするものであって、FPGAの再構成の上位概念を示すとしても、FPGAの再構成の自動化及び信頼性の向上の為の手段については開示されていない。又前述の特許文献2に於いては、コンフィグレーションメモリを複数設けて冗長化構成とした場合を示すものであり、単なる二重化構成を示すものである。
When constructing a configuration having a desired function by FPGA, if an error occurs due to the influence of external noise or the like, or an error occurs due to garbled construction data stored in the nonvolatile memory, the construction process is executed again from the beginning. become. However, the occurrence of an error when it is temporarily affected by external noise due to external noise or the like can be terminated normally by the reconstruction process, but there is an error in the FPGA construction data stored in the nonvolatile memory. If it is included, there is a problem that normal termination does not occur even if the reconstruction process is repeated. Even when the process is normally completed, there is a problem that an error occurs during the subsequent restructuring process due to the garbled data in the memory for construction due to the influence of external noise such as cosmic rays. In the above-mentioned
本発明は、前述の従来例の問題点を解決するもので、揮発性メモリと複数の不揮発性メモリとを、FPGAのコンフィグレーション用として設け、FPGA構築用データに対する外来雑音等によるエラー発生等の影響を回避可能として、且つ長期間の運用を行っても、FPGAの高信頼性を維持可能とするものである。 The present invention solves the above-mentioned problems of the conventional example. A volatile memory and a plurality of non-volatile memories are provided for FPGA configuration, and errors such as external noise caused by FPGA construction data are generated. This makes it possible to avoid the influence and maintain high reliability of the FPGA even after long-term operation.
本発明のFPGA構成処理制御回路は、FPGA(Field Programmable Gate Array)の構築処理を実行するFPGA構成処理制御回路であって、前記FPGAの構築用データをそれぞれ格納した複数の不揮発性メモリと、該複数の不揮発性メモリの中の選択された不揮発性メモリから転送されたデータを格納する揮発性メモリと、前記複数の不揮発性メモリを選択するセレクタと、該セレクタにより選択された不揮発性メモリから前記揮発性メモリに転送するFPGA構築用データのエラーチェックを行うチェック部と、前記揮発性メモリから前記FPGAに前記FPGA構築用データを転送して前記FPGAの構築処理を行うコンフィグレーション用マクロと、前記チェック部による前記FPGA構築用データのエラー検出時に、他の前記不揮発性メモリを選択切替制御してFPGA構築用データを前記揮発性メモリに転送制御する制御部とを含む構築用処理部とを備えている。 An FPGA configuration processing control circuit according to the present invention is an FPGA configuration processing control circuit that executes FPGA (Field Programmable Gate Array) construction processing, and includes a plurality of nonvolatile memories each storing the construction data of the FPGA, A volatile memory that stores data transferred from a selected nonvolatile memory among a plurality of nonvolatile memories, a selector that selects the plurality of nonvolatile memories, and the nonvolatile memory selected by the selector A check unit that performs error checking of FPGA construction data to be transferred to the volatile memory, a configuration macro that transfers the FPGA construction data from the volatile memory to the FPGA, and performs the FPGA construction processing; Data for FPGA construction by the check unit Upon error detection, and a structuring unit that selects the switching control other of the non-volatile memory and a control unit for controlling transfer of data for FPGA build in the volatile memory.
又前記構築用処理部は、前記セレクタにより選択切替えした前記不揮発性メモリから前記揮発性メモリに前記FPGA構築用データを転送し、前記チェック部により前記FPGA構築用データのエラー検出時に、前記セレクタにより他の前記不揮発性メモリに切替えて、該不揮発性メモリに格納された全アドレスの前記FPGA構築用データを前記揮発性メモリに転送して上書き処理する構成を有するものである。 The construction processing unit transfers the FPGA construction data from the non-volatile memory selected and switched by the selector to the volatile memory. When the check unit detects an error in the FPGA construction data, the construction processing unit transfers the FPGA construction data. By switching to another nonvolatile memory, the FPGA construction data of all addresses stored in the nonvolatile memory is transferred to the volatile memory and overwritten.
前記構築用処理部は、前記不揮発性メモリから前記揮発性メモリに前記FPGA構築用データを転送し、前記チェック部による前記FPGA構築用データのエラー検出時に、前記セレクタにより他の前記不揮発性メモリに切替えて、前記エラー検出のアドレス対応のデータのみを前記揮発性メモリに転送し、該揮発性メモリの前記FPGA構築用データに対する上書き処理を行う構成を有するものである。 The construction processing unit transfers the FPGA construction data from the nonvolatile memory to the volatile memory, and when the error is detected in the FPGA construction data by the check unit, it is transferred to another nonvolatile memory by the selector. In this configuration, only the data corresponding to the error detection address is transferred to the volatile memory, and the FPGA construction data in the volatile memory is overwritten.
前記構築用処理部は、前記FPGAの構築処理完了後に、前記複数の不揮発性メモリを順次切替えて、前記FPGA構築用データを前記揮発性メモリに転送し、且つ前記チェック部によりチェックする処理を繰り返して、前記複数の不揮発性メモリの正常性をチェックする構成を有するものである。 The construction processing unit, after completion of the FPGA construction process, sequentially switches the plurality of non-volatile memories, transfers the FPGA construction data to the volatile memory, and repeats the process of checking by the check unit Thus, the normality of the plurality of nonvolatile memories is checked.
前記構築用処理部は、前記FPGAの構築処理完了後のエラー発生時に、前記揮発性メモリに記憶させた前記FPGA構築用データによる再構築処理を行い、該再構築処理によってもエラー発生の時に、前記揮発性メモリに対して、前記複数の不揮発性メモリの一つを選択して、該不揮発性メモリに格納した前記FPGA構築用データによって、前記FPGAの構築処理を行う構成を有するものである。 The building processing unit performs a rebuilding process using the FPGA building data stored in the volatile memory when an error occurs after the FPGA building process is completed, and when the error occurs due to the rebuilding process, For the volatile memory, one of the plurality of nonvolatile memories is selected, and the FPGA construction processing is performed by the FPGA construction data stored in the nonvolatile memory.
FPGA構築用データを、複数の不揮発性メモリに記憶させて、その中の選択した不揮発性メモリから揮発性メモリにFPGA構築用データを転送すると共に、FPGA構築用データの正常性をチェックし、エラーがなければ、揮発性メモリからFPGAに構築用データを転送してFPGAの構築処理を実行し、エラー検出時は、他の不揮発性メモリに切替えて、揮発性メモリにFPGA構築用データを転送して、エラーがない場合のみ、FPGA構築処理を実行することにより、FPGAの信頼性向上を図り、FPGA構築後も、不揮発性メモリに記憶させたFPGA構築用データを揮発性メモリに転送すると共に、正常性をチェックすることを繰り返すことにより、長期間に亘り、FPGA構築用データの信頼性を維持可能とする。 Store FPGA construction data in multiple non-volatile memories, transfer the FPGA construction data from the selected non-volatile memory to the volatile memory, check the normality of the FPGA construction data, and error If there is not, the construction data is transferred from the volatile memory to the FPGA, and the FPGA construction processing is executed. When an error is detected, the construction data is switched to another nonvolatile memory and the FPGA construction data is transferred to the volatile memory. Then, only when there is no error, the FPGA construction process is executed to improve the reliability of the FPGA. After the FPGA construction, the FPGA construction data stored in the non-volatile memory is transferred to the volatile memory. By repeatedly checking the normality, the reliability of the FPGA construction data can be maintained over a long period of time.
本発明のFPGA構成処理制御回路は、図1を参照すると、FPGA1(Field Programmable Gate Array)の構築処理を実行するFPGA構成処理制御回路であって、前記FPGA1の構築用データをそれぞれ格納した複数の不揮発性メモリ3−0,3−1と、これらの不揮発性メモリ3−0,3−1の中の選択された不揮発性メモリから転送されたデータを格納する揮発性メモリ2と、複数の不揮発性メモリ3−0,3−1を選択するセレクタ8と、このセレクタ8により選択された不揮発性メモリから前記揮発性メモリ2に転送するFPGA構築用データのエラーチェックを行うチェック部7と、前記揮発性メモリ2から前記FPGA1に前記FPGA構築用データを転送して前記FPGAの構築処理を行うコンフィグレーション用マクロ5と、前記チェック部7による前記FPGA構築用データのエラー検出時に、他の不揮発性メモリを選択切替制御してFPGA構築用データを前記揮発性メモリ2に転送制御する制御部6とを含む構築用処理部4とを備えている。
Referring to FIG. 1, the FPGA configuration processing control circuit according to the present invention is an FPGA configuration processing control circuit that executes construction processing of an FPGA 1 (Field Programmable Gate Array), and stores a plurality of construction data for the
図1は、本発明の実施例1の説明図であり、1はFPGA(Field Programmable Gate Array)、2は揮発性メモリ、3−0,3−1は不揮発性メモリ、4はプログラム可能の論理制御部(CPLD;Complex Programmable Logic Device)、5はコンフィグレーション用マクロ、6は制御部、7はチェック部、8はセレクタ(SEL)を示し、論理制御部4の制御部6は、電源オン(Power_ ON)により、不揮発性メモリ3−0,3−1の読出制御/コンフィグレーション制御(不揮発0/1の読出制御/Config制御)及びセレクタ8の制御を行う構成を有し、セレクタ8を制御して、不揮発性メモリ3−0,3−1の選択切替えを行う。これらの不揮発性メモリ3−0,3−1は、更に多数設けて、それぞれに同一のコンフィグレーション用のデータを格納した構成とすることも可能であるが、2個の不揮発性メモリ3−0,3−1を設けた場合について説明する。
FIG. 1 is an explanatory diagram of
又チェック部7は、セレクタ8により選択接続した不揮発性メモリ3−0,3−1の何れか一方のアドレス毎に、(Address毎のCheck Sumのチェック)として示すようにチェックを行い、チェックエラー(Check Sum_ ERROR)が存在すると、制御部6へ通知する。制御部6は、セレクタ8を制御して、不揮発性メモリ3−0,3−1の一方から他方へ切替えて、揮発性メモリ2に再度FPGA1構築用のデータを転送する。この場合も、チェック部7によりデータをチェックし、エラーがなければ、制御部6は、コンフィグレーション用マクロ5の制御により、揮発性メモリ2からFPGA1に対して構築用のデータを転送して、FPGA1の構築処理を実行する。本発明に於いては、前述のように、2個の不揮発性メモリ3−0,3−1を設けた場合の実施例1を示すものであるが、これらの不揮発性メモリは、3個以上の複数個とすることも可能であり、エラー検出時には、複数の不揮発性メモリを順番に選択し、その選択した不揮発性メモリから揮発性メモリ2に、FPGA構築用のデータを転送し、且つデータチェックを行う構成とすることも可能である。
Also, the
図2は、本発明の実施例1の処理説明図であり、図1に於ける記号と対応した状態を示すもので、Power_ ONは論理制御部(以下、図1に示す「CPLD」と称する)4に対する電源オンの状態を示す。なお、FPGA1にも動作電源を供給するON状態とする。又SELは、セレクタ8による不揮発性メモリ3−0,3−1の選択状態(不揮発0→揮発は、不揮発性メモリ3−0から揮発性メモリ2に対するデータ転送方向を示し、又不揮発1→揮発は、不揮発性メモリ3−1から揮発性メモリ2に対するデータ転送方向を示す)。又Check Sum_ ERRORは、チェック部7によるチェック結果のエラー(Error)の有無を示す。又データ方向は、コンフィグレーション用データの転送方向(揮発→FPGA;揮発性メモリ2からFPGA1に対するデータ転送方向)を示し、resetは制御部6からコンフィグレーション用マクロ5に加えてFPGA1のコンフィグレーション・スタートの為のリセット信号、INIT_ DONEはコンフィグレーション完として示す完了信号、CRC_ ERRORはCRCエラー信号で、No Errorはエラーなしを示す。又re_ configは制御部6からコンフィグレーション用マクロ5に対する再構成処理の要求信号を示し、図2に於いてはこの要求信号がない場合を示す。
FIG. 2 is an explanatory diagram of processing according to the first embodiment of the present invention, and shows a state corresponding to the symbol in FIG. 1. Power_ON is a logic control unit (hereinafter referred to as “CPLD” shown in FIG. 1). ) Indicates the power-on state for 4. Note that the operation power is also supplied to the
電源オンPower_ ONによる不揮発データコピーの期間と、その後のコンフィグレーションの期間と、コンフィグレーション完了後の通常動作との期間とに分けて示し、不揮発データコピーの期間は、先ず、電源オンPower_ ONとし、セレクタ8により不揮発性メモリ3−0を選択して、(不揮発0→揮発)として示すように、不揮発性メモリ3−0を選択して、揮発性メモリ2にデータを転送する。その転送過程に於いて、チェック部7によりチェックし、Error検出となった場合、全アドレスのデータ転送時もチェックを行い、その後に、制御部6によってセレクタ8を制御して、(不揮発1→揮発)として示すように、一方の不揮発性メモリ3−0から他方の不揮発性メモリ3−1に切替えて、揮発性メモリ2に対してコンフィグレーション用のデータを転送し、その場合もチェック部7によるチェックを行い、Error検出がなかった場合は、リセット信号(reset)をオンとして、コンフィグレーション・スタートとする。
It is divided into a nonvolatile data copy period by power-on Power_ON, a subsequent configuration period, and a normal operation period after the configuration is completed. The nonvolatile data copy period is first set to power-on Power_ON. Then, the non-volatile memory 3-0 is selected by the
そして、揮発性メモリ2から、コンフィグレーション用マクロ5の制御によってFPGA1にデータを転送し、FPGA1の所望の処理機能の構築が終了すると、完了信号INIT_ DONEによって、コンフィグレーション完とし、その後、CRC_ ERRORが検出されなかった場合の通常動作に於いて、セレクタSELは、不揮発1→不揮発0として示すように、不揮発データコピーの期間にエラー検出があった不揮発性メモリ3−0に対して、エラー検出がなかった不揮発性メモリ3−1から全アドレスのデータを転送し、その転送過程に於いて、チェック部7によりチェックして、コンフィグレーション用のデータの正常性の確認を行い、正常の場合は、不揮発0→揮発、・・・不揮発1→揮発として示すように、不揮発性メモリ3−0,3−1の全アドレスのデータを、揮発性メモリ2へ交互に転送し、その転送過程に於いて、チェック部7によりチェックを繰り返す。従って、FPGA1の再構築時に於けるコンフィグレーション用データの正常性を確保し、信頼性向上を図ることができる。なお、不揮発性メモリを更に多数設けた場合も同様に、順次選択した不揮発性メモリの全アドレスのコンフィグレーション用データを揮発性メモリへ転送し、チェック部7により正常性の確認を行うことになる。
Then, data is transferred from the
図3は、本発明の実施例2の処理説明図であり、図2と同一符号は同一名称又は同一内容に対応し、電源オンPower_ ONによる不揮発データコピーとコンフィグレーションと通常動作との期間の不揮発データコピーの期間に於いて、セレクタSEL(図1に於けるセレクタ8)により、不揮発0→揮発として示すように、セレクタSEL(セレクタ(SEL)8)により不揮発性メモリ3−0を選択して、不揮発性メモリ3−0から揮発性メモリ2にデータを転送し、チェック部7により、Errorとして示すように、チェックサムエラーCheck Sum_ ERRORを検出した場合、エラー検出があったデータのアドレスと同一のアドレスのデータのみを、不揮発性メモリ3−1から読出して、揮発性メモリ2へ(不揮発1→揮発)として示すように転送する。そして、その転送処理過程に於いてエラー検出がなければ、コンフィグレーション・スタートにより、揮発性メモリ2からのデータによるFPGA1の構築が行われ、コンフィグレーション完了により、正常であった不揮発性メモリ3−1からエラー検出があった不揮発性メモリ3−0に、全アドレスのデータをコピーして修復し、その後は、図2に示す通常動作の期間と同様に、不揮発性メモリ3−0から揮発性メモリ2へデータを転送し、且つエラーの有無をチェック部7によりチェックし、正常ならば、不揮発性メモリ3−1に切り替えて、同様なチェックを行うことを繰り返す。従って、不揮発データコピーの期間に於けるエラー処理時間を短縮することができる。又コンフィグレーション完了後は、不揮発性メモリ3−0,3−1に保持しているコンフィグレーション用のデータの正常性を繰り返し確認するものであるから、FPGA1運用中の障害発生等による再構築処理時の信頼性を向上することができる。
FIG. 3 is an explanatory diagram of processing of the second embodiment of the present invention. The same reference numerals as those in FIG. 2 correspond to the same names or the same contents, and the period of nonvolatile data copy, configuration, and normal operation by power-on Power_ON. During the nonvolatile data copy period, the selector SEL (
図4は、本発明の実施例3の処理説明図であり、図2及び図3と同一符号は同一名称部分を示し、不揮発データコピー、コンフィグレーション、通常動作の処理過程に於いて、図1を参照して説明すると、FPGA1のコンフィグレーション完了後、制御部6によりセレクタ8を制御し、待機中の不揮発性メモリ3−0,3−1の何れか一方をセレクタ8により選択し、その選択した不揮発性メモリからデータを読出して、チェック部7によりアドレス対応のデータのチェックサムによるエラーチェックを行い、エラーが検出されない場合は、セレクタ8により他方の不揮発性メモリを選択し、選択した不揮発性メモリからデータを読出して、チェック部7によりエラーチェックを行い、エラーが検出されない場合は、再度不揮発性メモリの選択による読出しとエラーチェックとを繰り返す。そして、CheckSum Error検出が、不揮発1→揮発として示す不揮発性メモリ3−1から読出したデータのエラー検出時に、不揮発0→不揮発1として示すように、エラー検出時のアドレスのデータを、不揮発性メモリ3−0から読出して、不揮発性メモリ3−1のエラー発生のアドレスに上書きして、正常なデータに修復する。それによって、不揮発性メモリ3−0,3−1のデータを常に正常な状態に維持し、FPGA1の再構築処理時の信頼性向上を図ることができる。
FIG. 4 is a process explanatory diagram of Embodiment 3 of the present invention. The same reference numerals as those in FIGS. 2 and 3 denote the same name portions, and in the process of nonvolatile data copy, configuration, and normal operation, FIG. When the configuration of the
図5は、前述の本発明の実施例3の要部フローチャートを示すもので、FPGAの構築時の処理過程の要部を示し、図1及び図4を参照して説明すると、FPGA1のコンフィグレーション終了後に、CPLD4の制御部6の制御により、不揮発0→揮発コピー(a1)として示すように、不揮発性メモリ3−0からデータを読出して揮発性メモリ2に書込みを行う。図4に於いては、不揮発0→揮発(a1)として示す。そして、チェック部7によりチェックし、Check Sumエラー無し(a2)の場合は、不揮発性メモリ3−1に切替えて、不揮発1→揮発コピー(a3)、即ち、不揮発性メモリ3−1からデータを読出して、揮発性メモリ2に書込み、チェック部7によりチェックし、Check Sumエラー有り(a4)の場合は、不揮発性メモリ3−1のデータを修復する為に、不揮発0→不揮発1コピー(a5)により、(不揮発1修復)として示すように、不揮発性メモリ3−1のデータを修復し、この修復した不揮発性メモリ3−1のデータを揮発性メモリ2にコピーして(a6)、(揮発修復)として示すように、不揮発性メモリ3−1から揮発性メモリ2にコピーしたデータの修復を行い、Check Sumによるエラーの有無を判定し、エラー無し(a7)により、次の不揮発0→揮発コピー(a8)の処理により、不揮発性メモリ3−0の正常性チェックを行う。このような処理を繰り返すことによって、不揮発性メモリ3−0,3−1に格納したFPGA1の構築用データの正常性の確認を継続することが可能となり、長期間の運用中の再構築によっても、高信頼性のFPGAを提供することができる。
FIG. 5 is a flowchart showing the main part of the third embodiment of the present invention described above. FIG. 5 shows the main part of the process during the construction of the FPGA. With reference to FIGS. 1 and 4, the configuration of the
図6は、本発明の実施例4の処理説明図であり、FPGAのコンフィグレーション処理終了後にエラー(CRC_ ERROR)検出があった場合の処理について示し、不揮発データコピー、コンフィグレーション、通常動作等の繰り返しが行われる場合を示す。前述の図1に示す構成も参照すると、Power_ ONにより、CPLD4のセレクタ8(SEL)により不揮発0→揮発として示すように、不揮発性メモリ3−0を選択してデータを揮発性メモリ2へ転送し、チェック部7によるCheck Sum_ ERRORがない場合(No ERROR)、コンフィグレーション・スタートとし、揮発→FPGAとして示すように、揮発性メモリ2からFPGA1へデータを転送し、総てのデータにエラーがなければ、コンフィグレーション完了となる。そして、通常動作時に、FPGA1に於けるエラー発生としてのCRC_ ERROR検出(Error)の場合は、再コンフィグレーション(re_ config)を行う。この場合のエラーは、揮発性メモリ2のデータ異常ではなく、FPGA1内のノイズ等による影響による場合が殆んどであるから、揮発性メモリ2に保持しているデータをFPGA1へ転送(揮発→FPGA)して、FPGA1の再構築処理を行う。しかし、揮発性メモリ2が破損していると、再コンフィグレーション(re−config)を実行しても、再度CRC_ ERRORを検出する。この場合、先ず、不揮発性メモリ3−0から揮発性メモリ2にデータをコピーし、チェック部7によりエラーのないことを確認してから、揮発性メモリ2のデータをFPGA1に転送し、FPGA1の再構築処理を行う。通常処理時に、CRC_ ERRORを検出し、更に揮発性メモリ2が破損しても、正常な不揮発性メモリ3−0,3−1により、高い信頼性を提供することができる。
FIG. 6 is an explanatory diagram of processing according to the fourth embodiment of the present invention, showing processing when an error (CRC_ERROR) is detected after completion of FPGA configuration processing, such as nonvolatile data copy, configuration, normal operation, etc. The case where repetition is performed is shown. Referring also to the configuration shown in FIG. 1 described above, by selecting Power_ON, the nonvolatile memory 3-0 is selected by the selector 8 (SEL) of the
図7は、本発明の実施例4の要部フローチャートであり、FPGA構築後の通常動作時に於いて(b1)、FPGA1からのCRC_ ERRORによるエラー有りの通知により(b2)、再コンフィグレーションを開始する(b3)。再度CRC_ ERROR有り(b4)の場合、(揮発エラー)として示すように、揮発性メモリ2のデータエラーとして、不揮発0→揮発コピー(揮発修復)(b4)として示すように、不揮発性メモリ3−0から揮発性メモリ2へデータをコピーして、揮発性メモリ2に対するデータ修復を行って、再コンフィグレーションを行う(b6)。それによって、FPGA1からのCRC_ ERRORエラー無し(b7)の状態となるから、通常動作(b8)に移行することができる。
FIG. 7 is a main part flowchart of the fourth embodiment of the present invention. In normal operation after building the FPGA (b1), the
図8は、本発明の実施例5の処理説明図であり、図1の構成を参照して説明する。不揮発データコピー、コンフィグレーション、通常動作の期間の繰り返しの状態に於いて、Power_ ON、SEL(セレクタ8の状態)、Check Sum_ ERROR(チェック部7による処理)、データ方向(構築処理用のデータの転送方向)、resetは、制御部6からコンフィグレーション用マクロ5に、コンフィグレーション・スタートを通知する信号、INIT_ DONEはコンフィグレーション完通知信号、CRC_ ERRORは、FPGAに於けるエラー信号、re_ configは、再コンフィグレーション信号を示す。FPGA1のコンフィグレーション処理完了後に、FPGA1に於いてCRC_ ERROR検出時に、電源オンPower_ ON時と同様に、不揮発0→揮発として示すように、セレクタ8(SEL)により選択した例えば不揮発性メモリ3−0から揮発性メモリ2にデータをコピーし、チェック部7によりチェックし、エラーがなければ、データ方向の揮発→FPGAとして示すように、コンフィグレーション・スタートとし、エラーがなければ、コンフィグレーション完となる。この実施例5に於いては、揮発性メモリ2に比較して、不揮発性メモリ3−0,3−1の格納データの信頼性が高いことから、FPGA1の再構築処理を迅速且つ信頼性を維持して実行することができる。
FIG. 8 is a process explanatory diagram of the fifth embodiment of the present invention, and will be described with reference to the configuration of FIG. Power_ON, SEL (
図9は、本発明の実施例5の要部フローチャートを示し、FPGAの通常動作状態に於いて(c1)、CRC_ ERRORエラー有りとして示すエラー検出があると(c2)、不揮発0→揮発コピー(揮発修復)(c3)として、例えば、不揮発性メモリ3−0から揮発性メモリ2にデータをコピーして、前に揮発性メモリ2にエラーが含まれているとしても、それを修復した状態として、再コンフィグレーションを行う(c4)。この再コンフィグレーションにより、CRC_ ERROR無しの状態となると(c5)、FPGA1は通常動作に復帰することができる(c6)。
FIG. 9 is a flowchart showing the main part of the fifth embodiment of the present invention. In the normal operation state of the FPGA (c1), if there is an error detection indicating that there is a CRC_ERROR error (c2), nonvolatile 0 → volatile copy ( Volatile repair) (c3), for example, when data is copied from the non-volatile memory 3-0 to the
図10は、前述の実施例5を含む前述の各実施例に於ける正常時の処理説明図を示すもので、前述の各処理説明図に於ける符号と同一の符号は同一名称部分及びデータ等の信号を示し、不揮発データコピー、コンフィグレーション、通常動作の期間に於けるPower_ ON、SEL、Check_ Sum_ ERROR、データ方向、reset、INIT_ DONE、CRC_ ERROR、re_ conigについて示す。又図1を参照して説明すると、電源供給開始のPower_ ONにより、セレクタ7(SEL)は、不揮発0→揮発として示す不揮発性メモリ3−0から揮発性メモリ2にデータを転送し、チェック部7によるチェックを行って、エラー無しの場合(No Error)、揮発→FPGAとして示すように、コンフィグレーション・スタートとして示すように、揮発性メモリ2からFPGA1にデータを転送し、FPGA1に於けるCRC_ ERROR無し(No Error)の場合、コンフィグレーション完となり、FPGA1は通常動作に移行することが可能となり、その場合の通常動作中に、不揮発0→揮発及び不揮発1→揮発として示すように、不揮発性メモリ3−0から揮発性メモリ2にデータを転送して書込むと共に、チェック部7によりチェックサム等によりチェックを行い、次に不揮発性メモリ3−1から揮発性メモリ2にデータを転送して、チェックを行うことを周期的に繰り返す。
FIG. 10 is a diagram for explaining normal processing in each of the above-described embodiments including the above-described fifth embodiment. The same reference numerals as those in the above-described processing explanation diagrams indicate the same name portion and data. The non-volatile data copy, configuration, Power_ON, SEL, Check_Sum_ERROR, data direction, reset, INIT_DONE, CRC_ERROR, and re_conig during normal operation. Referring to FIG. 1, when Power_ON is started to supply power, the selector 7 (SEL) transfers data from the nonvolatile memory 3-0, which is indicated as nonvolatile 0 → volatile, to the
1 FPGA(Field Programmable Gate Array)
2 揮発性メモリ
3−0,3−1 不揮発性メモリ
4 CPLD(Complex Programmable Logic Device)
5 コンフィグレーション用マクロ
6 制御部
7 チェック部
8 セレクタ(SEL)
1 FPGA (Field Programmable Gate Array)
2 Volatile memory 3-0, 3-1
5
Claims (5)
前記FPGAの構築用データをそれぞれ格納した複数の不揮発性メモリと、
該複数の不揮発性メモリの中の選択された不揮発性メモリから転送されたデータを格納する揮発性メモリと、
前記複数の不揮発性メモリを選択するセレクタと、該セレクタにより選択された不揮発性メモリから前記揮発性メモリに転送するFPGA構築用データのエラーチェックを行うチェック部と、前記揮発性メモリから前記FPGAに前記FPGA構築用データを転送して前記FPGAの構築処理を行うコンフィグレーション用マクロと、前記チェック部による前記FPGA構築用データのエラー検出時に、他の前記不揮発性メモリを選択切替制御してFPGA構築用データを前記揮発性メモリに転送制御する制御部とを含む構築用処理部と
を備えたことを特徴とするFPGA構成処理制御回路。 In an FPGA configuration processing control circuit that executes construction processing of an FPGA (Field Programmable Gate Array),
A plurality of nonvolatile memories each storing the construction data of the FPGA;
A volatile memory storing data transferred from a selected non-volatile memory of the plurality of non-volatile memories;
A selector that selects the plurality of nonvolatile memories; a check unit that performs error checking of FPGA construction data transferred from the nonvolatile memory selected by the selector to the volatile memory; and the volatile memory to the FPGA. A configuration macro for transferring the FPGA construction data and performing the FPGA construction processing, and an FPGA construction by selectively switching other nonvolatile memories when the check unit detects an error in the FPGA construction data An FPGA configuration processing control circuit comprising: a construction processing unit including a control unit that controls transfer of data to the volatile memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012050633A JP2013187699A (en) | 2012-03-07 | 2012-03-07 | Fpga configuration processing control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012050633A JP2013187699A (en) | 2012-03-07 | 2012-03-07 | Fpga configuration processing control circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013187699A true JP2013187699A (en) | 2013-09-19 |
Family
ID=49388783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012050633A Pending JP2013187699A (en) | 2012-03-07 | 2012-03-07 | Fpga configuration processing control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013187699A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015068285A1 (en) * | 2013-11-08 | 2015-05-14 | 株式会社日立製作所 | Programmable device and electronic system device using same |
JP2015201814A (en) * | 2014-04-10 | 2015-11-12 | 株式会社日立製作所 | Field programmable gate array and electronic apparatus |
WO2016110968A1 (en) * | 2015-01-07 | 2016-07-14 | 株式会社日立製作所 | Programmable device, control apparatus using same, and failure countermeasure method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214890A (en) * | 1993-01-14 | 1994-08-05 | Mitsubishi Electric Corp | Computer |
JPH0962528A (en) * | 1995-08-23 | 1997-03-07 | Fujitsu Ltd | Self-recovering device |
JP2006157482A (en) * | 2004-11-30 | 2006-06-15 | Fujitsu Ltd | Programmable logic device, information processor, and method for controlling programmable logic 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 |
-
2012
- 2012-03-07 JP JP2012050633A patent/JP2013187699A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214890A (en) * | 1993-01-14 | 1994-08-05 | Mitsubishi Electric Corp | Computer |
JPH0962528A (en) * | 1995-08-23 | 1997-03-07 | Fujitsu Ltd | Self-recovering device |
JP2006157482A (en) * | 2004-11-30 | 2006-06-15 | Fujitsu Ltd | Programmable logic device, information processor, and method for controlling programmable logic 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 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015068285A1 (en) * | 2013-11-08 | 2015-05-14 | 株式会社日立製作所 | Programmable device and electronic system device using same |
JP2015201814A (en) * | 2014-04-10 | 2015-11-12 | 株式会社日立製作所 | Field programmable gate array and electronic apparatus |
WO2016110968A1 (en) * | 2015-01-07 | 2016-07-14 | 株式会社日立製作所 | Programmable device, control apparatus using same, and failure countermeasure method |
JPWO2016110968A1 (en) * | 2015-01-07 | 2017-04-27 | 株式会社日立製作所 | Programmable device, control device using the same, and failure countermeasure method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5660798B2 (en) | Information processing device | |
US9300298B2 (en) | Programmable logic circuit using three-dimensional stacking techniques | |
EP2492917B1 (en) | Error detection and correction circuitry | |
JP6282482B2 (en) | Programmable circuit device and configuration information restoration method | |
JP5014899B2 (en) | Reconfigurable device | |
JP4456552B2 (en) | LOGIC INTEGRATED CIRCUIT HAVING DYNAMIC SUBSTITUTION FUNCTION, INFORMATION PROCESSING DEVICE USING SAME, AND DYNAMIC SUBSTITUTION METHOD FOR LOGIC INTEGRATED CIRCUIT | |
JP5506908B2 (en) | Fault tolerance in integrated circuits. | |
JP5558269B2 (en) | Error correction circuit for programmable logic circuit | |
JP6290934B2 (en) | Programmable device, error holding system, and electronic system apparatus | |
JP2009140353A (en) | Reconfigurable integrated circuit and self-repair system using the same | |
CN109491821A (en) | Primary particle inversion resistant hardened system and method | |
JP5421152B2 (en) | Semiconductor integrated circuit | |
JP2013125513A (en) | Nonvolatile semiconductor memory device and management method therefor | |
JP6175788B2 (en) | Electronic devices that can update microprograms | |
JP2013187699A (en) | Fpga configuration processing control circuit | |
JP2005235074A (en) | Software error correction method of fpga | |
WO2015068285A1 (en) | Programmable device and electronic system device using same | |
Miculka et al. | Generic partial dynamic reconfiguration controller for transient and permanent fault mitigation in fault tolerant systems implemented into fpga | |
JP2012204898A (en) | Fpga, and circuit reconfiguration system, method and program using fpga | |
KR101137771B1 (en) | Self-repairable digital circuit system and digital circuit self-repairing method inspired from endocrine cellular communication | |
JP3139738B2 (en) | Logic circuit | |
KR20150116957A (en) | Semiconductor device and operation methode for the same | |
JP7567399B2 (en) | Information processing device and information processing method | |
JP2015001774A (en) | Semiconductor integrated circuit and processing method thereof | |
JP7268826B1 (en) | Restoration device and restoration method in triple redundant circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141028 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150203 |