「論理回路とその設計」 演習問題【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増し符号 WXYZWが最上位ビット,Zが最下位ビット)を入力とし,それを対応する4ビットのBCD符号 ABCDAが最上位ビット,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

[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+ はドントケア"−−−−"とする.同期式順序回路であるので,状態遷移(カウントダウン)はクロックに同期することを前提とするが,解答(論理式や回路図)では,クロックは無視し省略しなさい.次の問すべてに答えなさい.