基于VHDL和FPGA的多種分頻的實現方法
圖四
由圖中qxiao和clk的波形可以看出,每隔8.5個時鐘周期,qxiao信號產生一個上升沿,從而實現分頻系數是8.5的分頻,同時在qzheng端得到等占空比的17分頻。設clk為170MHz,則qxiao輸出為20MHz,qzheng輸出為10MHz。
2.實現占空比為1∶8和4∶5的9分頻
只要上述程序的xor_en置低電平即可在qxiao輸出占空比為1∶8的9分頻信號;在qzheng2輸出占空比為4∶5的9分頻信號。同樣僅占8個邏輯單元(logic elements)。仿真波形如下。
3.實現等占空比的2、4、8、16和32分頻 只要將上述程序中的xor_en置為低電平,同時將計數器模塊的計數最大值設為16即可。仿真波形如下。
由此可見,只要稍微改變計數器的計數狀態(tài)值,對異或門進行選通控制,即可實現上述多種形式的分頻。本設計在Altera公司的EP1K50QC208-3構成的測試平臺上測試通過,性能良好。
結束語
我們在設計模擬雷達脈沖信號和用FPGA開發(fā)擴頻芯片時就用到了上述多種形式得分頻。本文旨在介紹一種進行FPGA開發(fā)時,所需多種分頻的實現方法,如果設計中所需分頻形式較多,可以直接利用本設計,通過對程序的稍微改動以滿足自己設計的要求。如果設計中需要分頻形式較少,可以利用本設計部分程序,以節(jié)省資源。
評論