999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Verilog的FPGA整數(shù)分頻器設(shè)計及仿真

2015-07-12 17:17:26劉慧慧梁天泰周英杰
新技術(shù)新工藝 2015年4期
關(guān)鍵詞:方法設(shè)計

張 澤,劉慧慧,田 濤,梁天泰,周英杰

(1.北京工業(yè)大學(xué) 機電學(xué)院,北京 100124;2.北京石油化工學(xué)院 光機電裝備技術(shù)北京市重點實驗室,北京 102617;3.北京化工大學(xué) 機電工程學(xué)院,北京 100029)

基于Verilog的FPGA整數(shù)分頻器設(shè)計及仿真

張 澤1,劉慧慧2,田 濤1,梁天泰2,周英杰3

(1.北京工業(yè)大學(xué) 機電學(xué)院,北京 100124;2.北京石油化工學(xué)院 光機電裝備技術(shù)北京市重點實驗室,北京 102617;3.北京化工大學(xué) 機電工程學(xué)院,北京 100029)

簡單介紹了主要的時鐘分頻方法,提出了FPGA內(nèi)部PLL分頻的局限性,給出了基于Verilog HDL的整數(shù)分頻方法。編寫了Verilog HDL程序,實現(xiàn)了基于FPGA硬件平臺的占空比為50%的任意整數(shù)分頻。結(jié)合Quartus開發(fā)平臺和Modelsim仿真軟件驗證表明,該分頻方法簡單、實用。采用該方法,替換N值可實現(xiàn)任意整數(shù)等占空比的分頻。

Verilog HDL;FPGA;計數(shù);分頻;仿真;占空比

在大部分時鐘電路設(shè)計中, 首先考慮的方法是集成的鎖相環(huán)資源,如使用Xilinx的DLL或ALTERA的PLL模塊對時鐘分頻設(shè)計;但芯片內(nèi)部的DLL或PLL資源十分有限,所以設(shè)計一些基本時鐘電路時,往往采用高頻晶振產(chǎn)生高頻率的脈沖,然后通過分頻方法進行分頻,得到不同頻率的脈沖。例如對時鐘要求不高的數(shù)字電路,通過Verilog HDL進行時鐘分頻是非常通用的方法,可以有效節(jié)省鎖相環(huán)資源,消耗不多的邏輯單元就可以得到所需要的時鐘頻率[1]。

1 Verilog HDL語言

Verilog HDL是目前世界上最流行的硬件描述語言之一,它允許設(shè)計者進行各種層次的邏輯設(shè)計,還能對所設(shè)計的數(shù)字系統(tǒng)進行邏輯綜合、仿真驗證和時序分析。其具有很強的文件讀寫能力,允許用戶在不同的抽象層次上對電路進行建模,這些層次從門級、寄存器傳輸級、行為級直至算法級[2]。

在FPGA 上,采用Verilog HDL語言進行分頻器設(shè)計主要有如下優(yōu)點:設(shè)計的分頻器是一種可嵌入式的,可直接嵌入到多種應(yīng)用系統(tǒng)中;可同其他電路設(shè)計在在一塊FPGA上,提高系統(tǒng)集成度,有效提高FPGA 的利用率;具有很大的靈活性,實現(xiàn)硬件電路設(shè)計的軟件化,邊設(shè)計邊調(diào)試,有效提高設(shè)計效率,縮短設(shè)計周期。

本文基于QuartusII 10.0和Modelsim 6.5e平臺,使用Cyclone EP1C3T100I7N 芯片,內(nèi)部只有1個PLL模塊,不能滿足多種頻率時鐘電路的需要,通過待分頻的時鐘觸發(fā)計數(shù)器,設(shè)計了一種較為通用的,可實現(xiàn)等占空比的任意整數(shù)分頻器[3-6]。

2 偶數(shù)N倍分頻

一般方法為計數(shù)器被觸發(fā)時,對模N從0開始計數(shù),計數(shù)到N/2-1時,輸出時鐘反轉(zhuǎn),同時傳遞1個復(fù)位信號,讓計數(shù)器計數(shù)清零,以保證下一個時鐘到來時計數(shù)器還是從0開始計數(shù),如此循環(huán),實現(xiàn)時鐘等占空比偶數(shù)N倍分頻。下述以10倍分頻為例:

module div10(clkin, rst_n, clkout);

input clkin,rst_n;

output clkout;

reg clkout;

reg[4:0] cnt;

always@(posedge clkin or negedge rst_n)

if(!rst_n)

begin

cnt=0;

clkout = 0;

end

else if(cnt==4) //此處4 =(10/2-1)

begin

cnt=0;

clkout = ~clkout;

end

else

cnt=cnt+1;

endmodule

3 奇數(shù)N倍分頻

對于實現(xiàn)等占空比的奇數(shù)N倍分頻,設(shè)計方法有所區(qū)別。設(shè)定某一定值為(N-1)/2,首先用待分頻的時鐘上升沿觸發(fā)計數(shù)器從0開始計數(shù),當(dāng)計數(shù)到這一定值時對輸出時鐘進行翻轉(zhuǎn),然后計數(shù)器加1再次對輸出時鐘進行翻轉(zhuǎn),得到一個占空比非50%奇數(shù)N倍分頻時鐘N1;與此同時,用時鐘下降沿觸發(fā)從0開始計數(shù),到同一定值時進行輸出翻轉(zhuǎn),計數(shù)器加1輸出再次翻轉(zhuǎn),得到另一個占空比非50%的奇數(shù)N倍分頻時鐘N2。N1和N2這2個分頻時鐘相或運算,最終得到占空比為50%的奇數(shù)N倍分頻時鐘。下述以11倍分頻為例:

module div_11(clkin, rst_n, cnt1,cnt2, clkout);

input clkin,rst_n;

output[3:0] cnt1,cnt2;

output clkout;

reg[3:0] cnt1,cnt2;

reg clk0,clk1;

wire clkout;

always@(posedge clkin or negedge rst_n)

if(!rst_n)

begin

cnt1 <= 1'b0;

clk0 <= 1'b0;

end

else

if(cnt1 <10)

begin

cnt1 <= cnt1 + 1'b1;

if(cnt1 == 5) //5=(10-1)/2

begin

clk0 <= ~clk0;

end

end

else //再次翻轉(zhuǎn)

begin

clk0 <= ~clk0;

cnt1 <= 1'b0;

end

always@(posedge clk_re or negedge rst_n)

if(!rst_n)

begin

cnt2 <= 1'b0;

clk1 <= 1'b0;

end

else

if(cnt2 < 10) //10=11-1,這里cnt1和cnt2采用阻塞和非阻塞結(jié)果不同,可另探討

begin

cnt2 <= cnt2 + 1'b1;

if(cnt2 == 5)

begin

clk1 <= ~clk1;

end

end

else

begin

clk1 <= ~clk1;

cnt2 <= 1'b0;

end

assign clk_re = ~clkin;

assign clkout = clk0 | clk1;

endmodule

4 仿真驗證

在Quartus II 10.0中,工程編譯通過后建立測試腳本,編寫測試腳本程序,通過設(shè)置將測試腳本添加到Simulation關(guān)聯(lián)中,直接運行EDA RTL Simulation進行仿真,具體步驟可查閱相關(guān)資料[7-8]。主要測試腳本程序如下:

initial begin

clkin=0;

forever

#12 clkin=~clkin;

end

initial begin

rst_n=0;

#100;

rst_n=1;

#5000;

$stop;

end

仿真結(jié)果如圖1和圖2所示。clkin信號都是在12 ns處翻轉(zhuǎn),rst_n信號在100 ns處變?yōu)楦唠娖?計數(shù)器開始計數(shù),總共運行5 100 ns。圖1中clkout脈沖周期為10個clkin脈沖周期,圖2中clkout脈沖周期則為11個clkin脈沖周期,cnt端口只是為了仿真時便于觀察。

圖1 10倍分頻

圖2 11倍分頻

這2種分頻方法簡單,易于理解,成功實現(xiàn)了占空比為50%的任意整數(shù)N倍分頻。2個initial模塊簡單實用,可以直接引用到Verilog分頻仿真實驗中。

5 結(jié)語

使用集成大量晶振來實現(xiàn)多頻率輸出,會造成很大的成本,不同晶振間的相位延遲也無法進行預(yù)測,而且集成大量晶振也容易在一個期間內(nèi)引起串?dāng)_。采用Verilog HDL語言,對較高的晶振源進行分頻設(shè)計就能很容易得到多樣的頻率輸出,方便對不同產(chǎn)品的測試和應(yīng)用。

本文設(shè)計的通用分頻器,可實現(xiàn)占空比為50%任意整數(shù)分頻,為設(shè)計人員在FPGA上設(shè)計其他等占空比任意整數(shù)分頻器提供了一種思路。

[1] 夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2003.

[2] 夏宇聞.復(fù)雜數(shù)字電路與系統(tǒng)的Verilog HDL設(shè)計技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002.

[3] 于楓,張麗英,廖宗建.ALTERA可編程邏輯器件應(yīng)用技術(shù)[M].北京:科學(xué)出版社,2004.

[4] 鄧玉元,吳瓊.數(shù)字電路中等占空比分頻器的實現(xiàn)[J].現(xiàn)代電子技術(shù),2006,4(2):25-26.

[5] 夏龍根.一種新型分頻器的設(shè)計實現(xiàn)[J].現(xiàn)代電子技術(shù),2006,29(7):49-51.

[6] 郭振鐸,劉洲峰,徐慶偉,等.一種基于Verilog的FPGA分頻設(shè)計[J].成組技術(shù)與生產(chǎn)現(xiàn)代化,2010(3):59-62.

[7] 孫富明,李笑盈.基于多種EDA工具的FPGA設(shè)計[J].電子技術(shù)應(yīng)用,2002(1):70-73.

[8] 汪國強.EDA技術(shù)及應(yīng)用[M].北京:機械工業(yè)出版社,2004.

責(zé)任編輯馬彤

FPGAIntegerFrequencyDividerDesignandSimulationbasedonVerilog

ZHANG Ze1,LIU Huihui2,TIAN Tao1,LIANG Tiantai2,ZHOU Yingjie3

(1.Colloge of Mechanical and Electronic Engineering, Beijing University of Technology , Beijing 100124,China;2.Opto-mechatronic Equipment Technology Beijing Area Major Laboratory, Beijing Institute of Petro-chemical Technology,Beijing 102617,China; 3.Collogy of Mechanical and Electrical Engineering, Beijing University of Chemical Technology,Beijing 100029,China)

A brief introduction for the main clock division method was given, put forward limitations of FPGA internal PLL frequency divider, and gave the integer divide method based on Verilog HDL. Wrote Verilog HDL program, realized an arbitrary integer divider that the duty cycle is 50% and based on the hardware platform of the FPGA. Combined with Quartus development platform and Modelsim simulation software validation, the results showed that the frequency division method is simple and practical. By using this method, the replacement value of N can realize any integer frequency divider that duty cycle.

Verilog HDL,F(xiàn)PGA,count,frequency divider,simulation,duty cycle

TN 40

:A

張澤(1988-),男,碩士研究生,主要從事脈沖激光測距等方面的研究。

2014-10-21

猜你喜歡
方法設(shè)計
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
學(xué)習(xí)方法
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 亚洲无线视频| 久久鸭综合久久国产| 一本色道久久88| 免费又黄又爽又猛大片午夜| 欧美中文一区| 国产亚洲精品在天天在线麻豆 | 国产精品无码久久久久AV| 狠狠v日韩v欧美v| 免费在线a视频| 手机精品福利在线观看| 精品国产乱码久久久久久一区二区| 日本精品一在线观看视频| 91麻豆精品视频| 中文字幕av无码不卡免费| 亚洲 日韩 激情 无码 中出| 新SSS无码手机在线观看| av尤物免费在线观看| 国产人前露出系列视频| 无码专区国产精品第一页| 青青草原偷拍视频| 国产欧美亚洲精品第3页在线| 国产人人乐人人爱| 91久久国产热精品免费| 国产成人亚洲毛片| 国产成人一区在线播放| 天堂av综合网| 久久国语对白| 99久久这里只精品麻豆| 激情视频综合网| 久久网欧美| 欧美中文字幕无线码视频| 高清欧美性猛交XXXX黑人猛交| 国产女人在线视频| 青青草国产免费国产| 精品国产乱码久久久久久一区二区| 亚洲精品自拍区在线观看| 亚洲国产精品一区二区第一页免| 中文成人在线| 伊人久久精品无码麻豆精品| 亚洲福利片无码最新在线播放| a级毛片免费网站| 欧洲免费精品视频在线| 91啦中文字幕| 91视频99| 欧美第一页在线| 国产无码性爱一区二区三区| 欧美亚洲香蕉| 久久99精品国产麻豆宅宅| a级毛片免费播放| 99久久精品无码专区免费| 欧美国产日韩在线观看| 国产玖玖视频| 88av在线看| 国产香蕉在线视频| 亚洲成人黄色在线| 中文字幕中文字字幕码一二区| 精品无码日韩国产不卡av| 国内a级毛片| 欧美不卡视频在线| 九色91在线视频| 狠狠躁天天躁夜夜躁婷婷| 中文精品久久久久国产网址| 欧美不卡视频一区发布| 国产成+人+综合+亚洲欧美| 人妻21p大胆| 在线亚洲天堂| 成人久久精品一区二区三区| 精品综合久久久久久97超人| 中文国产成人久久精品小说| 国产精品对白刺激| 欧美成人午夜影院| 黄色a一级视频| 综合社区亚洲熟妇p| 日韩最新中文字幕| 免费人成视网站在线不卡| 狠狠亚洲五月天| 婷婷亚洲综合五月天在线| 亚洲男人在线天堂| 91毛片网| …亚洲 欧洲 另类 春色| 久久久噜噜噜| 亚洲国产成人麻豆精品|