vivado代碼編寫——分頻

要開始編寫verilog代碼了,以常用的分頻為例橘洞,編寫一個簡單的代碼婶肩。

FPGA設(shè)計中办陷,分頻分為偶數(shù)分頻和奇數(shù)分頻。

偶數(shù)分頻只要計上升沿的個數(shù)律歼,然后按照分頻要求的不同計相應(yīng)個數(shù)的上升沿并進(jìn)行波形翻轉(zhuǎn)即可懂诗。

例如二分頻,每計到一個上升沿苗膝,波形翻轉(zhuǎn)一次殃恒;

例如四分頻,每計到兩個上升沿辱揭,波形翻轉(zhuǎn)一次离唐。

奇數(shù)分頻相對比較麻煩,因為奇數(shù)分頻經(jīng)常要在給出時鐘的下降沿進(jìn)行翻轉(zhuǎn)问窃,而Verilog本質(zhì)上是硬件描述亥鬓,設(shè)計的本質(zhì)仍然是硬件設(shè)計。在綜合設(shè)計時域庇,Verilog代碼必須映射到FPGA上的可用硬件上嵌戈。

FPGA常用的電路是觸發(fā)器,觸發(fā)器是一個具有時鐘且僅對該時鐘的一個邊沿敏感的器件听皿。

always@(posedge clk)綜合后映射到只對一個時鐘邊沿敏感的觸發(fā)器熟呛,always@(posedge

clk or negedge rst)綜合后映射到有一個異步控制端且僅對時鐘的一個邊沿敏感的觸發(fā)器。

不管always@()綜合后映射到哪種觸發(fā)器尉姨,它都只能使用一個時鐘沿觸發(fā)庵朝。

奇數(shù)分頻注定要比偶數(shù)分頻復(fù)雜,可以采用這樣的方式進(jìn)行奇數(shù)分頻:

假設(shè)要對給定的時鐘進(jìn)行2N+1分頻:先計數(shù)又厉;將計數(shù)分成N九府、N+1的兩段;前一段將變量div1置0覆致,后一段將變量div1置1侄旬;用一個下降沿觸發(fā)的觸發(fā)器,div1延遲半個時鐘周期后輸出煌妈,生成div2儡羔;div1和div2相與婆排,即得到分頻后的時鐘。

module FreDivDou(

input? clk_i,

input? rst_n_i,


output div2_o,

output div3_o,

output div4_o,

output dou2_o,

output dou3_o

??? );


// 二分頻:在原來時鐘的上升沿翻轉(zhuǎn)

reg div2_o_r;

always @(posedge clk_i or negedge rst_n_i)

begin

? if(!rst_n_i)

??? div2_o_r <= 0;

? else

??? div2_o_r <= ~div2_o_r;

end

//div2_o_r要在always塊內(nèi)賦值笔链,需要定義成reg型

//assign相當(dāng)于一條連線段只,將表達(dá)式右邊的電路直接通過wire(線網(wǎng)型)連接到左邊,

//左邊信號必須是wire型(output屬于wire型)鉴扫。當(dāng)右邊變化時赞枕,左邊立刻發(fā)生變化。

assign div2_o = div2_o_r;?


//四分頻坪创,計數(shù)炕婶,每計夠兩個上升沿翻轉(zhuǎn)一次

reg [1:0]? counter_div4;

reg div4_o_r;

always @(posedge clk_i or negedge rst_n_i)

begin

? if(!rst_n_i)? begin

??? counter_div4 <= 0;

??? div4_o_r <= 0;

? end

? else

??? if(counter_div4 <= 0)begin

????? counter_div4 <= 'b1;

????? div4_o_r <= div4_o_r;

??? end

??? else if(counter_div4 <='b1) begin

???? counter_div4 <= 0;

????? div4_o_r <=~div4_o_r;

??? end???

?end


assign div4_o = div4_o_r;


//3分頻,第0個上升沿div1為1莱预,第1柠掂、2個上升沿div1為0

reg div1,div2;

reg [1:0] counter_div3;

always @(posedge clk_i or negedge rst_n_i)

begin

? if(!rst_n_i) begin

??? div1 <= 0;

??? counter_div3 <= 0;

? end

? else if(counter_div3 == 'd0)begin

??? div1 <= 'b1;

??? counter_div3 <=counter_div3 + 'b1;

? end

? else if(counter_div3 == 'd1)begin

??? div1 <= 0;

??? counter_div3 <=counter_div3 + 'b1;

? end

? else? begin

??? div1 <= 0;

??? counter_div3 <= 0;

? end

end


//3分頻,div1在時鐘的下降沿產(chǎn)生div2

always @(negedge clk_i or negedge rst_n_i)

if(!rst_n_i)

? div2 <= 0;

else

? div2 <= div1;


assign div3_o = div1 | div2;???


endmodule

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末依沮,一起剝皮案震驚了整個濱河市涯贞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌危喉,老刑警劉巖宋渔,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辜限,居然都是意外死亡皇拣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門薄嫡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氧急,“玉大人,你說我怎么就攤上這事毫深》园樱” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵费什,是天一觀的道長钾恢。 經(jīng)常有香客問我手素,道長鸳址,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任泉懦,我火速辦了婚禮稿黍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘崩哩。我一直安慰自己巡球,他們只是感情好言沐,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酣栈,像睡著了一般险胰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矿筝,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天起便,我揣著相機(jī)與錄音,去河邊找鬼窖维。 笑死榆综,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铸史。 我是一名探鬼主播鼻疮,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼琳轿!你這毒婦竟也來了判沟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤崭篡,失蹤者是張志新(化名)和其女友劉穎水评,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體媚送,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡中燥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了塘偎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疗涉。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吟秩,靈堂內(nèi)的尸體忽然破棺而出咱扣,到底是詐尸還是另有隱情,我是刑警寧澤涵防,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布闹伪,位于F島的核電站,受9級特大地震影響壮池,放射性物質(zhì)發(fā)生泄漏偏瓤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一椰憋、第九天 我趴在偏房一處隱蔽的房頂上張望厅克。 院中可真熱鬧,春花似錦橙依、人聲如沸证舟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽女责。三九已至漆枚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抵知,已是汗流浹背浪读。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留辛藻,地道東北人碘橘。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像吱肌,于是被迫代替她去往敵國和親痘拆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353