説明

多数決回路付きフリップフロップ回路

【課題】ソフトエラーに対する耐性向上と回路規模の縮小を両立させることができない。
【解決手段】クロック調整回路7は、入力クロック信号CLKのハイ状態とロウ状態の比
率を、1つのマスタラッチ1のデータ保持時間帯を狭めるように調整し、ハイ状態(マスタラッチ1のデータ保持時間)を可及的に狭めて出力する。インバータ6はクロック調整回路7の出力を極性反転する。マスタラッチ1のトランスファーゲート4およびスレーブラッチ2−1〜2−3のトランスファーゲート5−1〜5−3は、クロック調整回路7およびインバータ6の出力により、データの通過を制御する。スレーブラッチ2−1〜2−3の出力は3入力多数決回路3で多数決をとられた後に出力信号Qとなる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ信号の保持及び出力を行う論理回路に関し、特に、α線や二次宇宙線
中性子などの外的要因によるソフトエラーが発生しても正しい記憶内容を保持し出力する
ことができる多数決回路付きフリップフロップ回路に関する。
【背景技術】
【0002】
α線や二次宇宙線中性子などの外的要因により、フリップフロップのデータが意図しな
い値に書き換えられてしまうソフトエラーに対し、耐性を高めるために、例えば、図14
に示すように、それぞれがマスタラッチ1,スレーブラッチ2およびトランスファーゲー
ト4,5から成る3つのフリップフロップを配置して冗長化し、3つのフリップフロップ
の出力データを3入力多数決回路3にて多数決し、ソフトエラーの影響を回避する方策が
知られている。しかしながら、この方法では、それぞれがマスタラッチとスレーブラッチを有する同構成のフリップフロップを複数個設けるので、回路規模が大きくなり、論理回路が占める面積や消費電力も増加してしまう。
【0003】
この問題を解決し回路規模を小さくするために、図14のフリップフロップ回路に関連
して、3組のマスタラッチ1とスレーブラッチ2に代わって、2つのマスタラッチと1つ
のスレーブラッチとし、この3つのラッチで多数決することが公開されている。しかし、
この構成では、スレーブラッチのデータ保持時間帯でソフトエラーが発生した場合には、
その影響を回避できず正しいデータに復帰することができない。
【0004】
なお、マスタラッチ回路とスレーブラッチ回路とから成るレジスタの前段に、データの取り込みタイミングを調整してマスタラッチ回路に供給する遅延調整回路を設け、近年のCPUの高速化に対応するようにした技術も公開されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】WO2004/105241号公報
【特許文献2】特開2000−315391号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
解決しようとする問題点は、ソフトエラーに対する耐性向上と回路規模の縮小を両立さ
せることができない点である。
【課題を解決するための手段】
【0007】
本発明は、クロック信号のハイ状態とロウ状態の比率を調整することによりマスタラッ
チの入力データ信号の保持時間を短縮して、マスタラッチのデータ保持時間中におけるソ
フトエラーに対する耐性を高めたことを最も主要な特徴とする。
【発明の効果】
【0008】
本発明の多数決回路付きフリップフロップ回路は、マスタラッチを1つとし、その入力
データ信号の保持時間を可及的に短縮して、マスタラッチのデータ保持時間中のソフトエ
ラーの発生数を低減すると共に、スレーブラッチのデータ保持時間中のソフトエラーに対
しては多数決により、その影響を回避することにより、回路規模を縮小しながらソフトエ
ラーに対する耐性を向上させたことを利点とする。
【図面の簡単な説明】
【0009】
【図1】本発明の実施例1を示す回路図である。
【図2】実施例1におけるクロック調整回路の詳細図である。
【図3】クロック調整回路の波形図である。
【図4】実施例1の動作を説明するための第1のタイミングチャートである。
【図5】実施例1の動作を説明するための第2のタイミングチャートである。
【図6】本発明の実施例2を示す回路図である。
【図7】実施例2における5入力多数決回路の回路図である。
【図8】5入力多数決回路の真理値表を示す図である。
【図9】本発明の実施例3を示す回路図である。
【図10】実施例3のタイミングチャートである。
【図11】実施例1〜実施例3の問題点を説明するためのタイミングチャートである。
【図12】本発明の実施例4を示す回路図である。
【図13】実施例4の動作を説明するためのタイミングチャートである。
【図14】従来の多数決回路付きフリップフロップ回路例を示す回路図である。
【発明を実施するための形態】
【0010】
ソフトエラーに対する耐性向上と回路規模の縮小を両立させるという目的を、マスタラ
ッチの個数を削減することとマスタラッチのデータ保持時間帯を短縮することとにより実
現した。
【実施例1】
【0011】
図1は、本発明回路の実施例1の回路図であって、基本的には、マスタラッチ1とスレーブラッチ2、および各ラッチへのデータ信号の入力を制御するためのトランスファーゲート4,5から成る。そして、ソフトエラーの影響を回避するために、スレーブラッチ2を3つのスレーブラッチ2−1〜2−3とし、その出力について多数決をとる3入力多数決回路3を有する。図14の回路と比べて、マスタラッチを1つとし、更にクロック調整回路7を設けた点が異なっている。3つのスレーブラッチ2−1〜2−3,3入力多数決回路3およびインバータ6は図14の回路と同様である。
【0012】
クロック調整回路7は、入力するクロック信号CLKのハイ状態とロウ状態の比率を、マスタラッチのデータ保持時間帯を狭めるように調整し、クロック信号CLKのハイ状態(マスタラッチ1のデータ保持時間)を可及的に狭めて出力する。その程度は、マスタラッチ1がデータを保持し、かつスレーブラッチ2がデータを入力し得る最短時間である。このように、マスタラッチは1つであるため多数決による保護は無いが、そのデータ保持時間帯を短縮すれば、マスタラッチ1におけるソフトエラー発生数は極めて少なくなるのである。インバータ6はクロック調整回路7の出力の極性を反転する。
【0013】
クロック調整回路7の出力は、マスタラッチ1に対するトランスファーゲート4の負ゲートとスレーブラッチ2に対するトランスファーゲート5の正ゲートへ供給される。インバータ6の出力は、マスタラッチ1に対するトランスファーゲート4の正ゲートとスレーブラッチ2に対するトランスファーゲート5の負ゲートへ供給される。この結果、マスタラッチ1とスレーブラッチ2において、一方がデータ保持時間帯なら他方はデータ入力時間帯、一方がデータ入力時間帯なら他方はデータ保持時間帯となる。
【0014】
トランスファーゲート4は、クロック信号CLKがハイ状態では閉じてデータ信号DI
Nのマスタラッチ1への入力を拒み、ロウ状態では開いてデータ信号DINのマスタラッ
チ1への入力を許す。トランスファーゲート5は、逆に、クロック信号CLKがハイ状態
では開いてマスタラッチ1出力の入力を許し、ロウ状態では閉じてのマスタラッチ1出力
のスレーブラッチ2への入力を拒む。このように、スレーブ側入力の3つのトランスファ
ーゲート5−1〜5−3とスレーブラッチ2−1〜2−3は全て同じタイミングで動作を
する。
【0015】
3入力多数決回路3は、スレーブラッチ2−1〜2−3の出力を多数決し、スレーブラッチ2−1〜2−3のいずれか1つにおいてソフトエラーが発生しても、それを訂正し多数決結果としてフリップフロップの出力信号Qとして正しい値を出力する。3入力多数決回路3は3つの2入力NANDと1つの3入力NANDで構成され、スレーブラッチ2−1と2−2の出力、スレーブラッチ2−1と2−3の出力、スレーブラッチ2−2と2−3の出力をそれぞれ2入力NANDに入力し、3つの2入力NAND出力の否定論理和を3入力NANDでとっている。
【0016】
クロック調整回路7でクロック信号CLKのロウ状態が長くなると、トランスファーゲ
ート4が開いている時間が長いことになる。しかし、その間はマスタラッチ1には常にデ
ータ信号DINが入力されており、スレーブラッチ2−1〜2−3はデータ保持状態であ
る。従って、マスタラッチ1でソフトエラーが発生しても、マスタラッチ1からスレーブ
ラッチ2への入力はなく問題とならない。一方、クロック信号CLKがハイ状態の時は、
マスタラッチ1はデータ保持状態でスレーブラッチ2はデータ入力状態である。しかし、
クロック調整回路7を設けることによって、多数決の対象とならないマスタラッチ1のデ
ータ保持状態の時間を短くしたので、ソフトエラーの影響がフリップフロップの出力信号
Qとして顕在化する確率は極めて低いことになる。
【0017】
図2はクロック調整回路7の詳細例を示す回路図であり、図3はそのタイミングチャー
トである。この回路例は、クロック信号CLKを遅延させる遅延ゲート8と、インバータ
9と、2入力のANDゲート10で構成されている。クロック信号CLKはANDゲート
10と遅延ゲート8に入力される。遅延ゲート8は、調整後クロック出力に基づいて、マスタラッチ1がデータを保持し、かつスレーブラッチ2−1〜2−3がデータを入力し得る最短時間だけクロック信号CLKを遅延させる。遅延ゲート8の出力はインバータ9で反転し、クロック信号CLKとANDゲート10でANDすることで、マスタラッチ1がデータを保持できる最短のハイ状態の調整後クロック出力を作り出すことができる。
【0018】
図4はソフトエラーが発生した時の動作をタイミングチャートで示したものである。上
述のように、クロック調整回路7を経過したクロック信号はハイ状態が短くなり、マスタ
ラッチ1のデータ保持状態の時間帯を短くしている。いま、クロック信号CLKがロウ状
態のタイミングt1においてスレーブラッチ2−3でソフトエラーaが発生し、スレーブ
ラッチ2−3の出力がハイ状態からロウ状態に下降したとする。スレーブラッチ2−3は
データ保持の状態であるためソフトエラー発生直後からエラー状態を保持している。3つ
のスレーブラッチ2−1〜2−3の出力は多数決回路3に入力されている。
【0019】
多数決回路3に入力されたスレーブラッチ2−1の出力信号とスレーブラッチ2−2の
出力信号はNANDゲートの論理でロウを出力している。一方、ソフトエラーが発生して
いるスレーブラッチ2−3の出力信号を入力している2つのNANDゲートは共にハイを
出力している。このため、3入力NANDの出力、即ちフリップフロップの出力信号Qは
ハイ状態となり、スレーブラッチ2−3で発生したソフトエラーaは顕在化しない。
【0020】
次に、マスタラッチ1でソフトエラーbが発生したとする。前述のように、クロック調
整回路7の出力信号のハイ状態は非常に短い幅となるため、マスタラッチ1はデータ保持
状態が非常に短い。従って、ソフトエラーbはタイミングt2のように、マスタラッチ1におけるデータ入力状態で発生する確率が高い。このソフトエラーbは、トランスファーゲート5が閉じているため、スレーブラッチ2に受け入れられない。
【0021】
ちなみに、クロック調整回路7が存在せず、図5に示すように、マスタラッチ1のデー
タ保持状態がデータ入力状態と同じ長さであれば、マスタラッチ1のデータ保持状態(ス
レーブラッチ2のデータ入力状態)でソフトエラーbが発生する確率が高い。そして、ソ
フトエラーbは全てのスレーブラッチ2に伝播してしまうので、多数決回路3を有してい
ても回復できないことになる。
【0022】
このように、本発明のフリップフロップ回路では、クロック調整回路7を設けることに
よりマスタラッチ1でソフトエラーを保持する確率を小さくし、スレーブラッチ2は3つ
以上用意してそれぞれの出力を多数決回路3の論理を用いて誤り訂正を実施している。
【実施例2】
【0023】
図6はスレーブラッチ2の数を5つとした多数決回路付きフリップフロップ回路の実施
例である。図1に比べて、スレーブラッチ2−1〜2−5、トランスファーゲート5−1
〜5−5と2つずつ増数し、5入力多数決回路11となっている。図7は5入力多数決回
路11の回路図、図8は5入力多数決回路11の真理値表を示す。
【0024】
本実施例でスレーブラッチ2−1と2−2がソフトエラーを発生したとする。例えば、
ソフトエラーが“1”から“0”へ化けたものであれば、スレーブラッチ2−3〜2−5
の出力は“1”であり、真理値表の8行目により出力信号Qは“1”であって、正しい値
を保持していることになる。また、ソフトエラーが“0”から“1”へ化けたものであれ
ば、スレーブラッチ2−3〜2−5の出力は“0”であり、真理値表の25行目により出
力信号Qは“0”であって、正しい値を保持していることになる。
【実施例3】
【0025】
図9はマスタラッチを複数構成とし、これに対しても多数決回路を設けた多数決回路付
きフリップフロップ回路の実施例である。3つのマスタラッチ1−1〜1−3におけるデ
ータ保持時間帯におけるマスタラッチ1−1〜1−3でのソフトエラーに対しても、3入
力多数決回路12により正しいデータの保持に万全を期したものである。この例は、図6
のフリップフロップ回路に適用したものであるが、図1のフリップフロップ回路について
も同様に適用することができる。
【0026】
図10はソフトエラーが発生した時の動作をタイミングチャートで示したものである。
いま、スレーブラッチ2−1〜2−5がデータ保持状態において、この内の2つのスレー
ブラッチ2でソフトエラーaとbが発生したとする。ソフトエラーが同時に2つ発生して
もスレーブラッチ2−1〜2−5の出力が多数決で正常な値を示すことになるため、ソフ
トエラーの顕在化は回避されフリップフロップの出力信号Qは正常な値を出力する。また、マスタラッチ1−1〜1−3の内の1つがデータ保持時間帯でソフトエラーcを保持することがあっても、3入力多数決回路12でソフトエラーの顕在化を回避できる。
【0027】
このように、図1や図6のように元々ソフトエラーの発生確率を低減させていたマスタ
ラッチ1にも誤り訂正機能を追加し、かつスレーブラッチ2の誤り訂正機能を向上させる
ことでソフトエラーの顕在化を極限まで低く抑えることが可能となる。
【実施例4】
【0028】
以上に説明した実施例、例えば実施例1のスレーブラッチ2−1において、図11に示すようにデータ保持時間帯でソフトエラーが発生すると、そのデータ保持期間中、スレーブラッチ2−1は誤ったデータを保持し続ける。この状態はクロック調整回路7の出力信号が次にハイ状態(スレーブラッチがデータ入力状態)となるまで持続する。この状態において、例えば、スレーブラッチ2−3においてソフトエラーが発生すると、もはや3入力多数決回路3によって救済することができない。
【0029】
そこで、この実施例では、スレーブラッチと1対1対応に多数決回路を設けることとする。図12は実施例1(図1)に対応するものであって、スレーブラッチ2−1〜2−3と1対1対応に3入力多数決回路3−1〜3−3を設けている。3入力多数決回路3−1においては、3入力多数決回路3−1〜3−3の右向きのインバータの出力について多数決し、その出力を3入力多数決回路3−1の左向きのインバータへ入力する。3入力多数決回路3−2〜3−3についても同様である。3入力多数決回路3−1〜3−3いずれの出力もフリップフロップ回路の出力信号Qとすることができる。
【0030】
このような構成の結果、例えば、3入力多数決回路3−1においてデータ保持時間帯でソフトエラーaが発生しても、図13に示すように、短時間で訂正される。この訂正に要する時間は、3入力多数決回路3−1における2入力力NANDと3入力NANDをデータが通過するに要する時間である。従って、ソフトエラーaが発生したのと同じデータ保持時間帯で3入力多数決回路3−2または3入力多数決回路3−3においてソフトエラーが発生しても重複する確率は低く、フリップフロップ回路の出力Qは正しいデータとなる。
【0031】
なお、実施例4の着想を実施例2または実施例3に適用できることは勿論のことである。
【0032】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限定されない。
【0033】
(付記1)マスタラッチの後段に設けられた奇数個のスレーブラッチと、マスタラッチおよびスレーブラッチへのデータの通過を制御するマスタラッチおよびスレーブラッチと1対1対応のトランスファーゲートと、各スレーブラッチの出力の多数決をとって出力信号とする多数決回路と、入力クロック信号のハイ状態とロウ状態の比率をマスタラッチのデータ保持時間帯を狭めるように調整して、マスタラッチおよびスレーブラッチのトランスファーゲートへ供給するクロック調整回路を有することを特徴とする多数決回路付きフリップフロップ回路。
【0034】
(付記2)マスタラッチのデータ保持時間帯は、マスタラッチがデータを保持し、かつスレーブラッチがデータを入力し得る最短時間であることを特徴とする付記1に記載の多数決回路付きフリップフロップ回路。
【0035】
(付記3)マスタラッチおよび付随するトランスファーゲートを1つとしたことを特徴とする付記1〜2に記載の多数決回路付きフリップフロップ回路。
【0036】
(付記4)マスタラッチおよび付随するトランスファーゲートを奇数個とし、該各マスタラッチの出力の多数決をとる多数決回路を設けたことを特徴とする付記1〜2に記載の多数決回路付きフリップフロップ回路。
【0037】
(付記5)スレーブラッチと1対1対応に多数決回路を設けたことを特徴とする付記1〜4に記載の多数決回路付きフリップフロップ回路。
【0038】
(付記6)スレーブラッチは、対応するトランスファーゲートの出力を入力する第1のインバータと該第1のインバータへ出力する第2のインバータから成り、スレーブラッチと1対1対応の多数決回路は、第1のインバータの出力を入力し、第2のインバータへ出力すると共に、スレーブラッチと1対1対応の多数決回路のいずれかを当該多数決回路付きフリップフロップ回路の出力としたことを特徴とする付記5に記載の多数決回路付きフリップフロップ回路。
【符号の説明】
【0039】
1 マスタラッチ
2 スレーブラッチ
3,12 3入力多数決回路
4,5 トランスファーゲート
6,9 インバータ
7 クロック調整回路
8 遅延ゲート
10 ANDゲート
11 5入力多数決回路

【特許請求の範囲】
【請求項1】
マスタラッチの後段に設けられた奇数個のスレーブラッチと、
前記マスタラッチおよびスレーブラッチへのデータの通過を制御するマスタラッチおよ
びスレーブラッチと1対1対応のトランスファーゲートと、
前記各スレーブラッチの出力の多数決をとって出力信号とする多数決回路と、
入力クロック信号のハイ状態とロウ状態の比率を前記マスタラッチのデータ保持時間帯を狭めるように調整して、前記マスタラッチおよび前記スレーブラッチの前記トランスファーゲートへ供給するクロック調整回路を有することを特徴とする多数決回路付きフリップフロップ回路。
【請求項2】
前記マスタラッチのデータ保持時間帯は、前記マスタラッチがデータを保持し、かつ前記スレーブラッチがデータを入力し得る最短時間であることを特徴とする請求項1に記載の多数決回路付きフリップフロップ回路。
【請求項3】
前記マスタラッチおよび付随するトランスファーゲートを1つとしたことを特徴とする
請求項1〜2に記載の多数決回路付きフリップフロップ回路。
【請求項4】
前記マスタラッチおよび付随するトランスファーゲートを奇数個とし、該各マスタラッ
チの出力の多数決をとる多数決回路を設けたことを特徴とする請求項1〜2に記載の多数
決回路付きフリップフロップ回路。
【請求項5】
前記スレーブラッチと1対1対応に多数決回路を設けたことを特徴とする請求項1〜4に記載の多数決回路付きフリップフロップ回路。
【請求項6】
前記スレーブラッチは、対応するトランスファーゲートの出力を入力する第1のインバータと該第1のインバータへ出力する第2のインバータから成り、
前記スレーブラッチと1対1対応の多数決回路は、前記第1のインバータの出力を入力し、前記第2のインバータへ出力すると共に、
前記スレーブラッチと1対1対応の多数決回路のいずれかを当該多数決回路付きフリップフロップ回路の出力としたことを特徴とする請求項5に記載の多数決回路付きフリップフロップ回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2010−273322(P2010−273322A)
【公開日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願番号】特願2010−25588(P2010−25588)
【出願日】平成22年2月8日(2010.2.8)
【出願人】(303013763)NECエンジニアリング株式会社 (651)
【Fターム(参考)】