前のページでは、なるべく少ない部品で回路を構成することを考えた。 回路が複雑になると、分かりにくくなる。 このページではフリップフロップの周辺はANDゲートとORゲートで構成し、フリップフロップは縦に並べて、 画一的な構成にする。
Dフリップフロップによる同期式5進カウンタは前のページで取り上げたが、 ここでは、回路図の書き方を変える。 まず、真理値表は前にも示したが、次のようになる。
Q1 | Q2 | Q3 | D1 | D2 | D3 |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | x | x | x |
0 | 1 | 1 | x | x | x |
1 | 1 | 1 | x | x | x |
この真理値表から加法標準形を使って論理式を表し、簡単化すると
D1 = Q1・Q3 D2 = Q1・Q2+Q1・Q2 D3 = Q1・Q2となる。前のページではD2の論理式はXORで表したが、今回はANDゲートとORゲートのみ、XORは使用しないため、上のような表現にとどめる。 また、前回はカット・アンド・トライ法(試行錯誤法)で、論理式の簡単化を行ったが、当然、カルノー図法を使うことができる。
カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。
シミュレーションのスナップを下に示す。 回路図の表現方法が変わっただけであるから、タイムチャートは同じである。 前の回路よりも調和がとれていて見やすいであろう。
JavaScriptによるシミュレーションを下に示す。
Dフリップフロップによる同期式6進カウンタを設計する。 まず、真理値表は次のようになる。
Q1 | Q2 | Q3 | D1 | D2 | D3 |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | x | x | x |
1 | 1 | 1 | x | x | x |
この真理値表から加法標準形を使って論理式を表し、簡単化すると
D1=Q1 D2=Q1・Q2+Q1・Q2・Q3 D3=Q1・Q3+Q1・Q2となる。
カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。
シミュレーションのスナップショットを下に示す。 論理式はANDゲートとORゲートで構成すると、秩序のある回路図となるので見やすい。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、0、1、… となっていることが確認できる。
この図の元となるJavaScriptのシミュレーションを下に示す。
Dフリップフロップによる同期式7進カウンタを設計する。 まず、真理値表は次のようになる。
Q1 | Q2 | Q3 | D1 | D2 | D3 |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | x | x | x |
この真理値表から加法標準形を使って論理式を表し、簡単化すると
D1=Q1・Q2+Q1・Q3 D2=Q1・Q2+Q1・Q2・Q3 D3=Q2・Q3+Q1・Q2・Q3となる。一行目は単独では D1=Q1・(Q2+Q3) とした方法が回路が簡単となるが、ここでは、括らない。
カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。
シミュレーションのスナップショットを下に示す。 論理式はANDゲートとORゲートで構成すると、秩序のある回路図となるので見やすい。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、0、1、… となっていることが確認できる。
この図の元となるJavaScriptのシミュレーションを下に示す。
この方法では2のN乗で表される8進の場合でも、回路は簡単にはならない。
Dフリップフロップによる同期式8進カウンタを設計する。 まず、真理値表は次のようになる。
Q1 | Q2 | Q3 | D1 | D2 | D3 |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 | 0 | 0 |
この真理値表から加法標準形を使って論理式を表し、簡単化すると
D1=Q1 D2=Q1・Q2+Q1・Q2 D3=Q1・Q3+Q2・Q3+Q1・Q2・Q3となる。二行目はXORゲートで表現できるが、ここではXORを使わない。
カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。
シミュレーションのスナップを下に示す。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、7、0、1、… となっていることが確認できる。
この図の元となるJavaScriptのシミュレーションを下に示す。
Dフリップフロップによる同期式9進カウンタを設計する。 まず、真理値表は次のようになる。
Q1 | Q2 | Q3 | Q4 | D1 | D2 | D3 | D4 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | x | x | x | x |
0 | 1 | 0 | 1 | x | x | x | x |
1 | 1 | 0 | 1 | x | x | x | x |
0 | 0 | 1 | 1 | x | x | x | x |
1 | 0 | 1 | 1 | x | x | x | x |
0 | 1 | 1 | 1 | x | x | x | x |
1 | 1 | 1 | 1 | x | x | x | x |
この真理値表から加法標準形を使って論理式を表し、簡単化すると
D1=Q1・Q4 D2=Q1・Q2+Q1・Q2 D3=Q1・Q3+Q2・Q3+Q1・Q2・Q3 D4=Q1・Q2・Q3となる。
カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。
前にも述べたが、この構成では、XORゲートを使ったり、 共通因子があっても、かっこで括ったりしない。上の論理式をAND、ORゲートで実現する。
シミュレーション実行のハードコピーを下に示す。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、7、8、0、1、… となっていることが確認できる。
この図の元となるJavaScriptのシミュレーションを下に示す。
Dフリップフロップによる同期式10進カウンタを設計する。 まず、真理値表は次のようになる。
Q1 | Q2 | Q3 | Q4 | D1 | D2 | D3 | D4 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | x | x | x | x |
1 | 1 | 0 | 1 | x | x | x | x |
0 | 0 | 1 | 1 | x | x | x | x |
1 | 0 | 1 | 1 | x | x | x | x |
0 | 1 | 1 | 1 | x | x | x | x |
1 | 1 | 1 | 1 | x | x | x | x |
この真理値表から加法標準形を使って論理式を表し、簡単化すると
D1=Q1 D2=Q1・Q2+Q1・Q2・Q4 D3=Q1・Q3+Q2・Q3+Q1・Q2・Q3 D4=Q1・Q4+Q1・Q2・Q3となる。
カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。
シミュレーション実行のハードコピーを下に示す。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、7、8、9、0、1、… となっていることが確認できる。
この図の元となるJavaScriptのシミュレーションを下に示す。
Dフリップフロップによる同期式11進カウンタを設計する。 まず、真理値表は次のようになる。
Q1 | Q2 | Q3 | Q4 | D1 | D2 | D3 | D4 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 1 | x | x | x | x |
0 | 0 | 1 | 1 | x | x | x | x |
1 | 0 | 1 | 1 | x | x | x | x |
0 | 1 | 1 | 1 | x | x | x | x |
1 | 1 | 1 | 1 | x | x | x | x |
この真理値表から加法標準形を使って論理式を表し、簡単化すると
D1=Q1・Q2+Q1・Q4 D2=Q1・Q2+Q1・Q2・Q4 D3=Q1・Q3+Q2・Q3+Q1・Q2・Q3 D4=Q2・Q4+Q1・Q2・Q3となる。
カルノー図法による簡単化は別のページで 演習問題としているのでここでは省略する。
シミュレーション実行のハードコピーを下に示す。 タイムチャートからこのカウンタの出力が0、1、2、3、4、5、6、7、8、9、10、0、1、… となっていることが確認できる。
この図の元となるJavaScriptのシミュレーションを下に示す。