選択信号Sを作るAND回路で、一方の入力が1→0、他方の入力が0→1に変化する場合、安定状態ではANDの出力は0であるが、変化の途中では0→1の変化の方が少し早いと、一瞬High("1")が出力されてしまう。このような一瞬のノイズをGlitchという。図1.37の回路では本来、選択するSiとは別のSjが一瞬Highになり、DjもHighとするとノードXの電荷は放電されてしまう。その後、正しいSiをHighにしてDiがLowとしてもノードXの電位はHighには戻らないので、誤った結果となってしまう。

このような危険がある場合は、図1.39の回路を使うと良い。

図1.39 Foot付のダイナミック回路

図1.39の回路が図1.37の回路と異なっている点は、D入力が入るNMOSトランジスタのソースが直接Vssに接続されるのではなく、Foot Transistorを通してVssに接続される点である。

このFootトランジスタのゲートにはPC信号が入力されており、PC=Lowの期間はFootトランジスタはオフになっている。したがって、SjとDjがHighになっているパスがあってもノードXの電荷が放電されることはない。前述のSjにGlitchが乗る可能性のあるタイミングではPC=Lowとして置き、すべてのS入力が安定した時にPC=Highに切り替えると、Footトランジスタがオンになり、SiがHighのパスのDiがHighであればノードXの電荷が放電されて電位はVssとなり、DiがLowであれば、放電されずにノードXの電位はHighの状態を保つ。

このように図1.39の回路はより安全であるが、放電パスにFootトランジスタが入り、3個のNMOSトランジスタが直列になる。したがって、図1.37の回路より放電の速度が遅くなり、スイッチ時間が長くなる。また、PC信号から見ると、Footトランジスタのゲートの分だけ負荷が増えるため、消費電力が増加するという代償が必要となっている。

図1.39の回路を使えば、S信号のうちの1つしか"1"にならない使い方では問題がないが、一般的なAND-ORとして使う場合は問題が出る場合がある。

例えば、S信号がすべてLowの状態でPre-Chargeを行い、Evaluation期間にはD信号がすべてLowでS信号がすべてHighの状態になると、放電パスは形成されないが、出力ノードXの電荷がS入力とD入力NMOSトランジスタの中間ノードの寄生容量にも再分配(Charge Sharingと呼ぶ)されてしまい、ノードXの電位が低下して次のインバータでLowと判定されてしまうというような誤動作が発生しうる。

ということで、ダイナミック回路は、消費電力が大きくなる、使用上、注意を必要とすする事項が多々あるということで、一般的な論理回路に用いられることはほとんどないが、多数入力のORを必要とする場合には、スタティック回路を多段に接続して作るよりも速度、消費電力、チップ面積の点で有利であり、誤動作しないように注意深い設計をして使用されている。