FPGA 5分頻程式

2021-07-08 12:54:08 字數 1030 閱讀 5447

一、fpga實現奇數倍分頻,以5分頻為例,**如下:

module div(mclk,div5_clk,div0,div1,count0);

input  mclk;                 //時鐘輸入

output div5_clk;             //5分頻輸出

output div0,div1;             //(n-1)/2分頻輸出

reg div0;

reg div1;

parameter n = 5;                 // 設定分頻數n(奇數)

parameter m = 2;                 // (n-1)/2

output [2:0]count0;              //計數器計數暫存器

reg[2:0] count0 = 0;

reg[2:0] count1 = 0;

always@(posedge mclk)          //mclk上公升沿分頻

begin

if(count0==2)begin

div0=0;

end else if(count0==5)begin

count0=0;

div0=1;

endcount0=count0+1;

endalways@(negedge mclk)         //mclk下降沿分頻

begin

if(count1==2)begin

div1=0;

end else if(count1==5)begin

div1=1;

count1=0;

endcount1=count1+1;

endassign div5_clk=div0|div1;     //兩路(n-1)/2分頻輸出相或

endmodule

**圖如下所示:

FPGA三分頻,五分頻,奇數分頻

我們在做fpga設計時,有時會用到時鐘頻率奇數分頻的頻率,例如筆者fpga的晶振為50m,當我們需要10m的時鐘時,一種方式可以使用dcm或pll獲取,系統會內部分頻到10m,但其實verilog內部也完全能實現,所以我們還是來了解一下。有這樣乙個歡樂的時鐘了,我們要得到以下的分頻效果 奇數分頻的難...

FPGA三分頻,五分頻,奇數分頻

我們在做fpga設計時,有時會用到時鐘頻率奇數分頻的頻率,例如筆者fpga的晶振為50m,當我們需要10m的時鐘時,一種方式可以使用dcm或pll獲取,系統會內部分頻到10m,但其實verilog內部也完全能實現,所以我們還是來了解一下。有這樣乙個歡樂的時鐘了,我們要得到以下的分頻效果 奇數分頻的難...

FPGA三分頻電路的實現

最近剛開始學習fpga,準備使用verlog實現一些分頻電路,偶數倍分頻比較好操作,奇數倍分頻相對來說要複雜一點點,我在網上查閱了一些資料,我來用我自己的話總結下。使用乙個計數器 對基準時鐘的上公升沿和下降沿計數。計數範圍 0 n 1 在n 1對輸出訊號進行翻轉並復位計數值。以三分頻為例子,下面給出...