中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻

今天就跟大家聊聊有關(guān)Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

浦口網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)

通常我們說對(duì)原時(shí)鐘進(jìn)行N分頻,即分頻后的時(shí)鐘的一個(gè)周期是原時(shí)鐘周期的N倍。N可以為偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)(小數(shù))。

1.偶數(shù)分頻

Verilog:N為偶數(shù),使用一個(gè)計(jì)數(shù)器循環(huán)0-(N-1)進(jìn)行計(jì)數(shù),在N/2-1與N-1分別將輸出取反,即完成了N分頻。

若果采用D觸發(fā)器畫出分頻器,單個(gè)D觸發(fā)器的反向輸出到輸入就構(gòu)成了一個(gè)簡(jiǎn)單的2分頻器,以此為基礎(chǔ),其分頻輸出作為下一級(jí)D觸發(fā)器的時(shí)鐘,如此串聯(lián)起來,x個(gè)串聯(lián)就是2^x分頻,屬于偶數(shù)分頻,如圖1[1].

Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻

圖1 用D觸發(fā)器分頻

2.奇數(shù)分頻

Verilog:N為奇數(shù),使用一個(gè)計(jì)數(shù)器循環(huán)0-(N-1)進(jìn)行計(jì)數(shù),控制(N-1)/2個(gè)高電平,(N+1)/2個(gè)低電平,稱為A;然后將此A電平信號(hào)延遲半個(gè)時(shí)鐘周期稱為B,最后輸出C = A|B,即為占空比為50%的奇數(shù)分頻器。另一種方案是(N+1)/2個(gè)高電平,(N-1)/2個(gè)低電平,那么最后輸出C=A&B。

以C = A|B為例,將A延時(shí)半個(gè)時(shí)鐘周期的方法有2種,方法1是直接使用下降沿的鎖存器對(duì)A鎖存得到B,方法2得到B的原理與A相同,不過是在下降沿檢測(cè)(假設(shè)A是上升沿檢測(cè))。

Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻

圖2 奇數(shù)分頻波形

采用D觸發(fā)器的話,采用方法1,用一個(gè)下降沿的D觸發(fā)器鎖存A=clkp1得到信號(hào)B=clkn1,把信號(hào)A和信號(hào)B做邏輯“與”就得到了占空比50%的分頻時(shí)鐘信號(hào)clkout[1]。

Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻

圖3奇數(shù)分頻

下面給出N為正整數(shù)的分頻器設(shè)計(jì),主要原理是N[0]=1為奇數(shù)分頻,0為偶數(shù)分頻。

module practice_demo(    input clk,    input arst,        output clk_div    );   parameter N = 5;reg [2:0] cnt;reg clk_a;reg clk_b;wire clk_c; always@(posedge clk or posedge arst)begin    if(arst)        cnt <= 0;    else if(cnt == N-1)        cnt <= 0;    else        cnt <= cnt + 1;    end always@(posedge clk or posedge arst)begin    if(arst)        clk_a<= 0;    else if(cnt == (N-1)/2 || cnt == N-1)        clk_a<= ~clk_a;    else        clk_a<= clk_a;    end /*****************方法1**********************/always@(negedge clk or posedge arst)begin    if(arst)        clk_b <= 0;    else         clk_b <= clk_a;end/******************方法2********************///always@(negedge clk or posedge arst)//begin//    if(arst)//        clk_b<= 0;//    else if(cnt == (N-1)/2 || cnt == N-1)//        clk_b<= ~clk_b;//    else//        clk_b<= clk_b;    //end/*********************************************/ assign clk_c = clk_a | clk_b;//N[0]=1奇數(shù),否則偶數(shù)assign clk_div = N[0] ? clk_c : clk_a; endmodule

3 半整數(shù)分頻

說明:占空比非50%

網(wǎng)上廣為流傳的一種分頻結(jié)果是,半分頻多出來那半個(gè)周期為高電平,其余為低電平。例如N=5.5,以原時(shí)鐘的一半為單位,可以分頻輸出1高10低。原理是用計(jì)數(shù)器循環(huán)計(jì)數(shù)0-10即11個(gè)周期,控制輸出X前6周期高電平,后5周期低電平,然后再使用計(jì)數(shù)器得到一個(gè)下降沿觸發(fā)的5低6高的輸出Y,最后輸出Z = X&Y。

Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻

圖4半整數(shù)分頻的波形

給出Verilog設(shè)計(jì):

module for_practice(input clk,input arst,output  clk_div             );parameter N = 5;//5.5分頻reg[31:0]cnt1;reg clkx;reg clky;always@(posedge clk or posedge arst)begin    if(arst)        cnt1 <= 0;    else if(cnt1 == 2*N)        cnt1 <= 0;    else        cnt1 <= cnt1+ 1;          end always@(posedge clk or posedge arst)begin    if(arst)        clkx <= 0;    else if(cnt1 == 2*N)//////        clkx <= 1;    else if(cnt1 == N)///////        clkx <= 0;          end always@(negedge clk or posedge arst)begin    if(arst)        clky <= 0;    else if(cnt1 == 0)///////        clky <= 0;    else if(cnt1 == N)//////        clky <= 1;          end assign clk_div =  clkx & clky; endmodule

另外一種做法是想得到接近50%的占空比,例如5分頻得到3個(gè)高電平,2.5個(gè)低電平,其思路是控制clk,使得計(jì)數(shù)器值等于某一值只保持半個(gè)周期。參考[3]

4分?jǐn)?shù)(小數(shù))分頻

此部分主要參考[1][2].

說明:占空比非50%

比如8.7分頻。因?yàn)闆]辦法用計(jì)數(shù)器表示0.7這種數(shù)字,所以就用一個(gè)等效的概念來進(jìn)行8.7分頻,原時(shí)鐘87個(gè)周期的總時(shí)間等于分頻后的時(shí)鐘10個(gè)周期的總時(shí)間;

先做3次8分頻得到時(shí)鐘周期數(shù)是24,再做7次9(8加1)分頻得到時(shí)鐘周期數(shù)63,總共就87個(gè)時(shí)鐘周期;在這87個(gè)時(shí)鐘周期里面分頻時(shí)鐘跳變20次總共10個(gè)周期。分?jǐn)?shù)分頻器的原理可以用下圖來概括。

Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻

圖5分?jǐn)?shù)分頻的原理

用整數(shù)部分zn(=8)作為一個(gè)分頻系數(shù),zn加1(=9)作為另外一個(gè)分頻系數(shù)組成一個(gè)小數(shù)分頻器。

根據(jù)上面的原理可以列出下面的二元一次方程組

zn*N+(zn+1)*M=87   ……(1)

N+M=10                    ……(2)

可以解出N和M的值分別是3和7。

ACC計(jì)數(shù)器設(shè)計(jì),在這里ZN=8:

ACC計(jì)數(shù)器就是控制做N次ZN分頻和M次ZN+1次分頻,具體控制過程可以分為以下幾種情況:

第1種情況 :先做N次ZN分頻,再做M次ZN+1次分頻;

第2種情況:先做M次ZN+1次分頻,再做N次ZN分頻;

第3種情況 :把N次ZN分頻平均插入到M次ZN+1分頻中;

第4種情況 :把M次ZN+1次分頻平均插入到N次ZN分頻中。

組合N次ZN分頻和M次ZN+1次分頻的情況很多。第1、2種情況前后時(shí)鐘頻率不太均勻,因此相位抖動(dòng)比較大;

第3、4種情況前后時(shí)鐘頻率均勻性稍好,因此相位抖動(dòng)會(huì)減小,因此最終采用3或4。如圖6

Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻

圖6分?jǐn)?shù)分頻的幾種控制過程

看完上述內(nèi)容,你們對(duì)Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

文章名稱:Verilog如何實(shí)現(xiàn)偶數(shù)、奇數(shù)、半整數(shù)、分?jǐn)?shù)分頻以及畫電路圖用D觸發(fā)器實(shí)現(xiàn)分頻
網(wǎng)頁鏈接:http://www.rwnh.cn/article4/pgsjoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、商城網(wǎng)站響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站導(dǎo)航、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
洪泽县| 遂昌县| 长岭县| 固原市| 北票市| 称多县| 本溪| 房产| 砚山县| 台湾省| 阿勒泰市| 柘城县| 宁河县| 海原县| 越西县| 紫金县| 尼木县| 宿州市| 理塘县| 武宣县| 桓台县| 怀来县| 宝应县| 海伦市| 北辰区| 雅安市| 绥德县| 汝阳县| 阜阳市| 敦煌市| 延长县| 安图县| 双鸭山市| 深州市| 页游| 石家庄市| 克拉玛依市| 长宁区| 平塘县| 肃宁县| 茶陵县|