4位双向移位寄存器verilog
时间: 2023-09-24 22:03:11 浏览: 171
4位串入并出移位寄存器
5星 · 资源好评率100%
以下是一个4位双向移位寄存器的 Verilog 代码示例:
```
module shift_register (
input clk,
input rst,
input [3:0] in,
input left_shift,
input right_shift,
output reg [3:0] out
);
always @(posedge clk or negedge rst) begin
if (!rst) begin
out <= 4'b0000;
end else if (left_shift) begin
out <= {out[2:0], in};
end else if (right_shift) begin
out <= {in, out[3:1]};
end
end
endmodule
```
该模块具有时钟、复位、输入和双向移位控制信号。当 left_shift 为 1 时,输入数据 in 右移并存储在寄存器中;当 right_shift 为 1 时,输入数据 in 左移并存储在寄存器中。在没有移位控制信号时,寄存器将保持不变。
阅读全文