(57)【要約】【課題】  回路オーバヘッドが小さく、かつ、ソフトエラーへの耐性が高い、高ソフトエラー耐性のフリップフロップおよび、それを用いた半導体集積回路を提供する【解決手段】  ソフトエラーに対する耐性の異なる複数のラッチ回路と、前記複数のラッチ回路にクロックを供給するクロック分配部と、を備えたフリップフロップであって、前記複数のラッチ回路は、第一のラッチ回路と、前記第一のラッチ回路よりもソフトエラーに対する耐性の低い第二のラッチ回路の少なくとも２つのラッチ回路であることを特徴とするフリップフロップ。【選択図】  図１
2011004104.tif 000002
【特許請求の範囲】
【請求項１】
ソフトエラーに対する耐性の異なる複数のラッチ回路と、
前記複数のラッチ回路にクロックを供給するクロック分配部と、
を備えたフリップフロップ。
【請求項２】
請求項１記載のフリップフロップであって、
前記複数のラッチ回路は、第一のラッチ回路と、前記第一のラッチ回路よりもソフトエラーに対する耐性の低い第二のラッチ回路の少なくとも２つのラッチ回路であることを特徴とするフリップフロップ。
【請求項３】
請求項２記載のフリップフロップであって、
前記第一のラッチ回路は、インバータとトランスミッションゲートの組合せ回路を複数有する回路であることを特徴とするフリップフロップ。
【請求項４】
請求項２または３に記載のフリップフロップであって、
前記第二のラッチ回路は、インバータとトランスミッションゲートの組合せ回路を１つ有する回路であることを特徴とするフリップフロップ。
【請求項５】
請求項２乃至４のいずれかに記載のフリップフロップであって、
前記クロック分配部では、前記第一のラッチ回路および前記第二のラッチ回路の耐性に応じてデューティを変化させたクロックを送信することを特徴とするフリップフロップ。
【請求項６】
請求項２乃至５のいずれかに記載のフリップフロップであって、
前記クロック分配部では、前記第一のラッチ回路がHighとなる時間が前記第二のラッチ回路がHighとなる時間よりも長くなるように調整されたクロックを送信することを特徴とするフリップフロップ。
【請求項７】
請求項２乃至６のいずれかに記載のフリップフロップであって、
さらに、任意の遅延時間量だけ遅延させたクロックを前記クロック分配部に出力するクロックデューティ可変部を有することを特徴とするフリップフロップ。
【請求項８】
請求項７記載のフリップフロップであって、
前記クロックデューティ可変部は、任意の遅延時間量を設定する遅延設定部と、前記遅延時間量に基づきマスタクロックを遅延させる可変遅延部と、前記マスタクロックと前記可変遅延部により遅延されたクロックとの論理和をとる論理和素子と、を有することを特徴とするフリップフロップ。
【請求項９】
請求項２乃至８のいずれかに記載のフリップフロップであって、
前記第一のラッチ回路がマスタラッチで、前記第二のラッチ回路がスレーブラッチであることを特徴とするフリップフロップ。
【請求項１０】
請求項２乃至８のいずれかに記載のフリップフロップであって、
前記第一のラッチ回路がスレーブラッチで、前記第二のラッチ回路がマスタラッチであることを特徴とするフリップフロップ。
【請求項１１】
請求項７または８に記載のフリップフロップであって、
前記クロックデューティ可変部は、複数の異なる周波数のクロックを出力することを特徴とするフリップフロップ。
【請求項１２】
請求項１乃至１１のいずれかに記載のフリップフロップを搭載した半導体集積回路。
【請求項１３】
請求項１２記載の半導体集積回路を搭載した半導体デバイス。
【請求項１４】
請求項１乃至１１のいずれかに記載のフリップフロップが複数搭載されたブレードサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路の構成要素としてフリップフロップを使用する半導体集積回路等に関し、特にソフトエラーに対して耐性を有するフリップフロップを使用する半導体集積回路等に関する。
【背景技術】
【０００２】
半導体集積回路の微細化および高集積化の急進に伴い、環境放射線（アルファ線や中性子線など）により発生するソフトエラーの影響が拡大している。特に近年では、従来のメモリセル起因のソフトエラーに加え、論理回路起因のソフトエラーの頻度の増加が問題になりつつある。論理回路起因のソフトエラーとしては、主に、フリップフロップ回路やラッチ回路で保持している１ビットのデータ（０／１）が、放射線の影響によって反転する現象があり、これをシングルイベントアップセット（Single Event Upset、以下、「ＳＥＵ」と記す）と呼ぶ。ＳＥＵによって発生したエラーデータが次段のフリップフロップで誤ラッチされたり、また、制御系の設定値を保持しているレジスタ回路などでＳＥＵが発生したりすると、回路は誤作動を起こすという問題がある。さらに、ＳＥＵを含むソフトエラーが発生した場合も、新たなデータが更新されたり、再起動等されたりすることによって正常に復帰してしまうため、ハードエラー（ハードウェアの固定故障）と異なりエラーの要因特定が困難であるといった問題もある。
【０００３】
ソフトエラーの主要因である中性子線は、電荷を持たず物理的に遮蔽することが困難なため、半導体集積回路においては、放射線の影響を受けにくいデバイス構造や、多重化回路方式などによる対策が主流になっている。論理回路起因のソフトエラーについては、以下のようなソフトエラー耐性回路が提案されている。
【０００４】
非特許文献１には、高ソフトエラー耐性のラッチ回路として、入力分割された２入力型のインバータを用いて、入力データを保持するノードとフィードバックループを二重化した構成を有するＤＩＣＥ（Dual Interlocked storage CEll）ラッチ回路が開示されている。
【０００５】
特許文献１には、「反転回路から構成されており、２以上の入力端子を有するフィードバック回路と、前記フィードバック回路の前記入力端子に、クロックに同期して、入力信号又は前記入力信号と同相の信号を入力する入力回路と、を備え、前記フィードバック回路は、２以上の前記入力端子に、同時に前記入力信号又は前記入力信号と同相の信号が入力されたときのみ、前記入力端子に予め決められた増幅段数で正帰還がかかる構成となっていることを特徴とするラッチ回路。」が開示されている。
【０００６】
また、特許文献２には、「入力信号が入力される入力端子と、前記入力信号を書き込むためのクロック信号が入力されるクロック端子とを有し、書き込まれた前記入力信号を保持して出力する複数のマスタラッチであって、前記複数のマスタラッチの入力端子は共通接続され、前記入力信号は少なくとも前記クロック信号の立ち上がりと立ち下がりで規定される書き換え期間にわたって一方の論理レベルが維持され、前記書き換え期間中に前記入力信号が書き込まれる複数のマスタラッチと、前記複数のマスタラッチの出力に接続された入力を有する多数決論理回路と、前記多数決論理回路の出力に接続された入力を有し且つ前記多数決論理回路の入力に接続された出力を有する１つのスレーブラッチとを有し、前記クロック信号の立ち下がりと立ち上がりで規定される保持期間にのみ、前記多数決論理回路の出力が前記複数のマスタラッチの入力に供給される、フリップフロップ回路。」が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−３１２１０４号公報
【特許文献２】特許第３９３０５１３号
【非特許文献】
【０００８】
【非特許文献１】T.Calin他 著「Upset Hardened Memory Design for Submicron CMOS Technology」IEEE Nuclear Science VOL43、No.6 Dec 1996
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献１に開示されたラッチ回路は冗長化手法を用いるため、当該ラッチ回路を搭載したフリップフロップは、１個あたりの回路オーバヘッドが大きくなる。その結果、フリップフロップを大量に使用する半導体集積回路に当該ラッチ回路の搭載されたフリップフロップを適用した場合、回路規模（面積）が増大し、製造コストが増加するという課題を有する。また、回路規模増加に伴う消費電力や発熱量の増加も問題となる。
【００１０】
また、特許文献１に開示されたラッチ回路、および特許文献２に開示されたフリップフロップ回路のいずれについても非特許文献１に開示されたラッチ回路と同様、冗長化手法を用いるため、回路規模（面積）が増大し、製造コストの増加、および、回路規模増加に伴う消費電力や発熱量の増加といった同様の課題を有する。
そこで本発明では、回路オーバヘッドが小さく、かつ、ソフトエラーへの耐性が高い、高ソフトエラー耐性のフリップフロップおよび、それを用いた半導体集積回路を提供する。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば次のとおりである。
ソフトエラーに対する耐性の異なる複数のラッチ回路と、前記複数のラッチ回路にクロックを供給するクロック分配部と、を備えたフリップフロップである。
（１）記載のフリップフロップであって、前記複数のラッチ回路は、第一のラッチ回路と、前記第一のラッチ回路よりもソフトエラーに対する耐性の低い第二のラッチ回路の少なくとも２つのラッチ回路であることを特徴とするフリップフロップである。
【発明の効果】
【００１２】
本発明によれば、回路オーバヘッドが小さく、かつ、ソフトエラーへの耐性が高い、高ソフトエラー耐性のフリップフロップおよび、それを用いた半導体集積回路を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る実施の形態１におけるフリップフロップの基本構成の一例を示す図である。
【図２】本発明に係る実施の形態１のフリップフロップに供給するクロック波形の一例を示す図である。
【図３】本発明に係る実施の形態１におけるフリップフロップの内部の詳細回路（高ソフトエラー耐性ラッチ回路およびラッチ回路の内部回路例）の一例を示す図である。
【図４】本発明に係る実施の形態１におけるクロックデューティ可変部の詳細な構成の一例と、動作波形クロックデューティ可変部の構成と動作波形の一例を示す図である。
【図５】本発明に係る実施の形態１における可変遅延部の構成の一例を示す図である。
【図６】本発明に係る実施の形態１におけるフリップフロップによるソフトエラー低減効果を示す図である。
【図７】本発明に係る実施の形態２におけるフリップフロップの構成の一例を示す図である。
【図８】本発明に係る実施の形態３における半導体集積回路および半導体デバイスを示す図である。
【図９】本発明に係る実施の形態４における半導体集積回路の論理回路構成の一例を示す図である。
【図１０】本発明に係る実施の形態４における半導体集積回路の論理回路構成の変形例を示す図である。
【図１１】本発明に係る実施の形態５における半導体集積回路の論理回路構成を一例を示す図である。
【図１２】本発明に係る実施の形態６におけるブレードサーバーの構成の一例を示す図である。
【図１３】従来のフリップフロップの基本回路構成を示す図である。
【図１４】従来のフリップフロップの動作波形を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係る実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００１５】
ここでまず始めに、図１３を用いて、本発明者等が本発明の前提として検討した従来のフリップフロップの基本構成の一例について説明する。
図１３に示すフリップフロップ１００は、直列に接続された２段のラッチ回路１０１、１０２と、ラッチ回路にクロックを供給するクロック分配部４とを有して構成される。一般に、入力側から見て前段のラッチ回路１０１はマスタラッチ、後段のラッチ回路１０２はスレーブラッチと呼ばれる。
クロック分配部４は、２個のインバータ５１cを有して構成される。２個のインバータ５１cはそれぞれ、マスタクロック７（ＣＬＫ）と同相のクロック４a（ＣＫ）と反転クロック４ｂ（ＣＫＢ）とをラッチ回路１０１、１０２に供給する。
ラッチ回路１０１、１０２は、クロックのＨ／Ｌレベルに従って、入力データの保持とスルー出力を行う回路であり、それぞれデータを保持するためのフィードバックループ回路を構成する２個のインバータ５１a、５１bと、入力データの取り込みとスルー出力の動作を制御するためのトランスミッションゲート（アナログスイッチ）４９a、５０a、４９b、５０bとを有して構成される。
トランスミッションゲート４９a、５０a、４９b、５０bは、Ｎ型ＭＯＳトランジスタとＰ型ＭＯＳトランジスタとが並列に接続された形で構成され、２つのトランジスタのゲート電極に接続されるクロックに従って、ソース-ドレイン間の入出力経路を開閉するスイッチとして動作する。
トランスミッションゲート４９a、５０a、４９b、５０bには、それぞれクロック分配部４からクロック４ａ（ＣＫ）と反転クロック４ｂ（ＣＫＢ）とが供給され、図１３のトランスミッションゲート５０a、５０bでは、クロック４ａ（ＣＫ）がＨレベル（＝反転クロック４ｂ（ＣＫＢ）がＬレベル）の場合にオンとなり、クロック４ａ（ＣＫ）がＬレベル（＝反転クロック４ｂ（ＣＫＢ）がＨレベル）の場合にオフとなる。一方、トランスミッションゲート４９a、４９bは、接続されているクロックの極性が逆のため、クロック４ａ（ＣＫ）がＨレベルでオフ、Ｌレベルでオンするように動作する。
【００１６】
次に、図１４を用いて、フリップフロップ１００の動作波形の一例を説明する。図１４は、マスタクロック７（ＣＬＫ）と、入力端子Ｄからラッチ回路１０１（マスタラッチ）に入力される入力データ５と、マスタラッチの出力データ１０１ａ（Ｍ）、ラッチ回路１０２（スレーブラッチ）から出力端子Ｑへの出力データ６の波形を示す。また、入力データ５とマスタラッチの出力データ１０１ａとの波形間にマスタラッチ１０１の動きを示し、マスタラッチの出力データ１０１ａと出力データ６との波形間にスレーブラッチ１０２の動きを示す。
（１）の時点は、マスタクロック７（ＣＬＫ）がＬレベルからＨレベルに変化した場合である。（１）では、先述のようにトランスミッションゲート４９a、４９bはオフ、トランスミッションゲート５０a、５０bはオンとなる。このとき、マスタラッチ１０１は、データ入力の経路が切断され、フィードバックループ回路が形成されるため、クロックがＨレベルになった瞬間に、入力されていた入力データ５をラッチ（保持）し、インバータ５１aで反転してマスタラッチの出力データ１０１aとして出力する。一方、スレーブラッチ１０２は、フィードバックループの経路が切断され、入力経路がオンとなるため、マスタラッチの出力データ１０１ａをインバータ５１bで反転し、スルーで出力端子６へ出力する。
（２）の時点は、マスタクロック７（ＣＬＫ）がＨレベルからＬレベルに変化した場合である。（２）では、トランスミッションゲート４９a、４９bはオン、トランスミッションゲート５０a、５０bはオフとなり、スレーブラッチ１０２でフィードバックループ回路が形成される。スレーブラッチ１０２はクロックがＬレベルになった瞬間にマスタラッチ１０１から出力されていたマスタラッチの出力データ１０１aをラッチし、フリップフロップ１００の出力データ６として出力端子Ｑに出力する。一方、マスタラッチ１０１は次のクロックの立ち上がりで新たなデータを取り込むために、入力データ５をインバータ５１aで反転してスルーでマスタラッチの出力データ１０１aとして出力しておく。このとき、スレーブラッチ１０２の入力経路がオフになっているのでマスタラッチの出力データ１０１ａがスレーブラッチ１０２に取り込まれることはない。
（１）’の時点は、マスタクロック７（ＣＬＫ）が再度ＬレベルからＨレベルに変化したタイミングである。（１）’で、マスタラッチ１０１は、（２）の時点でマスタラッチの出力データ１０１aとして出力していた新たなデータをラッチ（保持）する。スレーブラッチ１０２はマスタラッチ１０１でラッチされたマスタラッチの出力データ１０１ａをインバータ５１bで反転して、スルーで出力端子Ｑへ出力する。
このようにフリップフロップ１００は、交互に保持動作を繰り返すマスタラッチとスレーブラッチとを使用し、クロックの立ち上がり（または立ち下がり）のタイミングでデータを取り込み、次のクロックの立ち上がり（または立ち下がり）までデータを保持する動作を実現している。
【実施例１】
【００１７】
以下、本発明に係る実施の形態１を図１〜６を用いて説明する。
【００１８】
図１に、本発明に係る実施の形態１におけるフリップフロップの基本構成の一例示す。フリップフロップ１は、ソフトエラーへの耐性が高い、高ソフトエラー耐性ラッチ回路２と、ラッチ回路３、クロック分配部４とを有して構成され、高ソフトエラー耐性ラッチ回路２がマスタラッチ、ラッチ回路３がスレーブラッチとして動作する。このとき、高ソフトエラー耐性ラッチ回路２（マスタラッチ）からの出力データ２aは、ラッチ回路３（スレーブラッチ）に入力される。
【００１９】
図２に、図１に示すフリップフロップ１に供給するクロック波形を示す。
通常、フリップフロップに供給されるクロックは（ＣＬＫ）７は、一般的にはデューティ（クロック信号の１周期におけるＨレベルとＬレベルの時間比）が５０％の状態で使用されるが、本発明に係る実施の形態１では、フリップフロップ１の外部に、クロックのデューティを変化させることのできるクロックデューティ可変部８を備える。このクロックデューティ可変部８でマスタクロック７（ＣＬＫ）のデューティを変化させ、デューティ可変クロック（ＤＣＬＫ）９をフリップフロップ１に供給する。このとき、デューティ可変クロック（ＤＣＬＫ）９は任意のデューティ値を取りうる。
【００２０】
図３に、フリップフロップ１の内部の詳細回路（高ソフトエラー耐性ラッチ回路およびラッチ回路の内部回路例）の一例を示す。
ここでは、高ソフトエラー耐性ラッチ回路３（マスタラッチ）としてＤＩＣＥラッチ回路を、ラッチ回路２（スレーブラッチ）として高ソフトエラー耐性でない普通のラッチ回路を仮定する。
高ソフトエラー耐性ラッチ回路２は、トランスミッションゲート１０、１１、１２、１３と、入力分割された２入力型のインバータ１４、１５、１６、１７とを有して構成される。
高ソフトエラー耐性ラッチ回路２への入力は２系統に分けられ、片方の入力は、トランスミッションゲート１０を介して、インバータ１４のｐＭＯＳとインバータ１５のｎＭＯＳのゲートに接続され、もう片方の入力はトランスミッションゲート１１を介してインバータ１４のｎＭＯＳとインバータ１５のｐＭＯＳのゲートに接続される。
インバータ１４の出力はインバータ１６のｎＭＯＳとインバータ１７のｐＭＯＳのゲートに接続され、インバータ１５の出力はインバータ１６のｐＭＯＳとインバータ１７のｎＭＯＳのゲートに接続される。
ここで、インバータ１６の出力はトランスミッションゲート１２を介して、インバータ１４のｐＭＯＳとインバータ１５のｎＭＯＳのゲートに接続され、さらに、インバータ１７の出力もトランスミッションゲート１３を介して、インバータ１４のｎＭＯＳとインバータ１５のｐＭＯＳのゲートに接続され、全体で２系統のフィードバックループが形成される。
一方、ラッチ回路３は、トランスミッションゲート１８、１９と、インバータ２０、２１とを有して構成される。
ここで、図示していないが、トランスミッションゲート１０乃至１３、１８、１９には、図１３と同様に、クロック４ａ（ＣＫ）と反転クロック４ｂ（ＣＫＢ）とが接続されており、トランスミッションゲート１０、１１、１９はクロック４a（ＣＫ）がＬレベル、反転クロック４b（ＣＫＢ）がＨレベルのときにオンとなり、クロック４a（ＣＫ）がＨレベル、反転クロック４b（ＣＫＢ）がＬレベルのときにオフとなる。一方、トランスミッションゲート１２、１３、１８は、接続されているクロックの極性が逆のため、クロック４a（ＣＫ）がＨレベル、反転クロック４b（ＣＫＢ）がＬレベルのときにオンとなるように動作する。
そのため、図３に示す回路構成では、クロック４ａ（ＣＫ）の立ち上がりで高ソフトエラー耐性ラッチ回路２（マスタラッチ）２が入力データ５をラッチし、クロック４ａ（ＣＫ）がＨレベルの時間帯はそのままマスタラッチ２がデータを保持し、クロック４ａ（ＣＫ）がＬレベルの時間帯ではラッチ回路３（スレーブラッチ）がデータを保持するように動作する。
【００２１】
次に、高ソフトエラー耐性ラッチ回路２においてＳＥＵが発生したときの回復動作について説明する。例えば、高ソフトエラー耐性ラッチ回路が“０”を保持しているときにインバータ１６の出力が“０”→“１”に反転してしまった場合、インバータ１４のｐＭＯＳとインバータ１５のｎＭＯＳのゲートに“１”が入力される。しかし、インバータ１４は、ｐＭＯＳ／ｎＭＯＳの両方がオフとなるため、出力はハイインピーダンス状態となり、しばらくの間はエラーになる前の状態の出力“１”を保つ（＝エラーをマスクする）ことができる。一方、インバータ１５は、ｐＭＯＳ／ｎＭＯＳの両方がオンとなるため、中間電位が出力されてしまう。しかし、中間電位でオンされるインバータ１６のｐＭＯＳの駆動力は、正常電圧でオンされているｎＭＯＳ側の駆動力に比べて小さいため、インバータ１６の出力は“０”となり、すなわち反転前の正しい値に回復する。インバータ１７もｎＭＯＳ側に中間電位が入力されるが、ｐＭＯＳ側がもともとオフのため、中間電位でｎＭＯＳがオンされて正しい値“０”が出力される。
このように、２箇所のノードが同時に反転する場合を除いてＳＥＵを回避することができる。
【００２２】
図４に、クロックデューティ可変部８の詳細な構成の一例と、マスタクロック７と、遅延させたクロック２２aと、デューティ可変クロック９の動作波形とを示す。
クロックデューティ可変部８は、可変遅延部２２（詳細な構成は図５）と遅延設定部２４と、論理和素子（ＯＲゲート）２３とを有して構成される。
可変遅延部２２は、遅延設定部２４により設定された遅延設定値２４aに基づいて、遅延する時間量である遅延時間量Ｔｄだけマスタクロック７（ＣＬＫ）を遅延させ、遅延させたクロック２２a（ＣＬＫd）を出力する。
論理和素子２３は、マスタクロック７（ＣＬＫ）と遅延させたクロック２２a（ＣＬＫd）との論理和をとり、デューティ可変クロック９（ＤＣＬＫ）を出力する。
【００２３】
図５に、可変遅延部２２の構成の一例を示す。
可変遅延部２２は、遅延素子２５とセレクタ２６とを有して構成される。
遅延素子２５は、図５に示すように複数設けられており、可変遅延部２２の内部の通過経路は複数存在する。
セレクタ回路２６は、入力される遅延設定値２４aに従って、可変遅延部２２の内部の通過経路を選択する。
遅延時間量Ｔdはどの通過経路を選択するか、つまり、遅延素子２５をいくつ通過数するか、により可変である。
ここで、可変遅延部２２の遅延素子２５の個数は任意の個数で良く、通過経路も遅延素子２５の個数に応じて任意に設定することができる。
【００２４】
図６に、本発明に係る実施の形態１におけるフリップフロップ１によるソフトエラー低減効果を示す。
図６は、マスタクロック７（ＣＬＫ）、ＳＥＵ発生時の従来のフリップフロップ１００から出力端子Ｑへの出力データ６a（１）、フリップフロップ１に入力されるデューティ可変クロック９（ＤＣＬＫ）、ＳＥＵ発生時の本発明に係る実施の形態１のフリップフロップ１から出力端子（Ｑ’とする）への出力データ６b（２）を示している。
波形（１）の出力データ６ａは、ＳＥＵが発生しときの、ソフトエラーに耐性を持たない通常のフリップフロップ１００からの出力データＱである。正常な出力データをＬレベルとし、ＳＥＵ発生時のエラー出力をＨレベルで示している。通常のフリップフロップでは、クロック１周期の間に、マスタラッチが保持している間（クロックがＨレベルの時）にエラーが発生する範囲ＳＥＵ（１）と、スレーブラッチが保持している間（クロックがＬレベルの時）にエラーが発生するＳＥＵ（２）の範囲が存在する。
【００２５】
一方、本発明に係る実施の形態１におけるフリップフロップ１では、まず、マスタラッチを高ソフトエラー耐性のラッチ回路にすることでＳＥＵ（１）の範囲でのエラー出力を回避することができる。さらに、供給するクロックのデューティを調整し、ここではクロックのＨレベルの時間を長くし、エラーの発生しないＳＥＵ（１）の範囲を広げる（＝スレーブラッチ側で発生するＳＥＵ（２）の時間を狭める）ことで、フリップフロップ全体のソフトエラー率を低減することができる。
以上のようにして、本発明に係る実施の形態１では高ソフトエラー耐性のフリップフロップ１を実現することができる。
また、本発明に係る実施の形態１のフリップフロップ１では、２段のラッチ回路（マスタラッチとスレーブラッチ）のうち、スレーブラッチは通常のラッチ回路のままで、マスタラッチのみをソフトエラーに対して高耐性な回路にすればよいため、両方のラッチを高耐性化する従来の高ソフトエラー耐性フリップフロップと比較して、回路オーバヘッドを小さくでき、さらにフリップフロップ１個当たりの消費電力も低減できるという効果を有する。さらに、上記の構成によりスレーブラッチのデータ保持時間が短くなるため、スレーブラッチでＳＥＵが発生した場合にフリップフロップが出力するエラー（反転）データの時間幅が短くなり、次段のフリップフロップで誤ラッチされる影響を小さくすることができる。
【００２６】
ここで、高ソフトエラー耐性ラッチ回路２としては、DICEラッチ回路に限られず特許文献１に記載したような高ソフトエラー耐性のラッチ回路を用いても良い。特許文献１には、通常は２個のインバータによるフィードバックループ回路を用いて構成されるラッチ回路を、４個以上の偶数個のインバータを使って長いフィードバックループを構成し、データがラッチされるまでの時間を長くすることで、放射線などの影響によってラッチ内部に発生する短い時間のノイズパルスでは誤ラッチ（データ反転）が起きないようにするラッチ回路が開示されている。さらに、複数箇所からデータを入力する構成にすることで、フィードバックループを長くしたことによる動作速度の劣化を防いでいる。また、フリップフロップについても、内部のマスタラッチとスレーブラッチに上記構成のラッチ回路を用いることで、複数ノードが同時に反転する場合を除き、ＳＥＵが発生しないため、高ソフトエラー耐性なフリップフロップを実現できる。
また、クロックデューティ可変部８は、図４に示した構成に限らず、例えばＰＬＬ（Phase Locked Loop）回路や、ＤＬＬ（Digital Locked Loop）回路のように、クロックの周波数を可変できる回路を用いて実現しても良い。これらの回路は電源電圧や周囲温度が変化した場合でも、発生するクロックの周波数やディーティが変動しにくいという効果を有する。
また、クロックのデューティの可変範囲については、ラッチ回路の性能や、論理回路での配線遅延時間によって限界があるが、ここでは全てのフリップフロップが正常に動作する範囲内とすることが望ましい。
【００２７】
また、図５には、遅延設定部２４からの遅延設定値２４aに基づき可変遅延部２２のセレクタ２６が通過経路を選択する方法が示されているが、遅延設定部２４が可変遅延部２２に内蔵されていてもよい。
また、図１では、クロックデューティ可変部８はフリップフロップ１の外部に配置されているが、クロックデューティ可変部８がフリップフロップ１の内部に配置されていてもよい。
【実施例２】
【００２８】
以下、本発明に係る発明の実施の形態２を、図７を用いて説明する。
図７は、本発明に係る実施の形態２のフリップフロップの構成の一例を示したものである。
本発明に係る実施の形態２のフリップフロップ２７は、高ソフトエラー耐性ラッチ回路２９と、ラッチ回路２８、クロック分配部４とを有して構成され、高ソフトエラー耐性ラッチ回路２９がスレーブラッチ、ラッチ回路２８がマスタラッチとして動作する。
さらに、フリップフロップ２７の外部にクロックデューティ可変部８を備え、高ソフトエラー耐性のスレーブラッチ２９の側でのデータ保持時間が長くなるようにマスタクロック７（ＣＬＫ）のデューティを調整するデューティ可変クロック（ＤＣＬＫ）９を生成し、さらに、フリップフロップ２７はそのデューティ可変クロック９に基づき動作する。以上のようにして、本発明に係る実施の形態２では高ソフトエラー耐性のフリップフロップを実現することができる。
【００２９】
また、本発明に係る実施の形態１のフリップフロップ２７では、２段のラッチ回路（マスタラッチとスレーブラッチ）のうち、マスタラッチは通常のラッチ回路のままで、スレーブラッチのみをソフトエラーに対して高耐性な回路にすればよいため、両方のラッチを高耐性化する従来の高ソフトエラー耐性フリップフロップと比較して、回路オーバヘッドを小さくでき、さらにフリップフロップ１個当たりの消費電力も低減できるという効果を有する。
さらに、実施の形態１と同様に、上記の構成によりスレーブラッチのデータ保持時間が短くなるため、スレーブラッチでＳＥＵが発生した場合にフリップフロップが出力するエラー（反転）データの時間幅が短くなり、次段のフリップフロップで誤ラッチされる影響を小さくすることができる。
【実施例３】
【００３０】
以下、本発明に係る実施の形態３を、図８を用いて説明する。
図８は、半導体集積回路および半導体デバイスに、本発明に係る実施の形態１のフリップフロップを適用した場合の構成を示したものである。
図８には、半導体集積回路３３と、当該半導体集積回路３３が搭載された半導体デバイス３４と、当該半導体集積回路３３に含まれる論理回路部３１の回路例との一例を示す。
【００３１】
半導体集積回路３３は、論理回路部３１とその他の周辺回路３２とを有して構成される。
また、半導体集積回路３３は様々なタイプのパッケージに実装され、半導体デバイス３４として回路基板などに実装される。
【００３２】
論理回路部３１は、フリップフロップ１と、クロックデューティ可変部８と、組合せ論理回路３０とを有して構成される。ここで、図８では論理回路部３１におけるフリップフロップとして、実施の形態１のフリップフロップ１を使用しているが、これに限られない。また、複数のフリップフロップのうち、一部のフリップフロップに高ソフトエラー耐性のフリップフロップを用いてもよく、実施の形態１と実施の形態２のフリップフロップを組み合わせて用いても良い。
ここで、フリップフロップ１には、高ソフトエラー耐性のラッチ回路（マスタラッチ）でのデータ保持時間が長くなるようにマスタクロックのデューティを調整したデューティ可変クロック９（ＤＣＬＫ）を供給することで、回路オーバヘッドの低減、消費電力の低減、誤ラッチによる影響の低減を実現することができるという効果を有する。
【００３３】
以上のように、半導体集積回路３３では、実施の形態１や実施の形態２等に示されたフリップフロップ１とクロックデューティ可変部８を搭載することで、ソフトエラーに対し高耐性な半導体集積回路３３および半導体デバイス３４を実現することができる。
また、半導体集積回路３３で使用されるフリップフロップ１は、従来の高ソフトエラー耐性フリップフロップと比較して回路オーバヘッドが小さく、また、クロックデューティ可変部８の回路規模も半導体集積回路全体に比べると無視できるくらい小さいため、従来の高ソフトエラー耐性フリップフロップと比較しても、ソフトエラーに対し高耐性な半導体集積回路３３を低コストで製造することができる。さらに回路オーバヘッドが小さくなるために消費電力や発熱量を低減することができる。
なお、半導体集積回路３３の論理回路構成は、フリップフロップを使用する回路であれば、上記回路構成に限るものではない。また、本半導体集積回路３３では、外部からマスタクロック７を供給する構成になっているが、回路内部にクロック発生部を備える構成でも良い。また、半導体デバイス３５とは、論理回路部３１でフリップフロップが使用されているものであれば、ＣＰＵや、マイクロコンピュータ、ＤＳＰ、周辺回路にフリップフロップを使用するメモリＩＣ等も含まれる。
【実施例４】
【００３４】
以下、本発明に係る実施の形態４を、図９〜１０を用いて説明する。
図９および図１０は、図８に示した論理回路部３１の回路構成の変形例である。
【００３５】
図９は、半導体集積回路３３内部の論理回路部３１に、実施の形態１を基本とする高ソフトエラー耐性のフリップフロップ１と、ソフトエラーに耐性の無い従来のフリップフロップ１００と、を併用した構成である。論理回路部３１では、入力データＡ１、Ｂ１を処理する回路のフリップフロップに、実施の形態１における高ソフトエラー耐性フリップフロップ１を適用し、さらにデューティ可変クロック９（ＤＣＬＫ）を供給することでソフトエラー発生率（ＳＥＲ：Soft Error Rate）の低減を実現する。
但し、タイミングマージンが小さく、クロックのデューティが変えられない回路部分に適用された高ソフトエラー耐性フリップフロップ３５には、通常のマスタクロック７を供給する。
さらに、入力データＣ１を処理する回路のフリップフロップには、ソフトエラーに耐性の無い従来のフリップフロップ１００を適用し、クロックはマスタクロック７（ＣＬＫ）を供給する。
【００３６】
論理回路によって使用するフリップフロップと供給するクロックの種類を使い分けることで、高ソフトエラー耐性と論理規模を最適化した高ソフトエラー耐性の半導体集積回路３３および半導体デバイス３４を実現できる。
【００３７】
図１０は、実施の形態４を基本とし、さらに動作周波数の異なるフリップフロップを併用する場合の構成を示したものである。周波数の異なる複数のデューティ可変クロック（ＤＣＬＫ１、ＤＣＬＫ２）を出力可能なクロックデューティ可変部３７を有し、２種類のデューティ可変クロック３７ａ、３７ｂを出力することができる。
クロックデューティ可変部３７は、ＰＬＬ回路のように、複数のクロック周波数を出力可能な回路であれば何でも良い。
【００３８】
論理回路部３１では、入力データＡ１、Ｂ１を処理する回路のフリップフロップに、実施の形態１における高ソフトエラー耐性フリップフロップ１を適用し、さらにデューティ可変クロック３７ａ（ＤＣＬＫ１）を供給することでソフトエラー発生率を低減することができる。
ここで、入力データＣ１を処理する回路のフリップフロップ３６は、他のフリップフロップと動作周波数が異なるため、入力データＡ１、Ｂ１の回路と同じく実施の形態１における高ソフトエラー耐性フリップフロップ１を適用するが、供給するクロックは、別の周波数のデューティ可変クロック４１ｂ（ＤＣＬＫ２）を供給する。
また、入力データＤ１を処理する回路のフリップフロップには、ソフトエラーに耐性の無い従来のフリップフロップ１００を適用し、クロックはマスタクロック７（ＣＬＫ）を供給する。
論理回路によって使用するフリップフロップおよび供給クロックを使い分けることで、高ソフトエラー耐性と論理規模を最適化した高ソフトエラー耐性の半導体集積回路３３および半導体デバイス３４を実現できる。
【実施例５】
【００３９】
以下、本発明に係る実施の形態５を、図１１を用いて説明する。
論理回路部におけるフリップフロップは、クロック同期式の順序回路や、カウンタ回路のほかに、論理回路における設定値などのデータを保持するレジスタ回路としても使用される。一般的なレジスタ回路の場合、常時トグルするクロック信号は使わず、データの書き込み／読み出し時にだけ単発パルスのクロック信号を使って動作し、書き込み／読み出しの動作が終わるとクロック信号はどちらかのレベルで待機状態になる。
特にレジスタ回路では、書き込み動作に比べてデータを保持している時間がほとんどであるため、ＳＥＵに対しては、待機時のクロックレベル側で使われているラッチの高耐性化が効果的となる。
例えば、クロックの立ち上がりエッジで動作するタイプのフリップフロップをレジスタ回路に使用し、書き込み／読み出し動作以外の間のクロックはＬレベルである場合、クロックがＬレベルのときにデータが保持されるスレーブラッチ側の高耐性化が効果的となる。
【００４０】
図１１は、図８に示した論理回路部３１の回路構成の変形例である。
図１１は、図８の半導体集積回路３３内部の論理回路部３１に、実施の形態２を基本とするフリップフロップをレジスタ回路に適用した場合の論理構成の一例である。
データＡ１、Ｂ１、Ｃ１の出力をＡＮＤ（論理積）ゲート３８でマスクするための制御信号２７ａを出力するレジスタ回路に、実施の形態２の高ソフトエラー耐性フリップフロップ２７を使用する。    フリップフロップ２７には、制御データ３９（ＣＴＲＬ）と、書き込み用の単発クロック信号４０（ＷＣＬＫ）が入力されており、ＷＣＬＫは制御データを書き込む時に一時的にＨレベルになるが、それ以外の動作時は常にＬレベルとなる。この時、実施の形態２の高ソフトエラー耐性フリップフロップ２７では、常にスレーブラッチ側でデータが保持されることになるが、スレーブラッチは高ソフトエラー耐性のラッチ回路で構成されているため、ＳＥＵは発生せず、レジスタ回路としてのソフトエラー率を低減することができる。
【００４１】
以上のように、常時クロックが供給されないレジスタ回路のフリップフロップに対しても、本発明の高耐性フリップフロップを適用することで、高ソフトエラー耐性の半導体集積回路３３および半導体デバイス３４を実現できる。
【実施例６】
【００４２】
以下、本発明に係る実施の形態６を、図１２を用いて説明する。
図１２に、実施の形態３の半導体デバイスを搭載したブレードサーバーの構成の一例を示す。
ブレードサーバー４８とは、1つの筐体に複数台のサーバーを搭載させたものであり、具体的には、ブレードと呼ばれるサーバ基板４７を、筐体に複数枚挿すことで構成される。
サーバー基板４７は、主に、情報処理用のＣＰＵ４２と、ＣＰＵの外部記憶領域として使用するメモリ４３と、外部インターフェース制御用のＬＳＩ４５と、基板上のマスタクロックを生成するクロック発生部４４と、サーバー筐体に接続するための外部コネクタ４６と、が１枚のボード４１の上に構成されており、１台のサーバーの機能を実現する。
ここで、実施の形態６のブレードサーバー４８では、それぞれのサーバー基板４７に搭載されるＣＰＵ４２や、メモリ４３、インターフェース制御ＬＳＩ４５などを、実施の形態３を基本とした半導体デバイス３４で構成することができ、その場合には、実施の形態３により得られる効果と同様の効果を得ることができる。
【００４３】
また、サーバーは常時稼働している必要があり、特にどんな動作状況でもシステムダウンや誤作動することなく安定して動作することが必要である。このような信頼性が要求される装置に対し、装置を構成する半導体デバイスに本発明を適用することにより、装置全体でのソフトエラーに対する耐性を強化し、信頼性を向上することができる。
また、各半導体デバイスにおける回路オーバヘッドが小さいために、装置全体の消費電力も低減することができ、さらには装置の発熱量も低減できる。
なお、本発明における形態は、上記ブレードサーバーなどの情報処理装置以外にも、フリップフロップが内蔵された半導体デバイスを搭載する装置に適用可能であり、航空機、プラント、エレベータ、鉄道、重機、自動車、計測器、など、複数の電子制御基板を搭載し、信頼性が要求されるような装置も含まれる。
【符号の説明】
【００４４】
１・２７・３５・３６・３９・１００ フリップフロップ、２・２９ 高ソフトエラー耐性ラッチ回路、３ ラッチ回路、４ クロック分配部、４ａ クロック（ＣＫ）、４ｂ 反転クロック（ＣＫＢ）、５ 入力データ（Ｄ）、６ 出力データ（Ｑ）、７ マスタクロック（ＣＬＫ）、８・３７ クロックデューティ可変部、９ デューティ可変クロック（ＤＣＬＫ）、１０〜１３・１８・１９・４９・５０ トランスミッションゲート、１４〜１７ 入力分割型２入力インバータ、２０・２１・５１ インバータ、２２ 可変遅延部、２２ａ 遅延クロック（ＣＬＫｄ）、２３ ＯＲ（論理和）ゲート、２４ 遅延設定部、２４ａ 遅延設定値、２５ 遅延素子、２６ セレクタ、３０ 組合せ論理回路、３１ 論理回路部、３２ 周辺回路、３３ 半導体集積回路、３４ 半導体デバイス、３７ａ デューティ可変クロック（ＤＣＬＫ１）、３７ｂ デューティ可変クロック（ＤＣＬＫ２）、３８ ＡＮＤ（論理積）ゲート、４０ 制御データ（ＣＴＲＬ）、４１ 書き込み用クロック（ＷＣＬＫ）、４２ ＣＰＵ、４３ メモリ、４４ クロック発生回路、４５ コネクタ、４６ 回路基板、４７ サーバー基板、４８ ブレードサーバー、１０１ａ 中間データ（Ｍ）、１０１・１０２ ラッチ回路
【図１】
2011004104.tif 000003
【図２】
2011004104.tif 000004
【図３】
2011004104.tif 000005
【図４】
2011004104.tif 000006
【図５】
2011004104.tif 000007
【図６】
2011004104.tif 000008
【図７】
2011004104.tif 000009
【図８】
2011004104.tif 000010
【図９】
2011004104.tif 000011
【図１０】
2011004104.tif 000012
【図１１】
2011004104.tif 000013
【図１２】
2011004104.tif 000014
【図１３】
2011004104.tif 000015
【図１４】
2011004104.tif 000016