Verilog當(dāng)中占空比與分頻的確定方法

2014-08-22 09:26 來(lái)源:電子信息網(wǎng) 作者:鈴鐺

一部分工程師會(huì)使用Verilog來(lái)設(shè)計(jì)邏輯電路圖,作為目前世界上最流行的兩種硬件描述語(yǔ)言,Verilog不僅能夠?qū)﹄娐穲D進(jìn)行表示,還能夠進(jìn)行一些計(jì)算。本篇文章就將為大家介紹Verilog當(dāng)中任意占空比和分頻的的實(shí)現(xiàn)方法。

在verilog程序設(shè)計(jì)中,我們往往要對(duì)一個(gè)頻率進(jìn)行任意分頻,而且占空比也有一定的要求。這樣的話,對(duì)于程序就會(huì)有一定的要求,本篇文章將在前人經(jīng)驗(yàn)的基礎(chǔ)上做一個(gè)簡(jiǎn)單的總結(jié),實(shí)現(xiàn)對(duì)一個(gè)頻率的任意占空比以及任意分頻的確定。

比如:我們FPGA系統(tǒng)時(shí)鐘是50M Hz,而我們要產(chǎn)生的頻率是880Hz,那么,我們需要對(duì)系統(tǒng)時(shí)鐘進(jìn)行分頻。我們很容易想到用計(jì)數(shù)的方式來(lái)分頻:

50000000/880 = 56818

這個(gè)數(shù)字不是2的整冪次方,那么怎么辦呢?我們可以設(shè)定一個(gè)參數(shù),讓它到56818的時(shí)候重新計(jì)數(shù)不就完了嗎?程序如下:

占空比1

在我們?nèi)粘5脑O(shè)計(jì)中很多情形下會(huì)用到需要分頻的情形,好多人的做法是先用高頻時(shí)鐘計(jì)數(shù),然后使用計(jì)數(shù)器的某一位輸出作為工作時(shí)鐘,進(jìn)行其他的邏輯設(shè)計(jì),上面的程序就是一個(gè)體現(xiàn)。

下面我們來(lái)算一下它的占空比:我們清楚地知道,這個(gè)輸出波形在counter為0到32767的時(shí)候表現(xiàn)為低,在32768到56817的時(shí)候?yàn)楦?,占空比?0%多一些,如果我們需要占空比為50%,那么怎么辦呢?

我們?cè)僭O(shè)定一個(gè)參數(shù),使它為56817的一半,使達(dá)到它的時(shí)候波形翻轉(zhuǎn):

占空比2

占空比是不是神奇地變成50%了呢?

繼續(xù)讓我們來(lái)看如何實(shí)現(xiàn)任意占空比,比如還是由50 M 分頻產(chǎn)生880 Hz,而分頻得到的信號(hào)的占空比為30%。

1 2 > 
占空比 Verilog 分頻

相關(guān)閱讀

暫無(wú)數(shù)據(jù)

一周熱門(mén)