(57)【要約】【課題】ラッチ回路およびフリップフロップ回路のソフトエラー耐性の向上。【解決手段】複数の回路ユニットIV1-IV4を有し、複数の回路ユニットの出力が他の反転回路の入力にフィードバックされ、２以上の入力端子1,2を有するデータ保持回路11と、２以上のクロックCK01,XCK01;CK02,XCK02にそれぞれ同期して、データ保持回路の２以上の入力端子に入力信号を入力する２以上の入力回路TG1,TG2と、を備え、データ保持回路は、２以上の入力端子に同時に入力信号Dinが入力されかつ２以上のクロックが同時に変化した時のみ、２以上の入力端子に正帰還がかかる。【選択図】図７
2010206398.tif 000002
【特許請求の範囲】
【請求項１】
複数の回路ユニットを有し、前記複数の回路ユニットの出力が他の回路ユニットの入力にフィードバックされ、２以上の入力端子を有するデータ保持回路と、
２以上のクロックにそれぞれ同期して、前記データ保持回路の前記２以上の入力端子に入力信号を入力する２以上の入力回路と、を備え、
前記データ保持回路は、前記２以上の入力端子に同時に前記入力信号が入力されかつ前記２以上のクロックが同時に変化した時のみ、前記２以上の入力端子に正帰還がかかることを特徴とするラッチ回路。
【請求項２】
請求項１に記載のラッチ回路を２段直列に接続し、前段の前記２以上の入力回路と後段の前記２以上の入力回路とに、逆相の前記２以上のクロックを供給することを特徴とするフリップフロップ回路。
【請求項３】
クロック分配回路と、
前記クロック分配回路から供給されるクロックを分離して２以上の分離クロックを生成するクロック分離回路と、
請求項１に記載のラッチ回路と、を備え、
前記２以上の入力回路に、前記２以上の分離クロックが供給されることを特徴とする半導体装置。
【請求項４】
前記クロック分離回路は、所定以上の電気容量がある前記クロック分配回路のノードに設けられることを特徴とする請求項３に記載の半導体装置。
【請求項５】
クロック分配回路と、
前記クロック分配回路から供給されるクロックを分離して２以上の分離クロックを生成するクロック分離回路と、
請求項４に記載のフリップフロップ回路と、を備え、
前段および後段の前記２以上の入力回路に、前記２以上の分離クロックが供給されることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラッチ回路、フリップフロップ回路およびそれらを有する半導体装置において、ソフトエラーの発生を低減する技術に関する。
【背景技術】
【０００２】
ＬＳＩ(Large Scale Integration)の半導体回路のパッケージや配線などに含まれる放射性同位元素が崩壊した時に発生するα線、宇宙線に由来する中性子線等によって、ＬＳＩの半導体回路内に電気的なノイズが発生し、半導体回路が誤動作することが知られている。そして、上記の誤動作は半導体回路等のハードウエアの故障によるハードエラーに対して、ソフトエラーと呼ばれている。従って、上記のソフトエラーは、動作再生可能な一過性の誤動作を引き起こすのに対し、ハードエラーは、回路の特定箇所に永久的な破壊を引き起こす点で、ソフトエラーとハードエラーは異なる。
【０００３】
しかし、ソフトエラーによる一過性の誤動作が、ＬＳＩの半導体回路を構成するラッチ回路に記憶された場合には、ソフトエラーによる誤動作は半導体回路における固定的なエラーとなり得る。
【０００４】
ここで、ＬＳＩの半導体回路の高集積化及び微細化が進み、ＬＳＩの半導体回路に含まれるラッチ回路の記憶ノードの電荷容量が小さくなると、電気的なノイズの発生を原因とするソフトエラーが固定的なエラーとなる確率は増大する。なぜなら、ラッチ回路の記憶ノードの論理状態は電気的なノイズによって反転しやすくなるため、誤動作状態となる頻度が増加するからである。
【０００５】
そこで、近年になって、ラッチ回路を含むロジックＬＳＩ回路のソフトエラー耐性を強化する提案がされている。例えば、同一のデータが入力される３個以上のラッチ回路を有し、３個以上のラッチ回路から出力される信号の多数決により出力を決定する方法が提案されている。この従来例では、３個以上のラッチ回路は、同相であるが独立したクロックにより入力データをラッチすることも提案されている。しかし、このエラー回避方法においては、３個以上のラッチ回路および多数決回路等のため、回路数及び回路面積が増大することになり、回路性能を低下させる原因となっていた。また、この従来例のラッチ回路は、単一のノードにエラーが発生するソフトエラーであれば正常な出力を維持できるが、このようなソフトエラーでも新たなデータが入力までの時間内に続けて発生した場合には正常な出力を維持できない。これは多数決により出力を決定するためである。
【０００６】
そこで、複数の回路ユニットを有し、複数の回路ユニットの出力が他の回路ユニットの入力にフィードバックするフィードバック経路を設けたデータ保持回路が知られている。なお、ここでは、回路ユニットとして反転回路（インバータ）を用いる例を説明するが、これに限られるものではない。
【０００７】
図１のデータ保持回路１１は、４個の反転回路ＩＶ１〜ＩＶ４と、２つの入力端子１、２と、１個の出力端子３と、を備える。２つの入力端子１、２に入力される入力データＤｉｎ１、Ｄｉｎ２は同じデータであり、出力端子３から出力される出力データＤｏｕｔは入力データを反転した信号である。言い換えれば、データ保持回路１１は反転回路として動作する。なお、非反転出力が必要な場合には、出力にさらに反転回路を設ける。図１に示すように、３個の反転回路ＩＶ１〜ＩＶ３のそれぞれは、１個のＰＴｒと１個のＮＴｒを直列に接続したものである。１個の反転回路ＩＶ１は、２個のＰチャンネルトランジスタ（Ｐｔｒ）と２個のＮチャンネルトランジスタ（ＮＴｒ）を、高電位電源と低電位電源の間に直列に接続したものである。反転回路ＩＶ４は、２個のＰｔｒの一方または２個のＮＴｒの一方がソフトエラーにより変化しても、出力は変化しないので、反転回路ＩＶ１〜ＩＶ３に比べてソフトエラーによる出力への影響を受けにくい。
【０００８】
入力端子１は、ＩＶ１のＰＴｒおよびＩＶ２のＮＴｒのゲートに接続され、かつＩＶ３の出力に接続される。入力端子２は、ＩＶ１のＮＴｒおよびＩＶ２のＰＴｒのゲートに接続され、かつＩＶ４の出力（２番目のＰＴｒと１番目のＮＴｒの接続ノード）に接続される。ＩＶ１の出力は、ＩＶ３のＮＴｒおよびＩＶ４の１番目のＰＴｒおよび２番目のＮＴｒのゲートに接続される。ＩＶ２の出力は、ＩＶ３のＰＴｒおよびＩＶ４の２番目のＰＴｒおよび１番目のＮＴｒのゲートに接続される。ここでは、ＩＶ２の出力を出力端子３に接続して出力としている。このデータ保持回路１１では、たとえ１個の反転回路でソフトエラーが発生しても、他の反転回路はソフトエラーの影響を受けず、他の反転回路が、ソフトエラーの発生した反転回路を元の正常な状態に復帰させる。
【０００９】
図２は、図１のデータ保持回路１１を使用したラッチ回路を示す図である。図２に示すように、このラッチ回路は、組合せ回路１０から出力されるデータＤｉｎをラッチする。データＤｉｎは、トランスファーゲートＴＧを通過した後、２つに分けてデータ保持回路１１の２つの入力端子に入力する。クロック源からクロック分配回路（クロックツリー）を介して供給される原クロックＣＫを受けて、クロックＣＫ０およびＸＣＫ０を発生するクロック発生回路が設けられている。クロック発生回路は、直列に接続した２個のクロック用反転回路（インバータ）ＩＶ１１およびＩＶ１２を有し、ＩＶ１１からＸＣＫ０画出力され、ＩＶ１２からＣＫ０が出力される。したがって、ＣＫ０とＸＣＫ０は逆相の相補信号である。クロックＣＫ０およびＸＣＫ０がＴＧに印加される。データ保持回路１１の出力は、反転回路ＩＶ１３で反転されて出力Ｄｏｕｔとして出力される。
【００１０】
図３は、図２のラッチ回路の動作を示すタイムチャートであり、（Ａ）が正常時の動作を、（Ｂ）がクロック用反転回路ＩＶ１１にソフトエラーが発生した場合の動作を示す図である。
【００１１】
図３の（Ａ）に示すように、クロックＣＫ０が“Ｈ”から“Ｌ”（ＸＣＫ０は“Ｈ”）に変化すると、ＴＧは遮断状態から導通状態に変化し、組合せ回路１０が出力する入力データＤｉｎがデータ保持回路１１の入力端子に入力される。ＣＫ０が“Ｌ”から“Ｈ”になると、ＴＧ１およびＴＧ２は再び遮断状態になり、その時点のデータＤｉｎを保持する。すなわち、データ保持回路１１は入力データＤｉｎをラッチする。ＣＫ０が“Ｈ”の間は、ＴＧ１およびＴＧ２は遮断状態を維持するので、組合せ回路１０の出力するデータＤｉｎが変化しても、データ保持回路１１の保持するデータは変化しない。言い換えれば、ＣＫ０が“Ｈ”の間は、組合せ回路１０の出力するデータＤｉｎは不定値でよく、ＣＫ０が“Ｌ”の時にラッチするデータＤｉｎが確定値であればよい。
【００１２】
前述のように、データ保持回路１１は、内部の１個の反転回路でソフトエラーが発生しても、他の反転回路がソフトエラーの発生した反転回路を元の正常な状態に復帰させるので、出力Ｄｏｕｔは正常なデータのままで変化しない。しかし、クロック用反転回路ＩＶ１１にソフトエラーが発生すると、出力Ｄｏｕｔが異常なデータに変化することが起こる。この問題を図３の（Ｂ）を参照して説明する。
【００１３】
図２に示すように、クロック用反転回路ＩＶ１１にソフトエラーが発生した場合を考える。この場合、ＸＣＫ０がソフトエラーにより一時的に“Ｈ”に変化し、それに応じてＣＫ０が“Ｌ”に変化するノイズが発生する。そのため、ＴＧは導通状態になり、組合せ回路１０がその時に出力するデータＤｉｎをラッチする。上記のように、ＣＫ０が“Ｈ”の間、組合せ回路１０が出力するデータＤｉｎは不定値であり、データ保持回路１１にラッチされているデータと一致することは保証されない。例えば、図３の（Ｂ）では、ＣＫ０が“Ｌ”の時のＤｉｎは“Ｈ”であり、データ保持回路１１は“Ｈ”のデータを保持している。クロック用反転回路ＩＶ１１にソフトエラーが発生した時に、組合せ回路１０が出力するデータＤｉｎが“Ｌ”の場合、データ保持回路１１には“Ｌ”の誤データがラッチされて保持されることになる。
【００１４】
このように、図２のラッチ回路では、クロック用反転回路ＩＶ１１にソフトエラーが発生すると、出力データＤｏｕｔが変化する場合が起こり得る。
【００１５】
図４は、図２のラッチ回路を２個直列に接続したフリップフロップ回路を示す図である。図４に示すように、このフリップフロップ回路は、前段のデータ保持回路１１Ａと、後段のデータ保持回路１１Ｂと、前段のデータ保持回路１１Ａの入力端子に接続される前段トランスファーゲートＴＧＡと、後段のデータ保持回路１１Ｂの入力端子に接続される後段トランスファーゲートＴＧＢと、を有する。図２と同様に、クロック用反転回路（インバータ）ＩＶ１１およびＩＶ１２が設けられる。前段のＴＧＡと後段のＴＧＢは、逆相で動作する。前段のＴＧＡは、図２と同様に、組合せ回路１０の出力する入力データＤｉｎを受けて、その出力を前段のデータ保持回路１１Ａの２つの入力端子に入力する。後段のＴＧＢは、前段のデータ保持回路１１Ａの出力Ｄｏｕｔを受け、その出力を後段のデータ保持回路１１Ｂの２つの入力端子に入力する。
【００１６】
図５は、図４のフリップフロップ回路の動作を示すタイムチャートであり、（Ａ）が正常時の動作を、（Ｂ）がクロック用反転回路ＩＶ１１にソフトエラーが発生した場合の動作を示す図である。
【００１７】
図５の（Ａ）に示すように、クロックＣＫ０は、デューティが約５０％の信号である。ＣＫ０が“Ｌ”の時に、前段のＴＧＡは導通状態になり、組合せ回路１０の出力するデータＤｉｎが前段のデータ保持回路１１Ａに設定される。この時、後段のＴＧＢは遮断状態であり、後段のデータ保持回路１１Ｂは前のデータを保持する。次に、ＣＫ０が“Ｌ”から“Ｈ”に変化すると、前段のＴＧＡが遮断状態になり、前段のデータ保持回路１１Ａは、その時点のＤｉｎを保持する。同時に、後段のＴＧＢは導通状態になり、後段のデータ保持回路１１Ｂは前段のデータ保持回路１１Ａが出力するデータを保持し、出力データＤｏｕｔとして出力する。
【００１８】
図４のフリップフロップ回路は、前段のデータ保持回路１１Ａが、ＣＫ０が“Ｌ”から“Ｈ”に変化した時点のＤｉｎをラッチし、ＣＫ０が“Ｈ”の間保持する。ＣＫ０が“Ｈ”から“Ｌ”に変化すると、前段のデータ保持回路１１Ａの保持するデータは後段のデータ保持回路１１Ｂに転送される。ＣＫ０が “Ｌ”の間、前段のデータ保持回路１１Ａが保持するデータはＤｉｎに応じて変化するが、後段のデータ保持回路１１Ｂに転送されることはない。後段のデータ保持回路１１Ｂに転送されるデータは、ＣＫ０が“Ｌ”から“Ｈ”に変化した時点のＤｉｎである。このように、図４のフリップフロップ回路では、ＣＫ０が“Ｌ”から“Ｈ”に変化する前後で、組合せ回路１０の出力が確定値であればよく、それ以外の時は組合せ回路１０の出力するデータＤｉｎは不定値でよい。
【００１９】
前述のように、データ保持回路１１Ａおよび１１Ｂは、内部の１個の反転回路でソフトエラーが発生しても、他の反転回路がソフトエラーの発生した反転回路を元の正常な状態に復帰させるので、出力Ｄｏｕｔは正常なデータのままで変化しない。
【００２０】
しかし、クロック用反転回路ＩＶ１１にソフトエラーが発生すると、図５の（Ｂ）に示すように、ＣＫ０がソフトエラーにより一時的に“Ｌ”に変化するノイズが発生し、それに応じてＴＧＡが導通状態となる。このため、前段のデータ保持回路１１Ａは、組合せ回路１０がその時に出力するデータＤｉｎをラッチし、後段のデータ保持回路１１Ｂの保持するデータが変化する。上記のように、ＣＫ０が“Ｌ”から“Ｈ”に変化する時以外、組合せ回路１０が出力するデータＤｉｎは不定値であり、前段のデータ保持回路１１Ａにラッチされているデータと一致することは保証されない。このように、図４のフリップフロップ回路では、クロック用反転回路ＩＶ１１にソフトエラーが発生すると、出力データＤｏｕｔが変化する場合が起こり得る。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００２−１８５３０９号公報
【特許文献２】特開２０００−２１６６６８号公報
【特許文献３】特開２００６−１２９４７７号公報
【特許文献４】特開２００７−３１２１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
実施形態では、ラッチ回路、フリップフロップ回路および半導体装置のソフトエラー耐性を向上する。
【課題を解決するための手段】
【００２３】
実施形態のラッチ回路は、複数の回路ユニットを有し、複数の回路ユニットの出力が他の回路ユニットの入力にフィードバックされ、２以上の入力端子を有するデータ保持回路と、２以上のクロックにそれぞれ同期して、データ保持回路の２以上の入力端子に入力信号を入力する２以上の入力回路と、を備え、データ保持回路は、２以上の入力端子に同時に入力信号が入力されかつ前記２以上のクロックが同時に変化した時のみ、前記２以上の入力端子に正帰還がかかる。
【００２４】
実施形態のラッチ回路では、２以上の入力回路が設けられる。２以上の入力回路は、２以上のクロックにそれぞれ同期して動作するため、たとえソフトエラーによりクロックにノイズが発生しても同時に導通状態になることはない。そのため、不定値の入力データがデータ保持回路に入力されることはなく、ラッチ回路の出力は変化しない。
【発明の効果】
【００２５】
実施形態のラッチ回路、フリップフロップ回路および半導体装置では、入力回路に印加されるクロックにソフトエラーによるノイズが発生しても、出力が誤って変化するのを防止でき、ソフトエラーに対する耐性が向上する。
【図面の簡単な説明】
【００２６】
【図１】図１は、データ保持回路の回路例を示す図である。
【図２】図２は、図１のデータ保持回路を使用したラッチ回路を示す図である。
【図３】図３は、図２のラッチ回路の動作と、ソフトエラーによりクロックにノイズが発生した時の動作を示すタイムチャートである。
【図４】図４は、図２のラッチ回路を使用したフリップフロップ回路を示す図である。
【図５】図５は、図４のフリップフロップ回路の動作と、ソフトエラーによりクロックにノイズが発生した時の動作を示すタイムチャートである。
【図６】図６は、実施形態のクロック供給回路（クロックツリー）を示す図である。
【図７】図７は、第１実施形態のラッチ回路を示す図である。
【図８】図８は、第１実施形態のラッチ回路の動作を説明するための図である。
【図９】図９は、第１実施形態のラッチ回路において、ソフトエラーによりクロックにノイズが発生した時の動作を示すタイムチャートである。
【図１０】図１０は、第２実施形態のフリップフロップ回路を示す図である。
【図１１】図１１は、第１実施形態のラッチ回路の変形例を示す図である。
【図１２】図１２は、第２実施形態のフリップフロップラッチ回路の変形例を示す図である。
【図１３】図１３は、第１実施形態のラッチ回路の変形例を示す図である。
【図１４】図１４は、第２実施形態のフリップフロップ回路の変形例を示す図である。
【発明を実施するための形態】
【００２７】
図６は、実施形態の半導体装置に用いられるクロック分配回路（クロックツリー）２２を示す図である。クロック源２１はクロックを発生する。クロック分配回路２２は、クロック源２１から出力されるクロックを半導体装置内に供給する回路で、図６に示すように多数の反転回路（インバータ）をツリー状に接続したものである。半導体装置内の各部に供給されるクロックの間でタイミングのずれ（スキュー）を生じないように、このようなツリー構造が使用される。ツリー構造の各段の各反転回路には、非常に多数の反転回路が接続される。このため、ツリー構造の各反転回路は、十分なファンアウト（駆動能力）を有するように設計される必要がある。駆動能力の大きなトランジスタでは、α線や中性子が衝突しても、それにより発生する電荷は、大きな駆動能力のトランジスタの状態を変化させるほど大きくないので、一般にα線や中性子によるソフトエラーは発生しない。したがって、一般的にツリー構造の各反転回路ではソフトエラーは発生しない。ここでは、ツリー構造の最終段の反転回路が供給するクロックを原クロックと称する。ツリー構造のクロック分配回路については広く知られているので、これ以上の説明は省略する。
【００２８】
図７は、第１実施形態のラッチ回路を示す図である。
【００２９】
図７に示すように、第１実施形態のラッチ回路は、図１に示したデータ保持回路１１と、２個のトランスファーゲートＴＧ１およびＴＧ２と、を有する。組合せ回路から出力される入力データＤｉｎは２つに分けられ、分岐された一方はＴＧ１を介してデータ保持回路１１の２つの入力端子の一方に入力され、分岐された他方はＴＧ２を介してデータ保持回路１１の２つの入力端子の他方に入力される。
【００３０】
直列に接続された反転回路ＩＶ２１およびＩＶ２２は、クロック分配回路２２の最終段の反転回路から出力される原クロックＣＫから、ＴＧ１に印加するクロックＣＫ０１およびＸＣＫ０１を生成する第１クロック生成回路を形成する。直列に接続された反転回路ＩＶ２３およびＩＶ２４は、原クロックＣＫから、ＴＧ２に印加するクロックＣＫ０２およびＸＣＫ０２を生成する第２クロック生成回路を形成する。クロックＣＫ０１とＣＫ０２は同相の信号であり、クロックＸＣＫ０１ＸＣＫ０２は同相の信号である。また、クロックＣＫ０１とＸＣＫ０１は逆相の信号であり、クロックＣＫ０２とＸＣＫ０２２は逆相の信号である。
【００３１】
図７のラッチ回路では、ＴＧ１とＴＧ２は、ＣＫ０１およびＣＫ０２が“Ｌ”の時に導通状態になり、ＣＫ０１およびＣＫ０２が“Ｈ”の時に遮断状態になる。ＣＫ０１およびＣＫ０２が“Ｌ”の時に入力データＤｉｎがデータ保持回路１１に入力され、データ保持回路１１の出力ＤｏｕｔはＤｉｎを反転した信号になる。そして、ＣＫ０１およびＣＫ０２が“Ｌ”から“Ｈ”に変化すると、データ保持回路１１はその時点の状態を保持する。
【００３２】
前述のように、データ保持回路１１では、たとえ１個の反転回路でソフトエラーが発生しても、他の反転回路はソフトエラーの影響を受けず、他の反転回路が、ソフトエラーの発生した反転回路を元の正常な状態に復帰させる。
【００３３】
図８は、第１実施形態のラッチ回路において、クロック生成回路にソフトエラーが発生した場合を説明する図である。図８では、第１クロック生成回路の反転回路ＩＶ２１でソフトエラーが発生した場合が示される。図８において、ｉｎ０１、ｉｎ０２、ｏｕｔ０１、ｏｕｔ０２は、それぞれ図示の部分の信号を示す。したがって、ｏｕｔ０１はＤｏｕｔである。
【００３４】
図９は、図８のラッチ回路において、第１クロック生成回路の反転回路ＩＶ２１でソフトエラーが発生した場合の信号の変化を示すタイムチャートであり、（Ａ）がクロックを、（Ｂ）がデータ保持回路１１内の各ノードの信号を示す。
【００３５】
図９の（Ａ）に示すように、原クロックＣＫは、このソフトエラーの影響を受けない。また、第２クロック生成回路の反転回路ＩＶ２３およびＩＶ２４は、このソフトエラーの影響を受けないので、ＣＫ０２およびＸＣＫ０２も変化しない。ＩＶ２１で発生したソフトエラーにより、ＸＣＫ０１が “Ｌ”から“Ｈ”に変化するノイズが発生する。ＩＶ２１の入力である原クロックＣＫは“Ｈ”のままなので、ＩＶ２１の出力であるＸＣＫ０１は直ぐに“Ｌ”に戻る。すなわち、このノイズは、スパイク状のノイズであり、ＸＣＫ０１を長時間“Ｈ”の状態にすることはない。ノイズは、多くの場合“Ｈ”まで変化せずに途中で“Ｌ”に戻る。ＸＣＫ０１がスパイク状に変化すると、それに応じてＣＫ０１にもスパイク状のノイズが発生する。
【００３６】
図９の（Ｂ）に示すように、入力データＤｉｎは、ＣＫ０１およびＣＫ０２が“Ｈ”から“Ｌ”に変化し、再び“Ｌ”から“Ｈ”に変化する時、すなわちＣＫ０１およびＣＫ０２の負のパルスの前後で確定値であればよく、それ以外の時には不定値でよい。ここで、例として、ＣＫ０１およびＣＫ０２の負のパルスの時に、Ｄｉｎが“Ｈ”であるとする。この場合、ｉｎ０１およびｉｎ０２は“Ｈ”に設定され、ｏｕｔ０１（Ｄｏｕｔ）およびｏｕｔ０２は“Ｌ”になる。ソフトエラーが発生しなければ、ＣＫ０１およびＣＫ０２の次の負のパルスまでこの状態が維持される。
【００３７】
ＣＫ０１およびＣＫ０２の負のパルスの後、Ｄｉｎが“Ｌ”の時に、ＩＶ２１でのソフトエラーの発生により、ＸＣＫ０１およびＣＫ０１がスパイク状に変化する図９の（Ａ）に示すようなノイズが発生したと仮定する。これによりＴＧ１は導通状態になり、ｉｎ０１が“Ｈ”から“Ｌ”に変化する。この時、ＴＧ２は遮断状態を維持するので、ｉｎ０２は“Ｈ”の状態を維持する。
【００３８】
ｉｎ０１が“Ｈ”から“Ｌ”に変化することにより、ＩＶ１のＰＴｒはオフ状態からオン状態になる。この時、ｉｎ０２は“Ｈ”であるからＩＶ１のＮＴｒもオン状態になる。そのため、ＩＮ１の出力であるｏｕｔ０２は、“Ｌ”から“Ｌ”と“Ｈ”の中間電位に変化する。また、ＩＶ２のＮＴｒはオン状態からオフ状態になる。この時、ｉｎ０２は“Ｈ”であるからＩＶ２のＰＴｒはオフ状態である。そのため、ＩＮ２の出力は、フローティングとなるが、それまでの“Ｌ”状態が維持される。
【００３９】
ｏｕｔ０２が “Ｌ”と“Ｈ”の中間電位に変化しても、ＩＶ３のＰＴｒはオン状態を維持しているので、ＩＶ３の出力は“Ｈ”から変化しない。ＩＶ３の出力はＩＶ１の入力、すなわちｉｎ０１にフィードバックされるので、ｉｎ０１は再び“Ｈ”に戻る。同様に、ｏｕｔ０２が “Ｌ”と“Ｈ”の中間電位に変化すると、ＩＶ４の１番目のＰＴｒはオン状態からオフ状態に変化するが、２番目のＰＴｒはオン状態を維持し、２個のＮＴｒはオフ状態を維持するので、出力は一時的にフローティングになる。そのため、ＩＶ４の出力であるｉｎ０２が変化することはなく、“Ｈ”を維持する。このように、ｉｎ０１およびｉｎ０２の両方が“Ｈ”の状態に戻る。そのため、ＩＶ１の出力であるｏｕｔ０２も短時間のうちに“Ｌ”に戻る。この間、ｏｕｔ０１（Ｄｏｕｔ）は“Ｌ”のままであり、変化することはない。
【００４０】
以上のことは、データ保持回路１１が“Ｌ”のｉｎ０１およびｉｎ０２を保持している場合も同様である。
【００４１】
また、ＩＶ２３でソフトエラーが発生して、ＣＫ０２およびＸＣＫ０２にノイズが発生した場合も同様である。この場合、ｏｕｔ０１（Ｄｏｕｔ）に、図９の（Ｂ）のｏｕｔ０２に示すようなスパイク状のノイズが発生するが、すぐに正常な状態に戻る。
【００４２】
図１０は、第２実施形態のフリップフロップ回路を示す図である。
【００４３】
図１０に示すように、第２実施形態のフリップフロップ回路は、図１に示したデータ保持回路１１Ａおよび２個のトランスファーゲートＴＧ１Ａ、ＴＧ２Ａを備える前段と、データ保持回路１１Ｂおよび２個のトランスファーゲートＴＧ１Ｂ、ＴＧ２Ｂを備える後段とを直列に接続したものである。言い換えれば、第２実施形態のフリップフロップ回路は、第１実施形態のラッチ回路を２段直列に接続したものである。前段のデータ保持回路１１Ａのｏｕｔ０２が、ＴＧ１Ｂを介して後段のデータ保持回路１１Ｂのｉｎ０１として入力される。前段のデータ保持回路１１Ａのｏｕｔ０１が、ＴＧ２Ｂを介して後段のデータ保持回路１１Ｂのｉｎ０２として入力される。
【００４４】
さらに、第１実施形態と同様に、第１クロック生成回路および第２クロック生成回路が設けられる。ＴＧ１ＡおよびＴＧ２Ａには、図５に示すようなデューティが約５０％のクロックが印加され、ＴＧ１ＢおよびＴＧ２Ｂには、ＴＧ１ＡおよびＴＧ２Ａに印加されるクロックとは逆相のクロックが印加される。
【００４５】
通常時の動作は図５で説明した通りである。また、第１または第２クロック生成回路でソフトエラーが発生した場合の動作は、前段と後段のそれぞれにおいて第１実施形態と同じであるので、動作説明は省略する。
【００４６】
第１実施形態では、入力回路としてトランスファーゲートを用いたが、入力回路を別のゲートで実現することも可能である。
【００４７】
図１１は、第１実施形態のラッチ回路の変形例を示す図であり、トランスファーゲートＴＧ１およびＴＧ２の代わりに、インバータゲートＩＧ１およびＩＧ２を用いたことが、第１実施形態と異なる。インバータゲートＩＧ１およびＩＧ２は、トランスファーゲートと同様に、クロックにより導通状態と遮断状態に変化するが、入力を反転して出力することがトランスファーゲートと異なる。他の部分の構成および動作は第１実施形態と同じなので説明は省略する。
【００４８】
図１２は、第２実施形態のラッチ回路の変形例を示す図であり、トランスファーゲートＴＧ１Ａ、ＴＧ２Ａ、ＴＧ１ＢおよびＴＧ２Ｂの代わりに、インバータゲートＩＧ１Ａ、ＩＧ２Ａ、ＩＧ１ＢおよびＩＧ２Ｂを用いたことが、第２実施形態と異なる。他の部分の構成および動作は第２実施形態と同じなので説明は省略する。
【００４９】
第１および第２実施形態では、データ保持回路として図１に示した複数の反転回路を備える回路を用いたが、ソフトエラーが発生しても正常な状態に復帰可能なデータ保持回路であれば、どのような回路を用いることも可能である。
【００５０】
図１３は、第１実施形態のラッチ回路の変形例を示す図であり、データ保持回路が第１実施形態とは異なる。
【００５１】
図１３のデータ保持回路は、２個の反転回路を、一方の出力を他方の入力に、他方の出力を一方の入力にそれぞれ接続した広く知られた基本データ保持回路を使用する。この基本データ保持回路を２個使用する。そして、２個の基本データ保持回路の出力を反転回路（インバータ）１２に入力し、この反転回路の出力を使用する。したがって、この場合の出力Ｄｏｕｔは、Ｄｉｎの非反転出力である。
【００５２】
具体的には、反転回路ＩＶ３１とＩＶ３２で第１の基本データ保持回路を形成し、ＩＶ３３とＩＶ３４で第２の基本データ保持回路を形成する。ＴＧ１からの入力は第１の基本データ保持回路に入力され、ＴＧ２からの入力は第２の基本データ保持回路に入力される。反転回路１２は、直列に接続した２個のＰチャンネルトランジスタＰＴｒと２個のＮチャンネルトランジスタＮＴｒを備える。第１の基本データ保持回路の出力は、反転回路１２の２番目のＰＴｒと１番目のＮＴｒのゲートに接続され、第２の基本データ保持回路の出力は、反転回路１２の１番目のＰＴｒと２番目のＮＴｒのゲートに接続される。
【００５３】
図１３のデータ保持回路は、４個の反転回路ＩＶ３１〜ＩＶ３４を形成するいずれかのトランジスタでソフトエラーが発生しても、出力Ｄｏｕｔが変化することなしに正常な状態に復帰する。また、反転回路１２のいずれかのトランジスタでソフトエラーが発生しても、出力Ｄｏｕｔはフローティングになるだけで、すぐに正常な状態に復帰する。
【００５４】
図１４は、図１３のデータ保持回路を、フリップフロップ回路に適用した例を示す。ここでは、後段のデータ保持回路にのみ反転回路１２が設けられる。
【００５５】
以上、実施形態においては、回路ユニットとして反転回路（インバータ）を用いる例を説明したが、これに限定されず、他の回路ユニットやそれらを反転回路と組み合わせて用いることも可能であるのはいうまでもない。
【００５６】
ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【００５７】
以下、実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の回路ユニットを有し、前記複数の回路ユニットの出力が他の回路ユニットの入力にフィードバックされ、２以上の入力端子を有するデータ保持回路と、
２以上のクロックにそれぞれ同期して、前記データ保持回路の前記２以上の入力端子に入力信号を入力する２以上の入力回路と、を備え、
前記データ保持回路は、前記２以上の入力端子に同時に前記入力信号が入力されかつ前記２以上のクロックが同時に変化した時のみ、前記２以上の入力端子に正帰還がかかることを特徴とするラッチ回路。（１）（図７）
（付記２）
前記回路ユニットは、反転回路であることを特徴とする付記１に記載のラッチ回路。（図７）
（付記３）
前記入力回路は、相補のクロック信号に応じて開閉するトランスファーゲートであることを特徴とする付記１または２に記載のラッチ回路。（図７）
（付記４）
前記入力回路は、相補のクロック信号に応じて動作する反転回路であることを特徴とする付記１から３のいずれかに記載のラッチ回路。（図１１）
（付記５）
付記１から４のいずれかに記載のラッチ回路を２段直列に接続し、前段の前記２以上の入力回路と後段の前記２以上の入力回路とに、逆相の前記２以上のクロックを供給することを特徴とするフリップフロップ回路。（２）（図１０）
（付記６）
クロック分配回路と、
前記クロック分配回路から供給されるクロックを分離して２以上の分離クロックを生成するクロック分離回路と、
付記１から４のいずれかに記載のラッチ回路と、を備え、
前記２以上の入力回路に、前記２以上の分離クロックが供給されることを特徴とする半導体装置。（３）（図６、図７）
（付記７）
前記クロック分離回路は、所定以上の電気容量がある前記クロック分配回路のノードに設けられることを特徴とする付記６に記載の半導体装置。（４）（図６、図７）
（付記８）
クロック分配回路と、
前記クロック分配回路から供給されるクロックを分離して２以上の分離クロックを生成するクロック分離回路と、
請求項５に記載のフリップフロップ回路と、を備え、
前段および後段の前記２以上の入力回路に、前記２以上の分離クロックが供給されることを特徴とする半導体装置。（５）（図６、図１０）
（付記９）
前記クロック分離回路は、所定以上の電気容量がある前記クロック分配回路のノードに設けられることを特徴とする付記８に記載の半導体装置。
【符号の説明】
【００５８】
１    第１入力端子
２    第２入力端子
３    出力端子
１１    データ保持回路
２２    クロック分配回路（クロックツリー）
ＩＶ１〜ＩＶ４、ＩＶ２１〜ＩＶ２４    反転回路（インバータ）
ＴＧ１、ＴＧ２、ＴＧ１Ａ、ＴＧ２Ａ、ＴＧ１Ｂ、ＴＧ２Ｂ    トランスファーゲート
【図１】
2010206398.tif 000003
【図２】
2010206398.tif 000004
【図３】
2010206398.tif 000005
【図４】
2010206398.tif 000006
【図５】
2010206398.tif 000007
【図６】
2010206398.tif 000008
【図７】
2010206398.tif 000009
【図８】
2010206398.tif 000010
【図９】
2010206398.tif 000011
【図１０】
2010206398.tif 000012
【図１１】
2010206398.tif 000013
【図１２】
2010206398.tif 000014
【図１３】
2010206398.tif 000015
【図１４】
2010206398.tif 000016