「論理回路とその設計」 演習問題【8】
[A] 1桁の10進数("0","1",…,"8","9")を2進数(ビット列)符号で表現する方法は種々ある.表1の左は,4ビットの2進数(各ビットの重み:最上位から最下位へ10進数で8-4-2-1)を自然に用いる符号表現で,「BCD(Binary Coded Decimal; 2進符号化10進数)符号」という.表1の右は,BCD符号に2進数"0011"(10進数では"3")を加えて(加算して)作った4ビット符号表現で,「3増し(excess-3)符号」という.4ビットの3増し符号 WXYZ (Wが最上位ビット,Zが最下位ビット)を入力とし,それを対応する4ビットのBCD符号 ABCD (Aが最上位ビット,Dが最下位ビット)に変換して出力する「10進数符号の変換(3増し→BCD)回路」を4入力4出力の組み合わせ回路として設計してみよう.ただし,入力 WXYZ が"0000","0001","0010","1101","1110","1111"の6通りのそれぞれでは,いずれも出力 ABCD は4ビットともすべてドントケア"−−−−"とする.次の問すべてに答えなさい.
表1 |
10 |
BCD符号 |
3増し符号 |
進 |
A |
B |
C |
D |
W |
X |
Y |
Z |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
2 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
3 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
4 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
5 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
6 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
7 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
8 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
9 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
(1) 下記の真理値表のA,B,C,D列の空白部分を埋めて,真理値表を完成しなさい.
(2) (1)の真理値表から出力A,B,C,Dのそれぞれを下記の対応するカルノー図に移して,それを用いて出力A,B,C,Dのそれぞれを2段論理最小化し,それぞれ最小積和形論理式で示しなさい.カルノー図による操作はすべて解答として明記しなさい.
(3) (2)で求めた出力A,B,C,Dの各最小積和形のうちで,ファクタリングを用いて多段論理最小化できるものがあれば,それらすべて(の結果)を論理式で示しなさい.
(4) (3)で求めた多段論理最小化した出力をNAND回路(NANDゲートだけで構成する論理回路)にテクノロジマッピングし,それを回路図として示しなさい. (3)の解答が複数あれば,そのうちいずれか1つを選び,その出力に対応する1個のNAND回路を示せばよい.
(5) (2)を4入力4出力組み合わせ回路(積和形論理式の論理積項や論理和項にそのまま対応する多入力(AND/OR)ゲートで構成する(*))として1回路にまとめると,共有(共用)ゲートの存在によってさらなる空間最適化ができるかどうかについて,(2)の解答である論理式を引用することによって具体的に説明しなさい.
(6) (3)を4入力4出力組み合わせ回路として1回路にまとめると,共有ゲートの存在によってさらなる空間最適化ができるかどうかについて,(3)の解答である論理式を引用することによって具体的に説明しなさい.
(7) (5)で構成した4入力4出力組み合わせ回路を(*)の条件をはずして2入力(AND/OR)ゲートだけで構成すると,共有ゲートの存在によってさらなる空間最適化ができるかかどうかについて,(2)の解答である論理式を引用することによって具体的に説明しなさい.
[B] 「4ビットのBCD符号による10進数のダウンカウンタ」を4個のフリップフロップ(FF)(その状態をそれぞれW,X,Y,Zとする)を用いる同期式順序回路として設計してみよう.BCD符号10進数ダウンカウンタとは,10進数で 9→8→7→…→2→1→0→9→…(以下繰り返しのため省略) というクロックの循環カウントダウンを4ビット2進数表現のBCD符号で行う(すなわち,状態 W X Y Z が[1001→1000→0111→…→0010→0001→0000→1001→…(以下繰り返しのため省略)]と遷移する)カウンタである. ただし,"1010","1011","1100","1101","1110","1111"の6通りのそれぞれには状態遷移しない.すなわち,これらの6状態に対応する次状態 W+ X + Y + Z+ はドントケア"−−−−"とする.同期式順序回路であるので,状態遷移(カウントダウン)はクロックに同期することを前提とするが,解答(論理式や回路図)では,クロックは無視し省略しなさい.次の問すべてに答えなさい.
(1) このカウンタの状態遷移図は上記の4ビットBCD符号による[ ]である.これをもとに,下記の拡大状態遷移表の W+,X +,Y +,Z+ の各列の空欄を埋めなさい.
(2) このカウンタをDフリップフロップ(D-FF)によって構成する.(1)で作った拡大状態遷移表の右側に連結してある DW,DX,DY,DZ 列の空欄を埋めて拡大入力要求表を完成しなさい.D-FFの入力要求表は右記を参照しなさい.
(3) (2)の DW,DX,DY,DZ 列を下記の対応するカルノー図に写し, DW,DX,DY,DZ のそれぞれを2段論理最小化してそれぞれの最小積和形論理式を求めなさい. カルノー図による操作はすべて解答として明記しなさい.
(4) 各FFのD入力を2段論理最小化した(3)を順序回路(積和形論理式の論理積項や論理和項にそのまま対応する多入力(AND/OR)ゲートで構成する)としてまとめると,共有ゲートの存在によってさらなる空間最適化ができるかどうかについて,(3)の解答である論理式を引用することによって具体的に説明しなさい.
(5) (3)で求めた各FFのD入力 DW,DX,DY,DZ の各最小積和形のうちで,ファクタリングを用いて多段論理最小化できるものがあれば,それらすべて(の結果)を論理式で示しなさい.
(6) 各FFのD入力を多段論理最小化した(5)を順序回路(積和形論理式の論理積項や論理和項にそのまま対応する多入力(AND/OR)ゲートで構成する)としてまとめると,共有ゲートの存在によってさらなる空間最適化ができるかどうかについて,(5)の解答である論理式を引用することによって具体的に説明しなさい.
(7) (5)で求めた多段論理最小化したD入力をNAND回路(NANDゲートだけで構成する論理回路)にテクノロジマッピングし,それを回路図として示しなさい. (5)の解答が複数あれば,そのうちいずれか1つを選び,その出力に対応する1個のNAND回路を示せばよい.