




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一講程序設(shè)計(jì)語言第1頁,共33頁,2023年,2月20日,星期一參考教材本數(shù)電實(shí)驗(yàn)理論課及實(shí)驗(yàn)操作所用教材:《數(shù)字電路設(shè)計(jì)·
仿真·
測試》主編:佘新平學(xué)習(xí)該課程的參考教材:VHDL或FPGA(介紹VHDL語言)方面的的書籍。第2頁,共33頁,2023年,2月20日,星期一
VHDL語言全稱:Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage是一種非常高速硬件(數(shù)字電路)描述語言。主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),功能和接口。語言形式和描述風(fēng)格與句法十分類似于一般的計(jì)算機(jī)高級語言。
支持VHDL語言的軟件平臺Max+PlusII、QuartusII
由軟件設(shè)計(jì)到硬件實(shí)現(xiàn)之間的媒介CPLD/FPGA(可編程器件)第3頁,共33頁,2023年,2月20日,星期一VHDL的歷史有數(shù)十種硬件描述語言(如VHDL,VerilogHDL,HardwireC,CSP,SDL,Esterel),用得較廣泛的是VHDL和VerilogHDL兩種:1980美國制定VHSIC(VeryHighSpeedIntegratedCircuits)計(jì)劃。1983IBM、TI和Intermetrics聯(lián)合開發(fā)語言和仿真工具(VHDL)主要考慮自頂向下的設(shè)計(jì)和工藝進(jìn)步引起的系統(tǒng)升級。1987美國國防部(DOD)要求所有數(shù)字電路用VHDL描述,并決定F-22戰(zhàn)斗機(jī)項(xiàng)目采用VHDL,發(fā)布IEEE1076-1987標(biāo)準(zhǔn)。1993發(fā)布IEEE1076-1993標(biāo)準(zhǔn)。1996基于IEEE1076-1993的仿真和綜合工具問世。IEEE1076.3使用綜合工具的程序包標(biāo)準(zhǔn)。IEEE1076.4(VITAL):ASIC和FPGA建庫1997發(fā)布IEEE1076.1即同時能夠描述數(shù)字和模擬集成電路的VHDL語言標(biāo)準(zhǔn)(VHDL-AMS)。第4頁,共33頁,2023年,2月20日,星期一VHDL與VerilogHDL語言的主要區(qū)別VerilogHDL是由GDA(GatewayDesignAutomation)公司于1983年末首創(chuàng)的,1995年成為IEEE標(biāo)準(zhǔn)。VerilogHDL在工業(yè)界通用些,而VHDL在大學(xué)應(yīng)用較多。VerilogHDL是在C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,語法較自由;VHDL格式較嚴(yán)謹(jǐn),其書寫規(guī)則比VerilogHDL要繁瑣些。VerilogHDL和VHDL在行為抽象建模的覆蓋面范圍不同,VerilogHDL在系統(tǒng)級抽象方面要比VHDL略差一些,而在門級開關(guān)電路方面要強(qiáng)些。VerilogHDL強(qiáng)調(diào)于集成電路的綜合,VHDL強(qiáng)調(diào)于組合邏輯電路的綜合。第5頁,共33頁,2023年,2月20日,星期一在QuartusII軟件中新建工程新建VHDL文件,編寫VHDL程序存盤(文件名為實(shí)體名與工程名相同,后綴為.VHD)編譯
軟件仿真管腳鎖定下載
由軟件設(shè)計(jì)到硬件實(shí)現(xiàn)的流程第6頁,共33頁,2023年,2月20日,星期一
VHDL程序的基本結(jié)構(gòu)實(shí)體說明(Entity)(*)
VHDL程序的基本結(jié)構(gòu)五部分結(jié)構(gòu)體(Architecture)(*)配置(Configuration)包集合(Package)庫(Library)用于描述設(shè)計(jì)的系統(tǒng)的外部接口用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為安裝具體元件到實(shí)體-結(jié)構(gòu)體對存放設(shè)計(jì)模塊共享的數(shù)據(jù)類型、常數(shù)和子程序等專門存放預(yù)編譯程序包的地方第7頁,共33頁,2023年,2月20日,星期一VHDL程序的實(shí)體
實(shí)體:VHDL程序的描述對象稱為實(shí)體。簡單的實(shí)體是由實(shí)體說明和結(jié)構(gòu)體兩部分組成的。實(shí)體定義本設(shè)計(jì)的輸入/輸出端口,聲明到其他實(shí)體及其他設(shè)計(jì)的接口。結(jié)構(gòu)體定義實(shí)體的實(shí)現(xiàn),即電路的具體描述。第8頁,共33頁,2023年,2月20日,星期一(1)實(shí)體ENTITYVHDL的描述對象稱為實(shí)體。由實(shí)體說明部分和構(gòu)造體部分組成…
端口名
:端口模式
數(shù)據(jù)類型);
ENTITY
實(shí)體名
IsEnd實(shí)體名;
格式:Port(端口名
:端口模式數(shù)據(jù)類型;說明:①定義本設(shè)計(jì)的輸入/輸出端口
②端口名是每個系統(tǒng)引腳的名稱,一般用幾個英文字母組成
方向:INOUTINOUTBUFFERLINKAGE
數(shù)據(jù)類型:std_logic(一位),std_logic_vector(多位)
integer,boolean,bit,bit_vector第9頁,共33頁,2023年,2月20日,星期一
LIBRARYIEEE;
USEIEEE.STD_LOGIC.1164.ALL;
ENTITYadd8IS
PORT(b:INSTD_LOGIC_VECTOR(7DOWNTO0);
a:INSTD_LOGIC_VECTOR(7DOWNTO0);Ci:INSTD_LOGIC;
Sum:OUTSTD_LOGIC_VECTOR(7DOWNTO0)
Co:OUTSTD_LOGIC);
ENDadd8;例:add8實(shí)體說明部分實(shí)體add8/8位加法器外部接口等效邏輯電路圖A[7..0]B[7..0]SUM[7..0]CoCi第10頁,共33頁,2023年,2月20日,星期一ENTITY設(shè)計(jì)時注意點(diǎn)實(shí)體名與文件名要一樣文件存放位置取名要規(guī)范(實(shí)體名、端口信號名)合理確定設(shè)計(jì)所需的端口信號第11頁,共33頁,2023年,2月20日,星期一(2)結(jié)構(gòu)體(ARCHITECTURE)
結(jié)構(gòu)體具體地描述了設(shè)計(jì)實(shí)體的邏輯功能或內(nèi)部電路結(jié)構(gòu)關(guān)系,從而建立設(shè)計(jì)實(shí)體輸入與輸出之間的關(guān)系。結(jié)構(gòu)體功能可以用三種方式進(jìn)行描述,即行為描述、數(shù)據(jù)流描述、結(jié)構(gòu)描述,另外,還可以采用混合描述。三種描述方式:
行為描述方式(behavioral)數(shù)據(jù)流描述方式(dataflow)結(jié)構(gòu)描述方式(structure)第12頁,共33頁,2023年,2月20日,星期一ARCHITECTURE結(jié)構(gòu)體名
Of實(shí)體名
IsBegin功能描述語句;--并行語句
End結(jié)構(gòu)體名;結(jié)構(gòu)體格式:[定義語句]內(nèi)部信號、常數(shù)、數(shù)據(jù)類型、函數(shù)等的定義第13頁,共33頁,2023年,2月20日,星期一結(jié)構(gòu)體中信號定義位于關(guān)鍵字ARCHITCTURE和BEGIN之間,用于對結(jié)構(gòu)內(nèi)部使用的信號,常數(shù),數(shù)據(jù)類型,函數(shù)進(jìn)行定義。注意:(1)這是在結(jié)構(gòu)體內(nèi)部定義,而不是實(shí)體內(nèi)部。(2)實(shí)體說明中定義I/O信號為外部信號,而結(jié)構(gòu)體定義的信號為內(nèi)部信號。例:結(jié)構(gòu)體的信號定義方法ARCHITECTUREstructuralOFmuxISSIGNALab:bit;SIGNALx:std_logic_vector(0to7);……BEGINENDstructural;--信號不必標(biāo)注模式IN,OUT第14頁,共33頁,2023年,2月20日,星期一ENTITYmuxISPORT(d0,d1:INBIT;Sel:INBIT;G:OUTBIT);ENDMUX;ARCHITECTUREdataflowOFmuxISBEGINg<=(D0ANDsel)OR(NOTselANDD1);ENDdataflow;例:二選一電路LIBRARYIEEE;
USEIEEE.STD_LOGIC.1164.ALL;
等效邏輯電路圖muxGSELD0D1mux--并行語句描述結(jié)構(gòu)體mux實(shí)體的真值表
SELDOD1
G
1xx
D0
0xx
D1第15頁,共33頁,2023年,2月20日,星期一LIBRARYIEEE;USEIEEEstd_logic_1164.ALL;ENTITYcomparatorISPORT(a,b:INstd_logic_vector(7downto0);g:OUTstd_logic);ENDcomparator;ARCHITECTUREbehavioralOFcomparatorISBEGINComp:PROCESS(a,b)BEGINIFa=bTHENG<=‘1’;ELSEG<=‘0’;ENDIF;ENDprocesscomp;ENDbehavioral;舉例:設(shè)計(jì)八位比較器實(shí)體庫,包說明結(jié)構(gòu)體進(jìn)程第16頁,共33頁,2023年,2月20日,星期一
3種方法描述結(jié)構(gòu)體
(1)行為描述法:采用進(jìn)程語句,順序描述被設(shè)計(jì)實(shí)體的行為。
(2)數(shù)據(jù)流描述法:采用進(jìn)程語句,順序描述數(shù)據(jù)流在控制流作用下被加工,處理,存儲的全過程。
(3)結(jié)構(gòu)描述法:采用并行處理語句描述設(shè)計(jì)實(shí)體內(nèi)的結(jié)構(gòu)組織和元件互連關(guān)系。
第17頁,共33頁,2023年,2月20日,星期一
1.行為描述法ARCHITECTURE
behavioral
OF
rsffBEGINq<=NOT(qbANDset);
qb<=NOT(qANDreset);END
behavioral;結(jié)構(gòu)體的行為描述表示輸入與輸出間轉(zhuǎn)換的關(guān)系,是對設(shè)計(jì)實(shí)體按算法的路徑來描述。行為描述在EDA工程中稱為高層次描述或高級描述。第18頁,共33頁,2023年,2月20日,星期一
2.結(jié)構(gòu)化描述
結(jié)構(gòu)體的結(jié)構(gòu)化描述給出了實(shí)體內(nèi)部結(jié)構(gòu)、它所包含的模塊或元件及其互連關(guān)系;以及與實(shí)體外部引線的對應(yīng)關(guān)系。ARCHITECTURE
structural
OF
rsff
ISCOMPONENT nand2 PORT(a,b:IN BIT; c:OUT BIT);ENDCOMPONENT;BEGINu0:nand2
PORT
MAP
(a=>set,b=>qb,c=>q);u1:nand2
PORT
MAP
(a=>reset,b=>q,c=>qb);END
structural;
第19頁,共33頁,2023年,2月20日,星期一3.數(shù)據(jù)流描述法 結(jié)構(gòu)體的數(shù)據(jù)流描述法反映了從輸入數(shù)據(jù)到輸出數(shù)據(jù)之間所發(fā)生的邏輯變換,或者說描述了數(shù)據(jù)流程的運(yùn)動路徑、運(yùn)動方向和運(yùn)動結(jié)果。LIBRARYIEEE;USEIEEEstd_logic_1164.ALL;ENTITYcomparatorISPORT(a,b:INstd_logic_vector(7downto0);g:OUTstd_logic);ENDcomparator;ARCHITECTURE
dataflow
OF
comparator
ISBEGINg<="1"when(a=b)else"0";ENDdataflow;第20頁,共33頁,2023年,2月20日,星期一總結(jié):從例子可以看出,VHDL語言由兩部分組成:第1部分為實(shí)體說明,第2部分為結(jié)構(gòu)體。實(shí)體描述VHDL程序結(jié)構(gòu)結(jié)構(gòu)體描述
1行為描述法
2數(shù)據(jù)流描述法
3結(jié)構(gòu)化描述法(1)設(shè)計(jì)實(shí)體用關(guān)鍵字ENTITY
來標(biāo)識,結(jié)構(gòu)體用ARCHITECTURE來標(biāo)識。(2)一個設(shè)計(jì)實(shí)體必須包含一個結(jié)構(gòu)體或含有多個結(jié)構(gòu)體第21頁,共33頁,2023年,2月20日,星期一(3)配置 用于在多構(gòu)造體中的實(shí)體中選擇構(gòu)造體,例如,在做RS觸發(fā)器的實(shí)體中使用了兩個構(gòu)造體,目的是研究各個構(gòu)造體描述的RS觸發(fā)器的行為性能如何,但是究竟在仿真中使用哪一個構(gòu)造體的問題就是配置問題。
配置語句格式:
CONFIGURATION配置名OF實(shí)體名IS[說明語句]END配置名;
描述層與層之間的關(guān)系以及實(shí)體與結(jié)構(gòu)之間的連接關(guān)系。第22頁,共33頁,2023年,2月20日,星期一默認(rèn)配置格式
CONFIGURATION配置名OF實(shí)體名IS FOR選配構(gòu)造體名
ENDFOR;
END配置名;例:兩個構(gòu)造體,可以用配置語句進(jìn)行設(shè)置:
CONFIGRATIONrsconOFrsIS//選擇構(gòu)造體rsff1 FORrsff1 ENDFOR; ENDrscon;第23頁,共33頁,2023年,2月20日,星期一
--結(jié)構(gòu)體rsff1ARCHITECTURErsff1OFrsISCOMPONENTnand2PORT(a,b:INBIT;c:OUTBIT);ENDCOMPONENT;BEGINU1:nand2PORTMAP(a=>set,b=>qb,c=>q);U2:nand2PORTMAP(a=>reset,b=>q,c=>qb);ENDrsff1;--結(jié)構(gòu)體rsff2
ARCHITECTURErsff2OFrsISBEGINq<=NOT(qbANDset);qb<=NOT(qANDreset);ENDrsff2--配置CONFIGRATIONrsconOFrsIS FORrsff1 ENDFOR; ENDrscon;--實(shí)體ENTITYrsISPORT(set,reset:INBIT;q,qb:BUFFERBIT);ENDrs;第24頁,共33頁,2023年,2月20日,星期一(4)庫(LIBRARY) 庫(Library)是用于存放預(yù)先編譯好的程序包(Package),程序包中定義了數(shù)據(jù)集合體、邏輯操作和元件等。主要是聲明在設(shè)計(jì)或?qū)嶓w中將用到的常數(shù),數(shù)據(jù)類型,元件及子程序等。使用格式:LIBRARY庫名;
USE庫名.程序包名.All;
例:LIBRARYIEEE
USEieee.std_logic_1164.all該例說明要使用IEEE庫中的1164包中所有項(xiàng)目第25頁,共33頁,2023年,2月20日,星期一在Max+plusⅡ系統(tǒng)中有4個庫能支持VHDL語言,它們分別是Std庫、IEEE庫、Altera庫和Lpm庫。IEEE庫中的程序包std_logic_1164定義了std_logic和std_logic_vector等數(shù)據(jù)類型。注意STD庫:STD庫是VHDL的標(biāo)準(zhǔn)庫,在庫中有名為STANDARD的包,還有TEXTIO包。若使用STANDARD包中的數(shù)據(jù)可以不按標(biāo)準(zhǔn)格式說明,但是若使用TEXTIO包,則需要按照如下格式說明:
LIBRARYSTD;
USESTD.TEXTIO.ALL庫的作用范圍:庫的作用范圍從一個實(shí)體說明開始到它所屬的結(jié)構(gòu)體、配置為止,當(dāng)有兩個實(shí)體時,第二個實(shí)體前要另加庫和包的說明。
第26頁,共33頁,2023年,2月20日,星期一 通常在一個實(shí)體中對數(shù)據(jù)類型、常量等進(jìn)行的說明只可以在一個實(shí)體中使用,為使這些說明可以在其它實(shí)體中使用,VHDL提供了程序包結(jié)構(gòu),包中羅列VHDL中用到的信號定義、常數(shù)定義、數(shù)據(jù)類型、元件語句、函數(shù)定義和過程定義,它是一個可編譯的設(shè)計(jì)單元,也是庫結(jié)構(gòu)中的一個層次,使用包時可以用USE語句說明。
例如:
USEIEEE.STD_LOGIC_1164.ALL
(5)程序包(PACKAGE)第27頁,共33頁,2023年,2月20日,星期一程序包由兩部分組成:程序包說明和程序包體程序包說明為程序包定義接口,聲明包中的數(shù)據(jù)類型、元件、函數(shù)。其方式與實(shí)體定義模塊接口非常相似。程序體規(guī)定程序的實(shí)際功能,存放說明中的函數(shù)和元件。其方式與結(jié)構(gòu)體語句方法相同。第28頁,共33頁,2023年,2月20日,星期一包結(jié)構(gòu)格式程序包說明:PACKAGE包名IS[說明語句]END包名包頭中列出所有項(xiàng)的名稱
程序包體:PACKAGEBODY包名IS[說明語句]END包名;包體給出各項(xiàng)的具體細(xì)節(jié)
第29頁,共33頁,2023年,2月20日,星期一程序包說明USESTD.LOGIC.ALLPACKAGElogicISTYPEthree_level_logicIS(‘0’
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國火鍋店連鎖經(jīng)營行業(yè)未來發(fā)展戰(zhàn)略及投資規(guī)劃分析報告
- 2025-2030年中國混凝土添加劑行業(yè)運(yùn)行狀況與前景趨勢分析報告
- 2025-2030年中國潤唇膏行業(yè)運(yùn)行動態(tài)及發(fā)展前景預(yù)測報告
- 2025-2030年中國活性碳酸鈣行業(yè)競爭狀況及發(fā)展趨勢分析報告
- 科技公司員工心理健康秋季關(guān)懷計(jì)劃
- 電商平臺物流成本與消費(fèi)者行為研究
- 2025-2030年中國有機(jī)茶產(chǎn)業(yè)競爭格局展望及投資策略分析報告
- 2025-2030年中國無刷直流電機(jī)行業(yè)十三五規(guī)劃及發(fā)展現(xiàn)狀分析報告
- 2025-2030年中國數(shù)碼相框行業(yè)市場運(yùn)行現(xiàn)狀及發(fā)展前景趨勢分析報告
- 2025-2030年中國搬家公司行業(yè)市場運(yùn)行動態(tài)及前景趨勢預(yù)測報告
- 可下載打印的公司章程
- 不吃路邊攤精品課件
- 《網(wǎng)絡(luò)服務(wù)器搭建、配置與管理-Linux(RHEL8、CentOS8)(微課版)(第4版)》全冊電子教案
- 心理評估與診斷簡介
- 無痛病房管理課件
- 讓孩子變成學(xué)習(xí)的天使——由《第56號教室的奇跡》讀書分享
- 球泡檢驗(yàn)標(biāo)準(zhǔn)
- 公安筆錄模板之詢問嫌疑人(書面?zhèn)鲉局伟舶讣?
- 振動分析基礎(chǔ)講義1
- 記賬憑證匯總表excel模板
- 鄧麗君經(jīng)典歌曲30首簡譜(共33頁)
評論
0/150
提交評論