实现桶形移位器组合逻辑,要实现的功能如下:
输入为32位二进制向量,根据方向和位移值输出循环移位后的32位结果。例如:
输入向量00011000101000000000000000000000,方向左,位移值10,输出向量10000000000000000000000001100010;
输入向量00000000111111110000000000000011,方向右,位移植20,输出向量11110000000000000011000000001111.
顶层模块名为bsh_32,输入输出功能定义:
名称 方向 位宽 描述
data_in I 32 输入数据
dir I 1 位移方向
0:循环左移
1:循环右移
sh I 5 位移值,取值0~31
data_out O 32 输出数据
设计要求:
Verilog实现代码可综合,逻辑延迟越小越好,给出综合以及仿真结果。
1