新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于VHDL和FPGA的多種分頻實現(xiàn)方法介紹

基于VHDL和FPGA的多種分頻實現(xiàn)方法介紹

作者: 時間:2012-08-01 來源:網(wǎng)絡(luò) 收藏

分頻器是數(shù)字系統(tǒng)設(shè)計中的基本電路,根據(jù)不同設(shè)計的需要,我們會遇到偶數(shù)分頻、奇數(shù)分頻、半整數(shù)分頻等,有時要求等占空比,有時要求非等占空比。在同一個設(shè)計中有時要求形式的分頻。通常由計數(shù)器或計數(shù)器的級聯(lián)構(gòu)成各種形式的偶數(shù)分頻及非等占空比的奇數(shù)分頻,較為簡單。但對半整數(shù)分頻及等占空比的奇數(shù)分頻較為困難。本文利用硬件描述語言,通過QuartusⅡ3.0開發(fā)平臺,使用Altera公司的,設(shè)計了一種能夠滿足上述各種要求的較為通用的分頻器。

本文引用地址:http://m.butianyuan.cn/article/148678.htm

  一、電路設(shè)計

  采用半整數(shù)分頻器,可以采用以下:設(shè)計一個模N的計數(shù)器,再設(shè)計一個脈沖扣除電路,每來兩個脈沖扣除一個脈沖,即可實現(xiàn)分頻系數(shù)為N-0.5的分頻器。脈沖扣除電路由異或門和一個2分頻器構(gòu)成。本設(shè)計在半整數(shù)分頻器原理的基礎(chǔ)上,對異或門加一個使能控制信號,通過對異或門和計數(shù)器計數(shù)狀態(tài)值的控制,實現(xiàn)同一個電路完成形式分頻,如圖1所示。

  


  二、語言的實現(xiàn)

  現(xiàn)通過設(shè)計一個可以實現(xiàn)8.5分頻,等占空比的17分頻,2、4、8、16、32分頻,及占空比為1∶8和4∶5的9分頻等形式分頻的分頻器,該通用分頻器的實現(xiàn)。

  由圖1所示的電路原理圖可知,分頻器由帶使能端的異或門、模N計數(shù)器和一個2分頻器組成,本設(shè)計用D觸發(fā)器來完成2分頻的功能,實現(xiàn)是:將觸發(fā)器的Q反輸出端反饋回輸入端D,將計數(shù)器的一個計數(shù)輸出端作為D觸發(fā)器的時鐘輸入端。各功能模塊的語言實現(xiàn)如下。

  1.模N計數(shù)器的實現(xiàn)

  一般設(shè)計中用到計數(shù)器時,我們可以調(diào)用lpm庫中的計數(shù)器模塊,也可以采用VHDL語言自己設(shè)計一個模N計數(shù)器。本設(shè)計采用VHDL語言設(shè)計一個最大模值為16的計數(shù)器。輸入端口為:使能信號en,復(fù)位信號clr和時鐘信號clk;輸出端口為:qa、qb、qc、qd。其VHDL語言描述略。

  2.帶使能控制的異或門的實現(xiàn)

  輸入端為:xor_en:異或使能,a和b:異或輸入;輸出端為:c:異或輸出。當xor_en為高電平時,c輸出a和b的異或值。當xor_en為低電平時,c輸出信號b。其VHDL語言略。

  3.2分頻(觸發(fā)器)的實現(xiàn)

  輸入端為:時鐘信號clk,輸入信號d;輸出端為:q:輸出信號a,q1:輸出信號a反。其VHDL語言略。

  4.分頻器的實現(xiàn)

  本設(shè)計采用層次化的設(shè)計,首先設(shè)計實現(xiàn)分頻器電路中各組成電路元件,然后通過元件例化的方法,調(diào)用各元件,實現(xiàn)整個分頻器。其VHDL語言略。

  三、仿真結(jié)果及硬件電路的測試

  本設(shè)計的目的是通用性和簡易性,只要對上述程序稍加改動即可實現(xiàn)多種形式的分頻。

  1.實現(xiàn)8.5分頻和等占空比的17分頻

  只要將上述程序中,調(diào)用計數(shù)器模塊時端口qa、qb、qc匹配為open狀態(tài),同時置xor_en為高電平即可。從編譯報告看出總共占用8個邏輯單元(logic elements),其仿真波形如圖2~4所示。

  

  圖二

  

  圖三


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉