「論理回路とその設計」 演習問題【13】
[A] 4人(A,B,C,D) の投票者が可"1"か否"0"をそれぞれ1票ずつ(のべ4票)投票する.この可否投票結果 M (票決で可"1"か否"0"の1ビット)を判定する多数決関数を「 ABCD を入力, M を出力とする組み合わせ(論理)回路」として最適化設計してみよう.次の(1)〜(8)の各問に答えなさい.なお,4人の投票に際しては棄権や白票は無いものとする.
(1) まず,「 ABCD ののべ4票のうち,多数(3票か4票)の方(可"1"か否"0")」を票決 M1 として出力する単純多数決関数回路 M1 を最適化設計する.可否同数(それぞれ2票)の場合の票決 M1 はドントケア"−"とする.下記の真理値表の M1 列を埋めなさい.そして,その真理値表から出力 M1 を下記の対応するカルノー図に移して,それを用いて出力 M1 を2段論理最小化し,最小積和形論理式で示しなさい.最小形が複数ある場合はそれらすべてを示しなさい. カルノー図による操作はすべて解答として明記しなさい.
(2) M1 では, 4人(A,B,C,D) それぞれの投票(1票)は論理的に等価値であるので,(1)の解答にもそれが反映されるはずである.「(1)の解答である論理式は,どのような点で,4入力(票)それぞれの論理的な等価値性を表現しているのか」について,日本語文(による論理表現)で答えなさい.
(3) 次に,A が拒否(独裁否決)権をもつ,すなわち,A が否"0"を投じた場合は,(1)の単純多数決の結果にかかわらず,票決 M2 を否"0"とする,多数決関数回路 M2 を最適化設計する. 下記の真理値表の M2 列を埋めなさい.その真理値表から出力 M2 を下記の対応するカルノー図に移して,それを用いて出力 M2 を2段論理最小化し,最小積和形論理式で示しなさい.最小形が複数ある場合はそれらすべてを示しなさい. カルノー図による操作はすべて解答として明記しなさい.
(4) M2 では,A を除く3人(B,C,D) それぞれの投票(1票)は論理的に等価値であるので,(3)の解答にもそれが反映されるはずである.「(3)の解答である論理式は,どのような点で,3入力(票)それぞれの論理的な等価値性を表現しているのか」について,日本語文(による論理表現)で答えなさい.
(5) 次に,D が独裁可決権をもつ,すなわち,D が可"1"を投じた場合は,(1)の単純多数決の結果にかかわらず,票決 M3 を可"1"とする,多数決関数回路 M3 を最適化設計する. 下記の真理値表の M3 列を埋めなさい.その真理値表から出力 M3 を下記の対応するカルノー図に移して,それを用いて出力 M3 を2段論理最小化し,最小積和形論理式で示しなさい.最小形が複数ある場合はそれらすべてを示しなさい. カルノー図による操作はすべて解答として明記しなさい.
(6) M3 は, D を除く3人(A,B,C) それぞれの投票(1票)は論理的に等価値であるので,(5)の解答にもそれが反映されるはずである.「(5)の解答である論理式は,どのような点で,3入力(票)それぞれの論理的な等価値性を表現しているのか」について,日本語文(による論理表現)で答えなさい.
(7) 最後に,A が拒否(独裁否決)権((3)の場合)を,D が独裁可決権((5)の場合)を,それぞれもつ場合の多数決関数回路 M4 を最適化設計する.ただし,A が拒否権"0",D が独裁可決権"1"を同時に行使した場合の票決 M4 はドントケア"−"とする.下記の真理値表の M4 列を埋めなさい.その真理値表から出力 M4 を下記の対応するカルノー図に移して,それを用いて出力 M4 を2段論理最小化し,最小積和形論理式で示しなさい.最小形が複数ある場合はそれらすべてを示しなさい. カルノー図による操作はすべて解答として明記しなさい.
(8) M4 では,A,Dを除く2人(B,C)それぞれの投票(1票)は論理的に等価値であるので,(7)の解答にもそれが反映されるはずである.「(7)の解答である論理式は,どのような点で,2入力(票)それぞれの論理的な等価値性を表現しているのか」について,日本語文(による論理表現)で答えなさい.
[B] Dフリップフロップ(D-FF)とSRフリップフロップ(SR-FF)の各機能を併せもつ"DSRフリップフロップ(DSR-FF)"を「(FFの制御用)入力 D, S, R ,状態(出力) Q 」の同期式順序(論理)回路として最適化設計してみよう.
次の問(1)〜(9)に答えなさい. ただし,同期式順序回路であるので,入力と状態遷移はクロックによってビットタイムごとに同期する.
(1) まず,準備として,D-FFの機能(能力)とSR-FFの機能(能力)を比較するために,SR-FFを用いてD-FFを(順序回路として)構成(設計)してみよう.D-FFの機能は「入力 D の状態 Q への取り込み」であり,その拡大状態遷移表は下記の通りである.これを1個のSR-FF(まぎれがないように,このSR-FFの入力を s, r と小文字で表す)で構成する.この拡大状態遷移表の右側に連結してある s, r 列を埋めて拡大入力要求表を完成しなさい.SR-FFの入力要求表は表1を参照しなさい.次に,拡大入力要求表の s, r 列を下記の対応するカルノー図に写し,s, r の各最小積和形論理式を求めなさい. カルノー図による操作はすべて解答として明記しなさい. また,下記の対応する回路図(SR-FFで構成するD-FF)を完成しなさい.
表 DSR-FFの状態遷移 |
S |
R |
Q+ |
機能 |
0 |
0 |
Q |
不変 |
0 |
1 |
0 |
リセット |
1 |
0 |
1 |
セット |
1 |
1 |
D |
D 取り込み |
(2) 最適化設計するDSR-FFの機能(動作)は表の状態遷移表に示す通りである.すなわち,S = 0, R = 0 ならば(D にかかわらず) Q+ = Q (不変);S = 0, R = 1 ならば(D にかかわらず) Q+ = 0 (リセット);S = 1, R = 0 ならば(D にかかわらず) Q+ = 1 (セット);S = 1, R = 1 ならば Q+ = D (D の取り込み);である.これをもとに,下記の対応する拡大状態遷移表の Q+ の列を埋めて,完成しなさい.
(3) まず,DSR-FFを1個のD-FF(まぎれがないように,このD-FFの入力を d と小文字で表す)によって構成する.(2)で作った拡大状態遷移表の右側に連結してある拡大入力要求表の d 列を埋めなさい.D-FFの入力要求表は表1を参照しなさい.
(4) (3)の拡大入力要求表の d 列を下記の対応するカルノー図に写し,d の最小積和形論理式を求めなさい. カルノー図による操作はすべて解答として明記しなさい.
(5) (4)で求めた d の最小積和形がファクタリングによって多段論理最小化できるならば,その(等価な)結果のすべてを論理式で示しなさい.
(6) 今度は,DSR-FFを1個のSR-FF(まぎれがないように,このSR-FFの入力を s, r と小文字で表す)によって構成する.(2)で作った拡大状態遷移表の右側に連結してある拡大入力要求表の s, r 列を埋めなさい.SR-FFの入力要求表は右記を参照しなさい.
(7) (6)の拡大入力要求表の s, r 列を下記の対応するカルノー図に写し,s, r の各最小積和形論理式を求めなさい. カルノー図による操作はすべて解答として明記しなさい.
(8) (7)で求めた s, r の最小積和形がファクタリングによって多段論理最小化できるならば,その(等価な)結果のすべてを論理式で示しなさい.
(9) まず,(4)の「D-FFで構成したDSR-FF」と(7)の「SR-FFで構成したDSR-FF」それぞれの空間サイズ(2入力AND/ORゲートの総数)について,各順序回路のメモリであるFF分を除いて,定量的に比較・考察 (a) しなさい.次に,ファクタリング(多段論理最小化)後の,(5)の「D-FFで構成したDSR-FF」と(8)の「SR-FFで構成したDSR-FF」について,各順序回路のメモリであるFF分を除いて,定量的に比較・考察 (b) しなさい.最後に,(b)と同じ点について,今度は,(1)の結果(SR-FFで構成したD-FF)を加えて,各順序回路のメモリであるFF分を含めて,定量的に比較・考察 (c) しなさい. (c)の考察において,厳密化のために「NOTゲート(数)を考慮する」のが適切である場合には,具体的な理由を付して考察に加えなさい.