アフィリエイト広告
アフィリエイト広告

ウィキペディアのJK-FFはうまく動かない

RS フリップフロップでは、入力 R と S とが同時に High になることを禁止しています。出力が不安定になってしまうためです。そこで、同時に High にできるようにしたのが JK フリップフロップです。
JK フリップフロップでは、入力 J と K とが同時に High になったとき、クロックに同期して出力が反転します。

ウィキペディアの JK フリップフロップ回路

JK-FlipFlop (4-NAND).PNG
Tosaka – Self made (Ref:菊池正典著 『電子デバイス』 日本実業出版社 2005年12月20日初版発行 ISBN 4534040083), CC 表示 3.0, リンクによる

左図がウィキペディアに載っている JK フリップフロップの回路です。

が、しかし。

実際に組み立てて試してみましたが、この回路では JK フリップフロップとしてうまく動きません。
J と K それぞれの入力に対しては、RST フリップフロップ (クロックに同期した RS フリップフロップ) として動きます。ただし、クロックが High のときに入力が変化するとそのまま出力されるのは、前回の半分的 D フリップフロップと同様です。

問題は J と K とが同時に High のときで、この回路では出力が正常に反転しません。
実際にやってみた結果は、Q が High のままで、Q がクロックに同期して反転するという動きでした。これは、回路後半の RS フリップフロップの入力が、禁止されている状態になってしまうためです。

グーグル先生にいろいろ尋ねてみたんですが、この回路は、左側のゲート部分を AND で、右側のフリップフロップ部分を NOR で組み立てるのが正解なのではないでしょうか。
まぁ、それは試していないのでここでは触れません。

マスタースレーブ型 JK フリップフロップ

ウィキペディアでは、D フリップフロップの回路が、同様の回路を二つ直列につないだようになっていました。マスタースレーブ型という方式で、クロックが High の間に入力が変化したときに出力が変化してしまうのを防いでいます。
JK フリップフロップの場合も同様で、クロックが High のときに出力が変化してしまうとか、入力が同時に High になったときの動作の不具合とかを改善してくれるようです。

ということで、今回はマスタースレーブ型 JK フリップフロップを考えてみることにしましょう。

なお、マスタースレーブ型ではクロックの立ち下がりで出力が変化します。クロックの立ち上がりでマスターが変化、立ち下がりでスレーブが変化して出力となります。つまり、クロックの High の時間だけ遅れがあるといえます。
その点を改善して、クロックの立ち上がりで出力が変化するようにしたエッジトリガ型というものもあります。
グーグル先生に尋ねると回路など教えてもらえますので、興味のある方は調べてみて下さい。

ということで、次回はマスタースレーブ型 JK フリップフロップを組み立ててみます。

タイトルとURLをコピーしました