「論理回路とその設計」 演習問題【7】

[A] 2ビットのデータ入力 A,B と2ビットの制御入力 P,Q ,及び,2ビットのデータ出力 X,Y を持つ「1ビット シフタ(shifter; 移動器)」を4入力2出力の組み合わせ回路 L として設計してみよう.このシフタでは,表1の機能表に示すように,2ビットデータ入力 A B を,制御入力 PQ に従って,PQ = 00のとき無操作(シフト無し),PQ = 01のとき左1ビットシフト,PQ = 10のとき右1ビットシフト,PQ = 11のとき交換(循環シフト),の各操作をして2ビットデータ出力 X,Y とする.ただし,表1の機能表において,α(シフトした後の空いたビットを埋める論理値)は "0", "1", "−"(ドントケア) のいずれかであり,α=0 とするシフタを L0 ,α=1 とするシフタを L1 ,α=−(ドントケア) とするシフタを L' とする.この3種類の1ビットシフタ L0,L1,L' を設計する.また,L0 における2ビット出力を X0 Y0L1 における2ビット出力を X1 Y1L' における2ビット出力を X' Y' ,とする.次の問すべてに答えなさい.

表1
P Q X Y 操作
0 0 A B 無操作
0 1 B α 左シフト
1 0 α A 右シフト
1 1 B A 交換


[B] [A]で設計した「1ビットシフタ」を,今度は,2個のTフリップフロップ(FFA, FFBとし,その状態(=出力)をそれぞれ A, B とする)を用いる同期式順序回路 C として設計してみよう.このシフタの機能は[A]と同様であり,表2の状態遷移表に従う.ただし,[A]でシフト対象となったデータ入力の代わりに,この順序回路では,2ビットの状態 A, B をシフト対象とする. すなわち,このシフタでは,表2の機能表に示すように,2ビット(T-FF)の現状態 A B を,順序回路への制御入力 PQ に従って,PQ = 00のとき無操作(シフト無し),PQ = 01のとき左1ビットシフト,PQ = 10のとき右1ビットシフト,PQ = 11のとき交換(循環シフト),の各操作をして2ビット(T-FF)の次状態 A+ B+ とする.ただし,表2の状態遷移表において,α(シフトした後の空いたビットを埋める論理値)は "0", "1", "−"(ドントケア) のいずれかであり,α=0 とするシフタを C0 ,α=1 とするシフタを C1 ,α=−(ドントケア) とするシフタを C' とする.この3種類の1ビットシフタ C0,C1,C' を設計する.また,FFA と FFB の各T入力については,C0 のそれを TA0 TB0C1 のそれを TA1 TB1C' のそれを TA' TB',とする.さらに,入力と状態遷移はクロックによって同期することを前提とするが,解答(論理式や論理回路図など)では,クロックは無視/省略しなさい.次の問すべてに答えなさい.

表2
P Q A+ B+ 操作
0 0 A B 無操作
0 1 B α 左シフト
1 0 α A 右シフト
1 1 B A 交換