「論理回路とその設計」 演習問題【2】
A.4人(P,Q,R,S) の投票者が可"1"か否"0"を各1票ずつ投票する。ただし、Pの1票は4票分の重み(Pが可"1"なら4票が可、否"0"なら4票が否)、同様にQの1票は3票分の重み、Rの1票は2票分の重み、Sの1票は1票分の重み、がそれぞれあるとする(したがって、4人の総投票数はのべ10票)。
この投票結果(1ビットの票決で可"1"か否"0")を判定する多数決関数を組み合わせ論理回路として実現したい。次の(1)〜(5)の各問に答えよ。なお、投票に際しては棄権や白票は無いものとする。
(1) のべ10票分の投票のうち、可が5票以上の場合の票決を可"1"、4票以下の場合の票決を否"0"とする多数決関数をMa(P,
Q, R, S)とする。このとき、 P, Q, R,
S と Maの論理関係を真理値表として示せ。(下記の表を埋めよ。)
(2) (1)で求めた真理値表をもとに、カルノー図を用いて、P,
Q, R, S を論理変数とする論理関数 Maを最簡積和形論理式として求めよ。(下記のカルノー図上にマップし、それを用いて求めよ。)
(3) (2)で求めた積和形論理関数 Ma(P,Q,R,S)
を、P, Q, R, S を入力、Maを出力とする、2段(レベル)のAND/OR回路(AND/OR/NOTの3種類の基本論理ゲートだけから構成される回路;ただし、ANDゲートとORゲートは3以上の多入力も許す)として示せ。
ここで、1個のn入力基本論理ゲートは(n−1)個の2入力基本論理ゲートとして換算する(ただし
n≧2)ものとして、このAND/OR回路よりもさらに空間最適化された(ゲートの総数がより少ない)AND/OR回路を(2)で求めた論理式を変形することによって求め、その論理式とそのAND/OR回路を示せ。
(4) 今度は、可が6票以上の場合の票決を可"1"、4票以下の場合の票決を否"0"、ちょうど5票の場合の票決をドントケア"−"とする多数決関数をMb(P,
Q, R, S)とする。このとき、 P, Q, R,
S と Mbの論理関係を真理値表として示せ。(下記の表を埋めよ。)
(5) (2)と同様にして、論理関数Mb
を最簡積和形論理式として求めよ。(下記のカルノー図上にマップし、それを用いて求めよ。)
B.3個のフリップフロップ(FF)を用いて、5進カウンタを同期式の順序回路として設計する。3個のFFの出力をそれぞれ
QC QB QA とし、3個のFFの出力の並び
QC QB QA がこの順で最上位ビットから最下位ビットのカウンタの3ビット状態(出力)である。5進カウンタとは、QC
QB QA が 000 → 001 → 010 → 011
→ 100 → 000 → …(以降は同じ繰り返しのため省略) という5つの状態をこの順で遷移することを繰り返し、残りの3つの状態:
101 , 110 及び 111 はドントケア"−"である。
(1) まず、この5進カウンタを3個のD-FFを用いて構成する。まず、遷移表を作成し、それと右のD-FFの入力要求表(Q
から Q+ へ状態遷移させるために必要な D 入力信号の論理値を示す表)を用いて拡大入力要求表を作成し、それを下のカルノー図にマップすることによって、各D-FFの
D 入力 DC , DB , DA
すべてについて、各FFの出力
およびその否定出力
を論理変数とする最簡積和形論理式として示せ。
(2) 今度は、この5進カウンタを3個のSR-FFを用いて構成する。(1)と同様にして、各SR-FFの入力
SC , RC , SB ,
RB , SA , RA すべてを最簡積和形論理式として示せ。
(3) 最後に、この5進カウンタを3個のJK-FFを用いて構成する。(1)と同様にして、各JK-FFの入力
JC , KC , JB ,
KB , JA , KA すべてを最簡積和形論理式として示せ。
(4) (1)〜(3)で構成した3つの5進カウンタのうちには、3個のFFを除いた回路の空間規模(基本論理ゲートの総数)が最小となるカウンタがある。それはどれか、「なぜそれは最小となるのか」という理由を添えて示せ。