1. 程式人生 > >FPGA之花樣流水燈控制模組

FPGA之花樣流水燈控制模組

例子:8個燈中,硬體控制其中1個LED燈以0.5秒的速度正向點亮一次,然後逆向點亮1次,並不斷迴圈。主:系統時鐘為50MHZ

分析:首先,訊號:8個燈、系統時鐘clk、需要時鐘0.5秒;

           實現:系統時鐘分頻0.5秒模組。控制燈亮一個。

module div_25M(clk_50M,CLk_2HZ)
  input clk_50M;
  output CLK_2HZ;
  reg[23:0] count;
  reg CLK_2HZ;
parameter cnt=1.25e7;
[email protected](posedge clk_50M)
  begin
    if(count==cnt/2-1)
      count<=0;
      CLK_2HZ<=~CLK_2HZ;
   else
      count<=count+1;
 end
endmodule

   

上述為分頻模組

module led_ctrol(rst,clk)
 input   clk,rst;
 output [7:0] led;
 reg flag;
 reg [7:0] led;
 always @(posedge clk)
  begin
  if(rst)
    led<=8'b00000001;
    flag<=0;
  else if(flag==0)
       led<=led<<1;
       if(led==8'b1000000)
         flag<=1;
   else  
       led<=led>>1;
       if()