首页 > 代码库 > 四位流水灯Led_4

四位流水灯Led_4

流水灯实验是我们学习开发板或语言的入门程序,通过流水灯这个可视化的实验,会增加我们对学习语言的乐趣,

会让我们觉得其实语言也是可以玩出花样的,接下来呈上代码,大家可以下到自己的板子里试试,。

//Led_4.v
        module Led_4(clk,rst,led);
  input clk; 
  input rst; 
  output [3:0] led;

  reg [3:0] led;

  always @(posedge clk or negedge rst)
  begin
     if(!rst)
     begin
       led <= 4b1000;
     end
     else 
     begin
         led <= {led[0],led[3],led[2],led[1]};
     end
  end
  endmodule

测试程序:

//、Led_4_tb.v
  `timescale 1ns/1ps
 module Led_4_tb();

  reg clk;
  reg rst;
  wire [3:0] led;

always #10  clk = ~clk;

Led_4 Led_4_inst(
    .clk(clk),
    .rst(rst),
    .led(led)
);

initial
begin
   clk = 1b0;    
   rst = 1b1;
   #10 rst = 1b0;
   #10 rst = 1b1;
 end
 endmodule

技术分享

 根据波形图可以看出,每个周期内只有一位是1,当采用共阴极LED灯时,就会只有一个灯亮,然后循环点亮,

达到流水效果,大家也可以改变为其他值,会展现出其他花样来,世界就是这么精彩、这么有趣;哈哈!!

 

四位流水灯Led_4