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

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