(57)【特許請求の範囲】
【請求項１】
データが入力される第１の入力端子と、
前記第１の入力端子に入力される前記データを異なるタイミングで出力データとして出力する３個以上のスイッチと、
前記３個以上のスイッチのそれぞれから出力される前記出力データをそれぞれ入力する３個以上の第２の入力端子を有し、前記３個以上の第２の入力端子のそれぞれに入力される前記出力データを比較した結果に基づく比較結果データを出力する比較回路と、
前記比較回路から出力される前記比較結果データを保持する第１のデータ保持素子と、
を有し、
前記３個以上の第２の入力端子は、前記３個以上のスイッチがオフの場合、それぞれフローティング状態になることを特徴とするデータ保持回路。
【請求項２】
前記第１のデータ保持素子から出力される前記比較結果データを保持する第２のデータ保持素子と、
前記第１のデータ保持素子と第２のデータ保持素子との間に接続され、クロック信号に応じてオン／オフ動作を行うクロックスイッチとを有することを特徴とする請求項１記載のデータ保持回路。
【請求項３】
前記クロックスイッチは、前記３個以上のスイッチの中の１個のスイッチのオン／オフ動作と逆のオン／オフ動作を行うことを特徴とする請求項２記載のデータ保持回路。
【請求項４】
前記クロックスイッチは、前記３個以上のスイッチの中の最も遅くオンからオフに切り替わる１個のスイッチのオン／オフ動作と逆のオン／オフ動作を行うことを特徴とする請求項３記載のデータ保持回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ保持回路に関する。
【背景技術】
【０００２】
ソフトエラーとは、回路の特定箇所が永久的に破壊されるハードエラーと異なり、半導体チップ中にランダムに発生する動作再生可能な一過性の誤動作のことである。二次宇宙線の中性子線やＬＳＩ材料からのアルファ線などがＬＳＩに入射するのが原因である。
【０００３】
現在、ソフトエラーに対して様々な対策方法が考案されている。最も効果的で一般的な対策として、エラーが発生してもシステムに影響しない回路構成を採用する方法がある。たとえばＥＣＣ（Error Correction Code）回路は、比較的容易にエラー修正することが可能である。しかし、これらの対策方法は面積増加を伴う上、ロジック回路には適用できない。したがって、ソフトエラー率が高集積化とともに増加するならば、これまで以上にソフトエラーの問題が深刻になる可能性が高い。
【０００４】
一般的なロジック回路におけるソフトエラー回避手段として、下記の特許文献１がある。これはロジック回路を複数用意して、多数決論理によりソフトエラーを回避する方法であるが、数倍の面積増加が伴う。
【０００５】
下記の特許文献２には、入力端に加えられたデータ格納手段からのデータに応じた２つの信号を、２つの電源端子間に直列に接続した第１及び第２の２つのスイッチ手段のそれぞれの制御端子に加えて、それらのスイッチ手段の一方をオンさせ、他方をオフさせ、前記データに応じた信号を前記２つのスイッチ手段の接続中点から外部に出力する出力バッファを有する半導体集積回路において、前記データのレベル変化時に、先ず前記２つのスイッチ手段の両方を共にオフ状態とする制御信号を前記２つのスイッチ手段のそれぞれの制御端子に加え、その後前記データに応じた出力を得るための制御信号を前記それぞれの制御端子に加える、貫通電流防止回路を備えることを特徴とする半導体集積回路が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３３６１２３号公報
【特許文献２】特開平０３−１８５９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、ソフトエラーにより生じたノイズを除去したデータを出力することができるデータ保持回路を提供することである。
【課題を解決するための手段】
【０００８】
データ保持回路は、データが入力される第１の入力端子と、前記第１の入力端子に入力される前記データを異なるタイミングで出力データとして出力する３個以上のスイッチと、前記３個以上のスイッチのそれぞれから出力される前記出力データをそれぞれ入力する３個以上の第２の入力端子を有し、前記３個以上の第２の入力端子のそれぞれに入力される前記出力データを比較した結果に基づく比較結果データを出力する比較回路と、前記比較回路から出力される前記比較結果データを保持する第１のデータ保持素子と、を有し、前記３個以上の第２の入力端子は、前記３個以上のスイッチがオフの場合、それぞれフローティング状態になる。
【発明の効果】
【０００９】
ソフトエラーにより発生したノイズが入力されても、ノイズを除去し、正常なデータを出力することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態によるデータ保持回路の構成例を示すブロック図である。
【図２】図１のデータ保持回路の具体的な構成例を示す回路図である。
【図３】比較回路の真理値表を示す図である。
【図４】図２のデータ保持回路の動作例を示すタイミングチャートである。
【図５】本発明の第２の実施形態によるデータ保持回路の構成例を示す回路図である。
【図６】本発明の第３の実施形態によるデータ保持回路の構成例を示す回路図である。
【図７】本発明の第４の実施形態によるデータ保持回路の構成例を示す回路図である。
【図８】本発明の第５の実施形態によるデータ保持回路の構成例を示すブロック図である。
【図９】本発明の第６の実施形態によるデータ保持回路の構成例を示す回路図である。
【図１０】本発明の第７の実施形態によるデータ保持回路の構成例を示す回路図である。
【図１１】本発明の第８の実施形態によるデータ保持回路の構成例を示す回路図である。
【図１２】本発明の第９の実施形態によるデータ保持回路の構成例を示すブロック図である。
【図１３】図１２のデータ保持回路において３個のスイッチを設けた例を示すブロック図である。
【図１４】比較回路の入出力データの関係を示す図である。
【図１５】図１３のデータ保持回路の具体的な構成例を示す回路図である。
【図１６】図１５のデータ保持回路の動作例を示すタイミングチャートである。
【図１７】本発明の第１０の実施形態によるデータ保持回路の構成例を示す回路図である。
【図１８】図１７のデータ保持回路の動作例を示すタイミングチャートである。
【図１９】図１９（Ａ）〜（Ｄ）は比較回路の構成例を示す回路図である。
【図２０】図２０（Ａ）〜（Ｃ）は遅延素子の構成例を示す回路図である。
【図２１】図２１（Ａ）〜（Ｉ）はデータ保持素子の構成例を示す回路図である。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
図１は、本発明の第１の実施形態によるデータ保持回路の構成例を示すブロック図である。入力端子ＩＮは、直接又は遅延素子１０１を介して比較回路１０２に接続される。複数の遅延素子１０１は、入力端子ＩＮのデータをそれぞれ異なる遅延時間遅延して比較回路１０２に出力する。比較回路１０２は、入力したデータを比較し、比較結果に応じたデータをデータ保持素子１０３に出力する。これにより、比較回路１０２は、ソフトエラーにより生じたノイズを除去したデータを出力することができる。その詳細は、後に図２を参照しながら説明する。データ保持素子１０３は、比較回路１０２が出力したデータを保持し、その保持したデータを出力端子ＯＵＴに出力する。
【００１２】
図２は図１のデータ保持回路の具体的な構成例を示す回路図であり、図４は図２のデータ保持回路の動作例を示すタイミングチャートである。以下、ＭＯＳ電界効果トランジスタを単にトランジスタという。
【００１３】
遅延素子１０１は、インバータ２０１，２０２及び容量２０３を有する。インバータ２０１は、その入力端子が入力端子ＩＮに接続され、その出力端子がインバータ２０２の入力端子に接続される。インバータ２０２の出力端子は、ノードＤ１に接続される。容量２０３は、インバータ２０１の出力端子及び基準電位（グランド電位）間に接続される。インバータ２０１及び２０２は、それぞれ入力データを反転したデータを出力する。図４に示すように、遅延素子１０１は、入力端子ＩＮのデータを遅延時間Ｔｄだけ遅延したデータをノードＤ１に出力する。
【００１４】
比較回路１０２は、トランジスタ２０４〜２０７を有する。ｐチャネルトランジスタ２０４は、ソースが電源電位に接続され、ゲートが入力端子ＩＮに接続され、ドレインがｐチャネルトランジスタ２０５のソースに接続される。ｐチャネルトランジスタ２０５は、ゲートがノードＤ１に接続され、ドレインが出力端子ＯＵＴに接続される。ｎチャネルトランジスタ２０６は、ドレインが出力端子ＯＵＴに接続され、ゲートがノードＤ１に接続され、ソースがｎチャネルトランジスタ２０７のドレインに接続される。ｎチャネルトランジスタ２０７は、ゲートが入力端子ＩＮに接続され、ソースが基準電位に接続される。
【００１５】
データ保持素子１０３は、インバータ２０８及び２０９を有する。インバータ２０８の入力端子は、インバータ２０９の出力端子及び出力端子ＯＵＴに接続される。インバータ２０８の出力端子は、インバータ２０９の入力端子に接続される。インバータ２０８及び２０９は、それぞれ入力データを反転したデータを出力する。これにより、データ保持素子１０３は、出力端子ＯＵＴのデータを保持することができる。
【００１６】
図３は比較回路１０２の真理値表を示す図であり、図４に入力端子ＩＮ、ノードＤ１及び出力端子ＯＵＴのデータの関係を示す。データは、「０」がローレベル、「１」がハイレベルを示す。
【００１７】
入力端子ＩＮのデータが「０」、ノードＤ１のデータが「０」の時、トランジスタ２０４及び２０５がオンし、トランジスタ２０６及び２０７がオフし、出力端子ＯＵＴのデータは「１」になる。
【００１８】
また、入力端子ＩＮのデータが「１」、ノードＤ１のデータが「１」の時、トランジスタ２０４及び２０５がオフし、トランジスタ２０６及び２０７がオンし、出力端子ＯＵＴのデータは「０」になる。
【００１９】
また、入力端子ＩＮのデータが「０」、ノードＤ１のデータが「１」の時、トランジスタ２０４及び２０６がオンし、トランジスタ２０５及び２０７がオフし、比較回路１０２の出力端子はハイインピーダンス状態になる。出力端子ＯＵＴは、データ保持素子１０３により前のデータを保持する。図４に示すように、ノードＤ１にソフトエラーによるノイズＮＳが発生しても、その時の入力端子ＩＮのデータが「０」であれば、出力端子ＯＵＴは前のデータを保持し、ソフトエラーノイズＮＳを除去することができる。
【００２０】
また、入力端子ＩＮのデータが「１」、ノードＤ１のデータが「０」の時、トランジスタ２０５及び２０７がオンし、トランジスタ２０４及び２０６がオフし、比較回路１０２の出力端子はハイインピーダンス状態になる。出力端子ＯＵＴは、データ保持素子１０３により前のデータを保持する。図４に示すように、入力端子ＩＮにソフトエラーによるノイズＮＳが発生しても、その時のノードＤ１のデータが「０」であれば、出力端子ＯＵＴは前のデータを保持し、ソフトエラーノイズＮＳを除去することができる。
【００２１】
以上のように、比較回路１０２は、入力端子ＩＮのデータ及びそれを遅延したノードＤ１のデータを入力する。比較回路１０２の出力端子は、データ保持素子１０３に接続される。データ保持素子１０３は、電気容量又はラッチ回路等により構成される。入力端子ＩＮより前段の回路で、放射線等により過渡的なノイズＮＳが発生し、入力端子ＩＮにそのノイズＮＳが到達する場合を説明する。その場合、遅延素子１０１により、入力端子ＩＮのノイズＮＳとノードＤ１のノイズＮＳとは異なるタイミングで比較回路１０２に入力される。図３の比較回路１０２の真理値表からわかるように、比較回路１０２の２つの入力に異なる入力信号が入力された場合、前のデータを保持する。したがって、ノイズＮＳによる信号変化は比較回路１０２の出力には影響しない。つまり、上記の構成により、入力端子ＩＮの前段で発生した過渡的なノイズＮＳは、出力端子ＯＵＴの後段に影響を与えないので、データ保持回路上において、ソフトエラーの影響を回避することができる。
【００２２】
（第２の実施形態）
図５は、本発明の第２の実施形態によるデータ保持回路の構成例を示す回路図である。以下、図５の回路が図２の回路と異なる点を説明する。インバータ５０１は、クロック端子ＣＬＫのクロック信号を反転したクロック信号を出力する。比較回路１０２は、トランジスタ２０４〜２０７の他、トランジスタ５０２及び５０３が追加される。ｐチャネルトランジスタ５０２は、ソースがトランジスタ２０５のドレインに接続され、ゲートがインバータ５０１の出力端子に接続され、ドレインがインバータ５０４の入力端子に接続される。ｎチャネルトランジスタ５０３は、ドレインがインバータ５０４の入力端子に接続され、ゲートがクロック端子ＣＬＫに接続され、ソースがトランジスタ２０６のドレインに接続される。
【００２３】
インバータ５０４の入力端子はインバータ５０５の出力端子に接続され、インバータ５０４の出力端子はインバータ５０５の入力端子に接続される。インバータ５０４及び５０５は、それぞれ入力データを反転したデータを出力する。インバータ５０４及び５０５は、第１のデータ保持素子１０３を構成する。
【００２４】
ｐチャネルトランジスタ５０６は、ソースがインバータ５０４の出力端子に接続され、ゲートがクロック端子ＣＬＫに接続され、ドレインがインバータ５０８の入力端子に接続される。ｎチャネルトランジスタ５０７は、ドレインがインバータ５０４の出力端子に接続され、ゲートが反転クロック端子／ＣＬＫに接続され、ソースがインバータ５０８の入力端子に接続される。クロック端子ＣＬＫ及び反転クロック端子／ＣＬＫには、相互に反転したクロック信号が入力される。トランジスタ５０６及び５０７は、トランスファゲートを構成する。
【００２５】
インバータ５０８の入力端子はインバータ５０９の出力端子に接続され、インバータ５０８の出力端子はインバータ５０９の入力端子に接続される。インバータ５０８及び５０９は、それぞれ入力データを反転したデータを出力する。インバータ５０８及び５０９は、第２のデータ保持素子を構成する。
【００２６】
インバータ５１０は、その入力端子がインバータ５０８の出力端子に接続され、その出力端子が出力端子ＯＵＴに接続される。トランジスタ２０４〜２０７、５０２及び５０３の比較回路１０２は、図３の真理値表に示すように、入力端子ＩＮ及びノードＤ１のデータが同じときには、インバータとして機能し、入力端子ＩＮのデータを反転したデータを出力する。したがって、その場合、出力端子ＯＵＴのデータは、入力端子ＩＮに対して正論理の関係を有する。
【００２７】
クロック端子ＣＬＫには、クロック信号が入力される。クロック端子ＣＬＫがハイレベルになると、トランジスタ５０２及び５０３がオンし、トランジスタ５０６及び５０７がオフする。その結果、入力端子ＩＮに入力されたデータの反転データがインバータ５０４及び５０５のデータ保持素子に保持される。いわゆるデータ書き込みモードである。
【００２８】
また、クロック端子ＣＬＫがローレベルになると、トランジスタ５０２及び５０３がオフし、トランジスタ５０６及び５０７がオンする。その結果、トランジスタ２０４〜２０７、５０２及び５０３の比較回路１０２の出力端子はハイインピーダンス状態になる。また、インバータ５０８及び５０９のデータ保持素子は、インバータ５０４及び５０５のデータ保持素子の出力データを保持する。いわゆるデータ保持モードである。
【００２９】
（第３の実施形態）
図６は、本発明の第３の実施形態によるデータ保持回路の構成例を示す回路図である。インバータ６０１の入力端子は、クロック端子ＣＬＫに接続される。ｐチャネルトランジスタ６０２は、ソースが入力端子ＩＮに接続され、ゲートがインバータ６０１の出力端子に接続され、ドレインがノードＡ１に接続される。ｎチャネルトランジスタ６０３は、ドレインが入力端子ＩＮに接続され、ゲートがクロック端子ＣＬＫに接続され、ソースがノードＡ１に接続される。遅延素子１０１は、ノードＡ１のデータを遅延したデータをノードＤ１に出力する。比較及びデータ保持素子６１０は、トランジスタ６１１〜６２０を有し、図１の比較回路１０２及びデータ保持素子１０３を一体化した回路である。
【００３０】
ｐチャネルトランジスタ６１１は、ソースが電源電位に接続され、ゲートがノードＤ１に接続され、ドレインがｐチャネルトランジスタ６１２のソースに接続される。ｐチャネルトランジスタ６１２は、ゲートがノードＡ１に接続され、ドレインがノードＡ２に接続される。ｎチャネルトランジスタ６１３は、ドレインがノードＡ２に接続され、ゲートがノードＡ１に接続され、ソースがｎチャネルトランジスタ６１４のドレインに接続される。ｎチャネルトランジスタ６１４は、ゲートがノードＤ１に接続され、ソースが基準電位に接続される。
【００３１】
ｐチャネルトランジスタ６１５は、ソースが電源電位に接続され、ゲートがノードＡ２に接続され、ドレインがノードＤ１に接続される。ｎチャネルトランジスタ６１６は、ドレインがノードＤ１に接続され、ゲートがノードＡ３に接続され、ソースが基準電位に接続される。
【００３２】
ｐチャネルトランジスタ６１７は、ソースが電源電位に接続され、ゲートがノードＤ１に接続され、ドレインがノードＡ３に接続される。ｎチャネルトランジスタ６１８は、ドレインがノードＡ３に接続され、ゲートがノードＡ１に接続され、ソースが基準電位に接続される。
【００３３】
ｐチャネルトランジスタ６１９は、ソースが電源電位に接続され、ゲートがノードＡ３に接続され、ドレインがノードＡ１に接続される。ｎチャネルトランジスタ６２０は、ドレインがノードＡ１に接続され、ゲートがノードＡ２に接続され、ソースが基準電位に接続される。
【００３４】
比較及びデータ保持素子６１０は、入出力データの真理値表が図３のものと同じであり、図２の比較回路１０２及びデータ保持素子１０３の両方の機能を有する。クロック端子ＣＬＫがハイレベルになると、トランジスタ６０２及び６０３がオンし、入力端子ＩＮがノードＡ１に接続され、データ書き込みモードになる。逆に、クロック端子ＣＬＫがローレベルになると、トランジスタ６０２及び６０３がオフし、入力端子ＩＮがノードＡ１に対して切断され、データ保持モードになる。その他の点については、本実施形態は、第１の実施形態と同様である。
【００３５】
（第４の実施形態）
図７は、本発明の第４の実施形態によるデータ保持回路の構成例を示す回路図である。図７の回路は、図６の回路にトランジスタ７０１及び７０２を追加したものである。以下、図７の回路が図６の回路と異なる点を説明する。ｐチャネルトランジスタ７０１は、ソースが電源電位に接続され、ゲートがクロック端子ＣＬＫに接続され、ドレインがトランジスタ６１５及び６１９のソースに接続される。ｎチャネルトランジスタ７０２は、ドレインがトランジスタ６１６及び６２０のソースに接続され、ゲートがインバータ６０１の出力端子に接続され、ソースが基準電位に接続される。クロック端子ＣＬＫがハイレベルになると、データ書き込みモードになり、トランジスタ７０１及び７０２がオフし、回路６１０はデータ保持機能をオフする。逆に、クロック端子ＣＬＫがローレベルになると、データ保持モードになり、トランジスタ７０１及び７０２がオンし、回路６１０はデータ保持機能をオンする。
【００３６】
（第５の実施形態）
図８は、本発明の第５の実施形態によるデータ保持回路の構成例を示すブロック図である。入力端子ＩＮは通常動作時のデータ入力端子であり、スキャン入力端子ＳＩＮはスキャン試験時のスキャンデータ入力端子である。スイッチ８０１は、一端がスキャン入力端子ＳＩＮに接続され、他端が比較回路１０２及び遅延素子１０１に接続される。スイッチ８０２は、一端が入力端子ＩＮに接続され、他端が比較回路１０２及び遅延素子１０１に接続される。データ保持素子１０３は、比較回路１０２及び出力端子ＯＵＴ間に接続される。
【００３７】
スイッチ８０１がオンになると、スイッチ８０２がオフになり、比較回路１０２にはスイッチ８０１の出力信号及びその出力信号が遅延素子１０１を介した信号が入力される。すなわち、スキャン入力端子ＳＩＮが有効端子となり、図２の回路と同様の回路になる。
【００３８】
逆に、スイッチ８０２がオンになると、スイッチ８０１がオフになり、比較回路１０２にはスイッチ８０２の出力信号及びその出力信号が遅延素子１０１を介した信号が入力される。すなわち、入力端子ＩＮが有効端子となり、図２の回路と同様の回路になる。
【００３９】
（第６の実施形態）
図９は、本発明の第６の実施形態によるデータ保持回路の構成例を示す回路図であり、図８の回路の具体例を示す。インバータ９０５は、スキャン制御端子ＣＴＬのスキャン制御信号を反転して出力する。
【００４０】
スイッチ８０１は、トランジスタ９０１及び９０２を有する。ｐチャネルトランジスタ９０１は、ゲートがインバータ９０５の出力端子に接続され、ソースがスキャン入力端子ＳＩＮに接続され、ドレインが遅延素子１０１、トランジスタ２０５及び２０６のゲートに接続される。ｎチャネルトランジスタ９０２は、ゲートがスキャン制御端子ＣＴＬに接続され、ドレインがスキャン入力端子ＳＩＮに接続され、ソースが遅延素子１０１、トランジスタ２０５及び２０６のゲートに接続される。
【００４１】
スイッチ８０２は、トランジスタ９０３及び９０４を有する。ｐチャネルトランジスタ９０３は、ゲートがスキャン制御端子ＣＴＬに接続され、ソースが入力端子ＩＮに接続され、ドレインが遅延素子１０１、トランジスタ２０４及び２０７のゲートに接続される。ｎチャネルトランジスタ９０４は、ゲートがインバータ９０５の出力端子に接続され、ドレインが入力端子ＩＮに接続され、ソースが遅延素子１０１、トランジスタ２０４及び２０７のゲートに接続される。
【００４２】
比較回路１０２は、トランジスタ２０４〜２０７を有する。ｐチャネルトランジスタ２０４は、ソースが電源電位に接続され、ドレインがｐチャネルトランジスタ２０５のソースに接続される。ｐチャネルトランジスタ２０５のドレインは、出力端子ＯＵＴに接続される。ｎチャネルトランジスタ２０６は、ドレインが出力端子ＯＵＴに接続され、ソースがｎチャネルトランジスタ２０７のドレインに接続される。ｎチャネルトランジスタ２０７のソースは、基準電位に接続される。
【００４３】
データ保持素子１０３は、インバータ２０８及び２０９を有する。インバータ２０８は、その入力端子が出力端子ＯＵＴ及びインバータ２０９の出力端子に接続され、その出力端子がインバータ２０９の入力端子に接続される。
【００４４】
スキャン制御端子ＣＴＬがハイレベルになると、スキャン試験モードになり、スイッチ８０１がオンになり、スイッチ８０２がオフになり、比較回路１０２にはスイッチ８０１の出力信号及びその出力信号が遅延素子１０１を介した信号が入力される。すなわち、スキャン入力端子ＳＩＮが有効端子となり、図２の回路と同様の回路になる。
【００４５】
逆に、スキャン制御端子ＣＴＬがローレベルになると、通常動作モードになり、スイッチ８０２がオンになり、スイッチ８０１がオフになり、比較回路１０２にはスイッチ８０２の出力信号及びその出力信号が遅延素子１０１を介した信号が入力される。すなわち、入力端子ＩＮが有効端子となり、図２の回路と同様の回路になる。
【００４６】
（第７の実施形態）
図１０は、本発明の第７の実施形態によるデータ保持回路の構成例を示す回路図である。本実施形態は、第６の実施形態に対して、クロック端子ＣＬＫを追加したものである。以下、図１０の回路が図９の回路と異なる点を説明する。制御回路１０００は、インバータ１００１，１００２及び論理積（ＡＮＤ）回路１００３，１００４を有する。インバータ１００１は、クロック端子ＣＬＫのクロック信号を反転した信号を出力する。インバータ１００２は、スキャン制御端子ＣＴＬのスキャン制御信号を反転した信号を出力する。ＡＮＤ回路１００３は、クロック端子ＣＬＫのクロック信号及びインバータ１００２の出力信号の正論理積信号及び負論理積信号を出力する。ＡＮＤ回路１００４は、クロック端子ＣＬＫのクロック信号及びスキャン制御端子ＣＴＬのスキャン制御信号の正論理積信号及び負論理積信号を出力する。
【００４７】
トランジスタ９０１のゲートには、ＡＮＤ回路１００３の負論理積信号が入力される。トランジスタ９０２のゲートには、ＡＮＤ回路１００３の正論理積信号が入力される。トランジスタ９０３のゲートには、ＡＮＤ回路１００４の負論理積信号が入力される。トランジスタ９０４のゲートには、ＡＮＤ回路１００４の正論理積信号が入力される。
【００４８】
遅延素子１０１は、トランジスタ１０１１及び１０１２を有する。ｎチャネルトランジスタ１０１１は、ドレインがスイッチ８０１に接続され、ゲートがクロック端子ＣＬＫに接続され、ソースがスイッチ８０２に接続される。ｐチャネルトランジスタ１０１２は、ソースがスイッチ８０１に接続され、ゲートがインバータ１００１の出力端子に接続され、ドレインがスイッチ８０２に接続される。トランジスタ１０１１及び１０１２のチャネル幅を調整することにより、遅延素子１０１の遅延時間を決めることができる。クロック端子ＣＬＫのクロック信号がハイレベルのときには、トランジスタ１０１１及び１０１２はオンし、遅延素子１０１は入力信号を遅延させて出力することができる。クロック端子ＣＬＫのクロック信号がローレベルのときには、トランジスタ１０１１及び１０１２はオフし、遅延素子１０１は動作しない。
【００４９】
（第８の実施形態）
図１１は、本発明の第８の実施形態によるデータ保持回路の構成例を示す回路図である。図１１の回路は、図１０の回路に対して、比較回路１０２及びデータ保持素子１０３の代わりに、図７の比較及びデータ保持素子６１０を設けたものである。比較及びデータ保持素子６１０は、図１０の比較回路１０２及びデータ保持素子１０３の両方の機能を有する。図１１の回路は、図１０の回路と同様の動作を行う。
【００５０】
（第９の実施形態）
図１２は、本発明の第９の実施形態によるデータ保持回路の構成例を示すブロック図である。入力端子ＩＮは、直接又はスイッチ１２０１を介して比較回路１２０２に接続される。複数のスイッチ１２０１は、それぞれオンからオフに切り換わるタイミングが異なる。比較回路１２０２は、入力したデータを比較し、比較結果に応じたデータをデータ保持素子１０３に出力する。これにより、比較回路１２０２は、ソフトエラーにより生じたノイズを除去したデータを出力することができる。その詳細は、後述する。データ保持素子１０３は、比較回路１２０２が出力したデータを保持し、その保持したデータを出力端子ＯＵＴに出力する。
【００５１】
図１３は、図１２のデータ保持回路において３個のスイッチ１２０１ａ〜２１０１ｃを設けた例を示すブロック図である。スイッチ１２０１ａは、入力端子ＩＮ及び比較回路１２０２の入力端子Ａ間に接続される。スイッチ１２０１ｂは、入力端子ＩＮ及び比較回路１２０２の入力端子Ｂ間に接続される。スイッチ１２０１ｃは、入力端子ＩＮ及び比較回路１２０２の入力端子Ｃ間に接続される。比較回路１２０２は、入力端子Ａ〜Ｃのデータに応じて出力端子Ｑからデータを出力する。
【００５２】
図１４は、比較回路１２０２の入出力データの関係を示す図である。比較回路１２０２は、３個の入力端子Ａ〜Ｃのデータの中の多数のデータを、出力端子Ｑから出力する。
【００５３】
図１５は、図１３のデータ保持回路の具体的な構成例を示す回路図である。インバータ１５０１は、クロック端子ｃｋ３のクロック信号を反転した信号を出力する。インバータ１５０２は、クロック端子ｃｋ２のクロック信号を反転した信号を出力する。インバータ１５０３は、クロック端子ｃｋ１のクロック信号を反転した信号を出力する。
【００５４】
スイッチ１２０１ａは、トランジスタ１５１１ａ及び１５１２ａを有する。ｎチャネルトランジスタ１５１１ａは、ドレインが入力端子ＩＮに接続され、ゲートがクロック端子ｃｋ１に接続され、ソースが比較回路１２０２の入力端子Ａに接続される。ｐチャネルトランジスタ１５１２ａは、ソースが入力端子ＩＮに接続され、ゲートがインバータ１５０３の出力端子に接続され、ドレインが比較回路１２０２の入力端子Ａに接続される。
【００５５】
スイッチ１２０１ｂは、トランジスタ１５１１ｂ及び１５１２ｂを有する。ｎチャネルトランジスタ１５１１ｂは、ドレインが入力端子ＩＮに接続され、ゲートがクロック端子ｃｋ２に接続され、ソースが比較回路１２０２の入力端子Ｂに接続される。ｐチャネルトランジスタ１５１２ｂは、ソースが入力端子ＩＮに接続され、ゲートがインバータ１５０２の出力端子に接続され、ドレインが比較回路１２０２の入力端子Ｂに接続される。
【００５６】
スイッチ１２０１ｃは、トランジスタ１５１１ｃ及び１５１２ｃを有する。ｎチャネルトランジスタ１５１１ｃは、ドレインが入力端子ＩＮに接続され、ゲートがクロック端子ｃｋ３に接続され、ソースが比較回路１２０２の入力端子Ｃに接続される。ｐチャネルトランジスタ１５１２ｃは、ソースが入力端子ＩＮに接続され、ゲートがインバータ１５０１の出力端子に接続され、ドレインが比較回路１２０２の入力端子Ｃに接続される。
【００５７】
比較回路１２０２は、否定論理積（ＮＡＮＤ）回路１５２１〜１５２４を有する。ＮＡＮＤ回路１５２１は、入力端子Ａ及びＢのデータのＮＡＮＤ信号を出力する。ＮＡＮＤ回路１５２２は、入力端子Ｂ及びＣのデータのＮＡＮＤ信号を出力する。ＮＡＮＤ回路１５２３は、入力端子Ａ及びＣのデータのＮＡＮＤ信号を出力する。ＮＡＮＤ回路１５２４は、ＮＡＮＤ回路１５２１〜１５２３の出力信号のＮＡＮＤ信号を出力端子ＯＵＴに出力する。
【００５８】
データ保持素子１０３は、インバータ２０８及び２０９を有する。インバータ２０８は、その入力端子が出力端子ＯＵＴ及びインバータ２０９の出力端子に接続され、その出力端子がインバータ２０９の入力端子に接続される。
【００５９】
図１６は、図１５のデータ保持回路の動作例を示すタイミングチャートである。図１６の最初では、３個のクロック端子ｃｋ１〜ｃｋ３はハイレベルであり、３個のスイッチ１２０１ａ〜１２０１ｃはオンする。
【００６０】
次に、クロック端子ｃｋ１がハイレベルからローレベルに変化する。すると、スイッチ１２０１ａはオンからオフに変化し、比較回路１２０２の入力端子Ａはフローティング状態になり、スイッチ１２０１ａがオンからオフになる時点の入力端子ＩＮのデータを保持する。
【００６１】
次に、クロック端子ｃｋ２がハイレベルからローレベルに変化する。すると、スイッチ１２０１ｂはオンからオフに変化し、比較回路１２０２の入力端子Ｂはフローティング状態になり、スイッチ１２０１ｂがオンからオフになる時点の入力端子ＩＮのデータを保持する。
【００６２】
次に、クロック端子ｃｋ３がハイレベルからローレベルに変化する。すると、スイッチ１２０１ｃはオンからオフに変化し、比較回路１２０２の入力端子Ｃはフローティング状態になり、スイッチ１２０１ｃがオンからオフになる時点の入力端子ＩＮのデータを保持する。
【００６３】
例えば、クロック端子ｃｋ１の立ち下がりエッジでソフトエラーによるノイズが発生したとしても、クロック端子ｃｋ２及びｃｋ３の立ち下がりエッジでソフトエラーによるノイズが発生していなければ、比較回路１２０２はノイズを除去した正常なデータを出力することができる。
【００６４】
同様に、クロック端子ｃｋ２の立ち下がりエッジでソフトエラーによるノイズが発生したとしても、クロック端子ｃｋ１及びｃｋ３の立ち下がりエッジでソフトエラーによるノイズが発生していなければ、比較回路１２０２はノイズを除去した正常なデータを出力することができる。
【００６５】
同様に、クロック端子ｃｋ３の立ち下がりエッジでソフトエラーによるノイズが発生したとしても、クロック端子ｃｋ１及びｃｋ２の立ち下がりエッジでソフトエラーによるノイズが発生していなければ、比較回路１２０２はノイズを除去した正常なデータを出力することができる。
【００６６】
（第１０の実施形態）
図１７は、本発明の第１０の実施形態によるデータ保持回路の構成例を示す回路図である。図１７の回路は、図１５の回路に対して、データ保持素子１０３の代わりに、インバータ５０４，５０５，５０８，５０９及びトランジスタ５０６，５０７を設けたものである。インバータ５０４，５０５，５０８，５０９及びトランジスタ５０６，５０７は、図５の回路と同様に、比較回路１２０２及び出力端子ＯＵＴ間に設けられる。ただし、トランジスタ５０６のゲートはクロック端子ｃｋ３に接続され、トランジスタ５０７のゲートは反転クロック端子／ｃｋ３に接続される。クロック端子ｃｋ３及び反転クロック端子／ｃｋ３には、相互に反転したクロック信号が入力される。
【００６７】
図１８は、図１７のデータ保持回路の動作例を示すタイミングチャートである。以下、本実施形態が第９の実施形態と異なる点を説明する。３個のクロック端子ｃｋ１〜ｃｋ３は、すべてローレベルになると、比較回路１２０２は入力端子Ａ〜Ｃに応じたデータを出力し、インバータ５０４及び５０５は比較回路１２０２の出力データを保持する。その際、トランジスタ５０６及び５０７はオンするので、インバータ５０８及び５０９はインバータ５０４の出力データを保持する。出力端子ＯＵＴには、インバータ５０８及び５０９の保持データが出力される。
【００６８】
その所定期間後に、３個のクロック端子ｃｋ１〜ｃｋ３は同時にハイレベルに変化する。すると、３個のスイッチ１２０１ａ〜１２０１ｃはオンし、トランジスタ５０６及び５０７はオフする。その結果、データ保持モードとなり、出力端子ＯＵＴには、インバータ５０８及び５０９が保持しているデータが出力される。
【００６９】
（第１１の実施形態）
図１９（Ａ）〜（Ｄ）は、上記実施形態の比較回路１０２の構成例を示す回路図である。まず、図１９（Ａ）の比較回路１０２の構成例を説明する。ｐチャネルトランジスタ１９０１は、ソースが電源電位に接続され、ゲートが入力端子Ｐ２に接続され、ドレインがｐチャネルトランジスタ１９０２のソースに接続される。ｐチャネルトランジスタ１９０２は、ゲートが入力端子Ｐ１に接続され、ドレインが出力端子Ｑに接続される。ｎチャネルトランジスタ１９０３は、ドレインが出力端子Ｑに接続され、ゲートが入力端子Ｐ１に接続され、ソースがｎチャネルトランジスタ１９０４のドレインに接続される。ｎチャネルトランジスタ１９０４は、ゲートが入力端子Ｐ２に接続され、ソースが基準電位に接続される。
【００７０】
次に、図１９（Ｂ）の比較回路１０２の構成例を説明する。以下、図１９（Ｂ）の比較回路１０２が図１９（Ａ）の比較回路１０２と異なる点を説明する。トランジスタ１９０１及び１９０３のゲートは入力端子Ｐ１に接続され、トランジスタ１９０２及び１９０４のゲートは入力端子Ｐ２に接続される。
【００７１】
次に、図１９（Ｃ）の比較回路１０２の構成例を説明する。ｐチャネルトランジスタ１９１１は、ソースが電源電位に接続され、ゲートが入力端子Ｐ１に接続され、ドレインがノードＰ３に接続される。ｎチャネルトランジスタ１９１２は、ドレインがノードＰ３に接続され、ゲートが入力端子Ｐ２に接続され、ソースが基準電位に接続される。ｎチャネルトランジスタ１９１３は、ドレインがノードＰ３に接続され、ゲートが入力端子Ｐ１に接続され、ソースが出力端子Ｑに接続される。ｐチャネルトランジスタ１９１４は、ソースがノードＰ３に接続され、ゲートが入力端子Ｐ２に接続され、ドレインが出力端子Ｑに接続される。
【００７２】
次に、図１９の（Ｄ）の比較回路１０２の構成例を説明する。インバータ１９２１は、その入力端子が入力端子Ｐ１に接続され、その出力端子がノードＰ４に接続される。インバータ１９２２の入力端子は、ノードＰ３に接続される。ｎチャネルトランジスタ１９２３は、ドレインが入力端子Ｐ２に接続され、ゲートが入力端子Ｐ１に接続され、ソースがノードＰ３に接続される。ｐチャネルトランジスタ１９２４は、ソースが入力端子Ｐ２に接続され、ゲートがノードＰ４に接続され、ドレインがノードＰ３に接続される。ｐチャネルトランジスタ１９２５は、ソースが入力端子Ｐ１に接続され、ゲートが入力端子Ｐ２に接続され、ドレインがノードＰ３に接続される。ｎチャネルトランジスタ１９２６は、ドレインがノードＰ３に接続され、ゲートが入力端子Ｐ２に接続され、ソースがノードＰ４に接続される。ｐチャネルトランジスタ１９２７は、ソースが入力端子Ｐ１に接続され、ゲートがノードＰ３に接続され、ドレインが出力端子Ｑに接続される。ｎチャネルトランジスタ１９２８は、ドレインが入力端子Ｐ１に接続され、ゲートがインバータ１９２２の出力端子に接続され、ソースが出力端子Ｑに接続される。
【００７３】
図２０（Ａ）〜（Ｃ）は、上記実施形態の遅延素子１０１の構成例を示す回路図である。まず、図２０（Ａ）の遅延素子１０１の構成例を説明する。インバータ２００１は、その入力端子が入力端子ＩＮに接続され、その出力端子がインバータ２００２の入力端子に接続される。インバータ２００２の出力端子は、ノードＤ１に接続される。容量２００３は、インバータ２００１の出力端子及び基準電位間に接続される。
【００７４】
次に、図２０（Ｂ）の遅延素子１０１の構成例を説明する。入力端子ＩＮは、ノードＤ１に接続される。容量２００３は、入力端子ＩＮ及び基準電位間に接続される。
【００７５】
次に、図２０（Ｃ）の遅延素子１０１の構成例を説明する。ｎチャネルトランジスタ２００４は、ドレインが入力端子ＩＮに接続され、ゲートが電源電位に接続され、ソースがノードＤ１に接続される。ｐチャネルトランジスタ２００５は、ソースが入力端子ＩＮに接続され、ゲートが基準電位に接続され、ドレインがノードＤ１に接続される。
【００７６】
図２１（Ａ）〜（Ｉ）は、上記実施形態のデータ保持素子１０３の構成例を示す回路図である。まず、図２１（Ａ）のデータ保持素子１０３の構成例を説明する。インバータ２１０１は、その入力端子が出力端子ＯＵＴ及びインバータ２１０２の出力端子に接続され、その出力端子がインバータ２１０２の入力端子に接続される。
【００７７】
次に、図２１（Ｂ）のデータ保持素子１０３の構成例を説明する。容量２１０３は、出力端子ＯＵＴ及び基準電位間に接続される。
【００７８】
次に、図２１（Ｃ）のデータ保持素子１０３の構成例を説明する。ｐチャネルトランジスタ２１０４は、ソースが電源電位に接続され、ゲートが出力端子ＯＵＴに接続され、ドレインがｐチャネルトランジスタ２１０６のゲートに接続される。ｎチャネルトランジスタ２１０５は、ドレインがｐチャネルトランジスタ２１０６のゲートに接続され、ゲートが出力端子ＯＵＴに接続され、ソースが基準電位に接続される。ｐチャネルトランジスタ２１０６は、ソースが電源電位に接続され、ドレインが出力端子ＯＵＴに接続される。
【００７９】
次に、図２１（Ｄ）のデータ保持素子１０３の構成例を説明する。ｐチャネルトランジスタ２１０７は、ソースが電源電位に接続され、ゲートが出力端子ＯＵＴに接続され、ドレインがｎチャネルトランジスタ２１０９のゲートに接続される。ｎチャネルトランジスタ２１０８は、ドレインがｎチャネルトランジスタ２１０９のゲートに接続され、ゲートが出力端子ＯＵＴに接続され、ソースが基準電位に接続される。ｎチャネルトランジスタ２１０９は、ドレインが出力端子ＯＵＴに接続され、ソースが基準電位に接続される。
【００８０】
次に、図２１（Ｅ）のデータ保持素子１０３の構成例を説明する。ｎチャネルトランジスタ２１１０は、ドレインが電源電位に接続され、ゲートが出力端子ＯＵＴに接続され、ソースが出力端子ＯＵＴに接続される。ｐチャネルトランジスタ２１１１は、ソース及びゲートが出力端子ＯＵＴに接続され、ドレインが基準電位に接続される。
【００８１】
次に、図２１（Ｆ）のデータ保持素子１０３の構成例を説明する。ｎチャネルトランジスタ２１１２は、ドレインがｐチャネルトランジスタ２１１３のゲートに接続され、ゲートが出力端子ＯＵＴに接続され、ソースが基準電位に接続される。ｐチャネルトランジスタ２１１３は、ソースが電源電位に接続され、ドレインが出力端子ＯＵＴに接続される。
【００８２】
次に、図２１（Ｇ）のデータ保持素子１０３の構成例を説明する。ｐチャネルトランジスタ２１１４は、ソースが電源電位に接続され、ゲートが出力端子ＯＵＴに接続され、ドレインがｐチャネルトランジスタ２１１５のゲートに接続される。ｐチャネルトランジスタ２１１５は、ソースが電源電位に接続され、ドレインが出力端子ＯＵＴに接続される。
【００８３】
次に、図２１（Ｈ）のデータ保持素子１０３の構成例を説明する。ｐチャネルトランジスタ２１１６は、ソースが電源電位に接続され、ゲートが出力端子ＯＵＴに接続され、ドレインがｎチャネルトランジスタ２１１７のゲートに接続される。ｎチャネルトランジスタ２１１７は、ドレインが出力端子ＯＵＴに接続され、ソースが基準電位に接続される。
【００８４】
次に、図２１（Ｉ）のデータ保持素子１０３の構成例を説明する。ｎチャネルトランジスタ２１１８は、ドレインがｎチャネルトランジスタ２１１９のゲートに接続され、ゲートが出力端子ＯＵＴに接続され、ソースが基準電位に接続される。ｎチャネルトランジスタ２１１９は、ドレインが出力端子ＯＵＴに接続され、ソースが基準電位に接続される。
【００８５】
以上のように、第１〜第８の実施形態のデータ保持回路は、データを入力する第１の入力端子ＩＮと、前記第１の入力端子ＩＮに入力されるデータを遅延させる一以上の遅延素子１０１と、前記第１の入力端子ＩＮに入力されたデータ及び前記遅延素子１０１により遅延させられたデータが同じときには前記第１の入力端子ＩＮに入力されたデータに応じたデータを保持し、前記第１の入力端子ＩＮに入力されたデータ及び前記遅延素子１０１により遅延させられたデータが異なるときには自己が保持しているデータを保持し続ける比較及びデータ保持素子（第１の素子）とを有する。比較及びデータ保持素子は、図２等の比較回路１０２及びデータ保持素子１０３、又は図６等の比較及びデータ保持素子６１０である。
【００８６】
図２等のデータ保持回路では、前記比較及びデータ保持素子は、前記第１の入力端子ＩＮに入力されたデータ及び前記遅延素子１０１により遅延させられたデータが同じときには前記第１の入力端子ＩＮに入力されたデータに応じたデータを出力し、前記第１の入力端子ＩＮに入力されたデータ及び前記遅延素子１０１により遅延させられたデータが異なるときには出力をハイインピーダンス状態にする比較回路１０２と、前記比較回路１０２の出力データを保持する第１のデータ保持素子１０３とを有する。
【００８７】
図５等のデータ保持回路では、さらに、前記第１のデータ保持素子１０３（５０４，５０５）が出力するデータを保持する第２のデータ保持素子５０８，５０９と、前記第１及び第２のデータ保持素子間に接続され、クロック信号ＣＬＫに応じてオン／オフ動作を行うクロックスイッチ５０６，５０７とを有する。
【００８８】
また、図５等のデータ保持回路では、前記比較回路１０２は、トランジスタ２０４〜２０７，５０２，５０３を有し、クロック信号ＣＬＫに応じて出力をハイイピーダンス状態にする。
【００８９】
図９等のデータ保持回路では、さらに、データを入力する第２の入力端子ＳＩＮと、前記第１の入力端子ＩＮ及び前記遅延素子１０１間に接続される第１のスイッチ８０２と、前記第２の入力端子ＳＩＮ及び前記遅延素子１０１間に接続される第２のスイッチ８０１とを有する。前記第１のスイッチ８０２がオンすると、前記第２のスイッチ８０１がオフし、前記比較及びデータ保持素子１０２，１０３は前記第１の入力端子ＩＮに入力されたデータ及び前記遅延素子１０１を介して前記第１の入力端子ＩＮに入力されたデータを入力する。前記第２のスイッチ８０１がオンすると、前記第１のスイッチ８０２がオフし、前記比較及びデータ保持素子１０２，１０３は前記第２の入力端子ＳＩＮに入力されたデータ及び前記遅延素子１０１を介して前記第２の入力端子ＳＩＮに入力されたデータを入力する。
【００９０】
第９及び第１０の実施形態のデータ保持回路は、データを入力する第１の入力端子ＩＮと、３個以上の入力端子Ａ〜Ｃのデータの中の多数のデータに応じたデータを出力する比較回路１２０２と、前記第１の入力端子ＩＮと前記比較回路１２０２の３個以上の入力端子Ａ〜Ｃとの間に接続され、それぞれ異なるタイミングでオンからオフに切り替わる３個以上のスイッチ１２０１ａ〜１２０１ｃと、前記比較回路１２０２が出力するデータを保持する第１のデータ保持素子１０３とを有する。
【００９１】
前記比較回路１２０２の３個以上の入力端子Ａ〜Ｃは、それぞれ前記３個以上のスイッチ１２０１ａ〜１２０１ｃがオフになると、フローティング状態になる。
【００９２】
図１７のデータ保持回路では、さらに、前記第１のデータ保持素子１０３（５０４，５０５）が出力するデータを保持する第２のデータ保持素子５０８，５０９と、前記第１及び第２のデータ保持素子間に接続され、クロック信号ｃｋ３に応じてオン／オフ動作を行うクロックスイッチ５０６，５０７とを有する。
【００９３】
前記クロックスイッチ５０６，５０７は、前記３個以上のスイッチ１２０１ａ〜１２０１ｃの中の１個のスイッチ１２０１ｃと逆のオン／オフ動作を行う。
【００９４】
前記クロックスイッチ５０６，５０７は、前記３個以上のスイッチ１２０１ａ〜１２０１ｃの中の最も遅くオンからオフに切り替わる１個のスイッチ１２０１ｃと逆のオン／オフ動作を行う。
【００９５】
ソフトエラーにより発生したノイズが入力されても、ノイズを除去し、正常なデータを出力することができるので、ソフトエラーを防止し、信頼性を向上させることができる。
【００９６】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００９７】
１０１  遅延素子
１０２  比較回路
１０３  データ保持素子
ＩＮ  入力端子
ＯＵＴ  出力端子
【図１】
0005464228.tif 000002
【図２】
0005464228.tif 000003
【図３】
0005464228.tif 000004
【図４】
0005464228.tif 000005
【図５】
0005464228.tif 000006
【図６】
0005464228.tif 000007
【図７】
0005464228.tif 000008
【図８】
0005464228.tif 000009
【図９】
0005464228.tif 000010
【図１０】
0005464228.tif 000011
【図１１】
0005464228.tif 000012
【図１２】
0005464228.tif 000013
【図１３】
0005464228.tif 000014
【図１４】
0005464228.tif 000015
【図１５】
0005464228.tif 000016
【図１６】
0005464228.tif 000017
【図１７】
0005464228.tif 000018
【図１８】
0005464228.tif 000019
【図１９】
0005464228.tif 000020
【図２０】
0005464228.tif 000021
【図２１】
0005464228.tif 000022