版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
EDA課程的地位和作用
項(xiàng)目8
時(shí)序電路的VHDL設(shè)計(jì)
工作任務(wù):1.基礎(chǔ)知識(shí)學(xué)習(xí)2.通用計(jì)數(shù)器設(shè)計(jì)3.十進(jìn)制減法計(jì)數(shù)器設(shè)計(jì)4.十二進(jìn)制加法計(jì)數(shù)器設(shè)計(jì)8-2計(jì)數(shù)器的VHDL設(shè)計(jì)1.基礎(chǔ)知識(shí)學(xué)習(xí)計(jì)數(shù)器功能:對(duì)輸入脈沖計(jì)數(shù)計(jì)數(shù)器應(yīng)用:計(jì)數(shù)、定時(shí)、控制、分頻等計(jì)數(shù)器分類:
按同步方式分:同步計(jì)數(shù)器、異步計(jì)數(shù)器
同步:受同一個(gè)時(shí)鐘控制異步:不受同一個(gè)時(shí)鐘控制
按計(jì)數(shù)方向分:加法計(jì)數(shù)器、減法計(jì)數(shù)器
按模數(shù)分:二進(jìn)制、五進(jìn)制、十進(jìn)制等計(jì)數(shù)器:1.基礎(chǔ)知識(shí)學(xué)習(xí)PLD原理PLD分類CPLD:PAL擴(kuò)展型FPGA:邏輯單元型可編程邏輯器件(PLD):輸入電路與門陣列或門陣列輸出電路輸入輸出1.基礎(chǔ)知識(shí)學(xué)習(xí)PLD優(yōu)點(diǎn):
密度大功耗低速度快結(jié)構(gòu)靈活開發(fā)工具先進(jìn)可編程邏輯器件(PLD):VHDL語言要點(diǎn):結(jié)合VHDL源程序?qū)嵗v解2.通用計(jì)數(shù)器設(shè)計(jì)設(shè)計(jì)一個(gè)通用計(jì)數(shù)器,要求:復(fù)位信號(hào)為高電平時(shí)計(jì)數(shù)器清零或賦初值;使能信號(hào)為高電平時(shí)計(jì)數(shù)器正常工作,低電平時(shí)計(jì)數(shù)值不變;計(jì)數(shù)方向控制信號(hào)為高電平時(shí),按加法規(guī)則計(jì)數(shù),即來一個(gè)時(shí)鐘計(jì)數(shù)器加1,計(jì)數(shù)器達(dá)到最大值時(shí)再來一個(gè)時(shí)鐘自動(dòng)清零;否則,按減法規(guī)則計(jì)數(shù),減到0時(shí)再來一個(gè)時(shí)鐘計(jì)數(shù)器為最大值;計(jì)數(shù)器的??烧{(diào);計(jì)數(shù)器觸發(fā)邊沿可調(diào)。設(shè)計(jì)要求:resetenableclkQ[0…N-1]通用計(jì)數(shù)器dir(1)構(gòu)思——擬定設(shè)計(jì)方案CDIO(構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)行)理念(2)設(shè)計(jì)——編寫VHDL源程序方案一、用硬件搭接,缺點(diǎn)是電路復(fù)雜,焊點(diǎn)多,可靠性差,不夠靈活;方案二、用單片機(jī)實(shí)現(xiàn),但可靠性差,速度慢;方案三、用硬件描述語言(HDL)編程,用可編程邏輯器件(PLD)實(shí)現(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;--計(jì)數(shù)器復(fù)位
elsifenable='1'then--
計(jì)數(shù)器正常工作 if(clk'eventandclk='1')then--時(shí)鐘上升沿到來
ifdir='1'then
if(cnt<N-1)then--加法計(jì)數(shù)cnt:=cnt+1;elsecnt:=0;endif;
else
if(cnt>0)then--減法計(jì)數(shù)cnt:=cnt-1;elsecnt:=N-1;endif;
endif;
endif;
endif;q<=cnt;--輸出計(jì)數(shù)值endprocess;endrtl;(3)實(shí)現(xiàn)——編輯、編譯、仿真、編程由波形圖可以看出,由于dir為高電平,N=10,這時(shí)countn就是一個(gè)十進(jìn)制加法計(jì)數(shù)器。如果要生成其它進(jìn)制的加法計(jì)數(shù)器,只要修改generic類屬變量參數(shù)N的值即可。例如:設(shè)計(jì)五進(jìn)制計(jì)數(shù)器時(shí),令N=5;設(shè)計(jì)十二進(jìn)制計(jì)數(shù)器時(shí),令N=12。如果需要對(duì)輸入脈沖下降沿計(jì)數(shù),只要將if(clk‘eventandclk=‘1’)then語句中的’1’改為’0’即可。(4)運(yùn)行——測試、改進(jìn)、總結(jié)3.學(xué)中做——十進(jìn)制減法計(jì)數(shù)器要求:設(shè)計(jì)一個(gè)十進(jìn)制減法計(jì)數(shù)器,初值為9。構(gòu)思:
方案一、仿照countn重新設(shè)計(jì),好處是可以省掉加法計(jì)數(shù)部分的的語句,節(jié)省資源,但改動(dòng)地方較多,容易出錯(cuò);
方案二、在通用計(jì)數(shù)器countn源程序的基礎(chǔ)上稍作修改即可滿足設(shè)計(jì)要求,好處是可以簡化程序設(shè)計(jì),但占用資源稍多。設(shè)計(jì):采用方案二。將countn中語句ifreset=‘1’thencnt:=0;
改為ifreset=‘1’thencnt:=9;實(shí)現(xiàn)初值為9的要求;仿真時(shí)令dir為低電平,實(shí)現(xiàn)減法計(jì)數(shù)的要求。3.學(xué)中做——十進(jìn)制減法計(jì)數(shù)器圖中可以看出,reset為高電平時(shí)計(jì)數(shù)器輸出為9;由于dir為低電平,N=10,所以countn變成了一個(gè)十進(jìn)制減法計(jì)數(shù)器。實(shí)現(xiàn):編輯、編譯、仿真、編程運(yùn)行:測試、改進(jìn)、總結(jié)4.做中學(xué)——設(shè)計(jì)一個(gè)十二進(jìn)制加法計(jì)數(shù)器
設(shè)計(jì)要求:輸入輸出resetenableclkQ3Q2Q1Q01XX000000X不變不變不變不變01計(jì)數(shù)器+1(N=11時(shí)清零)十二進(jìn)制加法計(jì)數(shù)器功能表(1)構(gòu)思——擬定設(shè)計(jì)方案resetenableclkQ[0…11]十二進(jìn)制加法計(jì)數(shù)器dir‘1’(2)設(shè)計(jì)——編寫VHDL源程序
將countn源程序中的語句generic(N:integer:=10)改為generic(N:integer:=12即可。方案一、仿照countn重新設(shè)計(jì),好處是可以省掉減法計(jì)數(shù)部分的語句,節(jié)省資源;方案二、在通用計(jì)數(shù)器countn源程序的基礎(chǔ)上稍作修改,好處是可以簡化程序設(shè)計(jì)。
(3)實(shí)現(xiàn)——編輯、編譯、仿真、編程(4)運(yùn)行——測試、改進(jìn)、總結(jié)仿真時(shí)令dir為高電平。圖中可以看出,由于dir=‘1’,N=12,這時(shí)countn就變成一個(gè)十二進(jìn)制加法計(jì)數(shù)器。課后作業(yè):按照“構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)行”的步驟,完成初值為5的六進(jìn)制減法計(jì)數(shù)器設(shè)計(jì)。課堂練習(xí):按照“構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)行”的步驟,設(shè)計(jì)一個(gè)初值為2的五進(jìn)制雙向計(jì)數(shù)器。工作任務(wù):1.分頻器概念2.通用分頻器設(shè)計(jì)3.占空比50%的奇數(shù)分頻器設(shè)計(jì)8-3分頻器的VHDL設(shè)計(jì)1.分頻器概念分頻器功能:把頻率較高的信號(hào)變成頻率較低的信號(hào)。分頻器參數(shù):分頻系數(shù):rate=fin/fout
占空比:輸出脈沖持續(xù)高電平的時(shí)間:周期。分頻器種類:偶數(shù)分頻器、奇數(shù)分頻器、占空比可調(diào)的分頻器。clkinclkout分頻器2.設(shè)計(jì)舉例——通用分頻器設(shè)計(jì)要求:分頻系數(shù)可調(diào),占空比為可調(diào)(占空比為50%時(shí)分頻系數(shù)不能是奇數(shù))。構(gòu)思:
假設(shè),分頻系數(shù)為n,占空比為m:n(m,n為正整數(shù),且m<n;m:n=50%時(shí)n不能為奇數(shù))。方案一、用硬件搭接,缺點(diǎn)是電路復(fù)雜,焊點(diǎn)多,可靠性、靈活性差;
方案二、用單片機(jī)實(shí)現(xiàn),雖然靈活性較好,但速度慢;
方案三、用硬件描述語言(HDL)編程,用可編程邏輯器件(PLD)實(shí)現(xiàn),好處是可靠性高、靈活性好。clkinclkout分頻器2.設(shè)計(jì)舉例——通用分頻器設(shè)計(jì):采用方案三例如,設(shè)計(jì)占空比為30%的10分頻器,其輸入輸出波形如下圖所示??梢钥闯觯敵?個(gè)周期=輸入信號(hào)的10個(gè)周期,前3個(gè)輸入周期,輸出高電平;后7個(gè)輸入周期,輸出低電平。
方法:設(shè)計(jì)一個(gè)摸數(shù)為分頻系數(shù)n的計(jì)數(shù)器,對(duì)輸入時(shí)鐘脈沖計(jì)數(shù),當(dāng)計(jì)數(shù)值為0~m-1時(shí),輸出高電平;計(jì)數(shù)值為m~n-1時(shí),輸出低電平。
源程序:見下頁通用分頻器的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%時(shí)n不能為奇數(shù)port(clkin:INstd_logic;clkout:OUTstd_logic);endfdivn;architectureaoffdivnissignalcnt:integerrange0ton-1;--定義中間信號(hào)(這里為么不用變量?信號(hào)與變量有何不同?)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ù)和占空比的分頻器。實(shí)現(xiàn):編輯、編譯、仿真、編程運(yùn)行:測試、改進(jìn)、總結(jié)做做看——設(shè)計(jì)一個(gè)占空比40%的5分頻器做做看——設(shè)計(jì)占空比40%的5分頻器構(gòu)思:因分頻系數(shù)為5,占空比40%,故取n=5,m=2。設(shè)計(jì):修改fdivn中g(shù)eneric類屬變量m和n的參數(shù)值,令n=5,m=2。實(shí)現(xiàn):修改程序并存盤,編譯、仿真。
3.學(xué)中做——占空比50%的奇數(shù)分頻器設(shè)計(jì)設(shè)計(jì)要求:分頻系數(shù)為奇數(shù),占空比50%構(gòu)思:
分析:因?yàn)橛?jì)數(shù)器模數(shù)為奇數(shù),占空比為50%,所以計(jì)數(shù)器輸出的前半個(gè)周期和后半個(gè)周期所包含的輸入時(shí)鐘的周期數(shù)不是整數(shù)。例如,5分頻器,clkout的前半個(gè)周期包含2.5個(gè)clkin周期,后半個(gè)周期包含2.5個(gè)clkin周期。方案:設(shè)計(jì)兩個(gè)摸為分頻系數(shù)的計(jì)數(shù)器,一個(gè)對(duì)輸入時(shí)鐘的上升沿計(jì)數(shù),另一個(gè)對(duì)輸入時(shí)鐘的下降沿計(jì)數(shù),然后把這兩個(gè)計(jì)數(shù)器的輸出接到“或門”的輸入,“或門”的輸做分頻器的輸出clkout。設(shè)計(jì):
源程序:占空比為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--上升沿計(jì)數(shù)if(cnt1<N-1)thencnt1<=cnt1+1;else cnt1<=0; endif;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《民生期貨梁立恒》課件
- 2025年長治貨運(yùn)考試
- 2025年怒江如何考貨運(yùn)從業(yè)資格證
- 2025年白山貨運(yùn)資格證模擬考試題庫下載
- 研究生考試考研歷史學(xué)專業(yè)基礎(chǔ)(313)試題及解答參考
- 汽車租賃車型協(xié)議
- 深圳市施工期限規(guī)范實(shí)施細(xì)則
- 鞋業(yè)公司醫(yī)生招聘合同
- 宅基地贈(zèng)與合同范本
- 電商運(yùn)營兼職合作協(xié)議
- 2024年廣東省建筑安全員《B證》考試題庫及答案
- 2024年教師資格證考試教育教學(xué)理論基礎(chǔ)知識(shí)復(fù)習(xí)題庫及答案(共200題)
- 2024年G1工業(yè)鍋爐司爐理論考試1000題及答案
- 中華聯(lián)合財(cái)產(chǎn)保險(xiǎn)股份有限公司校招筆試題目
- 七年級(jí)上冊(cè)生物2024-2025學(xué)年新人教版期末綜合試卷(含答案)
- 進(jìn)口再生鑄造鋁合金原料檢驗(yàn)規(guī)程
- 2020年國家開放大學(xué)電大《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告
- 軟件開發(fā)公司代碼備份與恢復(fù)方案
- 《貨幣銀行學(xué)》課件
- 2024年人教版初二道德與法治上冊(cè)期末考試卷(附答案)
- 3dmax整體設(shè)計(jì)說課稿
評(píng)論
0/150
提交評(píng)論