基于Verilog的分頻器設(shè)計.doc

基于Verilog的分頻器設(shè)計.doc

ID:56483436

大?。?23.00 KB

頁數(shù):7頁

時間:2020-06-24

基于Verilog的分頻器設(shè)計.doc_第1頁
基于Verilog的分頻器設(shè)計.doc_第2頁
基于Verilog的分頻器設(shè)計.doc_第3頁
基于Verilog的分頻器設(shè)計.doc_第4頁
基于Verilog的分頻器設(shè)計.doc_第5頁
資源描述:

《基于Verilog的分頻器設(shè)計.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、分頻器是指使輸出信號頻率為輸入信號頻率整數(shù)分之一的電子電路。在許多電子設(shè)備中如電子鐘、頻率合成器等,需要各種不同頻率的信號協(xié)同工作,常用的方法是以穩(wěn)定度高的晶體振蕩器為主振源,通過變換得到所需要的各種頻率成分,分頻器是一種主要變換手段。早期的分頻器多為正弦分頻器,隨著數(shù)字集成電路的發(fā)展,脈沖分頻器(又稱數(shù)字分頻器)逐漸取代了正弦分頻器。下面以VerilogHDL?語言為基礎(chǔ)介紹占空比為50%的分頻器。1?偶分頻偶分頻比較簡單,假設(shè)為N分頻,只需計數(shù)到N/2-1,然后時鐘翻轉(zhuǎn)、計數(shù)清零,如此循環(huán)就可以得到N(偶)分頻。代碼如下。modulefp_even(

2、clk_out,clk_in,rst);outputclk_out;inputclk_in;inputrst;reg[1:0]cnt;regclk_out;parameterN=6;?always@(posedgeclk_inornegedgerst)beginif(!rst)???????begin??????????????cnt<=0;??????????????clk_out<=0;???????endelsebegin????????if(cnt==N/2-1)??????????????beginclk_out<=!clk_out;cnt<=

3、0;end????????else??????????????cnt<=cnt+1;????????endendendmodule可以通過改變參量N的值和計數(shù)變量cnt的位寬實現(xiàn)任意偶分頻。偶分頻(N=6)的RTL原理圖:偶分頻(N=6)的行為仿真結(jié)果:?2?奇分頻?實現(xiàn)奇數(shù)(N)分頻,分別用上升沿計數(shù)到(N-1)/2,再計數(shù)到N-1;用下降沿計數(shù)到(N-1)/2,再計數(shù)到N-1,得到兩個波形,然后把它們相或即可得到N分頻。代碼如下:modulefp_odd(clk_out,clk_p,clk_n,clk_in,rst);outputclk_out;ou

4、tputclk_p,clk_n;inputclk_in,rst;?reg[2:0]cnt_p,cnt_n;regclk_p,clk_n;parameterN=5;?always@(posedgeclk_inornegedgerst)begin???????if(!rst)?????cnt_p<=0;???????else??if(cnt_p==N-1)????cnt_p<=0;????????????????elsecnt_p<=cnt_p+1;end?always@(posedgeclk_inornegedgerst)begin????if(!rst)

5、clk_p<=0;????elseif(cnt_p==(N-1)/2)???????????????clk_p<=!clk_p;???????elseif(cnt_p==N-1)???????????????clk_p<=!clk_p;end?always@(negedgeclk_inornegedgerst)begin???????if(!rst)?????cnt_n<=0;???????else??if(cnt_n==N-1)????cnt_n<=0;????????????????elsecnt_n<=cnt_n+1;end?always@(neg

6、edgeclk_inornegedgerst)begin????if(!rst)clk_n<=0;????elseif(cnt_n==(N-1)/2)???????????????clk_n<=!clk_n;???????elseif(cnt_n==N-1)???????????????clk_n<=!clk_n;end?assignclk_out=clk_p

7、clk_n;endmodule?RTLSchematic:??SimulateBehavioralModel:同理,可以通過改變參量N的值和計數(shù)變量cnt_p和cnt_n的位寬實現(xiàn)任意奇分頻。?3

8、?任意占空比的任意分頻在verilog程序設(shè)計中,我們往往要對一個頻率進行任意分頻,而且占空比也有一定的要求這樣的話,對于程序有一定的要求,現(xiàn)在在前面兩個實驗的基礎(chǔ)上做一個簡單的總結(jié),實現(xiàn)對一個頻率的任意占空比的任意分頻。比如:?FPGA系統(tǒng)時鐘是50MHz,而我們要產(chǎn)生的頻率是880Hz,那么,我們需要對系統(tǒng)時鐘進行分頻。很容易想到用計數(shù)的方式來分頻:50000000/880=56818。顯然這個數(shù)字不是2的整冪次方,那么我們可以設(shè)定一個參數(shù),讓它到56818的時候重新計數(shù)就可以實現(xiàn)了。程序如下:modulediv(clk,clk_div);input

9、clk;outputclk_div;reg[15:0]counter;alway

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。