索引左转循环 - verilog

1 indexing verilog shift

我想连接两个模块,以便output_module1 [i] - > input_module2 [circular_shift_left(i)]

例如 :

output_module1[100] --> input_module2[001] // (output no. 5 to input no. 2)

output_module1[011] --> input_module2[110] // (output no. 4 to input no. 7)
Run Code Online (Sandbox Code Playgroud)

两个模块的长度都是通用的.

在verilog中实现它的最有效(也是最简单)方法是什么?

谢谢.

Tim*_*Tim 5

进行循环移位的最简单方法可能是组合部分选择和连接运算符.

wire [7:0] in;
wire [7:0] out;

assign out = {in[6:0], in[7]};
Run Code Online (Sandbox Code Playgroud)