要求是让四个灯从左到右亮然后从右到左熄灭,最开始一部分是正常跳变的,后来数据就不对了。
module lab(input clk,
input res,
output reg [3:0]led
);
reg flag=1'b0;
reg [3:0]count;
always@(posedge clk or negedge res)
begin
if(!res)
led<=4'b1111;
else if((res==1'b1)&&(flag==1'b0))
led<={1'b0,led[3:1]};
else if((res==1'b1)&&(flag==1'b1))
led<={led[2:0],1'b1};
end
always@(posedge clk or negedge res)
begin
if(!res)
count<=0;
else if(count==3'd3)
begin
count<=0;
flag<=~flag;
end
else
count<=count+1;
end
endmodule