フリップ・フロップ
SR-FF (Set-Reset Flip-Flop)

OR 回路に帰還をかけてやると、セットオンリーフリップ(笑)ができます。
当然このままですと使い物になりませんので、帰還路に AND ゲートを設けて帰還を断ち切ることができるようにします。すると、リセット出来る(!)セット・リセット フリップ・フロップが出来上がります。これを NAND ゲートで構成すると左図のように
負論理入力、正論理出力の SR-FF になります。
Transparent Latch

SR-FF を1ビットの記憶素子として使うことを考えると、SR-FF には次の欠点があります。
(1) 2入力である。
(2) 入力の両方が同時にアクティブ(真)になった場合に不都合がある。
(3) 入力の変化が即座に出力に現れる。
(1),(2) の欠点を無くすために、セット入力とリセット入力をコンプリメンタリにし、
(3) の欠点を補うために、その入力にストローブ用ゲートを付け加え、
入力が安定している期間にストローブ信号により入力データを保持するようにしたものが 左図に示すトランスパレントラッチです。
D-FF (Delay Flip-Flop)

記憶素子としてより使いやすく、クロック信号の立ち上がり('L'→'H' の変化)時に
入力データを保持すると同時に出力するようにしたものが、D-FF です。(立ち下がりで動作するものもあるが一般的ではない)
ゲート A, B 及び ゲート C, D はクロック信号により
ゲートされる SR-FF になっており、SR-FF(A, B) と SR-FF(C, D) には入力の
コンプリメンタリな信号が入力されています。
クロック入力が 'L' の間は、SR-FF(E, F) の両入力が 'H'(インアクティブ)になって
いるため出力は変化しません。
入力データが 'H' である時を考えてみます。
このとき SR-FF(A, B) は、クロック信号により帰還路がゲートされているけれども、入力データに
より ゲート A 出力がセットされている状態になっています。
同時に SR-FF(C, D) はセットもされず、クロックによりリセットされている状態になっています。
ここで、クロックが 'H' に変化したとすると
SR-FF(A, B) はセットされた状態になると同時に SR-FF(C, D) をリセットし続けることになります。
従って SR-FF(E, F) を SR-FF(A, B) がセットすることになり出力 Q に 'H' が現れ
、入力データが保持されることになりました。
まとめると、クロックが 'L' のときには 出力フリップフロップ SR-FF(E, F) がデータを保持し、
クロックの 'L'→'H' の変化で 入力フリップフロップ SR-FF(A, B) または SR-FF(C, D) がデータを
取り込み、保持していると言えます。
JK-FF (JK Flip-Flop)

SR-FF を使いやすくするために、クロックに同期してセット、リセットできるようにしたものが JK-FF です。
JK-FF の名前の由来は、Q (Queen) を J (Jack) と K (King) が奪い合うからだそうです。
JK-FF は、Q が '1' の時には K を、Q が '0' のときには J を選択するように、D-FF の入力にデータセレクタを
追加したものです。
また、J, K にコンプリメンタリな入力データを与えるとその動作は、D-FF と同じになります。
JK-FF は、シーケンサ(順序回路)を構成するときに良く使われています。
© 2000 Takayuki HOSODA.