循環シフトのシフト回路

8ビットのビット列a_[[7]]a_[[6]]a_[[5]]a_[[4]]a_[[3]]a_[[2]]a_[[1]]a_[[0]]を右に循環シフトするシフト回路は、マルチプレクサを利用して、以下のように実現できます。

このシフト回路では、___S___[0]]~___S___[2]]を操作することにより、以下の8種類の循環シフトを行えます。

___S___[0]] ___S___[1]] ___S___[2]]
0ビット右に循環シフト 0 0 0
1ビット右に循環シフト 1 0 0
2ビット右に循環シフト 0 1 0
3ビット右に循環シフト 1 1 0
4ビット右に循環シフト 0 0 1
5ビット右に循環シフト 1 0 1
6ビット右に循環シフト 0 1 1
7ビット右に循環シフト 1 1 1

8ビットのビット列a_[[7]]a_[[6]]a_[[5]]a_[[4]]a_[[3]]a_[[2]]a_[[1]]a_[[0]]を左に循環シフトするシフト回路は、マルチプレクサを利用して、以下のように実現できます。

このシフト回路では、___S___[0]]~___S___[2]]を操作することにより、以下の8種類の循環シフトを行えます。

___S___[0]] ___S___[1]] ___S___[2]]
0ビット左に循環シフト 0 0 0
1ビット左に循環シフト 1 0 0
2ビット左に循環シフト 0 1 0
3ビット左に循環シフト 1 1 0
4ビット左に循環シフト 0 0 1
5ビット左に循環シフト 1 0 1
6ビット左に循環シフト 0 1 1
7ビット左に循環シフト 1 1 1