本帖最后由 WeTiGY 于 2016-12-4 15:04 編輯
實驗三 分頻器一、實驗?zāi)康?/font> 1、掌握分頻器的設(shè)計原理; 2、用HDL語言設(shè)計分頻器。 二、實驗原理 分頻器與計數(shù)器類似,也是要對時鐘脈沖進(jìn)行計數(shù),但其輸出的不是對時鐘脈沖個數(shù)的計數(shù)值,而是其頻率與時鐘的頻率成固定比例關(guān)系的脈沖信號。整數(shù)分頻是所有分頻器中最簡單,最容易實現(xiàn)的。我們只需要通過計數(shù)器計數(shù)就完全可以實現(xiàn)。如整數(shù)N分頻,就可以通過待分頻的時鐘觸發(fā)計數(shù)器計數(shù)當(dāng)計數(shù)從0計數(shù)到N/2-1時,輸出時鐘進(jìn)行反轉(zhuǎn),并使計數(shù)器在下一個時鐘從0開始重新計數(shù),如此循環(huán)就可以實現(xiàn)任意的等占空比或占空比近似為50%的整數(shù)分頻。 三、實驗內(nèi)容 設(shè)計一個分頻輸出信號的占空比近似為50%的分頻器,將50MHz輸入時鐘分頻為1Hz時鐘,在試驗箱EXT_B_A1_1 端口輸出,并用示波器觀察輸出波形。- module divider_module
- (
- CLK,f_Out
- );
- input CLK;
- output f_Out;
-
- parameter T1s=26'd50_000_000;
- reg [25:0]Count1;
-
- always @ ( posedge CLK )
- if( Count1 == T1s)
- Count1 <= 26'd0;
- else
- Count1 <= Count1 + 1'b1;
-
- reg rf_Out;
- always @ ( posedge CLK )
- if( Count1 >= 26'd0 && Count1 <= 26'd25_000_000)
- rf_Out <= 1'b0;
- else
- rf_Out <= 1'b1;
- assign f_Out = rf_Out;
- endmodule
復(fù)制代碼
注:使用20分頻仿真
仿真圖:
分頻器.jpg (20.95 KB, 下載次數(shù): 82)
下載附件
2016-11-25 22:15 上傳
|