トップデジタル回路 > 同期式カウンタ―Dフリップフロップ使用(2)

同期式カウンタ―Dフリップフロップ使用(2)

前のページでは、なるべく少ない部品で回路を構成することを考えた。 回路が複雑になると、分かりにくくなる。 このページではフリップフロップの周辺はANDゲートとORゲートで構成し、フリップフロップは縦に並べて、 画一的な構成にする。

1.同期式5進カウンタ

Dフリップフロップによる同期式5進カウンタは前のページで取り上げたが、 ここでは、回路図の書き方を変える。 まず、真理値表は前にも示したが、次のようになる。

Dフリップフロップを使った5進カウンタの真理値表
Q1Q2Q3 D1D2D3
000 100
100 010
010 110
110 001
001 000
101 xxx
011 xxx
111 xxx

この真理値表から加法標準形を使って論理式を表し、簡単化すると

 D1Q1Q3
 D2 = Q1Q2Q1・Q2
 D3 = Q1・Q2
となる。前のページではD2の論理式はXORで表したが、今回はANDゲートとORゲートのみ、XORは使用しないため、上のような表現にとどめる。 また、前回はカット・アンド・トライ法(試行錯誤法)で、論理式の簡単化を行ったが、当然、カルノー図法を使うことができる。

カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。

シミュレーションのスナップを下に示す。 回路図の表現方法が変わっただけであるから、タイムチャートは同じである。 前の回路よりも調和がとれていて見やすいであろう。

JavaScriptによるシミュレーションを下に示す。

2.同期式6進カウンタ

Dフリップフロップによる同期式6進カウンタを設計する。 まず、真理値表は次のようになる。

Dフリップフロップを使った6進カウンタの真理値表
Q1Q2Q3 D1D2D3
000 100
100 010
010 110
110 001
001 101
101 000
011 xxx
111 xxx

この真理値表から加法標準形を使って論理式を表し、簡単化すると

 D1Q1
 D2Q1・Q2+Q1Q2Q3
 D3Q1・Q3+Q1・Q2
となる。

カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。

シミュレーションのスナップショットを下に示す。 論理式はANDゲートとORゲートで構成すると、秩序のある回路図となるので見やすい。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、0、1、… となっていることが確認できる。

この図の元となるJavaScriptのシミュレーションを下に示す。

3.同期式7進カウンタ

Dフリップフロップによる同期式7進カウンタを設計する。 まず、真理値表は次のようになる。

Dフリップフロップを使った7進カウンタの真理値表
Q1Q2Q3 D1D2D3
000 100
100 010
010 110
110 001
001 101
101 011
011 000
111 xxx

この真理値表から加法標準形を使って論理式を表し、簡単化すると

 D1Q1Q2Q1Q3
 D2=Q1Q2Q1・Q2・Q3
 D3Q2・Q3+Q1・Q2Q3
となる。一行目は単独では  D1Q1・(Q2Q3) とした方法が回路が簡単となるが、ここでは、括らない。

カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。

シミュレーションのスナップショットを下に示す。 論理式はANDゲートとORゲートで構成すると、秩序のある回路図となるので見やすい。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、0、1、… となっていることが確認できる。

この図の元となるJavaScriptのシミュレーションを下に示す。

4.同期式8進カウンタ

この方法では2のN乗で表される8進の場合でも、回路は簡単にはならない。

Dフリップフロップによる同期式8進カウンタを設計する。 まず、真理値表は次のようになる。

Dフリップフロップを使った7進カウンタの真理値表
Q1Q2Q3 D1D2D3
000 100
100 010
010 110
110 001
001 101
101 011
011 111
111 000

この真理値表から加法標準形を使って論理式を表し、簡単化すると

 D1Q1
 D2=Q1Q2Q1・Q2
 D3Q1・Q3Q2・Q3+Q1・Q2Q3
となる。二行目はXORゲートで表現できるが、ここではXORを使わない。

カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。

シミュレーションのスナップを下に示す。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、7、0、1、… となっていることが確認できる。

この図の元となるJavaScriptのシミュレーションを下に示す。

5.同期式9進カウンタ

Dフリップフロップによる同期式9進カウンタを設計する。 まず、真理値表は次のようになる。

Dフリップフロップを使った9進カウンタの真理値表
Q1Q2Q3Q4 D1D2D3D4
0000 1000
1000 0100
0100 1100
1100 0010
0010 1010
1010 0110
0110 1110
1110 0001
0001 0000
1001 xxxx
0101 xxxx
1101 xxxx
0011 xxxx
1011 xxxx
0111 xxxx
1111 xxxx

この真理値表から加法標準形を使って論理式を表し、簡単化すると

 D1Q1Q4
 D2=Q1Q2Q1・Q2
 D3Q1・Q3Q2・Q3+Q1・Q2Q3
 D4=Q1・Q2・Q3
となる。

カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。

前にも述べたが、この構成では、XORゲートを使ったり、 共通因子があっても、かっこで括ったりしない。上の論理式をAND、ORゲートで実現する。

シミュレーション実行のハードコピーを下に示す。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、7、8、0、1、… となっていることが確認できる。

この図の元となるJavaScriptのシミュレーションを下に示す。

6.同期式10進カウンタ

Dフリップフロップによる同期式10進カウンタを設計する。 まず、真理値表は次のようになる。

Dフリップフロップを使った10進カウンタの真理値表
Q1Q2Q3Q4 D1D2D3D4
0000 1000
1000 0100
0100 1100
1100 0010
0010 1010
1010 0110
0110 1110
1110 0001
0001 1001
1001 0000
0101 xxxx
1101 xxxx
0011 xxxx
1011 xxxx
0111 xxxx
1111 xxxx

この真理値表から加法標準形を使って論理式を表し、簡単化すると

 D1Q1
 D2Q1・Q2+Q1Q2Q4
 D3Q1・Q3Q2・Q3+Q1・Q2Q3
 D4=Q1Q4+Q1・Q2・Q3
となる。

カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。

シミュレーション実行のハードコピーを下に示す。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、7、8、9、0、1、… となっていることが確認できる。

この図の元となるJavaScriptのシミュレーションを下に示す。

7.同期式11進カウンタ

Dフリップフロップによる同期式11進カウンタを設計する。 まず、真理値表は次のようになる。

Dフリップフロップを使った11進カウンタの真理値表
Q1Q2Q3Q4 D1D2D3D4
0000 1000
1000 0100
0100 1100
1100 0010
0010 1010
1010 0110
0110 1110
1110 0001
0001 1001
1001 0101
0101 0000
1101 xxxx
0011 xxxx
1011 xxxx
0111 xxxx
1111 xxxx

この真理値表から加法標準形を使って論理式を表し、簡単化すると

 D1Q1Q2Q1Q4
 D2=Q1Q2Q1・Q2Q4
 D3Q1・Q3Q2・Q3+Q1・Q2Q3
 D4Q2・Q4+Q1・Q2・Q3
となる。

カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。

シミュレーション実行のハードコピーを下に示す。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、7、8、9、10、0、1、… となっていることが確認できる。

この図の元となるJavaScriptのシミュレーションを下に示す。