フリップフロップのことをFFと略します。。上図のように四角い記号で描かれます。今後は呼び名はFF、記号は四角いのをを使用します。
FFは以前記憶する回路として登場していますが、その状態を記憶する性質を使って数を数えることができます。コンピュータの中ではこれをカウンターと呼びます。
カウンターは最初の図のRS型のFFではできません。JK型のFFを使います。JK型のFFにはクロック信号を入力する端子があり、クロック信号毎にカウンターをアップします。
ですが、少し回路が複雑で大変そうなのでもう少し調べました。
JK型より簡単なD型フリップフロップという回路がありました。これでもカウンターを作れます。
D型フリップフロップは4個のトランジスタで作れるので4ビットのカウンターを作るためには16個のトランジスタが必要です。チップタイプの2SD1119が1000個もあるので今度実験してみます。
と言う訳で早速実験してみました。取り敢えず手持ちのNPNトランジスタを並べて4個のFFを作ります。同じトランジスタがないのでバラバラで格好は良くありませんがなんとかFFが4個できました。型が同じトランジスタでも結構hfeにばらつきがあり調整が面倒でしたが手持ち抵抗と勘案して抵抗値を低めに寄せてあります。
しかしカウンターとしては全くダメな結果でした。FFとしては4個それぞれ動いたのですがFFどうしをつなぐと全然ダメでした。部品数を減らすためになるべく簡単な回路で挑んだのですが失敗に終わったのです。
それでもう一度NAND回路から見直し少し本格的にしました。NAND一つでこれだけの部品になります。
一つのFFでこの規模になってしまいました。これではとても4ビットカウンターには辿り着けそうもありません。
実用的な回路図をネットで探して見つけたのが「TTLアプリケーションマニュアル」テキサスインスツルメンツアジアリミテッド、昭和47年9月15日発行です。そこにFFやカウンターの回路図が載っています。上にあるような単純な代物ではありません。雑音や温度、不良な電源をも考慮された回路なのでしょう。
でも二つ大きなことが解りました。
一つはトランジスタのhfeにはかなりばらつきがありスイッチングだからといってギリギリで設計してはいけない。
もう一つはネットや書籍に載っている論理回路は動作を説明するために抽象化されているので実用性は無いと言うことです。
アナログ回路に比べるとデジタル回路が簡単に見えるのはONとOFFのスイッチングだけだからではなく調整が必要なことをICが中で殆どこなしているいるからだと気付かされました。
ディスクリート部品で組み立てようと思ったらアナログ回路に負けない程に難しい実装が待ち受けています。
だからコンピュータを作るためには集積回路がどうしても必要になります。