(57)【特許請求の範囲】
【請求項１】
２入力と２出力を有するデュアルポートインバータであって、当該２入力は１組の入力信号を受け取り、当該１組の入力信号は当該デュアルポートインバータの２入力にそれぞれ第１のトランスミッションゲート（６Ｓ１）及び第２のトランスミッションゲート（６Ｓ２）を介して結合したデュアルポートインバータ（６ＩＰ１）と、
前記デュアルポートインバータ（６ＩＰ１）の前記２出力に２入力で結合した、２出力を有するデュアルポートクロックドインバータ（６ＩＰ２）と、
前記デュアルポートインバータ（６ＩＰ１）の前記２出力及び前記デュアルポートクロックドインバータ（６ＩＰ２）の前記２出力の少なくとも１つに接続した出力と、を有し、
前記デュアルポートインバータ（６ＩＰ１）は、第１のインバータ（６Ｉ９）及び第２のインバータ（６Ｉ１１）を含み、
前記第１のインバータ（６Ｉ９）は第２のトランジスタ（６Ｎ１６）に直列に接続された第１のトランジスタ（６Ｐ１６）を含み、前記第２のインバータ（６Ｉ１１）は第４のトランジスタ（６Ｎ２０）に直列に接続された第３のトランジスタ（６Ｐ２０）を含み、  前記第１及び第３のトランジスタ（６Ｐ１６，６Ｐ２０）はｐチャネルトランジスタで、前記第２及び第４のトランジスタ（６Ｎ１６，６Ｎ２０）はｎチャネルトランジスタであり、
前記第１のトランジスタ（６Ｐ１６）のゲートは、前記第４のトランジスタ（６Ｎ２０）のゲートに接続されて第１のインバータ入力を提供し、前記第２のトランジスタ（６Ｎ１６）のゲートは、前記第３のトランジスタ（６Ｐ２０）のゲートに接続されて第２のインバータ入力を提供し、
前記第１及び第２のトランジスタ（６Ｐ１６，６Ｎ１６）は、第１のインバータ出力を提供し、前記第３及び第４のトランジスタ（６Ｐ２０，６Ｎ２０）は、第２のインバータ出力を提供し、
前記第１及び第２のインバータ入力は同じ論理レベルの信号を受け取った場合に、確定した論理レベルの信号を前記第１のインバータ出力又は前記第２のインバータ出力に提供するものであり、
第３のインバータ（６Ｉ６）と、
前記第３のインバータと入力がお互いに接続された第４のインバータ（６Ｉ７）と、をさらに有し、
前記第３のインバータ（６Ｉ６）の出力は、前記第１のトランスミッションゲート（６Ｓ１）を介して前記第１のインバータ入力に接続され、
前記第４のインバータ（６Ｉ７）の出力は、前記第２のトランスミッションゲート（６Ｓ２）を介して前記第２のインバータ入力に接続されることを特徴とするシングルイベント耐性ラッチ回路。
【請求項２】
請求項１に記載のシングルイベント耐性ラッチ回路において、前記デュアルポートクロックドインバータ（６ＩＰ２）は第１のクロックドインバータ（６Ｉ８）及び第２のクロックドインバータ（６Ｉ１０）を含むシングルイベント耐性ラッチ回路。
【請求項３】
請求項２に記載のシングルイベント耐性ラッチ回路において、前記第１のクロックドインバータ（６Ｉ８）は第５、第６、第７、及び第８のその順番に直列に接続されたトランジスタ（６Ｐ１３，６Ｐ１４，６Ｎ１３，６Ｎ１４）を含み、前記第２のクロックドインバータ（６Ｉ１０）は第９、第１０、第１１、及び第１２のその順番に直列に接続されたトランジスタ（６Ｐ１７，６Ｐ１８，６Ｎ１７，６Ｎ１８）を含むシングルイベント耐性ラッチ回路。
【請求項４】
請求項３に記載のシングルイベント耐性ラッチ回路において、前記第５（６Ｐ１３）、第６（６Ｐ１４）、第９（６Ｐ１７）、及び第１０（６Ｐ１８）のトランジスタはｐチャネルトランジスタで、前記第７（６Ｎ１３）、第８（６Ｎ１４）、第１１（６Ｎ１７）、及び第１２（６Ｎ１８）のトランジスタはｎチャネルトランジスタであるシングルイベント耐性ラッチ回路。
【請求項５】
請求項４に記載のシングルイベント耐性ラッチ回路において、前記第５（６Ｐ１３）又は第６（６Ｐ１４）のいずれか一方のトランジスタのゲートは前記第１１（６Ｎ１７）又は第１２（６Ｎ１８）のいずれか一方のトランジスタのゲートに接続されて第３のインバータ入力を提供し、
前記第７（６Ｎ１３）又は第８（６Ｎ１４）のいずれか一方のトランジスタのゲートは前記第９（６Ｐ１７）又は第１０（６Ｐ１８）のいずれか一方のトランジスタのゲートに接続されて第４のインバータ入力を提供し、
前記第５（６Ｐ１３）又は第６（６Ｐ１４）の他方のトランジスタのゲートと前記第７（６Ｎ１３）又は第８（６Ｎ１４）の他方のトランジスタのゲートには、お互いに相補な論理値の第１の相補クロック信号（ＣＫＢ１，ＣＫ１）が入力され、
前記第９（６Ｐ１７）又は第１０（６Ｐ１８）の他方のトランジスタのゲートと前記第１１（６Ｎ１７）又は第１２（６Ｎ１８）の他方のトランジスタのゲートには、お互いに相補な論理値の第３の相補クロック信号（ＣＫＢ３，ＣＫ３）が入力され、
前記第１のトランスミッションゲート（６Ｓ１）は、それに含まれるｐチャネルトランジスタ（６Ｐ１５）とｎチャネルトランジスタ（６Ｎ１５）のそれぞれのゲートに前記第１のクロックドインバータ（６Ｉ８）と相反するオンオフ動作をする極性で前記第１の相補クロック信号が入力され、
前記第２のトランスミッションゲート（６Ｓ２）は、それに含まれるｐチャネルトランジスタ（６Ｐ１９）とｎチャネルトランジスタ（６Ｎ１９）のそれぞれのゲートに前記第２のクロックドインバータ（６Ｉ１０）と相反するオンオフ動作をする極性で前記第３の相補クロック信号が入力されるシングルイベント耐性ラッチ回路。
【請求項６】
請求項５に記載のシングルイベント耐性ラッチ回路において、前記第５（６Ｐ１３）、第６（６Ｐ１４）、第７（６Ｎ１３）、及び第８（６Ｎ１４）のトランジスタは第３のインバータ出力を提供し、前記第９（６Ｐ１７）、第１０（６Ｐ１８）、第１１（６Ｎ１７）、及び第１２（６Ｎ１８）のトランジスタのトランジスタは第４のインバータ出力を提供するシングルイベント耐性ラッチ回路。
【請求項７】
請求項６に記載のシングルイベント耐性ラッチ回路において、前記第３及び第４のインバータ入力は同じ論理レベルの信号を受け取った場合に、前記第３のインバータ出力又は前記第４のインバータ出力に確定した論理レベルの信号を提供するシングルイベント耐性ラッチ回路。
【請求項８】
請求項１に記載のシングルイベント耐性ラッチ回路において、出力が入力に直接的に接続されているインバータとクロックドインバータの組のそれぞれにおいて、当該インバータに含まれるｐチャネル及びｎチャネルトランジスタと、前記クロックドインバータに含まれるそれぞれｎチャネル及びｐチャネルトランジスタとの間の対角線距離は、その対角線距離が最小となるようなレイアウトにおける対角線距離より大きい所定の離隔距離であるシングルイベント耐性ラッチ回路。
【請求項９】
請求項８に記載のシングルイベント耐性ラッチ回路において、前記所定の離隔距離は、２．０マイクロメートル以上であるシングルイベント耐性ラッチ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラッチ回路及びフリップフロップ回路に関し、より詳しくは、シングルイベント耐性を有するラッチ回路及びフリップフロップ回路に関する。
【背景技術】
【０００２】
フリップフロップ回路を含むメモリ素子、データラッチ回路などの半導体素子において、それを構成するトランジスタに、放射線、イオン線等の高エネルギー粒子が入射すると、そのエネルギー粒子の電離作用、励起作用などによって、素子内に電子−正孔対を生じ、電荷が発生することがある。この発生電荷が素子内のＰＮ接合部の電界によって異なる領域に流れ込むこと（電荷収集）によってオフのトランジスタが誤動作して一時的にオンとなり、正常状態では流れることのない電流が素子内で流れ、これによってその半導体素子が記憶するデータが反転するような誤動作を起こすことがある。この現象は、シングルイベントアップセット（ＳＥＵ）と呼ばれている。
【０００３】
また、そのような高エネルギー粒子の入射による誤動作が、ある半導体素子のクロック信号入力端子やデータ入力端子に接続された外部の回路において発生し、その半導体素子に一時的に異常なクロック信号やデータ信号を送ることもある。この正常状態では流れることのない電流をシングルイベント過渡電流といい、このような現象はシングルイベントトランジェント（ＳＥＴ）と呼ばれている。このＳＥＴによってシングルイベント過渡電流が流れ込んだ半導体素子でも、それが記憶するデータが反転するような誤動作を起こすことがある。
【０００４】
上記のＳＥＵやＳＥＴのように、高エネルギー粒子の入射による半導体の誤動作をシングルイベント現象という。代表的なシングルイベント現象には、素子内部への高エネルギー粒子の入射が引き起こすＳＥＵや、素子へ異常なシングルイベント過渡電流が流れ込むことによるＳＥＴなどがある。このシングルイベント現象は、高エネルギー粒子が存在しやすい環境である、高空、宇宙空間、放射線関連施設等でしばしば観察され、そのような環境下でのコンピュータの正常な動作の阻害要因となっている。そのような高エネルギー粒子を物理的に完全に遮蔽することによってシングルイベント現象を防止することは現実的な対策ではない。従って、シングルイベント現象を効果的に防止するためには、シングルイベント現象に単体で耐性を有する構造を有するメモリ素子が必要となる。
【０００５】
これから説明するにあたり、本明細書中で使用する記号の説明を以下に示す：
ＣＫ      外部から入力される入力クロック信号；
ＣＫｉ    内部で生成されるクロック信号（入力クロック信号ＣＫと同相）；
ＣＫＢ    外部から入力される入力反転クロック信号；
ＣＫＢｉ  内部で生成される反転クロック信号（入力反転クロック信号ＣＫＢと同相）；
Ｄ        外部から入力される入力データ信号；
Ｇ        外部から入力される入力クロック信号；
Ｇｉ      内部で生成されるクロック信号（入力クロック信号Ｇと同相）
ＧＢｉ    内部で生成される反転クロック信号；
ＭＯ      フリップフロップ回路の内部においてマスタからスレーブへと出力される中間出力信号；
Ｑ        外部へ出力する出力データ信号；
ＱＢ      外部へ出力する反転出力データ信号；
ＸＱ      外部へ出力する反転出力データ信号；
ＶDD      第１の電圧源からの電源電圧；及び
ＶSS      第２の電圧源からの電源電圧（０Ｖ）。
なおクロック信号は、それを反転させた反転クロック信号と対にして使用されることが多い。そのような正相と逆相のクロック信号の対を「相補クロック信号」と呼ぶことにする。クロック信号を表わす記号が、逆相を表わす「Ｂ」の接尾辞の有無だけの違いしかない２つのクロック信号が、相補クロック信号である。
【０００６】
［従来のデータラッチ回路］
これから従来のデータラッチ回路の構成及び動作について説明する。図２は、従来のデータラッチ回路１の回路図であり、図１は、従来のデータラッチ回路１のためのクロック生成回路１Ｃ１の回路図である。クロック生成回路１Ｃ１は、入力を反転させるインバータ１Ｉ１から構成される。クロック生成回路１Ｃ１は、クロック信号として外部から入力される入力クロック信号Ｇから、それと極性が反対の反転クロック信号ＧＢｉを生成する動作を行う。生成された反転クロック信号ＧＢｉは、入力クロック信号Ｇとともにデータラッチ回路１に供給される。インバータ１Ｉ１は、ソース又はドレインのラインに関して直列に、第１の電圧源側（ＶDD）に接続されたノードから第２の電圧源側（ＶSS）に接続されたノードに向かって、ｐチャネルＭＯＳトランジスタ１Ｐ１及びｎチャネルＭＯＳトランジスタ１Ｎ１がその順番に接続された構成を有する。
【０００７】
図２は、従来のデータラッチ回路１の回路図である。クロックドインバータ１Ｉ３及びインバータ１Ｉ４は記憶ノードを構成する。入力データ信号Ｄが、クロックドインバータ１Ｉ２を通じて入力される。入力された入力データ信号Ｄは、記憶ノードに接続される。
記憶ノードの出力すなわちデータラッチ回路１の出力として、クロックドインバータ１Ｉ３の出力がインバータ１Ｉ５からなるバッファ回路を通じて出力データ信号Ｑとして出力され、インバータ１Ｉ４の出力がインバータ１Ｉ６からなるバッファ回路を通じて反転出力データ信号ＸＱとして出力される。
【０００８】
図１のクロック生成回路１Ｃ１は、データラッチ回路１に入力される反転クロック信号ＧＢｉを生成するために、組み合わせて使用される。データラッチ回路１において、クロック信号Ｇがローレベルのときは、出力データ信号Ｑには、入力データ信号Ｄと同じ論理レベルが出力される（スルーモード、トランスペアレントモード）。クロック信号Ｇの立ち上がり時に、入力データ信号Ｄが入力段のクロックドインバータ１Ｉ２から取り込まれてラッチされ、入力クロック信号Ｇがハイレベルの間、保持される（ラッチモード）。ラッチされたデータの保持は、出力と入力とが交差接続されたクロックドインバータ１Ｉ３とインバータ１Ｉ４とで構成される記憶ノードで行われる。バッファ回路を構成するインバータ１Ｉ５及びインバータ１Ｉ６とから、それぞれ出力データ信号Ｑ及び反転出力データ信号ＸＱとして出力される。
【０００９】
ここで、シングルイベント現象について考察する。例えばラッチモード時に、記憶ノードを構成するクロックドインバータ１Ｉ３及びインバータ１Ｉ４の中のいずれかのオフのトランジスタが高エネルギー粒子の入射によりオンとなったとする。これにより、そのトランジスタを含むインバータの出力が反対の論理側にレベルシフトし、その論理値の変化が他方のインバータに入力されて当該インバータの出力を反転させると、記憶ノードの論理値が反転してＳＥＵが発生する。
【００１０】
また、ラッチモードにおいては、入力段のクロックドインバータ１Ｉ２はオフであって入力データ信号Ｄを後段に伝達しないようにしており、記憶ノードのクロックドインバータ１Ｉ３はオンであって、論理状態を記憶・保持している。しかし、オフである入力段のクロックドインバータ１Ｉ２をオンにするようなＳＥＴによる電圧変化が上流から入力されたときは、入力データ信号Ｄが（反転されて）後段に出力されてしまい、かつ、記憶ノードのクロックドインバータ１Ｉ３はオフとなって論理状態の反転を許すようになる。このときに、入力データ信号Ｄが、記憶ノードで記憶されていた論理状態と相反する論理レベルであれば記憶データは反転することになり、シングルイベント現象が発生する。このように、従来のデータラッチ回路は、シングルイベント現象に対して非常に脆弱である。
【００１１】
［従来のフリップフロップ回路］
次に従来のフリップフロップ回路の構成及び動作について説明する。図４は、従来のフリップフロップ回路２の回路図であり、図３は、従来のフリップフロップ回路２のためのクロック生成回路２Ｃ１の回路図である。このフリップフロップ回路２は、マスタスレーブ型Ｄフリップフロップである。クロックドインバータ２Ｉ４及びインバータ２Ｉ５は前段の記憶ノードを構成し、クロックドインバータ２Ｉ６及びインバータ２Ｉ７は後段の記憶ノードを構成する。入力データ信号Ｄが、バッファ回路として機能するインバータ２Ｉ３を通じて入力される。入力された入力データ信号Ｄは、トランスミッションゲート２Ｓ１を通じて前段の記憶ノードに接続される。前段の記憶ノードの出力は、トランスミッションゲート２Ｓ２を通じて後段の記憶ノードに接続される。後段の記憶ノードの出力すなわちフリップフロップ回路２の出力として、クロックドインバータ２Ｉ６の出力がインバータ２Ｉ８及びインバータ２Ｉ９からなるバッファ回路を通じて反転出力データ信号ＸＱとして出力され、インバータ２Ｉ７の出力がインバータ２Ｉ１０及びインバータ２Ｉ１１からなるバッファ回路を通じて出力データ信号Ｑとして出力される。
【００１２】
図３のクロック生成回路２Ｃ１は、フリップフロップ回路２に入力されるクロック信号ＣＫｉ及び反転クロック信号ＣＫＢｉを生成するために、組み合わせて使用される。フリップフロップ回路２において、入力クロック信号ＣＫがローレベルのときには、クロック信号ＣＫｉはローレベル、反転クロック信号ＣＫＢｉはハイレベルとなり、入力データ信号Ｄは、オンであるトランスミッションゲート２Ｓ１を通じて取り込まれる。しかしこのとき、トランスミッションゲート２Ｓ２はオフであり、そこから後段には入力データ信号Ｄは伝達されない。ここで、入力クロック信号ＣＫがローレベルからハイレベルに変化すると、トランスミッションゲート２Ｓ１はオフとなって、入力データ信号Ｄはフリップフロップ回路２には取り込まれなくなる。しかし、クロック信号ＣＫｉがハイレベルに変化する直前の論理状態が、クロックドインバータ２Ｉ４及びインバータ２Ｉ５からなる記憶ノード（マスタ）に記憶され、それがオンとなったトランスミッションゲート２Ｓ２を通じて後段の記憶ノード（スレーブ）に伝達される。ただし後段のスレーブは、クロックドインバータ２Ｉ６がオフであるため、その記憶ノード内で論理レベルを記憶・保持していない。こうして、前段のマスタから伝達された出力は、インバータ２Ｉ８及びインバータ２Ｉ９からなるバッファ回路を通じて反転出力データ信号ＸＱとして出力される。そして、前段のマスタから伝達された出力は、インバータ２Ｉ７で反転され、インバータ２Ｉ１０及びインバータ２Ｉ１１からなるバッファ回路を通じて出力データ信号Ｑとして出力される。さらに、入力クロック信号ＣＫがハイレベルからローレベルに変化すると、トランスミッションゲート２Ｓ２はオフとなって、前段のマスタの出力は後段のスレーブに伝達されなくなる。これとともに、後段のスレーブのクロックドインバータ２Ｉ６がオンとなるため、後段のスレーブは直前の論理レベルを記憶・保持する。従って、出力データ信号Ｑ及び反転出力データ信号ＸＱとも、クロック信号ＣＫｉがローレベルに変化する直前の論理レベルを出力し続ける。
【００１３】
ここで、シングルイベント現象について考察する。例えば入力クロック信号ＣＫがローレベルで、フリップフロップ回路２の後段のスレーブが論理レベルを保持しているときに、その記憶ノードを構成するクロックドインバータ２Ｉ６及びインバータ２Ｉ７の中のオフであるいずれかのトランジスタが高エネルギー粒子の入射によりオンとなったとする。
これにより、そのトランジスタを含むインバータの出力が反対の論理側にレベルシフトし、その論理値の変化が他方のインバータに入力されて当該インバータの出力を反転させると、記憶ノードの論理値が反転してＳＥＵが発生する。
【００１４】
また、入力クロック信号ＣＫがハイレベルの状態においては、トランスミッションゲート２Ｓ１はオフであって入力データ信号Ｄは前段のマスタへ伝達・入力されないようになっており、前段のマスタのクロックドインバータ２Ｉ４はオンであって、論理状態を記憶・保持している。しかし、オフであるトランスミッションゲート２Ｓ１をオンにするようなＳＥＴによる電圧変化が上流から入力されたときは、入力データ信号Ｄが（反転されて）入力されてしまい、かつ、マスタのクロックドインバータ２Ｉ４はオフとなって論理状態の反転を許すようになる。このときに、入力データ信号Ｄが、記憶ノードで記憶されていた論理状態と相反する論理レベルであれば記憶データは反転することになり、シングルイベント現象が発生する。このように、従来のフリップフロップ回路は、シングルイベント現象に対して非常に脆弱である。
【００１５】
［従来のシングルイベント耐性素子］
シングルイベント現象に耐性のある構造を有するインバータやメモリ素子としては、以下のようなものがあった（例えば、特許文献１参照。）。図６は、従来のシングルイベント耐性を有するデータラッチ回路３の回路図である。このデータラッチ回路３は、ＤＩＣＥ（Dual Interlocked Storage Cell）回路とも称される。図５は、従来のデータラッチ回路３のためのクロック生成回路３Ｃ１の回路図である。これから図６を参照して、データラッチ回路３の構成を説明する。
【００１６】
データラッチ回路３は、大きく、第１の入力（Ｄ）を受け取るための第１のデュアルポートインバータであって、第１の入力は第１のデュアルポートインバータに第１の組の通過ゲート（３Ｓ１及び３Ｓ３）を介して結合した第１のデュアルポートインバータ（３ＩＰ１）と、第１のデュアルポートインバータ（３ＩＰ１）に第２の組の通過ゲート（３Ｓ２及び３Ｓ４）を介して結合した第２のデュアルポートインバータ（３ＩＰ２）と、第１のデュアルポートインバータ（３ＩＰ１）と第２のデュアルポートインバータ（３ＩＰ２）に接続した出力と、を有するシングルイベントアップセット耐性ラッチ回路である。ここで、第１のデュアルポートインバータ（３ＩＰ１）と第２のデュアルポートインバータ（３ＩＰ２）との結合は、第２のデュアルポートインバータ（３ＩＰ２）の出力が第２の組の通過ゲート（３Ｓ２及び３Ｓ４）を介して第１のデュアルポートインバータ（３ＩＰ１）に結合するものである。
【００１７】
第１のデュアルポートインバータ（３ＩＰ１）は、以下のような構成である。第１のデュアルポートインバータ（３ＩＰ１）は第１のインバータ（３Ｉ４）及び第２のインバータ（３Ｉ６）を含む。また、第１のインバータ（３Ｉ４）は第２のトランジスタ（３Ｎ６）に直列に接続された第１のトランジスタ（３Ｐ６）を含み、第２のインバータ（３Ｉ６）は第４のトランジスタ（３Ｎ１０）に直列に接続された第３のトランジスタ（３Ｐ１０）を含む。またさらに、第１のトランジスタのゲート（３Ｐ６）は、第４のトランジスタ（３Ｎ１０）のゲートに接続されて第１のインバータの入力を提供し、第２のトランジスタ（３Ｎ６）のゲートは、第３のトランジスタ（３Ｐ１０）のゲートに接続されて第２のインバータの入力を提供する。またさらに、第１（３Ｐ６）及び第２（３Ｎ６）のトランジスタは、第１のインバータ出力を提供し、第３（３Ｐ１０）及び第４（３Ｎ１０）のトランジスタは、第２のインバータ出力を提供する。またさらに、第１（３Ｉ４）及び第２（３Ｉ６）のインバータの入力は同じ入力を受け取り、有効な出力を第１のインバータ出力又は第２のインバータ出力に提供する。ここでは、第１のインバータ出力として反転出力ＱＢがインバータ３Ｉ４の出力に接続されている。またさらに、第１（３Ｐ６）及び第３（３Ｐ１０）のトランジスタはｐチャネルトランジスタで、第２（３Ｎ６）及び第４（３Ｎ１０）のトランジスタはｎチャネルトランジスタである。
【００１８】
第２のデュアルポートインバータ（３ＩＰ２）は、以下のような構成である。第２のデュアルポートインバータ（３ＩＰ２）は第１のインバータ（３Ｉ３）及び第２のインバータ（３Ｉ５）を含む。また、第１のインバータ（３Ｉ３）は第２のトランジスタ（３Ｎ３）に直列に接続された第１（３Ｐ３）のトランジスタを含み、第２のインバータ（３Ｉ５）は第４のトランジスタ（３Ｎ７）に直列に接続された第３のトランジスタ（３Ｐ７）を含む。またさらに、第１のトランジスタ（３Ｐ３）のゲートは第４のトランジスタ（３Ｎ７）のゲートに接続されて第１のインバータの入力を提供し、第２のトランジスタ（３Ｎ３）のゲートは第３のトランジスタ（３Ｐ７）のゲートに接続されて第２のインバータの入力を提供する。またさらに、第１（３Ｐ３）及び第２（３Ｎ３）のトランジスタは第１のインバータ出力を提供し、第３（３Ｐ７）及び第４（３Ｎ７）のトランジスタは第２のインバータ出力を提供する。またさらに、第１（３Ｉ３）及び第２（３Ｉ５）のインバータの入力は同じ入力を受け取り第１のインバータ出力又は第２のインバータ出力に有効な出力を提供する。またさらに、第１（３Ｐ３）及び第３（３Ｐ７）のトランジスタはｐチャネルトランジスタで、第２（３Ｎ３）及び第４（３Ｎ７）のトランジスタはｎチャネルトランジスタである。
【００１９】
データラッチ回路３は、以下のような動作によって、シングルイベント現象をある程度抑制する。まず、入力クロック信号ＣＫがローレベル、反転クロック信号ＣＫＢｉがハイレベルであって、データラッチ回路３がラッチモードであるとする。ここで、ラッチモードに移行する直前の入力データ信号Ｄがローレベルであり、それがラッチされているものとする。この状態では、第１のデュアルポートインバータ３ＩＰ１（インバータ３Ｉ４、インバータ３Ｉ６）の入力がローレベルであり、出力がハイレベルである。そして、第２のデュアルポートインバータ３ＩＰ２（インバータ３Ｉ３、インバータ３Ｉ５）の入力がハイレベルであり、出力がローレベルである。シングルイベント現象は、オフのトランジスタがオンになることによって発生する。ここで、オフであるトランジスタ３Ｎ６にシングルイベント現象が発生し、オンになったとする。これにより、ハイレベルであったインバータ３Ｉ４の出力が一時的にローレベルになったとする。以下同様に、両方のトランジスタが一時的にオンになったインバータは、出力の論理レベルが反転するものとする。このインバータ３Ｉ４からのローレベルの出力は、インバータ３Ｉ３（それに含まれるトランジスタ３Ｎ３）とインバータ３Ｉ５（それに含まれるトランジスタ３Ｐ７）に入力される。インバータ３Ｉ３については、トランジスタ３Ｎ３は、オンであったのがオフになるため、インバータ３Ｉ３のトランジスタすべてがオフになる。従って、インバータ３Ｉ３の出力は時間の経過と共にハイインピーダンスとなるものの、ある程度は直前の論理レベルが保持されて、論理レベルは反転しない。従って、インバータ３Ｉ３は、その後段にシングルイベント現象の影響を伝達せずにブロックする。一方、インバータ３Ｉ５については、トランジスタ３Ｐ７は、オフであったのがオンになるため、インバータ３Ｉ５の出力は反転してハイレベルとなる。
【００２０】
このインバータ３Ｉ５からのハイレベルの出力は、トランスミッションゲート３Ｓ４を通過して、インバータ３Ｉ６（それに含まれるトランジスタ３Ｐ１０）とインバータ３Ｉ４（それに含まれるトランジスタ３Ｎ６）に入力される。インバータ３Ｉ６については、トランジスタ３Ｐ１０は、オンであったのがオフになるため、インバータ３Ｉ６のトランジスタすべてがオフになる。従って、インバータ３Ｉ６の出力は時間の経過と共にハイインピーダンスとなるものの、ある程度は直前の論理レベルが保持されて、論理レベルは反転しない。従って、インバータ３Ｉ６は、その後段にシングルイベント現象の影響を伝達せずにブロックする。一方、インバータ３Ｉ４については、トランジスタ３Ｎ６への入力はローレベルからハイレベルに反転するため、これはトランジスタ３Ｎ６をオンにしようとし、当初仮定したシングルイベント現象を補強する方向に働く。しかし、前述のインバータ３Ｉ３及びインバータ３Ｉ６のように、それを構成する両方のトランジスタがオフとなって出力がハイインピーダンスとなり、後段の論理レベルに影響を伝達しないインバータが存在し、その後段での論理レベルは保持されるため、シングルイベント現象の状態が終了すると、元の状態に復帰することになる。このように、トランジスタのいずれか１個が上記のように誤動作しても、データラッチ回路３全体としては、シングルイベント現象が発生しにくいことになる。
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかし、実験によると、上記の従来のデータラッチ回路３のシングルイベント耐性は必ずしも十分ではないことが明らかになってきた。例えば、高エネルギー粒子の入射によって２つ以上のトランジスタが同時に誤動作した場合には、記憶ノードの論理状態が反転したことがあった。また、上流からのクロック信号がＳＥＴにより反転した場合には、ラッチモードであったデータラッチ回路３が一時的にスルーモードになって入力データ信号を取り込み、それによって記憶していたデータが反転したことがあった。このように、シングルイベント対策を施したデータラッチ回路３においても、シングルイベント現象によって出力が反転する場合が観察された。シングルイベント現象は極めて有害な現象であるため、それに対する耐性はより高い方が望ましい。従って、さらに高いシングルイベント耐性を有するメモリ素子、データラッチ回路などの半導体素子が望まれていた。
【００２２】
【特許文献１】米国特許第６３２７１７６号明細書
【課題を解決するための手段】
【００２３】
本発明は、上記の課題に鑑みてなされたものであり、より高いシングルイベント耐性を有するラッチ回路、フリップフロップ回路を提供するものである。その課題は、以下のような特徴を有する本発明によって解決される。すなわち第１の観点に従う本発明は、デュアルポートインバータと、トランスミッションゲートを含まないデュアルポートクロックドインバータとからなるシングルイベント耐性ラッチ回路、すなわち、１組の入力を受け取るための２入力と、２出力を有するデュアルポートインバータであって、当該１組の入力は当該デュアルポートインバータにそれぞれ第１のトランスミッションゲート（６Ｓ１）及び第２のトランスミッションゲート（６Ｓ２）を介して結合したようなデュアルポートインバータ（６ＩＰ１）と、デュアルポートインバータ（６ＩＰ１）の２出力に２入力で結合した、２出力を有するデュアルポートクロックドインバータ（６ＩＰ２）と、デュアルポートインバータ（６ＩＰ１）の２出力及びデュアルポートクロックドインバータ（６ＩＰ２）の２出力の少なくとも１つに接続した出力と、を有することを特徴とするシングルイベント耐性ラッチ回路である。
【００２４】
より具体的には、デュアルポートインバータは２つのインバータから構成される。さらに具体的には、インバータはｐチャネルトランジスタとｎチャネルトランジスタとから構成される。またさらに具体的には、第１及び第３のトランジスタ（６Ｐ１６，６Ｐ２０）はｐチャネルトランジスタで、第２及び第４のトランジスタ（６Ｎ１６，６Ｎ２０）はｎチャネルトランジスタである。またさらに具体的には、２つのインバータが２つの入力を提供する。またさらに具体的には、２つのインバータが２つの出力を提供する。またさらに具体的には、２つのインバータ入力は同じ入力を受け取る。またさらに具体的には、入力段に並列インバータが追加される。またさらに具体的には、デュアルポートクロックドインバータは２つのクロックドインバータから構成される。またさらに具体的には、クロックドインバータは２つのｐチャネルトランジスタと２つのｎチャネルトランジスタとから構成される。またさらに具体的には、第５（６Ｐ１３）、第６（６Ｐ１４）、第９（６Ｐ１７）、及び第１０（６Ｐ１８）のトランジスタはｐチャネルトランジスタで、第７（６Ｎ１３）、第８（６Ｎ１４）、第１１（６Ｎ１７）、及び第１２（６Ｎ１８）のトランジスタはｎチャネルトランジスタである。またさらに具体的には、２つのクロックドインバータが２つの入力を提供し、所定の相補クロック信号が入力される。またさらに具体的には、２つのクロックドインバータが２つの出力を提供する。またさらに具体的には、２つのインバータ入力は同じ入力を受け取る。またさらに具体的には、一方の記憶ノードへは、その記憶ノード及び全体のラッチモードからスルーモードへの移行タイミングが遅延させられるような前縁エッジ遅延クロックが入力される。またさらに具体的には、当該一方の記憶ノードへ入力される前縁エッジ遅延クロックは、通常のクロックと全体が遅延させられたクロックとを所定の論理回路で演算することによって生成される。またさらに具体的には、遅延時間は、０．５ナノ秒以上であり、かつ、相補クロック信号の１周期の１／２未満である。またさらに具体的には、トランジスタの対角線距離は、その対角線距離が最小となるようなレイアウトにおける対角線距離より大きい所定の離隔距離である。またさらに具体的には、所定の離隔距離は、２．０マイクロメートル以上である。
【００２５】
第２の観点に従う本発明は、２つのデュアルポートインバータと、２つのトランスミッションゲートを含まないデュアルポートクロックドインバータとからなるシングルイベント耐性フリップフロップ回路、すなわち、第１の組の入力を受け取るための２入力と、２出力とを有するデュアルポートインバータであって、当該第１の組の入力は当該デュアルポートインバータに第１のトランスミッションゲート（７Ｓ１）及び第２のトランスミッションゲート（７Ｓ２）を介して結合したような第１のデュアルポートインバータ（７ＩＰ１）と、第１のデュアルポートインバータ（７ＩＰ１）の２出力に２入力で結合した、２出力を有する第１のデュアルポートクロックドインバータ（７ＩＰ２）と、第２の組の入力を受け取るための２入力と、２出力を有するデュアルポートインバータであって、当該第２の組の入力は当該デュアルポートインバータに第３のトランスミッションゲート（７Ｓ３）及び第４のトランスミッションゲート（７Ｓ４）を介して結合したような第２のデュアルポートインバータ（７ＩＰ３）と、第２のデュアルポートインバータ（７ＩＰ３）の２出力に２入力で結合した、２出力を有する第２のデュアルポートクロックドインバータ（７ＩＰ４）と、第２のデュアルポートインバータ（７ＩＰ３）の２出力及び第２のデュアルポートクロックドインバータ（７ＩＰ４）の２出力の少なくとも１つに接続した出力と、を有し、第２のデュアルポートインバータ（７ＩＰ３）の２入力に第３のトランスミッションゲート（７Ｓ３）及び第４のトランスミッションゲート（７Ｓ４）を介して結合した第２の組の入力は、第１のデュアルポートクロックドインバータ（７ＩＰ２）の２出力のいずれかに結合していることを特徴とするシングルイベント耐性フリップフロップ回路である。
【００２６】
より具体的には、デュアルポートインバータは２つのインバータから構成される。さらに具体的には、インバータはｐチャネルトランジスタとｎチャネルトランジスタとから構成される。またさらに具体的には、第１（７Ｐ１７）及び第３（７Ｐ２１）のトランジスタはｐチャネルトランジスタで、第２（７Ｎ１７）及び第４（７Ｎ２１）のトランジスタはｎチャネルトランジスタであり、第５（７Ｐ２７）及び第７（７Ｐ３１）のトランジスタはｐチャネルトランジスタであり、第６（７Ｎ２７）及び第８（７Ｎ３１）のトランジスタはｎチャネルトランジスタである。またさらに具体的には、２つのインバータが２つの入力を提供する。またさらに具体的には、２つのインバータが２つの出力を提供する。
またさらに具体的には、２つのインバータ入力は同じ入力を受け取る。またさらに具体的には、入力段及び中間段に並列インバータが追加される。またさらに具体的には、デュアルポートクロックドインバータは２つのクロックドインバータから構成される。またさらに具体的には、クロックドインバータは２つのｐチャネルトランジスタと２つのｎチャネルトランジスタとから構成される。またさらに具体的には、第９（７Ｐ１４）、第１０（７Ｐ１５）、第１３（７Ｐ１８）、及び第１４（７Ｐ１９）のトランジスタはｐチャネルトランジスタで、第１１（７Ｎ１５）、第１２（７Ｎ１４）、第１５（７Ｎ１９）、及び第１６（７Ｎ１８）のトランジスタはｎチャネルトランジスタであり、第１７（７Ｐ２４）、第１８（７Ｐ２５）、第２１（７Ｐ２８）、及び第２２（７Ｐ２９）のトランジスタはｐチャネルトランジスタで、第１９（７Ｎ２５）、第２０（７Ｎ２４）、第２３（７Ｎ２９）、及び第２４（７Ｎ２８）のトランジスタはｎチャネルトランジスタである。またさらに具体的には、２つのクロックドインバータが２つの入力を提供し、所定の相補クロック信号が入力される。またさらに具体的には、２つのクロックドインバータが２つの出力を提供する。またさらに具体的には、２つのインバータ入力は同じ入力を受け取る。またさらに具体的には、マスタ側の一方の記憶ノードへは、その記憶ノード及びマスタのラッチモードからスルーモードへの移行タイミングが遅延させられるような前縁エッジ遅延クロックが入力される。またさらに具体的には、マスタ側の一方の記憶ノードへ入力される前縁エッジ遅延クロックは、通常のクロックと全体が遅延させられたクロックとを所定の論理回路で演算することによって生成される。またさらに具体的には、スレーブ側の一方の記憶ノードへは、その記憶ノード及びスレーブのスルーモードからラッチモードへの移行タイミングが前進させられるような後縁エッジ前進クロックが入力される。またさらに具体的には、後縁エッジ前進クロックは、ラッチモードからスルーモードへ移行したタイミングから前記のマスタ側の前縁エッジ遅延クロックと同じ遅延時間が経過したタイミングにおいてスルーモードからラッチモードに移行させる。またさらに具体的には、スレーブ側の一方の記憶ノードへ入力されるクロックは、通常のクロックと全体が遅延させられたクロックとを所定の論理回路で演算することによって生成される。またさらに具体的には、所定の遅延時間は、０．５ナノ秒以上であり、かつ、相補クロック信号の１周期の１／２未満である。またさらに具体的には、トランジスタの対角線距離は、その対角線距離が最小となるようなレイアウトにおける対角線距離より大きい所定の離隔距離である。
またさらに具体的には、所定の離隔距離は、２．０マイクロメートル以上である。
【００２７】
上記において、インバータ、クロックドインバータ、デュアルポートインバータ、デュアルポートクロックドインバータ、及びトランジスタなどの各構成要素を表わす用語は、その具体的形態や具体的呼称を限定するものではなく、その用語の構成要素が一般的に有する機能を備えたものを表わすためのものである。また、１つの構成要素が有する機能が２つ以上の構成要素によって実現されてもよく、２つ以上の構成要素が有する機能が１つの構成要素によって実現されてもよい。
【発明の効果】
【００２８】
本発明によれば、ラッチ回路をデュアルポートインバータと、トランスミッションゲートを含まないデュアルポートクロックドインバータとからなる構成としたため、形成される強電界領域が、トランスミッションゲートを含む従来のラッチ回路に比べて狭くなり、シングルイベント現象が発生しにくくなるという効果が得られる。さらに本発明によれば、一方の記憶ノードへは、その記憶ノード及び全体のラッチモードからスルーモードへの移行が遅延させられるような前縁エッジ遅延クロックが入力される構成としたため、ＳＥＴ現象が発生してもそれの回路への影響を排除することができるとともに、ホールド時間がクロックに設けた遅延時間によりさらに増加させられることを防止することができるという効果が得られる。
【００２９】
また他の観点に従う本発明によれば、フリップフロップ回路を２つのデュアルポートインバータと、２つのトランスミッションゲートを含まないデュアルポートクロックドインバータとからなる構成としたため、形成される強電界領域が、トランスミッションゲートを含む従来のフリップフロップ回路に比べて狭くなり、シングルイベント現象が発生しにくくなるという効果が得られる。さらに本発明によれば、マスタ側の一方の記憶ノードへは、その記憶ノード及びマスタのラッチモードからスルーモードへの移行タイミングが遅延させられるような前縁エッジ遅延クロックが入力され、スレーブ側の一方の記憶ノードへは、その記憶ノード及びスレーブのスルーモードからラッチモードへの移行が前進させられるような後縁エッジ前進クロックが入力される構成としたため、ＳＥＴ現象が発生してもそれの回路への影響を排除することができるとともに、マスタ側とスレーブ側とで２種類のクロック信号を異なるタイミングとしても、伝搬遅延時間がさらに増加させられることを防止することができるという効果が得られる。
【発明を実施するための最良の形態】
【００３０】
［デュアルポートインバータの構成］
これから回路図（図７〜図１６）を参照して、本発明の説明を行う。まず、本発明の回路に含まれる回路単位である、デュアルポートインバータ４とデュアルポートクロックドインバータ５の説明を行う。図７は、デュアルポートインバータ４の構成を表わす回路図である。デュアルポートインバータ４は、第１のインバータ（４Ｉ１）及び第２のインバータ（４Ｉ２）を含む。第１のインバータ（４Ｉ１）は第２のトランジスタ（４Ｎ１）に直列に接続された第１のトランジスタ（４Ｐ１）を含み、第２のインバータ（４Ｉ２）は第４のトランジスタ（４Ｎ２）に直列に接続された第３のトランジスタ（４Ｐ２）を含む。第１のトランジスタ（４Ｐ１）のゲートは、第４のトランジスタ（４Ｎ２）のゲートに接続されて第１のインバータ入力ＩＮ１を提供し、第２のトランジスタ（４Ｎ１）のゲートは、第３のトランジスタ（４Ｐ２）のゲートに接続されて第２のインバータ入力ＩＮ２を提供する。第１及び第２のトランジスタ（４Ｐ１，４Ｎ１）は、第１のインバータ出力ＯＵＴ１を提供し、第３及び第４のトランジスタ（４Ｐ２，４Ｎ２）は、第２のインバータ出力ＯＵＴ２を提供する。第１のインバータ入力ＩＮ１及び第２のインバータ入力ＩＮ２は同じ入力を受け取り、有効な出力を第１のインバータ出力ＯＵＴ１又は第２のインバータ出力ＯＵＴ２に提供する。第１及び第３のトランジスタ（４Ｐ１，４Ｐ２）はｐチャネルトランジスタで、第２及び第４のトランジスタ（４Ｎ１，４Ｎ２）はｎチャネルトランジスタである。
【００３１】
次に、デュアルポートインバータ４の動作について説明する。表１はデュアルポートインバータ４の論理動作を表わす表である。表１から分かるように、第１のインバータ入力ＩＮ１と第２のインバータ入力ＩＮ２の論理レベルが同じときは、それを反転させた論理レベルが第１のインバータ出力ＯＵＴ１と第２のインバータ出力ＯＵＴ２から出力される。ここで、デュアルポートインバータ４の前段でＳＥＴが発生したために、それぞれ異なる論理レベルが第１のインバータ入力ＩＮ１と第２のインバータ入力ＩＮ２に入力された場合について考えると、表１に示すように、第１のインバータ出力ＯＵＴ１及び第２のインバータ出力ＯＵＴ２の一方がハイインピーダンスとなり、他方が不確定となる。出力がハイインピーダンスの場合、それを出力したインバータを構成するトランジスタは両方ともオフであり、出力が不確定の場合、それを出力したインバータを構成するトランジスタは両方ともオンである。この場合において、いずれか一方の出力は、必ずハイインピーダンスとなる。出力がハイインピーダンスの場合、そこに接続されたラインの論理レベルはある程度は保持されるため、ＳＥＴによって第１のインバータ入力ＩＮ１と第２のインバータ入力ＩＮ２の論理レベルがそれぞれ異なる状態になっても、ＳＥＴの影響は、出力がハイインピーダンスの後段のラインには伝達されず、ブロックされることになる。
【表１】
0005339282.tif 000002
【００３２】
［デュアルポートクロックドインバータの構成］
図８は、デュアルポートクロックドインバータ５の構成を表わす回路図である。デュアルポートクロックドインバータ５は第１のクロックドインバータ（５Ｉ１）及び第２のクロックドインバータ（５Ｉ２）を含む。第１のクロックドインバータ（５Ｉ１）は第１、第２、第３、及び第４のその順番に直列に接続されたトランジスタ（５Ｐ１，５Ｐ２，５Ｎ１，５Ｎ２）を含み、第２のクロックドインバータ（５Ｉ２）は第５、第６、第７、及び第８のその順番に直列に接続されたトランジスタ（５Ｐ３，５Ｐ４，５Ｎ３，５Ｎ４）を含む。第１（５Ｐ１）又は第２（５Ｐ２）のいずれか一方のトランジスタ（ここでは５Ｐ１）のゲートは第７（５Ｎ３）又は第８（５Ｎ４）のいずれか一方のトランジスタ（ここでは第８（５Ｎ４））のゲートに接続されて第１のインバータ入力ＩＮ１を提供する。
第３（５Ｎ１）又は第４（５Ｎ２）のいずれか一方のトランジスタ（ここでは第４（５Ｎ２））のゲートは第５（５Ｐ３）又は第６（５Ｐ４）のいずれか一方のトランジスタ（ここでは第５（５Ｐ３））のゲートに接続されて第２のインバータ入力ＩＮ２を提供する。
第１（５Ｐ１）又は第２（５Ｐ２）の他方のトランジスタ（ここでは第２（５Ｐ２））のゲートと第３（５Ｎ１）又は第４（５Ｎ２）の他方のトランジスタ（ここでは第３（５Ｎ１））のゲートには、お互いに相補な論理値の相補クロック信号（ＣＫＢｉ，ＣＫｉ）が入力される。第５（５Ｐ３）又は第６（５Ｐ４）の他方のトランジスタ（ここでは第６（５Ｐ４））のゲートと第７（５Ｎ３）又は第８（５Ｎ４）の他方のトランジスタ（ここでは第７（５Ｎ３））のゲートには、お互いに相補な論理値の相補クロック信号（ＣＫＢｉ，ＣＫｉ）が入力される。第１（５Ｐ１）、第２（５Ｐ２）、第３（５Ｎ１）、及び第４（５Ｎ２）のトランジスタは第１のインバータ出力を提供し、第５（５Ｐ３）、第６（５Ｐ４）、第７（５Ｎ３）、及び第８（５Ｎ４）のトランジスタのトランジスタは第２のインバータ出力を提供する。第１のインバータ入力ＩＮ１及び第２のインバータ入力ＩＮ２は同じ入力を受け取り、第１のインバータ出力ＯＵＴ１又は第２のインバータ出力ＯＵＴ２に有効な出力を提供する。第１（５Ｐ１）、第２（５Ｐ２）、第５（５Ｐ３）、及び第６（５Ｐ４）のトランジスタはｐチャネルトランジスタで、第３（５Ｎ１）、第４（５Ｎ２）、第７（５Ｎ３）、及び第８（５Ｎ４）のトランジスタはｎチャネルトランジスタである。ここで、第１のクロックドインバータ（５Ｉ１）と第２のクロックドインバータ（５Ｉ２）に入力される相補クロック信号のタイミングを異なるものとすることも可能である。
【００３３】
次に、デュアルポートクロックドインバータ５の動作について説明する。表２はデュアルポートクロックドインバータ５の論理動作を表わす表である。表２から分かるように、まず、ＣＫｉが論理レベル０のときは、第１のクロックドインバータ（５Ｉ１）及び第２のクロックドインバータ（５Ｉ２）ともオフになるため、出力は、第１のインバータ入力ＩＮ１及び第２のインバータ入力ＩＮ２の論理レベルにかかわらず、ハイインピーダンスとなる。このため、デュアルポートクロックドインバータ５は、そこへの入力を後段の出力には伝達せず、また後段の論理レベルを保持するように動作する。次にＣＫｉが論理レベル１のときは、第１のクロックドインバータ（５Ｉ１）及び第２のクロックドインバータ（５Ｉ２）ともオンになり、全体の動作としては前述のデュアルポートインバータ４と同じ動作を行うことになる。
【表２】
0005339282.tif 000003
【００３４】
［データラッチ回路６］
これから回路図（図９〜図１１）及びタイミング図（図１７）を参照して、本発明の一実施形態としてのデータラッチ回路６の構成及び動作を説明する。図１１は、本発明の第１の実施形態に係る、デュアルポートインバータ６ＩＰ１及びデュアルポートクロックドインバータ６ＩＰ２を有するデータラッチ回路６の構成を表わす回路図である。
【００３５】
［データラッチ回路６の構成］
データラッチ回路６は、デュアルポートインバータと、トランスミッションゲートを含まないデュアルポートクロックドインバータとからなる構成である。すなわちデータラッチ回路６は、１組の入力を受け取るための２入力と、２出力を有するデュアルポートインバータであって、当該１組の入力は当該デュアルポートインバータにそれぞれ第１のトランスミッションゲート（６Ｓ１）及び第２のトランスミッションゲート（６Ｓ２）を介して結合したようなデュアルポートインバータ（６ＩＰ１）と、デュアルポートインバータ（６ＩＰ１）の２出力に２入力で結合した、２出力を有するデュアルポートクロックドインバータ（６ＩＰ２）と、デュアルポートインバータ（６ＩＰ１）の２出力及びデュアルポートクロックドインバータ（６ＩＰ２）の２出力の少なくとも１つに接続した出力と、を有する。デュアルポートインバータ（６ＩＰ１）は、前記のデュアルポートインバータ４と同様の構成をしており、デュアルポートクロックドインバータ（６ＩＰ２）は、前記のデュアルポートクロックドインバータ５と同様の構成をしている。
【００３６】
デュアルポートインバータ（６ＩＰ１）は、以下のような構成である。まず、デュアルポートインバータは２つのインバータから構成される。具体的には、デュアルポートインバータ（６ＩＰ１）は、第１のインバータ（６Ｉ９）及び第２のインバータ（６Ｉ１１）を含む。また、インバータはｐチャネルトランジスタとｎチャネルトランジスタとから構成される。すなわち、第１のインバータ（６Ｉ９）は第２のトランジスタ（６Ｎ１６）に直列に接続された第１のトランジスタ（６Ｐ１６）を含み、第２のインバータ（６Ｉ１１）は第４のトランジスタ（６Ｎ２０）に直列に接続された第３のトランジスタ（６Ｐ２０）を含む。さらに、２つのインバータが２つの入力を提供する。すなわち、第１のトランジスタ（６Ｐ１６）のゲートは、第４のトランジスタ（６Ｎ２０）のゲートに接続されて第１のインバータ入力を提供し、第２のトランジスタ（６Ｎ１６）のゲートは、第３のトランジスタ（６Ｐ２０）のゲートに接続されて第２のインバータ入力を提供する。さらに、２つのインバータが２つの出力を提供する。すなわち、第１のトランジスタ（６Ｐ１６）及び第２のトランジスタ（６Ｎ１６）は、第１のインバータ出力を提供し、第３のトランジスタ（６Ｐ２０）及び第４のトランジスタ（６Ｎ２０）は、第２のインバータ出力を提供する。さらに、２つのインバータ入力は同じ入力を受け取る。すなわち、第１及び第２のインバータ入力は同じ入力を受け取り、有効な出力を第１のインバータ出力又は第２のインバータ出力に提供する。さらに、第１のトランジスタ（６Ｐ１６）及び第３のトランジスタ（６Ｐ２０）はｐチャネルトランジスタで、第２のトランジスタ（６Ｎ１６）及び第４のトランジスタ（６Ｎ２０）はｎチャネルトランジスタである。
【００３７】
デュアルポートクロックドインバータは２つのクロックドインバータから構成される。
すなわち、デュアルポートクロックドインバータ（６ＩＰ２）は第１のクロックドインバータ（６Ｉ８）及び第２のクロックドインバータ（６Ｉ１０）を含む。さらに、クロックドインバータは２つのｐチャネルトランジスタと２つのｎチャネルトランジスタとから構成される。すなわち、第１のクロックドインバータ（６Ｉ８）は第５、第６、第７、及び第８のその順番に直列に接続されたトランジスタ（６Ｐ１３，６Ｐ１４，６Ｎ１３，６Ｎ１４）を含み、第２のクロックドインバータ（６Ｉ１０）は第９、第１０、第１１、及び第１２のその順番に直列に接続されたトランジスタ（６Ｐ１７，６Ｐ１８，６Ｎ１７，６Ｎ１８）を含む。さらに、２つのクロックドインバータが２つの入力を提供し、所定の相補クロック信号が入力される。すなわち、第５（６Ｐ１３）又は第６（６Ｐ１４）のいずれか一方のトランジスタのゲートは第１１（６Ｎ１７）又は第１２（６Ｎ１８）のいずれか一方のトランジスタのゲートに接続されて第３のインバータ入力を提供し、第７（６Ｎ１３）又は第８（６Ｎ１４）のいずれか一方のトランジスタのゲートは第９（６Ｐ１７）又は第１０（６Ｐ１８）のいずれか一方のトランジスタのゲートに接続されて第４のインバータ入力を提供し、第５（６Ｐ１３）又は第６（６Ｐ１４）の他方のトランジスタのゲートと第７（６Ｎ１３）又は第８（６Ｎ１４）の他方のトランジスタのゲートには、お互いに相補な論理値の第１の相補クロック信号（ＣＫＢ１，ＣＫ１）が入力され、第９（６Ｐ１７）又は第１０（６Ｐ１８）の他方のトランジスタのゲートと第１１（６Ｎ１７）又は第１２（６Ｎ１８）の他方のトランジスタのゲートには、お互いに相補な論理値の第３の相補クロック信号（ＣＫＢ３，ＣＫ３）が入力され、第１のトランスミッションゲート（６Ｓ１）は、それに含まれるｐチャネルトランジスタ（６Ｐ１５）とｎチャネルトランジスタ（６Ｎ１５）のそれぞれのゲートに第１のクロックドインバータ（６Ｉ８）と相反するオンオフ動作をする極性で第１の相補クロック信号が入力され、及び第２のトランスミッションゲート（６Ｓ２）は、それに含まれるｐチャネルトランジスタ（６Ｐ１９）とｎチャネルトランジスタ（６Ｎ１９）のそれぞれのゲートに第２のクロックドインバータ（６Ｉ１０）と相反するオンオフ動作をする極性で第３の相補クロック信号が入力される。ここで、クロック信号ＣＫ１及び反転クロック信号ＣＫＢ１が入力されるノードを第１記憶ノードと呼び、クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３が入力されるノードを第２記憶ノードと呼ぶ。さらに、２つのクロックドインバータが２つの出力を提供する。すなわち、第５（６Ｐ１３）、第６（６Ｐ１４）、第７（６Ｎ１３）、及び第８（６Ｎ１４）のトランジスタは第３のインバータ出力を提供し、第９（６Ｐ１７）、第１０（６Ｐ１８）、第１１（６Ｎ１７）、及び第１２（６Ｎ１８）のトランジスタのトランジスタは第４のインバータ出力を提供する。さらに、２つのインバータ入力は同じ入力を受け取る。すなわち、第３及び第４のインバータ入力は同じ入力を受け取り、第３のインバータ出力又は第４のインバータ出力に有効な出力を提供する。さらに、第５（６Ｐ１３）、第６（６Ｐ１４）、第９（６Ｐ１７）、及び第１０（６Ｐ１８）のトランジスタはｐチャネルトランジスタで、第７（６Ｎ１３）、第８（６Ｎ１４）、第１１（６Ｎ１７）、及び第１２（６Ｎ１８）のトランジスタはｎチャネルトランジスタである。このような構成にすることによって、それぞれのインバータが二重化されるため、シングルイベント現象による誤作動を抑えることができる。デュアルポートインバータとトランスミッションゲートの組み合わせでも、デュアルポートクロックドインバータと論理的に同じ動作を行わせることができるが、そのような（デュアルポート）インバータとトランスミッションゲートとの組み合わせによる回路構造では、トランスミッションゲートのトランジスタがオンの場合でも、ソース／ドレインの電圧レベルによっては強電界領域が広く形成され、それがシングルイベント現象の発生原因となり得るという欠点があった。本発明のように、それらに代えてクロックドインバータを使用すると、形成される強電界領域が、トランスミッションゲートに比べて狭くなるため、シングルイベント現象が発生しにくくなるという効果が得られる。
【００３８】
データラッチ回路６は、入力段に並列インバータが追加されると好適である。すなわち好適には、データラッチ回路６は、第３のインバータ（６Ｉ６）と、第３のインバータと入力がお互いに接続された第４のインバータ（６Ｉ７）と、をさらに有し、第３のインバータ（６Ｉ６）の出力は、第１のトランスミッションゲート（６Ｓ１）を介して第１のインバータ入力に接続され、及び第４のインバータ（６Ｉ７）の出力は、第２のトランスミッションゲート（６Ｓ２）を介して第２のインバータ入力に接続される。このような構成にすることによって、入力データ信号Ｄを別々のインバータを経由させて、第１のトランスミッションゲート（６Ｓ１）を通じて第１のインバータ（６Ｉ９）へ、及び第２のトランスミッションゲート（６Ｓ２）を通じて第２のインバータ（６Ｉ１１）へ接続することができる。インバータにおいては、出力側から入力側へは信号が伝達されないため、一方のインバータの下流で発生した誤作動が、他方のインバータの下流に影響を及ぼすことがない。これによって、デュアルポートインバータ（６ＩＰ１）の２つのインバータ６Ｉ９と６Ｉ１１とが完全に分離されるため、それらの上流のノードを介した相互の影響を排除することができ、より良好なシングルイベント耐性を得ることができる。
【００３９】
ここで一般に、半導体論理回路に含まれるトランジスタなどの素子は、小型化、高速化の観点から高密度に配置することが望ましいとされている。そして、α線ソフトエラーに代表される従来問題とされていた誤動作は、その原因となる粒子のエネルギーが小さく、誤動作の原因となる電荷が発生する電離領域は非常に狭いものであり、例えば最新の９０ｎｍプロセスの半導体であっても、１つのα線粒子が隣接したトランジスタを同時に誤動作させることはない。これは以下のような理由による。荷電粒子が物質にどれだけの電荷的な影響を与えるかという指標としては線エネルギー付与（ＬＥＴ，  Ｌｉｎｅａｒ  Ｅｎｅｒｇｙ  Ｔｒａｎｓｆｅｒ）や電離領域の半径などが一般的に使用される。線エネルギー付与とは、エネルギーをもった粒子あるいは荷電した粒子が物質中を通過する際、飛跡に沿って単位長さ当りに失うエネルギーのことであり、この失われたエネルギーがその物質を構成する原子に移動して電離を生じさせることになる。それによって粒子の飛跡を中心とした円柱状の電離領域が生じるが、この電離領域の半径が電気的な影響の及ぶ範囲である。そしてこの電離領域は、それを通過する粒子線の線エネルギー付与が同じ場合、物質の種類が同じでさらに不純物濃度が同じであれば同じ半径となる。具体的には、α線が被照射物に与える単位エネルギーである線エネルギー付与の最大値は０．６ＭｅＶ／（ｍｇ／ｃｍ2）くらいであり、α線が物質内に発生させる円柱状の電離領域は、シリコンにおいては半径が数十ｎｍ程度のごく狭いものである。このため、そのような電離領域の半径では、９０ｎｍプロセスの半導体であっても隣接したトランジスタが同時に誤動作することはない。
本件発明の課題は宇宙空間などにおける高エネルギー粒子線によるシングルイベント耐性を向上させるものであるところ、誤動作の原因として一番問題となる粒子は鉄イオンなどの重イオン粒子である。ここに、鉄イオン粒子線の線エネルギー付与の最大値は３２ＭｅＶ／（ｍｇ／ｃｍ2）程度でα線の５０倍以上もあり、電離領域の半径もシリコンにおいては１μｍ（１０００ｎｍ）程度の非常に大きなものである。また、鉄イオン粒子線が半導体に対して斜めに入射したときには、線エネルギー付与の最大値は４０ＭｅＶ／（ｍｇ／ｃｍ2）程度にもなる。従って、通常のプロセスの半導体では、１つの鉄イオン粒子線によって発生させられた電離領域の中に複数のＭＯＳトランジスタが含まれてしまうことになるため、単にトランジスタを二重化しただけでは、それに含まれる両方のＭＯＳトランジスタが簡単に同時に誤動作してしまうことになる。このような理由より、データラッチ回路６は、トランジスタが離間されて配置されると好適である。すなわち好適には、データラッチ回路６においては、出力が入力に直接的に接続されているインバータとクロックドインバータの組のそれぞれにおいて、当該インバータに含まれるｐチャネル及びｎチャネルトランジスタと、前記のクロックドインバータに含まれるそれぞれｎチャネル及びｐチャネルトランジスタとの間の対角線距離は、その対角線距離が最小となるようなレイアウトにおける対角線距離より大きい所定の離隔距離とされる。このような隣り合った導電型が異なるトランジスタの組み合わせは、定常状態においてはオンオフの状態が一致するものであるため、両方がオフ状態のときには両方とも同時に誤動作し得るからである。このような構成にすると、同時にＳＥＴが発生するとデータラッチ回路６の論理状態が反転してしまうトランジスタの対の対角線距離が大きくなるため、１回の高エネルギー粒子の入射によって、その対のトランジスタが同時に反転してしまう可能性を極めて小さくすることができる。
【００４０】
具体的には、トランジスタ６Ｐ１４−トランジスタ６Ｎ１６−トランジスタ６Ｐ１８−トランジスタ６Ｎ２０の間の距離、及びトランジスタ６Ｎ１３−トランジスタ６Ｐ１６−トランジスタ６Ｎ１７−トランジスタ６Ｐ２０の間の距離を所定の離隔距離以上とすると好適である。なお、その離隔距離が大きい方が、良好なシングルイベント耐性が得られる。具体的には、製造プロセス、基板のキャリア密度などによって変化するが、例えば、離隔距離を２．０μｍ（マイクロメートル）以上、２．９μｍ以上などとすると良好な結果が得られた。
【００４１】
［クロック生成回路］
次に、クロック生成回路について説明する。図９のクロック生成回路６Ｃ１及び図１０のクロック生成回路６Ｃ２は、データラッチ回路６に入力されるクロック信号ＣＫ１、ＣＫＢ１、ＣＫ３、及びＣＫＢ３を生成するために、組み合わせて使用される。図１７は、データラッチ回路６で使用されるクロック信号のタイミング図である。
【００４２】
クロック生成回路６Ｃ１は、図９に示すように、インバータ（６Ｉ１，６Ｉ２，６Ｉ３，６Ｉ４，６Ｉ５）を縦列に５段接続したものである。クロック生成回路６Ｃ１は、入力クロック信号ＣＫが入力され、それを元に、反転クロック信号ＣＫＢ１、クロック信号ＣＫ１、クロック信号ＣＫ２、反転クロック信号ＣＫＢ２を生成する。ここで、インバータ６Ｉ３のトランジスタのゲート長は他のインバータのゲート長と比較して大きく形成されており、インバータ６Ｉ３を挟む図９のＸ１−Ｘ２間で所定のクロック遅延時間が得られるようになっている。インバータ６Ｉ３のトランジスタのゲート長は、必要なクロック遅延時間の長さによって定められる。具体的には、例えば、他のインバータのトランジスタのゲート長が０．１８μｍである場合、それの数倍から数十倍程度の値（例えば、１０倍程度）とすることができる。トランジスタのゲート長が大きくなると電圧の変化が遅くなるため、それを逆に利用して、ゲート長を制御することによって任意の遅延時間を設定することができる。このため、クロック信号ＣＫ２及び反転クロック信号ＣＫＢ２のタイミングは、入力クロック信号ＣＫ、反転クロック信号ＣＫＢ１、及びクロック信号ＣＫ１から、所定の遅延時間を有する。図１７に、それらの様子を示す。図１７で、「遅延時間」と示した時間だけ、クロック信号ＣＫ２及び反転クロック信号ＣＫＢ２のタイミングは全体が遅延させられる。
【００４３】
一方の記憶ノードへ入力される前縁エッジ遅延クロック（クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３）は、通常のクロックと全体が遅延させられたクロックとを所定の論理回路で演算することによって生成される。そのような論理回路であるクロック生成回路６Ｃ２は、図１０の下段に示すような論理回路を、例えば図１０の上段に示すようなインバータとトランジスタとの組み合わせで実現した回路である。クロック生成回路６Ｃ２には、反転クロック信号ＣＫＢ１と反転クロック信号ＣＫＢ２とが入力され、それらのＮＡＮＤ演算がなされてクロック信号ＣＫ３が生成され、それがインバータで反転させられて反転クロック信号ＣＫＢ３が生成される。
【００４４】
このクロック生成回路６Ｃ１とクロック生成回路６Ｃ２とを組み合わせることにより、以下のような特徴を有するクロック信号を得ることができる。図１７を参照する。ここでは、一方の記憶ノード（第２記憶ノード）へ入力される、その記憶ノード及び全体のラッチモードからスルーモードへの移行が遅延させられるような前縁エッジ遅延クロックが生成されている。ここに、記憶ノードがラッチモードからスルーモードに移行するタイミングのクロックの部分を前縁エッジと呼ぶことにする。すなわち、ローレベルのときに第２のトランスミッションゲート（６Ｓ２）がオンになる極性である、第３の相補クロック信号の内の正相信号（ＣＫ３）の立ち上がりは、ローレベルのときに第１のトランスミッションゲート（６Ｓ１）がオンになる極性である、第１の相補クロック信号の内の正相信号（ＣＫ１）の立ち上がりと同じタイミングであり、かつ、当該第３の相補クロック信号の内の当該正相信号（ＣＫ３）の立ち下がりであるクロックの前縁エッジは、当該第１の相補クロック信号の内の当該正相信号（ＣＫ１）の立ち下がりから所定の遅延時間を有するようなタイミングであるようにクロックのエッジが遅延させられたことを特徴とするクロック信号を得ることができる。クロック信号ＣＫ２及び反転クロック信号ＣＫＢ２は、データラッチ回路６に入力される、クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３を生成するための中間的なクロック信号である。図１７に、これらのクロック信号の相互関係を示す。クロック信号ＣＫ３の立ち下がりである前縁エッジはクロック信号ＣＫ１の立ち下がりから所定の遅延時間だけタイミングが遅延させられるが、それらの立ち上がりは同じタイミングである。また、反転クロック信号ＣＫＢ３の立ち上がりである前縁エッジは反転クロック信号ＣＫＢ１の立ち上がりから所定の遅延時間だけタイミングが遅延させられるが、それらの立ち下がりのタイミングは同じである。
【００４５】
第３の相補クロック信号の内の正相信号（ＣＫ３）及び逆相信号（ＣＫＢ３）は、第１の相補クロック信号（ＣＫ１，ＣＫＢ１）を前記の所定の遅延時間だけ全体を遅延させた相補クロック信号を第２の相補クロック信号（ＣＫ２，ＣＫＢ２）として、それぞれ、第１の相補クロック信号の内の逆相信号（ＣＫＢ１）と第２の相補クロック信号の内の逆相信号（ＣＫＢ２）とのＮＡＮＤ演算、及び第１の相補クロック信号の内の逆相信号（ＣＫＢ１）と第２の相補クロック信号の内の逆相信号（ＣＫＢ２）とのＡＮＤ演算で生成される。
【００４６】
ここで、第１のトランスミッションゲート（６Ｓ１）と第２のトランスミッションゲート（６Ｓ２）には、異なるクロック信号が入力される。すなわち、第１のトランスミッションゲート（６Ｓ１）には、クロック信号ＣＫ１と反転クロック信号ＣＫＢ１が、第２のトランスミッションゲート（６Ｓ２）にはクロック信号ＣＫ３と反転クロック信号ＣＫＢ３が入力される。また、デュアルポートクロックドインバータ（６ＩＰ２）を構成する第１のクロックドインバータ（６Ｉ８）と第２のクロックドインバータ（６Ｉ１０）にも、同様に異なるクロック信号が入力される。すなわち、第１のクロックドインバータ（６Ｉ８）には、クロック信号ＣＫ１と反転クロック信号ＣＫＢ１が、第２のクロックドインバータ（６Ｉ１０）にはクロック信号ＣＫ３と反転クロック信号ＣＫＢ３が入力される。このような構成にすることによって、二重化された回路の片側の特定の動作のタイミングを遅らせることができる。このようにすると、クロック信号のタイミングが同じである片側同士の回路で構成される２つの記憶ノードをクロック信号ＣＫ１及び反転クロック信号ＣＫＢ１が入力されるノードを第１記憶ノードとし、クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３が入力されるノードを第２記憶ノードとすると、遅延によりそれらのクロック信号が一致していない期間には、ＳＥＴにより誤った入力がなされたとしても、それによって第１記憶ノードと第２記憶ノードのデータが変化してしまうことを防止することができる。
【００４７】
なお、二重化された回路の片側の動作タイミングを全体的に単に遅らせるだけだと不都合が生じる。例えば、クロック信号ＣＫ３に代えてクロック信号ＣＫ２を、反転クロック信号ＣＫＢ３に代えて反転クロック信号ＣＫＢ２を入力したとするとどのような動作になるかを考察する。図１７を参照する。クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３は、それぞれ立ち下がり及び立ち上がりのタイミングのみに遅延時間が設けられているのに対し、クロック信号ＣＫ２及び反転クロック信号ＣＫＢ２は、波形全体が遅延させられている。しかしこの場合、入力クロック信号ＣＫと出力データ信号Ｑの間の伝搬遅延時間や、入力クロック信号ＣＫが反転出力データ信号ＸＱとして出力されるまでの遅れ時間である伝搬遅延時間が、設けられた遅延時間だけ増加することになる。これは、クロック信号の入力以後にデータ入力信号を保持しなければならない時間であるホールド時間が、その設けられた遅延時間によりさらに増加させられることを意味する。すなわち、入力クロック信号ＣＫ１が立ち上がってから、その設けられた遅延時間の間は、ホールド時間ということになり、データ入力信号の論理レベルを変化させることができなくなる。従って、これが新たなタイミングペナルティとなる。
【００４８】
一方、クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３に対して、それぞれ立ち下がり及び立ち上がりのタイミングのみに遅延時間を設け、それぞれ立ち上がり及び立ち下がりのタイミングには遅延時間を設けないという本発明のようなタイミングの構成とすれば、第１記憶ノード（クロック信号ＣＫ１及び反転クロック信号ＣＫＢ１が入力されるノード）がデータをラッチしたタイミングにおいて、第２記憶ノード（クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３が入力されるノード）もデータをラッチするため、ホールド時間がクロックに設けた遅延時間によりさらに増加させられることを防止することができる。これによって、応答特性を劣化させることなく、シングルイベント耐性を向上させることができる。
【００４９】
なお、クロックの遅延時間は、クロック動作に影響を与えない範囲で大きい方がよい。
具体的には、０．５ナノ秒以上であれば好適であり、０．９ナノ秒以上であればより好適である。さらには、５ナノ秒以上であればさらにより好適である。なお、遅延時間を無制限に大きくすると、後続のクロックとの境目がなくなってクロック動作に支障を来すため、遅延時間は、クロック信号の１周期の１／２未満とする必要がある。
【００５０】
［データラッチ回路６の動作］
これからデータラッチ回路６の動作を、図１１の回路図及び図１７のタイミング図を参照して説明する。図１７のクロック信号相互間のタイミングを表に表わすと表３のようになる。期間Ｂはスルーモードの期間に対応し、期間Ａ及びＣはラッチモードの期間に対応する。
【表３】
0005339282.tif 000004
【００５１】
まず、期間Ａの場合について説明する。ここでは、第１記憶ノードはスルーモード（トランスミッションゲート６Ｓ１はオンであり、クロックドインバータ６Ｉ８はオフ）であり、第２記憶ノードはラッチモード（トランスミッションゲート６Ｓ２はオフであり、クロックドインバータ６Ｉ１０はオン）である。この状態では、ラッチモードの第２記憶ノードが論理状態を保持しており、それが全体の出力を規定するため、データラッチ回路６全体としてラッチモードである。このため、期間Ａにおいては入力データ信号Ｄ又は入力クロック信号ＣＫにＳＥＴによって誤った論理レベルの入力がされても、そのＳＥＴ信号の継続時間がクロックに設けた遅延時間より短い限り、データラッチ回路６の出力に影響を与えない。
【００５２】
次に、期間Ｂの場合について説明する。ここでは、第１記憶ノードはスルーモード（トランスミッションゲート６Ｓ１はオンであり、クロックドインバータ６Ｉ８はオフ）であり、第２記憶ノードもスルーモード（トランスミッションゲート６Ｓ２はオンであり、クロックドインバータ６Ｉ１０はオフ）である。この状態では、データラッチ回路６全体としてスルーモードである。この状態では、第１記憶ノード及び第２記憶ノードともスルーモードであるため、入力データ信号ＤにＳＥＴによって誤った論理レベルの入力がされると、それはデータラッチ回路６の出力として出力される。
【００５３】
次に、期間Ｃの場合について説明する。ここでは、第１記憶ノードはラッチモード（トランスミッションゲート６Ｓ１はオフであり、クロックドインバータ６Ｉ８はオン）であり、第２記憶ノードもラッチモード（トランスミッションゲート６Ｓ２はオフであり、クロックドインバータ６Ｉ１０はオン）である。この状態では、データラッチ回路６全体としてラッチである。
【００５４】
デュアルポートインバータ６ＩＰ１及びデュアルポートクロックドインバータ６ＩＰ２で構成される記憶ノードは、それぞれのインバータの出力が他方のインバータに入力されるため、データを保持することになる。
【００５５】
この状態では、入力データ信号Ｄ又は入力クロック信号ＣＫにＳＥＴによって誤った論理レベルの入力がされても、そのＳＥＴ信号の継続時間がクロックに設けた遅延時間より短い限り、データラッチ回路６の出力に影響を与えない。また、高エネルギー粒子が入射していずれか１つのトランジスタを誤動作させたとしても、デュアルポートインバータ６ＩＰ１及びデュアルポートクロックドインバータ６ＩＰ２のインバータは二重化されているため、デュアルポートインバータおよびデュアルポートクロックドインバータの動作の説明において上述したように、シングルイベント現象は防止される。
【００５６】
上記のように、クロックに遅延を設けることによって、入力データ信号Ｄ又は入力クロック信号ＣＫにＳＥＴ信号が伝搬してきた場合において、入力されるＳＥＴ信号の継続時間がクロックに設けた遅延時間より短い限り、それが両方の記憶ノードに同じタイミングで入力されることを防止することができ、それによって、従来のデータラッチ回路では発生していた誤動作を防止することができる。
【００５７】
［フリップフロップ回路７］
これから回路図（図１２〜図１６）及びタイミング図（図１８）を参照して、本発明の一実施形態としてのフリップフロップ回路７の構成及び動作を説明する。図１５及び図１６は、本発明の第２の実施形態に係る、デュアルポートインバータ７ＩＰ１及び７ＩＰ３並びにデュアルポートクロックドインバータ７ＩＰ２及び７ＩＰ４を有するフリップフロップ回路７の構成を表わす回路図である。フリップフロップ回路７は、入力データ信号Ｄが入力され、中間出力信号ＭＯをスレーブに出力する、デュアルポートインバータ７ＩＰ１とデュアルポートクロックドインバータ７ＩＰ２から構成されるマスタと、マスタからの中間出力信号ＭＯが入力され、出力データ信号Ｑを出力し、デュアルポートインバータ７ＩＰ３とデュアルポートクロックドインバータ７ＩＰ４から構成されるスレーブと、から構成される。図１５はフリップフロップ回路７のマスタの回路図であり、図１６はフリップフロップ回路７のスレーブの回路図である。
【００５８】
［フリップフロップ回路７の構成］
フリップフロップ回路７は、２つのデュアルポートインバータと、２つのトランスミッションゲートを含まないデュアルポートクロックドインバータとからなる構成である。すなわち、フリップフロップ回路７は、第１の組の入力を受け取るための２入力と２出力とを有するデュアルポートインバータであって、当該第１の組の入力は当該デュアルポートインバータに第１トランスミッションゲート（７Ｓ１）及び第２のトランスミッションゲート（７Ｓ２）を介して結合した第１のデュアルポートインバータ（７ＩＰ１）と、第１のデュアルポートインバータ（７ＩＰ１）の２出力に２入力で結合した、２出力を有する第１のデュアルポートクロックドインバータ（７ＩＰ２）と、第２の組の入力を受け取るための２入力と２出力を有するデュアルポートインバータであって、当該第２の組の入力は当該デュアルポートインバータに第２の組のトランスミッションゲート（７Ｓ３，７Ｓ４）を介して結合した第２のデュアルポートインバータ（７ＩＰ３）と、第２のデュアルポートインバータ（７ＩＰ３）の２出力に２入力で結合した、２出力を有する第２のデュアルポートクロックドインバータ（７ＩＰ４）と、第２のデュアルポートインバータ（７ＩＰ３）の２出力及び第２のデュアルポートクロックドインバータ（７ＩＰ４）の２出力の少なくとも１つに接続した出力と、を有し、第２のデュアルポートインバータ（７ＩＰ３）の２入力に第３のトランスミッションゲート（７Ｓ３）及び第４のトランスミッションゲート（７Ｓ４）を介して結合した第２の組の入力は、第１のデュアルポートクロックドインバータ（７ＩＰ２）の２出力のいずれかに結合している。デュアルポートインバータ７ＩＰ１及び７ＩＰ３は、前記のデュアルポートインバータ４と同様の構成をしており、デュアルポートクロックドインバータ７ＩＰ２及び７ＩＰ４は、前記のデュアルポートクロックドインバータ５と同様の構成をしている。
【００５９】
第１のデュアルポートインバータ（７ＩＰ１）及び第２のデュアルポートインバータ（７ＩＰ３）は、以下のような構成である。すなわち、デュアルポートインバータは２つのインバータから構成される。具体的には、第１のデュアルポートインバータ（７ＩＰ１）は、第１のインバータ（７Ｉ９）及び第２のインバータ（７Ｉ１１）を含み、第２のデュアルポートインバータ（７ＩＰ３）は、第３のインバータ（７Ｉ１５）及び第４のインバータ（７Ｉ１７）を含む。また、インバータはｐチャネルトランジスタとｎチャネルトランジスタとから構成される。すなわち、第１のインバータ（７Ｉ９）は第２のトランジスタ（７Ｎ１７）に直列に接続された第１のトランジスタ（７Ｐ１７）を含み、第２のインバータ（７Ｉ１１）は第４のトランジスタ（７Ｎ２１）に直列に接続された第３のトランジスタ（７Ｐ２１）を含み、第３のインバータ（７Ｉ１５）は第６のトランジスタ（７Ｎ２７）に直列に接続された第５のトランジスタ（７Ｐ２７）を含み、前記第４のインバータ（７Ｉ１７）は第８のトランジスタ（７Ｎ３１）に直列に接続された第７のトランジスタ（７Ｐ３１）を含む。さらに、２つのインバータが２つの入力を提供する。すなわち、第１のトランジスタ（７Ｐ１７）のゲートは、前記第４のトランジスタ（７Ｎ２１）のゲートに接続されて第１のインバータ入力を提供し、前記第２のトランジスタ（７Ｎ１７）のゲートは、前記第３のトランジスタ（７Ｐ２１）のゲートに接続されて第２のインバータ入力を提供し、前記第５のトランジスタ（７Ｐ２７）のゲートは、前記第８のトランジスタ（７Ｎ３１）のゲートに接続されて第３のインバータ入力を提供し、及び前記第６のトランジスタ（７Ｎ２７）のゲートは、前記第７のトランジスタ（７Ｐ３１）のゲートに接続されて第４のインバータ入力を提供する。さらに、２つのインバータが２つの出力を提供する。すなわち、前記第１（７Ｐ１７）及び第２（７Ｎ１７）のトランジスタは、第１のインバータ出力を提供し、前記第３（７Ｐ２１）及び第４（７Ｎ２１）のトランジスタは、第２のインバータ出力を提供し、前記第５（７Ｐ２７）及び第６（７Ｎ２７）のトランジスタは、第３のインバータ出力を提供し、及び前記第７（７Ｐ３１）及び第８（７Ｎ３１）のトランジスタは、第４のインバータ出力を提供する。２つのインバータ入力は同じ入力を受け取る。すなわち、第１及び第２のインバータ入力は同じ入力を受け取り、有効な出力を前記第１のインバータ出力又は前記第２のインバータ出力に提供し、第３及び第４のインバータ入力は同じ入力を受け取り、有効な出力を前記第３のインバータ出力又は前記第４のインバータ出力に提供する。第１（７Ｐ１７）及び第３（７Ｐ２１）のトランジスタはｐチャネルトランジスタで、第２（７Ｎ１７）及び第４（７Ｎ２１）のトランジスタはｎチャネルトランジスタであり、第５（７Ｐ２７）及び第７（７Ｐ３１）のトランジスタはｐチャネルトランジスタで、第６（７Ｎ２７）及び第８（７Ｎ３１）のトランジスタはｎチャネルトランジスタである。
【００６０】
デュアルポートクロックドインバータは２つのクロックドインバータから構成される。
すなわち、第１のデュアルポートクロックドインバータ（７ＩＰ２）は第１のクロックドインバータ（７Ｉ８）及び第２のクロックドインバータ（７Ｉ１０）を含み、第２のデュアルポートクロックドインバータ（７ＩＰ４）は第３のクロックドインバータ（７Ｉ１４）及び第４のクロックドインバータ（７Ｉ１６）を含む。クロックドインバータは２つのｐチャネルトランジスタと２つのｎチャネルトランジスタとから構成される。すなわち、第１のクロックドインバータ（７Ｉ８）は第９（７Ｐ１４）、第１０（７Ｐ１５）、第１１（７Ｎ１５）、及び第１２（７Ｎ１４）のその順番に直列に接続されたトランジスタを含み、第２のクロックドインバータ（７Ｉ１０）は第１３（７Ｐ１８）、第１４（７Ｐ１９）、第１５（７Ｎ１９）、及び第１６（７Ｎ１８）のその順番に直列に接続されたトランジスタを含み、第３のクロックドインバータ（７Ｉ１４）は第１７（７Ｐ２４）、第１８（７Ｐ２５）、第１９（７Ｎ２５）、及び第２０（７Ｎ２４）のその順番に直列に接続されたトランジスタを含み、第４のクロックドインバータ（７Ｉ１６）は第２１（７Ｐ２８）、第２２（７Ｐ２９）、第２３（７Ｎ２９）、及び第２４（７Ｎ２８）のその順番に直列に接続されたトランジスタを含む。２つのクロックドインバータが２つの入力を提供し、所定の相補クロック信号が入力される。すなわち、第９（７Ｐ１４）又は第１０（７Ｐ１５）のいずれか一方のトランジスタのゲートは第１５（７Ｎ１９）又は第１６（７Ｎ１８）のいずれか一方のトランジスタのゲートに接続されて第５のインバータ入力を提供し、第１１（７Ｎ１５）又は第１２（７Ｎ１４）のいずれか一方のトランジスタのゲートは第１３（７Ｐ１８）又は第１４（７Ｐ１９）のいずれか一方のトランジスタのゲートに接続されて第６のインバータ入力を提供し、第９（７Ｐ１４）又は第１０（７Ｐ１５）の他方のトランジスタのゲートと第１１（７Ｎ１５）又は第１２（７Ｎ１４）の他方のトランジスタのゲートには、お互いに相補な論理値の第１の相補クロック信号（ＣＫＢ１，ＣＫ１）が入力され、第１３（７Ｐ１８）又は第１４（７Ｐ１９）の他方のトランジスタのゲートと第１５（７Ｎ１９）又は第１６（７Ｎ１８）の他方のトランジスタのゲートには、お互いに相補な論理値の第３の相補クロック信号（ＣＫＢ３，ＣＫ３）が入力され、第１７（７Ｐ２４）又は第１８（７Ｐ２５）のいずれか一方のトランジスタのゲートは第２３（７Ｎ２９）又は第２４（７Ｎ２８）のいずれか一方のトランジスタのゲートに接続されて第７のインバータ入力を提供し、第１９（７Ｎ２５）又は第２０（７Ｎ２４）のいずれか一方のトランジスタのゲートは前記第２１（７Ｐ２８）又は第２２（７Ｐ２９）のいずれか一方のトランジスタのゲートに接続されて第８のインバータ入力を提供し、第１７（７Ｐ２４）又は第１８（７Ｐ２５）の他方のトランジスタのゲートと第１９（７Ｎ２５）又は第２０（７Ｎ２４）の他方のトランジスタのゲートには、第１の相補クロック信号と逆相の相補クロック信号が入力され、第２１（７Ｐ２８）又は第２２（７Ｐ２９）の他方のトランジスタのゲートと第２３（７Ｎ２９）又は第２４（７Ｎ２８）の他方のトランジスタのゲートには、お互いに相補な論理値の第４の相補クロック信号（ＣＫＢ４，ＣＫ４）が入力され、第１のトランスミッションゲート（７Ｓ１）は、それに含まれるｐチャネルトランジスタ（７Ｐ１６）とｎチャネルトランジスタ（７Ｎ１６）のそれぞれのゲートに前記第１のクロックドインバータ（７Ｉ８）と相反するオンオフ動作をする極性で第１の相補クロック信号が入力され、第２のトランスミッションゲート（７Ｓ２）は、それに含まれるｐチャネルトランジスタ（７Ｐ２０）とｎチャネルトランジスタ（７Ｎ２０）のそれぞれのゲートに第２のクロックドインバータ（７Ｉ１０）と相反するオンオフ動作をする極性で第３の相補クロック信号が入力され、第３のトランスミッションゲート（７Ｓ３）は、それに含まれるｐチャネルトランジスタ（７Ｐ２６）とｎチャネルトランジスタ（７Ｎ２６）のそれぞれのゲートに前記第３のクロックドインバータ（７Ｉ１４）と相反するオンオフ動作をする極性で第１の相補クロック信号が入力され、第４のトランスミッションゲート（７Ｓ４）は、それに含まれるｐチャネルトランジスタ（７Ｐ３０）とｎチャネルトランジスタ（７Ｎ３０）のそれぞれのゲートに第４のクロックドインバータ（７Ｉ１６）と相反するオンオフ動作をする極性で第４の相補クロック信号が入力される。
ここで、マスタにおいて、クロック信号ＣＫ１及び反転クロック信号ＣＫＢ１が入力されるノードを第１記憶ノードと呼び、クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３が入力されるノードを第２記憶ノードと呼ぶ。また、スレーブにおいて、クロック信号ＣＫ１及び反転クロック信号ＣＫＢ１が入力されるノードを第１記憶ノードと呼び、クロック信号ＣＫ４及び反転クロック信号ＣＫＢ４が入力されるノードを第２記憶ノードと呼ぶ。
２つのクロックドインバータが２つの出力を提供する。すなわち、第９（７Ｐ１４）、第１０（７Ｐ１５）、第１１（７Ｎ１５）、及び第１２（７Ｎ１４）のトランジスタは第５のインバータ出力を提供し、第１３（７Ｐ１８）、第１４（７Ｐ１９）、第１５（７Ｎ１９）、及び第１６（７Ｎ１８）のトランジスタのトランジスタは第６のインバータ出力を提供し、第１７（７Ｐ２４）、第１８（７Ｐ２５）、第１９（７Ｎ２５）、及び第２０（７Ｎ２４）のトランジスタは第７のインバータ出力を提供し、第２１（７Ｐ２８）、第２２（７Ｐ２９）、第２３（７Ｎ２９）、及び第２４（７Ｎ２８）のトランジスタのトランジスタは第８のインバータ出力を提供する。２つのインバータ入力は同じ入力を受け取る。すなわち、第５及び第６のインバータ入力は同じ入力を受け取り、第５のインバータ出力又は第６のインバータ出力に有効な出力を提供し、第７及び第８のインバータ入力は同じ入力を受け取り、第７のインバータ出力又は第８のインバータ出力に有効な出力を提供する。第９（７Ｐ１４）、第１０（７Ｐ１５）、第１３（７Ｐ１８）、及び第１４（７Ｐ１９）のトランジスタはｐチャネルトランジスタで、第１１（７Ｐ１５）、第１２（７Ｎ１４）、第１５（７Ｎ１９）、及び第１６（７Ｎ１８）のトランジスタはｎチャネルトランジスタであり、第１７（７Ｐ２４）、第１８（７Ｐ２５）、第２１（７Ｐ２８）、及び第２２（７Ｐ２９）のトランジスタはｐチャネルトランジスタで、第１９（７Ｎ２５）、第２０（７Ｎ２４）、第２３（７Ｎ２９）、及び第２４（７Ｎ２８）のトランジスタはｎチャネルトランジスタである。
【００６１】
このような構成にすることによって、それぞれのインバータが二重化されるため、シングルイベント現象による誤作動を抑えることができる。デュアルポートインバータとトランスミッションゲートの組み合わせでも、デュアルポートクロックドインバータと論理的に同じ動作を行わせることができるが、そのような（デュアルポート）インバータとトランスミッションゲートとの組み合わせによる回路構造では、トランスミッションゲートのトランジスタがオンの場合でも、ソース／ドレインの電圧レベルによっては強電界領域が広く形成され、それがシングルイベント現象の発生原因となり得るという欠点があった。
本発明のように、それらに代えてクロックドインバータを使用すると、形成される強電界領域が、トランスミッションゲートに比べて狭くなるため、シングルイベント現象が発生しにくくなるという効果が得られる。
【００６２】
フリップフロップ回路７は、入力段に並列インバータが追加されると好適である。すなわち好適には、フリップフロップ回路７は、第５のインバータ（７Ｉ６）と、第５のインバータと入力がお互いに接続された第６のインバータ（７Ｉ７）と、をさらに有し、第５のインバータ（７Ｉ６）の出力は、第１のトランスミッションゲート（７Ｓ１）を介して前記第１のインバータ入力に接続され、第６のインバータ（７Ｉ７）の出力は、第２のトランスミッションゲート（７Ｓ２）を介して第２のインバータ入力に接続される。
【００６３】
フリップフロップ回路７は、中間段にも並列インバータが追加されると好適である。すなわち好適には、フリップフロップ回路７は、第７のインバータ（７Ｉ１２）と、第７のインバータと入力がお互いに接続された第８のインバータ（７Ｉ１３）と、をさらに有し、第７のインバータ（７Ｉ１２）の出力は、第３のトランスミッションゲート（７Ｓ３）を介して前記第３のインバータ入力に接続され、第８のインバータ（７Ｉ１３）の出力は、第４のトランスミッションゲート（７Ｓ４）を介して第４のインバータ入力に接続される。
【００６４】
［ゲート間距離の限定］
フリップフロップ回路７は、データラッチ回路６に関して上述した理由により、トランジスタが離間されて配置されると好適である。すなわち好適には、フリップフロップ回路７においては、出力が入力に直接的に接続されているインバータとクロックドインバータの組のそれぞれにおいて、当該インバータに含まれるｐチャネル及びｎチャネルトランジスタと、前記のクロックドインバータに含まれるそれぞれｎチャネル及びｐチャネルトランジスタとの間の対角線距離は、その対角線距離が最小となるようなレイアウトにおける対角線距離より大きい所定の離隔距離とされる。このような隣り合った導電型が異なるトランジスタの組み合わせは、定常状態においてはオンオフの状態が一致するものであるため、両方がオフ状態のときには両方とも同時に誤動作し得るからである。このような構成にすると、同時にＳＥＴが発生するとフリップフロップ回路７の論理状態が反転してしまうトランジスタの対の対角線距離が大きくなるため、１回の高エネルギー粒子の入射によって、その対のトランジスタが同時に反転してしまう可能性を極めて小さくすることができる。
【００６５】
具体的には、トランジスタ７Ｐ１５−トランジスタ７Ｎ１７−トランジスタ７Ｐ１９−トランジスタ７Ｎ２１の間の距離、トランジスタ７Ｎ１５−トランジスタ７Ｐ１７−トランジスタ７Ｎ１９−トランジスタ７Ｐ２１の間の距離、トランジスタ７Ｐ２５−トランジスタ７Ｎ２７−トランジスタ７Ｐ２９−トランジスタ７Ｎ３１の間の距離、及びトランジスタ７Ｎ２５−トランジスタ７Ｐ２７−トランジスタ７Ｎ２９−トランジスタ７Ｐ３１の間の距離の間の距離を所定の離隔距離以上とすると好適である。なお、その離隔距離が大きい方が、良好なシングルイベント耐性が得られる。具体的には、製造プロセス、基板のキャリア密度によって変化するが、例えば、離隔距離を２．０μｍ（マイクロメートル）以上、２．９μｍ以上などとすると良好な結果が得られた。
【００６６】
［クロック生成回路］
次に、クロック生成回路について説明する。図１２のクロック生成回路７Ｃ１、図１３のクロック生成回路７Ｃ２、及び図１４のクロック生成回路７Ｃ３は、フリップフロップ回路７に入力されるクロック信号ＣＫ１、ＣＫＢ１、ＣＫ３、ＣＫＢ３、ＣＫ４、及びＣＫＢ４を生成するために、組み合わせて使用される。図１８は、フリップフロップ回路７で使用されるクロック信号のタイミング図である。
【００６７】
クロック生成回路７Ｃ１は、図１２に示すように、インバータ（７Ｉ１，７Ｉ２，７Ｉ３，７Ｉ４，７Ｉ５）を縦列に５段接続したものである。クロック生成回路７Ｃ１は、入力クロック信号ＣＫが入力され、それを元に、反転クロック信号ＣＫＢ１、クロック信号ＣＫ１、クロック信号ＣＫ２、反転クロック信号ＣＫＢ２を生成する。クロック生成回路７Ｃ１は、図９に示したクロック生成回路６Ｃ１と同じ構造である。図１８は、それらのクロック信号の様子を示す。図１８で、「遅延時間」と示した時間だけ、クロック信号ＣＫ２及び反転クロック信号ＣＫＢ２のタイミングは全体が遅延させられる。
【００６８】
スレーブ側の一方の記憶ノードへ入力される後縁エッジ前進クロック（クロック信号ＣＫ４及び反転クロック信号ＣＫＢ４）は、通常のクロックと全体が遅延させられたクロックとを所定の論理回路で演算することによって生成される。そのような論理回路であるクロック生成回路７Ｃ２は、図１３の下段に示すような論理回路を、例えば図１３の上段に示すようなインバータとトランジスタとの組み合わせで実現した回路である。クロック生成回路７Ｃ２は、図１０に示したクロック生成回路６Ｃ２と同じ構造である。クロック生成回路７Ｃ２には、クロック信号ＣＫ１と反転クロック信号ＣＫＢ２とが入力され、それらのＮＡＮＤ演算がなされてクロック信号ＣＫ４が生成され、それがインバータで反転させられて反転クロック信号ＣＫＢ４が生成される。
【００６９】
マスタ側の一方の記憶ノードへ入力される前縁エッジ遅延クロック（クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３）は、通常のクロックと全体が遅延させられたクロックとを所定の論理回路で演算することによって生成される。そのような論理回路であるクロック生成回路７Ｃ３は、図１４の下段に示すような論理回路を、例えば図１４の上段に示すようなインバータとトランジスタとの組み合わせで実現した回路である。クロック生成回路７Ｃ３は、図１０に示したクロック生成回路６Ｃ２と同じ構造である。クロック生成回路７Ｃ３には、反転クロック信号ＣＫＢ１と反転クロック信号ＣＫＢ２とが入力され、それらのＮＡＮＤ演算がなされてクロック信号ＣＫ３が生成され、それがインバータで反転させられて反転クロック信号ＣＫＢ３が生成される。
【００７０】
このクロック生成回路７Ｃ１、クロック生成回路７Ｃ２、クロック生成回路７Ｃ３とを組み合わせることにより、以下のような特徴を有するクロック信号を得ることができる。
図１８を参照する。ここでは、マスタ側の一方の記憶ノード（第２記憶ノード）へ入力される、その記憶ノード及びマスタのラッチモードからスルーモードへの移行タイミングが遅延させられるような前縁エッジ遅延クロックが生成されている。ここに、マスタ側の記憶ノードがラッチモードからスルーモードに移行するタイミングのクロックの部分を前縁エッジと呼ぶことにする。すなわち、ハイレベルのときに第２のトランスミッションゲート（７Ｓ２）がオンになる極性である、第３の相補クロック信号の内の逆相信号（ＣＫＢ３）の立ち下がりは、ハイレベルのときに第１のトランスミッションゲートがオンになる極性である、第１の相補クロック信号の内の逆信号（ＣＫＢ１）の立ち下がりと同じタイミングであり、当該第３の相補クロック信号の内の当該逆相信号（ＣＫＢ３）の立ち上がりであるクロックの前縁エッジは、当該第１の相補クロック信号の内の当該逆相信号（ＣＫＢ１）の立ち上がりから所定の遅延時間を有するようなタイミングであるようにクロックのエッジが遅延させられる。さらにここでは、スレーブ側の一方の記憶ノード（第２記憶ノード）へ入力される、その記憶ノード及びスレーブのスルーモードからラッチモードへの移行タイミングが前進させられるような後縁エッジ前進クロックが生成されている。
ここに、スレーブ側の記憶ノードがラッチモードからスルーモードに移行するタイミングのクロックの部分を後縁エッジと呼ぶことにする。すなわち、ハイレベルのときに第４のトランスミッションゲート（７Ｓ４）がオンになる極性である、第４の相補クロック信号の内の逆相信号（ＣＫＢ４）の立ち上がりは、ハイレベルのときに第１のトランスミッションゲートがオンになる極性である、第１の相補クロック信号の内の逆相信号（ＣＫＢ１）の立ち下がりと同じタイミングであり、当該第４の相補クロック信号の内の当該逆相信号（ＣＫＢ４）の立ち下がりであるクロックの後縁エッジは、当該第１の相補クロック信号の内の当該逆相信号（ＣＫＢ１）の次の立ち下がりより前のタイミングであるようにクロックのエッジが前進させられたタイミングであることを特徴とするクロック信号を得ることができる。また好適には、第４の相補クロック信号の内の前記逆相信号（ＣＫＢ４）の立ち下がりは、それの立ち上がりから前記の所定の遅延時間が経過したタイミングである。クロック信号ＣＫ２及び反転クロック信号ＣＫＢ２は、フリップフロップ回路７に入力される、クロック信号ＣＫ３、反転クロック信号ＣＫＢ３、クロック信号ＣＫ４、及び反転クロック信号ＣＫＢ４を生成するための中間的なクロック信号である。図１８に、これらのクロック信号の主なものの相互関係を示す。クロック信号ＣＫ３の立ち下がりである前縁エッジはクロック信号ＣＫ１の立ち下がりから所定の遅延時間だけタイミングが遅延させられるが、それらの立ち上がりは同じタイミングである。また、反転クロック信号ＣＫＢ３の立ち上がりである前縁エッジは反転クロック信号ＣＫＢ１の立ち上がりから所定の遅延時間だけタイミングが遅延させられるが、それらの立ち下がりのタイミングは同じである。さらに、反転クロック信号ＣＫＢ４の立ち上がりはクロック信号ＣＫ１の立ち上がりと同じタイミングであり、反転クロック信号ＣＫＢ４の立ち下がりである後縁エッジは、クロック信号ＣＫ１の立ち下がりより前のタイミングであるようにクロックのエッジが前進させられており、かつ、当該反転クロック信号ＣＫＢ４の立ち上がりから前記の所定の遅延時間が経過したタイミングである。
【００７１】
第３の相補クロック信号の内の正相信号（ＣＫ３）及び逆相信号（ＣＫＢ３）は、第１の相補クロック信号（ＣＫ１，ＣＫＢ１）を前記の所定の遅延時間だけ全体を遅延させた相補クロック信号を第２の相補クロック信号（ＣＫ２，ＣＫＢ２）として、それぞれ、第１の相補クロック信号の内の逆相信号（ＣＫＢ１）と第２の相補クロック信号の内の逆相信号（ＣＫＢ２）とのＮＡＮＤ演算、及び第１の相補クロック信号の内の逆相信号（ＣＫＢ１）と第２の相補クロック信号の内の逆相信号（ＣＫＢ２）とのＡＮＤ演算で生成される。
【００７２】
第４の相補クロック信号の内の正相信号（ＣＫ４）及び逆相信号（ＣＫＢ４）は、第１の相補クロック信号（ＣＫ１，ＣＫＢ１）を前記の所定の遅延時間だけ全体を遅延させた相補クロック信号を第２の相補クロック信号（ＣＫ２，ＣＫＢ２）として、それぞれ、第１の相補クロック信号の内の正相信号（ＣＫ１）と第２の相補クロック信号の内の逆相信号（ＣＫＢ２）とのＮＡＮＤ演算、及び第１の相補クロック信号の内の正相信号（ＣＫ１）と第２の相補クロック信号の内の逆相信号（ＣＫＢ２）とのＡＮＤ演算で生成される。
【００７３】
ここで、マスタにおいて、タイミングが異なる２種類のクロック信号が入力される。すなわち、トランスミッションゲート７Ｓ１には、クロック信号ＣＫ１と反転クロック信号ＣＫＢ１が、トランスミッションゲート７Ｓ２にはクロック信号ＣＫ３と反転クロック信号ＣＫＢ３が入力される。また、デュアルポートクロックドインバータ７ＩＰ２を構成するクロックドインバータ７Ｉ８とクロックドインバータ７Ｉ１０にも、同様にタイミングが異なるクロック信号が入力される。すなわち、クロックドインバータ７Ｉ８には、クロック信号ＣＫ１と反転クロック信号ＣＫＢ１が、クロックドインバータ７Ｉ１０にはクロック信号ＣＫ３と反転クロック信号ＣＫＢ３が入力される。このような構成にすることによって、入力データ信号Ｄを受けるマスタにおいて、二重化された回路の内の一方の回路の特定の動作のタイミングを他方の回路とは異なるタイミングにすることができる。このようにすると、クロック信号のタイミングが同じである片側同士の回路で構成される２つの記憶ノードをクロック信号ＣＫ１及び反転クロック信号ＣＫＢ１が入力されるノードを第１記憶ノードとし、クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３が入力されるノードを第２記憶ノードとすると、遅延によりそれらのクロック信号が一致していない期間には、たとえ一方の記憶ノードがスルーモードであったとしても、ＳＥＴにより誤った入力データ信号Ｄが送られてきた場合にも、それによって第１記憶ノードと第２記憶ノードの両方のデータが変化してしまうことを防止することができる。
【００７４】
なお、マスタにおいて、二重化された回路の片側の動作タイミングを全体的に単に遅らせるだけだとホールド時間が増加するという不都合が生じるため、上述のデータラッチ回路６と同様に、クロック信号ＣＫ３及び反転クロック信号ＣＫＢ３に対して、それぞれ立ち下がり及び立ち上がりのタイミングである前縁エッジのみに遅延時間を設け、それぞれ立ち上がり及び立ち下がりのタイミングには遅延時間を設けないという構成として、ホールド時間の増加を防止している。
【００７５】
また、スレーブにおいても、タイミングが異なる２種類のクロック信号が入力される。
すなわち、トランスミッションゲート７Ｓ３には、クロック信号ＣＫ１と反転クロック信号ＣＫＢ１が、トランスミッションゲート７Ｓ４にはクロック信号ＣＫ４と反転クロック信号ＣＫＢ４が入力される。また、デュアルポートクロックドインバータ７ＩＰ４を構成するクロックドインバータ７Ｉ１４とクロックドインバータ７Ｉ１６にも、同様にタイミングが異なるクロック信号が入力される。このような構成にすることによって、中間出力信号ＭＯを受けるスレーブにおいて、二重化された回路の内の一方の回路の特定の動作のタイミングを他方の回路とは異なるタイミングにすることができる。このようにすると、クロック信号のタイミングが同じである片側同士の回路で構成される２つの記憶ノードをクロック信号ＣＫ１及び反転クロック信号ＣＫＢ１が入力されるノードを第１記憶ノードとし、クロック信号ＣＫ４及び反転クロック信号ＣＫＢ４が入力されるノードを第２記憶ノードとすると、遅延によりそれらのクロック信号が一致していない期間には、ＳＥＴにより誤った入力が中間出力信号ＭＯとして送られてきた場合にも、それによって第１記憶ノードと第２記憶ノードの両方のデータが変化してしまうことを防止することができる。
【００７６】
なお、スレーブにおいて、二重化された回路の片側の動作タイミングを全体的に単にずらすだけだと不都合が生じる。図１８を参照する。マスタがスルーモードからラッチモードに変化したときにその瞬間のデータがラッチされるが、この瞬間のデータがスレーブを通して出力データ信号Ｑとして出力されるまでの遅れ時間である伝搬遅延時間は短い方が好ましい。しかし、スレーブの二重化された回路の片側の動作タイミングを全体的に単にずらすだけ、例えば、反転クロック信号ＣＫＢ４の動作タイミングをクロック信号ＣＫ１の動作タイミングより全体的に遅延させただけだと、その遅延時間だけ、スレーブがラッチモードからスルーモードに変化するタイミングが遅れることになり、その分、全体の伝搬遅延時間も増大することになる。従って、これが新たなタイミングペナルティとなる。
【００７７】
一方、反転クロック信号ＣＫＢ４の立ち下がりである後縁エッジはクロック信号ＣＫ１の立ち下がりより前のタイミングであるようにクロックのエッジが前進させられたタイミングとするが、反転クロック信号ＣＫＢ４の立ち上がりはクロック信号ＣＫ１の立ち上がりと同じタイミングにするという本発明のようなタイミングの構成とすれば、スレーブの第１記憶ノード（クロック信号ＣＫ１及び反転クロック信号ＣＫＢ１が入力されるノード）がスルーモードに変化したタイミングにおいて、スレーブの第２記憶ノード（クロック信号ＣＫ４及び反転クロック信号ＣＫＢ４が入力されるノード）もスルーモードに変化するため、スレーブ全体がそのタイミングでスルーモードに変化することになり、マスタから入力されたデータを直ちに出力することになる。従って、２種類のクロック信号を異なるタイミングとしても、伝搬遅延時間がさらに増加させられることを防止することができる。これによって、応答特性を劣化させることなく、シングルイベント耐性を向上させることができる。
【００７８】
なお、クロックの遅延時間は、クロック動作に影響を与えない範囲で大きい方がよい。
具体的には、０．５ナノ秒以上であれば好適であり、０．９ナノ秒以上であればより好適である。さらには、５ナノ秒以上であればさらにより好適である。なお、遅延時間を無制限に大きくすると、後続のクロックとの境目がなくなってクロック動作に支障を来すため、遅延時間は、クロック信号の１周期の１／２未満とする必要がある。
【００７９】
［フリップフロップ回路７の動作］
これからフリップフロップ回路７の動作を、図１５及び図１６の回路図及び図１８のタイミング図を参照して説明する。図１８のクロック信号相互間のタイミングを表に表わすと表３のようになる。期間Ｂは従来のフリップフロップ回路においてマスタがスルーモードかつスレーブがラッチモードである期間に対応し、期間Ｃは従来のフリップフロップ回路においてマスタがラッチモードかつスレーブがスルーモードである期間に対応する。さらに、期間Ａ及びＤは、マスタ及びスレーブの両方ともがラッチモードである期間に対応する。
【表４】
0005339282.tif 000005
【００８０】
まず、期間Ａについて説明する。期間Ａにおいてマスタは、第１記憶ノードがスルーモード（トランスミッションゲート７Ｓ１はオンであり、クロックドインバータ７Ｉ８はオフ）で第２記憶ノードがラッチモード（トランスミッションゲート７Ｓ２はオフであり、クロックドインバータ７Ｉ１０はオン）である。この状態では、ラッチモードの第２記憶ノードが論理状態を保持しており、それが全体の出力を規定するため、マスタ全体としてラッチモードである。このため、期間Ａにおいては入力データ信号Ｄ又は入力クロック信号ＣＫにＳＥＴによって誤った論理レベルの入力がされても、それはフリップフロップ回路７のマスタへ入力されず、そのＳＥＴ信号の継続時間がクロックに設けた遅延時間より短い限り、フリップフロップ回路７が誤ったデータを保持することはない。
【００８１】
期間Ａにおいてスレーブは、第１記憶ノード及び第２記憶ノードともラッチモード（トランスミッションゲート７Ｓ３及び７Ｓ４はオフであり、クロックドインバータ７Ｉ１４及び７Ｉ１６はオン）であり、スレーブ全体がラッチモードである。スレーブは、それが保持しているデータに基づき、マスタの論理状態にかかわらず、出力データ信号Ｑ及び反転出力データ信号ＸＱをフリップフロップ回路７の出力として出力する。
【００８２】
次に、期間Ｂについて説明する。期間Ｂにおいてマスタは、第１記憶ノード及び第２記憶ノードともスルーモード（トランスミッションゲート７Ｓ１及び７Ｓ２はオンであり、クロックドインバータ７Ｉ８及び７Ｉ１０はオフ）であり、マスタ全体としてスルーモードである。フリップフロップ回路７はこの期間Ｂにおいてマスタから入力データ信号Ｄを取り入れる。
【００８３】
期間Ｂにおいてスレーブは、第１記憶ノード及び第２記憶ノードともラッチモード（トランスミッションゲート７Ｓ３及び７Ｓ４はオフであり、クロックドインバータ７Ｉ１４及び７Ｉ１６はオン）であり、スレーブ全体がラッチモードである。スレーブは、それが保持しているデータに基づき、マスタの論理状態にかかわらず、出力データ信号Ｑ及び反転出力データ信号ＸＱをフリップフロップ回路７の出力として出力する。
【００８４】
次に、期間Ｃについて説明する。期間Ｃにおいてマスタは、第１記憶ノード及び第２記憶ノードともラッチモード（トランスミッションゲート７Ｓ１及び７Ｓ２はオフであり、クロックドインバータ７Ｉ８及び７Ｉ１０はオン）であり、マスタ全体としてラッチモードである。ここでは、マスタは期間Ｃに変化する直前の論理状態を保持している。
【００８５】
期間Ｃにおいてスレーブは、第１記憶ノード及び第２記憶ノードともスルーモード（トランスミッションゲート７Ｓ３及び７Ｓ４はオンであり、クロックドインバータ７Ｉ１４及び７Ｉ１６はオフ）であり、スレーブ全体がスルーモードである。スレーブは、マスタが保持しているデータを中間出力信号ＭＯとして受け取り、それに基づいて出力データ信号Ｑ及び反転出力データ信号ＸＱをフリップフロップ回路７の出力として出力する。ここで、期間Ｂから期間Ｃへの遷移時に、マスタがスルーモードからラッチモードに変化するが、それと同時にスレーブがラッチモードからスルーモードに変化する。このように、マスタがラッチモードに変化すると同時にスレーブをスルーモードに変化させることによって、フリップフロップ回路７の伝搬遅延時間を増加させることなく、それぞれのクロック信号のタイミングをずらして入力データ信号Ｄ及び入力クロック信号ＣＫに対するＳＥＴへの耐性を向上させることが可能となる。
【００８６】
次に、期間Ｄについて説明する。期間Ｄにおいてマスタは、第１記憶ノード及び第２記憶ノードともラッチモード（トランスミッションゲート７Ｓ１及び７Ｓ２はオフであり、クロックドインバータ７Ｉ８及び７Ｉ１０はオン）であり、マスタ全体としてラッチモードである。ここでは、マスタは期間Ｃに変化する直前の論理状態を保持している。期間Ｄにおいては、ＳＥＴによる誤った論理レベルが入力データ信号Ｄ又は入力クロック信号ＣＫとしてマスタに入力されても、そのＳＥＴ信号の継続時間がクロックに設けた遅延時間より短い限り、マスタにおいて論理状態が誤って反転することはなく、シングルイベントは防止される。
【００８７】
期間Ｄにおいてスレーブは、第１記憶ノードがスルーモード（トランスミッションゲート７Ｓ３はオンであり、クロックドインバータ７Ｉ１４はオフ）で第２記憶ノードがラッチモード（トランスミッションゲート７Ｓ４はオフであり、クロックドインバータ７Ｉ１６はオン）である。この状態では、ラッチモードの第２記憶ノードが論理状態を保持しており、それが全体の出力を規定するため、スレーブ全体としてラッチモードである。このため、期間Ｄにおいてはマスタにおいてシングルイベント現象が発生し、それが誤った中間出力信号としてスレーブに送られたとしても、それに影響されることはない。このようにスレーブは、期間Ｃに遷移したときにはマスタからの出力を直ちに出力するとともに、その直後の期間Ｄにおいてはマスタがラッチモードのままスレーブもラッチモードとなることによって、より確実にデータを保持することができる。期間Ｄにおいては、ＳＥＴによる誤った論理レベルが中間出力信号ＭＯ又は入力クロック信号ＣＫとしてスレーブに入力されても、そのＳＥＴ信号の継続時間がクロックに設けた遅延時間より短い限り、スレーブにおいて論理状態が誤って反転することはなく、シングルイベントは防止される。したがって、フリップフロップ回路７が誤ったデータを保持することが防止される。
【００８８】
上述の実施形態は、本発明を説明するための例示であり、本発明をこの実施形態に限定する趣旨ではない。本発明は、その要旨を逸脱しない限りにおいて、種々の実施形態で実施することができる。
【図面の簡単な説明】
【００８９】
【図１】従来のデータラッチ回路１のためのクロック生成回路１Ｃ１の回路図である。
【図２】従来のデータラッチ回路１の回路図である。
【図３】従来のフリップフロップ回路２のためのクロック生成回路２Ｃ１の回路図である。
【図４】従来のフリップフロップ回路２の回路図である。
【図５】従来のデータラッチ回路３のためのクロック生成回路３Ｃ１の回路図である。
【図６】従来のシングルイベント耐性を有するデータラッチ回路３の回路図である。
【図７】デュアルポートインバータ４の構成を表わす回路図である。
【図８】デュアルポートクロックドインバータ５の構成を表わす回路図である。
【図９】本発明に係るデータラッチ回路６のためのクロック生成回路６Ｃ１の回路図である。
【図１０】本発明の第１の実施形態に係るデータラッチ回路６のためのクロック生成回路６Ｃ２の回路図である。
【図１１】本発明の第１の実施形態に係る、デュアルポートインバータ６ＩＰ１及びデュアルポートクロックドインバータ６ＩＰ２を有するデータラッチ回路６の構成を表わす回路図である。
【図１２】本発明に係るフリップフロップ回路７のためのクロック生成回路７Ｃ１の回路図である。
【図１３】本発明に係るフリップフロップ回路７のためのクロック生成回路７Ｃ２の回路図である。
【図１４】本発明に係るフリップフロップ回路７のためのクロック生成回路７Ｃ３の回路図である。
【図１５】本発明の第２の実施形態に係る、デュアルポートインバータ７ＩＰ１及び７ＩＰ３並びにデュアルポートクロックドインバータ７ＩＰ２及び７ＩＰ４を有するフリップフロップ回路７のマスタの構成を表わす回路図である。
【図１６】本発明の第２の実施形態に係る、デュアルポートインバータ７ＩＰ１及び７ＩＰ３並びにデュアルポートクロックドインバータ７ＩＰ２及び７ＩＰ４を有するフリップフロップ回路７のスレーブの構成を表わす回路図である。
【図１７】データラッチ回路６で使用されるクロック信号のタイミング図である。
【図１８】フリップフロップ回路７で使用されるクロック信号のタイミング図である。
【符号の説明】
【００９０】
１  データラッチ回路
１Ｃ１  クロック生成回路
２  フリップフロップ回路
２Ｃ１  クロック生成回路
３  データラッチ回路
３Ｃ１  クロック生成回路
４  デュアルポートインバータ
５  デュアルポートクロックドインバータ
６  データラッチ回路
６Ｃ１  クロック生成回路
６Ｃ２  クロック生成回路
７  フリップフロップ回路
７Ｃ１  クロック生成回路
７Ｃ２  クロック生成回路
７Ｃ３  クロック生成回路
【図１】
0005339282.tif 000006
【図２】
0005339282.tif 000007
【図３】
0005339282.tif 000008
【図４】
0005339282.tif 000009
【図５】
0005339282.tif 000010
【図６】
0005339282.tif 000011
【図７】
0005339282.tif 000012
【図８】
0005339282.tif 000013
【図９】
0005339282.tif 000014
【図１０】
0005339282.tif 000015
【図１１】
0005339282.tif 000016
【図１２】
0005339282.tif 000017
【図１３】
0005339282.tif 000018
【図１４】
0005339282.tif 000019
【図１５】
0005339282.tif 000020
【図１６】
0005339282.tif 000021
【図１７】
0005339282.tif 000022
【図１８】
0005339282.tif 000023