(57)【要約】  信頼性の確保に伴うペナルティを軽減可能な半導体装置を提供する。そこで、それぞれ独立した３系統以上の入出力経路を持つラッチ回路を備える。当該ラッチ回路は、３系統以上の入出力経路上にそれぞれ設けられ、入力されたデータをクロック信号に同期して保持する複数のストレージエレメントＳＴＥ１〜ＳＴＥ３を備える。ここで、複数のストレージエレメントＳＴＥ１〜ＳＴＥ３の中の少なくとも一つのストレージエレメント（例えばＳＴＥ１）は、自身とは異なる他の入出力経路上に設けられるストレージエレメントからのデータを用いて多数決判定を行う多数決判定部（例えば８１ａ）を備え、当該多数決判定の結果を反映したデータを出力する。
2015056314.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ独立した３系統以上の入出力経路を持つラッチ回路を有する半導体装置であって、
前記ラッチ回路は、前記３系統以上の入出力経路上にそれぞれ設けられ、入力されたデータをクロック信号に同期して保持する複数のストレージエレメントを備え、
前記複数のストレージエレメントの中の少なくとも一つのストレージエレメントは、自身とは異なる他の入出力経路上に設けられるストレージエレメントからのデータを用いて多数決判定を行う多数決判定部を備え、当該多数決判定の結果を反映したデータを出力する、
半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記ラッチ回路は、
第１ストレージ入力ノードと第１ストレージ出力ノードの間に設けられる第１ストレージエレメントと、
第２ストレージ入力ノードと第２ストレージ出力ノードの間に設けられる第２ストレージエレメントと、
第３ストレージ入力ノードと第３ストレージ出力ノードの間に設けられる第３ストレージエレメントと、
を備え、
前記第Ｎ（Ｎ＝１，２，３）ストレージエレメントは、
前記第Ｎストレージ入力ノードの信号をドライブし、前記第Ｎストレージ出力ノードに出力する第Ｎドライバ部と、
前記クロック信号が第１および第２論理レベルの一方の論理レベルの期間で、多数決判定結果を前記第Ｎストレージ入力ノードに反映させる第Ｎ多数決判定部と、
を有し、
前記第Ｎ多数決判定部は、他の２個の前記ストレージエレメントの前記ストレージ出力ノードを入力とし、前記２個のストレージ出力ノードが持つ論理レベルの一致・不一致と一致した際の論理レベルとに応じて前記第Ｎストレージ入力ノードの論理レベルを設定する、
半導体装置。
【請求項３】
請求項２記載の半導体装置において、
前記第Ｎ多数決判定部は、前記２個のストレージ出力ノードが持つ論理レベルが一致する場合には、当該論理レベルに対応する論理レベルを前記第Ｎストレージ入力ノードに出力し、前記２個のストレージ出力ノードが持つ論理レベルが不一致の場合には、ハイインピーダンスを前記第Ｎストレージ入力ノードに出力する、半導体装置。
【請求項４】
請求項３記載の半導体装置において、
前記第Ｎ多数決判定部は、
高電位側電源電圧と出力との間に直列接続される２個の第１導電型トランジスタと、
低電位側電源電圧と前記出力との間に直列接続される２個の第２導電型トランジスタと、
を有し、
前記２個の第１導電型トランジスタは、前記２個のストレージ出力ノードによってそれぞれオン・オフが制御され、
前記２個の第２導電型トランジスタは、前記２個のストレージ出力ノードによってそれぞれオン・オフが制御される、
半導体装置。
【請求項５】
請求項２記載の半導体装置において、
前記第Ｎ多数決判定部は、
高電位側電源電圧と出力との間に直列接続される２個の第１導電型トランジスタと、
低電位側電源電圧と前記出力との間に直列接続される２個の第２導電型トランジスタと、
を有し、
前記２個の第１導電型トランジスタの一方は、前記２個のストレージ出力ノードの一方によってオン・オフが制御され、
前記２個の第２導電型トランジスタの一方は、前記２個のストレージ出力ノードの他方によってオン・オフが制御され、
前記２個の第１導電型トランジスタの他方と前記２個の第２導電型トランジスタの他方は、前記クロック信号によってオン・オフが制御される、
半導体装置。
【請求項６】
請求項２記載の半導体装置において、さらに、
前記第１ストレージエレメントの前段に設けられる第４ストレージエレメントと、
前記第２ストレージエレメントの前段に設けられる第５ストレージエレメントと、
前記第３ストレージエレメントの前段に設けられる第６ストレージエレメントと、
を備え、
前記第４〜第６ストレージエレメントは、マスタ・スレーブ型フリップフロップのマスタ側に設けられ、
前記第１〜第３ストレージエレメントは、前記マスタ・スレーブ型フリップフロップのスレーブ側に設けられる、
半導体装置。
【請求項７】
請求項２記載の半導体装置において、さらに、
前記第１ストレージ入力ノードの前段に設けられる第１組合せ論理回路と、
前記第２ストレージ入力ノードの前段に設けられる第２組合せ論理回路と、
前記第３ストレージ入力ノードの前段に設けられる第３組合せ論理回路と、
を備え、
前記第１〜第３組合せ論理回路は、ルックアップテーブルを含み、同一の論理演算を行う、
半導体装置。
【請求項８】
請求項７に記載の半導体装置でおいて、さらに、
前記ルックアップテーブルのコンフィグレーションデータを保持するメモリと、
前記メモリのエラーを検出するメモリチェッカと、
前記メモリのコンフィグレーションデータを部分的に書き換えるコントローラと、
を有する、半導体装置。
【請求項９】
請求項１記載の半導体装置において、
前記ラッチ回路は、
第１ストレージ入力ノードと第１ストレージ出力ノードの間に設けられる第１ストレージエレメントと、
第２ストレージ入力ノードと第２ストレージ出力ノードの間に設けられる第２ストレージエレメントと、
第３ストレージ入力ノードと第３ストレージ出力ノードの間に設けられる第３ストレージエレメントと、
を備え、
前記第Ｎ（Ｎ＝１，２，３）ストレージエレメントは、
前記第Ｎストレージ入力ノードの信号をドライブし、前記第Ｎストレージ出力ノードに出力する第Ｎドライバ部と、
前記クロック信号が第１および第２論理レベルの一方の論理レベルの期間で、多数決判定結果を前記第Ｎストレージ入力ノードに反映させる第Ｎ多数決判定部と、
を有し、
前記第Ｎ多数決判定部は、前記第１〜第３ストレージ出力ノードを入力とし、前記３個のストレージ出力ノードが持つ論理レベルの多数決判定結果に対応する論理レベルを前記第Ｎストレージ入力ノードに出力する、
半導体装置。
【請求項１０】
請求項９記載の半導体装置において、さらに、
前記第１ストレージエレメントの前段に設けられる第４ストレージエレメントと、
前記第２ストレージエレメントの前段に設けられる第５ストレージエレメントと、
前記第３ストレージエレメントの前段に設けられる第６ストレージエレメントと、
を備え、
前記第４〜第６ストレージエレメントは、マスタ・スレーブ型フリップフロップのマスタ側に設けられ、
前記第１〜第３ストレージエレメントは、前記マスタ・スレーブ型フリップフロップのスレーブ側に設けられる、
半導体装置。
【請求項１１】
請求項９記載の半導体装置において、さらに、
前記第１ストレージ入力ノードの前段に設けられる第１組合せ論理回路と、
前記第２ストレージ入力ノードの前段に設けられる第２組合せ論理回路と、
前記第３ストレージ入力ノードの前段に設けられる第３組合せ論理回路と、
を備え、
前記第１〜第３組合せ論理回路は、ルックアップテーブルを含み、同一の論理演算を行う、
半導体装置。
【請求項１２】
請求項１記載の半導体装置において、
前記ラッチ回路は、
第１入力ノードと第１出力ノードの間に設けられる第１ストレージエレメントと、
第２入力ノードと第２出力ノードの間に設けられる第２ストレージエレメントと、
第３入力ノードと第３出力ノードの間に設けられる第３ストレージエレメントと、
を備え、
前記第Ｎ（Ｎ＝１，２，３）ストレージエレメントは、
前記クロック信号が第１および第２論理レベルの一方の論理レベルの期間で、前記第Ｎ出力ノードのデータを、前記第Ｎ入力ノードに正帰還する第Ｎラッチ用ドライバ部と、
前記第１〜第３入力ノードを入力とし、前記３個の入力ノードの多数決判定結果に対応する論理レベルを前記第Ｎ出力ノードに出力する第Ｎ多数決判定部と、
を有する、
半導体装置。
【請求項１３】
請求項１２記載の半導体装置において、さらに、
前記第１ストレージエレメントの前段に設けられる第４ストレージエレメントと、
前記第２ストレージエレメントの前段に設けられる第５ストレージエレメントと、
前記第３ストレージエレメントの前段に設けられる第６ストレージエレメントと、
を備え、
前記第４〜第６ストレージエレメントは、マスタ・スレーブ型フリップフロップのマスタ側に設けられ、
前記第１〜第３ストレージエレメントは、前記マスタ・スレーブ型フリップフロップのスレーブ側に設けられる、
半導体装置。
【請求項１４】
請求項１２記載の半導体装置において、さらに、
前記第１ストレージ入力ノードの前段に設けられる第１組合せ論理回路と、
前記第２ストレージ入力ノードの前段に設けられる第２組合せ論理回路と、
前記第３ストレージ入力ノードの前段に設けられる第３組合せ論理回路と、
を備え、
前記第１〜第３組合せ論理回路は、ルックアップテーブルを含み、同一の論理演算を行う、
半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、例えば、高い信頼性が要求されるラッチ回路等を含んだ半導体装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、３個のフリップフロップと、その出力のうち過半数を占める論理値に応じて信号を出力する多数決論理回路とを有するデータ保持回路が示されている。特許文献２には、２個のマスタラッチ回路と２個のスレーブラッチ回路の間に、Ｃエレメント回路を設けた構成が示されている。Ｃエレメント回路は、２個のマスタラッチ回路の一方の保持データがエラーによって反転した場合でも、その直前の値を保持するような論理を備える。非特許文献１には、電子機器におけるエラーの原因やその対策方法等が述べられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１８５３０９号公報
【特許文献２】国際公開第２０１１／１５５５３２号
【非特許文献】
【０００４】
【非特許文献１】N.Kanekawa, E.H.Ibe, and T.Suga,"Dependability in Electronic Systems: Mitigation of Hardware Failures, Soft Errors, and Electro-Magnetic Disturbances,", Springer, 2010
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、制御の自動化が進み、電子制御システムに対する安全性、信頼性の要求が高まっている。このため、このようなシステムに用いられる半導体装置にも高い信頼性が求められる。半導体装置の信頼性を高める技術として、前述した先行技術文献に示されるような技術が知られている。【０００６】
図２１は、本発明の前提として検討した半導体装置において、その概略的な構成例を示す回路ブロック図である。半導体装置の信頼性を高める技術として、図２１に示すような、細粒度の３重化論理回路を用いることが考えられる。図２１において、ＣＬ１１，ＣＬ１２，ＣＬ１３及びＣＬ２１，ＣＬ２２，ＣＬ２３は、それぞれ３重化された組合せ論理回路である。フリップフロップＦＦも３重化され、さらにフリップフロップＦＦ毎に多数決判定回路ＴＲＶが設けられる。この図では、パイプライン構成の論理回路を３重化した場合を示しているが、帰還ループを設けることで、順序回路も同様に構成できる。【０００７】
図２２（ａ）は、図２１における多数決判定回路の構成例を示す回路図であり、図２２（ｂ）は、図２２（ａ）の動作例を示す真理値表である。多数決判定回路ＴＲＶは、図２２（ａ）に示すように、３個の２入力ＮＡＮＤゲートＮＡ２と、３入力ＮＡＮＤゲートＮＡ３からなる。当該多数決判定回路ＴＲＶは、図２２（ｂ）に示すように、３個の入力ａ，ｂ，ｃの内、２個以上がロウレベル（'Ｌ'）であれば出力ｑはロウレベル（'Ｌ'）となり、２個以上がハイレベル（'Ｈ'）ならば出力ｑはハイレベル（'Ｈ'）となる。【０００８】
このような細粒度の３重化論理回路では、組合せ論理回路やフリップフロップでエラーが発生しても、多数決判定回路ＴＲＶで多数決をとることにより修復される。多数決判定回路ＴＲＶも３重化することで、多数決判定回路ＴＲＶ自体のエラーについても、次段の多数決判定回路ＴＲＶで修復できる。このように、多数決判定回路ＴＲＶ間で１個のエラーが修復できるため、フリップフロップＦＦ毎に多数決判定回路ＴＲＶを設けることにより、高い信頼性が得られる。【０００９】
しかしながら、細粒度の３重化論理回路は、組合せ論理回路とフリップフロップを３重化するために、元の論理回路の３倍の回路規模となり、さらに、多数決判定回路をフリップフロップ毎に設けるため、そのためのペナルティが加わる。図２２（ａ）に示したような多数決判定回路ＴＲＶは、Ｄフリップフロップと同等の回路規模であり、面積・消費電力・遅延時間が大きくなる。【００１０】
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、信頼性の確保に伴うペナルティを軽減可能な半導体装置を提供することにある。【００１１】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。【００１３】
本実施の形態による半導体装置は、それぞれ独立した３系統以上の入出力経路を持つラッチ回路を有する。当該ラッチ回路は、３系統以上の入出力経路上にそれぞれ設けられ、入力されたデータをクロック信号に同期して保持する複数のストレージエレメントを備える。ここで、複数のストレージエレメントの中の少なくとも一つのストレージエレメントは、自身とは異なる他の入出力経路上に設けられるストレージエレメントからのデータを用いて多数決判定を行う多数決判定部を備え、当該多数決判定の結果を反映したデータを出力する。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、半導体装置において、信頼性の確保に伴うペナルティを軽減可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。
【図２】（ａ）は、図１におけるＣエレメントのシンボルを規定する図であり、（ｂ）は、（ａ）の詳細な構成例を示す回路図であり、（ｃ）は、（ｂ）の動作例を示す真理値表である。
【図３】図１のフリップフロップの動作例を示す波形図である。
【図４】本発明の実施の形態２による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。
【図５】（ａ）は、図４における多数決判定用複合ゲートのシンボルを規定する図であり、（ｂ）は、（ａ）の詳細な構成例を示す回路図であり、（ｃ）は、（ｂ）の動作例を示す真理値表である。
【図６】本発明の実施の形態３による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。
【図７】（ａ）は、図６における多数決判定用ゲートのシンボルを規定する図であり、（ｂ）は、（ａ）の詳細な構成例を示す回路図であり、（ｃ）は、（ｂ）の動作例を示す真理値表である。
【図８】本発明の実施の形態４による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。
【図９】本発明の実施の形態５による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。
【図１０】本発明の実施の形態６による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。
【図１１】本発明の実施の形態７による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。
【図１２】図１１のフリップフロップの動作例を示す波形図である。
【図１３】本発明の実施の形態８による半導体装置において、その概略的な構成例を示すブロック図である。
【図１４】図１３におけるロジックアレイの主要部を模式的に示すブロック図である。
【図１５】図１４におけるロジックエレメントの主要部の構成例を示すブロック図である。
【図１６】本発明の実施の形態９による半導体装置において、それに含まれるフリップフロップの概略構成例を示すブロック図である。
【図１７】本発明の実施の形態１０による半導体装置において、それに含まれるラッチ回路の構成例を示す回路図である。
【図１８】本発明の一実施の形態による半導体装置において、その主要部の概略構成例を示すブロック図である。
【図１９】図１８とは異なる概略構成例を示すブロック図である。
【図２０】図１８を変形した概略構成例を示すブロック図である。
【図２１】本発明の前提として検討した半導体装置において、その概略的な構成例を示す回路ブロック図である。
【図２２】（ａ）は、図２１における多数決判定回路の構成例を示す回路図であり、（ｂ）は、（ａ）の動作例を示す真理値表である。
【発明を実施するための形態】
【００１６】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１７】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１８】
また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。なお、実施の形態では、ＭＩＳＦＥＴ（Metal Insulator Semiconductor Field Effect Transistor）の一例としてＭＯＳＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor）（ＭＯＳトランジスタと略す）を用いるが、ゲート絶縁膜として非酸化膜を除外するものではない。
【００１９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２０】
（実施の形態１）
《半導体装置の主要部の構成》
図１は、本発明の実施の形態１による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。図１に示すように、本実施の形態１による半導体装置は、フリップフロップを構成するラッチ部（１２，１３）内に多数決判定を行うＣエレメントＭＣＥが設けられる点が主要な特徴の一つとなっている。この例では、ＣエレメントＭＣＥは、ラッチ部内の帰還パスに設けられている。
【００２１】
図１に示すフリップフロップは、クロックバッファ部１０、入力バッファ部１１、マスタラッチ部１２、スレーブラッチ部１３、および出力バッファ部１４を備える。クロックバッファ部１０は、２個のインバータを備え、クロック信号ＣＬＫが入力され、相補な内部クロック信号ＣＫｂ，ＣＫｔを、マスタラッチ部１２とスレーブラッチ部１３に供給する。入力バッファ部１１は、３個のインバータを備え、通常時、同じ論理レベルがフリップフロップ入力ノードＤ１，Ｄ２，Ｄ３に入力され、それぞれの論理レベルを反転させてノードＤ１ｂ，Ｄ２ｂ，Ｄ３ｂに出力する。
【００２２】
マスタラッチ部１２は、３個の透過用トランスファゲートＴＧｔと、３個のラッチ用トランスファゲートＴＧｌと、３個のインバータＩＮＶと、３個のＣエレメントＭＣＥを備える。マスタラッチ部１２は、内部クロック信号ＣＫｂ，ＣＫｔによって制御され、ノードＤ１ｂ，Ｄ２ｂ，Ｄ３ｂから所定の論理レベルが入力され、中間ノードＭ１，Ｍ２，Ｍ３に所定の論理レベルを出力する。マスタラッチ部１２において、ノードＤ１ｂ，Ｄ２ｂ，Ｄ３ｂを入力とする３系統の回路は、同様の構成となっている。
【００２３】
例えば、ノードＤ２ｂを入力とする系統を例とすると、まず、透過用トランスファゲートＴＧｔは、クロック信号ＣＬＫがロウレベルの際に、ノードＤ２ｂの論理レベルをノードＮＭ２ｂに伝達する。インバータＩＮＶは、ノードＮＭ２ｂの論理レベルをバッファリングおよび反転して中間ノードＭ２に出力する。ＣエレメントＭＣＥは、他の２系統（Ｄ１ｂ，Ｄ３ｂ）における中間ノードＭ１，Ｍ３の論理レベルを入力としてラッチ用トランスファゲートＴＧｌに出力する。ラッチ用トランスファゲートＴＧｌは、クロック信号ＣＬＫがハイレベルの際に、ＣエレメントＭＣＥの出力をノードＮＭ２ｂに帰還する。
【００２４】
本実施の形態１では、マスタラッチ部１２からスレーブラッチ部１３への伝達を、中間ノードＭ１，Ｍ２，Ｍ３を介して伝達しているが、ノードＮＭ１ｂ，ＮＭ２ｂ，ＮＭ３ｂを用いて伝達してもよい。その場合、論理の正負が異なることに留意する必要があるが、段数削減による高速化の効果がある。これは、後述する各実施の形態においても同様である。
【００２５】
同様に、スレーブラッチ部１３は、３個の透過用トランスファゲートＴＧｔと、３個のラッチ用トランスファゲートＴＧｌと、３個のインバータＩＮＶと、３個のＣエレメントＭＣＥを備える。スレーブラッチ部１３は、内部クロック信号ＣＫｂ，ＣＫｔによって制御され、中間ノードＭ１，Ｍ２，Ｍ３から所定の論理レベルが入力され、ノードＱ１ｂ，Ｑ２ｂ，Ｑ３ｂに所定の論理レベルを出力する。
【００２６】
本実施の形態１では、スレーブラッチ部１３から出力バッファ部１４への伝達を、ノードＱ１ｂ，Ｑ２ｂ，Ｑ３ｂを介して伝達しているが、ノードＮＳ１，ＮＳ２，ＮＳ３を用いて伝達してもよい。その場合、論理の正負が異なることに留意する必要があるが、段数削減による高速化の効果や、反転出力を同時に出力させる場合に小面積化の効果がある。これは、後述する各実施の形態においても同様である。
【００２７】
スレーブラッチ部１３の詳細な構成は、透過用トランスファゲートＴＧｔおよびラッチ用トランスファゲートＴＧｌに対するクロック信号ＣＬＫの極性がそれぞれ逆極性となることを除いてマスタラッチ部１２と同様である。例えば、中間ノードＭ２を入力とする系統を例とすると、スレーブラッチ部１３内のＣエレメントＭＣＥは、他の２系統（Ｍ１，Ｍ３）におけるノードＱ１ｂ，Ｑ３ｂの論理レベルを入力としてラッチ用トランスファゲートＴＧｌに出力する。出力バッファ部１４は、３個のインバータを備え、ノードＱ１ｂ，Ｑ２ｂ，Ｑ３ｂから入力された論理レベルを反転してフリップフロップ出力ノードＱ１，Ｑ２，Ｑ３に出力する。
【００２８】
図２（ａ）は、図１におけるＣエレメントのシンボルを規定する図であり、図２（ｂ）は、図２（ａ）の詳細な構成例を示す回路図であり、図２（ｃ）は、図２（ｂ）の動作例を示す真理値表である。ＣエレメントＭＣＥは、図２（ａ）に示すように、２個の入力ａ，ｂと１個の出力ｑを持つ。ＣエレメントＭＣＥは、図２（ｂ）に示すように、２個のＰＭＯＳトランジスタ（第１導電型トランジスタ）ＭＰ１，ＭＰ２と、２個のＮＭＯＳトランジスタ（第２導電型トランジスタ）ＭＮ１，ＭＮ２を備える。
【００２９】
２個のＰＭＯＳトランジスタＭＰ１，ＭＰ２は、電源電圧（高電位側電源電圧）ＶＤＤと出力ｑとの間に直列接続され、２個のＮＭＯＳトランジスタＭＮ１，ＭＮ２は、接地電源電圧（低電位側電源電圧）ＶＳＳと出力ｑとの間に直列接続される。２個のＰＭＯＳトランジスタＭＰ１，ＭＰ２は、２個の入力ａ，ｂによってそれぞれオン・オフが制御され、２個のＮＭＯＳトランジスタＭＮ１，ＭＮ２も、２個の入力ａ，ｂによってそれぞれオン・オフが制御される。
【００３０】
図２（ｃ）の真理値表において、'Ｌ'はロウレベル、'Ｈ'はハイレベル、'Ｚ'はハイインピーダンスを表す。図２（ｃ）に示すように、図２（ａ）および図２（ｂ）のＣエレメントＭＣＥは、２個の入力ａ，ｂの論理レベルが一致すれば、当該論理レベルを反転および増幅して出力ｑに出力する。一方、当該ＣエレメントＭＣＥは、２個の入力ａ，ｂの論理レベルが不一致であれば、出力ｑにハイインピーダンスを出力する。
【００３１】
《半導体装置の主要部の動作》
図３は、図１のフリップフロップの動作例を示す波形図である。図３において、まず、クロック信号ＣＬＫがロウレベルの間（期間Ｔ１）、マスタラッチ部１２はトランスペアレント状態であり、スレーブラッチ部１３はラッチ状態である。ここでは、３個のフリップフロップ入力ノードＤ１，Ｄ２，Ｄ３の内、Ｄ１とＤ２がロウレベルからハイレベルに遷移し、Ｄ３がロウレベルを保つ場合を例とする。
【００３２】
この場合、ノードＤ１ｂ，Ｄ２ｂはロウレベルとなる。マスタラッチ部１２では、クロック信号ＣＬＫのロウレベルに応じて透過用トランスファゲートＴＧｔがオンとなる。このため、ノードＤ１ｂ，Ｄ２ｂのロウレベルは、透過用トランスファゲートＴＧｔを介して２個のインバータＩＮＶの入力となるノードＮＭ１ｂ，ＮＭ２ｂに伝達される。これに応じて、２個のインバータＩＮＶは、中間ノードＭ１，Ｍ２にハイレベルを出力する。一方、ノードＤ３ｂと残り１個のインバータＩＮＶの入力となるノードＮＭ３ｂはハイレベルのままであり、中間ノードＭ３はロウレベルのままである。
【００３３】
次いで、クロック信号ＣＬＫがハイレベルに立ち上がると（期間Ｔ２）、マスタラッチ部１２内のラッチ用トランスファゲートＴＧｌはオンとなり、マスタラッチ部１２はラッチ状態に変わる。中間ノードＭ１，Ｍ２，Ｍ３の内、Ｍ３だけがロウレベルであるため、マスタラッチ部１２内の３個のＣエレメントＭＣＥの内、２個はハイインピーダンスを出力する。この２個のＣエレメントＭＣＥのハイインピーダンスの出力により、ノードＮＭ１ｂ，ＮＭ２ｂはフローティング状態となるが、当該ノードの容量成分によって、ほぼロウレベルのまま保たれる。
【００３４】
一方、ノードＮＭ３ｂは、中間ノードＭ１，Ｍ２がハイレベルであるので、ＣエレメントＭＣＥによりラッチ用トランスファゲートＴＧｌを介して、ロウレベルへ駆動される。これにより、中間ノードＭ３はハイレベルとなる。その結果、３個の中間ノードＭ１，Ｍ２，Ｍ３がハイレベルで一致し、ハイインピーダンスとなっていた２個のＣエレメントＭＣＥもロウレベルを出力し、ノードＮＭ１ｂ，ＮＭ２ｂもロウレベルで安定する。
【００３５】
このように、マスタラッチ部１２は、ＣエレメントＭＣＥを用いて、中間ノードＭ１，Ｍ２，Ｍ３の値を揃えるように動作する。この際に、ＣエレメントＭＣＥは、自系統を除く他の２系統の論理レベルが一致する場合には、当該論理レベルが多数決によって得られる論理レベルとなるため、当該論理レベルを反映して自系統のインバータＩＮＶの入力ノードを駆動する。一方、ＣエレメントＭＣＥは、自系統を除く他の２系統の論理レベルが不一致の場合には、自系統の論理レベルが多数決によって得られる論理レベルとなるため、ハイインピーダンスを出力する。
【００３６】
また、クロック信号ＣＬＫがハイレベルに立ち上がると（期間Ｔ２）、スレーブラッチ部１３内の透過用トランスファゲートＴＧｔはオンとなり、スレーブラッチ部１３はトランスペアレント状態となる。クロック信号ＣＬＫが立ち上がった直後は、中間ノードＭ１，Ｍ２がハイレベルであるため、２個のインバータＩＮＶの入力となるノードＮＳ１，ＮＳ２はハイレベルとなり、当該２個のインバータＩＮＶの出力となるノードＱ１ｂ，Ｑ２ｂはロウレベルになる。その結果、フリップフロップ出力ノードＱ１，Ｑ２はハイレベルとなる。
【００３７】
一方、クロック信号ＣＬＫが立ち上がった直後は、中間ノードＭ３はロウレベルであるが、前述したように、マスタラッチ部１２内での帰還動作により、中間ノードＭ３がハイレベルになると、ノードＮＳ３がハイレベルに、フリップフロップ出力ノードＱ３はハイレベルとなる。その結果、フリップフロップの動作としては、クロック信号ＣＬＫの立ち上がりで、３個のフリップフロップ入力ノードＤ１，Ｄ２，Ｄ３に対して多数決をとった論理レベルが、３個のフリップフロップ出力ノードＱ１，Ｑ２，Ｑ３で得られることになる。
【００３８】
続いて、クロック信号ＣＬＫがロウレベルへ立ち下がると（期間Ｔ３）、マスタラッチ部１２はトランスペアレント状態となり、スレーブラッチ部１３はラッチ状態となる。フリップフロップ入力ノードＤ１，Ｄ２，Ｄ３の論理レベルは変化していないので、マスタラッチ部１２とスレーブラッチ部１３の各ノードと、フリップフロップ出力ノードＱ１，Ｑ２，Ｑ３の論理レベルも同じ状態のままである。
【００３９】
ここで、この期間Ｔ３において、ラッチ状態のスレーブラッチ部１３のノードＮＳ３が、中性子線によりロウレベルに変化した場合を想定する。この場合、一時的に、ノードＱ３ｂがハイレベルになり、フリップフロップ出力ノードＱ３はロウレベルになる。ノードＱ１ｂ，Ｑ２ｂはロウレベルのままであるので、ノードＮＳ３は、スレーブラッチ部１３内のＣエレメントＭＣＥにより駆動されてハイレベルに戻り、ノードＱ３ｂはロウレベルになり、フリップフロップ出力ノードＱ３はハイレベルに戻る。すなわち、中性子線によるソフトエラーが修復される。ノードＮＳ１，ＮＳ２は、一時的に、ＣエレメントＭＣＥの出力がハイインピーダンスとなるためフローティング状態になるが、ノードＱ３ｂがロウレベルに戻ることにより、ノードＮＳ１，ＮＳ２はハイレベルに駆動される。
【００４０】
期間Ｔ３において、その後、フリップフロップ入力ノードＤ１，Ｄ２がハイレベルから、フリップフロップ入力ノードＤ３と同じロウレベルになると、ノードＤ１ｂ，Ｄ２ｂとノードＮＭ１ｂ，ＮＭ２ｂはハイレベルとなり、中間ノードＭ１，Ｍ２はロウレベルとなる。この状態で、クロック信号ＣＬＫがハイレベルに立ち上がると（期間Ｔ４）、マスタラッチ部１２はラッチ状態になる。マスタラッチ部１２は、３個の入力が同じ論理レベルなので、そのままの内部状態を保つ。スレーブラッチ部１３は、トランスペアレント状態となり、フリップフロップ出力ノードＱ１，Ｑ２，Ｑ３はロウレベルとなる。
【００４１】
《本実施の形態による主要な効果》
以上に説明したように、本実施の形態１によるフリップフロップを用いることで、３個のフリップフロップ入力ノードの論理レベルが不一致となるエラーを訂正でき、さらにフリップフロップのソフトエラーの影響を軽減できる。具体的には、マスタラッチ部１２とスレーブラッチ部１３がラッチ状態で、中性子線などによるソフトエラーで一つのノードの論理レベルが反転しても、元の状態に修復することができる。すなわち、ＳＥＵ（Single Event Upset）とはならず、ＳＥＴ（Single Event Transition）となっており、ソフトエラーの影響を軽減することができる。
【００４２】
また、ここでは、主に１個のノードのエラーを想定したが、複数のノードの反転が起きた場合でも、それが極めて短い間隔でなければ（例えばＣエレメントに対する２入力の両方がエラーとなるような期間が生じなければ）、修復することができる。なお、上述のように、本実施の形態１の方式では、Ｃエレメントの出力がハイインピーダンスとなる場合があり、これにより、ノードが寄生容量によって論理レベルを保持する期間が生じる。この期間は、例えば図３において、期間Ｔ２の開始時点から、中間ノードＭ３の立ち上がりに応じてＣエレメントの出力が変化するまでの期間となる。このように、当該期間は、多数決をとり終えれば解消され、非常に短期間となるため、特に問題は生じない。
【００４３】
また、ここでは、Ｃエレメントを、マスタラッチ部１２及びスレーブラッチ部１３内で、透過パス（例えば、ノードＮＭ２ｂを入力とする信号パス）ではなく、帰還パス（例えば、ノードＮＭ２ｂを出力とする信号パス）に設けている。仮に、透過パスで多数決判定を行った場合、その遅延により、フリップフロップとしての動作速度に影響を及ぼす恐れがあるが、ここでは、帰還パスで多数決判定を行っているため、フリップフロップの動作速度に与える影響を低減できる。
【００４４】
また、マスタラッチ部１２あるいはスレーブラッチ部１３で、ラッチ状態が長時間続く場合、ラッチ状態になる際に多数決が終わり、揃っている状態を保持しているので、Ｃエレメントの出力がハイインピーダンスとなる状態が長く続くことはない。そのため、例えば、フリップフロップでの消費電力を抑えるためにクロック信号をハイレベルあるいはロウレベルに固定しておく所謂クロックゲーティングを適用することも可能である。
【００４５】
図１のフリップフロップは、概略的には、３個のマスタ・スレーブ型のＤフリップフロップをベースとし、クロックバッファ部を共有化し、マスタラッチ部とスレーブラッチ部の帰還用インバータをＣエレメントに置き換え、他の２個のＤフリップフロップから帰還させるような構成となっている。Ｃエレメントは、図２（ｂ）に示したように、ＰＭＯＳトランジスタとＮＭＯＳトランジスタを２個ずつで構成されており、３個のＤフリップフロップに対し、わずかなトランジスタ数の増加で、多数決判定機能を実現している。このため、例えば、図２１に示したような構成と比較して、多数決判定を用いた信頼性確保に伴う面積・消費電力・遅延時間等のペナルティを大きく軽減することが可能になる。
【００４６】
さらに、本実施の形態１によるフリップフロップは、透過パスおよび帰還パスからなるラッチ回路内にＣエレメント（すなわち多数決判定部）を設け、ラッチ回路の保持データ自体を自動修正する方式となっている。このため、例えば、ステートマシーン等でエラーが生じた際の回復処理を容易化することが可能になる。具体的には、ステートマシーンなどでは、入力データとフリップフロップに保持される現在のステートとに基づいて出力データが定められる。ここで、図２１において、例えば、フリップフロップＦＦの出力を適宜入力側に帰還すると共に、フリップフロップＦＦにステートを保持させるようなステートマシーンを構成した場合を想定する。
【００４７】
仮に、３系統のいずれか１系統においてステートを保持するフリップフロップリップにエラーが生じた場合、ステート自体のエラーが持続するため、当該エラー系統では、以降、入力データに応じて常に間違った出力データを生成するような事態が生じ得る。この際に、システム全体としての出力は、３系統の多数決判定によって修正可能であるが、その後、別の系統にもエラーが生じると、システム全体としての出力もエラーとなる。このため、フリップフロップにエラーが生じた場合には早期に回復処理を行うことが望ましい。具体的には、例えば、正常な系統のフリップフロップからステートを読み出し、それをエラー系統のフリップフロップに書き込むような複雑な処理が必要となる。一方、本実施の形態１の方式では、フリップフロップの保持データ（すなわちステート）自体を自動修正することができるため、このような回復処理が不要となる。
【００４８】
（実施の形態２）
《半導体装置の主要部の構成（変形例［１］）》
図４は、本発明の実施の形態２による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。図４に示すように、本実施の形態２による半導体装置は、図１におけるＣエレメントＭＣＥが、反転型で多数決判定を行う多数決判定用複合ゲートＮＴＶに置き換わっている点が特徴となっている。
【００４９】
図４に示すフリップフロップは、クロックバッファ部１０、入力バッファ部１１、マスタラッチ部２２、スレーブラッチ部２３、および出力バッファ部１４を備える。クロックバッファ部１０、入力バッファ部１１、および出力バッファ部１４は、図１と同様であるため詳細な説明は省略する。マスタラッチ部２２とスレーブラッチ部２３のそれぞれは、図１の場合と同様に、３個の透過用トランスファゲートＴＧｔ、３個のラッチ用トランスファゲートＴＧｌ、および３個のインバータＩＮＶを備え、さらに、図１の場合と異なり、３個の多数決判定用複合ゲートＮＴＶを備える。
【００５０】
図５（ａ）は、図４における多数決判定用複合ゲートのシンボルを規定する図であり、図５（ｂ）は、図５（ａ）の詳細な構成例を示す回路図であり、図５（ｃ）は、図５（ｂ）の動作例を示す真理値表である。多数決判定用複合ゲートＮＴＶは、図５（ａ）に示すように、３個の入力ａ，ｂ，ｃと１個の出力ｑを持つ。多数決判定用複合ゲートＮＴＶは、図５（ｂ）に示すように、５個のＰＭＯＳトランジスタＭＰ５〜ＭＰ９と、５個のＮＭＯＳトランジスタＭＮ５〜ＭＮ９を備える。
【００５１】
ＰＭＯＳトランジスタＭＰ５，ＭＰ６は、電源電圧ＶＤＤと出力ｑの間に直列接続される。ＰＭＯＳトランジスタＭＰ７，ＭＰ９は、電源電圧ＶＤＤと出力ｑの間に直列接続され、ＰＭＯＳトランジスタＭＰ８は、ＰＭＯＳトランジスタＭＰ７と並列接続される。同様に、ＮＭＯＳトランジスタＭＮ５，ＭＮ６は、接地電源電圧ＶＳＳと出力ｑの間に直列接続される。ＮＭＯＳトランジスタＭＮ７，ＭＮ９は、接地電源電圧ＶＳＳと出力ｑの間に直列接続され、ＮＭＯＳトランジスタＭＮ８は、ＮＭＯＳトランジスタＭＮ７と並列接続される。
【００５２】
ＰＭＯＳトランジスタＭＰ５，ＭＰ７およびＮＭＯＳトランジスタＭＮ５，ＭＮ７は、入力ａによってオン・オフが制御される。ＰＭＯＳトランジスタＭＰ９およびＮＭＯＳトランジスタＭＮ９は、入力ｂによってオン・オフが制御される。ＰＭＯＳトランジスタＭＰ６，ＭＰ８およびＮＭＯＳトランジスタＭＮ６，ＭＮ８は、入力ｃによってオン・オフが制御される。
【００５３】
図５（ａ）および図５（ｂ）の多数決判定用複合ゲートＮＴＶは、図５（ｃ）に示すように、３個の入力ａ，ｂ，ｃの内、２個以上の入力で一致している論理レベルを反転することで出力ｑを生成する。すなわち、多数決判定用複合ゲートＮＴＶは、多数決判定を行う。図４において、マスタラッチ部２２内の多数決判定用複合ゲートＮＴＶは、中間ノードＭ１，Ｍ２，Ｍ３の多数決判定結果を出力し、スレーブラッチ部２３内の多数決判定用複合ゲートＮＴＶは、ノードＱ１ｂ，Ｑ２ｂ，Ｑ３ｂの多数決判定結果を出力する。
【００５４】
本実施の形態２によるフリップフロップを用いた場合でも、実施の形態１で述べた各種効果と同様の効果が得られる。ただし、図４の構成例は、回路面積や消費電力の観点では、図１の構成例ほどの効果は得られないが、図２１の構成と比較すると、多数決判定用複合ゲートＮＴＶによる置き換えに伴い帰還用のインバータが削減できる分、効果が得られる。また、図４の構成例では、図１の構成例と異なり、多数決判定結果としてハイインピーダンスが出力されることがないため、ノードＮＭ１ｂ，ＮＭ２ｂ，ＮＭ３ｂ等がフローティングになることがなく、図１の構成例に比べてノイズ耐性を高めること等が可能になる。
【００５５】
（実施の形態３）
《半導体装置の主要部の構成（変形例［２］）》
図６は、本発明の実施の形態３による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。図６に示すように、本実施の形態３による半導体装置は、図１におけるＣエレメントＭＣＥおよびラッチ用トランスファゲートＴＧｌが、スリーステートインバータの入力を分離した構成を持つ多数決判定用ゲートＤＴＩに置き換わっている点が特徴となっている。
【００５６】
図６に示すフリップフロップは、クロックバッファ部１０、入力バッファ部１１、マスタラッチ部３２、スレーブラッチ部３３、および出力バッファ部１４を備える。クロックバッファ部１０、入力バッファ部１１、および出力バッファ部１４は、図１と同様であるため詳細な説明は省略する。マスタラッチ部２２とスレーブラッチ部２３のそれぞれは、図１の場合と同様に、３個の透過用トランスファゲートＴＧｔ、３個のラッチ用トランスファゲートＴＧｌ、および３個のインバータＩＮＶを備え、さらに、図１の場合と異なり、３個の多数決判定用ゲートＤＴＩを備える。
【００５７】
図７（ａ）は、図６における多数決判定用ゲートのシンボルを規定する図であり、図７（ｂ）は、図７（ａ）の詳細な構成例を示す回路図であり、図７（ｃ）は、図７（ｂ）の動作例を示す真理値表である。多数決判定用ゲートＤＴＩは、図７（ａ）に示すように、２個の入力ａ，ｂと、相補となる一対のゲート入力ｇｔ，ｇｂと、１個の出力ｑを持つ。多数決判定用ゲートＤＴＩは、図７（ｂ）に示すように、２個のＰＭＯＳトランジスタ（第１導電型トランジスタ）ＭＰ１１，ＭＰ１２と、２個のＮＭＯＳトランジスタ（第２導電型トランジスタ）ＭＮ１１，ＭＮ１２を備える。
【００５８】
２個のＰＭＯＳトランジスタＭＰ１１，ＭＰ１２は、電源電圧（高電位側電源電圧）ＶＤＤと出力ｑとの間に直列接続され、２個のＮＭＯＳトランジスタＭＮ１１，ＭＮ１２は、接地電源電圧（低電位側電源電圧）ＶＳＳと出力ｑとの間に直列接続される。２個のＰＭＯＳトランジスタＭＰ１１，ＭＰ１２は、入力ａとゲート入力ｇｂによってそれぞれオン・オフが制御され、２個のＮＭＯＳトランジスタＭＮ１１，ＭＮ１２は、入力ｂとゲート入力ｇｔによってそれぞれオン・オフが制御される。すなわち、多数決判定用ゲートＤＴＩは、入力ａと入力ｂを同じ信号とする通常のスリーステートインバータと異なり、入力ａと入力ｂを分離した構成となっている。
【００５９】
図７（ｃ）の真理値表において、'Ｌ'はロウレベル、'Ｈ'はハイレベル、'Ｚ'はハイインピーダンスであり、'Ｍ'は中間電圧を出力する状態を示している。多数決判定用ゲートＤＴＩは、ゲート入力ｇｂがハイレベルでゲート入力ｇｔがロウレベルであれば、ハイインピーダンス（'Ｚ'）を出力する。一方、多数決判定用ゲートＤＴＩは、ゲート入力ｇｂがロウレベルでゲート入力ｇｔがハイレベルの場合、入力ａと入力ｂが同じ値であればそれを反転させて出力ｑに出力し、入力ａと入力ｂが異なる場合には、ハイインピーダンス（'Ｚ'）か中間電圧（'Ｍ'）を出力する。なお、中間電圧（'Ｍ'）は、電源電圧ＶＤＤと接地電源電圧ＶＳＳとの間の中間電圧である。
【００６０】
この構成例でも、図１の場合と同様に、マスタラッチ部３２とスレーブラッチ部３３が、ラッチ状態の間は、ノードＮＭ１ｂ，ＮＭ２ｂ，ＮＭ３ｂあるいはＮＳ１，ＮＳ２，ＮＳ３を揃えるように動作し、多数決がとられる。例えば、図３の期間Ｔ１に示したように、ノードＤ１ｂ，Ｄ２ｂとノードＮＭ１ｂ，ＮＭ２ｂがロウレベル、中間ノードＭ１，Ｍ２がハイレベル、ノードＤ３ｂとノードＮＭ３ｂがハイレベル、中間ノードＭ３がロウレベルとする。この状態で、クロック信号ＣＬＫがハイレベルに立ち上がると、マスタラッチ部３２内で、ノードＮＭ１ｂは中間電圧に駆動され、ノードＮＭ２ｂは、フローティングとなり、ノードＮＭ３ｂはロウレベルに駆動される。
【００６１】
ここで、中間電圧に駆動されたノードＮＭ１ｂは、ロウレベルから中間電圧に向けて上昇するが、中間電圧に達する前に、ノードＮＭ３ｂがロウレベルに駆動されると共に中間ノードＭ３がハイレベルとなり、これに応じてノードＮＭ１ｂは、ロウレベルに駆動される。また、フローティングとなるノードＮＭ２ｂも、中間ノードＭ３がハイレベルとなった際にロウレベルに駆動される。その結果、ノードＮＭ１ｂ，ＮＭ２ｂ，ＮＭ３ｂはいずれもロウレベルに駆動されるようになり、多数決を取った状態で安定する。マスタラッチ部３２内で多数決を取り終えるまでに、ノードＮＭ１ｂ，ＮＭ２ｂ，ＮＭ３ｂがフローティングになったり、中間電圧となったりするが、同じ値に揃うように動作する。
【００６２】
本実施の形態３によるフリップフロップを用いた場合でも、実施の形態１で述べた各種効果と同様の効果が得られる。さらに、図６の構成例を用いた場合、多数決判定用ゲートＤＴＩがラッチ用トランスファゲートＴＧｌの機能も有しているため、図１の構成例よりも更に素子数を少なくでき、面積の低減が図れる。ただし、図６の多数決判定用ゲートＤＴＩは、中間電圧を出力する場合があるため、動作マージンの観点からは図１の構成例の方が望ましい。
【００６３】
なお、図６の多数決判定用ゲートＤＴＩは、場合によっては、図７（ｂ）からＰＭＯＳトランジスタＭＰ１２およびＮＭＯＳトランジスタＭＮ１２を削除した回路と、その後段に設けられるラッチ用トランスファゲートＴＧｌとの組合せに置き換えることも可能である。ただし、この場合、貫通電流が生じる場合があるため、この観点で、図６の構成例を用いる方が望ましい。すなわち、マスタラッチ部２２とスレーブラッチ部２３のそれぞれは、トランスペアレント状態の間に、図７（ｂ）の入力ａと入力ｂが異なる値となり得るが、ゲート入力ｇｂがハイレベルでゲート入力ｇｔがロウレベルであるため、出力がハイインピーダンスとなり、貫通電流は流れない。
【００６４】
（実施の形態４）
《半導体装置の主要部の構成（変形例［３］）》
図８は、本発明の実施の形態４による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。図８に示すフリップフロップは、クロックバッファ部１０、入力バッファ部１１、マスタラッチ部１２、スレーブラッチ部３３、および出力バッファ部１４を備える。すなわち、当該フリップフロップは、図１のマスタラッチ部１２の構成と、図６のスレーブラッチ部３３の構成を組み合わせた構成となっている。
【００６５】
実施の形態１で説明したように、フリップフロップ入力ノードＤ１，Ｄ２，Ｄ３に不一致がある場合、クロック信号ＣＬＫが立ち上がり、マスタラッチ部１２がラッチ状態になる際に、多数決がとられる。スレーブラッチ部３３の多数決判定機能は、ソフトエラーによる誤動作防止のためであり、遅延時間の影響が小さいので、図１のスレーブラッチ部１３よりも素子数が少ない図６のスレーブラッチ部３３を用いている。これにより、実施の形態１の場合と同様な効果を、より小さい面積で実現できる。
【００６６】
なお、実施の形態１〜３では、マスタラッチ部とスレーブラッチ部を同じ回路構成としたが、本実施の形態４のように、実施の形態１〜３に示したマスタラッチ部とスレーブラッチ部を適宜組み合わせ、マスタラッチ部とスレーブラッチ部を別な回路構成としても良い。また、場合によっては、マスタラッチ部とスレーブラッチ部のいずれか一方に多数決判定機能を設け、他方を後述する図１１のマスタラッチ部７２のような、通常のＤラッチの回路構成としてもよい。
【００６７】
（実施の形態５）
《半導体装置の主要部の構成（変形例［４］）》
図９は、本発明の実施の形態５による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。図９に示すフリップフロップは、図１の構成例に対して非同期リセット機能を追加した点が特徴となっている。
【００６８】
図９に示すフリップフロップは、クロックバッファ部１０、入力バッファ部１１、マスタラッチ部５２、スレーブラッチ部５３、出力バッファ部１４、およびリセットバッファ部５５を備える。クロックバッファ部１０、入力バッファ部１１、および出力バッファ部１４は、図１と同様であるため詳細な説明は省略する。リセットバッファ部５５は、２個のインバータを備え、リセット信号ＲＳＴが入力され、相補な内部リセット信号ＲＳｔ，ＲＳｂを、マスタラッチ部５２とスレーブラッチ部５３に供給する。
【００６９】
マスタラッチ部５２は、図１の場合と同様に、３個の透過用トランスファゲートＴＧｔ、３個のラッチ用トランスファゲートＴＧｌ、および３個のＣエレメントＭＣＥを備え、さらに、図１の３個のインバータＩＮＶの代わりに３個の２入力ＮＯＲゲートＮＯ２を備える。スレーブラッチ部５３は、図１の場合と同様に、３個の透過用トランスファゲートＴＧｔ、３個のラッチ用トランスファゲートＴＧｌ、および３個のＣエレメントＭＣＥを備え、さらに、図１の３個のインバータＩＮＶの代わりに３個の２入力ＮＡＮＤゲートＮＡ２を備える。
【００７０】
リセット信号ＲＳＴがハイレベルの期間では、マスタラッチ部５２内のＮＯＲゲートＮＯ２により中間ノードＭ１，Ｍ２，Ｍ３はロウレベルとなり、スレーブラッチ部５３内のＮＡＮＤゲートＮＡ２によりノードＱ１ｂ，Ｑ２ｂ，Ｑ３ｂはハイレベルとなる。一方、リセット信号ＲＳＴがロウレベルの期間では、実施の形態１の場合と同様に動作する。これにより、実施の形態１で述べた各種効果を持つリセット付きのＤフリップフロップが実現できる。
【００７１】
（実施の形態６）
《半導体装置の主要部の構成（変形例［５］）》
図１０は、本発明の実施の形態６による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。図１０に示すフリップフロップは、図１の構成例に対してスキャン機能を追加した点が特徴となっている。
【００７２】
図１０に示すフリップフロップは、クロックバッファ部１０、入力バッファ部６１、マスタラッチ部１２、スレーブラッチ部１３、出力バッファ部６４、およびスキャンエネーブルバッファ部６６を備える。クロックバッファ部１０、マスタラッチ部１２、スレーブラッチ部１３は、図１と同様であるため、省略な説明は省略する。スキャンエネーブルバッファ部６６は、２個のインバータからなり、スキャンエネーブル信号ＳＥＮが入力され、相補な内部スキャンエネーブル信号ＳＥｔ，ＳＥｂを、入力バッファ部６１に供給する。
【００７３】
入力バッファ部６１は、フリップフロップ入力ノードＤ１，Ｄ２，Ｄ３が入力される３個のインバータＩＮＶに加え、スキャン入力ＳＩが入力されるインバータを備える。入力バッファ部６１は、フリップフロップ入力ノードＤ１，Ｄ２，Ｄ３かスキャン入力ＳＩのいずれか一方を６個のトランスファゲートＴＧによって選択して、ノードＤ１ｂ，Ｄ２ｂ，Ｄ３ｂに出力する。このトランスファゲートＴＧによる選択は、相補な内部スキャンエネーブル信号ＳＥｔ，ＳＥｂによって制御される。出力バッファ部６４は、フリップフロップ出力ノードＱ１，Ｑ２，Ｑ３に出力する３個のインバータに加え、スキャン出力ＳＯを出力するインバータを備える。
【００７４】
スキャン出力ＳＯを、別なスキャン付フリップフロップのスキャン入力に接続していくことにより、スキャンチェーンが構成できる。スキャンエネーブル信号ＳＥＮをハイレベルとすることで、クロック信号ＣＬＫの立ち上がりで、スキャンチェーンで信号を伝達していく動作が行われる。スキャンエネーブル信号ＳＥＮがロウレベルでは、実施の形態１の場合と同様の動作が行われる。
【００７５】
本実施の形態によるフリップフロップは、３個のＤフリップフロップに相当する回路を備えるが、多数決判定機能を内在しているため、３個のＤフリップフロップから常に同じデータを出力することになる。そこで、スキャンチェーンでは１個のフリップフロップとして扱い、スキャン機能を付加することによる素子数増加のオーバーヘッドを小さくしている。
【００７６】
（実施の形態７）
《半導体装置の主要部の構成（変形例［６］）》
図１１は、本発明の実施の形態７による半導体装置において、それに含まれるフリップフロップの構成例を示す回路図である。図１１に示すフリップフロップは、スレーブラッチ部７３内の透過パスに、反転型で多数決判定を行う多数決判定用複合ゲートＮＴＶが設けられる点が特徴となっている。
【００７７】
図１１に示すフリップフロップは、クロックバッファ部１０、入力バッファ部１１、マスタラッチ部７２、スレーブラッチ部７３、および出力バッファ部１４を備える。クロックバッファ部１０、入力バッファ部１１、出力バッファ部１４は、図１と同様であるため、詳細な説明は省略する。マスタラッチ部７２は、３個の透過用トランスファゲートＴＧｔと、３個のラッチ用トランスファゲートＴＧｌと、６個のインバータＩＮＶを備える。マスタラッチ部７２は、３個の一般的なＤラッチによって構成される。
【００７８】
スレーブラッチ部７３は、３個の透過用トランスファゲートＴＧｔと、３個のラッチ用トランスファゲートＴＧｌと、３個のインバータＩＮＶと、３個の多数決判定用複合ゲートＮＴＶを備える。スレーブラッチ部７３において、中間ノードＭ１，Ｍ２，Ｍ３を入力とする３系統の回路は、同様の構成となっている。
【００７９】
例えば、ノードＭ２を入力とする系統を例とすると、まず、透過用トランスファゲートＴＧｔは、クロック信号ＣＬＫがハイレベルの際に、中間ノードＭ２の論理レベルをノードＮＳ２に伝達する。多数決判定用複合ゲートＮＴＶは、ノードＮＳ１，ＮＳ２，ＮＳ３を入力として、図５（ｃ）の場合と同様にしてその各論理レベルの多数決判定を行いノードＱ２ｂに出力する。インバータＩＮＶは、ノードＱ２ｂを入力としてその論理レベルを反転させてラッチ用トランスファゲートＴＧｌに出力する。ラッチ用トランスファゲートＴＧｌは、クロック信号ＣＬＫがロウレベルの際に、インバータＩＮＶの出力をノードＮＳ２に帰還する。
【００８０】
図１２は、図１１のフリップフロップの動作例を示す波形図である。図１２において、クロック信号ＣＬＫがロウレベルの間（期間Ｔ１１）、マスタラッチ部７２はトランスペアレント状態であり、スレーブラッチ部１３はラッチ状態である。ここでは、図３と同様に、３個のフリップフロップ入力ノードＤ１，Ｄ２，Ｄ３の内、Ｄ１とＤ２がロウレベルからハイレベルになり、Ｄ３がロウレベルを保つ場合を例とする。ノードＤ１ｂ，Ｄ２ｂはロウレベルとなり、トランスファゲートＴＧｔを通じてノードＮＭ１ｂ，ＮＭ２ｂもロウレベルとなり、中間ノードＭ１，Ｍ２はハイレベルとなる。一方、ノードＤ３ｂとノードＮＭ３ｂはハイレベルのままであり、中間ノードＭ３はロウレベルのままである。
【００８１】
クロック信号ＣＬＫがハイレベルに立ち上がると（期間Ｔ１２）、マスタラッチ部７２はラッチ状態に変わり、ノードＮＭ１ｂ，ＮＭ２ｂ，ＮＭ３ｂと中間ノードＭ１，Ｍ２，Ｍ３は、論理レベルをそのまま維持する。スレーブラッチ部７３はトランスペアレント状態となる。中間ノードＭ１，Ｍ２がハイレベルなので、ノードＮＳ１，ＮＳ２もハイレベルになる。中間ノードＭ３はロウレベルなので、ノードＮＳ３はロウレベルのままである。
【００８２】
３個の多数決判定用複合ゲートＮＴＶは、図５（ｃ）に示した真理値表に従い、ノードＱ１ｂ，Ｑ２ｂ，Ｑ３ｂをロウレベルに駆動する。その結果、フリップフロップ出力ノードＱ１，Ｑ２，Ｑ３はハイレベルとなる。すなわち、クロック信号ＣＬＫの立ち上がりで、３個のフリップフロップ入力ノードＤ１，Ｄ２，Ｄ３の論理レベルに対して多数決をとった論理レベルが、３個のフリップフロップ出力ノードＱ１，Ｑ２，Ｑ３で得られる。このとき、ノードＮＳ３は、インバータＩＮＶの帰還によりハイレベルに駆動され、安定状態となる。
【００８３】
クロック信号ＣＬＫがロウレベルへ立ち下がると（期間Ｔ１３）、マスタラッチ部７２はトランスペアレント状態となり、スレーブラッチ部７３はラッチ状態となる。フリップフロップ入力ノードＤ１，Ｄ２，Ｄ３の論理レベルは変化していないので、マスタラッチ部７２とスレーブラッチ部７３の各ノードと、フリップフロップ出力ノードＱ１，Ｑ２，Ｑ３の論理レベルは同じ状態のままである。
【００８４】
ここで、ラッチ状態のスレーブラッチ部７３のノードＮＳ３が、中性子線によりロウレベルに変化した場合を想定する。この場合、ノードＱ１ｂ，Ｑ２ｂ，Ｑ３ｂは多数決判定用複合ゲートＮＴＶによってロウレベルに保たれ、フリップフロップ出力ノードＱ１，Ｑ２，Ｑ３はハイレベルに保たれる。また、ノードＮＳ３は、インバータＩＮＶによる帰還でハイレベルに戻り、中性子線によるソフトエラーが修復される。
【００８５】
その後、フリップフロップ入力ノードＤ１，Ｄ２が、ハイレベルからフリップフロップ入力ノードＤ３と同じロウレベルになると、ノードＤ１ｂ，Ｄ２ｂとノードＮＭ１ｂ，ＮＭ２ｂはハイレベルとなり、中間ノードＭ１，Ｍ２はロウレベルとなる。この状態で、クロック信号ＣＬＫがハイレベルに立ち上がると（期間Ｔ１４）、マスタラッチ部７２はラッチ状態となり、スレーブラッチ部７３はトランスペアレント状態となる。その結果、フリップフロップ出力ノードＱ１，Ｑ２，Ｑ３はロウレベルとなる。
【００８６】
本実施の形態７によるフリップフロップを用いた場合でも、実施の形態１で述べた各種効果と同様の効果が得られる。また、ここでは、ラッチ部の透過パスに多数決判定機能を持たせているため、マスタラッチ部とスレーブラッチ部の一方で済ませ、素子数を抑制している。この際には、透過パスであるため、ハイインピーダンスを出力しない多数決判定用複合ゲートＮＴＶを用いることで、安定動作を実現している。マスタラッチ部に多数決判定機能を持たせることも考えられるが、スレーブラッチ部側のソフトエラーの影響を軽減できなくなるため、図１１のように、スレーブラッチ部に多数決判定機能を持たせる方が望ましい。
【００８７】
また、図１２に示した動作例はノードＮＳ３が反転する場合なので、フリップフロップ出力ノードＱ３には影響が生じない。例えば、ノードＱ３ｂが反転する場合、一時的に、フリップフロップ出力ノードＱ３の論理レベルが反転するが、帰還により元の状態に修復され、ＳＥＵとはならず、ＳＥＴとなる。また、例えば、マスタラッチ部７２のノードでソフトエラーが起きた場合、１個だけなら、スレーブラッチ部７３側の多数決判定機能により、フリップフロップ出力ノードＱ１，Ｑ２，Ｑ３には影響が生じない。
【００８８】
なお、ここでは、スレーブラッチ部の透過パスに多数決判定機能を設けたが、その代わりに、スレーブラッチ部の帰還パスに図２（ａ）のＣエレメントＭＣＥや、図５（ａ）の多数決判定用複合ゲートＮＴＶや、図７（ａ）の多数決判定用ゲートＤＴＩを設けることも可能である。透過パスに多数決判定機能を設ける場合、フリップフロップの動作速度に影響が生じる恐れがあるが、帰還パスに設ける場合、この影響を低減できる。ただし、帰還パスに多数決判定機能を設ける場合、例えば、ノードＮＳ１，ＮＳ２，ＮＳ３やマスタラッチ部７２でソフトエラーが生じた場合に、一時的にフリップフロップ出力ノードＱ１，Ｑ２，Ｑ３に影響が生じる恐れがあるが、透過パスに設ける場合、このような影響を回避できる。
【００８９】
（実施の形態８）
《半導体装置の構成（応用例［１］）》
図１３は、本発明の実施の形態８による半導体装置において、その概略的な構成例を示すブロック図である。図１３に示す半導体装置は、前述した本実施の形態によるフリップフロップを適用したＦＰＧＡ（Field Programmable Gate Array）である。図１３は、物理的な配置ではなく、論理的な構成を概略的に示している。
【００９０】
図１３に示すＦＰＧＡは、ロジックアレイＬＡＢ、コンフィグレーションメモリＣＲＡＭ、フラッシュメモリコントローラＦＭＣ、パーシャルリコンフィグコントローラＰＲＣ、およびコンフィグレーションメモリチェッカＣＲＣなどを含む。ロジックアレイブロックＬＡＢは、３重化された組合せ論理回路ＣＬ１１，ＣＬ１２，ＣＬ１３及びＣＬ２１，ＣＬ２２，ＣＬ２３と、当該３重化された組合せ論理回路の間に設けられる多数決判定機能付フリップフロップブロックＴＶＦＢを備える。当該多数決判定機能付フリップフロップブロックＴＶＦＢに、本実施の形態によるフリップフロップが適用される。
【００９１】
ロジックアレイブロックＬＡＢは、３重化の各系統に対応する３個のパーシャルリコンフィグブロックＰＲＢ１，ＰＲＢ２，ＰＲＢ３に分けられる。コンフィグレーションメモリＣＲＡＭは、ＳＲＡＭセルをベースに構成され、ロジックアレイブロックＬＡＢの構成を制御するコンフィグレーションデータを保持する。フラッシュメモリＣＦＭは、ＦＰＧＡに付随して設けられ、コンフィグレーションデータを記憶する。フラッシュメモリコントローラＦＭＣは、フラッシュメモリＣＦＭとコンフィグレーションメモリＣＲＡＭとの間のコンフィグレーションデータの授受を制御する。
【００９２】
パーシャルリコンフィグコントローラＰＲＣは、３個のパーシャルリコンフィグブロックＰＲＢ１，ＰＲＢ２，ＰＲＢ３毎に部分的に論理構成を行うという所謂パーシャルリコンフィグを制御する。コンフィグレーションメモリチェッカＣＲＣは、コンフィグレーションメモリＣＲＡＭの保持しているデータを、サイクリックリダンダンシコードなどの手法によりチェックする。
【００９３】
図１４は、図１３におけるロジックアレイの主要部を模式的に示すブロック図である。図１４のロジックアレイＬＡＢでは、ロジックエレメントＬＥがアレイ状に配置される。ロジックエレメントＬＥの左右には縦方向配線チャネルＶＲＣが、また、上下には横方向配線チャネルＨＲＣがメッシュ状に設けられる。縦方向配線チャネルＶＲＣおよび横方向配線チャネルＨＲＣは、ロジックエレメントＬＥ間の信号伝送を行う。縦方向配線チャネルＶＲＣと横方向配線チャネルＨＲＣの交点には、配線スイッチＲＳＷが設けられる。ロジックエレメントＬＥと配線スイッチＲＳＷの構成は、コンフィグレーションデータにより定められる。
【００９４】
図１５は、図１４におけるロジックエレメントの主要部の構成例を示すブロック図である。図１５に示すロジックエレメントＬＥは、３重化の各系統に対応する３個のルックアップテーブルＬＵＴ１，ＬＵＴ２，ＬＵＴ３と、多数決判定機能付フリップフロップＴＶＦＦを含んでいる。多数決判定機能付フリップフロップＴＶＦＦには、前述した本実施の形態によるフリップフロップが適用される。ロジックエレメントＬＥは、出力として、ルックアップテーブルＬＵＴ１，ＬＵＴ２，ＬＵＴ３から直接出力する出力ノードＣ０１，Ｃ０２，Ｃ０３と、多数決判定機能付フリップフロップＴＶＦＦを介した出力ノードＲ０１，Ｒ０２，Ｒ０３を持っている。なお、この図では一組の３重化論理回路だけを示しているが、１個のロジックエレメントＬＥ内に複数組を設けることもでき、これらは、配置の効率を上げるように適宜定められる。
【００９５】
ＦＰＧＡでは、ルックアップテーブルの参照データや、配線スイッチの切換え制御を、コンフィグレーションデータにより行うため、コンフィグレーションメモリでのソフトエラーでロジック構成自体が変わってしまう。そのため、信頼性を高めるために３重化が有効である。この際に、本実施の形態によるフリップフロップは、前述したように３重化に伴うペナルティを軽減できるため、好適である。
【００９６】
本実施の形態によるフリップフロップは、多数決判定により自動的にエラーを訂正する。このため、例えば、各フリップフロップの出力を比較することで、ルックアップテーブルで生じたエラーを検出するような動作は行われない。そこで、このようなエラーは、コンフィグレーションメモリチェッカＣＲＣによって検出する。コンフィグレーションメモリチェッカＣＲＣは、エラーを検出したら、パーシャルリコンフィグコントローラＰＲＣにより、エラーの影響を受けるパーシャルリコンフィグブロックのパーシャルリコンフィグを行う。
【００９７】
３重化論理回路をパーシャルリコンフィグで修復する際、一般には、フリップフロップが保持しているデータが一致するように、正常動作しているパーシャルリコンフィグブロックのフリップフロップから、パーシャルリコンフィグするパーシャルリコンフィグブロックのフリップフロップへデータをコピーしなければならない。本実施の形態によるフリップフロップを使用することにより、実施の形態１でも述べたように、３重化論理回路でフリップフロップのデータが常に一致しているため、フリップフロップのデータをコピーする動作が不要である。そのため、制御が容易である上、パーシャルリコンフィグでの修復を短時間で完了できる。
【００９８】
（実施の形態９）
《半導体装置の主要部の構成（応用例［２］）》
ここでは、本実施の形態によるフリップフロップを、１個の高信頼フリップフロップとして用いる場合について説明する。
【００９９】
図１６は、本発明の実施の形態９による半導体装置において、それに含まれるフリップフロップの概略構成例を示すブロック図である。図１６に示す高信頼フリップフロップは、２個の遅延回路ＤＬＹと、多数決判定機能付フリップフロップＴＶＦＦを備える。多数決判定機能付フリップフロップＴＶＦＦには、前述した本実施の形態によるフリップフロップが適用される。
【０１００】
多数決判定機能付フリップフロップＴＶＦＦのフリップフロップ入力ノードＤ１には、入力ノードＤの信号が入力される。多数決判定機能付フリップフロップＴＶＦＦのフリップフロップ入力ノードＤ１およびＤ２には、それぞれ、入力ノードＤの信号を１個の遅延回路ＤＬＹによって遅延させた信号および２個の遅延回路ＤＬＹによって遅延させた信号が入力される。多数決判定機能付フリップフロップＴＶＦＦの出力ノードＱは、３個のフリップフロップ出力ノードＱ１，Ｑ２，Ｑ３の中の一つ（例えばＱ２）を用いる。
【０１０１】
フリップフロップ入力ノードＤ１，Ｄ２，Ｄ３には、入力ノードＤの信号を遅延回路ＤＬＹの遅延時間分ずつ遅延させた信号が入力される。その結果、例えばソフトエラーがＳＥＴとして、入力ノードＤに伝播してきても、多数決判定機能付フリップフロップＴＶＦＦは、フリップフロップ入力ノードＤ１，Ｄ２，Ｄ３において当該ソフトエラーに伴う信号変化を異なるタイミングで受けるため、当該ソフトエラーを多数決判定によって修復することが可能になる。これにより、高信頼なＤフリップフロップを実現できる。
【０１０２】
図１６の構成例は、図２１の場合と同様にして３個のフリップフロップと多数決判定回路によって信頼性を確保する場合と比較して、少ない素子数で実現可能である。このため、小さい面積や消費電力で高い信頼性を確保することが可能になる。
【０１０３】
（実施の形態１０）
《半導体装置の主要部の構成（応用例［３］）》
これまでの実施の形態では、フリップフロップを例として説明を行ったが、これに限定されるものではない。例えば、情報を保持する回路に多数決判定機能を内在させるという概念は、ラッチ回路にも適用できる。図１７は、本発明の実施の形態１０による半導体装置において、それに含まれるラッチ回路の構成例を示す回路図である。図１７に示すラッチ回路は、クロックバッファ部１０と、入力バッファ部１１と、３個の透過用トランスファゲートＴＧｔと、３個のラッチ用トランスファゲートＴＧｌと、３個のインバータＩＮＶと、３個の多数決判定用複合ゲートＮＴＶを備える。クロックバッファ部１０と入力バッファ部１１は、図１と同様の構成であり、残りの回路は、図１１におけるスレーブラッチ部７３と同様の構成となっている。
【０１０４】
クロック信号ＣＬＫがハイレベルの期間、当該ラッチ回路は、トランスペアレント状態であり、ノードＤＬ１ｂ，ＤＬ２ｂ，ＤＬ３ｂの論理レベルを透過用トランスファゲートＴＧｔを介してノードＮＬ１ｂ，ＮＬ２ｂ，ＮＬ３ｂに取り込み、多数決判定用複合ゲートＮＴＶにより多数決判定を行ったのち、出力ノードＱＬ１，ＱＬ２，ＱＬ３に出力する。クロック信号ＣＬＫがロウレベルの期間、当該ラッチ回路は、ラッチ状態であり、出力ノードＱＬ１，ＱＬ２，ＱＬ３の論理レベルをインバータＩＮＶとラッチ用トランスファゲートＴＧｌを介してノードＮＬ１ｂ，ＮＬ２ｂ，ＮＬ３ｂに帰還する。
【０１０５】
本実施の形態では、多数決判定用複合ゲートＮＴＶを、トランスペアレント状態でのドライバ側に用いている。その理由として、まず、当該ラッチ回路は、クロック信号ＣＬＫがハイレベルの期間に前段論理の演算結果が後段に伝達され、その後、クロック信号ＣＬＫがロウレベルになることでデータを保持する。ここで、多数決判定用複合ゲートＮＴＶをトランスペアレント状態でのドライバ側に用いた場合、後段へ伝達される信号として、クロック信号がハイレベルになった瞬間から次のクロック信号がハイレベルになるまで、期待値として正しい論理信号を示すことができる回路構成になる。すなわち、クロック信号がハイレベルとクロック信号がロウレベルでの多数決判定を可能とするには、本実施の形態にて示した構成にすることが望ましい。
【０１０６】
本実施の形態１０のラッチ回路を用いることでも、各実施の形態で述べた効果と同様の効果が得られる。
【０１０７】
《各実施の形態の主要な特徴の概要》
図１８は、本発明の一実施の形態による半導体装置において、その主要部の概略構成例を示すブロック図であり、図１９は、図１８とは異なる概略構成例を示すブロック図である。本実施の形態による半導体装置は、図１８および図１９に示すように、第１〜第３ストレージエレメントＳＴＥ１〜ＳＴＥ３を備えるラッチ回路を有する。すなわち、ラッチ回路は、それぞれ独立した３系統の入出力経路を持ち、当該３系統の入出力経路上にそれぞれ第１〜第３ストレージエレメントＳＴＥ１〜ＳＴＥ３を備える。第１〜第３ストレージエレメントＳＴＥ１〜ＳＴＥ３のそれぞれは、入力されたデータをクロック信号に同期して保持する。
【０１０８】
第１ストレージエレメントＳＴＥ１は、第１ストレージ入力ノードＩ１と第１ストレージ出力ノードＯ１の間に設けられ、第２ストレージエレメントＳＴＥ２は、第２ストレージ入力ノードＩ２と第２ストレージ出力ノードＯ２の間に設けられ、第３ストレージエレメントＳＴＥ３は、第３ストレージ入力ノードＩ３と第３ストレージ出力ノードＯ３の間に設けられる。
【０１０９】
第Ｎストレージ入力ノードＩ１〜Ｉ３には、それぞれ、クロック信号が第１および第２論理レベルの一方の論理レベル（ここでは反転クロック信号ＣＬＫｂがハイレベルとなる第２論理レベル）の期間で、入力データＤＴ１〜ＤＴ３が取り込まれる。また、第Ｎストレージ出力ノードＩ１〜Ｉ３からは、それぞれ、出力データＱＴ１〜ＱＴ３が出力される。
【０１１０】
ここで、第１〜第３ストレージエレメントＳＴＥ１〜ＳＴＥ３のそれぞれは、ストレージ入力ノードを入力と透過パスまたはストレージ入力ノードを出力とする帰還パスのいずれか一方に多数決判定部を有し、当該多数決判定の結果を反映したデータを出力することが主要な特徴となっている。ここで、多数決判定部は、自身とは異なる他の入出力経路上に設けられるストレージエレメントからのデータを用いて多数決判定を行う。これにより、各実施の形態で述べたように、代表的には、信頼性の確保に伴うペナルティ（面積・消費電力・遅延時間）を軽減でき、また、ステートマシーン等を構成した際にエラーが生じた際の回復処理を容易化することが可能になる。
【０１１１】
図１８の構成例では、帰還パスに多数決判定部が設けられる。図１８において、第Ｎ（Ｎ＝１，２，３）ストレージエレメントＳＴＥ１〜ＳＴＥ３は、それぞれ、第Ｎドライバ部８０ａ〜８０ｃと、第Ｎ多数決判定部８１ａ〜８１ｃを備える。第Ｎドライバ部８０ａ〜８０ｃは、例えば、インバータで構成され、それぞれ、第Ｎストレージ入力ノードＩ１〜Ｉ３の信号をドライブし、第Ｎストレージ出力ノードＯ１〜Ｏ３に出力する。第Ｎ多数決判定部８１ａ〜８１ｃは、それぞれ、クロック信号が第１および第２論理レベルの一方の論理レベル（ここではクロック信号ＣＬＫｔがハイレベルとなる第１論理レベル）の期間で、多数決判定結果を第Ｎストレージ入力ノードＩ１〜Ｉ３に反映させる。
【０１１２】
第Ｎ多数決判定部８１ａ〜８１ｃは、例えば図２（ａ）または図５（ａ）あるいは図７（ａ）の構成を備え、図２（ａ）または図５（ａ）の構成を備える場合には、併せてトランスファゲートも備える。図２（ａ）または図７（ａ）の構成を備える場合、第Ｎ多数決判定部（例えば８１ａ）は、他の２個のストレージエレメントのストレージ出力ノード（Ｏ２，Ｏ３）を入力とし、当該２個のストレージ出力ノードが持つ論理レベルの一致・不一致と一致した際の論理レベルとに応じて第Ｎストレージ入力ノード（Ｉ１）の論理レベルを設定する。一方、図５（ａ）の構成を備える場合、第Ｎ多数決判定部（例えば８１ａ）は、第１〜第３ストレージ出力ノードＯ１〜Ｏ３を入力とし、当該３個のストレージ出力ノードが持つ論理レベルの多数決判定結果に対応する論理レベルを第Ｎストレージ入力ノード（Ｉ１）に出力する。
【０１１３】
なお、ここでは、３系統の入出力経路上に、それぞれストレージエレメントを設けたが、必ずしも３系統に限定されるものではなく、場合によってはそれ以上の系統を備えていてもよい。すなわち、例えば、５系統等といったように、多数決判定が可能な数の系統を備えていればよい。ただし、勿論、回路面積の観点からは３系統とすることが望ましい。また、ここでは、３系統の全てに多数決判定部を設けたが、必ずしもこれに限定されるものではなく、少なくとも一つの系統に多数決判定部を設ければよい。例えば、場合によっては、ある一つの系統の帰還パスに図５（ａ）のような多数決判定部を設け、当該系統から出力されるデータを正しいデータとして取り扱うようなことも可能である。ただし、より信頼性を高めるためには、３系統の全てに設けることが望ましい。
【０１１４】
図１９の構成例では、透過パスに多数決判定部が設けられる。図１９において、第Ｎ（Ｎ＝１，２，３）ストレージエレメントＳＴＥ１〜ＳＴＥ３は、それぞれ、第Ｎラッチ用ドライバ部９１ａ〜９１ｃと、第Ｎ多数決判定部９０ａ〜９０ｃを備える。第Ｎラッチ用ドライバ部９１ａ〜９１ｃは、例えば、インバータおよびトランスファゲートで構成され、それぞれ、クロック信号が第１および第２論理レベルの一方の論理レベル（ここではクロック信号ＣＬＫｔがハイレベルとなる第１論理レベル）の期間で、第Ｎ出力ノードＯ１〜Ｏ３のデータを、第Ｎ入力ノードＩ１〜Ｉ３に正帰還する。
【０１１５】
第Ｎ多数決判定部９０ａ〜９０ｃは、例えば図５（ａ）の構成を備える。この場合、第Ｎ多数決判定部（例えば９０ａ）は、第１〜第３入力ノードＩ１〜Ｉ３を入力とし、当該３個の入力ノードの多数決判定結果に対応する論理レベルを第Ｎ出力ノード（Ｏ１）に出力する。
【０１１６】
図２０は、図１８を変形した概略構成例を示すブロック図である。図１８および図１９に示したストレージエレメントは、ストレージ入力ノードに入力されたデータをドライブしてストレージ出力ノードに出力するという入出力間のドライブ機能を備えるが、このような用途ではなく、単に、ノードのデータをリテンションするために、ストレージエレメントが用いられる場合がある。
【０１１７】
図２０に示す半導体装置（ラッチ回路）では、図１８の構成例におけるストレージ入力ノードＩ１とストレージ出力ノードＯ１が共通のストレージノードＳ１とされる。同様に、図２０では、図１８におけるストレージ入力ノードＩ２，Ｉ３とストレージ出力ノードＯ２，Ｏ３がそれぞれ共通のストレージノードＳ２，Ｓ３とされる。そして、図２０における各ストレージエレメントＳＴＥ１〜ＳＴＥ３は、入出力ノード間のドライブを行わずに、それぞれ、対応するストレージノードＳ１〜Ｓ３のデータをリテンションすると共に多数決判定に基づいて修正するバルーンとして機能する。
【０１１８】
すなわち、図２０に示す半導体装置は、図１８における出力データＱＴ１〜ＱＴ３を第Ｎドライバ部８０ａ〜８０ｃの出力からではなく、第Ｎドライバ部８０ａ〜８０ｃの入力から得る構成となっている。これ以外の構成に関しては、図１８の場合と同様である。各ストレージエレメントＳＴＥ１〜ＳＴＥ３内の多数決判定部８１ａ〜８１ｃは、図１８の場合と同様に、対応するドライバ部の出力を入力として多数決判定を行い、その多数決判定結果をドライバ部の入力に反映する。これによって、各ストレージノードにおいて、データのリテンションと多数決判定に基づくデータの修正とが可能になる。なお、ここでは、図１８を変形した構成例を示したが、同様にして、図１９を変形することも可能である。
【０１１９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【０１２０】
１０  クロックバッファ部
１１，６１  入力バッファ部
１２，２２，３２，５２，７２  マスタラッチ部
１３，２３，３３，５３，７３  スレーブラッチ部
１４，６４  出力バッファ部
５５  リセットバッファ部
６６  スキャンエネーブルバッファ部
８０ａ〜８０ｃ  ドライバ部
８１ａ〜８１ｃ，９０ａ〜９０ｃ  多数決判定部
９１ａ〜９１ｃ  ラッチ用ドライバ部
Ｃ０１〜Ｃ０３，Ｑ，ＱＬ１〜ＱＬ３，Ｒ０１〜Ｒ０３  出力ノード
ＣＦＭ  フラッシュメモリ
ＣＫｂ，ＣＫｔ  内部クロック信号
ＣＬ１１〜ＣＬ１３，ＣＬ２１〜ＣＬ２３  組合せ論理回路
ＣＬＫ，ＣＬＫｔ  クロック信号
ＣＬＫｂ  反転クロック信号
ＣＲＡＭ  コンフィグレーションメモリ
ＣＲＣ  コンフィグレーションメモリチェッカ
Ｄ  入力ノード
Ｄ１〜Ｄ３  フリップフロップ入力ノード
Ｄ１ｂ〜Ｄ３ｂ，ＤＬ１ｂ〜ＤＬ３ｂ，ＮＬ１ｂ〜ＮＬ３ｂ，ＮＭ１ｂ〜ＮＭ３ｂ，ＮＳ１〜ＮＳ３，Ｑ１ｂ〜Ｑ３ｂ  ノード
ＤＬＹ  遅延回路
ＤＴ１〜ＤＴ３  入力データ
ＤＴＩ  多数決判定用ゲート
ＦＦ  フリップフロップ
ＦＭＣ  フラッシュメモリコントローラ
ＨＲＣ  横方向配線チャネル
Ｉ１〜Ｉ３  ストレージ入力ノード
ＩＮＶ  インバータ
ＬＡＢ  ロジックアレイ
ＬＥ  ロジックエレメント
ＳＴＥ１〜ＳＴＥ３  ストレージエレメント
ＬＵＴ１〜ＬＵＴ３  ルックアップテーブル
Ｍ１〜Ｍ３  中間ノード
ＭＣＥ  Ｃエレメント
ＭＮ１，ＭＮ２，ＭＮ５〜ＭＮ９，ＭＮ１１，ＭＮ１２  ＮＭＯＳトランジスタ
ＭＰ１，ＭＰ２，ＭＰ５〜ＭＰ９，ＭＰ１１，ＭＰ１２  ＰＭＯＳトランジスタ
ＮＡ２  ２入力ＮＡＮＤゲート
ＮＡ３  ３入力ＮＡＮＤゲート
ＮＯ２  ２入力ＮＯＲゲート
ＮＴＶ  多数決判定用複合ゲート
Ｏ１〜Ｏ３  ストレージ出力ノード
ＰＲＢ１〜ＰＲＢ３  パーシャルリコンフィグブロック
ＰＲＣ  パーシャルリコンフィグコントローラ
Ｑ１〜Ｑ３  フリップフロップ出力ノード
ＱＴ１〜ＱＴ３  出力データ
ＲＳＴ  リセット信号
ＲＳＷ  配線スイッチ
ＲＳｔ，ＲＳｂ  内部リセット信号
Ｓ１〜Ｓ３  ストレージノード
ＳＥＮ  スキャンエネーブル信号
ＳＥｔ，ＳＥｂ  内部スキャンエネーブル信号
ＳＩ  スキャン入力
ＳＯ  スキャン出力
ＴＧｌ  ラッチ用トランスファゲート
ＴＧｔ  透過用トランスファゲート
ＴＲＶ  多数決判定回路
ＴＶＦＢ  多数決判定機能付フリップフロップブロック
ＴＶＦＦ  多数決判定機能付フリップフロップ
ＶＤＤ  電源電圧
ＶＲＣ  縦方向配線チャネル
ＶＳＳ  接地電源電圧
【図１】
2015056314.tif 000003
【図２】
2015056314.tif 000004
【図３】
2015056314.tif 000005
【図４】
2015056314.tif 000006
【図５】
2015056314.tif 000007
【図６】
2015056314.tif 000008
【図７】
2015056314.tif 000009
【図８】
2015056314.tif 000010
【図９】
2015056314.tif 000011
【図１０】
2015056314.tif 000012
【図１１】
2015056314.tif 000013
【図１２】
2015056314.tif 000014
【図１３】
2015056314.tif 000015
【図１４】
2015056314.tif 000016
【図１５】
2015056314.tif 000017
【図１６】
2015056314.tif 000018
【図１７】
2015056314.tif 000019
【図１８】
2015056314.tif 000020
【図１９】
2015056314.tif 000021
【図２０】
2015056314.tif 000022
【図２１】
2015056314.tif 000023
【図２２】
2015056314.tif 000024
【国際調査報告】
2015056314.tif 000025
2015056314.tif 000026