用verilog hdl 写一个流水灯代码
时间: 2024-05-25 18:15:16 浏览: 103
好的,以下是用 Verilog HDL 写流水灯的代码:
module flow_light(
input clock, // 时钟输入信号
output reg [3:0] LED // 灯输出信号
);
reg [25:0] counter; // 计数器
always @(posedge clock) begin
if(counter == 0) begin
counter <= counter + 1; // 计数器加1
LED <= 4'b0001; // 第一盏灯亮
end
else if(counter == 250000) begin
counter <= counter + 1; // 计数器加1
LED <= 4'b0010; // 第二盏灯亮
end
else if(counter == 500000) begin
counter <= counter + 1; // 计数器加1
LED <= 4'b0100; // 第三盏灯亮
end
else if(counter == 750000) begin
counter <= 0; // 计数器清零
LED <= 4'b1000; // 第四盏灯亮
end
else begin
counter <= counter + 1; // 计数器加1
end
end
endmodule
上述代码实现的是一个四盏灯的流水灯,时钟输入信号用 clock 表示,灯的输出信号用 LED 表示。在时钟上升沿的时候,计数器加1,分别控制不同的灯亮起来。
阅读全文