基于VHDL和FPGA的多種分頻實(shí)現方法介紹
分頻器是數字系統設計中的基本電路,根據不同設計的需要,我們會(huì )遇到偶數分頻、奇數分頻、半整數分頻等,有時(shí)要求等占空比,有時(shí)要求非等占空比。在同一個(gè)設計中有時(shí)要求多種形式的分頻。通常由計數器或計數器的級聯(lián)構成各種形式的偶數分頻及非等占空比的奇數分頻,實(shí)現較為簡(jiǎn)單。但對半整數分頻及等占空比的奇數分頻實(shí)現較為困難。本文利用VHDL硬件描述語(yǔ)言,通過(guò)QuartusⅡ3.0開(kāi)發(fā)平臺,使用Altera公司的FPGA,設計了一種能夠滿(mǎn)足上述各種要求的較為通用的分頻器。
本文引用地址:http://dyxdggzs.com/article/148678.htm一、電路設計
采用FPGA實(shí)現半整數分頻器,可以采用以下方法:設計一個(gè)模N的計數器,再設計一個(gè)脈沖扣除電路,每來(lái)兩個(gè)脈沖扣除一個(gè)脈沖,即可實(shí)現分頻系數為N-0.5的分頻器。脈沖扣除電路由異或門(mén)和一個(gè)2分頻器構成。本設計在半整數分頻器原理的基礎上,對異或門(mén)加一個(gè)使能控制信號,通過(guò)對異或門(mén)和計數器計數狀態(tài)值的控制,實(shí)現同一個(gè)電路完成多種形式分頻,如圖1所示。

二、VHDL語(yǔ)言的實(shí)現
現通過(guò)設計一個(gè)可以實(shí)現8.5分頻,等占空比的17分頻,2、4、8、16、32分頻,及占空比為1∶8和4∶5的9分頻等多種形式分頻的分頻器,介紹該通用分頻器的FPGA實(shí)現。
由圖1所示的電路原理圖可知,分頻器由帶使能端的異或門(mén)、模N計數器和一個(gè)2分頻器組成,本設計用D觸發(fā)器來(lái)完成2分頻的功能,實(shí)現方法是:將觸發(fā)器的Q反輸出端反饋回輸入端D,將計數器的一個(gè)計數輸出端作為D觸發(fā)器的時(shí)鐘輸入端。各功能模塊的VHDL語(yǔ)言實(shí)現如下。
1.模N計數器的實(shí)現
一般設計中用到計數器時(shí),我們可以調用lpm庫中的計數器模塊,也可以采用VHDL語(yǔ)言自己設計一個(gè)模N計數器。本設計采用VHDL語(yǔ)言設計一個(gè)最大模值為16的計數器。輸入端口為:使能信號en,復位信號clr和時(shí)鐘信號clk;輸出端口為:qa、qb、qc、qd。其VHDL語(yǔ)言描述略。
2.帶使能控制的異或門(mén)的實(shí)現
輸入端為:xor_en:異或使能,a和b:異或輸入;輸出端為:c:異或輸出。當xor_en為高電平時(shí),c輸出a和b的異或值。當xor_en為低電平時(shí),c輸出信號b。其VHDL語(yǔ)言略。
3.2分頻(觸發(fā)器)的實(shí)現
輸入端為:時(shí)鐘信號clk,輸入信號d;輸出端為:q:輸出信號a,q1:輸出信號a反。其VHDL語(yǔ)言略。
4.分頻器的實(shí)現
本設計采用層次化的設計方法,首先設計實(shí)現分頻器電路中各組成電路元件,然后通過(guò)元件例化的方法,調用各元件,實(shí)現整個(gè)分頻器。其VHDL語(yǔ)言略。
三、仿真結果及硬件電路的測試
本設計的目的是通用性和簡(jiǎn)易性,只要對上述程序稍加改動(dòng)即可實(shí)現多種形式的分頻。
1.實(shí)現8.5分頻和等占空比的17分頻
只要將上述程序中,調用計數器模塊時(shí)端口qa、qb、qc匹配為open狀態(tài),同時(shí)置xor_en為高電平即可。從編譯報告看出總共占用8個(gè)邏輯單元(logic elements),其仿真波形如圖2~4所示。

圖二

圖三
評論