verilog hdl 分频器

      晶振时钟频率为50MHz,欲得到4Hz的频率,就要进行50MHz/4Hz=12.5M次分频(晶振时钟周期为20ns,欲得到0.25s的时钟周期信号,就要进行0.25s/20ns=12.5M次分频)。时钟翻转要等待的时间为0.125s,则0.125s=20ns*(12.5M/2),所以需要等待12.5M/2次,即50MHz/4Hz/2次时钟上升沿跳变。容易得到分频器的条件公式:

p==晶振频率/2/欲得到的时钟频率 - 1;(p为整型计数值,从零开始计数)

module div(
  input clk,
  output reg clk_4Hz
  );


  integer p;


  always @(posedge clk)
   begin
    if(p==25000000/4 - 1)

begin
    p=0;
     clk_4Hz <= ~clk_4Hz;
    end
    else

p = p + 1;
   end
endmodule

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章