標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第29回]
●JKフリップフロップとDフリップフロップ
下図左がJKフリップフロップで右がDフリップフロップです。
JKフリップフロップはJとKがHかLかで動作が異なります。
図の回路のように、JとKをともにHにした状態のときに、クロック(CK)が入力されると、入力されるたびに出力が反転します。
図のJKフリップフロップは74HC73を想定していますので、クロック入力に小丸がついています。
クロックに小丸がついているのは、クロックの下がりエッジに同期することを示しています。
クロックの下がりエッジ以外の期間は、出力は固定されたままになります。
クロック入力のたびに出力が反転し、それ以外の期間は出力が固定しますから、結果として入力されるクロック周波数の1/2の周波数のパルスが出力されることになります。
出力パルスのH期間もL期間も入力クロックの1周期の長さですから、出力されるパルスはちょうどデューティが50%のパルスになります。
これに対してDフリップフロップは1種類の動作しかしません。
クロックが入力されたときのD入力がそのまま出力されます。図のDフリップフロップは74HC74を想定していますので、出力されるタイミングは、入力クロックの上がりエッジに同期します。
クロックの上がりエッジでDに入力されているデータ信号をラッチし、出力します。
クロックの上がりエッジ以外の期間は出力は固定しています(その間にD入力が変化しても出力は変化しません)。
このようにDフリップフロップは、Dに入力されたデータをクロック入力のタイミングでラッチする、レジスタであるといえます。
ところでDフリップフロップの反転出力()をDにつないでしまったらどうなるでしょうか?
というのが前回お見せした回路です。
下の図で説明しましょう。
図では、「なんじゃ、これは?」というわけのわからない図になってしまっていますが、これは筆者の手抜きで(ちょっと時間がないものですから)、わかりにくい図になってしまいました。
クロックの上がりエッジでD入力がラッチされます。
Dにはそのときまでの反転出力()がつないでありますから、これがHだったとすると、クロックの上がりエッジでH入力がラッチされますから、出力QにはHが、そして反転出力()にはLが出力され、そのまま固定されることになります。
次のクロックの上がりエッジで、今度は現在の反転出力()のLがラッチされますから、出力QにはLが、そして反転出力()にはHが出力されることになります。
出力されるパルスはJKフリップフロップと同様に、入力クロックの1/2の周波数でしかもデューティは50%になっています。
本日も一日中多忙で、ほんの少ししか書くことができませんでした。
2008.8.6upload
前へ
次へ
ホームページトップへ戻る