(57)【要約】【課題】電源ノイズに耐性のあるラッチ回路およびフリップフロップ装置を提供すること。【解決手段】第１の反転部（１３）の入力と第２の反転部（１４）の出力とが接続された第１のループ（１３＋１４＋１７）内に信号伝搬を通過または遮断する第１の制御素子（１７）が含まれ、第２の反転部（１４）の入力と第３の反転部（１６）の出力とが接続された第２のループ（１４＋１６＋１８）内に信号伝搬を通過または遮断する第２の制御素子（１８）が含まれたラッチ回路（２，３）。【選択図】図１
2019140554.tif 000002
【特許請求の範囲】
【請求項１】
データが入力される入力部と、
予め設定された間隔で信号が反転するクロック信号に応じてデータを通過または遮断する第１の切換部と、
前記入力部からのデータが入力され且つ入力されたデータを反転したデータを出力する第１の反転部と、前記第１の反転部からの出力が入力され且つ入力されたデータを反転したデータを出力する第２の反転部と、を有し、前記第１の反転部の入力と前記第２の反転部の出力とが接続された第１のループであって、前記第１のループ内に前記クロック信号に応じて前記第１のループの信号伝搬を通過または遮断する第１の制御素子が含まれた前記第１のループと、
前記第２の反転部と、前記第２の反転部からの出力が入力され且つ入力されたデータを反転したデータを出力する第３の反転部と、を有し、前記第２の反転部の入力と前記第３の反転部の出力とが接続された第２のループであって、前記第２のループ内に前記クロック信号に応じて前記第２のループの信号伝搬を通過または遮断する第２の制御素子が含まれた前記第２のループと、
を備えたことを特徴とするラッチ回路。
【請求項２】
前記第１の反転部の入力と前記第２の反転部の出力との間に配置され、反転した前記クロック信号に応じて前記第１のループの信号伝搬を通過または遮断する第２の切換部により構成された前記第１の制御素子と、
前記第２の反転部の入力と前記第３の反転部の出力との間に配置され、反転した前記クロック信号に応じて前記第２のループの信号伝搬を通過または遮断する第３の切換部により構成された前記第２の制御素子と、
を備えたことを特徴とする請求項１に記載のラッチ回路。
【請求項３】
前記第２の反転部および前記第１の制御素子の機能を有する第１のクロックドインバータを有する前記第１のループと、
前記第３の反転部および前記第２の制御素子の機能を有する第２のクロックドインバータを有する前記第２のループと、
を備えたことを特徴とする請求項１に記載のラッチ回路。
【請求項４】
請求項１ないし３のいずれかに記載のラッチ回路で構成されたマスターラッチと、
前記マスターラッチからの出力が入力されるスレーブ入力部と、前記第１の切換部とは反転したクロック信号に応じてデータを通過または遮断する第２の切換部を有し、マスターラッチからの出力を保持または出力するスレーブラッチと、
を備えたことを特徴とするフリップフロップ装置。
【請求項５】
請求項１ないし３のいずれかに記載のラッチ回路で構成された前記スレーブラッチ、
を備えたことを特徴とする請求項４に記載のフリップフロップ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラッチ回路およびフリップフロップ装置に関する。
【背景技術】
【０００２】
トランジスタ等の半導体素子を使用した電気回路において、微細化されたＬＳＩ回路（Large Scale Integrated circuit：大規模集積回路）や高信頼性システムでは、信号ノイズの影響が非常に問題になってきている。
特に、マスターラッチとスレーブラッチとが接続されたマスタースレーブフリップフロップにおいて、データを取り込むタイミング（マスターラッチ動作からスレーブラッチ動作に切り替わるタイミングのクロックエッジ）の近傍において、データ信号にノイズ等の電圧パルスが発生すると、フリップフロップは、このノイズを取り込み、誤った値を保持・出力する。すなわち、誤動作する。
【０００３】
フリップフロップ装置において、ノイズ対策を行う技術として、以下の特許文献１〜４に記載の技術が知られている。
特許文献１（特開２０１２−１６５２０９号公報）には、エッジトリガフリップフロップにおいて、パルス状のクロック信号（Ｃ）の立ち上がりにおけるデータ（Ｄ１）と立ち下がりにおけるデータ（Ｄ２）とを比較して、各データ（Ｄ１，Ｄ２）が一致する場合に真正なデータと判断し、不一致の場合にノイズと判断する技術が記載されている。
【０００４】
特許文献２（特開２０１５−１４２１９２号公報）では、データ信号線上のノイズを誤った値として取り込まないように対策された技術が記載されている。
特許文献３（米国特許第７９２０４１０号公報）や特許文献４（米国特許第２０１２／０２２９１８７号公報）には、ラッチ回路を多重化することで、ソフトエラー耐性を向上させることが記載されています。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１６５２０９号公報（「００２５」〜「００２８」、図１）
【特許文献２】特開２０１５−１４２１９２号公報
【特許文献３】米国特許第７９２０４１０号公報
【特許文献４】米国特許第２０１２／０２２９１８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
(従来技術の問題点)
特許文献１〜４に記載の構成では、主に、ソフトエラーに対する対策が行われている。なお、ソフトエラーとは、エネルギー粒子（α線などの宇宙線）が半導体に衝突とすることで、メモリの電荷量が変化してメモリの値が反転する現象（single event setup）、もしくは、エネルギー粒子の衝突で回路内にノイズが発生しメモリの値が反転する現象（single event transition）である。
ここで、ＶＬＳＩ回路（Very  Large Scale Integrated circuit：超大規模集積回路）の微細化、低電圧化、高速化が進むにつれて、ソフトエラーだけでなく、回路の動作に与える電源ノイズの影響が問題となっている。
【０００７】
この電源ノイズには、ＩＲ−ｄｒｏｐや同時スイッチングノイズなどが存在し、従来からデジタル回路の動作の遅延を引き起こすことが知られている。また、ＳＲＡＭ（static random access memory）では保持している値のビット反転が生じることも知られている。ＳＲＡＭの電源ノイズによりビット反転が生じるエラー事例の報告と共にいくつかの対策手法が提案されている。一般に、ＳＲＡＭでの電源ノイズによるエラー（ビット反転）発生に関わる要因として、トランジスタのサイズや閾値が関係していると言われている。
【０００８】
今後さらにＶＬＳＩ回路の微細化、低電圧化、高速化が進むと、デジタル回路の記憶素子であるフリップフロップ（ＦＦ：Flip Flop）回路においても上記の問題が顕著となり、対策が必要になる可能性が高い。そこで、フリップフロップ回路においてもＳＲＡＭと同様に電源ノイズによるビット反転などのエラーが生じるのか回路シミュレーションベースで動作解析をした。
【０００９】
（ＳＲＡＭのビット反転エラーの説明）
図１０は６個のトランジスタから成る一般的なＳＲＡＭの説明図である。
図１０に示すＳＲＡＭは、２個の負荷トランジスタＰ１，Ｐ２（ｐＭＯＳ）、２個の駆動トランジスタＮ１，Ｎ２（ｎＭＯＳ）、２個のアクセストランジスタＮ３，Ｎ４（ｎＭＯＳ）から構成されている。負荷トランジスタＰ１，Ｐ２と駆動トランジスタＮ１，Ｎ２から成る２個のインバータＰ１＋Ｎ１，Ｐ２＋Ｎ２がループ状に接続されているので、これらが論理値（データ）を保持するラッチ回路を構成している。データを保持する２個の内部ノードＱ，ＱＢと相補な論理値になる２本のビット線ＢＬ，ＢＬＢが、それぞれアクセストランジスタＮ３，Ｎ４に接続されている。ワード線ＷＬ＝１（ＶＤＤ）のときアクセストランジスタＮ３，Ｎ４はオン状態になり、２個の内部ノードＱ，ＱＢと２本のビット線ＢＬ，ＢＬＢがそれぞれ電気的に接続される。
【００１０】
電源ノイズはＳＲＡＭのビット反転エラー、すなわちＱとＱＢに保持されている論理値の反転を引き起こすことが知られている。ＳＲＡＭでは、電源ノイズによる動作への影響として、信号遅延だけでなく、Ｑ，ＱＢが保持している値のビット反転が生じるエラーの事例が知られている。このエラーの主な原因として、アクセストランジスタＮ３，Ｎ４と駆動トランジスタＮ１，Ｎ２の間の駆動力のバランスや、ラッチ部分の２個のインバータ内のトランジスタＰ１，Ｐ２，Ｎ１，Ｎ２の閾値のばらつきが関係していると言われている。
【００１１】
例えばメモリのリード動作では、初めにＢＬとＢＬＢはＶＤＤ電圧（論理値１）にプルアップされる。その後ＷＬ＝１となり、ＱとＱＢがそれぞれＢＬとＢＬＢに接続される。
もしＱＢ＝０（Ｑ＝１）が保持されているとすると、ＢＬＢからＱＢを通じてＧＮＤに電流が流れる。よって、ＱＢの電圧はＮ２とＮ４のトランジスの抵抗成分で分圧された電圧に一時的に上昇する。なお、正常動作では、ＱＢはＧＮＤに接続されているので、最終的にはＱＢ＝０，ＢＬＢ＝０となり、ＱＢ＝０の論理値がＢＬＢに読みだされる。
もしこのとき、ＶＤＤに電源ノイズが発生すると、ＱＢの電圧がその影響で上昇し、最終的にＱＢを入力とするＰ１，Ｎ１からなるインバータの出力Ｑが反転し（Ｐ１＝オフ、Ｎ１＝オンとなりＱ＝０）、これがＱＢに伝搬して、ＱＢの電圧が上昇する。この現象は、Ｎ２とＮ４間のトランジスタの駆動力のバランスが影響する。更にトランジスタのばらつき（閾値のばらつき）があると、ビット反転が起こりやすくなる。
【００１２】
（従来のフリップフロップの説明）
（一般的なＤフリップフロップの構造と動作）
一般的なマスタースレーブ型Ｄフリップフロップの構造と動作について説明する。
図１１はトランスミッションゲートで構成されたマスタースレーブ型Dフリップフロップの説明図である。
図１２は図１１のフリップフロップの回路動作の説明図である。
図１３は図１１、図１２のフリップフロップのタイミングチャートである。
図１４は図１１のＮＯＴゲートとトランスミッションゲートをクロックドインバータに置き換えたフリップフロップ回路の一例の説明図である。
図１５は、図１１に示す構成からマスターラッチとスレーブラッチとの接続ノードの位置を変更した第１の例の説明図である。
図１６は、図１１に示す構成からマスターラッチとスレーブラッチとの接続ノードの位置を変更した第２の例の説明図である。
【００１３】
Ｄが（データ）入力、Ｑ，ＱＢが出力、Ｃがクロック信号である（ＣＢはＣと相補なクロック信号）。マスターラッチとスレーブラッチは同一構造であり、それぞれ２個のＮＯＴゲートＮＯＴ１，ＮＯＴ２，ＮＯＴ３，ＮＯＴ４（インバータ）と２個のトランスミッションゲートＴＧ１，ＴＧ２，ＴＧ３，ＴＧ４から構成されている。またマスターラッチとスレーブラッチには、互いに相補なクロック信号Ｃ，ＣＢが供給されている。
【００１４】
図１２において、トランスミッションゲートＴＧ１〜ＴＧ４はスイッチ素子であり、ＴＧ１，ＴＧ４はＣ＝０（ＣＢ＝１）でオン状態、Ｃ＝１（ＣＢ＝０）でオフ状態になる。逆に、ＴＧ２，ＴＧ３はＣ＝０（ＣＢ＝１）でオフ状態、Ｃ＝１（ＣＢ＝０）でオン状態になる。Ｃ＝０（ＣＢ＝１）のときは図１２上部の接続、Ｃ＝１（ＣＢ＝０）のときは図１２下部の接続状態になっている。Ｃ＝０（ＣＢ＝１）のときは、マスターラッチはデータ信号をＤ入力から取り込み（サンプリング）、その入力値は内部ノードＱＭまで伝搬する。またスレーブラッチは、１クロック前に取り込んだ値を保持し、その値をＱ出力から出力している（図１３参照）。Ｃ＝１（ＣＢ＝０）のときは、マスターラッチは、Ｃ＝１になる直前の値を保持し、その値はスレーブラッチを通して、Ｑ出力から出力している（図１３参照）。
【００１５】
以上のように、ここで説明したマスタースレーブ型Ｄフリップフロップは、クロック信号の立ち上がり（０→１）のタイミングに同期して入力値を取り込み、１クロック周期の期間だけ、その値を保持（記憶）し続ける。なおクロックＣ，ＣＢの接続関係を入れ替えると、クロック信号の立ち下がり（１→０）のタイミングに同期した動作になる。
なお、図１１に示す構造以外に、ＮＯＴゲートとトランスミッションゲートをクロックドインバータに置き換えた構造も知られている（図１４）。
更に、マスターラッチとスレーブラッチとの接続ノードの位置により、図１５、 図１６のような構成も知られている。
【００１６】
（一般的なＤフリップフロップの誤動作の説明）
ＣＭＯＳ回路において、ゲートがスイッチングするとき（ゲート出力が０→１あるいは１→０に変化するとき）、一時的にＶＤＤからＧＮＤに電流が流れる。この電流と電源配線の抵抗成分とが作用して、電源電圧が一時的に変化（低下）する電源ノイズが発生する。このような電源ノイズはＩＲドロップ（IR-Drop）と呼ばれる。これ以外にゲートを構成するトランジスタがスイッチング動作をするときに、そのトランジスタの寄生容量や周辺の配線容量が充放電することによって電源やグラウンドに高周波電流が流れ電圧変動が生じる同時スイッチングノイズと呼ばれる電源ノイズもある。このように正常回路であっても、回路（半導体集積回路）の動的動作に起因して、電源電圧に一時的な電圧変動（ＡＣノイズ）が発生する。
【００１７】
次に、電源ノイズによる従来タイプのフリップフロップの誤動作（ビット反転エラー）について説明する。ここではトランスミッションゲートでの誤動作について説明するが、クロックドインバータのフリップフロップでも同様の原因で誤動作が発生する。なおマスターラッチとスレーブラッチとの接続ノードの位置により（図１１、図１５）誤動作の発生状況は異なるが、これは各トランジスタのサイズや、ノードの負荷の影響を受けているためであり、回路条件が整えば、ここに示した４種類のフリップフロップのいずれでも誤動作は発生する恐れがある。なお、回路シミュレーションにはＶＤＤ＝１８Ｖ，０．１８ｕｍのデバイスパラメータを使用した。  
【００１８】
図１７はノード３０＝０、ノード６０＝１のときの誤動作発生原因の説明図である。
クロックＣの立ち上がり（０→１）のタイミングで電源ノイズが発生し、かつノード３０＝０、ノード６０＝１のときの誤動作について説明する。ノード３０＝０なので、ＮＯＴ１のｐＭＯＳトランジスタＭ２０がオン状態、ノード６０＝１なのでＮＯＴ２のｎＭＯＳトランジスタＭ３１がオン状態である。またＣ＝１（ＣＢ＝０）になるとトランスミッションゲートＴＧ２がオン状態になり、ノード４０と３０が接続されて、ＮＯＴ１とＮＯＴ２とで入力Ｄからの入力値をサンプリングした値を保持する。
【００１９】
一般にＭＯＳトランジスタの各端子（ゲート、ドレイン、ソース）には各種の寄生容量が存在する。ｐＭＯＳトランジスタＭ２０に関してはノード３０とＶＤＤとの間に寄生容量（ゲート−基板間容量、ゲート−ソース間容量）が存在する。また、これ以外にも拡散容量や接合容量もある。
電源ノイズが消滅するとき、すなわち一時的に低下した電圧が元の電圧に戻ろうとするとき、ノード３０は、もともと論理値０であることから０Ｖなので、Ｍ２０の寄生容量を介してＶＤＤからノード３０に電流が流れる。またこのタイミングではＣ＝１なのでトランスミッションゲートＴＧ２がオン状態で、かつＮＯＴ２のｎＭＯＳトランジスタＭ３１もオン状態である。よってノード３０はＴＧ２とＭ３１を介してＧＮＤに接続している。よってＶＤＤからノード３０に流れた電流は、ＴＧ２とＭ３１を経由してＧＮＤに流れる。このときＴＧ２とＭ３１には抵抗成分があるため、（電流）×（抵抗）の分だけ、ノード３０の電圧が上昇する。電源ノイズの振幅が大きいほど、多くの電流が流れるためノード３０に生じる電圧（電圧上昇）も大きくなる。この上昇した電圧が、ＮＯＴ１の出力（ノード６０）を反転させたとき、ビット反転のエラーが発生する。すなわちノード３０＝０→１、ノード６０＝１→０となる。またこのときＮＯＴ１とＮＯＴ２にトランジスタばらつき、すなわちトランジスタの閾値の変動があれば、ばらつきのない場合よりもノード３０の低い電圧の上昇でも、容易にビット反転のエラーが発生する。
【００２０】
ここで、トランジスタのばらつきには、大きく分けて閾値（トランジスがオンになるゲート電圧）の変動とサイズの変動がある。これらのばらつきは、トランジスタのオン・オフ動作やゲートの駆動能力に影響を与える。ここでは閾値のばらつきを考慮しているが、トランジスタサイズが変動した場合も同様の傾向を示すと考えられる。なおトランジスタの閾値の絶対値が大きくなると、トランジスタがオンしにくくなるため、トランジスタのスイッチング速度（ゲート速度）が遅くなる。よってトランジスタの閾値の絶対値が大きくなることはｓｌｏｗ（ｓ）と表記される。逆にトランジスタの閾値の絶対値が小さくなると、トランジスタがオンしやすくなるため、トランジスタのスイッチング速度（ゲート速度）が速くなる。よってトランジスタの閾値の絶対値が小さくなることはｆａｓｔ（ｆ）と表記される。
【００２１】
図１８はシミュレーション結果の説明図であり、図１８（Ａ）は、トランジスタのばらつきがあり且つ電源ノイズが無い場合のシミュレーション結果、図１８（Ｂ）は、トランジスタのばらつきが無く且つ電源ノイズが発生した場合のシミュレーション結果、図１８（Ｃ）はトランジスタのばらつきがあり且つ電源ノイズが発生した場合のシミュレーション結果である。
図１８（Ａ）において、トランジスタばらつきあり且つ電源ノイズなしのシミュレーション結果では、正常動作を示している。このとき、トランジスタのばらつきは、Ｍ２０（ｐＭＯＳ）＝ｓ、Ｍ２１（ｎＭＯＳ）＝ｆ、Ｍ３０（ｐＭＯＳ）＝ｆ、Ｍ３１（ｎＭＯＳ）＝ｓ（本来オフしているＭ２１とＭ３０がオンしやすくなる条件）である。
図１８（Ｂ）において、トランジスタばらつきなし且つ電源ノイズ挿入のシミュレーション結果では、正常動作を示している。
【００２２】
図１８（Ｃ）において、トランジスタばらつきあり且つ電源ノイズ挿入のシミュレーション結果では、誤動作を示している。電源ノイズが消滅するタイミングで、ノード３０の電圧が上昇して、ノード６０＝１→０、ノード３０＝０→１、出力Ｑ＝０となり、ビット反転が起こっている。
なお、図１８の各回路シミュレーションでは、誤動作を意図的に引き起こすためにゲートごとにトランジスタ閾値のばらつき方向を独立に設定しているが（ＮＯＴ１：Ｍ２０（ｐＭＯＳ）＝ｓ、Ｍ２１（ｎＭＯＳ）＝ｆ、ＮＯＴ２：Ｍ３０（ｐＭＯＳ）＝ｆ、
Ｍ３１（ｎＭＯＳ）＝ｓ）、ＮＯＴ１にだけばらつきを与えても（Ｍ２０（ｐＭＯＳ）＝ｓ、Ｍ２１（ｎＭＯＳ）＝ｆ）、同様のビット反転が起こることを確認した。
【００２３】
図１９はノード３０＝１、ノード６０＝０のときの誤動作発生原因の説明図であり、図１９（Ａ）はマスターラッチのノード３０をスレーブ列置の入力ＱＭに接続した場合の誤動作の説明図、図１９（Ｂ）はノード６０をＱＭに接続した場合の説明図である。
次に、図１９を使用して、クロックＣの立ち上がり（０→１）のタイミングで電源ノイズが発生し、かつノード３０＝１、ノード６０＝０のときの誤動作について説明する。なお、図１９は、前述した図１７と逆の論理値の場合に相当する。図１９において、ノード３０＝１なので、ＮＯＴ１のｎＭＯＳトランジスタＭ２１がオン状態、ノード６０＝０なのでＮＯＴ２のｐＭＯＳトランジスタＭ３０がオン状態である。またＣ＝１（ＣＢ＝０）になるとトランスミッションゲートＴＧ２がオン状態になり、ノード４０と３０が接続されて、ＮＯＴ１とＮＯＴ２とでサンプリングした値を保持する。
【００２４】
電源ノイズが消滅するとき、すなわち一時的に低下した電圧が元の電圧に戻ろうとするとき、ノード６０は、もともと論理値０であることから０Ｖなので、Ｍ３０の寄生容量を介してＶＤＤから６０に電流が流れる。またＮＯＴ１のｎＭＯＳトランジスタＭ２１がオン状態である。よってノード６０はＭ２１を介してＧＮＤに接続している。よってＶＤＤからノード６０に流れた電流は、Ｍ２１を経由してＧＮＤに流れるが、Ｍ２１には抵抗成分があるため、（電流）×（抵抗）の分だけ、ノード６０の電圧が上昇する。電源ノイズの振幅が大きいほど、多くの電流が流れるためノード６０に生じる電圧も大きくなる。この上昇した電圧が、ＮＯＴ２の出力（ノード４０）を反転させたとき、ビット反転のエラーが発生する。すなわちノード６０＝０→１、ノード３０＝１→０となる。またこのときＮＯＴ１とＮＯＴ２にトランジスタばらつき、すなわちトランジスタの閾値の変動があれば、上記の場合よりも低いノード電圧の上昇でも、容易にビット反転のエラーが発生する。
【００２５】
なお、図１９（Ａ）のマスターラッチのノード３０をスレーブラッチの入力ＱＭに接続した場合には、誤動作が発生した。図１９（Ｂ）のようにノード６０をＱＭに接続した場合、負荷等の関係で、確かめた範囲（トランジスタサイズ）では誤動作は発生しなかった。なおＮＯＴ２（Ｍ３０，Ｍ３１）のサイズを大きくすると多くの電流が流れるので、誤動作は発生する。
【００２６】
図２０はシミュレーション結果の説明図であり、図２０（Ａ）はトランジスタばらつきあり且つＦＦ全体に電源ノイズ挿入のシミュレーション結果、図２０（Ｂ）はトランジスタばらつきあり且つマスターラッチのループにだけ電源ノイズ挿入のシミュレーション結果である。
図２０（Ａ）において、トランジスタばらつきあり且つＦＦ全体に電源ノイズ挿入のシミュレーション結果では、正常動作を示している。このとき、トランジスタのばらつきは、先ほどと逆でＭ２０（ｐＭＯＳ）＝ｆ、Ｍ２１（ｎＭＯＳ）＝ｓ、Ｍ３０（ｐＭＯＳ）＝ｓ、Ｍ３１（ｎＭＯＳ）＝ｆである。
図２０（Ｂ）において、トランジスタばらつきあり且つマスターラッチのループにだけ電源ノイズ挿入のシミュレーション結果では、誤動作を示している。電源ノイズが消滅するタイミングで、ノード６０の電圧が上昇してＶＤＤ（論理値１）になり、よってノード３０＝１→０、出力ＱＢ＝１となり、ビット反転が起こっている。
【００２７】
したがって、従来構成のフリップフロップでは、一部の回路構成で誤動作が発生する。誤動作の発生は、トランジスタのサイズ、特にｐＭＯＳとｎＭＯＳの大きさのバランス、ばらつきの方向、ノードに接続している負荷の大きさにも依存する。回路に流れる電流とノード電圧を確認した結果から、誤動作（ビット反転）は、上述した原因によるものであることから、回路構成の条件が整えば、通常のフリップフロップでは誤動作が発生する可能性がある。
まとめると、電源ノイズの発生タイミングやトランジンスタのばらつきにより、フリップフロップ回路（フリップフロップ装置）において、ＳＲＡＭと同様にビット反転のエラーが発生する問題があることが確認された。
【００２８】
本発明は、電源ノイズに耐性のあるラッチ回路およびフリップフロップ装置を提供することを技術的課題とする。
【課題を解決するための手段】
【００２９】
前記技術的課題を解決するために、請求項１に記載のラッチ回路は、
データが入力される入力部と、
予め設定された間隔で信号が反転するクロック信号に応じてデータを通過または遮断する第１の切換部と、
前記入力部からのデータが入力され且つ入力されたデータを反転したデータを出力する第１の反転部と、前記第１の反転部からの出力が入力され且つ入力されたデータを反転したデータを出力する第２の反転部と、を有し、前記第１の反転部の入力と前記第２の反転部の出力とが接続された第１のループであって、前記第１のループ内に前記クロック信号に応じて前記第１のループの信号伝搬を通過または遮断する第１の制御素子が含まれた前記第１のループと、
前記第２の反転部と、前記第２の反転部からの出力が入力され且つ入力されたデータを反転したデータを出力する第３の反転部と、を有し、前記第２の反転部の入力と前記第３の反転部の出力とが接続された第２のループであって、前記第２のループ内に前記クロック信号に応じて前記第２のループの信号伝搬を通過または遮断する第２の制御素子が含まれた前記第２のループと、
を備えたことを特徴とする。
【００３０】
請求項２に記載の発明は、請求項１に記載のラッチ回路において、
前記第１の反転部の入力と前記第２の反転部の出力との間に配置され、反転した前記クロック信号に応じて前記第１のループの信号伝搬を通過または遮断する第２の切換部により構成された前記第１の制御素子と、
前記第２の反転部の入力と前記第３の反転部の出力との間に配置され、反転した前記クロック信号に応じて前記第２のループの信号伝搬を通過または遮断する第３の切換部により構成された前記第２の制御素子と、
を備えたことを特徴とする。
【００３１】
請求項３に記載の発明は、請求項１に記載のラッチ回路において、
前記第２の反転部および前記第１の制御素子の機能を有する第１のクロックドインバータを有する前記第１のループと、
前記第３の反転部および前記第２の制御素子の機能を有する第２のクロックドインバータを有する前記第２のループと、
を備えたことを特徴とする。
【００３２】
前記技術的課題を解決するために、請求項４に記載の発明のフリップフロップ装置は、
請求項１ないし３のいずれかに記載のラッチ回路で構成されたマスターラッチと、
前記マスターラッチからの出力が入力されるスレーブ入力部と、前記第１の切換部とは反転したクロック信号に応じてデータを通過または遮断する第２の切換部を有し、マスターラッチからの出力を保持または出力するスレーブラッチと、
を備えたことを特徴とする。
【００３３】
請求項５に記載の発明は、請求項４に記載のフリップフロップ装置において、
請求項１ないし３のいずれかに記載のラッチ回路で構成された前記スレーブラッチ、
を備えたことを特徴とする。
【発明の効果】
【００３４】
請求項１に記載の発明によれば、第１のループと第２のループとが準二重化されており、電源ノイズに耐性のあるラッチ回路を提供することができる。
請求項２に記載の発明によれば、反転部と切換部とで別の回路素子を使用した回路で電源ノイズに耐性のあるラッチ回路を実現できる。
請求項３に記載の発明によれば、反転部と切換部が一体となったクロックドインバータを使用した回路で、電源ノイズに耐性のあるラッチ回路を実現できる。
請求項４に記載の発明によれば、第１のループと第２のループとが準二重化されており、電源ノイズに耐性のあるラッチ回路を有するフリップフロップ装置を提供することができる。
請求項５に記載の発明によれば、電源ノイズに耐性のあるマスタースレーブ型のフリップフロップ装置を提供することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は本発明の実施例１のフリップフロップ装置の説明図である。
【図２】図２は、ノード３０＝０、ノード６０＝１（ノード４０＝１、ノード５０＝０）のときの誤動作防止の説明図であり、図１８（Ｃ）の誤動作に対応する説明図である。
【図３】図３は、ノード３０＝１、ノード６０＝０（ノード４０＝０、ノード５０＝１）のときの誤動作防止の説明図であり、図１９（Ａ）の誤動作に対応する説明図である。
【図４】図４は、実施例１のフリップフロップ装置のシミュレーション結果の説明図であり、図２の場合：ノード３０＝０、ノード６０＝１（ノード４０＝１、ノード５０＝０）のシミュレーション結果の説明図である。
【図５】図５は、実施例１のフリップフロップ装置のシミュレーション結果の説明図であり、図３の場合：ノード３０＝１、ノード６０＝０（ノード４０＝０、ノード５０＝１）のシミュレーション結果の説明図である。
【図６】図６はシミュレーション結果の説明図であり、図６（Ａ）は図５のマスターラッチのノード３０をスレーブラッチの入力ＱＭに接続した場合のシミュレーション結果、図６（Ｂ）は図１９（Ａ）に対応する従来構成の場合のシミュレーション結果の図である。
【図７】図７は変更例１の説明図である。
【図８】図８は変更例２の説明図である。
【図９】図９は図８のラッチ回路をトランジスタレベルで表記した回路図である。
【図１０】図１０は６個のトランジスタから成る一般的なＳＲＡＭの説明図である。
【図１１】図１１はトランスミッションゲートで構成されたマスタースレーブ型Ｄフリップフロップの説明図である。
【図１２】図１２は図１１のフリップフロップの回路動作の説明図である。
【図１３】図１３は図１１、図１２のフリップフロップのタイミングチャートである。
【図１４】図１４は図１１のＮＯＴゲートとトランスミッションゲートをクロックドインバータに置き換えたフリップフロップ回路の一例の説明図である。
【図１５】図１５は、図１１に示す構成からマスターラッチとスレーブラッチとの接続ノードの位置を変更した第１の例の説明図である。
【図１６】図１６は、図１１に示す構成からマスターラッチとスレーブラッチとの接続ノードの位置を変更した第２の例の説明図である。
【図１７】図１７はノード３０＝０、ノード６０＝１のときの誤動作発生原因の説明図である。
【図１８】図１８はシミュレーション結果の説明図であり、図１８（Ａ）は、トランジスタのばらつきがあり且つ電源ノイズが無い場合のシミュレーション結果、図１８（Ｂ）は、トランジスタのばらつきが無く且つ電源ノイズが発生した場合のシミュレーション結果、図１８（Ｃ）はトランジスタのばらつきがあり且つ電源ノイズが発生した場合のシミュレーション結果である。
【図１９】図１９はノード３０＝１、ノード６０＝０のときの誤動作発生原因の説明図であり、図１９（Ａ）はマスターラッチのノード３０をスレーブ列置の入力ＱＭに接続した場合の誤動作の説明図、図１９（Ｂ）はノード６０をＱＭに接続した場合の説明図である。
【図２０】図２０はシミュレーション結果の説明図であり、図２０（Ａ）はトランジスタばらつきあり且つＦＦ全体に電源ノイズ挿入のシミュレーション結果、図２０（Ｂ）はトランジスタばらつきあり且つマスターラッチのループにだけ電源ノイズ挿入のシミュレーション結果である。
【発明を実施するための形態】
【００３６】
次に図面を参照しながら、本発明の実施の形態の具体例（以下、実施例と記載する）を説明するが、本発明は以下の実施例に限定されるものではない。
なお、以下の図面を使用した説明において、理解の容易のために説明に必要な部材以外の図示は適宜省略されている。
【実施例１】
【００３７】
図１は本発明の実施例１のフリップフロップ装置の説明図である。
図１において、実施例１のフリップフロップ装置１は、ラッチ回路の一例としてのマスターラッチ２と、ラッチ回路の一例としてのスレーブラッチ３とを有するマスタースレーブ型のフリップフロップにより構成されている。
実施例１のマスターラッチ２は、入力端子（入力部）２ａから入力されるデータ（入力信号）Ｄを反転させる第１の反転素子１１を有する。
第１の反転素子１１の出力側には、第１の切換部の一例としての第１のトランスミッションゲート１２が接続されている。実施例１の第１のトランスミッションゲート１２は、クロック信号ＣがＣ＝０の場合（すなわち、ＣＢ＝１の場合）にオンになるゲートにより構成されている。
第１のトランスミッションゲート１２の出力側には、第１の反転部の一例としての第１のＮＯＴゲート１３の入力側が接続されている。
第１のＮＯＴゲート１３の出力側には、第２の反転部の一例としての第２のＮＯＴゲート１４の入力側が接続されている。
第２のＮＯＴゲート１４の出力側には、第３の反転部の一例としての第３のＮＯＴゲート１６の入力側が接続されている。
第３のＮＯＴゲート１６の出力は、スレーブラッチ３の入力側に接続されている。
【００３８】
なお、各ＮＯＴゲート１３〜１６は、同様に構成されており、ｐＭＯＳトランジスタ１３ａ，１４ａ，１６ａとｎＭＯＳトランジスタ１３ｂ，１４ｂ，１６ｂを有する。そして、ｐＭＯＳトランジスタ１３ａ，１４ａ，１６ａとｎＭＯＳトランジスタ１３ｂ，１４ｂ，１６ｂのゲートどうしが入力に接続され、ｐＭＯＳトランジスタ１３ａ，１４ａ，１６ａとｎＭＯＳトランジスタ１３ｂ，１４ｂ，１６ｂの各ドレインどうしが出力に接続される。また、ｐＭＯＳ１３ａ，１４ａ，１６ａのソースが駆動電圧（ＶＤＤ）に接続され、ｎＭＯＳ１３ｂ，１４ｂ，１６ｂのソースがアース（接地、０Ｖ）に接続される。
なお、実施例１のスレーブラッチ３は、従来のマスタースレーブ型のフリップフロップにおけるスレーブラッチと同様に構成されている。したがって、スレーブ入力部３ａ、第１のスレーブトランスミッションゲート３ｂ、第１のスレーブＮＯＴゲート３ｃ、第２のスレーブＮＯＴゲート３ｄ、第２のスレーブトランスミッションゲート３ｅを有する。
【００３９】
第１のＮＯＴゲート１３の入力側と、第２のＮＯＴゲート１４の出力側との間には、第１の制御素子の一例であって、第２の切換部の一例としての第２のトランスミッションゲート１７が接続されている。第２のトランスミッションゲート１７は、クロック信号ＣがＣ＝１の場合（ＣＢ＝０の場合）にオンになるゲートにより構成されている。
また、第１のＮＯＴゲート１３の出力側（第２のＮＯＴゲート１４の入力側）と第３のＮＯＴゲート１６の出力側との間には、第２の制御素子の一例であって、第３の切換部の一例としての第３のトランスミッションゲート１８が接続されている。第３のトランスミッションゲート１８は、クロック信号ＣがＣ＝１の場合（ＣＢ＝０の場合）にオンになるゲートにより構成されている。
【００４０】
したがって、実施例１のマスターラッチ２は、いわば、ＮＯＴゲート２個で構成されたループを２個交差させた構造（crossed-loop FF）になっている。すなわち、第２のトランスミッションゲート１７を介するノード３０と５０のループと、第３のトランスミッションゲート１８を介するノード４０と６０のループとからなる２つのループが交差した構造となっている。より具体的には、実施例１のフリップフロップ装置１では、第１のＮＯＴゲート１３と第２のＮＯＴゲート１４と第２のトランスミッションゲート１７からなる第１のループ１３＋１４＋１７と、第２のＮＯＴゲート１４と第３のＮＯＴゲート１６と第３のトランスミッションゲート１８からなる第２のループ１４＋１６＋１８と、の２つのループが交差した構成となっており、いわば、準二重化された回路構成となっている。
【００４１】
前記構成を備えた実施例１のフリップフロップ装置１では、クロック信号Ｃが「０」になると、第１のランスミッションゲート１２がオンとなり、データＤが入力される。なお、このとき、第２のトランスミッションゲート１７および第３のトランスミッションゲート１８は、オフの状態となる。また、スレーブラッチ３の最初のトランスミッションゲートもオフとなる。
入力されたデータＤが「１」の場合、反転素子１１で値が反転され（「０」にされ）、第１のＮＯＴゲート１３の入力側のノード３０は、「０」となる。これに伴って、ｐＭＯＳ側がオンになって、第１のＮＯＴゲート１３の出力側（第２のＮＯＴゲート１４の入力側）のノード４０は、「１」となる。第２のＮＯＴゲート１４の入力側が「１」になると、第２のＮＯＴゲート１４のｎＭＯＳ側がオンになって、第２のＮＯＴゲート１４の出力側（第３のＮＯＴゲート１６の入力側）のノード５０は、「０」となる。
第３のＮＯＴゲート１６の入力側が「０」になると、第３のＮＯＴゲート１６のｐＭＯＳ側がオンになって、第３のＮＯＴゲート１６の出力側（マスターラッチ２の出力側）のノード６０は、「１」となる。
したがって、入力されたデータＤ（「１」）が、マスターラッチ２の出力（「１」）となる。そして、このとき、スレーブラッチ３の入口のトランスミッションゲートがオフであるため、スレーブラッチ３に保持されているデータは更新されない。
【００４２】
クロック信号Ｃが「１」になると、第１のトランスミッションゲート１２がオフとなり、データＤが入力されなくなる。また、第２のトランスミッションゲート１７および第３のトランスミッションゲート１８は、オンになる。したがって、ノード３０とノード５０が接続され、ノード４０とノード６０が接続された状態となり、データＤが保持された状態となる。また、このとき、スレーブラッチ３にマスターラッチ２で保持されていたデータＤが入力される。
【００４３】
次に誤動作防止の原理を説明する。
図２は、ノード３０＝０、ノード６０＝１（ノード４０＝１、ノード５０＝０）のときの誤動作防止の説明図であり、図１８（Ｃ）の誤動作に対応する説明図である。
図２において、電源ノイズが消滅するとき、第１のＮＯＴゲート１３のｐＭＯＳトランジスタ１３ａの寄生容量から電流が流れ、第２のトランスミッションゲート１７とノード５０を介して、第２のＮＯＴゲート１４のｎＭＯＳトランジスタ１４ｂからＧＮＤ（アース）に電流が流れる。また第３のＮＯＴゲート１６のｐＭＯＳトランジスタ１６ａの寄生容量から電流が流れ、 第２のＮＯＴゲート１４のｎＭＯＳトランジスタ１４ｂからＧＮＤにも電流が流れる。よってノード５０とｎＭＯＳトランジスタ１４ｂには２経路から電流が流れる。すなわち、約２倍の電流が流れることとなる。よって、ノード５０の電圧は上昇しやすくなり、ノード５０の値が０から１になりやすくなる。
【００４４】
しかし、実施例１のフリップフロップ装置１では、ノード５０を駆動している第２のＮＯＴゲート１４の入力であるノード４０は、第１のＮＯＴゲート１３と第３のＮＯＴゲート１６の２個のゲートが駆動している。このことにより、ノード４０は論理値１を保持し続けようとするため、その出力であるノード５０も論理値０を保持し続けようとする。よって、電流が流れても、ノード５０の電圧上昇を抑えることができる。
すなわち、ノード５０には電流が流れるので、ノード５０の電圧上昇を完全に防止できないが、従来のフリップフロップに比べれば、電圧上昇を抑えることができる。よって従来のフリップフロップに比べて、より大きな電源ノイズに対してビット反転のエラーを防止できる。
【００４５】
図３は、ノード３０＝１、ノード６０＝０（ノード４０＝０、ノード５０＝１）のときの誤動作防止の説明図であり、図１９（Ａ）の誤動作に対応する説明図である。
図３において、電源ノイズが消滅するとき、第２のＮＯＴゲート１４のｐＭＯＳトランジスタ１４ａの寄生容量から電流が流れる。その電流は、第１のＮＯＴゲート１３のｎＭＯＳトランジスタ１３ｂからＧＮＤに流れ、また、第３のトランスミッションゲート１８とノード６０を介して、 第３のＮＯＴゲート１６のｎＭＯＳトランジスタ１６ｂからＧＮＤに流れる。すなわち、電流が２経路に分散して流れる。したがって、各経路に約１／２倍の電流が流れることとなる。よって、ノード６０およびノード４０の電圧上昇を抑えることができるので、論理値０を保持し続けやすくなる。すなわち、図３の場合でも、電流発生は完全に防止できないが、各ノードに流れる電流量を削減できるので、従来のフリップフロップに比べて、より大きな電源ノイズに対してビット反転のエラーを防止できる。
【００４６】
図４は、実施例１のフリップフロップ装置のシミュレーション結果の説明図であり、図２の場合：ノード３０＝０、ノード６０＝１（ノード４０＝１、ノード５０＝０）のシミュレーション結果の説明図である。
図４にシミュレーション結果を示す。図４（Ａ）は、トランジスタばらつきあり且つ電源ノイズなしのシミュレーション結果であり、正常動作を示している。このとき、トランジスタのばらつきは、第１のＮＯＴゲート１３はｐＭＯＳ＝ｓ、ｎＭＯＳ＝ｆ、第１のＮＯＴゲート１３はｐＭＯＳ＝ｆ、ｎＭＯＳ＝ｓ、第３のＮＯＴゲート１６はｐＭＯＳ＝ｓ、ｎＭＯＳ＝ｆである。
図４（Ｂ）はトランジスタばらつきなし且つ電源ノイズ挿入のシミュレーション結果であり、正常動作を示している。
図４（Ｃ）はトランジスタばらつきあり且つ電源ノイズ挿入のシミュレーション結果であり、正常動作（誤動作なし）を示している。 
なお、スレーブラッチの入力ＱＭをノード４０に接続した場合も、同様の効果が得られた。
【００４７】
図５は、実施例１のフリップフロップ装置のシミュレーション結果の説明図であり、図３の場合：ノード３０＝１、ノード６０＝０（ノード４０＝０、ノード５０＝１）のシミュレーション結果の説明図である。
図５（Ａ）は、マスターラッチのノード６０をスレーブラッチの入力ＱＭに接続した場合で、トランジスタばらつきあり且つマスターラッチのループにだけ電源ノイズ挿入のシミュレーション結果であり、正常動作を示している。このとき、トランジスタのばらつきは、第１のＮＯＴゲート１３はｐＭＯＳ＝ｆ、ｎＭＯＳ＝ｓ、第２のＮＯＴゲート１４はｐＭＯＳ＝ｓ、ｎＭＯＳ＝ｆ、第３のＮＯＴゲート１６はｐＭＯＳ＝ｆ、ｎＭＯＳ＝ｓである。  
図５（Ｂ）は、マスターラッチのノード４０をスレーブラッチの入力ＱＭに接続した場合でトランジスタばらつきあり且つマスターラッチのループにだけ電源ノイズ挿入のシミュレーション結果であり、正常動作を示している。トランジスタのばらつきは図５（Ａ）と同じである。
【００４８】
図６はシミュレーション結果の説明図であり、図６（Ａ）は図５のマスターラッチのノード３０をスレーブラッチの入力ＱＭに接続した場合のシミュレーション結果、図６（Ｂ）は図１９（Ａ）に対応する従来構成の場合のシミュレーション結果の図である。
図６（Ａ）は実施例１のフリップフロップで正常動作を示している。また、図６（Ｂ）は従来のフリップフロップで誤動作（グリッジの発生）を示している。
したがって、前述の結果から、実施例１のフリップフロップ装置１は、従来の構成に比べて、電源ノイズの耐性が向上していることがわかった。
【００４９】
なお、実施例１のフリップフロップ装置１では、図１１で前述した従来のフリップフロップからはＮＯＴ１ゲート１個とトランスミッションゲート１個の回路増加となっており、構成の大型化についても最小限度に抑制されている。
【００５０】
また、実施例１のフリップフロップ装置１において、図２の場合に電流が２倍流れる対策として、電流が流れるタイミングをずらすことで、流れる電流を減らして、ノード３０の値がノイズで変化しにくくすることも可能である。例えば、第２のトランスミッションゲート１７へのクロック信号Ｃの入力を遅延させることで、実現可能である。なお、クロック信号Ｃの入力を遅延させても、回路構造に冗長性があるので、動作速度への影響はほとんどないと考えられる。また、第１のトランスミッションゲート１２と第３のトランスミッションゲート１８とが同期していれば、データＤのラッチとしては成立するため、マスターラッチ２の性能、動作としては支障がない。
【００５１】
（変更例１）
図７は変更例１の説明図である。
実施例の構成に変えて、図７に示すように、スレーブラッチ３をマスターラッチ２と同様の構造にすることも可能である。
【００５２】
（変更例２）
図８は変更例２の説明図（ゲートレベルで表記した回路図）である。
図９は図８のラッチ回路をトランジスタレベルで表記した回路図である。
また、図８、図９に示すように、従来フリップフロップ同様に、ＮＯＴゲートとトランスミッションゲートの代わりに、等価な回路であるクロックドインバータに置き換えた構造も可能である。
【００５３】
具体的には、図８、図９に示すように、第１のトランスミッションゲート１２を、第１の切換部の一例としてのクロックドインバータ１２″に置き換えることが可能である。
また、第２のＮＯＴゲート１４と第２のトランスミッションゲート１７とを、第１のクロックドインバータ１４″に置き換えることが可能である。したがって、第１のクロックドインバータ１４″は、クロック信号に応じて、反転したデータを出力することが可能であり、第２のＮＯＴゲート（第２の反転部）１４だけでなく第２のトランスミッションゲート（第１の制御素子）１７の機能も有する。
【００５４】
さらに、第３のＮＯＴゲート１６と第３のトランスミッションゲート１８とを、第２のクロックドインバータ１６″に置き換えることが可能である。したがって、第２のクロックドインバータ１６″は、第３のＮＯＴゲート（第３の反転部）１６だけでなく第３のトランスミッションゲート（第２の制御素子）１８の機能も有する。
なお、第１のＮＯＴゲート１３の入力側（ノード３０）と第１のクロックドインバータ１４″の出力側（ノード５０）とは接続線１０１で接続されている。また、第１のクロックドインバータ１４″の入力側（ノード４０）と第２のクロックドインバータ１６″の出力側（ノードＱＭ）とは接続線１０２で接続されている。したがって、変更例２では、第１のＮＯＴゲート１３と第１のクロックドインバータ１４″と接続線１０１とで第１のループ１３＋１４″＋１０１が構成されている。また、第１のクロックドインバータ１４″と第２のクロックドインバータ１６″と接続線１０２とで第２のループ１４″＋１６″＋１０２が構成されている。
【００５５】
図８、図９に示すマスターラッチ２″は、回路として、図１に示すマスターラッチ２と等価の回路であるため、図１で説明したマスターラッチ２と同様の作用効果を有する。したがって、図８、図９に示す構成でも、従来の構成に比べて、電源ノイズの耐性が向上する。
【００５６】
（そのほかの変更例）
図１１と図１５に示す関係と同様に、図１１に対応する図１、図７、図８、図９においても、図１５に示す構成のように、スレーブラッチ３の入力ＱＭはノード４０もしくはノード５０に接続する回路構造とすることも可能である。
【００５７】
以上、本発明の実施例および変更例を詳述したが、本発明は、前記実施例等に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内で、種々の変更を行うことが可能である。すなわち、実施例で例示した回路と等価な任意の回路構成とすることが可能である。
【符号の説明】
【００５８】
１…フリップフロップ装置、
２…ラッチ回路、マスターラッチ、
２ａ…入力部、
３…ラッチ回路、スレーブラッチ、
３ａ…スレーブ入力部、
３ｂ…スレーブ切換部、
３ｃ…第１のスレーブ反転部、
３ｄ…第２のスレーブ反転部、
３ｅ…第２のスレーブ切換部、
１２…第１の切換部、
１３…第１の反転部、
１３＋１４＋１７…第１のループ、
１４，１４″…第２の反転部、
１４″…第１の制御素子、第１のクロックドインバータ、
１４＋１６＋１８…第２のループ、
１６，１６″…第３の反転部、
１６″…第２の制御素子、第２のクロックドインバータ、
１７…第１の制御素子、第２の切換部、
１８…第２の制御素子、第３の切換部、
Ｃ…クロック信号、
Ｄ…データ。
【図１】
2019140554.tif 000003
【図２】
2019140554.tif 000004
【図３】
2019140554.tif 000005
【図４】
2019140554.tif 000006
【図５】
2019140554.tif 000007
【図６】
2019140554.tif 000008
【図７】
2019140554.tif 000009
【図８】
2019140554.tif 000010
【図９】
2019140554.tif 000011
【図１０】
2019140554.tif 000012
【図１１】
2019140554.tif 000013
【図１２】
2019140554.tif 000014
【図１３】
2019140554.tif 000015
【図１４】
2019140554.tif 000016
【図１５】
2019140554.tif 000017
【図１６】
2019140554.tif 000018
【図１７】
2019140554.tif 000019
【図１８】
2019140554.tif 000020
【図１９】
2019140554.tif 000021
【図２０】
2019140554.tif 000022