版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
EDA課程的地位和作用
項目8
時序電路的VHDL設(shè)計
工作任務(wù):1.基礎(chǔ)知識學(xué)習(xí)2.通用計數(shù)器設(shè)計3.十進(jìn)制減法計數(shù)器設(shè)計4.十二進(jìn)制加法計數(shù)器設(shè)計8-2計數(shù)器的VHDL設(shè)計1.基礎(chǔ)知識學(xué)習(xí)計數(shù)器功能:對輸入脈沖計數(shù)計數(shù)器應(yīng)用:計數(shù)、定時、控制、分頻等計數(shù)器分類:
按同步方式分:同步計數(shù)器、異步計數(shù)器
同步:受同一個時鐘控制異步:不受同一個時鐘控制
按計數(shù)方向分:加法計數(shù)器、減法計數(shù)器
按模數(shù)分:二進(jìn)制、五進(jìn)制、十進(jìn)制等計數(shù)器:1.基礎(chǔ)知識學(xué)習(xí)PLD原理PLD分類CPLD:PAL擴(kuò)展型FPGA:邏輯單元型可編程邏輯器件(PLD):輸入電路與門陣列或門陣列輸出電路輸入輸出1.基礎(chǔ)知識學(xué)習(xí)PLD優(yōu)點:
密度大功耗低速度快結(jié)構(gòu)靈活開發(fā)工具先進(jìn)可編程邏輯器件(PLD):VHDL語言要點:結(jié)合VHDL源程序?qū)嵗v解2.通用計數(shù)器設(shè)計設(shè)計一個通用計數(shù)器,要求:復(fù)位信號為高電平時計數(shù)器清零或賦初值;使能信號為高電平時計數(shù)器正常工作,低電平時計數(shù)值不變;計數(shù)方向控制信號為高電平時,按加法規(guī)則計數(shù),即來一個時鐘計數(shù)器加1,計數(shù)器達(dá)到最大值時再來一個時鐘自動清零;否則,按減法規(guī)則計數(shù),減到0時再來一個時鐘計數(shù)器為最大值;計數(shù)器的??烧{(diào);計數(shù)器觸發(fā)邊沿可調(diào)。設(shè)計要求:resetenableclkQ[0…N-1]通用計數(shù)器dir(1)構(gòu)思——擬定設(shè)計方案CDIO(構(gòu)思、設(shè)計、實現(xiàn)、運行)理念(2)設(shè)計——編寫VHDL源程序方案一、用硬件搭接,缺點是電路復(fù)雜,焊點多,可靠性差,不夠靈活;方案二、用單片機(jī)實現(xiàn),但可靠性差,速度慢;方案三、用硬件描述語言(HDL)編程,用可編程邏輯器件(PLD)實現(xiàn),好處是可靠性高、靈活性好。
VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.numeric_std.all;entitycountnis
generic(N:integer:=10);--N為正整數(shù) port ( clk,dir :instd_logic; reset :instd_logic; enable:instd_logic; q:outintegerrange0toN-1 );endentity;architecturertlofcountnisbeginprocess(clk)
variablecnt :integerrange0toN-1;begin
ifreset='1'then
cnt:=0;--計數(shù)器復(fù)位
elsifenable='1'then--
計數(shù)器正常工作 if(clk'eventandclk='1')then--時鐘上升沿到來
ifdir='1'then
if(cnt<N-1)then--加法計數(shù)cnt:=cnt+1;elsecnt:=0;endif;
else
if(cnt>0)then--減法計數(shù)cnt:=cnt-1;elsecnt:=N-1;endif;
endif;
endif;
endif;q<=cnt;--輸出計數(shù)值endprocess;endrtl;(3)實現(xiàn)——編輯、編譯、仿真、編程由波形圖可以看出,由于dir為高電平,N=10,這時countn就是一個十進(jìn)制加法計數(shù)器。如果要生成其它進(jìn)制的加法計數(shù)器,只要修改generic類屬變量參數(shù)N的值即可。例如:設(shè)計五進(jìn)制計數(shù)器時,令N=5;設(shè)計十二進(jìn)制計數(shù)器時,令N=12。如果需要對輸入脈沖下降沿計數(shù),只要將if(clk‘eventandclk=‘1’)then語句中的’1’改為’0’即可。(4)運行——測試、改進(jìn)、總結(jié)3.學(xué)中做——十進(jìn)制減法計數(shù)器要求:設(shè)計一個十進(jìn)制減法計數(shù)器,初值為9。構(gòu)思:
方案一、仿照countn重新設(shè)計,好處是可以省掉加法計數(shù)部分的的語句,節(jié)省資源,但改動地方較多,容易出錯;
方案二、在通用計數(shù)器countn源程序的基礎(chǔ)上稍作修改即可滿足設(shè)計要求,好處是可以簡化程序設(shè)計,但占用資源稍多。設(shè)計:采用方案二。將countn中語句ifreset=‘1’thencnt:=0;
改為ifreset=‘1’thencnt:=9;實現(xiàn)初值為9的要求;仿真時令dir為低電平,實現(xiàn)減法計數(shù)的要求。3.學(xué)中做——十進(jìn)制減法計數(shù)器圖中可以看出,reset為高電平時計數(shù)器輸出為9;由于dir為低電平,N=10,所以countn變成了一個十進(jìn)制減法計數(shù)器。實現(xiàn):編輯、編譯、仿真、編程運行:測試、改進(jìn)、總結(jié)4.做中學(xué)——設(shè)計一個十二進(jìn)制加法計數(shù)器
設(shè)計要求:輸入輸出resetenableclkQ3Q2Q1Q01XX000000X不變不變不變不變01計數(shù)器+1(N=11時清零)十二進(jìn)制加法計數(shù)器功能表(1)構(gòu)思——擬定設(shè)計方案resetenableclkQ[0…11]十二進(jìn)制加法計數(shù)器dir‘1’(2)設(shè)計——編寫VHDL源程序
將countn源程序中的語句generic(N:integer:=10)改為generic(N:integer:=12即可。方案一、仿照countn重新設(shè)計,好處是可以省掉減法計數(shù)部分的語句,節(jié)省資源;方案二、在通用計數(shù)器countn源程序的基礎(chǔ)上稍作修改,好處是可以簡化程序設(shè)計。
(3)實現(xiàn)——編輯、編譯、仿真、編程(4)運行——測試、改進(jìn)、總結(jié)仿真時令dir為高電平。圖中可以看出,由于dir=‘1’,N=12,這時countn就變成一個十二進(jìn)制加法計數(shù)器。課后作業(yè):按照“構(gòu)思、設(shè)計、實現(xiàn)、運行”的步驟,完成初值為5的六進(jìn)制減法計數(shù)器設(shè)計。課堂練習(xí):按照“構(gòu)思、設(shè)計、實現(xiàn)、運行”的步驟,設(shè)計一個初值為2的五進(jìn)制雙向計數(shù)器。工作任務(wù):1.分頻器概念2.通用分頻器設(shè)計3.占空比50%的奇數(shù)分頻器設(shè)計8-3分頻器的VHDL設(shè)計1.分頻器概念分頻器功能:把頻率較高的信號變成頻率較低的信號。分頻器參數(shù):分頻系數(shù):rate=fin/fout
占空比:輸出脈沖持續(xù)高電平的時間:周期。分頻器種類:偶數(shù)分頻器、奇數(shù)分頻器、占空比可調(diào)的分頻器。clkinclkout分頻器2.設(shè)計舉例——通用分頻器設(shè)計要求:分頻系數(shù)可調(diào),占空比為可調(diào)(占空比為50%時分頻系數(shù)不能是奇數(shù))。構(gòu)思:
假設(shè),分頻系數(shù)為n,占空比為m:n(m,n為正整數(shù),且m<n;m:n=50%時n不能為奇數(shù))。方案一、用硬件搭接,缺點是電路復(fù)雜,焊點多,可靠性、靈活性差;
方案二、用單片機(jī)實現(xiàn),雖然靈活性較好,但速度慢;
方案三、用硬件描述語言(HDL)編程,用可編程邏輯器件(PLD)實現(xiàn),好處是可靠性高、靈活性好。clkinclkout分頻器2.設(shè)計舉例——通用分頻器設(shè)計:采用方案三例如,設(shè)計占空比為30%的10分頻器,其輸入輸出波形如下圖所示??梢钥闯?,輸出1個周期=輸入信號的10個周期,前3個輸入周期,輸出高電平;后7個輸入周期,輸出低電平。
方法:設(shè)計一個摸數(shù)為分頻系數(shù)n的計數(shù)器,對輸入時鐘脈沖計數(shù),當(dāng)計數(shù)值為0~m-1時,輸出高電平;計數(shù)值為m~n-1時,輸出低電平。
源程序:見下頁通用分頻器的VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityfdivnisgeneric(n:integer:=10;m:integer:=3);--n為分頻系數(shù),占空比m:n;占空比=50%時n不能為奇數(shù)port(clkin:INstd_logic;clkout:OUTstd_logic);endfdivn;architectureaoffdivnissignalcnt:integerrange0ton-1;--定義中間信號(這里為么不用變量?信號與變量有何不同?)beginprocess(clkin)beginif(clkin'eventandclkin='1')thenif(cnt<n-1)thencnt<=cnt+1;elsecnt<=0;endif;endif;endprocess;clkout<='1'whencnt<melse'0';enda;從波形圖可以看到,clkout是clkin的10分頻,且占空比為3:10,即30%。修改上述程序中g(shù)eneric類屬變量m和n的參數(shù)值,即可得到不同分頻系數(shù)和占空比的分頻器。實現(xiàn):編輯、編譯、仿真、編程運行:測試、改進(jìn)、總結(jié)做做看——設(shè)計一個占空比40%的5分頻器做做看——設(shè)計占空比40%的5分頻器構(gòu)思:因分頻系數(shù)為5,占空比40%,故取n=5,m=2。設(shè)計:修改fdivn中g(shù)eneric類屬變量m和n的參數(shù)值,令n=5,m=2。實現(xiàn):修改程序并存盤,編譯、仿真。
3.學(xué)中做——占空比50%的奇數(shù)分頻器設(shè)計設(shè)計要求:分頻系數(shù)為奇數(shù),占空比50%構(gòu)思:
分析:因為計數(shù)器模數(shù)為奇數(shù),占空比為50%,所以計數(shù)器輸出的前半個周期和后半個周期所包含的輸入時鐘的周期數(shù)不是整數(shù)。例如,5分頻器,clkout的前半個周期包含2.5個clkin周期,后半個周期包含2.5個clkin周期。方案:設(shè)計兩個摸為分頻系數(shù)的計數(shù)器,一個對輸入時鐘的上升沿計數(shù),另一個對輸入時鐘的下降沿計數(shù),然后把這兩個計數(shù)器的輸出接到“或門”的輸入,“或門”的輸做分頻器的輸出clkout。設(shè)計:
源程序:占空比為50%的奇數(shù)分頻器 占空比為50%的奇數(shù)分頻器VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityfdivoisgeneric(N:integer:=5);--分頻系數(shù)=N,N是奇數(shù)port(clkin:instd_logic;clkout:outstd_logic);endfdivo;architectureaoffdivoissignalcnt1,cnt2:integerrange0toN-1;beginprocess(clkin)beginif(clkin'eventandclkin='1')then--上升沿計數(shù)if(cnt1<N-1)thencnt1<=cnt1+1;else cnt1<=0; endif;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 動物外套產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 人工智能與機(jī)器學(xué)習(xí)行業(yè)市場調(diào)研分析報告
- 登山杖項目運營指導(dǎo)方案
- 電話聽筒產(chǎn)品供應(yīng)鏈分析
- 頭發(fā)拉直制劑產(chǎn)品供應(yīng)鏈分析
- 嬰兒床床單產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 信息和數(shù)據(jù)的臨時電子存儲行業(yè)相關(guān)項目經(jīng)營管理報告
- 紡車產(chǎn)品供應(yīng)鏈分析
- 電動吸痰器商業(yè)機(jī)會挖掘與戰(zhàn)略布局策略研究報告
- 應(yīng)收賬款融資行業(yè)市場調(diào)研分析報告
- 廣東省深圳市2023-2024學(xué)年三年級上學(xué)期英語期中試卷(含答案)
- 江蘇省南京市六校聯(lián)考2024-2025學(xué)年高一上學(xué)期期中考試英語試卷(含答案含聽力原文無音頻)
- 公司保密工作規(guī)范作業(yè)指導(dǎo)書
- 化學(xué)水資源及其利用(第1課時人類擁有的水資源 保護(hù)水資源)課件 2024-2025學(xué)年九年級人教版(2024)上冊
- 細(xì)菌 課件-2024-2025學(xué)年(2024)人教版生物七年級上冊
- 2024年全國職業(yè)院校技能大賽高職組(護(hù)理技能賽項)考試題庫-上(單選題)
- 2024-2030年中國汽車電磁干擾屏蔽行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- MES系統(tǒng)實施管理辦法
- 《人工智能導(dǎo)論》課程考試復(fù)習(xí)題庫(含答案)
- 羽毛球運動教學(xué)與訓(xùn)練智慧樹知到答案2024年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院
- 2023-2024學(xué)年浙江龍泉市九年級語文上期中考試卷附答案解析
評論
0/150
提交評論