JP2013187699A - Fpga configuration processing control circuit - Google Patents

Fpga configuration processing control circuit Download PDF

Info

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
Application number
JP2012050633A
Other languages
Japanese (ja)
Inventor
Satoshi Fukutomi
聡 福富
Yoshiaki Shibayama
義明 柴山
Terubumi Kitajima
光史 北島
Hiroshi Otsuka
洋 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Telecom Networks Ltd
Original Assignee
Fujitsu Telecom Networks Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Telecom Networks Ltd filed Critical Fujitsu Telecom Networks Ltd
Priority to JP2012050633A priority Critical patent/JP2013187699A/en
Publication of JP2013187699A publication Critical patent/JP2013187699A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a high reliability FPGA configuration processing control circuit for configuring an FPGA.SOLUTION: The FPGA configuration processing control circuit for executing an FPGA configuration process includes: a plurality of nonvolatile memories 3-0, 3-1 storing FPGA configuration data; a volatile memory 2 for storing the data from one nonvolatile memory selected by a selector 8; and a configuration processing section 4 including the selector 8 for selecting one from the plurality of nonvolatile memories, a check section 7 for performing an error check on the FPGA configuration data transferred from the selected nonvolatile memory to the volatile memory, a configuration macro 5 for transferring the configuration data from the volatile memory 2 to an FPGA 1 to perform the configuration process, and a control section 6 for, if the check section 7 detects an error in the FPGA configuration data, alternatively selecting another nonvolatile memory to transfer the FPGA configuration data to the volatile memory 2.

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 macro 104 for configuration, and reset is a reset terminal for instructing configuration start.

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 configuration macro 104 is activated by power-on Power_ON, and data including construction data, an address, a control signal, and the like for the FPGA 101 is transferred from the nonvolatile memory 103 to the FPGA 101. Transfer and set the connection configuration, processing function, etc. between the parts of the FPGA 101. When the CRC check error CRC_ERROR in the FPGA 101 is detected, it is transferred to the configuration macro 104 as a reconfiguration request signal re_config, and the FPGA 101 is reconstructed by the configuration macro 104. At the normal end, the CPLD 102 may be reset and disconnected from the FPGA 101, or the connection state may be maintained and the reconstruction process may be enabled when an error is detected.

図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 configuration macro 104, a reset signal for starting the configuration, and the data direction is the configuration when the FPGA is configured. 11 indicates the data transfer direction from the non-volatile memory to the FPGA, where (non-volatile → FPGA) is the data transfer direction. INIT_DONE indicates the end of configuration, CRC_ERROR indicates an error detection signal, and re_config indicates a process for reconstructing the FPGA 101 using the error detection signal CRC_ERROR from the FPGA. By starting the configuration, the construction data from the non-volatile memory is transferred to the FPGA, the internal configuration is constructed according to the construction data, and the FPGA 101 is reconfigured by the construction process and the error detection signal (CRC_ERROR) after the construction process is completed. Perform configuration. Such a control process can be performed by a function of a configuration macro in the construction data storage unit CPLD.

又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). .

特開2001−136058号公報Japanese Patent Laid-Open No. 2001-136058 特開2010−066961号公報JP 2010-066961 A

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 Patent Document 1, it is possible to change the function or route in correspondence with the cell, and to reconstruct the replaceable function of the failure occurrence part, and to show the general concept of FPGA reconfiguration. However, no means for automating the reconfiguration of the FPGA and improving the reliability is disclosed. Further, the above-mentioned Patent Document 2 shows a case where a plurality of configuration memories are provided to provide a redundant configuration, and shows a simple duplex configuration.

本発明は、前述の従来例の問題点を解決するもので、揮発性メモリと複数の不揮発性メモリとを、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.

本発明の実施例1の説明図である。It is explanatory drawing of Example 1 of this invention. 本発明の実施例1の処理説明図である。It is processing explanatory drawing of Example 1 of this invention. 本発明の実施例2の処理説明図である。It is processing explanatory drawing of Example 2 of this invention. 本発明の実施例3の処理説明図である。It is processing explanatory drawing of Example 3 of this invention. 本発明の実施例3の要部フローチャートである。It is a principal part flowchart of Example 3 of this invention. 本発明の実施例4の処理説明図である。It is processing explanatory drawing of Example 4 of this invention. 本発明の実施例4の要部フローチャートである。It is a principal part flowchart of Example 4 of this invention. 本発明の実施例5の処理説明図である。It is processing explanatory drawing of Example 5 of this invention. 本発明の実施例5の要部フローチャートである。It is a principal part flowchart of Example 5 of this invention. 本発明の実施例1〜5の正常修了時の処理説明図である。It is processing explanatory drawing at the time of normal completion of Examples 1-5 of the present invention. 従来例のFPGAの要部説明図である。It is principal part explanatory drawing of FPGA of a prior art example. 従来例の動作説明図である。It is operation | movement explanatory drawing of a prior art example.

本発明の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 FPGA 1. A non-volatile memory 3-0, 3-1, a volatile memory 2 for storing data transferred from a non-volatile memory selected from these non-volatile memories 3-0, 3-1, and a plurality of non-volatile memories A selector 8 for selecting the volatile memory 3-0, 3-1; a check unit 7 for performing an error check on the FPGA construction data transferred from the nonvolatile memory selected by the selector 8 to the volatile memory 2; The FPGA construction data is transferred from the volatile memory 2 to the FPGA 1 to perform the FPGA construction processing. When an error is detected in the FPGA construction data by the configuration macro 5 and the check section 7, a control section 6 that selectively switches other nonvolatile memories and controls transfer of the FPGA construction data to the volatile memory 2. And a construction processing unit 4 including

図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 Embodiment 1 of the present invention, where 1 is an FPGA (Field Programmable Gate Array), 2 is a volatile memory, 3-0 and 3-1 are nonvolatile memories, and 4 is a programmable logic. A control unit (CPLD; Complex Programmable Logic Device), 5 is a configuration macro, 6 is a control unit, 7 is a check unit, 8 is a selector (SEL), and the control unit 6 of the logic control unit 4 is turned on ( Power_ON) has a configuration in which the nonvolatile memory 3-0 and 3-1 read / configuration control (nonvolatile 0/1 read control / Config control) and the selector 8 are controlled, and the selector 8 is controlled. Then, selection switching of the non-volatile memories 3-0 and 3-1 is performed. It is possible to provide a large number of these nonvolatile memories 3-0 and 3-1, each of which stores the same configuration data. However, the two nonvolatile memories 3-0 , 3-1 will be described.

又チェック部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 check unit 7 performs a check as shown as (Check Sum for each address) for each address of the nonvolatile memory 3-0 or 3-1, which is selectively connected by the selector 8, and a check error occurs. If (Check Sum_ERROR) exists, the control unit 6 is notified. The control unit 6 controls the selector 8 to switch from one of the nonvolatile memories 3-0 and 3-1 to the other, and transfers the FPGA1 construction data to the volatile memory 2 again. Also in this case, the check unit 7 checks the data, and if there is no error, the control unit 6 transfers the construction data from the volatile memory 2 to the FPGA 1 under the control of the configuration macro 5, The construction process of FPGA1 is executed. In the present invention, as described above, the first embodiment in which two nonvolatile memories 3-0 and 3-1 are provided is shown. However, the number of these nonvolatile memories is three or more. When an error is detected, a plurality of non-volatile memories are selected in order, data for FPGA construction is transferred from the selected non-volatile memory to the volatile memory 2, and the data It is also possible to adopt a configuration for performing a check.

図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 FPGA 1. SEL is a selection state of the non-volatile memories 3-0 and 3-1 by the selector 8 (non-volatile 0 → volatile indicates the data transfer direction from the non-volatile memory 3-0 to the volatile memory 2, and non-volatile 1 → volatile. Indicates a data transfer direction from the nonvolatile memory 3-1 to the volatile memory 2). Check Sum_ERROR indicates the presence or absence of an error (Error) in the check result by the check unit 7. The data direction indicates the configuration data transfer direction (volatile → FPGA; the data transfer direction from the volatile memory 2 to the FPGA 1), and reset is the configuration of the FPGA 1 in addition to the configuration macro 5 from the control unit 6. A reset signal for starting, INIT_DONE is a completion signal indicating that the configuration is complete, CRC_ERROR is a CRC error signal, and No Error indicates no error. In addition, re_config indicates a request signal for reconfiguration processing from the control unit 6 to the configuration macro 5, and FIG. 2 indicates a case where this request signal is not present.

電源オン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 selector 8, and the non-volatile memory 3-0 is selected and data is transferred to the volatile memory 2 as shown as (non-volatile 0 → volatile). In the transfer process, if the error is detected by the check unit 7 and the error is detected, the check is also performed at the time of data transfer of all addresses, and then the control unit 6 controls the selector 8 to (nonvolatile 1 → As shown by “volatilization”, one nonvolatile memory 3-0 is switched to the other nonvolatile memory 3-1, and the configuration data is transferred to the volatile memory 2. If no error is detected, the reset signal (reset) is turned on to start the configuration.

そして、揮発性メモリ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 volatile memory 2 to the FPGA 1 under the control of the configuration macro 5, and when the construction of the desired processing function of the FPGA 1 is completed, the configuration is completed by the completion signal INIT_DONE, and then CRC_ERROR In the normal operation when no error is detected, the selector SEL detects an error with respect to the nonvolatile memory 3-0 in which an error was detected during the nonvolatile data copy period, as shown as nonvolatile 1 → nonvolatile 0. The data of all addresses is transferred from the non-volatile memory 3-1, which has not been checked, and in the transfer process, the check unit 7 checks to confirm the normality of the configuration data. , Nonvolatile 0 → volatile, ... nonvolatile 1 → volatile, as shown All the addresses of the data -0,3-1, to the volatile memory 2 is transferred alternately, in the the transfer process is repeated checks by the checking unit 7. Therefore, the normality of the configuration data when the FPGA 1 is reconstructed can be ensured, and the reliability can be improved. In the case where a larger number of nonvolatile memories are provided, the configuration data for all addresses of the selected nonvolatile memory is transferred to the volatile memory in the same manner, and the normality is confirmed by the check unit 7. .

図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 (selector 8 in FIG. 1) selects the nonvolatile memory 3-0 by the selector SEL (selector (SEL) 8) as shown as nonvolatile 0 → volatilization. Then, when data is transferred from the nonvolatile memory 3-0 to the volatile memory 2 and the check unit 7 detects a checksum error Check Sum_ERROR as shown as Error, the address of the data in which the error is detected Only the data at the same address is read from the non-volatile memory 3-1, and sent to the volatile memory 2 (non-volatile 1 → To transfer as shown as issued). If no error is detected in the transfer processing process, the FPGA 1 is constructed from the data from the volatile memory 2 by the configuration start, and the normal nonvolatile memory 3- 1 is copied to the nonvolatile memory 3-0 in which an error has been detected and then restored, and thereafter, the nonvolatile memory 3-0 is volatile from the nonvolatile memory 3-0 as in the normal operation period shown in FIG. The data is transferred to the memory 2 and the presence or absence of an error is checked by the check unit 7. If normal, it is switched to the nonvolatile memory 3-1, and the same check is repeated. Therefore, the error processing time in the nonvolatile data copy period can be shortened. In addition, after the configuration is completed, the normality of the configuration data held in the non-volatile memories 3-0 and 3-1 is repeatedly confirmed. Therefore, a reconstruction process due to a failure or the like during the operation of the FPGA 1 is performed. Time reliability can be improved.

図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 FPGA 1 is completed, the control unit 6 controls the selector 8 to select any one of the waiting non-volatile memories 3-0 and 3-1, and the selection is made. The data is read from the non-volatile memory, and an error check is performed by the check unit 7 using the checksum of the data corresponding to the address. If no error is detected, the other non-volatile memory is selected by the selector 8 and the selected non-volatile memory is selected. The data is read from the memory, and an error check is performed by the check unit 7. If no error is detected, the nonvolatile memory is read again. Repeating the reading and error checking by-option. Then, when the CheckSum Error detection detects an error in the data read from the non-volatile memory 3-1 shown as non-volatile 1 → volatile, the address data at the time of error detection is shown in the non-volatile memory as shown as non-volatile 0 → non-volatile 1. The data is read from 3-0, overwritten on the address where the error occurred in the nonvolatile memory 3-1, and restored to normal data. As a result, the data in the nonvolatile memories 3-0 and 3-1 can always be maintained in a normal state, and the reliability can be improved during the rebuilding process of the FPGA 1.

図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 FPGA 1 will be described. After the completion, under the control of the control unit 6 of the CPLD 4, data is read from the nonvolatile memory 3-0 and written to the volatile memory 2 as shown as nonvolatile 0 → volatile copy (a1). In FIG. 4, it is represented as nonvolatile 0 → volatile (a1). Then, it is checked by the check unit 7, and when there is no Check Sum error (a 2), it switches to the nonvolatile memory 3-1, and nonvolatile 1 → volatile copy (a 3), that is, data is stored from the nonvolatile memory 3-1. Read, write to the volatile memory 2, check by the check unit 7, and if there is a Check Sum error (a4), in order to restore the data in the nonvolatile memory 3-1, the nonvolatile 0 → nonvolatile 1 copy (a5 ), The data in the nonvolatile memory 3-1 is restored as shown as (Nonvolatile 1 Repair), and the restored data in the nonvolatile memory 3-1 is copied to the volatile memory 2 (a6). The data copied from the non-volatile memory 3-1 to the volatile memory 2 is repaired to determine whether there is an error due to Check Sum. And, by no error (a7), by the process of the next nonvolatile 0 → volatile copy (a8), to check the health of the non-volatile memory 3-0. By repeating such processing, it is possible to continue to check the normality of the construction data of the FPGA 1 stored in the non-volatile memories 3-0 and 3-1, and even by rebuilding during long-term operation. A highly reliable FPGA can be provided.

図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 CPLD 4 so that the nonvolatile memory 3-0 is selected and the data is transferred to the volatile memory 2. If there is no Check Sum_ERROR by the check unit 7 (No ERROR), the configuration is started and the data is transferred from the volatile memory 2 to the FPGA 1 as indicated by volatile → FPGA. If not, the configuration is complete. In the case of CRC_ERROR detection (Error) as an error occurrence in the FPGA 1 during normal operation, reconfiguration (re_config) is performed. In this case, the error is not a data abnormality in the volatile memory 2 but is mostly caused by the influence of noise or the like in the FPGA 1. Therefore, the data held in the volatile memory 2 is transferred to the FPGA 1 (volatile → FPGA), and FPGA1 is reconstructed. However, if the volatile memory 2 is damaged, CRC_ERROR is detected again even if re-configuration is executed. In this case, first, data is copied from the non-volatile memory 3-0 to the volatile memory 2, and it is confirmed by the check unit 7 that there is no error, and then the data in the volatile memory 2 is transferred to the FPGA1. Perform the rebuild process. Even when the CRC_ERROR is detected during normal processing and the volatile memory 2 is further damaged, high reliability can be provided by the normal nonvolatile memories 3-0 and 3-1.

図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 FPGA 1 notifies that there is an error by CRC_ERROR (b2), and reconfiguration is started. (B3). When CRC_ERROR is present again (b4), as shown as (volatile error), as a data error of the volatile memory 2, as shown as nonvolatile 0 → volatile copy (volatile repair) (b4), the nonvolatile memory 3- Data is copied from 0 to the volatile memory 2, data recovery is performed on the volatile memory 2, and reconfiguration is performed (b6). As a result, there is no CRC_ERROR error from the FPGA 1 (b7), and the normal operation (b8) can be entered.

図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 (selector 8 state), Check Sum_ERROR (processing by the check unit 7), data direction (data for construction processing) in the repeated state of the nonvolatile data copy, configuration, and normal operation periods (Transfer direction), reset is a signal for notifying the configuration macro 5 from the control unit 6 of configuration start, INIT_DONE is a configuration completion notification signal, CRC_ERROR is an error signal in the FPGA, and re_config is The reconfiguration signal is shown. After completion of the configuration process of the FPGA 1, when the CRC_ERROR is detected in the FPGA 1, the nonvolatile memory 3-0 selected by the selector 8 (SEL), for example, is indicated as non-volatile 0 → volatile as in the case of power-on Power_ON. The data is copied from the volatile memory 2 to the volatile memory 2 and checked by the check unit 7. If there is no error, the configuration starts as shown in the data direction volatilization → FPGA. If there is no error, the configuration is completed. . In the fifth embodiment, the reliability of data stored in the nonvolatile memories 3-0 and 3-1 is higher than that of the volatile memory 2, so that the rebuilding process of the FPGA 1 can be performed quickly and reliably. Can be maintained and executed.

図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 volatile memory 2 and an error is included in the volatile memory 2 before, Then, reconfiguration is performed (c4). When this reconfiguration results in no CRC_ERROR (c5), the FPGA 1 can return to normal operation (c6).

図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 volatile memory 2, and the check unit If no error is detected (No Error), the data is transferred from the volatile memory 2 to the FPGA 1 as shown in the configuration start, as indicated by volatilization → FPGA, and the CRC_ in the FPGA 1 When there is no ERROR (No Error), the configuration is completed, and the FPGA 1 can shift to normal operation. During the normal operation in this case, as shown as non-volatile 0 → volatile and non-volatile 1 → volatile. Transfer and write data from memory 3-0 to volatile memory 2 and check A check is performed by the unit 7 using a checksum or the like, and then data is transferred from the non-volatile memory 3-1 to the volatile memory 2 and checked periodically.

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 Nonvolatile memory 4 CPLD (Complex Programmable Logic Device)
5 Configuration Macro 6 Control Unit 7 Check Unit 8 Selector (SEL)

Claims (5)

FPGA(Field Programmable Gate Array)の構築処理を実行するFPGA構成処理制御回路に於いて、
前記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.
前記構築用処理部は、前記セレクタにより選択切替えした前記不揮発性メモリから前記揮発性メモリに前記FPGA構築用データを転送し、前記チェック部により前記FPGA構築用データのエラー検出時に、前記セレクタにより他の前記不揮発性メモリに切替えて、該不揮発性メモリに格納された全アドレスの前記FPGA構築用データを前記揮発性メモリに転送して上書き処理する構成を有することを特徴とする前記請求項1記載の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 2. The configuration according to claim 1, further comprising: switching to the non-volatile memory, transferring the FPGA construction data of all addresses stored in the non-volatile memory to the volatile memory, and overwriting the data. FPGA configuration processing control circuit. 前記構築用処理部は、前記不揮発性メモリから前記揮発性メモリに前記FPGA構築用データを転送し、前記チェック部による前記FPGA構築用データのエラー検出時に、前記セレクタにより他の前記不揮発性メモリに切替えて、前記エラー検出のアドレス対応のデータのみを前記揮発性メモリに転送し、該揮発性メモリの前記FPGA構築用データに対する上書き処理を行う構成を有することを特徴とする前記請求項1記載の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. 2. The configuration according to claim 1, wherein switching is performed to transfer only the data corresponding to the error detection address to the volatile memory, and the FPGA construction data in the volatile memory is overwritten. FPGA configuration processing control circuit. 前記構築用処理部は、前記FPGAの構築処理完了後に、前記複数の不揮発性メモリを順次切替えて、前記FPGA構築用データを前記揮発性メモリに転送し、且つ前記チェック部によりチェックする処理を繰り返して、前記複数の不揮発性メモリの正常性をチェックする構成を有することを特徴とする前記請求項1記載の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 The FPGA configuration processing control circuit according to claim 1, further comprising a configuration for checking normality of the plurality of nonvolatile memories. 前記構築用処理部は、前記FPGAの構築処理完了後のエラー発生時に、前記揮発性メモリに記憶させた前記FPGA構築用データによる再構築処理を行い、該再構築処理によってもエラー発生の時に、前記揮発性メモリに対して、前記複数の不揮発性メモリの一つを選択して、該不揮発性メモリに格納した前記FPGA構築用データによって、前記FPGAの構築処理を行う構成を有することを特徴とする前記請求項1記載の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, A configuration is provided in which one of the plurality of nonvolatile memories is selected for the volatile memory, and the FPGA construction processing is performed by the FPGA construction data stored in the nonvolatile memory. The FPGA configuration processing control circuit according to claim 1.
JP2012050633A 2012-03-07 2012-03-07 Fpga configuration processing control circuit Pending JP2013187699A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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