JP2015115727A - プログラマブルロジックデバイス - Google Patents

プログラマブルロジックデバイス Download PDF

Info

Publication number
JP2015115727A
JP2015115727A JP2013255528A JP2013255528A JP2015115727A JP 2015115727 A JP2015115727 A JP 2015115727A JP 2013255528 A JP2013255528 A JP 2013255528A JP 2013255528 A JP2013255528 A JP 2013255528A JP 2015115727 A JP2015115727 A JP 2015115727A
Authority
JP
Japan
Prior art keywords
error detection
circuit
logic circuit
configuration information
cram
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
JP2013255528A
Other languages
English (en)
Inventor
飯田 博之
Hiroyuki Iida
博之 飯田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013255528A priority Critical patent/JP2015115727A/ja
Publication of JP2015115727A publication Critical patent/JP2015115727A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

【課題】論理回路を3重化せずに2重化された構成であっても、演算結果不一致時に正常な演算結果を得ることを可能とし、正常な演算結果を得るために費やす時間を短縮する。【解決手段】制御部700は、演算結果比較部500により2つの論理回路からの2つの演算結果が一致しないと判定されるまでは、CRAMフレームに設定されている順序に沿ってCRAMフレームデータのエラー検知をサイクリックに行う通常エラー検知処理をエラー検知部200に行わせ、演算結果比較部500により2つの演算結果が一致しないと判定された際に、エラー検知部200の通常エラー検知処理を中止させ、2つの論理回路のうちのいずれかの論理回路を先処理論理回路として選択し、先処理論理回路のCRAMフレームデータに対するエラー検知をエラー検知部200に行わせる。【選択図】図1

Description

本発明は、論理回路が冗長化されたプログラマブルロジックデバイスに関する。
電力系統の安定供給を行い異常状態時に電気回路を保護する保護継電器(保護リレー)は、社会インフラストラクチャーに利用され信頼性が要求される。
また、保護リレーは高機能化に対応するためマイクロコンピュータやプログラマブルロジックデバイスが利用されてきている。
近年、半導体技術の進歩により、半導体デバイスの微細化、低電圧による動作が可能となった反面、中性子等の高エネルギーな放射線によるソフトエラーが問題となっている。
プログラマブルロジックデバイスの信頼性向上の方法として、プログラマブルロジックデバイス内部で構成するユーザ論理回路を2重に冗長化する方法がある。
2重冗長化では、2重化したユーザ論理回路のそれぞれの演算結果を比較し、演算結果が一致していた場合は、ユーザ論理回路は正常に動作しているものとして演算結果を利用し、演算結果が不一致の場合は、ユーザ論理回路の一方または両方が異常な状態であると判断する。
フィールド・プログラマブル・ゲート・アレイ(Field Programable Gate Array(FPGA))はプログラマブルロジックデバイスの一種であり、ユーザ論理回路の構成情報を保持する。
ユーザ論理回路の構成情報を保持するためのコンフィグレーション用メモリ(コンフィグレーションRAM(CRAM))にSRAM(Static Random Access Memory)を用いたSRAM型FPGAは、半導体技術の進歩により、大容量、低消費電力、高速動作の上で他の方式のFPGAに比べ有利である反面、CRAMのデータ化け(ソフトエラー)が発生し易いという課題がある。
SRAM型FPGAではCRAMをフレームと呼ぶ単位に分割し、CRAMのソフトエラーを検出するためにフレーム毎に巡回冗長検査(Cyclic Redundancy Check(CRC))コードを付加し、フレーム単位でのソフトエラー検出を行う。
FPGA全体では複数のフレームに対し順にCRCコードの計算と付加されたCRCコードが一致しているか否かをチェックする(CRCチェック)。
全フレームのCRCチェックが完了すると、再度最初のフレームのCRCチェックから行い、サイクリックにフレームのCRCチェックを行う。
しかし、ユーザ論理回路がソフトエラーによって異常となり、その演算結果に問題がないかどうかフレームのCRCチェックで確認しようとすると、ユーザ論理回路で演算した結果を得てから、最大でFPGA内の全フレームをチェックする時間が経過した後にCRCチェック結果が判明することになる。
ソフトエラーによる異常な演算結果が後段回路またはFPGA外部に送出せず、正常な演算結果を出力させるまでの時間間隔は、システムの動作として許容できる間隔である必要がある。
つまり、演算結果を得てからCRCチェックを経て正常な演算結果を出力するまでの時間が正常動作が可能な時間の許容範囲内であることを保証する必要があり、その為には、演算結果を得てからCRCチェック完了までの時間間隔を短くすることが望ましい。
FPGA内のユーザ論理回路を2重化し、それぞれのユーザ論理回路の演算結果を比較する従来の方法は、演算結果が不一致であった場合に、2つの演算結果の内のどちらが正しいかを判断できないという課題がある。
この課題に対応する技術として、ユーザ論理回路を3重化し、多数決論理により解決する手法が特許文献1に開示されている。
また、特許文献2では、FPGA内の2重化構成とコンフィグレーション後にソフトエラーによる場合以外に変更されない固定情報を読み出すことによりソフトエラーを検出する方法が示されている。
特開2006−157482号公報 特開2005−235074号公報
特許文献1の手法では、ユーザ論理回路を3重化するため、ユーザ論理回路が更に1つ多く必要となり、FPGAの回路規模が増大するという課題がある。
特許文献2では、エラー検出によって運用中の回路と予備の回路の切り替えを行うことが記載されている。
特許文献2では、予備回路への切り替えが開示されているものの、エラーを検出した際の演算結果の処理は記載されておらず、また正常な演算結果の判定・選択の記載もないことから、演算結果は破棄されることが考えられる。
フレームに付加されたCRCのチェック時に正常であっても、その後にソフトエラーが発生した状態で演算を行えば演算結果は異常となる。
このため、FPGA内の全フレームに対しCRCチェックをサイクリックに行う必要がある。
正常な演算結果を後段回路またはFPGA外部に出力するまでの時間は、システム要求に合った時間間隔内に収める必要があり、FPGA内の全フレームに対しCRCチェックをサイクリックに行うと、システム要求を満たさない可能がある。
本発明は、このような事情に鑑みたものであり、論理回路を3重化せずに2重化された構成であっても、演算結果不一致時に正常な演算結果を得ることを可能とし、正常な演算結果を得るために費やす時間を短縮することを主な目的とする。
本発明に係るプログラマブルロジックデバイスは、
冗長化された2つの論理回路と、
前記2つの論理回路の回路構成が示される2つの回路構成情報に対して、回路構成情報ごとにエラー検知を行うエラー検知部と、
前記2つの論理回路が演算を行う度に、前記2つの論理回路からの2つの演算結果を比較し、前記2つの演算結果が一致するか否かを判定する演算結果比較部と、
前記演算結果比較部により前記2つの演算結果が一致しないと判定されるまでは、前記2つの回路構成情報に設定されている順序に沿って回路構成情報ごとのエラー検知をサイクリックに行う通常エラー検知処理を前記エラー検知部に行わせ、前記演算結果比較部により前記2つの演算結果が一致しないと判定された際に、前記エラー検知部の前記通常エラー検知処理を中止させ、前記2つの論理回路のうちのいずれかの論理回路を先処理論理回路として選択し、前記先処理論理回路の回路構成情報に対するエラー検知を前記エラー検知部に行わせる制御部とを有することを特徴とする。
本発明によれば、2つの演算結果が一致しないと判定された場合に、通常エラー検知処理を中止して、先処理論理回路の回路構成情報に対するエラー検知を行うので、先処理論理回路の回路構成情報に対するエラー検知を即座に開始することができ、エラー検知が完了するまでの時間を短縮することができる。
このため、論理回路が2重化された構成であっても、演算結果不一致時に正常な演算結果を得ることが可能であり、また、正常な演算結果を得るために費やす時間を短縮することができる。
実施の形態1に係るFPGAの内部構成例を示す図。 実施の形態1に係る配線情報管理テーブルの例を示す図。 実施の形態1に係る電源投入から通常エラー検知処理までのフローを示すフローチャート図。 実施の形態1に係る通常エラー検知処理のフローを示すフローチャート図。 実施の形態1に係る通常エラー検知処理から演算出力正常確認処理への切り替え動作フローを示すフローチャート図。 実施の形態1に係る演算出力正常確認処理のフローを示すフローチャート図。 実施の形態1に係る演算出力正常確認処理のフローを示すフローチャート図。
実施の形態1.
図1は、本実施の形態に係るFPGA1の内部構成例を示す。
図1に示すFPGA1は、例えばSRAM型FPGAである。
本実施の形態では、FPGA1は、冗長化された2つの論理回路300、310を有する。
論理回路300、310は、同じ演算を行う。
一時記憶部400は論理回路300の演算結果である演算出力値301を一時的に記憶し、一時記憶部400は論理回路310の演算結果である演算出力値311を一時的に記憶する。
演算結果比較部500は、論理回路300からの演算出力値301と論理回路310からの演算出力値311とを比較し、2つの演算出力値が一致するか否かを判定する。
そして、演算結果比較部500は、演算出力値比較結果501を制御部700に出力する。
制御部700は、演算出力値選択指示703を出力選択部600に出力して後段回路又はFPGA外部へ出力する演算出力値を選択する。
演算出力値選択指示703は、後段回路又はFPGA外部へ出力する演算出力値を指定する信号である。
演算出力値選択指示703において演算出力値401が指定されている場合は、出力選択部600は演算出力値401を後段回路又はFPGA外部へ出力する。
演算出力値選択指示703において演算出力値411が指定されている場合は、出力選択部600は演算出力値411を後段回路又はFPGA外部へ出力する。
また、論理回路300からの演算出力値301と論理回路310からの演算出力値311が一致しない場合は、制御部700は、一時記憶部400及び一時記憶部410に演算出力値保持指示702を出力する。
演算出力値保持指示702は、演算出力値の出力の保留を指示する信号である。
CRAMフレーム100は、論理回路300の回路構成が示される回路構成情報(以下、CRAMフレームデータ101ともいう)を格納するCRAM上の領域である。
CRAMフレーム110は、論理回路310の回路構成が示される回路構成情報(以下、CRAMフレームデータ111ともいう)を格納するCRAM上の領域である。
このように、論理回路300と論理回路310は、異なるCRAMフレームに回路構成情報が格納されている。
CRCコード格納領域120、130は、それぞれ格納CRCコード値121、131を格納する。
エラー検知部200は、格納CRCコード値121を用いてCRAMフレームデータ101のCRCチェックを行い、また、格納CRCコード値131を用いてCRAMフレームデータ111のCRCチェックを行う。
CRAMフレーム番号記憶部800は、配置情報を記憶する。
配置情報は、論理回路300、310の回路構成情報がどのCRAMフレームに格納されるかを示す情報である。
配置情報は、配置配線時に生成される。
例えば、配線情報は、図2に示す配線情報管理テーブルによって論理回路の回路構成情報とCRAMフレームの対応を取る。
CRAMフレーム番号記憶部800の配置情報への設定は、FPGA1の電源投入後のコンフィグレーションによるCRAMフレーム100、110への回路構成情報のロード後に行う。
CRAMフレーム番号記憶部800への配置情報の設定方法は問わない。
本実施の形態に係るFPGA1は、以下の2つの動作モードを持ち、2つのモードを変更しながら動作する。
(1)通常エラー検知処理
(2)演算出力正常確認処理
通常エラー検知処理は、エラー検知部200が、CRAMフレームに格納された、回路構成情報からCRC値を計算し、計算したCRC値が、CRCコード格納領域の格納CRCコード値と一致しているか否かをチェックする処理(CRCチェック)である。
通常エラー検知処理でのCRCチェックは、FPGA1内の全CRAMフレームに対し行い、CRAMフレームを順番に選択し、全CRAMフレームが完了すると再び最初のCRAMフレームのCRCチェックに戻り、サイクリックに行う。
演算出力正常確認処理は、通常エラー検知処理を中断し、エラー検知部200が、演算出力値を出力する論理回路の回路構成情報が格納されたCRAMフレームのCRCチェックを実行し、チェック対象のCRAMフレームのCRCチェックで異常と判断されれば、論理回路が出力する演算出力値も異常と判断する。
より具体的には、演算結果比較部500により演算出力値301と演算出力値311が一致しないと判定されるまでは、制御部700は、エラー検知部200に連続して通常エラー検知処理を行わせる。
演算結果比較部500により演算出力値301と演算出力値311が一致しないと判定された際に、制御部700は、演算出力値保持指示702を出力するとともに、エラー検知部200の通常エラー検知処理を中止させ、2つの論理回路のうちのいずれかの論理回路を先処理論理回路として選択し、先処理論理回路のCRAMフレームデータに対するCRCチェックをエラー検知部200に行わせる。
そして、エラー検知部200によるCRCチェックの結果、先処理論理回路のCRAMフレームデータにCRCエラーがない場合に、制御部700は、演算出力値選択指示703を出力して、先処理論理回路からの演算出力値を後段回路又はFPGA外部に出力する。
一方、エラー検知部200によるCRCチェックの結果、先処理論理回路のCRAMフレームデータにCRCエラーがある場合に、制御部700は、先処理論理回路以外の論理回路を後処理論理回路として選択し、後処理論理回路のCRAMフレームデータに対するCRCチェックをエラー検知部200に行わせる。
エラー検知部200によるCRCチェックの結果、後処理論理回路のCRAMフレームデータにCRCエラーがない場合に、制御部700は、演算出力値選択指示703を出力して、後処理論理回路からの演算出力値を後段回路又はFPGA外部に出力する。
以下に、上記の各モードの動作と、モードの切り替え条件について説明する。
まず、通常エラー検知処理を説明する。
通常エラー検知処理は、図3に示すように、FPGA1に電源が投入され(ステップS11)、FPGA1のコンフィグレーション(CRAMへのFPGA回路構成情報のロードおよびCRAMフレームのCRCコード値のロード)が完了し(ステップS12)、リセットが解除され(ステップS13)、CRAMフレーム番号記憶部800への配置情報の設定(ステップS14)が完了した後に行われる(ステップS15)。
図4は、通常エラー検知処理のフローである。
通常エラー検知処理では以下を行う。
まず、制御部700が、CRCチェックを行う最初のCRAMフレーム番号を設定する(ステップS100)。
本実施の形態では最初のCRAMフレーム番号を「0」として設定する。
次に、制御部700は、エラー検知部200へCRAMフレーム番号701を出力する(ステップS101)。
最初に出力される値は、上記ステップS100で設定した値であり、本実施の形態では「0」である。
エラー検知部200は、CRAMフレーム番号701で指定されたCRAMフレームに格納された回路構成情報を読み出し、CRC値を計算する(ステップS102)。
次に、エラー検知部200は、CRAMフレーム番号701で指定されたCRAMフレームに対応するCRCコード格納領域から、格納CRCコード値を読み出し、ステップS102で計算したCRC値と一致しているか否か比較する(CRCチェック)(ステップS103)。
エラー検知部200は、ステップS103で得たCRCチェック結果201を、制御部700へ送出する(ステップS104)。
制御部700は、CRCチェック結果201が「CRCが一致」の場合は、CRCチェック対象を次のCRAMフレームに変更する(ステップS105のNoに分岐)。
一方、CRCチェック結果201が「CRCが不一致」の場合は、制御部700は、CRCの不一致が発生したことを通知する(ステップS105のYESの分岐およびステップS106)。
CRC不一致の通知は、FPGA1内のステータス・レジスタにログとして格納してもよく、FPGA1の外部ピンに不一致発生したことの信号を有効にしてもよい。
ステップS105(Noの場合)またはステップS106の後、制御部700は、FPGA1内の全CRAMフレームのCRCチェックが完了したか否か判定する(ステップS107)。
ステップS107にて、FPGA1内の全CRAMフレームが完了した場合は、制御部700は、次にCRCチェックするCRAMフレーム番号をCRCチェックを行った最初のCRAMフレーム番号にセットする。本実施の形態では「0」である(ステップS109)。
FPGA1内の全CRAMフレームが完了していない場合は、制御部700は、次にCRCチェックするCRAMフレーム番号を現在のCRAMフレーム番号に+1したものとする(ステップS108)。
ステップS108またはステップS109を実行後は、再びステップS101から実行する。
また、上記のステップS100〜S109の通常エラー検知処理と平行して、論理回路300、310から出力された、演算出力値301、311を、演算結果比較部500に入力し、演算出力値比較結果501を、制御部700へ送出する処理が行われる。
次に、モードの切り替えを説明する。
まず、通常エラー検知処理から演算出力正常確認処理へのモード切り替えを説明する。
図5は、通常エラー検知処理から演算出力正常確認処理への切り替えを行う時の動作フローである。
演算出力正常確認処理への切り替えは以下を行う。
制御部700は、演算結果比較部500から演算出力値比較結果501の受け取りを待つ(ステップS200)。
ステップS200で、演算出力値比較結果501を受け取った場合、演算出力値比較結果501が、論理回路300、310から出力された演算出力値301、311が、一致していることを示す場合は、次の演算結果比較部500から演算出力値比較結果501の受け取りを待つため、ステップS200を実行する(ステップS201のYES分岐)。
演算出力値比較結果501が、不一致だったことを示す場合(ステップS201のNO分岐)は、制御部700は、現在の通常エラー検知処理でのCRCチェックを中断させる(ステップS202)。
ステップS202実行後、エラー検知部200は、現在の通常エラー検知処理でCRCチェックしていたCRAMフレーム番号を退避する(ステップS203)。
退避先は、制御部700内でもFPGA1の外部の記憶手段でもよい。
ステップS203を実行後、制御部700は、演算出力正常確認処理を実行する動作モードに切り替え実行する(ステップS204)。
演算出力正常確認処理から通常エラー検知処理への切り替え(ステップS205)は、エラー検知部200が、ステップS203で退避したCRAMフレーム番号を取り出し、通常エラー検知処理のステップS101から実行を再開する。
次に、演算出力正常確認処理を説明する。
図6及び図7は、演算出力正常確認処理のフローである。
演算出力正常確認処理では以下を行う。
制御部700は、一時記憶部400、410へ演算出力値保持指示702を出力する(ステップS300)。
演算出力値保持指示702を受け取った一時記憶部400、410は、論理回路300、310から出力される演算出力値301、311を保持する。
次に、制御部700は、論理回路300、310から論理回路ID302、312を取得する(ステップS301)。
次に、制御部700は、ステップS301で取得した論理回路ID302、312の内、1つを選択する(ステップS302)。ここでは、論理回路ID302を選択したものとする。
制御部700は、ステップS302で選択した論理回路ID302を、CRAMフレーム番号記憶部800へ出力する(ステップS303)。
CRAMフレーム番号記憶部800は、ステップS303で出力される論理回路ID302を受け取り、配線情報管理テーブル(図2)を参照し、そのIDに対応するCRAMフレーム番号701を選択し、制御部700へ出力する(ステップS304)。
制御部700は、ステップS304で受け取った論理回路ID302に対応するCRAMフレーム番号701をエラー検知部200へ出力する(ステップS305)。
エラー検知部200は、CRAMフレーム番号701で指定されたCRAMフレーム(100)に格納された回路構成情報を読み出しCRC値を計算する(ステップS306)。
エラー検知部200は、CRAMフレーム番号701で指定されたCRAMフレーム100に対応するCRCコード格納領域120から、格納CRCコード値121を読み出し、ステップS306で計算したCRC値と一致しているか否か比較する(CRCチェック)(ステップS307)。
エラー検知部200は、ステップS307で得たCRCチェック結果201を、制御部700へ送出する(ステップS308)。
制御部700は、CRCチェック結果201でCRCが一致しているか否か判定する(ステップS309)。
ステップS309で「CRCが一致」場合は、この時に選択している論理回路ID302の論理回路300から出力され、一時記憶部400に格納された演算出力値401を選択する演算出力値選択指示703を出力選択部600へ出力する(ステップS313)。
出力選択部600は、一時記憶部400に格納された演算出力値401を、後段回路またはFPGA外部へ出力する(ステップS314)。
ステップS309で「CRCが不一致」の場合は、制御部700はステップS301で取得した論理回路ID2つに対しCRCチェックしたか否か判定する(ステップS310)。
ステップS310で既に2つの論理回路IDに対するCRCチェックが完了している場合は、制御部700は論理回路300、310共に異常であると判断し、システム異常を通知する(ステップS312)。
システム異常の通知は、FPGA内のステータス・レジスタにログとして格納してもよく、FPGAの外部ピンにシステム異常が発生したことの信号を有効にしてもよい。
ステップS310で、1つの論理回路IDのCRCチェックのみの場合は、制御部700は、この時に選択している論理回路ID302と別の論理回路ID312を選択する(ステップS311)。
そして再度、ステップS303に戻る。
つまり、制御部700は、ステップS311で選択した論理回路ID312を、CRAMフレーム番号記憶部800へ出力する(ステップS303)。
CRAMフレーム番号記憶部800は、ステップS303で出力される論理回路ID312を受け取り、配線情報管理テーブル(図2)を参照し、そのIDに対応するCRAMフレーム番号701を選択し、制御部700へ出力する(ステップS304)。
制御部700は、ステップS304で受け取った論理回路ID312に対応するCRAMフレーム番号701をエラー検知部200へ出力する(ステップS305)。
エラー検知部200は、CRAMフレーム番号701で指定されたCRAMフレーム110に格納された回路構成情報を読み出しCRC値を計算する(ステップS306)。
エラー検知部200は、CRAMフレーム番号701で指定されたCRAMフレーム110に対応するCRCコード格納領域130から、格納CRCコード値131を読み出し、ステップS306で計算したCRC値と一致しているか否か比較する(CRCチェック)(ステップS307)。
エラー検知部200は、ステップS307で得たCRCチェック結果201を、制御部700へ送出する(ステップS308)。
制御部700は、CRCチェック結果201でCRCが一致しているか否か判定する(ステップS309)。
ステップS309で「CRCが一致」の場合は、この時に選択している論理回路ID312の論理回路310から出力され一時記憶部410に格納された演算出力値411を選択する演算出力値選択指示703を出力選択部600へ出力する(ステップS313)。
出力選択部600は、ステップS131で出力される一時記憶部410に格納された演算出力値411を、後段回路またはFPGA外部へ出力する(ステップS314)。
ステップS314またはステップS312を実行した後、演算出力正常確認処理を終了し、図5のステップ205で示すモードの切り替え処理を行い通常エラー検知処理を実施する。
以上、本実施の形態では、2つの演算結果が一致しないと判定された場合に、通常エラー検知処理を中止して、先処理論理回路の回路構成情報に対するエラー検知を行うので、先処理論理回路の回路構成情報に対するエラー検知を即座に開始することができ、エラー検知に要する時間を短縮することができる。
このため、論理回路が2重化された構成であっても、演算結果不一致時に正常な演算結果を得ることが可能であり、また、正常な演算結果を得るために費やす時間を短縮することができる。
1 FPGA、100 CRAMフレーム、101 CRAMフレームデータ、110 CRAMフレーム、111 CRAMフレームデータ、120 CRCコード格納領域、121 格納CRCコード値、130 CRCコード格納領域、131 格納CRCコード値、200 エラー検知部、201 CRCチェック結果、300 論理回路、301 演算出力値、302 論理回路ID、310 論理回路、311 演算出力値、312 論理回路ID、400 一時記憶部、401 演算出力値、410 一時記憶部、411 演算出力値、500 演算結果比較部、501 演算出力値比較結果、600 出力選択部、601 正常演算出力値、700 制御部、701 CRAMフレーム番号、702 演算出力値保持指示、703 演算出力値選択指示、704 論理回路ID、800 CRAMフレーム番号記憶部。

Claims (6)

  1. 冗長化された2つの論理回路と、
    前記2つの論理回路の回路構成が示される2つの回路構成情報に対して、回路構成情報ごとにエラー検知を行うエラー検知部と、
    前記2つの論理回路が演算を行う度に、前記2つの論理回路からの2つの演算結果を比較し、前記2つの演算結果が一致するか否かを判定する演算結果比較部と、
    前記演算結果比較部により前記2つの演算結果が一致しないと判定されるまでは、前記2つの回路構成情報に設定されている順序に沿って回路構成情報ごとのエラー検知をサイクリックに行う通常エラー検知処理を前記エラー検知部に行わせ、前記演算結果比較部により前記2つの演算結果が一致しないと判定された際に、前記エラー検知部の前記通常エラー検知処理を中止させ、前記2つの論理回路のうちのいずれかの論理回路を先処理論理回路として選択し、前記先処理論理回路の回路構成情報に対するエラー検知を前記エラー検知部に行わせる制御部とを有することを特徴とするプログラマブルロジックデバイス。
  2. 前記制御部は、
    前記エラー検知部によるエラー検知の結果、前記先処理論理回路の回路構成情報にエラーがない場合に、前記先処理論理回路からの演算結果を出力先に出力することを特徴とする請求項1に記載のプログラマブルロジックデバイス。
  3. 前記制御部は、
    前記エラー検知部によるエラー検知の結果、前記先処理論理回路の回路構成情報にエラーがある場合に、前記先処理論理回路以外の論理回路を後処理論理回路として選択し、前記後処理論理回路の回路構成情報に対するエラー検知を前記エラー検知部に行わせることを特徴とする請求項2に記載のプログラマブルロジックデバイス。
  4. 前記制御部は、
    前記エラー検知部によるエラー検知の結果、前記後処理論理回路の回路構成情報にエラーがない場合に、前記後処理論理回路からの演算結果を出力先に出力することを特徴とする請求項3に記載のプログラマブルロジックデバイス。
  5. 前記エラー検知部は、
    CRC(Cyclic Redundancy Check)コードを用いたエラー検知を行うことを特徴とする請求項1に記載のプログラマブルロジックデバイス。
  6. 前記プログラマブルロジックデバイスが、
    前記2つの回路構成情報がSRAM(Static Random Access
    Memory)に記憶されているFPGA(Field Programmable Gate Array)であることを特徴とする請求項1に記載のプログラマブルロジックデバイス。
JP2013255528A 2013-12-11 2013-12-11 プログラマブルロジックデバイス Pending JP2015115727A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013255528A JP2015115727A (ja) 2013-12-11 2013-12-11 プログラマブルロジックデバイス

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013255528A JP2015115727A (ja) 2013-12-11 2013-12-11 プログラマブルロジックデバイス

Publications (1)

Publication Number Publication Date
JP2015115727A true JP2015115727A (ja) 2015-06-22

Family

ID=53529174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013255528A Pending JP2015115727A (ja) 2013-12-11 2013-12-11 プログラマブルロジックデバイス

Country Status (1)

Country Link
JP (1) JP2015115727A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3316135A1 (en) 2016-10-26 2018-05-02 Hitachi, Ltd. Control system
WO2019163227A1 (ja) * 2018-02-21 2019-08-29 日立オートモティブシステムズ株式会社 電子制御装置、構成メモリのエラー検出方法
CN112513819A (zh) * 2018-09-19 2021-03-16 日立汽车系统株式会社 电子控制装置
CN112861453A (zh) * 2021-02-08 2021-05-28 宁波大学 近似算术逻辑电路的最大绝对输出误差的计算方法
WO2021152887A1 (ja) * 2020-01-27 2021-08-05 株式会社日立製作所 プログラマブルデバイス及びこれを用いた制御コントローラ
JP2022142201A (ja) * 2021-03-16 2022-09-30 Necプラットフォームズ株式会社 情報処理装置、情報処理システム、情報処理方法およびプログラム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3316135A1 (en) 2016-10-26 2018-05-02 Hitachi, Ltd. Control system
US10313095B2 (en) 2016-10-26 2019-06-04 Hitachi, Ltd. Control system
JP7104525B2 (ja) 2018-02-21 2022-07-21 日立Astemo株式会社 電子制御装置、構成メモリのエラー検出方法
JP2019144907A (ja) * 2018-02-21 2019-08-29 日立オートモティブシステムズ株式会社 電子制御装置、構成メモリのエラー検出方法
US11360838B2 (en) 2018-02-21 2022-06-14 Hitachi Astemo, Ltd. Electronic control device and preferential error detection method of configuration memory
WO2019163227A1 (ja) * 2018-02-21 2019-08-29 日立オートモティブシステムズ株式会社 電子制御装置、構成メモリのエラー検出方法
CN112513819A (zh) * 2018-09-19 2021-03-16 日立汽车系统株式会社 电子控制装置
WO2021152887A1 (ja) * 2020-01-27 2021-08-05 株式会社日立製作所 プログラマブルデバイス及びこれを用いた制御コントローラ
JP2021117720A (ja) * 2020-01-27 2021-08-10 株式会社日立製作所 プログラマブルデバイス及びこれを用いた制御コントローラ
JP7157773B2 (ja) 2020-01-27 2022-10-20 株式会社日立製作所 プログラマブルデバイス及びこれを用いた制御コントローラ
US11822425B2 (en) 2020-01-27 2023-11-21 Hitachi, Ltd. Programmable device, and controller using the same
EP4099105A4 (en) * 2020-01-27 2024-02-28 Hitachi Ltd PROGRAMMABLE DEVICE AND CONTROLLER THEREFOR
CN112861453A (zh) * 2021-02-08 2021-05-28 宁波大学 近似算术逻辑电路的最大绝对输出误差的计算方法
CN112861453B (zh) * 2021-02-08 2023-05-12 宁波大学 近似算术逻辑电路的最大绝对输出误差的计算方法
JP2022142201A (ja) * 2021-03-16 2022-09-30 Necプラットフォームズ株式会社 情報処理装置、情報処理システム、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
JP2015115727A (ja) プログラマブルロジックデバイス
US10761925B2 (en) Multi-channel network-on-a-chip
CN100375044C (zh) 信息处理系统及其控制方法、控制程序以及冗余控制装置
US10657010B2 (en) Error detection triggering a recovery process that determines whether the error is resolvable
CN112667450B (zh) 一种可动态配置的多核处理器容错系统
US9952579B2 (en) Control device
US9367375B2 (en) Direct connect algorithm
JP2009017010A (ja) 再構成可能デバイス
JP2015018414A (ja) マイクロコンピュータ
JP2008097164A (ja) 複数の機能要素から構成されるシステムの故障監視方法
KR20140134371A (ko) 프로세서의 오류를 검출하는 장치 및 방법
EP2787401A1 (en) Method and apparatus for controlling a physical unit in an automation system
US10345801B2 (en) Ensuring a correct program sequence in a dual-processor architecture
US9053245B2 (en) Partial redundancy for I/O modules or channels in distributed control systems
US8255769B2 (en) Control apparatus and control method
JP2018194336A (ja) 異常検知装置および異常検知方法
JP2005235074A (ja) Fpgaのソフトエラー補正方法
KR101448013B1 (ko) 항공기용 다중 컴퓨터의 고장 허용 장치 및 방법
US9665447B2 (en) Fault-tolerant failsafe computer system using COTS components
US20110187404A1 (en) Method of detecting failure and monitoring apparatus
WO2014115289A1 (ja) プログラマブルデバイス及び電子システム装置
JP2012078166A (ja) 制御装置および原子力発電プラント制御システム
CN110673793B (zh) 存储设备节点事件管理方法、系统及电子设备和存储介质
CN107992018B (zh) 控制系统
JP2016066344A (ja) メモリ診断回路