論理回路 

目次


第1節 レジスター

第2節 カウンター

第3節 シフトレジスターとマスタースレーブ型Dフリップフロップ

第4節 乗除算回路


テスト

Logをみる

Back
 

第6章 レジスター類

   第6章 レジスター類

 第2節 カウンター

コンピューターを始めとする高度なデジタルシステムの中核的要素はレジスターの他にカウンターがあります。これは文字通り二進数などでカウントするための回路です。

 まず1ビットだけの二進カウンターを紹介しましょう。これは入力T にパルスを1つ与えると出力が0から1に変化し、T=0 の後にT=1 とすると出力は再び0になり、このことを繰り返す、というものです。状態遷移図を示しますと次の図のようになります。

 

 これの状態遷移表を作ると

   T=0 T=1
----------------
 Q0 | Q0 Q1
 Q1 | Q1 Q0

 従って Q0+ = Q0 and not T or Q1 and T
     Q1+ = Q1 and not T or Q0 and T

の2つの式(「状態遷移方程式 state transition equation」という)が得られます。これは非同期式の、非コード方式です。コード方式ですと状態遷移表は

 Q T=0 T=1
----------------
 0 | 0  1
 1 | 1  0

となるので Q+ = Q xor T = Q and not T or not Q and T

と、なるので、より少ないゲートで実現可能です。次の図はそれを実現したものです。Reset 端子が付いています。これは通常1にしておきますが、リセットをかけたいときは一瞬0にします。

 

これを8個並べたものは8ビットのカウンターになります。次の図はそれです。

 

 これは一番上の桁が繰り上がるのに、右端のT に入力された信号は各桁で最大3ゲート、全体で24ゲート通ってこなくてはなりません。つまりこの方式は回路は簡単ですが 動作にそれだけの遅れが生じます。

 このように下の桁から桁上がりのパルスが延々と上がって来る方式を、「リップルキャリー型カウンター ripple carry type counter」といいます。

 それに対し、8ビットのカウンターを非同期式の順序論理回路としてうまく設計しますと、各桁での信号遅延を短くすることができます。ここでは詳しく述べませんが、少なくても4ビットカウンターでは非リップルタイプがよく使われます。

 カウンターでもう一つ重要なのは、非コード化型のカウンターで、「リングカウンター ring counter」というものです。これはn桁の場合値1を取る1桁を除いて全て0であるようなレジスターですが、そこにパルスが入る度に1の位置がずれてゆくようなものです。最後の桁までゆくとぐるっと回ったように、最初の桁に戻ります。

 このリングカウンターをうまく使うと複雑な順序制御が簡単に作れるのです。