




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
EDA技術(shù)實用教程第9章
VHDL結(jié)構(gòu)與要素
9.1實體
9.1.1實體語句結(jié)構(gòu)
9.1實體
9.1.2參數(shù)傳遞說明語句
GENERIC語句是一種常數(shù)參數(shù)的端口界面,為所說明的環(huán)境提供了一種靜態(tài)信息通道。
類屬與常數(shù)不同:常數(shù)只能從設(shè)計實體的內(nèi)部得到賦值,且不能再改變;而類屬的值可以由設(shè)計實體外部提供。因此設(shè)計者可以從外面通過類屬參量的重新設(shè)定而容易地改變一個設(shè)計實體或一個元件的內(nèi)部電路結(jié)構(gòu)和規(guī)模。
被傳遞的參數(shù)(又稱類屬參量)可以由設(shè)計實體外部提供,并可以重新設(shè)定。
GENERIC([常數(shù)名:數(shù)據(jù)類型[:設(shè)定值]{;常數(shù)名:數(shù)據(jù)類型[:設(shè)定值]});9.1實體
9.1.2參數(shù)傳遞說明語句9.1實體
9.1.2參數(shù)傳遞說明語句
9.1實體
9.1.3參數(shù)傳遞映射語句
GENERICMAP(類屬表)
參數(shù)傳遞映射語句與端口映射語句PORTMAP()具有相似的功能和使用方法,它描述了相應(yīng)元件類屬參數(shù)間的連接和傳送方式。它可用于設(shè)計從外部端口改變元件內(nèi)部參數(shù)或結(jié)構(gòu)規(guī)模的元件,又稱類屬元件。
9.1實體
9.1.3參數(shù)傳遞映射語句
9.1實體
9.1.3參數(shù)傳遞映射語句
9.1實體
9.1.3參數(shù)傳遞映射語句
9.1實體
9.1.4端口說明語句9.2結(jié)構(gòu)體
對數(shù)據(jù)類型、常數(shù)、信號、子程序和元件等元素的說明部分
描述實體邏輯行為的、以各種不同的描述風(fēng)格表達(dá)的功能描述語句
以元件例化語句為特征的外部元件(設(shè)計實體)端口間的連接。
結(jié)構(gòu)體9.2結(jié)構(gòu)體1.結(jié)構(gòu)體的一般語言格式
2.結(jié)構(gòu)體說明語句9.2結(jié)構(gòu)體3.功能描述語句結(jié)構(gòu)●進程語句●信號賦值語句●子程序調(diào)用語句●元件例化語句9.3VHDL子程序
子程序(SUBPROGRAM)是一個VHDL程序模塊,它只能使用順序語句。子程序不能像進程那樣可以從本結(jié)構(gòu)體的并行語句或進程結(jié)構(gòu)中直接讀取信號或象信號賦值。子程序的使用方式只能通過子程序調(diào)用及與子程序的界面端口進行通信。子程序可以在程序包、結(jié)構(gòu)體和進程中定義,只有在程序包中定義過的子程序才可以被其他不同的設(shè)計調(diào)用。子程序分為兩大類:過程(PROCEDURE)和函數(shù)(FUNCTION)。9.3子程序
9.3.1函數(shù)
函數(shù)參數(shù)的對象類型只能包括常量和信號,默認(rèn)為常量。參數(shù)的端口模式只能是in,因此參數(shù)端口模式可以省略。函數(shù)的返回值只能有一個。9.3子程序
9.3.1函數(shù)
接下頁9.3子程序
9.3.1函數(shù)
接上頁9.3子程序
9.3.1函數(shù)
9.3子程序
9.3.1函數(shù)
9.3子程序
9.3.2重載函數(shù)VHDL允許同樣名稱的函數(shù)可以用不同的數(shù)據(jù)類型作為它的參數(shù)定義多次,以此定義的函數(shù)稱為重載函數(shù)。接下頁9.3子程序
9.3.2重載函數(shù)接上頁接下頁9.3子程序
9.3.2重載函數(shù)接上頁9.3子程序
9.3.2重載函數(shù)接下頁9.3子程序
9.3.2重載函數(shù)接上頁9.3子程序
9.3.3轉(zhuǎn)換函數(shù)
9.3子程序
9.3.3轉(zhuǎn)換函數(shù)
9.3子程序
9.3.3轉(zhuǎn)換函數(shù)
9.3子程序
9.3.3轉(zhuǎn)換函數(shù)
接下頁9.3子程序
9.3.3轉(zhuǎn)換函數(shù)
接上頁9.3子程序
9.3.4決斷函數(shù)決斷函數(shù)不可綜合,主要用于VHDL仿真中解決信號被多個驅(qū)動源驅(qū)動時,驅(qū)動信號間的競爭問題。當(dāng)多個驅(qū)動源都同時產(chǎn)生一個處理事項,只有其中一個驅(qū)動源的信號值能賦給被驅(qū)動的信號。決斷函數(shù)輸入一般是單一變量,多個驅(qū)動源的信號值組成非限定數(shù)組,多個信號驅(qū)動源,其信號值組成的未限定數(shù)組可依次類推。決斷函數(shù)調(diào)用后返回的是單一信號值,稱決斷信號值。9.3子程序
9.3.5過程9.3子程序
9.3.5過程信號流向方向若未指定則默認(rèn)為IN。只定義了IN模式而未定義目標(biāo)參量的數(shù)據(jù)類型,則默認(rèn)為常量CONSTANT;只定義了OUT或INOUT模式而未定義目標(biāo)參量的數(shù)據(jù)類型,則默認(rèn)為變量。9.3子程序
9.3.5過程9.3子程序
9.3.5過程9.3子程序
9.3.5過程9.3子程序
9.3.6重載過程
函數(shù)和過程的區(qū)別函數(shù)和過程的不同在于:函數(shù)只有一個輸出,只能通過函數(shù)體內(nèi)的RETURN語句來實現(xiàn),函數(shù)體內(nèi)不能有信號賦值語句;而過程卻可以有不止一個輸出,而且是通過過程體內(nèi)的信號賦值語句或者變量賦值語句來實現(xiàn)的,過程體內(nèi)的RETURN語句沒有用處,因此不少過程都將其省略了。函數(shù)的調(diào)用只能通過表達(dá)式來實現(xiàn),過程的調(diào)用則是通過過程調(diào)用語句來實現(xiàn)的。9.4VHDL庫9.4.1庫的種類1.IEEE庫
std_logic_1164Numeric_BitNumeric_StdMath_RealMath_Complex2.STD庫3.WORK庫
4.VITAL庫9.4VHDL庫9.4.2庫的用法
9.5程序包
(其他設(shè)計實體共享)常數(shù)說明
VHDL數(shù)據(jù)類型說明元件定義子程序定義程序包的一般語句結(jié)構(gòu)如下:
PACKAGE程序包名IS--程序包首
程序包首說明部分
END程序包名;PACKAGEBODY程序包名IS--程序包體
程序包體說明部分以及包體內(nèi)
END程序包名;9.5VHDL程序包
9.5VHDL程序包
9.5VHDL程序包
(1)STD_LOGIC_1164程序包。(2)STD_LOGIC_ARITH程序包。(3)STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包。(4)STANDARD和TEXTIO程序包。9.6配置9.7VHDL文字規(guī)則9.7.1數(shù)字整數(shù):
實數(shù)
:
9.7VHDL文字規(guī)則9.7.2字符串
“B”、“O”、“X”9.7VHDL文字規(guī)則9.7.3標(biāo)識符及其表述規(guī)則9.7VHDL文字規(guī)則9.7.4下標(biāo)名9.8數(shù)據(jù)類型●標(biāo)量型(ScalarType):包括實數(shù)類型、整數(shù)類型、枚舉類型、時間類型?!駨?fù)合類型(CompositeType):可以由小的數(shù)據(jù)類型復(fù)合而成,如可由標(biāo)量型復(fù)合而成。復(fù)合類型主要有數(shù)組型(Array)和記錄型(Record)?!翊嫒☆愋?AccessType):為給定的數(shù)據(jù)類型的數(shù)據(jù)對象提供存取方式?!裎募愋?FilesType):用于提供多值存取類型。9.8數(shù)據(jù)類型9.8.1VHDL預(yù)定義數(shù)據(jù)類型
1.布爾類型2.位數(shù)據(jù)類型3.位矢量類型9.8數(shù)據(jù)類型9.8.1VHDL預(yù)定義數(shù)據(jù)類型
4.字符類型
5.整數(shù)類型
6.實數(shù)類型-2147483647~+21474836479.8數(shù)據(jù)類型9.8.1VHDL預(yù)定義數(shù)據(jù)類型
7.字符串類型8.時間類型9.8數(shù)據(jù)類型9.8.1VHDL預(yù)定義數(shù)據(jù)類型
9.文件類型
9.8數(shù)據(jù)類型9.8.2IEEE預(yù)定義標(biāo)準(zhǔn)邏輯位與矢量1.標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型2.標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類型
9.8數(shù)據(jù)類型9.8.3其他預(yù)定義標(biāo)準(zhǔn)數(shù)據(jù)類型
1.無符號數(shù)據(jù)類型9.8數(shù)據(jù)類型9.8.3其他預(yù)定義標(biāo)準(zhǔn)數(shù)據(jù)類型
2.有符號數(shù)據(jù)類型
9.8數(shù)據(jù)類型9.8.4數(shù)據(jù)類型轉(zhuǎn)換示例9.8數(shù)據(jù)類型9.8.4數(shù)據(jù)類型轉(zhuǎn)換示例9.8數(shù)據(jù)類型9.8.4數(shù)據(jù)類型轉(zhuǎn)換示例9.8數(shù)據(jù)類型9.8.4數(shù)據(jù)類型轉(zhuǎn)換示例9.8數(shù)據(jù)類型9.8.4數(shù)據(jù)類型轉(zhuǎn)換示例9.8數(shù)據(jù)類型9.8.4數(shù)據(jù)類型轉(zhuǎn)換示例9.9VHDL操作符
9.9.1邏輯操作符
邏輯操作符(LogicalOperator)關(guān)系操作符(RelationalOperator)算術(shù)操作符(ArithmeticOperator)符號操作符(SignOperator)重載操作符(OverloadingOperator)。9.9VHDL操作符
9.9.1邏輯操作符
9.9VHDL操作符
9.9.1邏輯操作符
9.9VHDL操作符
9.9.1邏輯操作符
9.9VHDL操作符
9.9.1邏輯操作符
9.9VHDL操作符
9.9.2關(guān)系操作符“=”(等于)、“/=”(不等于)、“>”(大于)、“<”(小于)、“>=”(大于等于)和“<=”(小于等于)9.9VHDL操作符
9.9.2關(guān)系操作符9.9VHDL操作符
9.9.2關(guān)系操作符9.9VHDL操作符
9.9.3算術(shù)操作符
9.9VHDL操作符
9.9.3算術(shù)操作符
1.求和操作符9.9VHDL操作符
9.9.3算術(shù)操作符
1.求和操作符9.9VHDL操作符
9.9.3算術(shù)操作符
2.求積操作符
*(乘)、/(除)、MOD(取模)、RED(取余)3.符號操作符“+”和“-”
4.混合操作符
“**”“ABS”9.9VHDL操作符
9.9.3算術(shù)操作符
5.移位操作符SLL、SRL、SLA、SRA、ROL、ROR習(xí)題9-1說明實體、設(shè)計實體的概念。9-2舉例說明GENERIC說明語句和GENERIC映射語句有何用處。9-3說明端口模式INOUT和BUFFER有何異同點。9-4什么是重載?重載函數(shù)有何用處?9-5在STRING、TIME、REAL、BIT數(shù)據(jù)類型中,VHDL綜合器支持哪些類型?9-6詳細(xì)說明例9-29中的語句作用和程序?qū)崿F(xiàn)的功能。9-7表達(dá)式C<=A+B中,A、B和C的數(shù)據(jù)類型都是STD_LOGIC_VECTOR,是否能直接進行加法運算?說明原因和解決方法。9-8VHDL中有哪三種數(shù)據(jù)對象?詳細(xì)說明它們的功能特點以及使用方法,舉例說明數(shù)據(jù)對象與數(shù)據(jù)類型的關(guān)系。9-9能把任意一種進制的值向一整數(shù)類型的數(shù)據(jù)對象賦值嗎?如果能,怎樣做?習(xí)題9-10判斷下列VHDL標(biāo)識符是否合法,如果有誤則指出原因:16#0FA#,10#12F#,8#789#,8#356#,2#0101010#74HC245,\74HC574\,CLR/RESET,\IN4/SCLK\,D100%9-11數(shù)據(jù)類型BIT、INTEGER和BOOLEAN分別定義在哪個庫中?哪些庫和程序包總是可見的?9-12函數(shù)與過程的設(shè)計與功能有什么區(qū)別?調(diào)用上有什么區(qū)別?9-13回答有關(guān)BIT和BOOLEAN數(shù)據(jù)類型的問題:(1)解釋BIT和BOOLEAN類型的區(qū)別。(2)對于邏輯操作應(yīng)使用哪種類型?(3)關(guān)系操作的結(jié)果為哪種類型?(4)IF語句測試的表達(dá)式是哪種類型?習(xí)題9-14運算符重載函數(shù)通常要調(diào)用轉(zhuǎn)換函數(shù),以便能夠利用已有的數(shù)據(jù)類型。下面給出一個新的數(shù)據(jù)類型AGE,并且下面的轉(zhuǎn)換函數(shù)已經(jīng)實現(xiàn):functionCONV_INTEGER(ARG:AGE)returnINTEGER;仿照本章中的示例,利用此函數(shù)編寫一個“+”運算符重載函數(shù),支持下面的運算:SIGNALa,c:AGE;...c<=a+20;9-15用兩種方法設(shè)計8位比較器,比較器的輸入是兩個待比較的8位數(shù)A=[A7..A0]和B=[B7..B0],輸出是D、E、F。當(dāng)A=B時D=1;當(dāng)A>B時E=1;當(dāng)A<B時F=1。第一種設(shè)計方案是常規(guī)的比較器設(shè)計方法,即直接利用關(guān)系操作符進行編程設(shè)計;第二種設(shè)計方案是利用減法器來完成,通過減法運算后的符號和結(jié)果來判別兩個被比較值的大小。對兩種設(shè)計方案的資源耗用情況進行比較,并給以解釋。9-16利用循環(huán)語句和移位操作符實現(xiàn)移位相加方式的純組合電路8位乘法器設(shè)計。實驗與設(shè)計
9-1樂曲硬件演奏電路設(shè)計(1)實驗?zāi)康模海?)實驗原理:
實驗與設(shè)計
9-1樂曲硬件演奏電路設(shè)計(1)實驗?zāi)康模海?)實驗原理:
實驗與設(shè)計
9-1樂曲硬件演奏電路設(shè)計(3)實驗內(nèi)容1:(4)實驗內(nèi)容2:(5)實驗內(nèi)容3:(6)實驗內(nèi)容4:(7)實驗內(nèi)容5:(8)實驗內(nèi)容6:(9)實驗內(nèi)容7:(10)實驗報告:5E+系統(tǒng)的演示文件:/KX_7C5EE+/EXPERIMENTs/EXP4_Music/。
實驗與設(shè)計
9-1樂曲硬件演奏電路設(shè)計(3)實驗內(nèi)容1:(4)實驗內(nèi)容2:(5)實驗內(nèi)容3:(6)實驗內(nèi)容4:(7)實驗內(nèi)容5:(8)實驗內(nèi)容6:(9)實驗內(nèi)容7:(10)實驗報告:5E+系統(tǒng)的演示文件:/KX_7C5EE+/EXPERIMENTs/EXP4_Music/。
實驗與設(shè)計
9-1樂曲硬件演奏電路設(shè)計(3)實驗內(nèi)容1:(4)實驗內(nèi)容2:(5)實驗內(nèi)容3:(6)實驗內(nèi)容4:(7)實驗內(nèi)容5:(8)實驗內(nèi)容6:(9)實驗內(nèi)容7:(10)實驗報告:5E+系統(tǒng)的演示文件:/KX_7C5EE+/EXPERIMENTs/EXP4_Music/。
實驗與設(shè)計
9-1樂曲硬件演奏電路設(shè)計(3)實驗內(nèi)容1:(4)實驗內(nèi)容2:(5)實驗內(nèi)容3:(6)實驗內(nèi)容4:(7)實驗內(nèi)容5:(8)實驗內(nèi)容6:(9)實驗內(nèi)容7:(10)實驗報告:5E+系統(tǒng)的演示文件:/KX_7C5EE+/EXPERIMENTs/EXP4_Music/。
實驗與設(shè)計
9-2數(shù)字彩色液晶顯示控制電路設(shè)計(1)實驗任務(wù)1:基于5E+系統(tǒng)的基本控制演示示例是:/KX_7C5EE+/EXPERIMENTs/EXP13_COLOR_LCD/(2)實驗任務(wù)2:(3)實驗任務(wù)3:(4)實驗任務(wù)4:(5)實驗任務(wù)5:(6)實驗任務(wù)6:演示示例:/KX_7C5EE+/DEMOs/EXPL9_Super_Mario2/,和/DEMOs/EXP7_LCD_light_GAME/。實驗與設(shè)計
9-3GPS應(yīng)用的通信電路設(shè)計實驗任務(wù):參考GPS模塊使用文件:/KX_7C5EE+/GPS文件。常用的GPS模塊是UART通信方式??梢杂脙煞N方式讀取GPS模塊中的數(shù)據(jù):1、軟件方式??梢愿鶕?jù)實驗6-8,使用FPGA中的8051核與GPS通信,并將數(shù)據(jù)用液晶顯示出來;2、硬件方式,即不使用任何CPU??梢愿鶕?jù)實驗7-6的原理設(shè)計UART硬件特性模塊,讀取GPS模塊的數(shù)據(jù),并顯示于數(shù)碼管或液晶屏上。演示示例:/KX_7C5EE+/EXPERIMENTs/EXP16_KX8051_FTEST_RS232/和/EXP17_KX8051_GPS_FTEST/。
實驗與設(shè)計
9-3GPS應(yīng)用的通信電路設(shè)計實驗任務(wù):演示示例:/KX_7C5EE+/EXPERIMENTs/EXP16_KX8051_FTEST_RS232/和/EXP17_KX8051_GPS_FTEST/。
9-4VGA動畫圖像顯示控制電路設(shè)計實
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行裝修環(huán)保驗收報告
- 鋼材采購合同模板范本
- 2024泰州市姜堰區(qū)江淮職業(yè)高級中學(xué)工作人員招聘考試及答案
- 2024滿洲里市中等職業(yè)技術(shù)學(xué)校工作人員招聘考試及答案
- 2024湖南省懷化高級技工學(xué)校工作人員招聘考試及答案
- 海爾購銷合同服務(wù)條款
- 酒店住宿服務(wù)合同
- 零售業(yè)收銀系統(tǒng)定制合同協(xié)議書
- 精英教育服務(wù)合同協(xié)議
- 店鋪分割及財產(chǎn)分配的離婚合同書
- 病歷書寫(門急診病歷)
- 【基于單片機的電子密碼鎖設(shè)計(論文)10000字】
- 湖南省長沙市2024年中考地理試題
- 電磁場與電磁波(第五版)完整全套教學(xué)課件
- 蜘蛛開店第二課時 教案
- 模擬試卷:2023-2024學(xué)年八年級下學(xué)期語文期中模擬考試(考試版A4)【測試范圍:1-3單元】(廣東深圳專用)
- 零星維修工程投標(biāo)方案(技術(shù)方案)
- DBJ04∕T 390-2019 基坑工程裝配式鋼支撐技術(shù)標(biāo)準(zhǔn)
- 痕跡檢驗練習(xí)題
- 2024年山東省青島市中考數(shù)學(xué)試卷(附答案)
- 《第1節(jié)-原子結(jié)構(gòu)與元素性質(zhì)》(第1課時)-課件
評論
0/150
提交評論