Top page
       ロジック回路
    ― 基本的なデジタル回路集 ―

デジタル回路の要素技術は、CPUだけでは実現できない高速化や、PLD/FPGAを使う際にも必要な知識です。ここでは幾つかの基本的なデジタル回路を見てみます。



エンコーダー
図1


上の回路は。16-to-4 のエンコーダー回路。
INPUT側のスイッチを一つONすると、バイナリコードに変換してOUTPUT側に出力されます。例えば、入力の9のラインを追ってみると、DとAのビット [1001] が出力されることがわかります。
7430は8入力NANDですが、負入力で使うとORとります。



デコーダー
図2


デコーダーはエンコーダーの逆動作で、コード化されたデータを戻す働きを持ちます。
図2は、4-to-10 のラインのデコーダー。4ビットバイナリコードにより、1出力を選択します(出力は負論理)。



Exclusive OR 回路
図3


排他論理回路 AとBが異なる場合に、Qに1が出力されます。
「2入力が等しいこと」を検出、逆から見ると、「2入力が異なっていること」を検出する回路として使用されます。



13進リプル・カウンタ
図4


N進カウンタは、N個目の計数で全桁が0に戻るカウンタです。図4は、JK-FFの 74HC76 で13進リプルカウンタを構成する方法です。

各段のJK-FFの出力QをKに、/QをJに接続し、前段のQをクロック(CK)に入れると、各段で周期は2倍になります。各段のFFの状態(H/L)を A、B、C、Dで現すと、上図のグラフの前半部分のように遷移することになります。4段接続では、入力されたCLKの 1/24 = 1/16 、つまり 16クロックで一回りする16進カウンタになる筈です。

これを13進カウンタにするためには、上図のように、QcとQd、さらにA-FFがクロックに入る前の負論理信号の全てのNAND信号を取り、AとBのFFを1にプリセットします。
詳しくは一番下のグラフの見てください。12番目のCLKが↓になったタイミングで、CとDはHで、かつCLKの負信号はHとなるため、3NAND出力はLとなり、この結果がFFのAとBのプリセット(PR)信号を瞬間アクティブLにするのです。するとAもBも、プリセット動作、つまりQaとQbは、Hに強制されることになります。グラフではこれがヒゲのように書かれています。これで、13番目のCLKがやって来る直前のFFは全てHの状態にされることが判ります。当然、13番目のCLKで、全段のFFはLに戻るということになります。

このタイプのカウンタは、波形にリップル(細波)が立つような動作となるため、リップルカウンタと呼ばれています。
例ではプリセットを使いましたが、リセットを使う方法もあります。



12進リプルカウンタ

図5


図5は16進カウンタである 7493 を使って12進カウンタを構成する回路。
タイムチャートをみると、12番目のクロックで、CとDをリセットしてやれば良いことがわかります。
7493には2本のHで動作するリセット入力があるため、上のような接続にします。



位相検出回路

図6


図6はふたつの位相信号の順を判定する回路。
7474のCKは↑のタイミングでDを読み込むという動作を利用しています。
位相検出は、エンコーダー盤の回転方向を、二つのセンサーを使って検出する時にも利用されます。



◆ D-FFで90°移相

図7


図7はクロックを元に、90°シフトした位相信号を作り出す回路。
単純ですが、巧みな回路構成で二つの相を得ています。


◆ パルストレイン発生回路

図8


一定数のパルスを発生させる回路です。
左端の制御用FFは、トリガ信号の↓でクロックCLKのANDゲートを開けて、FF列の動作を開始します。
パルス数は、制御用FFのクリヤCLR入力を、どのFFの/Q出力から返すかで決まります。
例図では、FF列の4番目の/Q出力を、リセットトリガとして返しているので、8番目のクロックが掛かった瞬間に停止することになるので、パルス数は7個です。
リセット・トリガの発生条件を単一のFFからではなく、複数のFFのAND条件により得ることで、任意のパルストレイン長が得られます。



◆ 半加算器/全加算器


  A,B: 入力値
  S: 出力値
  C: キャリー
  Ci: 入力キャリー
  Co: 出力キャリー

2進法による1桁の加算は
 0+0=0
 0+1=1
 1+0=1
 1+1=0 (桁上げ1)
となりますが、上の回路はこれを実行する回路です。
半加算は下位からの桁上げの無い回路、全加算はある回路です。








inserted by FC2 system