JP2017204664A - プログラマブルデバイス及び制御装置 - Google Patents

プログラマブルデバイス及び制御装置 Download PDF

Info

Publication number
JP2017204664A
JP2017204664A JP2016093671A JP2016093671A JP2017204664A JP 2017204664 A JP2017204664 A JP 2017204664A JP 2016093671 A JP2016093671 A JP 2016093671A JP 2016093671 A JP2016093671 A JP 2016093671A JP 2017204664 A JP2017204664 A JP 2017204664A
Authority
JP
Japan
Prior art keywords
logic circuit
circuit
output
logic
fpga
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
JP2016093671A
Other languages
English (en)
Inventor
山田 弘道
Hiromichi Yamada
弘道 山田
山田 勉
Tsutomu Yamada
山田  勉
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016093671A priority Critical patent/JP2017204664A/ja
Publication of JP2017204664A publication Critical patent/JP2017204664A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

【課題】複数の論理回路におけるプログラマブルデバイスを動作させたまま論理回路の更新を行う際の動作チェックを可能とすることを課題とする。
【解決手段】格納されているデータが書き換えられることで、出力を変化させることができる論理回路118を複数有するとともに、論理回路118に格納されているデータを検査する検査回路114を有し、論理回路118のうち、所定の論理回路118において書き換えが行われている際に、書き換えが行われていない論理回路118において、検査回路114による検査が行われることを特徴とする。
【選択図】図1

Description

本発明は、論理回路の書き換えが可能なプログラマブルデバイス及び該プログラマブルデバイスを備える制御装置の技術に関する。
電力システムや産業システムでは、システムの制御にコントローラ(制御用コンピュータ)が使用される。コントローラは、各種センサを用いてシステムや周囲環境の状態を観測する。そして、コントローラは、計測した状態を基に制御条件を決定してモータ等のアクチュエータを操作することでシステムの制御を行う。コントローラにネットワーク機能を備えることにより、上位装置や遠隔地にあるサーバからの制御も可能になる。また、コントローラは、サーバのように計算機リソースにコストをかけることが困難である。そこで、コントローラとして、低コストであるマイクロコントローラ、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等が利用される。
マイクロコントローラは、メモリに記憶されている命令を読み出し、解読して実行するため、処理に時間がかかるが、プログラミングの自由度が高い。DSPは、積和演算等のある決まった計算を高速に処理できる。FPGAは、ユーザが論理回路を書き換えることができ、ハードウェア処理による高速化が可能である。FPGAでは、コントローラの電源投入後に、外部メモリに記憶されている構成データがFPGAに転送されることで、FPGAのプログラミングが行われる。ここで、構成データとは、FPGAの構成メモリであるCRAM(Configuration Random Access Memory)に格納されるデータであり、具体的には、ルックアップテーブルである。
近年、FPGAを動作させながら、論理回路の一部を書き換えることのできる再構成可能なFPGAも登場した。ここで、再構成とは、論理回路の一部を変更することである。
このようなFPGAでは、論理回路を二重化(もしくは多重化)することでFPGAが動作している最中でも自身の再構成が可能となる。ここで、ある論理回路の再構成は、書き換え対象以外の論理回路の動作には影響を与えない。このような再構成可能なFPGAを使えば、コントローラを止めずに、機能のアップデートが可能になるため、今後の活用に期待がかかっている。
さて、再構成可能なFPGA(以下、単にFPGAと称する)は、構成データを保持するCRAMがSRAM(Static Random Access Memory)で作られているSRAM型FPGAに分類される。SRAMには、中性子線等の高エネルギー粒子が衝突すると、保持しているデータが反転するというソフトエラーの問題がある。CRAMにソフトエラーが発生すると、論理回路機能が本来とは異なるものになり、動作が不正となってしまう。
このようなソフトエラーを検出する方法として、以下のような方法がある。まず、CRAMを特定のアドレス範囲ごとにグループ化し、グループごとにCRC(Cyclic Redundancy Check)コードが付加される。そして、周期的に、CRAMからグループの構成データとCRCコードが読み出され、CRCチェックが行われる。
また、ソフトエラーを検出する方法として、論理回路を二重化し、マスタ/チェッカ方式で動作させ、マスタ回路とチェッカ回路の出力を常時比較する方法もある。この方法では、比較結果が一致すれば、マスタ回路とチェッカ回路は同一であり、どちらの回路も正しいと考えられる。一方、比較結果が不一致の場合、マスタ回路とチェッカ回路が異なっているため、どちらかが誤っていると考える。
特許文献1には、「LANで接続され、それぞれがアクト系とスタンバイ系として動作する装置1と、これら装置1とLAN4を介して接続される信号制御部2とを具備し、前記装置1内には、パワーオン時にデバイスやOSの起動を行なうブート手段1aと、ワークエリアとして、また転送データを一時的に使用し、またソフトウェアやデータベースを管理する機能を持つメモリ1b〜1dと、を有し、アクト系装置1とスタンバイ系装置1とが、新版と旧版のソフトウェアを具備し、アクト系とスタンバイ系とで旧版と新版の切り替え運用を行なうように構成される」装置の二重化仮運用方法及び二重化システムが開示されている。
特開2007−257447号公報
ここで、マスタ/チェッカ方式で二重化(又は多重化)した論理回路を再構成するには、双方の論理回路が動作していないタイミングで行う必要がある。しかしながら、リアルタイム処理を行うコントローラは、処理を一時的に停止させることが困難である。
なお、特許文献1に記載の技術は、プログラムの更新中において、動作チェックを行うことができない。
このような背景に鑑みて本発明がなされたのであり、本発明は、複数の論理回路におけるプログラマブルデバイスを動作させたまま論理回路の更新を行う際の動作チェックを可能とすることを課題とする。
前記した課題を解決するため、本発明は、格納されているデータが書き換えられることで、出力を変化させることができる論理回路を複数有するとともに、前記論理回路に格納されているデータを検査する検査部を有し、前記論理回路のうち、所定の論理回路において前記書き換えが行われている際に、前記書き換えが行われていない論理回路において、前記検査部による検査が行われることを特徴とする。
その他の解決手段については、実施形態中において適宜記載する。
本発明によれば、複数の論理回路におけるプログラマブルデバイスを動作させたまま論理回路の更新を行う際の動作チェックを可能とすることができる。
第1実施形態に係るFPGAのハードウェア構成と、信号の流れとを示す図である。 第1実施形態に係る制御装置のハードウェア構成と、信号の流れとを示す図である。 第1実施形態に係るシステムのブロック図である。 第1実施形態に係るFPGAの簡略的な機能ブロック図である。 第1実施形態に係るFPGAの動作モードを表す表を示す図である。 第1実施形態に係る制御装置における全体フローチャートを示す図である。 第1実施形態に係るFPGAにおける再構成処理の手順を示すフローチャートである。 第2実施形態に係るFPGAの簡略的な機能ブロック図である。 第2実施形態に係るFPGAの動作モードを表す表を示す図である。 第3実施形態に係るシステムを適用した風力発電装置の構成図である。
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
<第1実施形態>
(FPGA)
図1は、第1実施形態に係るFPGAのハードウェア構成と、信号の流れとを示す図である。
図1に示すFPGA(プログラマブルデバイス)10における論理回路M118aと論理回路C118bは、二重化した論理回路118で、論理回路M118aの「M」はマスタ(Master)、論理回路C118bの「C」はチェッカ(Checker)の意味である。論理回路M118aと、論理回路C118bとを総称して論理回路118と称することがある。
論理回路M118aと論理回路C118bは、同一の処理を同じタイミングで同期して実行する。そのため、論理回路M118aの出力信号131a(131)と、論理回路C118bの出力信号131b(131)は、クロックサイクル単位で値が一致する。
論理回路M118aは、構成メモリとしてのCRAMM119a及び論理入出力回路M120aを有している。同様に、論理回路C118bは、構成メモリとしてのCRAMC119b及び論理入出力回路C120bを有している。ここで、CRAMM119a及びCRAMC119bを総称して、CRAM119と適宜称する。また、論理入出力回路M120a及び論理入出力回路C120bを総称して、論理入出力回路120と適宜称する。
CRAM119には、論理回路118における入力と出力の関係が格納されているルックアップテーブルが格納されている。
CRAMM119aは、論理入出力回路M120aの要素回路と接続されており、CRAMM119aのデータが書き換わると、論理回路M118aの機能が変更される。
同様に、CRAMC119bは、論理入出力回路C120bの要素回路と接続されており、CRAMC119bのデータが書き換わると、論理回路C118bの機能が変更される。
すなわち、論理入出力回路120は、入力信号(デジタル信号62)が入力されると、CRAM119に格納されているルックアップテーブルに従って、出力信号131(131a,131b)を出力する。
具体的には、CRAM119のルックアップテーブルが書き換えられることで、論理回路118の構成が変更されることで、論理回路118の再構成が行われる。
具体的には、CRAM119はルックアップテーブルを格納しているSRAMであり、論理入出力回路120は、FPGA10を構成するフリップフロップや、スイッチである。信号145a,145b(145)は、CRAM119と、フリップフロップ、スイッチとの間を流れる信号である。
論理回路M118a及び論理回路C118bの再構成は、CPU(Central Processing Unit)30(図2参照)が、メモリ40(図2参照)に記憶されているFPGA10の部分的な構成データをFPGA10に転送することで行われる。構成データはバス信号64に含まれるデータである。なお、前記したように、構成データとは、CRAM119に格納されるルックアップテーブルのことである。
また、出力信号132は、選択回路(選択部)115が出力し、出力の確認等のために、論理入出力回路M120a及び論理入出力回路C120bへフィードバックされる信号である。なお、出力信号132は省略されてもよい。
FPGA10がリセット信号66を受け取ると、FPGA10のレジスタが初期化される。初期化されるレジスタについては後記する。そして、リセット信号66の出力が停止されると、FPGA10が動作を開始する。バス信号64には、再構成制御回路111に対して入力される構成データ、論理回路M118a、論理回路C118bに対して入力される制御信号、制御に必要なCRAM119のアドレスを指定するアドレス信号等が含まれている。
符号62はA/D(Analog/Digital)変換器20(図2参照)から入力されるデジタル信号である。デジタル信号62は、論理回路118(118a,118b)への入力信号となる。
再構成制御回路111は、CRAM書き込み回路112、CRAM読み出し回路113、検査回路(検査部)114、選択回路115及び比較回路(比較部)116の制御を行う。
再構成制御回路111は、転送されてきたバス信号64にCRAM119への構成データが含まれていることを検出すると、それをCRAM書き込み回路112に転送する(制御信号134)。
CRAM書き込み回路112は、再構成制御回路111から送られてきた構成データの書き込みアドレスを参照し、CRAMM119a又はCRAMC119bに対して書き込みを行う(信号141a,141b(141))。
選択回路115は、論理回路M118aの出力信号131aと、論理回路C118bの出力信号131bとを受け取ると、それらの出力信号131a,131bのうち、一方を選択し、バス信号64及びアクチュエータ6(図2参照)への制御信号(FPGA10による処理の結果)63として出力する。バス信号64として出力された選択回路115の出力はメモリ40等に格納される。
論理回路M118aと論理回路C118bとの構成が同じであれば、選択回路115は論理回路M118aの出力信号131aを選択する。
比較回路116は、論理回路M118aの出力信号131aと、論理回路C118bの出力信号131bとをクロックサイクル単位で比較し、比較結果信号133を出力する。出力された比較結果信号133は、割り込み発生回路117に入力される。
論理回路M118aと論理回路C118bとの構成が同じであれば、比較回路116において、論理入出力回路M120aの出力信号131aと、論理入出力回路C120bの出力信号131bとを比較された結果は一致信号となる。
選択回路115及び比較回路116の制御は、再構成制御回路111から出力される制御信号136及び制御信号137により行われる。
論理回路118の再構成において、論理回路M118aと、論理回路C118bとの双方が同時に書き換えられることはない。例えば、論理回路M118aにおけるCRAMM119aの内容が書き換えられた後、論理回路C118bにおけるCRAMC119bの内容が書き換えられる。
論理回路M118aと論理回路C118bとの、どちらか一方が再構成中のため、CRAMM119aとCRAMC119bが異なる構成となっている場合、選択回路115は再構成中ではない方の論理回路118の出力を選択する。また、論理回路M118aと論理回路C118bとの、どちらか一方が再構成中のため、CRAMM119aとCRAMC119bが異なる構成となっている場合、比較回路116は比較を行わない。
また、論理回路M118aと論理回路C118bとの、どちらか一方が再構成中のため、CRAMM119aとCRAMC119bが異なる構成となっている場合、CRAM読み出し回路113は、再構成中ではない方のCRAM119に格納されている構成データ(ルックアップデータ)を読み出し(信号142a,142b(142))、読み出した構成データを検査回路114に転送する(信号143)。なお、構成データには、CRCコードが予め付加されている。従って、CRAM読み出し回路113によって読みだされた構成データには、CRCコードが付加されている。
検査回路114は、CRAM読み出し回路113によって読みだされた構成データに付加されているCRCコードに基づいてCRCチェックを行い、CRCチェック結果信号144を割り込み発生回路117に入力する。割り込み発生回路117は、CRCチェック結果信号144がエラーを示す場合、CPU30に割り込み要求信号65を出力する。
CRAM読み出し回路113及び検査回路114の制御は、再構成制御回路111から出力される制御信号135及び制御信号138により行われる。
割り込み発生回路117は、比較結果信号133が不一致を示す場合において、CPU30(図2参照)に対し、割り込み要求信号65を出力する。割り込み要求信号65を受信したCPU30は、例えば、FPGA10の動作を停止させ、上位装置4(図3)へのエラー通知を行う。
(制御装置)
図2は、第1実施形態に係る制御装置のハードウェア構成と、信号の流れとを示す図である。
制御装置1は、FPGA10、A/D変換器20、CPU30、メモリ40、通信LSI(Large Scale Integration)50等を有する。
A/D変換器20には、センサ5からのアナログ信号61が入力される。そして、A/D変換器20は、このアナログ信号61をデジタル信号62に変換した後、変換したデジタル信号62をFPGA10へ出力する。CPU30は、バス信号64を介して、メモリ40に記憶されている制御プログラムを実行する。制御装置1の電源投入後にCPU30がメモリ40に記憶されている構成データをバス信号64によってFPGA10に転送する。FPGA10は転送された構成データに従ってCRAM119(119a,119b;図1)を書き換える(論理回路118(図1)の再構成)ことにより、論理回路118(図1参照)における機能が決定する。FPGA10に対する再構成のための構成データの転送が終了すると、CPU30は、FPGA10にリセット信号66を出力する。そして、CRAM119の書き換えが完了し、CPU30がリセット信号66の出力を停止すると、FPGA10は回路動作を開始する。
FPGA10の各回路は、内部に制御用のレジスタ(不図示)を有している。CPU30は、バス信号64に含まれている制御信号によってFPGA10のレジスタに対して書き込みを行うことができる。FPGA10は、この制御用のレジスタの設定に従って動作する。また、FPGA10は、バス信号64に含まれている制御信号によって、メモリ40に対する読み出し及び書き込みを行うことができる。さらに、FPGA10は、動作における割り込み条件が成立すると(すなわち、図2における比較回路116からの比較結果信号133が不一致を示すか、検査回路114からのCRCチェック結果信号144がエラーを示す場合)、CPU30に割り込み要求信号65を出力する。
また、FPGA10は制御信号63をアクチュエータ6へ送信することによって、アクチュエータ6の制御を行う。
CPU30は、割り込み要求信号65を受け取ると、メモリ40に記憶されている割り込み処理プログラムを実行する。割り込み処理プログラムは、FPGA10の動作を停止させ、上位装置4(図3)へのエラー通知等を行う。
通信LSI50は、通信処理装置2と通信を行う(通信用信号67)。通信LSI50は、バス信号64を介して受信したデータをメモリ40に転送し、メモリ40は転送されたデータを格納する。
CPU30又はFPGA10は、メモリ40に転送されたデータに関する処理を行う。通信LSI50は、CPU30又はFPGA10メモリ40に格納した処理結果のデータを読み出し、通信用信号67として通信処理装置2に送信する。
(システム)
図3は、第1実施形態に係るシステムのブロック図である。
システムZは、1つの上位装置4と、複数の制御装置1(本実施形態では2つ)とを有している。なお、図3において、上位装置4は1つとなっているが、2つ以上でもよい。
上位装置4と各制御装置1は、通信処理装置2を経由して、ネットワーク3に接続し、互いに通信可能である。
各制御装置1は、センサ5及びアクチュエータ6を有している。センサ5は、このセンサ5が搭載されている機器(不図示)の電圧、電流、温度、振動等を測定する。アクチュエータ6は、このアクチュエータ6が搭載されている機器(不図示)におけるリレーやモータ等である。
制御装置1はあらかじめ決められた周期に基づいて、センサ5のアナログ信号61(図2参照)を取得し、デジタル変換し、内部に記憶している。上位装置4は、制御装置1からセンサ5のデータを通信により取得する。そして、上位装置4は、取得したデータを基に、システムZ全体の制御を決定する。続いて、上位装置4は、決定した制御を制御装置1へ送信する。制御装置1は、受信した制御に基づいてアクチュエータ6を制御する。なお、本実施形態において、センサ5及びアクチュエータ6は、必須のものではない。
また、本実施形態において、通信は上位装置4と制御装置1の間、及び制御装置1同士の間で行われる。通信処理装置2は、上位装置4、制御装置1、及び他の通信処理装置2とネットワーク3によって接続されている。通信処理装置2は、パケットを受信すると、ヘッダを参照し、送信対象となっているポートからパケットを転送したり、パケットを廃棄したりする。
(二重化について)
図4は、第1実施形態に係るFPGAの簡略的な機能ブロック図である。
図4に示すように、FPGA10では、論理回路118が論理回路M118aと、論理回路C118bとで二重化している。
また、FPGA10において、論理回路M118aの出力信号131aと論理回路C118bの出力信号131bとは、選択回路115と比較回路116に入力されている。なお、図4において、デジタル信号62、制御信号63及び比較結果信号133については、図1で説明済みであるので、ここでの説明を省略する。なお、図4において、検査回路114は図示省略してある。
図5は、第1実施形態に係るFPGAの動作モードを表す表を示す図である。適宜、図1及び図4を参照する。
図5に示す表において、「モード」は動作モードを示し、「書き込み対象」は構成データが書き込まれる対象を示している。「CRCチェック」は、CRCチェックが行われるか否かを示し、「選択」は論理回路118による出力選択が行われるか否かを示している。そして、「比較」は論理回路118の出力の比較が行われるか否かを示している。
つまり、以下において、「選択」とは、選択回路115による論理回路118の出力の選択のことである。また、「比較」とは、比較回路116による論理回路118の出力の比較である。そして、「CRCチェック」とは、検査回路114によるCRCチェックである。
ここで、「モード1」は、FPGA10の全体構成を行う動作モードであり、制御装置1が最初に起動したときに行われる動作モードである。例えば、この動作モードは、工場から出荷された後、初めて制御装置1に電源が入れられたときに行われるものである。図5に示すように、「モード1」において、書き込み対象は、全体、すなわち、CRAMM119a及びCRAMC119bの双方に対して行われる。また、「モード1」において、CRCチェック、論理回路118の出力選択、論理回路M118aの出力と論理回路C118bの出力との比較は行われない(「無」)。
「モード2」は、二重化モードである。「モード2」において、構成データの書き込み及びCRCチェックは行われない(「無」)。また、ここでは、「モード2」において、論理回路118の出力として論理回路M118aの出力が選択される、また、論理回路M118aの出力と論理回路C118bの出力との比較が行われる(「有」)。なお、論理回路118の出力として、論理回路C118bの出力が選択されてもよい。
「モード3」は、論理回路C118bによる一重化モードである。「モード3」において、構成データの書き込み対象はCRAMM119aである。また、「モード3」において、CRCチェックはCRAMC119bに対して行われる。そして、「モード3」において論理回路118の出力として論理回路C118bの出力が選択され、論理回路M118aの出力と論理回路C118bの出力との比較は行われない(「無」)。
すなわち、「モード3」では、動作しているのが論理回路C118bのみであるので、論理回路118の出力比較は行うことができず、その代わりに、CRAMC119bに対してCRCチェックが行われることで、CRAMC119bのチェックが行われる。また、動作しているのが論理回路C118bのみであるので、選択回路115は論理回路C118bの出力を選択することとなる。
「モード4」は、論理回路M118aによる一重化モードである。「モード4」において、構成データの書き込みは、CRAMC119bに対して行われる。また、「モード4」において、CRCチェックは、CRAMM119aに対して行われる。そして、「モード4」において、論理回路118の出力として論理回路M118aの出力が選択され、論理回路M118aの出力と論理回路C118bの出力との比較は行われない(「無」)。
すなわち、「モード4」では、動作しているのが論理回路M118aのみであるので、論理回路118の出力比較は行うことができず、その代わりに、CRAMM119aに対してCRCチェックが行われる。また、動作しているのが論理回路M118aのみであるので、選択回路115は論理回路M118aの出力を選択することとなる。
(全体フローチャート)
図6は、第1実施形態に係る制御装置における全体フローチャートを示す図である。適宜、図1及び図2を参照する。なお、図6の処理は、制御装置1が最初に起動したときに行われる処理である。例えば、工場から出荷された後、初めて制御装置1に電源が入れられたときに行われる処理である。
まず、CPU30は、FPGA10の再構成制御回路111のレジスタに対し、以下の設定を行うことで、動作モードを図5における「モード1」とする(S101)。
(1)書き込み対象は「全体」である。すなわち、CRAMM119a及びCRAMC119bの双方に対し、同時に構成データが書き込まれる。
(2)CRCチェックは行われない。
(3)選択回路115による出力選択は行われない。
(4)比較回路116による出力比較は行われない。
次に、CPU30は、メモリ40に格納されているFPGA10の全体構成データを読み出し、FPGA10に転送する(S102)。全体構成データは、CRAMM119a及びCRAMC119bの双方に対し、同時に書き込まれる構成データであり、上位装置4等から送られてくるデータである。
そして、FPGA10のCRAM書き込み回路112は、全体構成データをCRAMM119a及びCRAMC119bに書き込む(S103)。ここで、CRAM書き込み回路112は、CRAMM119a及びCRAMC119bの双方に対し、同時に全体構成データを書き込む。
次に、CPU30は、FPGA10にリセット信号66を出力する(S104)。これにより、FPGA10におけるレジスタがリセットされる。ここで、リセットされるレジスタは、論理入出力回路M120a、論理入出力回路C120b、選択回路115、比較回路116、割り込み発生回路117、CRAM読み出し回路113、検査回路114等のレジスタである。なお、リセットされるレジスタは、これらの回路に限らず、必要な回路のレジスタが適宜リセットされる。
そして、CPU30がリセット信号66の出力を停止することで、FPGA10は、レジスタのリセットを解除する(S105)。これにより、FPGA10が動作を開始する。
このようにリセット解除することで、論理回路M118aと論理回路C118bとの動作開始のタイミングを合わせることができる。
CPU30は、FPGA10の再構成制御回路111のレジスタに対し、以下の設定を行うことで、動作モードを図5に示す「モード1」から「モード2」へ移行させる(S106)。
(1)書き込み対象はない。
(2)CRCチェックは行われない。
(3)選択回路115は、論理回路M118aの出力を選択する。
(4)比較回路116による出力比較が行われる。
その後、FPGA10は、二重化モードで動作を開始する(S107)。
(再構成処理)
図7は、第1実施形態に係るFPGAにおける再構成処理の手順を示すフローチャートである。ここで、図7に示される処理は、図6に示される処理の終了後、FPGA10のアップデート時等で行われる処理である。適宜、図2及び図1を参照する。
なお、図7に示す処理は、例えば、1年に1回、1週間に1回又は1日に1回等といった周期で行われ、時間にして数分程度で終了するものである。
まず、通信LSI50(図2参照)は、上位装置4(図3参照)等から構成データを受信し(図7のS201)、メモリ40に格納する。ここで受信される構成データは、論理回路118の再構成を行うための構成データである。
受信する構成データは、論理回路M118a(CRAMM119a)の構成データと、論理回路C118b(CRAMC119b)の構成データとの2つである。ここで、受信される構成データは、同じ内容を有している。
そして、CPU30は、メモリ40に論理回路118の構成データが格納されたことを検知すると、FPGA10の設定を行う。
ここで、論理回路118の更新は、論理回路M118a、論理回路C118bの順番に行われるものとする。これは、設計者等によって予め決められているものである。従って、動作モードが一致していれば、論理回路C118b、論理回路M118aの順に更新されてもよい。
ステップS202において、CPU30は、FPGA10の再構成制御回路111のレジスタに対し、以下の設定を行うことで、図5に示す「モード2」から「モード3」へ動作モードを移行する(S202)。
(1)書き込み対象はCRAMM119aである。
(2)CRAMC119bに対して、CRCチェックが行われる(CRAM119aに対するCRCチェックは無効)。
(3)選択回路115は論理回路C118bの出力を選択する。
(4)比較回路116による出力比較は行われない。
次に、FPGA10は、論理回路C118bによる一重化モードで動作を開始する(S203)。すなわち、FPGA10では、論理回路C118bのみが動作し、CRAMM119aが書き換えられる。また、検査回路114は、CRAMC119bに対してCRCチェックを行う。
続いて、CPU30は、メモリ40に格納されているCRAMM119aの構成データを読み出し、読みだした構成データをFPGA10に転送する(S204)。
さらに、FPGA10のCRAM書き込み回路112は、転送されてきた構成データをCRAMM119aに書き込む(S205)。
そしてCPU30は、FPGA10のCRAMM119aの再構成が終了したか否かを判定する(S206)。
ステップS206の結果、CRAMM119aの再構成が終了していない場合(S206→No)、CPU30はステップS206へ処理を戻す。
ステップS206の結果、CRAMM119aの再構成が終了している場合(S206→Yes)、CPU30は、FPGA10の再構成制御回路111のレジスタに対し、以下の設定を行うことで、図5に示す「モード3」から「モード4」へ動作モードを移行する(S211)。
(1)書き込み対象はCRAMC119bである。
(2)CRAM119aに対して、CRCチェックが行われる(CRAMC119bに対するCRCチェックは無効)。
(3)選択回路115は論理回路M118aの出力を選択する。
(4)比較回路116による出力比較は行われない。
次に、FPGA10は、論理回路M118aによる一重化モードで動作を開始する(S212)。すなわち、FPGA10では、論理回路M118aのみが動作し、CRAMC119bが書き換えられる。また、検査回路114は、CRAMM119aに対してCRCチェックを行う。
続いて、CPU30は、メモリ40に格納されているCRAMC119bの構成データを読み出し、読み出した構成データをFPGA10に転送する(S213)。
そして、FPGA10のCRAM書き込み回路112は、転送された構成データをCRAMC119bに書き込む(S214)。
さらに、CPU30は、FPGA10のCRAMC119bの再構成が終了したか否かを判定する(S215)。
ステップS215の結果、CRAMC119bの再構成が終了していない場合(S215→No)、CPU30はステップS215へ処理を戻す。
ステップS215の結果、CRAMC119bの再構成が終了している場合(S215→Yes)、CPU30は、FPGA10の再構成制御回路111のレジスタに対し、以下の設定を行うことで、図5に示す「モード4」から「モード2」(二重化モード)へ動作モードを移行する(S221)。
(1)書き込み対象はない。
(2)CRCチェックは行われない。
(3)選択回路115は、論理回路M118aの出力を選択する。
(4)比較回路116による出力比較が行われる。
その後、FPGA10は、二重化モードで動作を開始する(S222)。
なお、本実施形態では、図7のステップS201において、論理回路M118a(CRAMM119a)の構成データと、論理回路C118b(CRAMC119b)の構成データの2つを受信しているが、これに限らない。例えば、ステップS201において、論理回路M118a(CRAMM119a)の構成データを受信し、ステップS211の前で論理回路C118b(CRAMC119b)の構成データを受信するようにしてもよい。
論理回路118を二重化したFPGA10において、論理回路118の再構成中ではマスタ/チェッカ方式による論理回路118のチェックができず、信頼性が低下しまう。本実施形態に示すFPGA10によれば、二重化した論理回路118のうち、再構成処理が行われていないCRAM119に対して、CRCチェックを行うことで、再構成中における論理回路118の出力に対する信頼性を向上させることができる。
一般に、出力比較による出力チェックは、比較している論理回路118の出力が同じであれば、即、エラーを検出できる。これに対し、CRCチェックは、CRAM119の構成データをグループ毎に読み出し、順にすべてのグループについてCRCチェックを行わなければならず、エラー検出に要する検出時間が出力比較による出力チェックよりもかかる。なお、前記したように、CRCコードは、グループ毎に分けられた構成データに対して、グループ毎に付加されている。
第1実施形態では、FPGA10が動作している時間の大半を占める二重化モードでは、比較回路118による出力チェックを行うことで、動作チェックの即時性を高めることができる。
また、選択回路115を有することにより、二重化モードでFPGA10が動作している際において出力を1つにすることができ、制御装置1(図2参照)の動作を安定させることができる。
そして、再構成中におけるCRCチェックの結果、エラーが検出された場合、運用者はシステムZ(図3参照)の運用を停止させる等の安全措置をとることができ、システムZの信頼性を向上させることができる。すなわち、近年のインフラストラクチャ業界では、ネットワーク機能や、ストレージ機能等のハードウェア資源を仮想化し、ソフトウェアで制御するSDX(Software-Defined Anything)の動きが始まっている。本実施形態によれば、このようなSDX技術におけるネットワーク機能や、ストレージ機能の高性能化に欠かせないプログラマブルデバイスを用いて、信頼性のレベルを維持しつつ、論理回路118のアップデートを可能とすることができる。
<第2実施形態>
次に、図8及び図9を参照して、本発明の第2実施形態を説明する。第2実施形態では、論理回路118を3重化したFPGA10aについて説明する。
図8は、第2実施形態に係るFPGAの簡略的な機能ブロック図である。
FPGA10aでは、論理回路118が論理回路A118A、論理回路B118B及び論理回路D118Dとして3重化している。
そして、FPGA10aにおいて、論理回路A118Aの出力信号131Aと、論理回路B118Bの出力信号131Bと、論理回路D118Dの出力信号131Dは、選択回路115と比較回路116に入力されている。また、検査回路114には、CRAM読み出し回路113によって読み出されたCRAMD119Dの構成データ(信号142,143)が入力されている。後記するように、第2実施形態の例では、CRAMD119Dの構成データのみが検査回路114に入力されていればよい。以下において、「選択」とは、選択回路115による論理回路118の出力の選択のことである。また、「比較」とは、比較回路116による論理回路118の出力の比較である。そして、「CRCチェック」とは、検査回路114によるCRCチェックである。
なお、図8において、デジタル信号62、制御信号63及び比較結果信号133については、図1におけるものと同様であるので、ここでの説明を省略する。
また、論理回路A118AにはCRAMA119A(119)が搭載され、論理回路B118BにはCRAMB119B(119)が搭載され、論理回路D118DにはCRAMD119D(119)が搭載されている。
なお、論理回路A118A、論理回路B118B及び論理回路D118Dの間に、第1実施形態のようなマスタ、チェッカの区別はない。
図9は、第2実施形態に係るFPGAの動作モードを表す表を示す図である。適宜、図1及び図8を参照する。また、図9における表示おいて、各項目は図5と同様であるので、ここでの説明は省略する。
「モード1」は、FPGA10の全体構成を行う動作モードである。「モード1」において、構成データの書き込みは、CRAMA119Aと、CRAMB119Bと、CRAMD119Dに対して、すなわち、CRAM119全体に対して行われる。また、CRCチェック、論理回路118の出力の選択、論理回路A118A、論理回路B118B、論理回路D118Dの出力に対する比較は行われない(「無」)。なお、「モード1」は制御装置1が最初に起動したときに行われる処理である。例えば、工場から出荷された後、初めて制御装置1に電源が入れられたときに行われる処理である。
「モード2」は、3重化モードである。「モード2」において、CRAM119への構成データの書き込みと、CRCチェックは行われない(「無」)。また、「モード2」において、論理回路118の出力の選択は、論理回路A118A、論理回路B118B、論理回路D118Dの多数決結果となる。そして、「モード2」において、3つの論理回路A118A、論理回路B118B、論理回路D118Dの出力に対して比較が行われる(「有」)。
「モード3」は、論理回路B118Bと論理回路D118Dによる二重化モードである。「モード3」において、CRAM119への書き込みは、CRAMA119Aに対して行われる。また、「モード3」において、CRCチェックは行われない(「無」)。そして、「モード3」において、論理回路118の出力として論理回路B118Bの出力が選択される。さらに、論理回路B118Bの出力と論理回路D118Dの出力との比較が行われる(「有」)。
「モード3」では、CRAMA119Aが書き込み中であり、CRAMB119B及びCRAMD119Dは書き込み前の状態である。このような場合、論理回路B118Bと論理回路D118Dとの出力の比較を行うことができるため、CRCチェックは行われず、論理回路B118B及び論理回路D118Dの出力とが比較されることでFPGA10aの出力(動作)がチェックされる。また、選択回路115は、論理回路B118Bの出力を選択する。なお、ここで、選択回路115が選択する出力は設計者が適宜設定することができるものであり、論理回路D118Dの出力が選択されてもよい。
「モード4」は、論理回路D118Dによる一重化モードである。「モード4」において、構成データの書き込みは、CRAMB119Bに対して行われる。また、「モード4」において、CRCチェックは、CRAMD119Dに対して行われる。そして、「モード4」において、論理回路118の出力は、論理回路D118Dの出力が選択され、論理回路A118A、論理回路B118B、論理回路D118Dの出力に対する比較は行われない(「無」)。
「モード4」では、CRAMA119Aが書き込み完了の状態であり、CRAMB119Bが書き込み中であり、CRAMD119Dが書き込み前の状態である。このような状態では、動作可能な論理回路A118Aと、論理回路D118Dとの出力が異なる可能性があるため、論理回路A118Aと論理回路D118Dとの比較で出力チェックを行うことはできない。また、書き込み後のCRAMA119A、及び、書き込み前のCRAMD119Dのうち、信頼性が高いのは書き込み前のCRAMD119Dである。従って、選択回路115は論理回路D118Dの出力を選択し、検査回路114はCRAMD119Dに対してCRCチェックを行い、CRCチェック結果信号144を出力する。
「モード5」は、論理回路A118Aと論理回路B118Bによる二重化モードである。「モード5」において、書き込みはCRAMD119Dに対して行われる。また、「モード5」において、CRCチェックは行われない(「無」)。そして、「モード5」において、論理回路118の出力として論理回路A118Aの出力が選択される。また、論理回路A118Aの出力と論理回路B118Bの出力とが比較される(「有」)。
「モード5」では、CRAMA119A及びCRAMB119Bが書き込み完了の状態であり、CRAMD119Dが書き込み中である。このような場合、論理回路A118Aと論理回路B118Bとの出力の比較を行うことができるため、CRCチェックは行われず、論理回路A118A及び論理回路B118Bの出力が比較されることでFPGA10aの出力がチェックされる。また、選択回路115は、論理回路A118Aの出力を選択する。なお、ここで、選択回路115が選択する出力は設計者が適宜設定することができるものであり、論理回路B118Bの出力が選択されてもよい。
このように、第2実施形態では、「モード4」のみがCRCチェックを行うため、図8に示すように、検査回路114はCRAMD119Dの構成データを取得するようにすればよい。
このように三重化を行うことで、再構成を行っている時間のうち、およそ66%で比較を行うことができる。すなわち、第1実施形態では再構成を行っている間は、すべてCRCチェックが行われることになるが、第2実施形態では、図9において再構成が行われている動作モード「モード3」〜「モード5」のうち、「モード3」及び「モード5」で比較回路116による論理回路118の出力比較を行うことができる。すなわち、再構成を行っている時間のうち2/3(およそ66%)の時間で論理回路118の出力比較を行うことができる。
一般に、出力比較による出力チェックは、比較している論理回路118の出力が同じであれば、即、エラーを検出できる。これに対し、CRCチェックは、CRAM119の構成データをグループ毎に読み出し、順にすべてのグループについてCRCチェックを行わなければならず、エラー検出に要する検出時間が出力比較による出力チェックよりもかかる。なお、前記したように、CRCコードは、グループ毎に分けられた構成データに対して、グループ毎に付加されている。
このように、出力比較による出力チェックは、CRCチェックよりもエラー検出の即時性に優れている。従って、第2実施形態に係る制御装置1は第1実施形態に係る制御装置1よりも即時性にすぐれた動作チェックを行うことができる。
また、第2実施形態に係るFPGA10では、「モード4」において、書き換えが完了したCRAMA119Aと、書き換え中のCRAMB119Bと、書き換え前のCRAMD119Dとが混在している場合、選択回路115は信頼性の高い論理回路D118Dの出力を選択する。このようにすることで、FPGA10aは、信頼性の向上を図ることができる。
そして、選択回路115を有することにより、二重化モードでFPGA10aが動作している際において出力を1つにすることができ、制御装置1(図2参照)の動作を安定させることができる。また、三重化モードでは、3つの論理回路118の出力の多数決を出力とすることで、三重化モードでFPGA10aが動作している際において出力を1つにすることができ、制御装置1(図2参照)の動作を安定させることができる。
なお、第2実施形態における制御装置1で行われる論理回路更新処理は、図7に示す処理を三重化したものとすればよい。以下の動作モードは、図9に示す動作モードである。
すなわち、まず、FPGA10aは、図6の全体フローチャートの最後に三重化モード(「モード2」)で動作を開始する。
その後、FPGA10aが構成データを受信すると(図7のステップS201に相当)、CPU30は、FPGA10aの再構成制御回路111のレジスタに対し、動作モードを「モード2」から「モード3」へ移行する設定を行う。その後、FPGA10aは、論理回路B118B及び論理回路D118Dの二重化モードで動作し、CRAMA119Aの再構成が行われる。
そして、CPU30は、CRAMA119Aの再構成が終了したことを確認すると、CPU30は、FPGA10aの再構成制御回路111のレジスタに対し、動作モードを「モード3」から「モード4」へ移行する設定を行う。その後、FPGA10aは、論理回路D118Dの一重化モードで動作し、CRAMB119Bの再構成が行われる。
さらに、CPU30は、CRAMB119Bの再構成が終了したことを確認すると、CPU30は、FPGA10aの再構成制御回路111のレジスタに対し、動作モードを「モード4」から「モード5」へ移行する設定を行う。その後、FPGA10aは、論理回路A118A及び論理回路B118Bの二重化モードで動作し、CRAMD119Dの再構成が行われる。
そして、CPU30は、CRAMD119Dの再構成が終了したことを確認すると、CPU30は、FPGA10aの再構成制御回路111のレジスタに対し、動作モードを「モード5」から「モード2」へ移行する設定を行う。その後、FPGA10aは、三重化モードで動作する。
なお、図9に示す各動作モードは、CRAMA119A→CRAMB119B→CRAMD119Dの順に再構成が行われることを想定しているが、再構成の順番は、これに限らない。
つまり、再構成が行われている間において、
(1)最初のCRAM119において再構成が行われている間、CRCチェックは行われない。また、選択回路115は再構成が行われていない論理回路118のうち、一方の論理回路118の出力を選択する。そして、比較回路116は再構成が行われていない論理回路118の出力比較を行う(図9の「モード3」に相当)。
(2)2番目のCRAM119において再構成が行われている間、再構成が行われていないCRAM119についてCRCチェックが行われる。また、選択回路115は、再構成が行われていない論理回路118うち、一方の論理回路118の出力を選択する。CRCチェック及び出力選択の対象は、再構成が、まだ行われていない論理回路118が望ましい。そして、比較回路116による出力比較は行われない(図9の「モード4」に相当)。
(3)3番目のCRAM119において再構成が行われている間、CRCチェックは行われない。また、選択回路115は再構成が行われていない論理回路118のうち、一方の論理回路118の出力を選択する。そして、比較回路116は再構成が行われていない論理回路118の出力比較を行う(図9の「モード5」に相当)。
<第3実施形態>
図10は、第3実施形態に係るシステムを適用した風力発電装置の構成図である。
風力発電装置400は、大きく4つの部分を含んで構成されている。1つめは、風を受けて回転する3枚のブレード401である。2つめは、ブレード401が取り付けられているロータヘッド402である。3つめは、増速機407や発電機409を収納するナセル403である。4つめは、ナセル403を支えるタワー404である。
ブレード401が風を受けて回転すると、ロータ軸405を通じて、増速機407でロータ軸405の回転が増幅される。軸受け406は、ロータ軸405を回転自在に支持する。増速機407の出力軸408は、発電を行う発電機409に接続される。振動センサ410は、軸受け406や発電機409に取り付けられ、出力信号がケーブル411を通じて状態監視装置412に伝達される。
状態監視装置412は、収集した振動センサ410の信号をデータ化する。振動センサ410のデータは、状態監視装置412の中で異常検出を行うための信号処理が行われる。あるいは、状態監視装置412が、通信ケーブル413を通じて、振動センサ410のデータをタワー404の下にある制御装置414に送る。制御装置414は、ケーブル415及びネットワーク3(図3参照)を介して、上位装置4(図3参照)や遠隔地にあるサーバに振動センサ410のデータを送って、解析を行わせることもできる。解析の結果、風力発電装置400の機器に劣化や、故障の前兆がみられれば、その機器を交換する等といった、O&M(Operation & Maintenance)を行うことができる。
図10では、風力発電装置400に本実施形態を適用した例を示したが、本実施形態に係る制御装置1の適用は、これに限らない。
本実施形態に係る制御装置1(図3参照)は、図10の状態監視装置412に相当する。また、振動センサ410が図3のセンサ5に相当する。なお、図10では、図3のアクチュエータ6に相当する構成は図示していない。この場合、状態監視装置412に再構成可能なFPGA10(図1参照)を使用して信号処理を行わせ、論理回路118(図1参照)を二重化してソフトエラーを検出できるようにする。また、制御装置1は、ネットワーク3(図3参照)を経由して、論理回路118のアップデートデータを入手し、二重化した論理回路118を再構成により動作させながら更新する。
本実施形態に係る制御装置1は、図10に示す風力発電装置400の他にも変電所内通信等に適用することが可能である。
また、本実施形態では、一重化処理の際におけるCRAM119のチェック方法として、CRCチェックが行われているが、これに限らず、ECC(Error Correcting Code)チェックが用いられてもよい。CRCチェックはチェックに必要なデータの容量がECCチェックよりも少なくてすみ、ECCチェックは生じた誤りを訂正することができる。
また、本実施形態では、原則として論理回路118の優先順位を定義していないが、複数の論理回路118の間の優先順位を、論理回路118の重要度に応じて予め決定しておいてもよい。この場合、例えば、制御装置1から検査回路114におけるCRCチェックによるエラー情報を受信した上位装置4が、エラーを検出した論理回路118の重要度に応じて異なった表示をしてもよい。このようにすることにより、ユーザは、緊急にFPGA10,10aの交換を行うべきか否かを判断することができる。
さらに、論理回路118を細分化し、細分化した論理回路毎に出力の選択、比較、CRCチェックが行われてもよい。例えば、図1の論理入出力回路M120aを前段の回路と、後段の回路とに分け、さらに、論理入出力回路C120bを前段の回路と、後段の回路とに分ける。そして、論理入出力回路M120aを前段の回路の出力と、論理入出力回路C120bを前段の回路の出力を入力信号とする選択回路115及び比較回路116が設けられる。同様に、論理入出力回路M120aを後段の回路の出力と、論理入出力回路C120bを後段の回路の出力を入力信号とする選択回路115及び比較回路116が設けられる。このように論理回路118を細分化することで、1つ1つの論理回路118の規模が小さくなり、再構成の時間を短くすることができる。
また、論理回路118を細分化することで、信頼性を必要とする重要度の高い部分と、それほど信頼性を必要としない重要度の低い部分とに分けることができる。そして、重要度の高い部分に該当するCRAM119の部分のみについてCRCチェックを行ったり、重要度の高い部分にエラーが検出された場合、優先的に再構成が行われたりする等、重要度に応じた対応を行うことができる。
本発明は前記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を有するものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
図1に示す各構成、機能等は、CPU30等のプロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。例えば、図1に示す再構成制御回路111、CRAM書き込み回路112、CRAM読み出し回路113、検査回路114、選択回路115、比較回路116及び割り込み発生回路117がソフトウェアによって実現されてもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、HD(Hard Disk)に格納すること以外に、メモリ40や、SSD(Solid State Drive)等の記録装置、又は、IC(Integrated Circuit)カードや、SD(Secure Digital)カード、DVD(Digital Versatile Disc)等の記録媒体に格納することができる。
また、各実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には、ほとんどすべての構成が相互に接続されていると考えてよい。
1 制御装置
2 通信処理装置
3 ネットワーク
4 上位装置
5 センサ
6 アクチュエータ
10,10a FPGA(プログラマブルデバイス)
20 A/D変換器
30 CPU
40 メモリ
50 通信LSI
63 制御信号(処理の結果)
111 再構成制御装置
112 CRAM書き込み装置
113 CRAM読み出し装置
114 検査回路(検査部)
115 選択回路(選択部)
116 比較回路(比較部)
117 割り込み発生回路
118 論理回路
118a 論理回路M
118b 論理回路C
118A 論理回路A
118B 論理回路B
118D 論理回路D
119 CRAM(構成メモリ)
119a CRAMM
119b CRAMC
119A CRAMA
119B CRAMB
119D CRAMD
120 論理入出力回路
120a 論理入出力回路M
120b 論理入出力回路C

Claims (10)

  1. 格納されているデータが書き換えられることで、出力を変化させることができる論理回路を複数有するとともに、
    前記論理回路に格納されているデータを検査する検査部を有し、
    前記論理回路のうち、所定の論理回路において前記書き換えが行われている際に、前記書き換えが行われていない論理回路において、前記検査部による検査が行われる
    ことを特徴とするプログラマブルデバイス。
  2. 前記論理回路におけるデータの前記書き換えが行われていない時、それぞれの前記論理回路の出力を比較する比較部
    を有することを特徴とする請求項1に記載のプログラマブルデバイス。
  3. 前記プログラマブルデバイスは、2つの前記論理回路を有し、
    当該2つの前記論理回路のうち、所定の論理回路の出力を出力する選択部を
    有することを特徴とする請求項2に記載のプログラマブルデバイス。
  4. 前記プログラマブルデバイスは、3つの前記論理回路を有し、
    前記3つの前記論理回路のうち、1つの前記論理回路が書き換え中であり、2つの前記論理回路が書き換え前の状態である場合、及び、1つの前記論理回路が書き換え中で、2つの前記論理回路の書き換えが完了している状態である場合、前記比較部による比較が行われるが、前記検査部による検査は行われず、
    1つの前記論理回路が書き換え中であるとともに、1つの前記論理回路が書き換え前の状態であり、かつ、1つの前記論理回路における前記書き換えが完了している状態である場合、前記比較部による比較は行われず、前記書き換え前の状態である前記論理回路のデータが、前記検査部によって検査される
    ことを特徴とする請求項2に記載のプログラマブルデバイス。
  5. 前記3つの前記論理回路の出力を選択して出力する選択部を有し、
    前記選択部は、
    前記3つの前記論理回路のすべてにおいて、書き換えが行われていない場合、前記3つの前記論理回路の出力の多数決に基づいて出力を行い、
    前記3つの前記論理回路のうち、いずれかの前記論理回路において、前記書き換えが行われている場合、書き換えが行われていない前記論理回路のうち、所定の前記論理回路の出力が選択される
    ことを特徴とする請求項4に記載のプログラマブルデバイス。
  6. 前記選択部は、
    前記書き換えが完了している前記論理回路と、前記書き換えが行われる前の前記論理回路とがある場合、前記書き換えが完了している前記論理回路の出力を優先する
    ことを特徴とする請求項5に記載のプログラマブルデバイス。
  7. 前記検査部は、
    前記論理回路に書き込んだデータが変化していない否かの検査を行うことで、前記論理回路に格納されているデータを検査する
    ことを特徴とする請求項1に記載のプログラマブルデバイス。
  8. 前記論理回路に書き込んだデータが変化していない否かの検査は、CRC(Cyclic Redundancy Check)チェックである
    ことを特徴とする請求項7に記載のプログラマブルデバイス。
  9. 前記論理回路に書き込んだデータが変化していない否かの検査は、ECC(Error Correcting Code)チェックを行う
    ことを特徴とする請求項7に記載のプログラマブルデバイス。
  10. 格納されているデータが書き換えられることで、出力を変化させることができる論理回路を複数有するとともに、
    前記論理回路に格納されているデータを検査する検査部を有し、
    前記論理回路のうち、所定の論理回路において前記書き換えが行われている際に、前記書き換えが行われていない論理回路において、前記検査部による検査が行われる
    プログラマブルデバイスを備え、
    外部装置からの入力を前記プログラマブルデバイスによって処理を行った後、前記処理の結果を出力する
    ことを特徴とする制御装置。
JP2016093671A 2016-05-09 2016-05-09 プログラマブルデバイス及び制御装置 Pending JP2017204664A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016093671A JP2017204664A (ja) 2016-05-09 2016-05-09 プログラマブルデバイス及び制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016093671A JP2017204664A (ja) 2016-05-09 2016-05-09 プログラマブルデバイス及び制御装置

Publications (1)

Publication Number Publication Date
JP2017204664A true JP2017204664A (ja) 2017-11-16

Family

ID=60321613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016093671A Pending JP2017204664A (ja) 2016-05-09 2016-05-09 プログラマブルデバイス及び制御装置

Country Status (1)

Country Link
JP (1) JP2017204664A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110441592A (zh) * 2019-09-17 2019-11-12 贵州电网有限责任公司 一种gis用电子式互感器采集单元的采样预警系统和方法
JP7142731B2 (ja) 2019-02-12 2022-09-27 三菱電機株式会社 プログラマブルデバイス
US20220360264A1 (en) * 2021-05-06 2022-11-10 Siemens Aktiengesellschaft Electrical equipment and method for rectifying device faults

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7142731B2 (ja) 2019-02-12 2022-09-27 三菱電機株式会社 プログラマブルデバイス
CN110441592A (zh) * 2019-09-17 2019-11-12 贵州电网有限责任公司 一种gis用电子式互感器采集单元的采样预警系统和方法
CN110441592B (zh) * 2019-09-17 2024-05-07 贵州电网有限责任公司 一种gis用电子式互感器采集单元的采样预警系统和方法
US20220360264A1 (en) * 2021-05-06 2022-11-10 Siemens Aktiengesellschaft Electrical equipment and method for rectifying device faults
US11764788B2 (en) * 2021-05-06 2023-09-19 Siemens Aktiengesellschaft Electrical equipment and method for rectifying device faults

Similar Documents

Publication Publication Date Title
CN103930878B (zh) 用于存储器验证的方法、装置及系统
JP6003350B2 (ja) 監視装置、情報処理装置、及び監視方法
TWI632462B (zh) 開關裝置及偵測積體電路匯流排之方法
WO2014130005A1 (en) Testing and repair of a hardware accelerator image in a programmable logic circuit
CN102301339A (zh) 用于控制固态盘(ssd)设备的装置和方法
US20170228225A1 (en) System and method for preserving value and extending life of legacy software in face of processor unavailability, rising processor costs, or other issues
TWI620061B (zh) 伺服器的偵錯裝置及其偵錯方法
JP2017204664A (ja) プログラマブルデバイス及び制御装置
JP6290934B2 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
US10157005B2 (en) Utilization of non-volatile random access memory for information storage in response to error conditions
EP2620875A1 (en) Address translation inspection device, central processing device, and address translation inspection method
JP2014153964A (ja) マイクロプログラムを更新可能な電子機器
Shibin et al. On-line fault classification and handling in IEEE1687 based fault management system for complex SoCs
US20190205218A1 (en) Parallel processing system runtime state reload
JP2013257640A (ja) コンフィグレーション制御装置、コンフィグレーション制御方法及びコンフィグレーション制御プログラム
JP2011076344A (ja) 情報処理装置,情報処理装置の制御方法および制御プログラム
US20140289398A1 (en) Information processing system, information processing apparatus, and failure processing method
JP4558376B2 (ja) コントローラ
JP2013238926A (ja) 信号処理回路およびそれを用いた試験装置
TWI615718B (zh) 電腦系統
JP4299634B2 (ja) 情報処理装置及び情報処理装置の時計異常検出プログラム
WO2008050455A1 (fr) Appareil de traitement d'anomalies de lignes d'adresses, procédé de traitement d'anomalies de lignes d'adresses, programme de traitement d'anomalies de lignes d'adresses, appareil de traitement d'informations et unité de commande de mémoire
US11733689B2 (en) Control system, programmable logic controller, and information processing method
JP5348418B2 (ja) コントローラ
JP7338608B2 (ja) 装置、方法およびプログラム