亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx

        用Verilog語(yǔ)言設(shè)計(jì)任意次ASIC分頻器

        2013-11-19 11:27:46唐衛(wèi)斌
        商洛學(xué)院學(xué)報(bào) 2013年2期
        關(guān)鍵詞:定義設(shè)計(jì)

        唐衛(wèi)斌

        (商洛學(xué)院 物理與電子信息工程系,陜西商洛 726000)

        Verilog語(yǔ)言是應(yīng)用最廣泛的硬件描述語(yǔ)言(HDL)之一。它是硬件(數(shù)字邏輯電路)設(shè)計(jì)人員和EDA工具之間的界面;是一種用形式化方法來(lái)描述數(shù)字電路和設(shè)計(jì)數(shù)字邏輯系統(tǒng)的語(yǔ)言。設(shè)計(jì)者可以利用這種語(yǔ)言來(lái)描述自己的設(shè)計(jì)思想,然后利用EDA工具進(jìn)行仿真驗(yàn)證和時(shí)序分析,再自動(dòng)綜合到門級(jí)電路,最后用ASIC(專用集成電路)或FPGA實(shí)現(xiàn)其功能[1-2]。

        分頻器是FPGA設(shè)計(jì)中使用頻率非常高的基本單元之一。它是將較高頻率通過(guò)分頻得到較低頻率的一種單元電路。盡管目前在大部分設(shè)計(jì)中還廣泛使用集成鎖相環(huán) (如altera的PLL,Xilinx的DLL)來(lái)進(jìn)行時(shí)鐘的分頻、倍頻以及相移設(shè)計(jì)[3],但是,對(duì)于時(shí)鐘要求不太嚴(yán)格的設(shè)計(jì),通過(guò)自主設(shè)計(jì)進(jìn)行時(shí)鐘分頻的實(shí)現(xiàn)方法仍是不錯(cuò)的選擇。首先這種方法可以節(jié)省鎖相環(huán)資源,再者,這種方式只消耗不多的邏輯單元就可以達(dá)到對(duì)時(shí)鐘操作的目的,具有成本低、可編程等優(yōu)點(diǎn)[4]。而使用Verilog語(yǔ)言進(jìn)行分頻器設(shè)計(jì)在當(dāng)前設(shè)計(jì)實(shí)踐中并不多見,文獻(xiàn)[5]中夏宇聞教授對(duì)此稍有提及,但未給出具體代碼。本文在介紹計(jì)數(shù)器設(shè)計(jì)的基礎(chǔ)上,給出基于計(jì)數(shù)器的分頻器設(shè)計(jì)模版,包括偶數(shù)次分頻和奇數(shù)次分頻,這些模版在當(dāng)前的設(shè)計(jì)實(shí)踐中尚且空缺,因而可以給其他數(shù)字邏輯電路設(shè)計(jì)人員直接調(diào)用,或者作為庫(kù)文件使用,從而大大縮短電路設(shè)計(jì)人員的設(shè)計(jì)時(shí)間。

        1 計(jì)數(shù)器

        計(jì)數(shù)器是實(shí)現(xiàn)分頻電路的基礎(chǔ),計(jì)數(shù)器有普通計(jì)數(shù)器和約翰遜計(jì)數(shù)器兩種。這兩種計(jì)數(shù)器均可應(yīng)用在分頻電路中[6]。

        1.1 加法(或減法)計(jì)數(shù)器

        使用Verilog實(shí)現(xiàn)的模十加法計(jì)數(shù)器:

        module cnt10(clk,rst,cnt);/*定義端口變量 */

        input clk,rst;

        output[3:0]cnt;

        reg[3:0]cnt;

        always@ (posedge clk,posedge rst)if(rst)cnt<=0; /*復(fù)位信號(hào)*/

        else

        begin if(cnt==9)cnt<=0; /*當(dāng)計(jì)數(shù)到 9時(shí)強(qiáng)制歸零*/

        else cnt<=cnt+1; /* 計(jì)數(shù) */

        end

        endmodule

        使用Modelsim仿真結(jié)果如圖1所示。

        圖1 普通計(jì)數(shù)器仿真波形

        從波形上可以看到輸出端口cnt反復(fù)循環(huán)輸出0~9這10個(gè)數(shù)字。普通計(jì)數(shù)器的RTL(寄存器傳輸級(jí))結(jié)構(gòu)圖如圖2所示[7]??梢娫撚?jì)數(shù)器由四位加法單元和四位觸發(fā)器構(gòu)成。有兩個(gè)輸入端口:時(shí)鐘輸入clk和復(fù)位信號(hào)輸入rst。

        圖2 普通計(jì)數(shù)器RTL結(jié)構(gòu)

        1.2 約翰遜計(jì)數(shù)器

        約翰遜計(jì)數(shù)器是一種移位計(jì)數(shù)器,采用的是把輸出的最高位取非,然后反饋送到最低位觸發(fā)器的輸入端。也稱為扭環(huán)形計(jì)數(shù)器。它在每個(gè)時(shí)鐘下只有一個(gè)輸出發(fā)生變化[8]。

        約翰遜計(jì)數(shù)器沒有有效利用寄存器的所有狀態(tài),假設(shè)最初值或復(fù)位狀態(tài)為0000,則依次為0000、0001、0011、0111、1111、1110、1100、1000、0000如此循環(huán)。

        再者,如果由于干擾噪聲引入一個(gè)無(wú)效狀態(tài),如0010,則無(wú)法恢復(fù)到有效循環(huán)中去,需要加入錯(cuò)誤恢復(fù)處理。

        2 分頻器

        分頻器有整數(shù)次分頻器和小數(shù)次分頻器之分。對(duì)于整數(shù)次分頻器又有奇數(shù)次和偶數(shù)次分頻器。這里只討論整數(shù)分頻。

        2.1 偶數(shù)次分頻

        偶數(shù)次分頻通過(guò)計(jì)數(shù)器計(jì)數(shù)是完全可以實(shí)現(xiàn)的。如進(jìn)行N次偶數(shù)分頻,那么可以通過(guò)由待分頻的時(shí)鐘觸發(fā)計(jì)數(shù)器計(jì)數(shù),當(dāng)計(jì)數(shù)器從0計(jì)數(shù)到N/2-1時(shí),輸出時(shí)鐘進(jìn)行翻轉(zhuǎn),并給計(jì)數(shù)器一個(gè)復(fù)位信號(hào),使得下一個(gè)時(shí)鐘從零開始計(jì)數(shù)。以此循環(huán)下去。這種方法可以實(shí)現(xiàn)任意的偶數(shù)分頻[9]。基于此思路的代碼見注釋①。

        從如圖3所示仿真波形上可以看到,通過(guò)計(jì)數(shù)器計(jì)數(shù),每計(jì)數(shù)3次,輸出時(shí)鐘反相一次,從而使輸出時(shí)鐘為輸入時(shí)鐘的1/6,完成了6分頻,并且占空比是50%。

        圖3 偶數(shù)次分頻仿真波形(6分頻)

        2.2 奇數(shù)次分頻

        奇數(shù)次分頻歸類為一般的方法為:對(duì)于實(shí)現(xiàn)占空比為50%的N次奇數(shù)分頻,首先進(jìn)行上升沿觸發(fā)進(jìn)行模N計(jì)數(shù),計(jì)數(shù)從零開始,到(N-1)/2進(jìn)行輸出時(shí)鐘翻轉(zhuǎn),然后經(jīng)過(guò)(N+1)/2再次進(jìn)行翻轉(zhuǎn)得到一個(gè)占空比非50%奇數(shù)n分頻時(shí)鐘。再者同時(shí)進(jìn)行下降沿觸發(fā)的模N計(jì)數(shù),類似翻轉(zhuǎn)生成占空比非50%的奇數(shù)n分頻時(shí)鐘。兩個(gè)占空比非50%的n分頻時(shí)鐘相或運(yùn)算,得到占空比為50%的奇數(shù)n分頻時(shí)鐘[10]?;诖怂悸返拇a見注釋②。

        從如圖4仿真波形上可以清楚地看到count1和count2兩個(gè)計(jì)數(shù)器從1到4的計(jì)數(shù)過(guò)程,以及分別對(duì)應(yīng)clk時(shí)鐘和clk_re時(shí)鐘計(jì)數(shù)所產(chǎn)生的clkA和clkB兩個(gè)中間時(shí)鐘,對(duì)這兩個(gè)中間時(shí)鐘相或的到最終所要的5分頻輸出時(shí)鐘clk_odd,并且占空比是50%。

        圖4 奇數(shù)次分頻仿真波形(5分頻)

        對(duì)該 5次分頻電路進(jìn)行軟件綜合 (synopsys_DC),獲得RTL結(jié)構(gòu)圖如圖5所示。

        圖5 分頻器綜合結(jié)果—RTL結(jié)構(gòu)圖

        可以看到該邏輯電路是由若干與非門、或非門、反相器、或門以及D觸發(fā)器構(gòu)成,是典型的數(shù)字電路。該電路再經(jīng)過(guò)后續(xù)軟件進(jìn)行布局布線、后仿真、時(shí)序分析、生成版圖,就可以獲得ASIC單元電路,應(yīng)用到ASIC設(shè)計(jì)制造之中。

        3 結(jié)語(yǔ)

        本文詳細(xì)給出了偶數(shù)次分頻和奇數(shù)次分頻的通用Verilog代碼,并給出了相應(yīng)的解釋,通過(guò)了ModelSim的仿真。從仿真波形上看,兩段代碼均正確無(wú)誤的完成了預(yù)期的功能??梢妰啥未a可以作為設(shè)計(jì)模版提供給其他數(shù)字邏輯設(shè)計(jì)人員直接調(diào)用,或者作為庫(kù)文件使用。

        注釋:

        ①偶數(shù)次分頻器代碼

        module even_division(clk,rst,count,clk_odd);/*定義模塊 */

        input clk,rst; /*輸入端口*/

        output clk_even;//輸出端口

        output[3:0]count;//輸出端口

        reg clk_even;//寄存器變量

        reg[3:0]count;//寄存器變量

        parameter N=6;//定義參數(shù) 6分頻

        always@(posedge clk)

        if(!rst) //復(fù)位所有輸出寄存器

        begin count<=1'b0;

        clk_even<=1'b0;

        end

        else if(count< N/2-1)begin //0~N/2-1計(jì)數(shù),對(duì)本例為0~2計(jì)數(shù)

        count<=count+1'b1;//計(jì)數(shù)器加1

        end

        else begin

        count <=1'b0;//計(jì)數(shù)器賦零

        clk_even<=~clk_even;//輸出時(shí)鐘反相end

        endmodule

        ②奇數(shù)次分頻器代碼

        module odd_division(clk,rst,clk_odd);

        input clk,rst;//定義輸入時(shí)鐘和復(fù)位信號(hào)

        output clk_odd;//定義輸出時(shí)鐘

        reg[3:0]count1,count2;//定義兩個(gè)計(jì)數(shù)器

        reg clkA,clkB;//定義兩個(gè)中間時(shí)鐘

        wire clk_odd,clk_re;//定義輸出時(shí)鐘和反相輸入時(shí)鐘為連線型變量

        parameter N=5;//定義參數(shù)為5,即5分頻電路

        assign clk_re=~clk;//將輸入時(shí)鐘反相,賦值給clk_re

        assign clk_odd=clkA|clkB;//給出輸出時(shí)鐘的表達(dá)式clkA和clkB相或

        always@(posedge clk)

        if(!rst)

        begin count1<=1'b0;clkA <=1'b0;//復(fù)位時(shí)鐘clkA和計(jì)數(shù)器count1

        end

        else if(count1<(N-1))//開始 0~N-1 計(jì)數(shù)

        begin count1<=count1+1'b1;

        if(count1==(N-1)/2)//如果計(jì)數(shù)器count1=(N-1)/2,時(shí)鐘clkA反相

        begin clkA<=~clkA; end

        end

        else begin clkA<=~clkA;count1<=1'b0; /*否則時(shí)鐘clkA反相,計(jì)數(shù)器count1歸零*/

        end

        always@(posedge clk_re)//反相時(shí)鐘工作

        if(!rst)

        begin count2<=1'b0;clkB<=1'b0;//復(fù)位時(shí)鐘clkB和計(jì)數(shù)器count2

        end

        else if(count2<(N-1))//開始 0~N-1 計(jì)數(shù)

        begin count2<=count2+1'b1;

        if(count2==(N-1)/2)//如果計(jì)數(shù)器count2=(N-1)/2,時(shí)鐘clkB反相

        begin clkB <= ~clkB; end

        end

        else begin clkB<=~clkB;count2<=1'b0;

        //否則時(shí)鐘clkB反相,計(jì)數(shù)器count2歸零

        end

        endmodule

        [1]喬廬峰.Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)與驗(yàn)證[M].電子工業(yè)出版社,2009:106-125.

        [2]王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL[M].電子工業(yè)出版社,2002:182-235.

        [3]潘 松,黃繼業(yè),潘 明.EDA技術(shù)實(shí)用教程:Verilog HDL版[M].4版.科學(xué)出版社,2010:300-340.

        [4]李俊一,牛萍娟.基于Verilog HDL設(shè)計(jì)的多功能數(shù)字鐘[J].微計(jì)算機(jī)信息.2006,22(11):44-50.

        [5]Sanir Palnitkar,夏宇聞,胡燕祥.Verilog HDL數(shù)字設(shè)計(jì)與綜合[M].2版.電子工業(yè)出版社,2009:240-260.

        [6]約瑟夫·卡瓦納,陳亦歐.Verilog HDL數(shù)字設(shè)計(jì)與建模[M].電子工業(yè)出版社,2011:305-326.

        [7]沈 理.Verilog RTL模型[J].同濟(jì)大學(xué)學(xué)報(bào):自然科學(xué)版,2002,30(10):28-33.

        [8]李勇堅(jiān),何積豐,孫永強(qiáng).Verilog操作語(yǔ)義研究[J].軟件學(xué)報(bào),2002,13(10):53-62.

        [9]劉小平,何云斌,董懷國(guó).基于Verilog HDL的有限狀態(tài)機(jī)設(shè)計(jì)與描述[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(4):56-60.

        [10]俞莉瓊,付宇卓.有限狀態(tài)機(jī)的Verilog設(shè)計(jì)與研究[J].微電子學(xué)與計(jì)算機(jī),2004,21(11):20-25.

        猜你喜歡
        定義設(shè)計(jì)
        永遠(yuǎn)不要用“起點(diǎn)”定義自己
        海峽姐妹(2020年9期)2021-01-04 01:35:44
        定義“風(fēng)格”
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        修辭學(xué)的重大定義
        山的定義
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        500 Internal Server Error

        500 Internal Server Error


        nginx
        亚洲国产成人精品无码区二本 | 亚洲综合色婷婷七月丁香| 亚洲国产一区二区,毛片| 国产美女高潮流白浆免费视频| 国产免费av片无码永久免费 | av成人综合在线资源站| 91自国产精品中文字幕| 曰日本一级二级三级人人| 国产美女精品视频线免费播放软件| 人妻少妇精品视频一区二区三区| 无码国产精品第100页| 人妻少妇激情久久综合| 午夜视频国产在线观看| 成人免费看片又大又黄| 久久九九有精品国产尤物 | 国产午夜福利100集发布| 99热这里只有精品4| 国产成人精品自拍在线观看| 午夜免费观看日韩一级视频| a级毛片无码久久精品免费| 真实国产乱视频国语| 亚洲国产线茬精品成av| 综合图区亚洲另类偷窥| 欧美jizzhd精品欧美| 依依成人影视国产精品| 国产中文字幕亚洲国产| 午夜精品久久久久久久无码| 亚洲中久无码永久在线观看同| 亚洲区小说区图片区| 亚洲一区二区不卡日韩| 亚洲成人av一区免费看| 又大又粗欧美黑人aaaaa片| 天天干成人网| 亚洲av福利天堂在线观看| 午夜国产精品一区二区三区| 一本色道无码不卡在线观看| 亚洲18色成人网站www| 日韩免费高清视频网站| 国产片在线一区二区三区| 色欲av蜜桃一区二区三| 欧美成人久久久|