JP6408482B2 - Programmable device and electronic system apparatus using the same - Google Patents
Programmable device and electronic system apparatus using the same Download PDFInfo
- Publication number
- JP6408482B2 JP6408482B2 JP2015546247A JP2015546247A JP6408482B2 JP 6408482 B2 JP6408482 B2 JP 6408482B2 JP 2015546247 A JP2015546247 A JP 2015546247A JP 2015546247 A JP2015546247 A JP 2015546247A JP 6408482 B2 JP6408482 B2 JP 6408482B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- configuration memory
- unit
- cram
- programmable device
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 claims description 46
- 238000012937 correction Methods 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 22
- 238000003745 diagnosis Methods 0.000 claims description 11
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000011084 recovery Methods 0.000 description 16
- 238000000034 method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 230000005856 abnormality Effects 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 5
- 238000005201 scrubbing Methods 0.000 description 4
- 230000005855 radiation Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/0033—Radiation hardening
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Detection And Correction Of Errors (AREA)
Description
本発明は、プログラマブルデバイス及びこれを用いた電子システム装置に関する。 The present invention relates to a programmable device and an electronic system apparatus using the programmable device.
本技術分野の背景技術として、米国登録特許US8332722号(特許文献1)“Method and architecture for performing scrubbing of an FPGA's configuration memory”がある。 As a background art in this technical field, there is US registered patent US8332722 (Patent Document 1) "Method and architecture for performing scrubbing of an FPGA's configuration memory".
FPGA(Field Programmable Gate Array)などのプログラマブルデバイスでは、コンフィギュレーションメモリ(以下、CRAMと記す)に放射線起因のソフトエラーが発生すると、ユーザロジックの構成情報が一時的に破壊され、誤動作を引き起こす可能性がある。そこで、従来のプログラマブルデバイスでは、CRAMに格納されるデータを固定長のデータフレームに分割し、フレーム毎に巡回しながらエラーチェックする回路を用意されている。ユーザは、この回路のCRAMソフトエラー検出信号をトリガとして、プログラマブルデバイスの再コンフィグレーションや、装置再起動などのリカバリ処理を実施することで、ソフトエラー状態から復旧でき、装置の信頼性を向上させることができる。 In a programmable device such as an FPGA (Field Programmable Gate Array), if a soft error due to radiation occurs in the configuration memory (hereinafter referred to as CRAM), the configuration information of the user logic may be temporarily destroyed, causing malfunction. There is. Therefore, a conventional programmable device is provided with a circuit that divides the data stored in the CRAM into fixed-length data frames and performs an error check while circulating each frame. The user can recover from the soft error state by improving the reliability of the device by performing recovery processing such as reconfiguration of the programmable device or device restart using the CRAM soft error detection signal of this circuit as a trigger. be able to.
しかし、従来のエラーチェック方法ではCRAM全領域をフレーム順にチェックするため、プログラマブルデバイスの大容量化が進むと、ソフトエラー検出時間が遅くなってしまう。例えば、2重化を採用する通信装置では、異常時の装置切替え時間を数十ミリ秒以内にすることが求められるため、装置に搭載されるプログラマブルデバイスは上記時間以内にエラーを検出し、訂正できることが望ましい。しかし、大容量化が進むプログラマブルデバイスでは、単純にエラー検出までに100ミリ秒以上要する場合もあり、切替え時間内でのリカバリが困難になってきている。そのため、CRAMに発生した環境放射線ソフトエラーの検出および訂正時間を短縮し、装置の停止時間やリカバリ時間を短縮することが必要となる。また、エラー検出に加え、CRAM内のソフトエラーを短時間で訂正することが求められる。 However, in the conventional error check method, the entire area of the CRAM is checked in the order of frames. Therefore, when the capacity of the programmable device is increased, the soft error detection time is delayed. For example, in a communication device that employs duplexing, it is required that the device switching time at the time of abnormality be within tens of milliseconds, so the programmable device mounted on the device detects and corrects an error within the above time. It is desirable to be able to do it. However, in a programmable device whose capacity is increasing, it may take 100 milliseconds or more to simply detect an error, and recovery within the switching time has become difficult. For this reason, it is necessary to shorten the detection and correction time of the environmental radiation soft error occurring in the CRAM, and to shorten the stop time and recovery time of the apparatus. In addition to error detection, it is required to correct soft errors in the CRAM in a short time.
特許文献1によれば、CRAMに発生するソフトエラーを検出・訂正する回路(スクラビング回路)について記載されている。スクラビング回路はユーザ論理回路の一部としてFPGAに実装され、CRAMデータをフレームと呼ばれる固定長データ単位で読み出し、CRCによるエラー検出や、ECCによるエラー訂正ができる。また、外部ROMに格納された正常データを再度CRAMに上書きすることで複数ビットエラーを訂正できる。
According to
また、スクラビング回路は構成要素としてFPGA内部のソフトプロセッサを使用し、命令メモリ内に格納された命令コードに従って、CRAMの任意フレームのエラーチェックを行うことができる。しかし、特許文献1ではCRAMのエラー検出時間や訂正時間については考慮されておらず、エラー検出時間や訂正時間を短くするための手段や効果について積極的に言及されていない。
Also, the scrubbing circuit uses a soft processor inside the FPGA as a component, and can perform error checking of an arbitrary frame in the CRAM according to the instruction code stored in the instruction memory. However,
本発明の目的は、ソフトエラー発生時の検出時間および訂正時間を短縮させるプログラマブルデバイス及びこれを用いた電子システム装置を提供することにある。 An object of the present invention is to provide a programmable device that shortens detection time and correction time when a soft error occurs, and an electronic system apparatus using the programmable device.
上記課題を解決するために、例えば請求の範囲に記載の構成を採用する。その一例を挙げるならば、コンフィギュレーションメモリを有するプログラマブルデバイスにおいて、コンフィギュレーションメモリの診断手段として、コンフィギュレーションメモリのデータをリード、ライトするリードライト部と、コンフィギュレーションメモリのデータに対してエラーチェックを行う機能ブロック部と、リードライト部と機能ブロック部に対し、コンフィギュレーションメモリ内の所定の領域のデータを所定の順序でエラーチェックを行うよう制御するシーケンサ部と、を備える構成とする。 In order to solve the above problems, for example, the configuration described in the claims is adopted. For example, in a programmable device having a configuration memory, as a diagnostic means for the configuration memory, a read / write unit that reads and writes data in the configuration memory, and an error check on the data in the configuration memory. And a sequencer unit that controls the read / write unit and the functional block unit to perform error checking on data in a predetermined area in the configuration memory in a predetermined order.
本発明によれば、ソフトエラー発生時の検出時間および訂正時間を短縮し、稼働時間を長くすることで、プログラマブルデバイス及びこれを用いた電子システム装置の信頼性が向上する。 ADVANTAGE OF THE INVENTION According to this invention, the reliability of a programmable device and an electronic system apparatus using the same improves by shortening the detection time and correction time at the time of soft error occurrence, and lengthening operation time.
本発明に係るプログラマブルデバイス及びこれを用いた電子システム装置の実施例を、図面を用いて説明する。 Embodiments of a programmable device and an electronic system apparatus using the same according to the present invention will be described with reference to the drawings.
図1は、実施例1に係るプログラマブルデバイスの構成図である。本実施例のプログラマブルデバイス100は、ユーザロジックの回路構成情報を格納するためのコンフィギュレーションメモリ(CRAM)9と、CRAM内に発生したソフトエラーを検出・訂正するCRAM制御部1を有する。ここで、CRAM9は、格納されるデータをフレームと呼ばれる固定長のデータに分割され、CRAM制御部1はそのデータフレーム単位でソフトエラーの検出・訂正を行う。また、CRAM制御部1は、ユーザロジックの一部としてプログラマブルデバイス100に実装する。
FIG. 1 is a configuration diagram of a programmable device according to the first embodiment. The programmable device 100 according to the present embodiment includes a configuration memory (CRAM) 9 for storing circuit configuration information of user logic, and a
プログラマブルデバイス100では、CRAM制御部1によってCRAM9のソフトエラー検出および訂正動作を行う。基本的な動作としては、CRAM9からデータフレームを読み出し、エラービットの有無をチェックして、エラービットが有った場合はデータを訂正する。エラーが無ければ次に指定されたデータフレームをリードし、エラーをチェックする、という動作を繰り返す。
In the programmable device 100, the
もしエラー訂正ができない場合は、ユーザロジックにも接続できる信号としてエラー信号8aやエラー情報8bを出力する。エラー信号8a,8bは複数種類の情報を有し、必要に応じてユーザロジックへ接続するか、そのままプログラマブルデバイス10の外部に出力してもよい。
If the error cannot be corrected, an
CRAM制御部1の構成は次の通りである。CRAMリードライト部2は、CRAM9のデータフレームをリード、ライトする。領域テーブル3は、エラーをチェックするCRAMの領域情報を格納する。実行順序テーブル4は、CRAM9に対してエラーをチェックする領域の順序や、エラー検出および訂正などのデータ処理の種類、繰返し回数など、チェックシーケンスの情報を格納する。機能ブロック部7は、エラー検出や訂正などCRAMのデータ処理に関する複数種類の機能ブロックを有する。セレクタ部6は、使用する機能ブロックを選択する。エラー信号出力部8は、機能ブロック部7からの複数のエラー信号を必要な種類のエラー信号に変換して出力する。シーケンサ部5は、領域テーブル3および実行順序テーブル4の情報を基にCRAM9のエラーチェック動作を実行する。
The configuration of the
ここにCRAMリードライト部2は、CRAM9とのインタフェース部を内蔵し、指定したCRAM9の物理アドレスに従ってデータフレームのリードおよびライト動作を行う。また、CRAMリードライト部2は、CRAM9以外にプログラマブルデバイス10に接続された外部ROM50とのインタフェースを有し、外部ROM50のリードおよびライト動作を行うことができる。外部ROM50には、プログラマブルデバイス10を起動した際にCRAM9にコンフィギュレーションするためのユーザロジックの回路構成情報が格納されている。CRAMリードライト部2によれば、例えば、外部ROM50から読み出したデータをCRAM9に書き込むことができる。
Here, the CRAM read / write
図2は、領域テーブル3の格納データ構造を示す図である。前述したようにCRAM9は固定長のデータフレームで分割されており、それぞれのフレームには固有のアドレスが割り当てられている。本テーブルの行方向がデータフレームのアドレスを示しており、列方向には複数のチェック領域A0〜Anを設定できるテーブルが用意されている。各フレームアドレスの欄には、チェックする/しないを示す1ビット情報を格納している。例えば、領域番号A2ではデータフレームアドレスF2,F3をチェックすることを示す。
FIG. 2 is a diagram illustrating a storage data structure of the area table 3. As described above, the
図3は、チェック領域の設定例を示す図である。領域テーブル3によれば、図中のA0〜A4のように複数の異なるチェック領域を設定することができる。また、各チェック領域は、吹き出しに示したようにデータフレーム10のグループとして設定するため、領域の形状はA1〜A3のような矩形の領域でなくてもよい。A0のように、L字型の領域や、離れた領域を1つの領域として設定できる。また、A2とA3のように複数の領域が重なりあうように指定してもよい。この場合、A2とA3には同一のデータフレームが含まれる。 FIG. 3 is a diagram illustrating an example of setting a check area. According to the area table 3, a plurality of different check areas can be set like A0 to A4 in the figure. Further, since each check area is set as a group of data frames 10 as shown in the balloon, the shape of the area may not be a rectangular area such as A1 to A3. Like A0, an L-shaped area or a distant area can be set as one area. Moreover, you may designate so that several area | regions may overlap like A2 and A3. In this case, A2 and A3 include the same data frame.
但し、一般的にユーザロジックのレイアウトは、FPGAベンダが用意する専用のマッピングツールによって、ユーザロジックの動作タイミングを満足するように自動的に最適配置される。そのため、領域を分けずにCRAM全面をチェックする場合には、最適配置後のユーザロジックのレイアウトを基に、使用しているデータフレームのみをチェックするように領域テーブルを設定する。 However, in general, the layout of the user logic is automatically optimally arranged so as to satisfy the operation timing of the user logic by a dedicated mapping tool prepared by the FPGA vendor. Therefore, when checking the entire surface of the CRAM without dividing the area, the area table is set so as to check only the data frame being used based on the layout of the user logic after optimal placement.
また、FPGAベンダからCRAMのユーザ使用ビット情報が提供される場合は、その情報を基に、使用しているビットが含まれるデータフレームのみをチェックするよう領域テーブルを設定することが望ましい。また、一般的にユーザロジックは、図3のA1のように階層化設計されるため、各モジュールA10〜A12のレイアウトに合わせて、チェック領域を設定する。その場合、ユーザロジックがA10〜A12内にレイアウトされるように、配置を指定してマッピングする。
このように領域テーブル3によってチェックする領域を限定することで、無駄なチェック時間を省き、CRAM9内のソフトエラー検出時間を短縮することができる。In addition, when user use bit information of CRAM is provided from the FPGA vendor, it is desirable to set the area table so as to check only the data frame including the used bit based on the information. In general, since the user logic is hierarchically designed as shown by A1 in FIG. 3, check areas are set in accordance with the layout of the modules A10 to A12. In that case, the layout is designated and mapped so that the user logic is laid out in A10 to A12.
By limiting the area to be checked by the area table 3 in this way, useless check time can be omitted and the soft error detection time in the
図4は、実行順序テーブル4の格納データ構造を示す図である。CRAM制御部1におけるエラーチェックは、テーブル4に格納されたシーケンス情報に従って実行される。実行順序テーブル4には、実行番号とチェック領域番号、処理番号、リピート回数、次の実行番号、で構成されるシーケンス情報を格納する。実行番号は本テーブルのアドレスを示す。アドレスが指定された場合はその実行番号から実行を開始する。指定が無ければ実行番号0から実行を開始する。チェック領域番号は領域テーブル4に設定された領域番号を示す。処理番号は機能ブロック部7の機能ブロック番号を示す。リピート回数は実行番号を連続で実行する繰返し回数を示す。次の実行番号には、次に実行する実行番号を設定する。これより、同じ実行番号を繰り返したり、前の実行番号に戻って動作を繰り返すことができる。
FIG. 4 is a diagram showing a storage data structure of the execution order table 4. The error check in the
例えば、図4に示す実行順序テーブルでは、まずは実行番号0を実行し、チェック領域A1のデータフレームについてエラー処理番号#0(エラー検出)の処理を1回行う。A1内の全てのデータフレームのチェックが終わったら、次の実行番号1に進む。実行番号1では、領域A0のデータフレームについて処理番号#1(エラー検出および訂正)の処理を4回繰返し、次の実行番号2に進む。実行番号2では、領域A2のデータフレームについて処理番号#0(エラー検出)の処理を2回繰返し、次に実行番号0へ戻る。そして、以上のチェック動作を繰り返す。
For example, in the execution order table shown in FIG. 4, first, the
実行順序テーブル4を用いることにより、稼動率や重要度が高い回路モジュールの領域については繰返し回数を多くし、エラーチェック頻度を増やすことで、他の領域に比べて重点的にエラーの検出を行うことができる。 By using the execution order table 4, the number of repetitions is increased and the error check frequency is increased for the area of the circuit module having a high operation rate and high importance, so that error detection is focused on compared to other areas. be able to.
シーケンサ部5は、これら領域テーブル3および実行順序テーブル4の格納情報を基に、CRAM9のエラーチェックを実行する。実行順序テーブル4で指定された領域番号を基に領域テーブル3を参照し、リードするデータフレームのアドレスをCRAMリードライト部2に通知する(5a)。同時に、エラー処理番号に従って使用する機能ブロックを選択する(5c)。CRAMリードライト部2によってリードされたデータフレーム2aは、選択された機能ブロック部7に入力され、エラーチェック処理を行う。
The
機能ブロック部7は、CRAMデータに対するソフトエラー対策処理機能を持った回路ブロック群である。CRAM制御部1は、複数種類の機能ブロックを内蔵した機能ブロック部7を有し、ユーザは目的に合わせてこれを選択して使用する。
The
図5は、機能ブロック部7の構成を示す図である。機能ブロック部7には複数種類の機能ブロック#0〜#nを内蔵する。ここでは#0(70)としてCRC(Cyclic Redundancy Code)によるエラー検出機能ブロックを、#1(71)としてECCによる1ビットエラー訂正機能ブロックを例に示す。
FIG. 5 is a diagram illustrating a configuration of the
機能ブロック#0(70)は、CRCエラーチェック部11と、冗長ビット格納部12と、CRC冗長ビット生成部13で構成される。CRCエラーチェック部11は、順次入力されるCRAMリードデータフレームを、予め冗長ビット格納部12に格納した冗長ビットと比較することで、データフレーム内のエラービット有無を検出する。CRC冗長ビット生成部13は、CRAM制御部1の起動時に全データフレームの冗長ビットを自動生成し、冗長ビット格納部12に格納する。これにより、データフレーム内のソフトエラーを検出できる。CRCエラー検出時は、エラー検出を表すエラー信号E1を出力すると共に、エラーが検出された領域番号や、フレームアドレス、エラー種類などのエラー情報を同時に出力する。
The functional block # 0 (70) includes a CRC
なお、冗長ビット格納部12に格納する冗長ビット情報は、CRAM制御部1の起動時にCRC冗長ビット生成部13により生成するものとしたが、CRAM9のデータフレームに付加しておいてもよい。また、エラーの検出アルゴリズムや、エラービットの訂正アルゴリズムについては特に限定しない。複数種類の機能ブロックを搭載しても良いが、許容できる回路規模の範囲で搭載する機能ブロックを限定してもよい。
The redundant bit information stored in the redundant
機能ブロック#1(71)は、エラーチェック訂正部14と、冗長ビット格納部15と、冗長ビット生成部16で構成される。エラーチェック訂正部14は、順次入力されるCRAMリードデータフレームを、予め冗長ビット格納部15に格納したECC冗長ビットと比較することで、データフレーム内のエラービット有無を検出する。そして、エラーを検出した時はこれを訂正し、CRAMライトデータフレームとして出力する。冗長ビット生成部16は、CRAM制御部1の起動時に全データフレームのECC冗長ビットを自動生成し、冗長ビット格納部15に格納する。これにより、データフレーム内のソフトエラーを検出できる。ECCエラー検出時は、エラー検出を表すエラー信号E1およびエラー訂正成功を表すエラー信号E2を出力する。さらに、エラービット数が1ビット以上の場合で訂正できなかった場合は、訂正不可通知としてエラー信号E3を出力する。さらに、エラー検出・訂正および訂正不可と判定されたデータフレームのアドレスやエラー種類などのエラー情報を同時に出力する。
The functional block # 1 (71) includes an error
また、前述したように、CRAM制御部1はユーザロジックの一部としてプログラマブルデバイスに実装するため、回路規模が大きくなるとCRAM制御部自身の中性子ソフトエラー率が大きくなってしまう。そのため、本実施例における機能ブロックはモジュール構成となっており、必要な機能ブロックのみを選択して実装することができる。不要なブロックについては切り離して、プログラマブルデバイスに実装しないことで、CRAM制御部自身の回路規模を縮小し、ソフトエラー障害を低減できる。
Further, as described above, since the
図6は、エラー信号出力部8の構成例を示す図である。エラー信号出力部8では、機能ブロック部7からの複数のエラー信号を外部で必要な形式(種類、本数、信号形状(レベル、パルス)、タイミング)のエラー信号に変換して出力する。図6では、機能ブロック部(#0〜#n)からのエラー信号E1〜E3、およびエラー情報を、論理和80〜83でまとめて、エラー信号E1’、E2’、E3’およびエラー情報として出力する。
このように、本実施例におけるプログラマブルデバイス100では、CRAM制御部1によって、CRAM9の複数の任意領域に対するエラーチェック順序、チェック内容(エラー処理番号)、繰返し回数を自由に設定することができる。これより、CRAM9内の指定した領域を重点的にエラーチェックすることで、エラー検出処理の効率が向上し、エラー検出時間を短縮できる。FIG. 6 is a diagram illustrating a configuration example of the error
As described above, in the programmable device 100 according to this embodiment, the
例えば、FPGAベンダから提供されるCRAMのユーザ使用ビット情報を基に、そのビットが含まれるデータフレームのみをチェックするように領域テーブル3を設定することで、チェックするフレーム数が限定されるため、エラー検出時間を短縮できる。また、本実施例のプログラマブルデバイスを搭載した電子システム装置では、プログラマブルデバイスにおいてソフトエラーの検出・訂正が従来に比べて短時間で完了するため、すばやくリカバリ処理を実行することができ、装置全体の復旧時間を短縮できる。 For example, the number of frames to be checked is limited by setting the area table 3 so as to check only the data frame including the bit based on the user use bit information of the CRAM provided by the FPGA vendor. Error detection time can be shortened. In addition, in the electronic system apparatus equipped with the programmable device of this embodiment, the soft error detection / correction in the programmable device is completed in a shorter time than before, so that the recovery process can be executed quickly, and the entire apparatus can be Recovery time can be shortened.
また、本実施例におけるプログラマブルデバイス100では、領域テーブル4の設定情報を基に、エラーが検出された領域情報を通知、または領域別にエラー信号を通知できる。CRAM領域情報とその領域に格納されるユーザロジックの構成情報は対応しているため、エラーが発生したCRAM領域が特定できれば、エラーとなったユーザロジック部分が特定でき、そのユーザロジックに合わせて必要最低限の最適なリカバリ処理を行うことができる。 Further, in the programmable device 100 according to the present embodiment, based on the setting information of the region table 4, it is possible to notify the region information where an error has been detected, or to notify the error signal for each region. Since the CRAM area information and the configuration information of the user logic stored in the area correspond to each other, if the CRAM area where the error has occurred can be identified, the user logic portion in which the error has occurred can be identified, and is necessary according to the user logic. Minimal optimal recovery processing can be performed.
なお、本実施例では、CRAM制御部1はプログラム可能なユーザロジックの一部としてCRAM9に実装しており、実行順序テーブル4および領域テーブル3は、プログラマブルデバイス内部のブロックRAMに格納している。CRAM制御部1はCRAMに実装する以外に、プログラマブルデバイス内部の専用ハードウェア回路として実装してもよい。また、CRAM制御回路1を外部デバイスに実装した構成でもよい。また、上記のエラー検出ブロック70ではCRCを用いたが、エラーを検出するための方法をCRCに限定するものではない。
In this embodiment, the
また、図示していないが、機能ブロックの種類には、複数ビットのソフトエラーを検出・訂正できる回路ブロックなどを含む。訂正手段はECCなどの訂正符号技術を使用してもよいし、外部メモリに格納されているコンフィギュレーションデータをフレーム単位で呼び出してCRAMに上書きする訂正手法を使用してもよい。さらに、全てのフレームに対して、エラー検出有無に関わらず、常に上書きする強制訂正手法を使用してもよい。また、他の機能ブロックとして、訂正後または訂正直後に再度エラーチェックを1回乃至複数回行うことで訂正不可(ハードウェア故障)を検出するハードエラー検出ブロックなどが含まれる。 Although not shown, the types of functional blocks include a circuit block that can detect and correct a multi-bit soft error. The correction means may use a correction code technique such as ECC, or may use a correction method in which configuration data stored in the external memory is called in units of frames and overwritten in the CRAM. Furthermore, a forced correction method that always overwrites all frames regardless of whether or not an error is detected may be used. Other functional blocks include a hardware error detection block that detects uncorrectable (hardware failure) by performing error check once or multiple times after correction or immediately after correction.
以上のことから、本実施例によれば、電子システム製品に用いるプログラマブルデバイスにおいて、コンフィギュレーションメモリ内の重要なデータ領域のみをエラーチェックすることで、コンフィギュレーションメモリのエラー検出時間を短縮することができる。さらに、本実施例のプログラマブルデバイスを搭載した製品では、高速にコンフィギュレーションメモリのエラーを検知でき、装置のリカバリ時間を短縮でき、高信頼化および可用性の向上を図ることができる。これより、ソフトエラー検出時間を短縮し、信頼性を向上したプログラマブルデバイス及びこれを用いた電子システム装置を提供することができる。 From the above, according to the present embodiment, the error detection time of the configuration memory can be shortened by performing error check only on the important data area in the configuration memory in the programmable device used in the electronic system product. it can. Furthermore, in the product equipped with the programmable device of this embodiment, it is possible to detect an error in the configuration memory at high speed, to shorten the recovery time of the apparatus, and to achieve high reliability and improvement in availability. As a result, it is possible to provide a programmable device in which the soft error detection time is shortened and the reliability is improved, and an electronic system apparatus using the programmable device.
図7は、実施例2に係るプログラマブルデバイスの構成図である。本実施例のプログラマブルデバイス101は、実施例1のCRAM制御部1において、デバイス外部からの割込み信号によってCRAM9のエラーチェック順序を制御できるように構成している。
FIG. 7 is a configuration diagram of a programmable device according to the second embodiment. The programmable device 101 of the present embodiment is configured such that the error check order of the
CRAM制御部1A内のシーケンサ部5には、外部からの割り込み信号を入力する割込信号インタフェース(IF)17を接続している。割込信号IF17には0〜n番の複数の割り込み信号が入力できる。割り込み信号が入力されると、インタフェースの入力ポート番号に従って、シーケンサ部5に割込み番号を通知する(17a)。シーケンサ部5はその割込み番号に従って、実行中のCRAMエラーチェックの途中に、指定されたCRAMエラーチェック処理を割り込ませて実行する。
An interrupt signal interface (IF) 17 for inputting an external interrupt signal is connected to the
図8は、本実施例における実行順序テーブル4Aを示す図である。通常は、テーブルの内容に従って実行番号0→1→3→0という順序で、領域A0〜A2に対するCRAMエラー検出・訂正の動作を繰り返し実行している。例えば、ここで割り込みIF17のポート2に割込み信号が入力された場合、割込信号IF17はシーケンサ部5に割り込み番号(=2)を通知する。割込み番号を受信したシーケンサ部は優先的にこの割込み番号(=2)に従って、実行順序テーブル4Aの実行番号2の処理を実行する。図8の例では、CRAM9の全面領域A5に対するエラー検出および訂正動作が実行される。また、実行番号2のテーブルの次の実行番号には、通常のエラーチェック動作(実行番号0)を設定することで、割り込み信号による動作が終了後、自動的に通常のエラーチェック動作に復旧させることができる。
FIG. 8 is a diagram showing the execution order table 4A in the present embodiment. Normally, the CRAM error detection / correction operations for the areas A0 to A2 are repeatedly executed in the order of
このように、本実施例におけるプログラマブルデバイス101では、CRAM制御部1Aに割込信号IF17を追加するよって、CRAM9内の通常のエラーチェックだけでなく、外部からの割込み信号によって、指定したエラーチェックを強制実行することができる。例えば、通常は部分的な領域のエラーチェックを実行している場合でも、強制的にCRAM全領域のエラーチェックを割り込み実行できる。また、ユーザロジックの各回路モジュールや、プログラマブルデバイス101に接続される他のデバイスや、プログラマブルデバイスを搭載した装置側からの異常信号をCRAM制御部1Aで受信し、その異常に関連するプログラマブルデバイスのCRAM領域のみをエラー検出・訂正することができ、エラー検出効率が向上しエラー検出時間を短縮できる。
As described above, in the programmable device 101 according to the present embodiment, by adding the interrupt signal IF17 to the CRAM control unit 1A, not only the normal error check in the
以上のことから、本実施例のプログラマブルデバイスでは、割り込み信号を使ってユーザが指定した領域のみエラーチェックすることで、CRAM内のソフトエラー検出時間を短縮することができる。また、本実施例のプログラマブルデバイスを搭載した装置では、高速にCRAMのエラーを検知でき、装置のリカバリ時間を短縮でき、高信頼化および可用性の向上を図ることができる。これより、ソフトエラー検出時間を短縮し、信頼性を向上したプログラマブルデバイス及びこれを用いた電子システム装置を提供することができる。 From the above, in the programmable device of this embodiment, the soft error detection time in the CRAM can be shortened by checking the error only in the area designated by the user using the interrupt signal. In addition, the apparatus equipped with the programmable device of this embodiment can detect CRAM errors at high speed, reduce the recovery time of the apparatus, and achieve high reliability and improved availability. As a result, it is possible to provide a programmable device with a reduced soft error detection time and improved reliability, and an electronic system apparatus using the programmable device.
図9は、プログラマブルデバイスを搭載した電子システム装置の一例を示す構成図である。本実施例では、電子システム装置として通信装置を例に挙げ、またプログラマブルデバイスとしてFPGA(Field Programmable Gate Array)を用いた場合を示している。 FIG. 9 is a configuration diagram illustrating an example of an electronic system device on which a programmable device is mounted. In this embodiment, a communication device is taken as an example of an electronic system device, and a case where an FPGA (Field Programmable Gate Array) is used as a programmable device is shown.
通信装置90は、コールドスタンバイと呼ばれる待機系の2重化構成となっており、現用系91と、予備系92で構成される。現用系91のユニットが稼動状態(ACT)のときは、予備系92は電源OFFの状態で待機(SBY)している。ここで、何らかの原因により現用系91に異常が発生した場合は、予備系92に動作(ACT)を切替えて装置稼動を継続する。
The communication device 90 has a standby system duplex configuration called cold standby, and is composed of an
それぞれの系は、複数種類のユニットで構成されている。通信制御ユニット91c,92cは、主に通信用パケットデータを入力し、そのパケットデータに付加される送り先データに従って出力先を選択する。診断ユニット91b,92bは、この通信制御ユニット91c,92cが正常に動作しているかを診断する。監視ユニット91a,92aは、通信制御ユニット91c,92cおよび診断ユニット91b,92bの動作開始、リセット、搭載しているプロセッサやプログラマブルデバイスの初期化等、ユニット動作の制御を行う。本例では、全てのユニットに、実施例1のCRAM制御部1を実装したFPGA93,94が搭載されている。
Each system is composed of a plurality of types of units. The
図10は、通信装置90のエラー発生時の制御フローを示す図である。ここでは、現用系91が稼動状態で、予備系92が待機状態のとき、現用系91側でエラーが検出された場合の例を示す。
FIG. 10 is a diagram illustrating a control flow when an error occurs in the communication device 90. Here, an example in which an error is detected on the
通信装置を稼動(S0)後、診断ユニット91bは各ユニットのFPGAからのCRAMエラー検出信号を監視する(S1)。CRAMエラーが検出された場合(S2)、直ちに現用系91と予備系92の系切り替え処理を行う(S3)。本例では、予備系92を稼動状態へ、現用系91を待機状態へ切り替える。装置としては予備系92で稼動を継続する。一方で、エラーが検出された現用系91の監視ユニット91aは、エラーを発生したFPGAに関連するユニット(例えば通信制御ユニット91c)の一時的停止処理を行う(S4)。このとき診断ユニット91bは、エラー情報をログファイルに出力する。ログファイルには、エラー発生時刻と、検出や訂正成功、訂正不可などのエラーモードの情報や、エラーが発生したデータフレームのアドレス情報などが記録される(S5)。
After operating the communication device (S0), the
また、図11のように、モニタ画面18上のユーザインタフェース画面19に、取得したエラー情報の内容を表示してもよい(S5)。その後、通信制御ユニット91cのFPGAはCRAMのエラー訂正処理を行い(S6)、監視ユニット91aはFPGAのリセット処理を行う(S7)。また監視ユニット91aは、装置のファームウエアによるエラー検出前後のパケット廃棄、再送によるリカバリ処理を行い(S8)、待機状態として次の系切り替えに備える。復旧後に系切り戻しが必要な装置などでは、ここで再度系切り替えを実施する。
Further, as shown in FIG. 11, the content of the acquired error information may be displayed on the user interface screen 19 on the monitor screen 18 (S5). Thereafter, the FPGA of the communication control unit 91c performs CRAM error correction processing (S6), and the
本実施例によるプログラマブルデバイスを用いて通信装置を構成すると、従来リカバリ処理時間の多くを費やすコンフィグレーションメモリエラーの検出時間(S1〜S2)を短縮することができ、装置復旧処理時間を短縮することが可能となる。 When the communication device is configured using the programmable device according to the present embodiment, it is possible to shorten the configuration memory error detection time (S1 to S2) that spends much of the conventional recovery processing time, and to shorten the device recovery processing time. Is possible.
例えば、図9に示す予備系92を持つ通信装置90の場合、何らかの原因により現用系91で異常が発生した場合、装置を利用しているユーザに影響のない時間で系を切り替える必要がある。この場合、予備系92への切り替えが短時間であれば、装置を利用しているユーザには影響が無いようにすることができる。また、通常停止している予備系92も、切り替え直後に障害が発生することがある。環境放射線による障害、いわゆるソフトエラー障害に対し、本実施例のように系切り替え時間内に現用系91を復旧することで、予備系92の障害発生に備えることができる。これは、通信装置のような信頼性、可用性を求める装置において有効である。
For example, in the case of the communication apparatus 90 having the
また、電力削減を目的として、待機系のクロックを停止する等で、即動作可能な状態で、動作のみ停止させて待機することがあるが、この場合、待機系のプログラマブルデバイスが、待機から実行モードに移った直後にプログラマブルデバイス内のコンフィギュレーションメモリのデータ反転が検出されることも考えられ、その場合も系切替時間として許される時間内での復旧を行うことができる。 In addition, for the purpose of reducing power consumption, the standby system clock may be stopped in a state where it can be operated immediately, such as by stopping the standby system. In this case, the standby system programmable device executes from standby. It is conceivable that the data inversion of the configuration memory in the programmable device is detected immediately after the mode is shifted, and in this case, the recovery can be performed within the time allowed as the system switching time.
また、本実施例におけるプログラマブルデバイス93、または94では、領域テーブル4の設定情報を基に、エラーが検出された領域情報を通知、または領域別にエラー信号を通知できる。CRAM領域情報とその領域に格納されるユーザロジックの構成情報は対応しているため、エラーが発生したCRAM領域情報によって、エラーとなったユーザロジック部分が特定でき、そのユーザロジックに合わせて必要最低限の最適なリカバリ処理を行うことができる。本実施例では、例えば、ある領域1におけるエラーについてはCRAM訂正のみを行うが、ユーザロジックのステートマシンなどの制御部が含まれた別の領域2でエラーが発生した場合はFPGAをリコンフィギュレーションするなど、エラー発生領域によって異なるリカバリ処理を行う。
Further, in the programmable device 93 or 94 according to the present embodiment, it is possible to notify the area information in which an error is detected based on the setting information of the area table 4 or to notify the error signal for each area. Since the CRAM area information and the configuration information of the user logic stored in the area correspond to each other, it is possible to identify the user logic portion in which the error has occurred based on the CRAM area information in which the error has occurred. It is possible to perform a limited optimal recovery process. In this embodiment, for example, only the CRAM correction is performed for an error in an
以上のことから、本実施例によれば、電子システム装置に搭載するプログラマブルデバイスのユーザが指定した領域のみエラーチェックすることで、CRAM内のソフトエラー検出時間を短縮することができる。また、本実施例のプログラマブルデバイスを搭載した装置では、高速にCRAMのエラーを検知でき、装置のリカバリ時間を短縮でき、高信頼化および可用性の向上を図ることができる。これより、ソフトエラー検出時間を短縮し、信頼性を向上したプログラマブルデバイス及びこれを用いた電子システム装置を提供することができる。 From the above, according to the present embodiment, it is possible to shorten the soft error detection time in the CRAM by performing error check only on the area specified by the user of the programmable device mounted on the electronic system apparatus. In addition, the apparatus equipped with the programmable device of this embodiment can detect CRAM errors at high speed, reduce the recovery time of the apparatus, and achieve high reliability and improved availability. As a result, it is possible to provide a programmable device with a reduced soft error detection time and improved reliability, and an electronic system apparatus using the programmable device.
実施例4では、プログラマブルデバイスを搭載した電子システム装置として、圧延装置やエレベータ、水道制御ポンプなどで使用されるモータ制御システムを例に挙げて説明する。 In Example 4, a motor control system used in a rolling device, an elevator, a water supply control pump, or the like will be described as an example of an electronic system device equipped with a programmable device.
図12は、モータ制御システム200の構成例を示す図である。本システム200は、モータ制御装置20、モータ26、システム環境を監視する監視カメラ25、オペレータが稼動状態などを確認するためのモニタ24で構成される。モータ制御装置20は、実施例1のCRAM制御部1が実装されたFPGA21と、外部装置群とのインタフェースを行う入出力IF23で構成される。本システム200では、制御装置20からモータの回転量を示す制御値26aを出力し、同時に現時点の回転量26bを、モータ26内部に搭載されたセンサ(図示せず)で監視し、制御装置20側へフィードバックすることで、所望の回転量を保つなどのモータ制御動作を行っている。ここで、モータ26の回転量制御にFPGA21を用いるため、CRAM内に発生するソフトエラーによってユーザロジック22が破壊されると、制御値が急激に変わり、異常な高速回転状態や、停止状態など、予期せぬシステム障害発生の可能性がある。
FIG. 12 is a diagram illustrating a configuration example of the motor control system 200. The system 200 includes a
本実施例では、CRAM制御部1によって、FPGA21のCRAMに発生するソフトエラー検出および訂正を行う。特に、モータ制御に関係するユーザロジック22の構成情報が格納されるCRAM領域のみをチェックするため、モータ26のフィードバック制御サイクル以内でのCRAM内のエラーチェック・訂正を可能とし、モータ停止などのシステム障害を回避することができる。
In this embodiment, the
また、実施例2に示した割込信号IF17を有するCRAM制御部1を使用した場合、モータ26の惰性動作時間や、非稼働時間情報を利用したFPGA21のエラーチェックが可能なため、さらに効率良くモータ26の異常発生率を抑制することができる。
Further, when the
本実施例によれば、プログラマブルデバイスにおけるソフトエラーの検出時間を短縮することができ、FPGAソフトエラーに起因する装置異常から短時間で復旧することができ、電子システム装置の信頼性を向上することができる。 According to the present embodiment, it is possible to shorten the detection time of the soft error in the programmable device, to recover from the device abnormality caused by the FPGA soft error in a short time, and to improve the reliability of the electronic system device Can do.
図13は、実施例5に係るプログラマブルデバイスの構成図である。前記実施例におけるCRAM制御部1および1Aは、FPGAのユーザロジックとして実装されるため、CRAM制御部自身がソフトエラーによって破壊される可能性がある。そこで本実施例では、プログラマブルデバイス102内のCRAM制御部1Bは、CRAM制御部自身の動作をチェックするための内部診断部27を有する構成とした。
FIG. 13 is a configuration diagram of a programmable device according to the fifth embodiment. Since the
内部診断部27は、エラーデータ挿入部28と比較部29で構成される。エラーデータ挿入部28は、CRAM9から読み出した任意のデータフレーム2aに対し、意図的にエラーデータを挿入して再度CRAM9へ書き戻す(28a)。その後比較部29は、エラー検出ブロック#0またはエラー訂正ブロック#1から出力されるエラー情報(発生アドレスおよびデータ)8bと、故意に書き込んだエラー情報28aとを比較する。比較結果が一致しない場合、CRAM制御部1Bが何らかの異常状態であるとしてFPGAまたは外部にエラー信号27aを出力する。
内部診断部27も他の機能ブロック同様、領域テーブル3および実行順序テーブル4の設定データに従って、シーケンサ部5の制御信号5cによって動作する。The
The internal
また、図示していないが、上記内部診断部27では、CRAM9の各データフレームのリードライトチェックを複数回実施することで異常部位を弁別することができる。例えば、全領域のフレームに対してALL“0”またはALL“1”のリードライトチェックを行い、複数回同じデータフレームでエラーが検出される場合はCRAM9側の異常とする。また、エラーを挿入してもエラー検出信号が出力されない場合や違うアドレスのデータフレームでエラーが検出される場合は、CRAM制御部1Bの異常と判断できる。また、外部ROM50に格納されたコンフィギュレーションデータによる上書き訂正を使用し、リードライトチェックで異常が検出された場合は外部ROM50の異常と判断できる。
Although not shown, the internal
また、本診断手法では、CRAMデータに異常値を書き込むため、通常ユーザロジックが動作している時間帯に診断を実施する場合は、ユーザロジックが使用していないデータフレームを利用して上記チェックを行う。FPGAの起動直後などでユーザロジックをまだ動作させていない時間帯に診断を実施できる場合には、CRAM9の全データフレームを対象としたチェックを実施する。
Also, in this diagnostic method, abnormal values are written to the CRAM data, so when performing a diagnosis in a time zone in which the user logic is normally operating, the above check is performed using a data frame not used by the user logic. Do. If the diagnosis can be performed in a time zone in which the user logic is not yet operated, such as immediately after starting the FPGA, a check for all data frames in the
また、CRAM制御部1Bでは、上記診断に加え、CRAM制御部1B自身の回路情報が格納されたCRAM領域を領域テーブル4に設定し、その領域のCRAMデータを定期的にチェックすることによってCRAM制御部1Bの診断を行う構成としてもよい。また、CRAM制御部1Bの主要部分を全て2重化し、出力値の比較を行なうことでCRAM制御部自身の異常をFPGA側へ通知する構成としても良い。 In addition to the above diagnosis, the CRAM control unit 1B sets a CRAM area in which circuit information of the CRAM control unit 1B itself is stored in the area table 4, and periodically checks the CRAM data in the area to perform CRAM control. It is good also as a structure which diagnoses the part 1B. Alternatively, the main part of the CRAM control unit 1B may be duplicated and the output values may be compared to notify the FPGA side of the abnormality of the CRAM control unit itself.
また、内部診断部27のエラーデータ挿入部28を使えば、CRAM内に意図的に誤ったエラーデータを挿入できる。そのため、FPGAに擬似的なソフトエラー障害を発生させ、ソフトエラー発生時のシステム挙動の検証に使用しても良い。
If the error data insertion unit 28 of the
本実施例によれば、CRAM制御部自身のソフトエラー率を低減し、高信頼なCRAMエラー検出・訂正を実現することで、システム装置の装置異常を短時間で復旧することができ、電子システム装置の信頼性を向上することができる。 According to the present embodiment, by reducing the soft error rate of the CRAM control unit itself and realizing highly reliable CRAM error detection / correction, it is possible to recover the device abnormality of the system device in a short time, and the electronic system The reliability of the apparatus can be improved.
1,1A,1B:CRAM御部、
2:CRAMリードライト部、
3:領域テーブル、
4:実行順序テーブル、
5:シーケンサ部、
6:セレクタ部、
7:機能ブロック部、
8:エラー信号出力部、
9:コンフィギュレーションメモリ(CRAM)、
10:データフレーム、
11:CRCエラーチェック部、
12,15:冗長ビット格納部、
13:CRC冗長ビット生成部、
14:エラーチェック訂正部、
16:冗長ビット生成部、
17:割込信号IF、
20:モータ制御装置、
27:内部診断部、
28:エラーデータ挿入部、
29:比較部、
50:外部ROM、
90:通信装置、
100,101,102:プログラマブルデバイス(FPGA)、
200:モータ制御システム。1, 1A, 1B: CRAM part,
2: CRAM read / write unit,
3: Area table,
4: Execution order table,
5: Sequencer section,
6: selector part,
7: Function block part,
8: Error signal output unit,
9: Configuration memory (CRAM),
10: data frame,
11: CRC error check part,
12, 15: Redundant bit storage unit,
13: CRC redundant bit generator,
14: Error check correction section
16: Redundant bit generator
17: Interrupt signal IF,
20: motor control device,
27: Internal diagnosis unit
28: Error data insertion part,
29: Comparison part,
50: External ROM,
90: a communication device,
100, 101, 102: Programmable device (FPGA),
200: Motor control system.
Claims (9)
前記プログラマブルデバイスは、前記コンフィギュレーションメモリの診断手段として、
前記コンフィギュレーションメモリのデータをリード、ライトするリードライト部と、
前記コンフィギュレーションメモリのデータに対してエラーチェックを行う機能ブロック部と、
前記コンフィギュレーションメモリ内のエラーチェックを行う、ユーザロジックの回路構成と対応した前記コンフィギュレーションメモリ内の領域情報を格納する領域テーブルと、
前記コンフィギュレーションメモリのエラーチェックを実行する領域の順序情報を格納する実行順序テーブルと、
前記リードライト部と前記機能ブロック部に対し、前記領域テーブルに格納された前記領域情報と、前記実行順序テーブルに格納された前記順序情報に基づいて、所定の領域を所定の順序でエラーチェックを行うよう制御するシーケンサ部と、
前記エラーチェックでエラーが検出された場合、前記機能ブロック部からのエラーが検出された領域情報を含むエラー信号を入力し、前記電子システム装置に出力するエラー信号出力部と、
を備え、
前記実行順序テーブルが格納する前記順序情報には、前記ユーザロジックの稼動率や重要度に基づいた繰り返しチェック回数が記述され、
稼動率や重要度の高い前記ユーザロジックに対応する前記コンフィギュレーションメモリの領域について、エラーチェックの頻度を増やすようにしたことを特徴とする電子システム装置。 In an electronic system apparatus equipped with a programmable device having a configuration memory,
The programmable device is a diagnostic means for the configuration memory.
A read / write unit for reading and writing data of the configuration memory;
A functional block unit that performs an error check on the data in the configuration memory;
An area table for storing area information in the configuration memory corresponding to the circuit configuration of the user logic, which performs error checking in the configuration memory;
An execution order table for storing order information of areas for executing error checking of the configuration memory;
Based on the area information stored in the area table and the order information stored in the execution order table, an error check is performed on a predetermined area in a predetermined order for the read / write unit and the functional block unit. A sequencer section that controls to perform,
When an error is detected by the error check, an error signal output unit that inputs an error signal including area information in which an error is detected from the functional block unit, and outputs the error signal to the electronic system device;
Equipped with a,
The order information stored in the execution order table describes the number of repeated checks based on the operating rate and importance of the user logic,
An electronic system device characterized in that the frequency of error checks is increased in the configuration memory area corresponding to the user logic having a high operating rate and high importance .
前記コンフィギュレーションメモリの診断手段には、少なくとも1つの入力ポートを有する割込信号入力部を有し、該入力ポートから入力する割込信号に基づいて指定されたエラーチェックの割り込み動作を実行することを特徴とする電子システム装置。 The electronic system device according to claim 1,
The diagnostic means of the configuration memory has an interrupt signal input section having at least one input port, and executes an error check interrupt operation designated based on an interrupt signal input from the input port. An electronic system device characterized by the above.
前記コンフィギュレーションメモリの診断手段には、該診断手段自身の正常動作を確認する内部診断部を備え、
該内部診断部は、前記コンフィギュレーションメモリへエラーデータを挿入するエラーデータ挿入部と、挿入したエラー情報と、検出されたエラー情報を比較する比較部で構成されることを特徴とする電子システム装置。 The electronic system device according to claim 1 or 2,
The diagnostic means of the configuration memory includes an internal diagnostic unit for confirming the normal operation of the diagnostic means itself,
The internal diagnosis unit includes an error data insertion unit that inserts error data into the configuration memory, and a comparison unit that compares the inserted error information with the detected error information. .
前記機能ブロック部は、前記コンフィギュレーションメモリのエラー検出と訂正処理を行うものであって、処理内容に応じて複数の機能ブロックから構成され、各機能ブロックは必要に応じて追加・削除することが可能なモジュール構成としたことを特徴とする電子システム装置。 An electronic system device according to any one of claims 1 to 3,
The functional block unit performs error detection and correction processing of the configuration memory, and is composed of a plurality of functional blocks according to the processing content, and each functional block can be added or deleted as necessary. An electronic system device characterized by having a modular configuration.
当該電子システム装置は複数のユニットで構成され、前記プログラマブルデバイスは各ユニットに搭載されていることを特徴とする電子システム装置。 An electronic system device according to any one of claims 1 to 4,
The electronic system apparatus is composed of a plurality of units, and the programmable device is mounted on each unit.
前記コンフィギュレーションメモリの診断手段として、
前記コンフィギュレーションメモリのデータをリード、ライトするリードライト部と、
前記コンフィギュレーションメモリのデータに対してエラーチェックを行う機能ブロック部と、
前記コンフィギュレーションメモリ内のエラーチェックを行う、ユーザロジックの回路構成と対応した前記コンフィギュレーションメモリ内の領域情報を格納する領域テーブルと、
前記コンフィギュレーションメモリのエラーチェックを実行する領域の順序情報を格納する実行順序テーブルと、
前記リードライト部と前記機能ブロック部に対し、前記領域テーブルに格納された前記領域情報と、前記実行順序テーブルに格納された前記順序情報に基づいて、所定の領域を所定の順序でエラーチェックを行うよう制御するシーケンサ部と、
前記機能ブロック部からのエラーが検出された領域情報を含むエラー信号を入力し、外部に出力するエラー信号出力部と、
を備え、
前記実行順序テーブルが格納する前記順序情報には、前記ユーザロジックの稼動率や重要度に基づいた繰り返しチェック回数が記述され、
稼動率や重要度の高い前記ユーザロジックに対応する前記コンフィギュレーションメモリの領域について、エラーチェックの頻度を増やすようにしたことを特徴とするプログラマブルデバイス。 In a programmable device having a configuration memory,
As diagnostic means for the configuration memory,
A read / write unit for reading and writing data of the configuration memory;
A functional block unit that performs an error check on the data in the configuration memory;
An area table for storing area information in the configuration memory corresponding to the circuit configuration of the user logic, which performs error checking in the configuration memory;
An execution order table for storing order information of areas for executing error checking of the configuration memory;
Based on the area information stored in the area table and the order information stored in the execution order table, an error check is performed on a predetermined area in a predetermined order for the read / write unit and the functional block unit. A sequencer section that controls to perform,
An error signal output unit that inputs an error signal including region information in which an error from the functional block unit is detected,
Equipped with a,
The order information stored in the execution order table describes the number of repeated checks based on the operating rate and importance of the user logic,
A programmable device characterized in that the frequency of error checking is increased for the area of the configuration memory corresponding to the user logic having a high operating rate and high importance .
前記コンフィギュレーションメモリの診断手段には、少なくとも1つの入力ポートを有する割込信号入力部を有し、該入力ポートから入力する割込信号に基づいて指定されたエラーチェックの割り込み動作を実行することを特徴とするプログラマブルデバイス。 The programmable device according to claim 6,
The diagnostic means of the configuration memory has an interrupt signal input section having at least one input port, and executes an error check interrupt operation designated based on an interrupt signal input from the input port. A programmable device characterized by
前記コンフィギュレーションメモリの診断手段には、該診断手段自身の正常動作を確認する内部診断部を備え、
該内部診断部は、前記コンフィギュレーションメモリへエラーデータを挿入するエラーデータ挿入部と、挿入したエラー情報と、検出されたエラー情報を比較する比較部で構成されることを特徴とするプログラマブルデバイス。 A programmable device according to claim 6 or 7,
The diagnostic means of the configuration memory includes an internal diagnostic unit for confirming the normal operation of the diagnostic means itself,
The internal diagnostic unit includes an error data insertion unit that inserts error data into the configuration memory, and a comparison unit that compares the inserted error information with detected error information.
前記機能ブロック部は、前記コンフィギュレーションメモリのエラー検出と訂正処理を行うものであって、処理内容に応じて複数の機能ブロックから構成され、各機能ブロックは必要に応じて追加・削除することが可能なモジュール構成としたことを特徴とするプログラマブルデバイス。 A programmable device according to any one of claims 6 to 8,
The functional block unit performs error detection and correction processing of the configuration memory, and is composed of a plurality of functional blocks according to the processing content, and each functional block can be added or deleted as necessary. A programmable device characterized by a possible module configuration.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/080336 WO2015068285A1 (en) | 2013-11-08 | 2013-11-08 | Programmable device and electronic system device using same |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015068285A1 JPWO2015068285A1 (en) | 2017-03-09 |
JP6408482B2 true JP6408482B2 (en) | 2018-10-17 |
Family
ID=53041086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015546247A Active JP6408482B2 (en) | 2013-11-08 | 2013-11-08 | Programmable device and electronic system apparatus using the same |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6408482B2 (en) |
WO (1) | WO2015068285A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11822425B2 (en) | 2020-01-27 | 2023-11-21 | Hitachi, Ltd. | Programmable device, and controller using the same |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017002157A1 (en) * | 2015-06-29 | 2017-01-05 | 株式会社日立製作所 | Computer system and computer system control method |
US10248484B2 (en) * | 2017-02-21 | 2019-04-02 | Intel Corporation | Prioritized error-detection and scheduling |
JP7104525B2 (en) * | 2018-02-21 | 2022-07-21 | 日立Astemo株式会社 | Error detection method for electronic control device and configuration memory |
JP7338608B2 (en) * | 2020-10-30 | 2023-09-05 | 横河電機株式会社 | Apparatus, method and program |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005235074A (en) * | 2004-02-23 | 2005-09-02 | Fujitsu Ltd | Software error correction method of fpga |
JP4583077B2 (en) * | 2004-06-14 | 2010-11-17 | 株式会社東芝 | X-ray computed tomography system |
JP2007058419A (en) * | 2005-08-23 | 2007-03-08 | Hitachi Ltd | Storage system with logic circuit constructed according to information inside memory on pld |
US7702978B2 (en) * | 2006-04-21 | 2010-04-20 | Altera Corporation | Soft error location and sensitivity detection for programmable devices |
JP5310176B2 (en) * | 2009-03-25 | 2013-10-09 | 富士通株式会社 | Integrated circuit and configuration method |
JP2012009098A (en) * | 2010-06-23 | 2012-01-12 | Fujitsu Kyushu Network Technologies Ltd | Programmable logic device and its test method |
JP2013187699A (en) * | 2012-03-07 | 2013-09-19 | Fujitsu Telecom Networks Ltd | Fpga configuration processing control circuit |
JP5825178B2 (en) * | 2012-03-30 | 2015-12-02 | 沖電気工業株式会社 | Memory diagnostic device, memory diagnostic program and device |
-
2013
- 2013-11-08 JP JP2015546247A patent/JP6408482B2/en active Active
- 2013-11-08 WO PCT/JP2013/080336 patent/WO2015068285A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11822425B2 (en) | 2020-01-27 | 2023-11-21 | Hitachi, Ltd. | Programmable device, and controller using the same |
Also Published As
Publication number | Publication date |
---|---|
WO2015068285A1 (en) | 2015-05-14 |
JPWO2015068285A1 (en) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5014899B2 (en) | Reconfigurable device | |
JP6496562B2 (en) | Semiconductor device, diagnostic test method and diagnostic test circuit | |
JP6408482B2 (en) | Programmable device and electronic system apparatus using the same | |
JP6880795B2 (en) | Control device and its control method | |
CN102541756A (en) | Cache memory system | |
CN101901170B (en) | A data processing device and a method for error detection and error correction | |
JP6282482B2 (en) | Programmable circuit device and configuration information restoration method | |
JP6290934B2 (en) | Programmable device, error holding system, and electronic system apparatus | |
JP2006157482A (en) | Programmable logic device, information processor, and method for controlling programmable logic device | |
JP2010170462A (en) | Fault handling device and method | |
JP2014052781A (en) | Fpga monitoring control circuit | |
JP2770913B2 (en) | Parity replacement apparatus and method | |
JP5910356B2 (en) | Electronic device, electronic device control method, and electronic device control program | |
JP6332134B2 (en) | Memory diagnostic circuit | |
Miculka et al. | Methodology for fault tolerant system design based on fpga into limited redundant area | |
JP2014229130A (en) | Highly reliable processor and highly reliable control device using the same | |
JP2008084080A (en) | Failure information storage system, service processor, failure information storage method, and program | |
JP2015216507A (en) | Device for mounting fpga | |
US9519539B2 (en) | Monitoring data error status in a memory | |
WO2021053853A1 (en) | Control device and control method | |
JP2015001774A (en) | Semiconductor integrated circuit and processing method thereof | |
JP2009116978A (en) | Semiconductor storage device | |
JP2015201814A (en) | Field programmable gate array and electronic apparatus | |
JP2017111579A (en) | Semiconductor integrated circuit and function recovery method thereof | |
JP2014225110A (en) | Safety controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180425 |
|
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: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6408482 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |