ノイズ対策技術

14. ディジタル回路技術

line

14.(4) フリップフロップ

14.(4-A) 基   本

◆ FF (フリップフロップ )は、ノイズ対策上、ゲートよりも多くの注意が必要です。
ゲートでは、ノイズ要因がなくなれば、ノイズによる異常も無くなります。しかし フリップフロップ では、ノイズによって フリップフロップ が動作すれば、ノイズが消え去った後にも、異常が回復しないで残ります(図.16)。

[図.16] フリップフロップ の誤動作は記憶される

フリップフロップの誤動作は記憶される fg17a.gif

◆ フリップフロップ の回路も、ゲートで作られます。ただし、記憶機能を持たせるために、たすき掛けのフィードバック回路を構成しています(図.17)。図は最も基本的なフリップフロップ回路です。一般には、フリップフロップ は、より複雑な回路になっていますが、この回路をベースにモディファイしたものです。

[図.17] フリップフロップ の基本回路構成

フリップフロップの基本回路構成

◆ このフィードバックが存在することが、フリップフロップ の耐ノイズ性を著しく悪くしています。
ゲートICの出力は、図.7 から分かるように、入力に比べると、ノイズには強い性質を持っています。ところが、フリップフロップの場合には、図.17 に示されているように、出力は、実は入力にもなっています。しかも、この入力は、フリップフロップ の出力を反転させる能力を持っています。すなわち、フリップフロップ の出力は、2 重の意味でノイズに弱いのです。
◆ 一般に、配線を長く延ばすのは、ノイズに強いところで延ばします。フリップフロップ の出力は、最もノイズに弱いのですから、延ばすことはできません。この対策は、バッファの活用です(図.18)。

[図.18] バッファを活用する

バッファを活用する

◆ フリップフロップ の出力に、できるだけ近く、バッファを挿入します。配線を延ばすのは、バッファの出力を使用します。これは、単に フリップフロップ の出力だけでなく、レジスタやカウンタの出力も、同様です。レジスタやカウンタなどは、フリップフロップ の応用回路です。そして、レジスタやカウンタの出力は フリップフロップ の出力そのもです。

14.(4-B) C-MOS の フリップフロップ

◆ C-MOS の フリップフロップ は、ノイズには極めて強いのです。その理由は、フリップフロップ を含み、全ての C-MOS IC の入出力には、バッファが内蔵されているからです(図.19)。

[図.19] C-MOS IC では

C-MOS ICでは

◆ C-MOS でも、特殊な IC にはバッファが入っていませんが、それらは形番に"UB"(アンバッファードの意味)が入っています。これに対して、TTL では、ごく一部の製品では、フリップフロップ の出力にバッファが入ったものがありますが、例外です。
C-MOS が、TTL と比較して、一般論として、ノイズに強い、最大の理由は、フリップフロップ にバッファが入っていることにあります。逆にいうと、TTL では、フリップフロップ やレジスタ等の出力に、外付けのバッファが必要だ、ということです。

14.(4-C) フリップフロップの誤動作

◆ フリップフロップは、記憶のやり方から、2種類に分けられます。
    レベル トリガ タイプ
    エッジ トリガ タイプ

14.(4-C-a) レベルトリガタイプ

◆ レベルトリガタイプ は、フリップフロップの出力が、フリップフロップ入力のレベルで決定します。その代表例は、RS-FF です。(図.20)。フリップフロップ の出力は、Q とその反転(NOT)出力 Q とが対になっています。

[図.20] RS FF

RS FF

◆ この真理値表は、IC の動作を表わすので、信号のハイ(H)とロー(L)で表わしてあります。
入力が H、H のものが、禁止となっています。フリップフロップ の出力は、Q と、Q とが逆になります。ここは、QとQとが、L、L ですから、フリップフロップ の原則に違反しています。その意味で、禁止としています。

[注]  Q は、Q の反転を意味します。一般に反転は、その記号の上にバーを付けて表します。しかし、文字の上にバーを付けることができない環境では、上に付けるバーの代わりに、文字の前に"/"を付けて、/Q のように表します。

◆ フリップフロップ の原則には反しますが、使用上それが許容されるなら、入力の H、H したがって出力の L、L を使用しても差し支えありません。
ただし、この状態で、2 つの入力を同時に L、L に変化させると、そのときの Q、Q出力は、互いに反転にはなりますが、どちらがハイで、どちらがローであるかは、不定になります。したがって、入力を、 H、H の状態から L、L の状態に移行させることは、禁止する必要があります。入力を、L、L の状態から、L、H または、H、L を経由してに移行させるときは、正常に動作します。

14.(4-C-b) エッジトリガタイプ

◆ D-FF、JK-FFなどは、エッジトリガタイプ です。クロック(C)入力のエッジで出力が決まります。D-FF を、図.21 に示します。図は、動作を分かりやすく示すために、基本動作のみに絞ってあります。実際の製品は、図に示した以外の、入力を持っています。

[図.21] D - F F

D - F F

◆ エッジトリガタイプは、クロック入力信号の立ち上がりエッジ、または立下りエッジで フリップフロップ が動作します。真理値表では、図に示されているように、エッジを↑または↓で表わします。
エッジトリガタイプのクロック入力で、問題になるのは、スロークロックです(図.22)。

[図.22] スロー クロック

スロー クロック

◆ 図は、分周回路の例です。クロック入力が遅いと、複数のクロックが入ったかのように動作してしまいます。結果として、出力がバタツクだけでなく、出力の最終値が不定になります。

14.(4-D) メタステーブル

◆ これも フリップフロップ の誤動作の 1 つです。D-FF を例にして説明します。D 入力には、セットアップタイム ホールドタイム とがあります(図.23)。

[図.23] セットアップ タイムとホールド タイム

セットアップタイム

ホールドタイム

◆ このセットアップタイムとホールドタイムとを満足すれば、出力が保証されます。これを満足しないときは、出力がハイになるかローになるかが保証されません。
単に、ハイかローかが保証されないだけで、ハイまたはローになってくれるのであれば、通常の用途には支障ありません。
◆ ところが、異常な現象が発生する可能性があるのです。すなわち、図.24に示すような現象があり、これを、メタステーブル といいます。メタステーブルが発生する可能性があるのは、セットアップタイム/ホールドタイムを満足しないときです。

[図.24] メタステーブル

メタステーブル

◆ メタステーブルは、必ず発生するのではありません。また、発生しても、その時間は、通常は ns オーダーですから、問題にならないで済むこともあります。しかし、きわめて低い確率ではありますが、メタステーブルの不安定期間が、長時間になることがあります。
メタステーブルが発生し得る条件のとき、メタステーブルを完全に無くすことはできません。したがって、メタステーブルを避けるためには、メタステーブルが発生しない条件、すなわち、セットアップタイム、ホールドタイムを満足するように、タイミングを、設計しなければ、なりません。
これは、次に述べる、同期式回路を使用することによって、実現します。しかし、回路を100%同期式にすることはできまぜん。これらの問題は、次の同期式のところで説明します。

14.(5) 同期式と非同期式

14.(5-A) 同期式/非同期式とは

◆ フリップフロップ を使用した順序回路には、同期式回路と、非同期式回路とがあります。一般に回路中には、複数の フリップフロップ を使用します。この複数の フリップフロップ の、クロックの使い方による区分です。
同期式 は、注目している回路ブロック内の、すべてのフリップフロップのクロック入力が、同一のクロックで動作します。
非同期 式では、フリップフロップは、少なくとも2つ以上の異なるクロックによって、動作します。
◆ カウンタを例に取ると、図.25は非同期式、図.26は同期式です。

[図.25] 非同期式カウンタ

非同期式カウンタ

◆ 非同期式カウンタでは、ある桁のフリップフロップの出力が、次の桁のフリップフロップの入力になっています。すなわち、すべてのフリップフロップが別のクロックで動作しています。

[図.26] 同期式カウンタ

同期式カウンタ

◆ 同期式カウンタでは、すべての桁のフリップフロップが、共通のクロックで動作しています。

14.(5-B) 比   較

◆ ここでは、ノイズの立場に限定して、比較を行います。一般論として、同期式は、非同期式に比べて、ノイズに強いことは確かです。しかし、従来その理由とされてきたことは、間違っています。従来の説を図.27に示します。

[図.27] 従来の説

従来の説

◆ 同期式では、クロックのエッジでのみ、データ入力をサンプリングします。したがって、クロック入力以外のタイミングで、データに発生したノイズは、全て無視されます。たまたま、クロック入力のタイミングで、ノイズが発生したときにのみ、誤動作に繋がるという説明です。
しかし、この現象は、同期式だけでなく、非同期式においても成立します。エッジトリガとレベルトリガとの比較であれば、合っています。どうやら、それとの取り違いのようです。
◆ 同期式と、非同期式との違いは、まったく別の所にあります。図.28を見てください。

[図.28] 同期式のタイミング

回路

タイムチャート

◆ クロック入力によって、フリップフロップが動作すると、信号(2)のハイ/ローに変化が起こります。このとき、リンギングなどの原因によって、自分の信号自身にノイズが発生します(A)。
図には示してありませんが、他の信号にも影響を与え、各所にノイズが発生しやすいタイミングです。
しかし、これらのノイズは減衰し、やがて安定します。次のクロックが入るのは、この安定したタイミング(B)です。
非同期式においても、互いのクロックのタイミングを、うまく設計すれば、このようにすることは可能です。決して同期式に固有のことではありません。しかし、非同期式では、各 フリップフロップ ごとに、クロックのタイミングを意識して設計しなければなりません。同期式であれば、自動的に、タイミングが満足されます。
◆ 同期式と、非同期式との差は、この点にあります。同期式が、明らかに有利です。しかし、非同期式でも、設計をきちんとやれば、実現可能なことではあります。

14.(5-C) メタステーブルへの対応

◆ 同期式回路では、フリップフロップのセットアップ/ホールドタイムを、完全に満足するように設計すことは容易です。この意味では、同期式回路を使用すればよいわけです。
しかし、その回路ブロックの内部を100%同期式にしたとしても、その回路ブロックの外部からの入力があります。この外部からの入力に対しては、非同期になります。ここでメタステーブルが発生する可能性があります。
◆ 外部データ取り込み部分の、対策として、図.29の方式があります。

[図.29] メタステーブル防止回路

メタステーブル防止回路

◆ 外部データの取り込み口のところに、フリップフロップ を 1 段追加します。この追加した フリップフロップ のところでは、メタステーブルが発生する可能性があります。しかし、通常メタステーブルの期間は短いので、通常の同期回路の部分にはその影響は及びません。
ただし、この方法は、絶対ではありません。まず、1 クロック分の遅れが許容される場合でないと、適用できません。
第 2 には、メタステーブルが発生したときの、不安定期間は、ほとんどは、1 クロック以内に収まりますが、それを上回る確率は、ゼロにはなり得ないということです。しかし、実用上は、ほぼ十分な対策と考えられます。

[コラム.1] フリップフロップ

★ フリップフロップのフリップは、爪や指ではじく、フロップは、ばたばた動かすという意味です。この両者を合わせることによって、相互に繰り返し動作する、フリップフロップの言葉が、できたのでしょう。
★ 似たような言葉に、シーソーがあります。子供の頃、ギッタンバッコンと呼んで、遊んだものです。

シーソー       シーソー       シーソー

★ さて、フリップフロップですが、フリップフロップの種類には、次のようなものがあります。

フリップフロップの種類

★ RS フリップフロップ(RS-FF) は、フリップフロップの基本です。他のフリップフロップも、RS-FF から作ることができます。
しかし、動作の基本なのであって、実際に多く使われているのは、D-FF、T-FF、ならびに、その応用製品です。
★ マスタースレーブ フリップフロップは、RS フリップフロップの次に作られたフリップフロップです。歴史的存在として、フリップフロップの解説で、詳しく説明されていたりしますが、現在では、使われていません。
★ T-FF は、単独の IC 製品にはありませんが、カウンタやレジスタなどの、フリップフロップ応用製品の要素として、広く使われています。T-FF を次に示します。

T-FF       T-FF


T-FF





目次に戻る   前に戻る   次に進む