初学者问一个流水灯的问题,附代码

2019-07-15 21:19发布

18个LED灯,每隔1秒流水亮灯,上板没反映,请教一下代码有问题吗

module led (
  input clk,
  input rstn,
  output reg[17:0] led

);

reg [24:0] counter;
reg [4:0] led_count;

always@(posedge clk or negedge rstn)
begin
  if(rstn==1'b0)
    counter<=25'b0;
  else
    counter<=counter+25'b1;
end

always@(posedge clk or negedge rstn)
begin
  if(rstn==1'b0)
    led_count<=5'b0;
  else  
    if(counter==25'b0)
           led_count<=led_count+5'b1;
end

always@(posedge clk or negedge rstn)
begin
  if(rstn==1'b0)
    led<=18'b0;
  else
    case(led_count)
           0 :led=18'b0000_0000_0000_0000_01;
                1 :led=18'b0000_0000_0000_0000_10;
                2 :led=18'b0000_0000_0000_0001_00;
                3 :led=18'b0000_0000_0000_0010_00;
                4 :led=18'b0000_0000_0000_0100_00;
                5 :led=18'b0000_0000_0000_1000_00;
                6 :led=18'b0000_0000_0001_0000_00;
                7 :led=18'b0000_0000_0010_0000_00;
                8 :led=18'b0000_0000_0100_0000_00;
                9 :led=18'b0000_0000_1000_0000_00;
                10:led=18'b0000_0001_0000_0000_00;
                11:led=18'b0000_0010_0000_0000_00;
                12:led=18'b0000_0100_0000_0000_00;
                13:led=18'b0000_1000_0000_0000_00;
                14:led=18'b0001_0000_0000_0000_00;
                15:led=18'b0010_0000_0000_0000_00;
                16:led=18'b0100_0000_0000_0000_00;
                17:led=18'b1000_0000_0000_0000_00;
      default:led=18'b0;   
    endcase
end

endmodule
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。