很高兴回答你的问题!
如果以下回答合适,请采纳;如果不恰当,继续讨论。谢谢!
令clk为led流水灯的驱动时钟,rst为上升沿复位信号(异步)。则所实现的Verilog HDL代码部分如下:
module led_run(clk,led,rst);
input clk; //clk with low frequency like 1Hz
input rst; //system reset signal
output [11:0] led; //denotes 12 leds,
reg [11:0] led;
reg [2:0] state; //state variable,internal signals
reg [5:0] count; //control signals of the state diagram,internal signals
always @(posedge clk or posedge rst) //the state diagram
if (rst)
begin
state <= 3'b000;
count <= 6'b000000;
end
else
case(state)
...
详细代码见附件。
该代码的仿真波形如下图所示(注led低电平为亮,高电平为灭)