用verilog 写一个流水灯
时间: 2023-04-09 09:03:12 浏览: 122
流水灯基于Verilog语言实现及测试代码.pdf
很高兴回答你的问题!以下是用 Verilog 写一个流水灯的代码:
module shift_register(
input clk,
input rst,
output reg [7:0] led
);
reg [7:0] shift_reg;
always @(posedge clk) begin
if (rst) begin
shift_reg <= 8'b00000001;
end else begin
shift_reg <= {shift_reg[6:0], shift_reg[7]};
end
end
assign led = shift_reg;
endmodule
这个代码实现了一个 8 位的移位寄存器,每当时钟上升沿到来时,它会将寄存器中的数据向左移动一位,最高位被放到最低位,最终输出到 8 个 LED 灯上。当复位信号 rst 为高电平时,寄存器会被初始化为 00000001,从而实现流水灯的效果。
阅读全文