EDA技術(shù)實(shí)用教程-VHDL版第3章VHDL設(shè)計(jì)初步.ppt
《EDA技術(shù)實(shí)用教程-VHDL版第3章VHDL設(shè)計(jì)初步.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《EDA技術(shù)實(shí)用教程-VHDL版第3章VHDL設(shè)計(jì)初步.ppt(72頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第3章VHDL設(shè)計(jì)初步,3.1組合邏輯電路的VHDL描述,3.1.12選1多路選擇器的VHDL描述,圖3-1mux21a實(shí)體,3.1組合邏輯電路的VHDL描述,3.1.12選1多路選擇器的VHDL描述,圖3-2mux21a結(jié)構(gòu)體,3.1組合邏輯電路的VHDL描述,【例】二選一選擇器描述方法1ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISSIGNALd,e:BIT;--說明語句BEGINd<=aAND(NOTS);e<=bANDs;y<=dORe;ENDARCHITECTUREone;,3.1.12選1多路選擇器的VHDL描述,3.1組合邏輯電路的VHDL描述,此電路的VHDL描述由兩大部分組成:(1)以關(guān)鍵詞ENTITY引導(dǎo),ENDENTITYmux2la結(jié)尾的語句部分,稱為實(shí)體。實(shí)體描述了電路器件的外部情況及各信號(hào)端口的基本性質(zhì)。(2)以關(guān)鍵詞ARCHITECTURE引導(dǎo),ENDARCHITECTUREone結(jié)尾的語句部分,稱為結(jié)構(gòu)體。結(jié)構(gòu)體負(fù)責(zé)描述電路器件的內(nèi)部邏輯功能或電路結(jié)構(gòu)。,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,ENTITYe_nameISPORT(p_name:port_mdata_type;...p_namei:port_midata_type);ENDENTITYe_name;紅色為描述實(shí)體的關(guān)鍵詞,不分大小寫。,1.實(shí)體表達(dá),2.實(shí)體名e_name,由設(shè)計(jì)者自定的標(biāo)識(shí)符。由字母、數(shù)字、下劃線構(gòu)成。不能以數(shù)字起頭,不能用中文,不能與關(guān)鍵詞或EDA工具庫(kù)的元件名相同。如:72lk,OR2均為非法實(shí)體名。,3.端口語句和端口信號(hào)名PORT();描述電路的端口及其端口信號(hào)。如PORT(a,b:INBIT;s:INBIT;y:OUTBIT);,3.1組合邏輯電路的VHDL描述,端口信號(hào)名,端口模式,端口信號(hào)的數(shù)據(jù)類型,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,4.端口模式,IN:輸入端口,定義的通道為單向只讀模式,OUT:輸出端口,定義的通道為單向輸出模式,INOUT:定義的通道確定為輸入輸出雙向端口,BUFFER:緩沖端口,其功能與INOUT類似,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,5.數(shù)據(jù)類型INTEGER類型(整數(shù)類型)BOOLEAN類型(布爾類型)取值范圍為true,falseSTD_LOGIC類型(標(biāo)準(zhǔn)邏輯位類型)取值范圍有:U,X,0,1,Z,W,L,H,-BIT類型(位類型)取值范圍是邏輯位’1’,’0’,,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,6.結(jié)構(gòu)體表達(dá),ARCHITECTUREarch_nameOFe_nameIS[說明語句]BEGIN(功能描述語句)ENDARCHITECTUREarch_name;紅色為描述結(jié)構(gòu)體的關(guān)鍵詞,不分大小寫。說明語句并非必須,而功能描述語句必須存在。,結(jié)構(gòu)體名,實(shí)體名,7.邏輯操作符,AND、OR、NOT、NAND(與非)、NOR(或非)、XOR(異或)、XNOR(同或)邏輯操作符的操作數(shù)是BIT、BOOLEAN、STD_LOGIC。,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,8.賦值符號(hào)和數(shù)據(jù)比較符號(hào),①賦值符“<=”如表達(dá)式y(tǒng)<=a表示輸入端口a的數(shù)據(jù)向輸出端口y傳輸。注:賦值符“<=”兩邊的信號(hào)的數(shù)據(jù)類型必須一致。,數(shù)據(jù)比較符號(hào)“=”其輸出結(jié)果的數(shù)據(jù)類型是BOOLEAN類型。,如表達(dá)式IFs=0‘THEN..,②,3.1組合邏輯電路的VHDL描述,【例】二選一選擇器描述方法2ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINy<=aWHENs=0ELSEb;ENDARCHITECTUREone;,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,9.WHEN_ELSE條件信號(hào)賦值語句(屬于并行語句),賦值目標(biāo)<=表達(dá)式WHEN賦值條件ELSE表達(dá)式WHEN賦值條件ELSE...表達(dá)式;,z<=aWHENp1=1ELSEbWHENp2=1ELSEc;,3.1組合邏輯電路的VHDL描述,【例3-3】二選一選擇器描述方法3ENTITYmux21aISPORT(a,b,s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs=0THENy<=a;ELSEy<=b;ENDIF;ENDPROCESS;ENDARCHITECTUREone;,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,進(jìn)程的敏感信號(hào)表,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,10.條件語句(屬于順序語句),IF_THEN_ELSE,IF語句必須以語句“ENDIF;”結(jié)束,如IFs=0THENy<=a;ELSEy<=b;ENDIF;,ENDIF;,3.1組合邏輯電路的VHDL描述,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,11.進(jìn)程語句和順序語句,順序語句“IF_THEN_ELSEENDIF;”是放在由“PROCESS……ENDPROCESS”引導(dǎo)的語句中的。由PROCESS引導(dǎo)的語句稱為進(jìn)程語句。在VHDL中,所有合法的順利描述語句都必須放在進(jìn)程語句中。PROCESS旁的()稱為進(jìn)程的敏感信號(hào)表,要求將進(jìn)程中的所有輸入信號(hào)都放在敏感信號(hào)表中。當(dāng)信號(hào)表中的某一敏感信號(hào)從原來的“1”變成“0”,或者從原來的“0”變成“1”時(shí),將啟動(dòng)此進(jìn)程語句,即將其中的語句全部執(zhí)行一遍。,12.文件取名和存盤,12.文件取名和存盤,3.1組合邏輯電路的VHDL描述,用Quartusii提供的VHDL文本編輯器編輯VHDL代碼文件,在保存文件時(shí),文件名為“*.vhd”。建議程序的文件名盡可能與該程序的實(shí)體名一致。推薦使用小寫。,3.1.2相關(guān)語句結(jié)構(gòu)和語法說明,3.1組合邏輯電路的VHDL描述,mux21a功能時(shí)序波形圖,3.1組合邏輯電路的VHDL描述,【例3-18】或門邏輯描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYor2aISPORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDENTITYor2a;ARCHITECTUREoneOFor2aISBEGINc<=aORb;ENDARCHITECTUREone;,半加器h_adder電路圖及其真值表,3.3.1半加器描述,3.3.1半加器描述,3.31位二進(jìn)制全加器的VHDL描述,【例3-16】LIBRARYIEEE;--半加器描述(1):布爾方程描述方法USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adderISPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDENTITYh_adder;ARCHITECTUREfh1OFh_adderisBEGINso<=aXORb;co;...;;When=>;...;;...WHENOTHERS=>;ENDCASE;,3.1組合邏輯電路的VHDL描述,2.標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類型,STD_LOGIC_VECTOR與STD_LOGIC都被定義在STD_LOGIC_1164的程序包中。STD_LOGIC_VECTOR定義為標(biāo)準(zhǔn)一維數(shù)組,數(shù)組中的每個(gè)元素都是標(biāo)準(zhǔn)邏輯位STD_LOGIC。,在使用STD_LOGIC_VECTOR中,必須注明其數(shù)組寬度,即位寬,如:B:OUTSTD_LOGIC_VECTOR(7DOWNTO0);或SIGNALA:STD_LOGIC_VECTOR(1TO4);,B<="01100010";--B(7)為0B(4DOWNTO1)<="1101";--B(4)為1‘B(7DOWNTO4)<=A;--B(6)等于A(2),3.1組合邏輯電路的VHDL描述,3.并置操作符?,SIGNALa:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALd:STD_LOGIC_VECTOR(1DOWNTO0);...aain,b=>bin,co=>d,so=>e);--例化語句u2:h_adderPORTMAP(a=>e,b=>cin,co=>f,so=>sum);cout連接端口名………);其中,例化名相當(dāng)于當(dāng)前系統(tǒng)(電路板)中的一個(gè)插座名。元件名相當(dāng)于準(zhǔn)備在此插座上插入的已定義的元件,即為待調(diào)用的元件的名字。PORTMAP為關(guān)鍵詞。端口名為待調(diào)用的元件本身的端口名。連接端口名為頂層文件中準(zhǔn)備與調(diào)用元件的端口相連的通信線(端口)名。,3.2基本時(shí)序電路的VHDL描述,3.2.1D觸發(fā)器的VHDL描述,KX康芯科技,【例3-8】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYDFF1ISPORT(CLK:INSTD_LOGIC;D:INSTD_LOGIC;Q:OUTSTD_LOGIC);END;ARCHITECTUREbhvOFDFF1ISSIGNALQ1:STD_LOGIC;--類似于在芯片內(nèi)部定義一個(gè)數(shù)據(jù)的暫存節(jié)點(diǎn)BEGINPROCESS(CLK,Q1)BEGINIFCLKEVENTANDCLK=1THENQ1<=D;ENDIF;ENDPROCESS;Q<=Q1;--將內(nèi)部的暫存數(shù)據(jù)向端口輸出(雙橫線--是注釋符號(hào))ENDbhv;,圖4-4D觸發(fā)器,D觸發(fā)器實(shí)體,D觸發(fā)器仿真波形,邊沿觸發(fā)D觸發(fā)器:當(dāng)時(shí)鐘信號(hào)的上升沿到來時(shí),Q=D。否則,Q保持原值不變。,3.2基本時(shí)序電路的VHDL描述,3.2.2VHDL描述的語言現(xiàn)象說明,圖4-4D觸發(fā)器,1.標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型STD_LOGIC,BIT數(shù)據(jù)類型定義:TYPEBITIS(0,1);--只有兩種取值,STD_LOGIC數(shù)據(jù)類型定義:TYPESTD_LOGICIS(U,X,0,1,Z,W,L,H,-);,STD_LOGIC類型比BIT類型包含的內(nèi)容多,且包含了BIT類型。以下是程序包中對(duì)兩種數(shù)據(jù)類型的定義。,3.2基本時(shí)序電路的VHDL描述,3.2.2VHDL描述的語言現(xiàn)象說明,圖4-4D觸發(fā)器,2.設(shè)計(jì)庫(kù)和標(biāo)準(zhǔn)程序包,,VHDL綜合器附帶了設(shè)計(jì)庫(kù)和程序包,用來存放數(shù)據(jù)類型的說明,以及函數(shù)的。如:BIT數(shù)據(jù)類型的定義是包含在VHDL標(biāo)準(zhǔn)程序包STANDARD中的,而該程序包是包含在VHDL的標(biāo)準(zhǔn)庫(kù)STD中的。為了使用BIT數(shù)據(jù)類型,則應(yīng)該在程序之前增加說明語句。,3.2基本時(shí)序電路的VHDL描述,例3-1LIBRARYWORK;--表示打開用戶工程文件所在的目錄,該目錄為默認(rèn)工作庫(kù)WORKLIBRARYSTD;--表示打開STD庫(kù)USESTD.STANDARD.ALL;--表示允許使用STD庫(kù)中的STANDARD程序包中的所有內(nèi)容(.all)ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINyb1,輸出為‘1’,否則輸出為‘0’。ENTITYCOMP_BADISPORT(a1,b1:INBIT;q1:OUTBIT);END;ARCHITECTUREoneOFCOMP_BADISBEGINPROCESS(a1,b1)BEGINIFa1>b1THENq1<=1;ELSIFa1- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- EDA 技術(shù) 實(shí)用教程 VHDL 設(shè)計(jì) 初步
鏈接地址:http://www.szxfmmzy.com/p-11495835.html