JP6373154B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP6373154B2
JP6373154B2 JP2014208289A JP2014208289A JP6373154B2 JP 6373154 B2 JP6373154 B2 JP 6373154B2 JP 2014208289 A JP2014208289 A JP 2014208289A JP 2014208289 A JP2014208289 A JP 2014208289A JP 6373154 B2 JP6373154 B2 JP 6373154B2
Authority
JP
Japan
Prior art keywords
logic circuit
failure
circuit
comparator
semiconductor 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
Application number
JP2014208289A
Other languages
English (en)
Other versions
JP2016080364A (ja
Inventor
阪田 健
健 阪田
達也 細川
達也 細川
雅司 大川
雅司 大川
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 Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems Co 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 ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co Ltd
Priority to JP2014208289A priority Critical patent/JP6373154B2/ja
Publication of JP2016080364A publication Critical patent/JP2016080364A/ja
Application granted granted Critical
Publication of JP6373154B2 publication Critical patent/JP6373154B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Hardware Redundancy (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、半導体装置に関し、特に、FPGA(Field Programmable Gate Array)の高信頼性を実現するために三重化回路を有する半導体装置に関する。
FPGAは、デジタル回路の回路設計を電気的に変更可能なデバイスとして知られている。FPGAは、多数の論理ゲートを有し、論理ゲート間の論理関係と接続関係とを記述したコンフィグレーションデータを、FPGAが備えるコンフィグレーションRAMに書き込むことで、所定の論理回路として機能する。よって、コンフィグレーションデータを変更することで、ハードウェアを変更することなく容易に回路設計を変更できるため、電子機器を始として様々な製品で利用されている。
例えば、非特許文献1で述べられているように、FPGAの応用分野が広がっているが、高信頼性が要求される用途では、コンフィグレーションRAMのソフトエラーが問題となっている。その対策の1つとして、Triple Module Redundancy (TMR:三重化)が用いられている。
また、特許文献1には、三重化回路の故障判定を行う回路が開示されている。例えば、図1に構成が示されている第1実施例で、図2の比較回路で三重化されたCPUの出力を比較し、その比較結果を図3のエラー判別回路により論理をとって判定する。
特許第3229070号公報
H. Asadi and M. B. Tahoori, "Analytical Techniques for Soft Error Rate Modeling and Mitigation of FPGA-Based Designs," IEEE Trans. VLSI Systems, Vol. 15, No. 12, 2007, pp. 1320-1331.
前記特許文献1に開示されている技術では、故障の有無と多重故障を判定するが、CPUの1つに故障が発生した後、二重化動作を続けた場合に、さらに別なCPUに故障が発生しても気がつかない恐れがあり、安全性が低い。
本発明の代表的な目的は、多重故障を検出して安全性を向上する半導体装置を提供するものである。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
代表的な半導体装置は、三重化された論理回路と、前記三重化された論理回路の2個ずつの出力を比較する3個の比較器と、前記三重化された論理回路の3個の出力の多数決をとる1個の多数決回路と、前記三重化された論理回路および前記3個の比較器の故障判定を行う1個の故障判定回路と、を有する。前記故障判定回路は、故障判定論理回路と、前記故障判定論理回路の出力を保持する故障判定レジスタと、を有する。前記故障判定論理回路は、前記比較器の3個の出力と、前記故障判定レジスタの保持している値との論理をとる。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下の通りである。
代表的な効果は、多重故障を検出して安全性を向上することができる。
本発明の一実施の形態における半導体装置の構成の一例を示すブロック図である。 図1の半導体装置において、多数決回路の構成の一例を示す回路図である。 図1の半導体装置において、比較器の構成の一例を示す回路図である。 図1の半導体装置において、比較器の出力に対して可能性が高い故障状況の一例を示す説明図である。 図1の半導体装置において、故障判定回路の状態遷移の一例を示す説明図である。 図1の半導体装置において、故障判定回路の構成の一例を示す回路図である。 図1の半導体装置において、故障判定回路の真理値表の一例を示す説明図である。 図6の故障判定回路において、判定論理回路の構成の一例を示す回路図である。 図1の半導体装置において、故障判定回路の動作の一例(論理回路が故障し、さらに別の論理回路も故障した場合)を示すタイミングチャートである。 図1の半導体装置において、故障判定回路の動作の一例(比較器が故障し、さらに論理回路も故障した場合)を示すタイミングチャートである。 図1の半導体装置において、故障判定回路の動作の一例(論理回路が故障し、さらに比較器も故障した場合)を示すタイミングチャートである。 図1の半導体装置において、故障判定回路の動作の一例(比較器が故障し、さらに別の比較器も故障した場合)を示すタイミングチャートである。 本発明の一実施の形態における半導体装置を適用したFPGAの構成の一例を示すブロック図である。 図13のFPGAにおいて、故障判定回路とスクラビング回路との時間的関係の一例を示す説明図である。
以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
[実施の形態の概要]
まず、実施の形態の概要について説明する。本実施の形態の概要では、一例として、括弧内に実施の形態の対応する構成要素の符号等を付して説明する。
実施の形態の代表的な半導体装置は、三重化された論理回路(10,11,12)と、前記三重化された論理回路の2個ずつの出力を比較する3個の比較器(20,21,22)と、前記三重化された論理回路の3個の出力の多数決をとる1個の多数決回路(30)と、前記三重化された論理回路および前記3個の比較器の故障判定を行う1個の故障判定回路(40)と、を有する。前記故障判定回路は、故障判定論理回路(41)と、前記故障判定論理回路の出力を保持する故障判定レジスタ(42)と、を有する。前記故障判定論理回路は、前記比較器の3個の出力と、前記故障判定レジスタの保持している値との論理をとる。
以下、上述した実施の形態の概要に基づいた一実施の形態を図面に基づいて詳細に説明する。なお、一実施の形態を説明するための全図において、同一の部材には原則として同一の符号または関連する符号を付し、その繰り返しの説明は省略する。また、以下の一実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
[一実施の形態]
本実施の形態における半導体装置について、図1〜図14を用いて説明する。
<半導体装置>
まず、図1を用いて、本実施の形態における半導体装置の構成について説明する。図1は、この半導体装置の構成の一例を示すブロック図である。
本実施の形態における半導体装置は、3個の論理回路10,11,12と、3個の比較器20,21,22と、1個の多数決回路30と、1個の故障判定回路40とを有する。
論理回路10,11,12は、三重化された論理回路である。各論理回路10,11,12は、例えば、プロセッサなどからなり、同じ構成で、故障が無ければ、同じ動作を行い、同じ値を出力する回路である。各論理回路10,11,12の出力は、それぞれA,B,Cとする。論理回路10,11,12の各出力A,B,Cは、所定のバス幅とする(太線で図示)。
比較器20,21,22は、論理回路10,11,12に接続され、論理回路10,11,12の2個ずつの出力を比較する比較器である。比較器20は、論理回路10の出力Aと論理回路11の出力Bとを入力に持ち、この出力Aと出力Bとを比較する比較器である。この比較器20の比較結果の出力は、D0とする。比較器21は、論理回路11の出力Bと論理回路12の出力Cとを入力に持ち、この出力Bと出力Cとを比較する比較器である。この比較器21の比較結果の出力は、D1とする。比較器22は、論理回路12の出力Cと論理回路10の出力Aとを入力に持ち、この出力Cと出力Aとを比較する比較器である。この比較器22の比較結果の出力は、D2とする。
多数決回路30は、論理回路10,11,12に接続され、論理回路10,11,12の3個の出力の多数決をとる回路である。この多数決回路30は、論理回路10,11,12の出力A,B,Cを入力に持ち、この出力A,B,Cの多数決をとる回路である。この多数決回路30の多数決結果の出力は、OUTとする。
故障判定回路40は、3個の比較器20,21,22に接続され、論理回路10,11,12および比較器20,21,22の故障判定を行う回路であり、故障判定論理回路41と、故障判定レジスタ42とを有する。故障判定論理回路41は、比較器20,21,22の3個の出力D0,D1,D2と、故障判定レジスタ42の保持している値(F)との論理をとり、故障判定を行う回路である。この故障判定論理回路41の故障判定結果の出力は、Eとする。故障判定レジスタ42は、故障判定論理回路41の出力Eを入力に持ち、この出力Eを保持するレジスタである。この故障判定レジスタ42の保持する出力は、Fとする。この故障判定レジスタ42の出力Fは、故障判定論理回路41の1つの入力となる。また、この故障判定レジスタ42には、リセット信号RSTが入力される。
<多数決回路>
図2を用いて、前述した多数決回路30の構成について説明する。図2は、この多数決回路30の構成の一例を示す回路図である。図2では、所定のバス幅のうちの1ビット分を示しており、この図2の構成をバス幅に応じた個数分用いる。
多数決回路30は、論理回路10の出力A、論理回路11の出力B、論理回路12の出力Cを入力とし、この出力A,B,Cの多数決をビットごとに行う回路である。この多数決回路30では、3個の出力A,B,Cの多数決を行うことにより、出力A,B,Cのうちの2つが正しい値であれば、出力OUTは正しい値となる。
図2では、所定のバス幅のうちの1ビット分(0ビット目)を示しており、論理回路10の出力A0、論理回路11の出力B0、論理回路12の出力C0の多数決をとり、この多数決結果を出力OUT0する構成である。この多数決回路30の1ビット分は、3個の2入力のNAND(論理積の否定)ゲート101,102,103と、1個の3入力のNANDゲート104とからなる。NANDゲート101は、A0とB0とを入力として、結果を出力する。NANDゲート102は、B0とC0とを入力として、結果を出力する。NANDゲート103は、C0とA0とを入力として、結果を出力する。NANDゲート104は、NANDゲート101の出力とNANDゲート102の出力とNANDゲート103の出力とを入力とし、結果のOUT0を出力する。
<比較器>
図3および図4を用いて、前述した比較器20,21,22の構成、さらに、比較器20,21,22の出力に対して可能性が高い故障状況について説明する。図3は、この比較器20,21,22の構成の一例を示す回路図である。図3では、比較器20を例として、論理回路10,11からの出力A,Bのバス幅が8ビットの場合を示している。
比較器20は、論理回路10の出力Aと論理回路11の出力Bとを入力に持ち、この出力Aと出力Bとを比較し、この比較結果を出力D0する構成である。この比較器20は、ビットごとに排他的論理和をとり、それらの論理和をとる構成であり、これにより、AとBが1ビットでも異なると、出力D0が1となる。
図3では、2個の2入力のXNOR(排他的論理和の否定)ゲート201,202と1個の2入力のNANDゲート203とからなる第1ブロック(破線で図示)が4セットと、2個の2入力のNOR(論理和の否定)ゲート211,212と1個の2入力のNANDゲート213とからなる第2ブロック(破線で図示)が1セットとからなる。例えば、XNORゲート201,202とNANDゲート203とからなる1つの第1ブロックでは、XNORゲート201はA0とB0とを入力とし、XNORゲート202はA1とB1とを入力とし、各結果を出力する。そして、NANDゲート203は、XNORゲート201の出力とXNORゲート202の出力とを入力として、結果を出力する。他の第1ブロック(A2,B2,A3,B3、A4,B4,A5,B5、A6,B6,A7,B7)においても同様である。
さらに、NORゲート211,212とNANDゲート213とからなる第2ブロックでは、NORゲート211はA0,B0,A1,B1の第1ブロックの出力とA2,B2,A3,B3の第1ブロックの出力とを入力とし、NORゲート212はA4,B4,A5,B5の第1ブロックの出力とA6,B6,A7,B7の第1ブロックの出力とを入力として、各結果を出力する。そして、NANDゲート213は、NORゲート211の出力とNORゲート212の出力とを入力として、結果のD0を出力する。
比較器20は、図3において、論理ゲートで描いているが、第1ブロック、第2ブロックの破線の箱ごとに、4入力のLUT(Look Up Table)で実現できる。このLUTは、4入力における各入力値に対する1出力における出力値の関係をテーブル形式にしたものである。
以上の図3を用いて説明した比較器20の構成などは、他の比較器21,22においても同様である。
図4は、比較器20,21,22の出力D0,D1,D2に対して可能性が高い故障状況の一例を示す説明図である。
図4において、Dは、比較器20,21,22の出力D0,D1,D2の各1ビットの値を並べた3ビットの値を示している。
(1)論理回路10,11,12および比較器20,21,22に故障が何もなければ、Dは3ビットとも0となる。すなわち、図4において、000=故障なし、の関係である。
(2)論理回路10,11,12および比較器20,21,22に故障があっても、それが発現しないようなデータパターンになれば、Dは3ビットとも0となる。すなわち、図4において、000=故障なし、の関係である。
(3)論理回路10,11,12が1個故障して誤った値を出力すると、他の2つの論理回路の出力との比較が不一致となるので、Dは2ビットが1となる。すなわち、図4において、011=論理回路10の故障、110=論理回路11の故障、101=論理回路12の故障、の関係である。
(4)比較器20,21,22が、入力が一致でも1を出力するような故障となると、その比較器の出力だけが1となる。すなわち、図4において、001=比較器20の故障、010=比較器21の故障、100=比較器22の故障、の関係である。
(5)論理回路10,11,12が2個故障すると、たまたま同じ値をとるような故障でなければ、論理回路の出力がばらばらな値となり、比較器20,21,22がいずれも1を出力する。すなわち、図4において、111=多重故障、の関係である。
なお、図4以外の故障状況も考えられる。例えば、比較器20,21,22に入力が不一致でも0を出力するような故障があり、論理回路10,11,12が1個故障すると、Dは1ビットだけが1となる。また、2個の比較器20,21,22が、入力が一致でも1を出力するような故障となると、論理回路10,11,12が故障していなくとも、Dの2ビットが1となる。これらの確率は低いので、本実施の形態では考えられる例に留める。
<故障判定回路>
図5〜図12を用いて、前述した故障判定回路40の状態遷移、さらに、故障判定回路40の構成やタイミングチャートなどについて説明する。図5は、この故障判定回路40の状態遷移の一例を示す説明図である。
図5において、丸の中に故障判定レジスタ42が保持している値Fを示している。また、Dは比較器20,21,22の出力であり、RSTは故障判定レジスタ42へのリセット信号である。故障判定レジスタ42が保持している値Fには、000,001,010,100,011,110,101,111がある。比較器20,21,22の出力Dには、000,001,010,100,011,110,101,111がある。
(1)故障判定レジスタ42がリセットされた状態では、この故障判定レジスタ42が保持している値Fは000となる。これは、図5の上段の状態である。
(2)故障判定レジスタ42が保持している値Fが000のとき、比較器20,21,22の出力Dが000以外になると、Dの値をFとする。これは、図5の上段から中段または下段への遷移である。すなわち、論理回路および比較器の故障なし状態から論理回路または比較器の故障状態への遷移、または、論理回路および比較器の故障なし状態から論理回路および比較器の多重故障状態への遷移である。
(3)故障判定レジスタ42が保持している値Fが000,111以外のとき、比較器20,21,22の出力Dが000もしくはFと同じ値であるとき、Fの値は保持される。これは、図5の中段の保持である。
(4)故障判定レジスタ42が保持している値Fが000,111以外のとき、比較器20,21,22の出力Dが000もしくはFと同じ値以外の値であるとき、Fの値は111となる。これは、図5の中段から下段への遷移である。すなわち、論理回路または比較器の故障状態から論理回路および比較器の多重故障状態への遷移である。
(5)故障判定レジスタ42が保持している値Fがいかなる状態であっても、リセット信号RSTによってFは000となる。これは、図5の中段または下段から上段への遷移である。すなわち、論理回路または比較器の故障状態から論理回路および比較器の故障なし状態への遷移、または、論理回路および比較器の多重故障状態から論理回路および比較器の故障なし状態への遷移である。
(6)比較器20,21,22の出力Dが000以外の2種類の値をとれば、故障判定レジスタ42が保持している値Fを111とすることにより、多重故障が判定できる。
図6は、故障判定回路40の構成の一例を示す回路図である。
故障判定回路40は、3個の判定論理回路411〜413からなる故障判定論理回路41と、3個のフリップフロップ(FF)421〜423からなる故障判定レジスタ42とを有する。
故障判定論理回路41において、3個の判定論理回路411〜413は同じ論理である。判定論理回路411は、F0,D0,F1,D1,F2,D2を入力として、判定論理の結果E0を出力する。判定論理回路412は、F1,D1,F2,D2,F0,D0を入力として、判定論理の結果E1を出力する。判定論理回路413は、F2,D2,F0,D0,F1,D1を入力として、判定論理の結果E2を出力する。
故障判定レジスタ42において、3個のフリップフロップ421〜423は、それぞれ、判定論理回路411〜413からの出力E0,E1,E2を入力として、保持している値F0,F1,F2を出力する回路である。また、3個のフリップフロップ421〜423は、それぞれ、リセット信号RSTが入力されることで、保持している値F0,F1,F2がリセットされる。フリップフロップ421は、E0を入力として、保持している値F0を出力する。フリップフロップ422は、E1を入力として、保持している値F1を出力する。フリップフロップ423は、E2を入力として、保持している値F2を出力する。
図7は、故障判定回路40の真理値表の一例を示す説明図である。図7に示す真理値表は、図5に示した状態遷移を実現する。図7において、Dは比較器20,21,22の出力であり、Fは故障判定レジスタ42が保持している値を示している。
例えば、F=000のとき、D=001になると、F=001となる。同様に、F=000のとき、D=011,010,110,111,101,100になると、それぞれ、F=011,010,110,111,101,100となる。これは、図5における上段から中段または下段への遷移である。なお、F=000のとき、D=000では、F=000を保持する。
例えば、F=001のとき、D=011になると、F=111となる。同様に、F=001のとき、D=010,110,111,101,100になると、いずれも、F=111となる。これは、図5における中段(F=001)から下段への遷移である。なお、F=001のとき、D=000,001では、どちらも、F=001を保持する。また、F=001のような状態遷移または保持は、F=011,010,110,101,100でも同様である。
例えば、F=111のとき、D=000,001,011,010,110,111,101,100では、いずれも、F=111を保持する。
図8は、判定論理回路411〜413の構成の一例を示す回路図である。図8では、判定論理回路411を例として示している。
判定論理回路411は、4個の3入力(1入力は否定入力)のAND(論理積)ゲート301〜304と、1個の6入力のOR(論理和)ゲート305とからなる。ANDゲート301は、F1(否定入力),D1,F2を入力として、結果を出力する。ANDゲート302は、D1(否定入力),F1,D2を入力として、結果を出力する。ANDゲート303は、F1,D2,F2(否定入力)を入力として、結果を出力する。ANDゲート304は、D1,F2,D2(否定入力)を入力として、結果を出力する。ORゲート305は、F0,D0とANDゲート301〜304の各出力とを入力とし、結果のE0を出力する。
判定論理回路411は、図8において、論理ゲートで描いているが、1個の6入力のLUTで実現できる。このLUTは、6入力における各入力値に対する1出力における出力値の関係をテーブル形式にしたものである。
以上の図8を用いて説明した判定論理回路411の構成などは、他の判定論理回路412,413においても同様である。
図9〜図12は、故障判定回路40の動作の一例を示すタイミングチャートである。図9〜図12では、クロック信号CLKに同期して各回路が動作し、クロック信号の立ち上がり時間T0〜T10からの各周期をサイクルとする。
図9は、論理回路12が故障し、さらに論理回路11も故障した場合の例である。T2からのサイクルで、論理回路12が故障して、Dが101(D2=1、D1=0、D0=1)になることにより、F0及びF2が1となる。論理回路12に故障が起きても、データパターンが変化することにより、その出力CがA及びBと不一致を続けるとは限らない。例えば、T4のタイミングで出力が変化した結果Dが000(D2=0、D1=0、D0=0)に戻っても、故障判定レジスタ42により、Fは論理回路12の故障を示す101(F2=1、F1=0、F0=1)を維持する。
さらに、T8で論理回路11が故障して、Dが110(D2=1、D1=1、D0=0)になると、故障判定回路40は2種類目の故障であると判定し、FはT9で多重故障を示す111(F2=1、F1=1、F0=1)を出力する。このように、2個の論理回路12,11の故障が同時に、比較結果Dに反映されなくても二重故障が検出できる。
図10は、比較器20が故障し、さらに論理回路12も故障した場合の例である。T2からのサイクルで、比較器20が故障して、Dが001(D2=0、D1=0、D0=1)になることにより、F0が1となる。例えば、データパターンが変化することにより、Dが000(D2=0、D1=0、D0=0)に戻っても、故障判定レジスタ42により、Fは比較器20の故障を示す001(F2=0、F1=0、F0=1)を維持する。
さらに、T8で論理回路12が故障して、Dが101(D2=1、D1=0、D0=1)になると、故障判定回路40は2種類目の故障であると判定し、FはT9で多重故障を示す111(F2=1、F1=1、F0=1)を出力する。このように、サイクル毎には一個の回路ブロックにしか故障が無いような比較結果Dであっても、多重故障が検出できる。
図11は、T2で論理回路12が故障し、さらにT8で比較器22も故障した場合の例である。T2での論理回路12の故障は、前述した図9と同様である。さらに、比較器22の故障により、CがA及びBと不一致であるのにDが100(D2=1、D1=0、D0=0)となると、Fは多重故障を示す111(F2=1、F1=1、F0=1)を出力する。このように、比較器22が0を出力してしまう故障も検出できる。
図12は、T2で比較器20が故障し、さらにT8で比較器21も故障した場合の例である。T2での比較器20の故障は、前述した図10と同様である。さらに、比較器21の故障により、Dが010(D2=0、D1=1、D0=0)となると、Fは多重故障を示す111(F2=1、F1=1、F0=1)を出力する。このような多重故障も検出できる。
以上、図9〜図12に示したように、故障判定論理回路41で、比較器20,21,22の3個の出力D0,D1,D2と、故障判定レジスタ42の保持している値F0,F1,F2の論理をとることにより、2種類の故障発生を検出する。これにより、多重故障を高い確率で判定でき、安全性が高まる。
なお、前述した特許文献1の図17にステータスレジスタを設けた構成が示されているが、図18に示されているように、値を一時的に保持しているだけで、故障の判定に用いる本発明の概念は言及されていない。
以上説明した故障判定回路40は、3個の6入力のLUT(故障判定論理回路41)と、3個のフリップフロップ(故障判定レジスタ42)で実現できるので、回路規模が小さい。また、故障判定回路40の故障の確率は低い。
<FPGA>
図13〜図14を用いて、前述した半導体装置をFPGAに適用した場合について説明する。図13は、このFPGAの構成の一例を示すブロック図である。FPGAは、多数の論理ゲート間の論理関係と接続関係とを記述したコンフィグレーションデータを、FPGAが備えるコンフィグレーションRAMに書き込むことで、所定の論理回路として機能する。本実施の形態におけるFPGAは、コンフィグレーションRAM(図示省略)で論理が決まるFPGAである。
FPGAは、三重化されたプロセッサ10a,11a,12aと、3個の比較器20,21,22と、1個の多数決回路30と、1個の故障判定回路40と、FPGA制御回路50と、スクラビング回路60とを有する。このFPGAにおいて、プロセッサ10a,11a,12aと、比較器20,21,22と、多数決回路30と、故障判定回路40とが、FPGAファブリックのユーザ論理で構成される。プロセッサ10a,11a,12aは、図1に示した論理回路10,11,12の一例である。比較器20,21,22、多数決回路30、および、故障判定回路40は、図1に示した各回路と同じである。
FPGA制御回路50は、FPGAのコンフィグレーションなど動作全体を制御する回路である。このFPGA制御回路50は、故障判定回路40に接続され、故障判定回路40との間で、故障判定回路40の出力FがFPGA制御回路50に入力され、FPGA制御回路50からリセット信号RSTが故障判定回路40に入力される。
スクラビング回路60は、FPGA制御回路50に接続され、コンフィグレーションRAMを一定の間隔で巡回してエラー修正を行うためのスクラビングを行う回路である。
図14は、故障判定回路40とスクラビング回路60との時間的関係の一例を示す説明図である。
スクラビング回路60は、コンフィグレーションRAMを一巡した後、故障判定回路40の故障判定レジスタ42をリセット信号RSTで000にリセットする。図14では、巡回n回目、巡回n+1回目、巡回n+2回目を示しており、巡回の各回は巡回開始から巡回終了までの時間である。故障判定レジスタ42のリセットは、リセット信号RSTの入力により巡回の各回の巡回終了時に行われる。
スクラビングn回目終了時とn+1回目開始時との間で発生した故障[1]は、スクラビングn+1回目で修理し、故障判定レジスタ42が保持している値Fをn+1回目終了時にリセットする。故障[1]の発生から修理までの間は故障期間[1]となる。
スクラビングn+1回目開始時とn+1回目終了時との間で発生した故障[2]は、スクラビングn+1回目終了時では修理せず、Fをリセットするが、その直後に故障判定回路40が故障[2]を再検出するために問題がない。なお、この故障[2]はスクラビングn+2回目で修理し、Fをn+2回目終了時にリセットする。故障[2]の発生から修理までの間は故障期間[2]となる。
以上説明したFPGAでは、多重故障が高い確率で検出できるので、プロセッサ10a,11a,12aの1つに故障が発生した後、他の2つのプロセッサで二重化動作を続けても安全性が高い。さらに、スクラビングとの組合せが好適である。
また、FPGAに適用する場合に、故障判定回路40をハードマクロとすると、故障判定回路40のコンフィグレーションRAMソフトエラーの恐れをなくせる。また、故障判定回路40の規模は小さいので、面積ペナルティは小さい。
<変形例>
本実施の形態においては、以下のような変形例が可能である。
例えば、故障判定回路40を、二重化や三重化することも可能である。二重化して故障判定結果の論理和をとれば、論理和をとる回路の故障の恐れが加わるが、1個の故障判定回路が故障しても安全側故障になる。三重化して故障判定回路の多数決をとれば、多数決をとる回路の故障の恐れが加わるが、1個の故障判定回路が故障しても影響を除去できる。故障判定回路の回路規模は小さいので、多重化してもFPGAファブリックの使用量でのペナルティは小さい。
また、三重化された論理回路10,11,12が、それぞれ別チップであるようなシステムにも適用することが可能である。
<実施の形態の効果>
以上説明した本実施の形態における半導体装置によれば、多重故障を検出して安全性を向上することができる。すなわち、故障判定レジスタ42に故障の状態を保持しておくことにより、別な種類の故障発生を検出できるので、多重故障を検出することが可能となる。この結果、多重故障を検出できるので、安全性を向上することが可能となる。
本実施の形態における半導体装置は、高信頼性を必要とされる用途(例えばインフラ系装置など)でのFPGAに適用可能であり、さらに、高信頼コンピュータシステムなどへの応用も可能となる。
より詳細には、以下の通りである。
(1)故障判定論理回路41は、比較器20,21,22の3個の出力と、故障判定レジスタ42の保持している値との論理をとることで、2種類の故障発生を検出することができる。これにより、多重故障を高い確率で判定できるので、安全性を高めることが可能となる。
(2)半導体装置は、FPGAに適用することができる。
(3)半導体装置は、コンフィグレーションRAMで論理が決まるFPGAに適用することができる。
(4)半導体装置は、スクラビング回路60を有することで、コンフィグレーションRAMを一定の間隔で巡回してエラー修正を行うことができる。
(5)スクラビング回路60の動作によってリセット信号RSTを生成し、このリセット信号RSTによって故障判定レジスタ42の保持している値をリセットすることができる。
(6)比較器20,21,22の出力に基づいて、論理回路および比較器の故障なし、論理回路の故障、比較器の故障、および、論理回路および比較器の多重故障のいずれかの故障状況であるかを判定することができる。
(7)多重故障として、1つの論理回路とさらに異なる別の論理回路が故障する場合、1つの比較器とさらに1つの論理回路が故障する場合、1つの論理回路とさらに1つの比較器が故障する場合、および、1つの比較器とさらに異なる別の比較器が故障する場合、を含むことができる。
(8)故障判定回路40の状態遷移として、論理回路および比較器の故障なし状態から論理回路または比較器の故障状態への遷移、論理回路および比較器の故障なし状態から論理回路および比較器の多重故障状態への遷移、論理回路または比較器の故障状態から論理回路および比較器の多重故障状態への遷移、論理回路または比較器の故障状態から論理回路および比較器の故障なし状態への遷移、および、論理回路および比較器の多重故障状態から論理回路および比較器の故障なし状態への遷移、を含むことができる。
(9)比較器20,21,22および故障判定論理回路41は、LUTで構成することができる。
(10)論理回路10,11,12は、プロセッサ10a,11a,12aとすることができる。
(11)故障判定回路40は、二重化または三重化することで、安全性を高めることができる。
<他の実施の形態>
本実施の形態における半導体装置においては、三重化された論理回路を有する場合に限らず、四重化以上などの多重化された論理回路を有する場合にも適用可能である。この場合に、半導体装置は、多重化(四重化以上)された論理回路と、前記多重化された論理回路の複数個ずつの出力を比較する複数個の比較器と、前記多重化された論理回路の複数個の出力の多数決をとる1個の多数決回路と、前記多重化された論理回路および前記複数個の比較器の故障判定を行う1個の故障判定回路と、を有する。前記故障判定回路は、故障判定論理回路と、前記故障判定論理回路の出力を保持する故障判定レジスタと、を有する。前記故障判定論理回路は、前記比較器の複数個の出力と、前記故障判定レジスタの保持している値との論理をとる。
このような四重化以上などの多重化された論理回路を有する半導体装置では、比較器を1段で接続する場合に限らず、2段などのように階層的に接続したり、各回路をLUTで実現することなどが考えられる。また、論理回路、比較器、多数決回路、故障判定回路の各回路の詳細などは、前記三重化された論理回路を有する場合で説明したものと同様である。
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
例えば、前記実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
10,11,12 論理回路
10a,11a,12a プロセッサ
20,21,22 比較器
30 多数決回路
40 故障判定回路
41 故障判定論理回路
42 故障判定レジスタ
50 FPGA制御回路
60 スクラビング回路

Claims (15)

  1. 三重化された論理回路と、
    前記三重化された論理回路の2個ずつの出力を比較する3個の比較器と、
    前記三重化された論理回路の3個の出力の多数決をとる1個の多数決回路と、
    前記三重化された論理回路および前記3個の比較器の故障判定を行う1個の故障判定回路と、
    を有し、
    前記故障判定回路は、故障判定論理回路と、前記故障判定論理回路の出力を保持する故障判定レジスタと、を有し、
    前記故障判定論理回路は、前記比較器の3個の出力と、前記故障判定レジスタの保持している値との論理をとる、半導体装置。
  2. 請求項1に記載の半導体装置において、
    前記半導体装置は、FPGAである、半導体装置。
  3. 請求項2に記載の半導体装置において、
    前記半導体装置は、コンフィグレーションRAMで論理が決まる前記FPGAである、半導体装置。
  4. 請求項3に記載の半導体装置において、
    前記半導体装置は、前記コンフィグレーションRAMを一定の間隔で巡回してエラー修正を行うためのスクラビング回路を有する、半導体装置。
  5. 請求項4に記載の半導体装置において、
    前記スクラビング回路の動作によってリセット信号が生成され、前記リセット信号によって前記故障判定レジスタの保持している値がリセットされる、半導体装置。
  6. 請求項1に記載の半導体装置において、
    前記比較器の出力に基づく故障状況は、前記論理回路および前記比較器の故障なし、前記論理回路の故障、前記比較器の故障、および、前記論理回路および前記比較器の多重故障のいずれかである、半導体装置。
  7. 請求項6に記載の半導体装置において、
    前記多重故障は、
    前記三重化された論理回路のうちの第1の論理回路が故障し、さらに前記第1の論理回路とは異なる第2の論理回路が故障する場合と、
    前記3個の比較器のうちの第1の比較器が故障し、さらに前記三重化された論理回路のうちの第1の論理回路が故障する場合と、
    前記三重化された論理回路のうちの第1の論理回路が故障し、さらに前記3個の比較器のうちの第1の比較器が故障する場合と、
    前記3個の比較器のうちの第1の比較器が故障し、さらに前記第1の比較器とは異なる第2の比較器が故障する場合と、
    を含む、半導体装置。
  8. 請求項1に記載の半導体装置において、
    前記故障判定回路の状態遷移は、
    前記論理回路および前記比較器の故障なし状態から前記論理回路または前記比較器の故障状態への遷移と、
    前記論理回路および前記比較器の故障なし状態から前記論理回路および前記比較器の多重故障状態への遷移と、
    前記論理回路または前記比較器の故障状態から前記論理回路および前記比較器の多重故障状態への遷移と、
    前記論理回路または前記比較器の故障状態から前記論理回路および前記比較器の故障なし状態への遷移と、
    前記論理回路および前記比較器の多重故障状態から前記論理回路および前記比較器の故障なし状態への遷移と、
    を含む、半導体装置。
  9. 請求項1に記載の半導体装置において、
    前記比較器および前記故障判定論理回路は、ルックアップテーブルで構成されている、半導体装置。
  10. 請求項1に記載の半導体装置において、
    前記論理回路は、プロセッサである、半導体装置。
  11. 請求項1に記載の半導体装置において、
    前記故障判定回路は、二重化または三重化されている、半導体装置。
  12. 多重化された論理回路と、
    前記多重化された論理回路の複数個ずつの出力を比較する複数個の比較器と、
    前記多重化された論理回路の複数個の出力の多数決をとる1個の多数決回路と、
    前記多重化された論理回路および前記複数個の比較器の故障判定を行う1個の故障判定回路と、
    を有し、
    前記故障判定回路は、故障判定論理回路と、前記故障判定論理回路の出力を保持する故障判定レジスタと、を有し、
    前記故障判定論理回路は、前記比較器の複数個の出力と、前記故障判定レジスタの保持している値との論理をとる、半導体装置。
  13. 請求項12に記載の半導体装置において、
    前記半導体装置は、FPGAである、半導体装置。
  14. 請求項13に記載の半導体装置において、
    前記半導体装置は、コンフィグレーションRAMで論理が決まる前記FPGAである、半導体装置。
  15. 請求項14に記載の半導体装置において、
    前記半導体装置は、前記コンフィグレーションRAMを一定の間隔で巡回してエラー修正を行うためのスクラビング回路を有する、半導体装置。
JP2014208289A 2014-10-09 2014-10-09 半導体装置 Active JP6373154B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014208289A JP6373154B2 (ja) 2014-10-09 2014-10-09 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014208289A JP6373154B2 (ja) 2014-10-09 2014-10-09 半導体装置

Publications (2)

Publication Number Publication Date
JP2016080364A JP2016080364A (ja) 2016-05-16
JP6373154B2 true JP6373154B2 (ja) 2018-08-15

Family

ID=55956116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014208289A Active JP6373154B2 (ja) 2014-10-09 2014-10-09 半導体装置

Country Status (1)

Country Link
JP (1) JP6373154B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9964597B2 (en) * 2016-09-01 2018-05-08 Texas Instruments Incorporated Self test for safety logic
JP6490316B1 (ja) * 2018-02-28 2019-03-27 三菱電機株式会社 出力判定回路
JP2020145356A (ja) 2019-03-07 2020-09-10 株式会社東芝 集積回路装置
WO2023210295A1 (ja) * 2022-04-28 2023-11-02 ヌヴォトンテクノロジージャパン株式会社 測定システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5390451U (ja) * 1976-12-24 1978-07-24
JP3229070B2 (ja) * 1993-06-01 2001-11-12 三菱電機株式会社 多数決回路及び制御ユニット及び多数決用半導体集積回路
JP2008191939A (ja) * 2007-02-05 2008-08-21 Toshiba Corp 冗長回路装置
US20090249174A1 (en) * 2008-04-01 2009-10-01 International Business Machines Corporation Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage
US8049529B2 (en) * 2008-07-30 2011-11-01 Raytheon Company Fault triggerred automatic redundancy scrubber
JP5558167B2 (ja) * 2010-03-30 2014-07-23 ルネサスエレクトロニクス株式会社 半導体装置並びにデータ保持回路の故障検出システム及び故障検出方法
JP5660798B2 (ja) * 2010-04-01 2015-01-28 三菱電機株式会社 情報処理装置

Also Published As

Publication number Publication date
JP2016080364A (ja) 2016-05-16

Similar Documents

Publication Publication Date Title
JP6373154B2 (ja) 半導体装置
KR20150083028A (ko) 데이터 처리 장치
US10725841B1 (en) Method and apparatus for error detection and correction
Rahman et al. A fault tolerant voter circuit for triple modular redundant system
JP2010273322A (ja) 多数決回路付きフリップフロップ回路
EP4254194A1 (en) Method and circuit for performing error detection on a clock gated register signal
JP5481836B2 (ja) カウンタ回路、カウンタ回路の制御方法
US9292378B2 (en) Single event upset protection circuit and method
Basha et al. Fault-aware configurable logic block for reliable reconfigurable FPGAs
US20150268962A1 (en) Asynchronous Circuit Design
JP2003316599A (ja) 集積回路
Frigerio et al. RAM-based fault tolerant state machines for FPGAs
Sooraj et al. Hamming 3 algorithm for improving the reliability of SRAM based FPGAs
WO2015068207A1 (ja) プログラマブルデバイス
JPWO2015045135A1 (ja) プログラマブルロジックデバイス、及び、論理集積ツール
JP2014229130A (ja) 高信頼プロセッサおよびそれを用いた高信頼制御装置
Sooraj et al. Fault tolerant FSM on FPGA using SEC-DED code algorithm
Ichihara et al. State encoding with stochastic numbers for transient fault tolerant linear finite state machines
JP6490316B1 (ja) 出力判定回路
Shokry et al. Error detection and recovery in FPGA-based pipelined architectures
JP5104690B2 (ja) フォルト検出回路
Liu et al. Resilient and adaptive performance logic
US11288120B2 (en) Circuit and method for soft-error protection in operation of ECC and register
JP6342168B2 (ja) マスタースレーブ型のフリップフロップ装置
Ilayaranimangammal et al. Exposure and expulsion the soft errors in digital systems using redundancy techniques

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170919

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180620

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180717

R150 Certificate of patent or registration of utility model

Ref document number: 6373154

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150