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

論理回路 / 16進同期カウンタ (4bit)

前回は、JKフリップフロップを使った 3ビットの 8進同期カウンタを作ってみました。

今回は、もうひとつ増やした 4ビットの 16進カウンタを設計してみます。だんだん規模が大きくなっていきますが、基本は同じですので、難しくはないです。

JKフリップフロップを使った 16進同期カウンタ

4ビットなので、JKフリップフロップが 4個になります。が、3ビット目までは、8進同期カウンタとまったく同じ動きですから、4ビット目だけを追加して考えればいいです。
とはいっても、部分的な真理値表を作っても訳わかんなくなりますから、全体を書いておきます。

図1. 16進同期カウンタ 真理値表

ちなみに、俺はこれをスプレッドシートで書いてます。4 ビット目について考えるときは、Q3(n)、Q3(n+1)、J3、K3 の列だけを表示させるようにしてます。わかりやすくなりますよ。

以下、これまでと同様、真理値表からカルノー図を描いて、論理式を求めます。

図2. 16進同期カウンタ カルノー図

とうことで、論理式は次のようになりました。前述のとおり、3ビット目までは 8進同期カウンタと同じです。

J0 = K0 = 1
J1 = K1 = Q0
J2 = K2 = Q1・Q0
J3 = K3 = Q2・Q1・Q0 = Q2・J2

4ビット目 J3、K3 の入力ゲートについて、3入力 AND を使うこともできますが、3ビット目の AND 出力が利用できますね。2入力 AND ゲートが余っていますので、これを使いましょう。IC の数が節約できます。

ということで、作ったカウンタ回路は図 3 のとおりです。

図3. 16進同期カウンタ 実験回路

前回の 8進同期カウンタに、4ビット目の JKフリップフロップ、入力ゲート、出力 LED を追加しただけです。このカウンタも、出力を Q に変更すればダウン・カウンタに変わります。

後記

同期カウンタ回路の設計は、まぁこんなところですかねぇ。さらにビット数の多いカウンタになったら、ビット数だけ JKフリップフロップを並べて、ビットごとに入力ゲート回路を考えるのがいいように思います。用途によるけど、非同期式と同期式を合わせて使うとか、バイナリ・カウンタではない方法を使うとか、頭柔らかくして作ってみるのが楽しいと思います。

さて、基本的なところはこれくらいにして、何か作ってみようかな。ちょっと考えてみます。

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