歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

VHDL語言的程序結構.ppt

  • 資源ID:8628423       資源大?。?span id="eimnirp" class="font-tahoma">649.55KB        全文頁數(shù):76頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

VHDL語言的程序結構.ppt

1 7 2VHDL語言的程序結構 第7章VHDL語言基礎 2 1 USE定義區(qū) 定義元件庫 2 PACKAGE定義區(qū) 定義使用哪些自定義元件庫 3 ENTITY定義區(qū) 定義電路實體的外觀 I O接口的規(guī)格 4 ARCHITECTRUE定義區(qū) 描述電路內部的功能 說明電路執(zhí)行什么動作或功能 5 CONFIGURATION定義區(qū) 描述各種設計實體和元件之間的連接關系以及設計實體和結構體之間的連接關系 第7章VHDL語言基礎 3 VHDL基本結構 第7章VHDL語言基礎 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYmux21ISPORT a b INSTD LOGIC s INSTD LOGIC y OUTSTD LOGIC ENDENTITYmux21 ARCHITECTUREbehaveOFmux21ISBEGINPROCESS a b s BEGINIFs 0 THENy a ELSEy b ENDIF ENDPROCESS ENDARCHITECTUREbehave IEEE說明 自定義元件庫 定義一個實體 描述輸入輸出 信號 結構體說明 4 1 庫 Library 庫是經(jīng)編譯后的數(shù)據(jù)的集合 存放包集合定義 實體定義 結構體定義和配置定義 庫的功能類似于UNIX和MS DOS操作系統(tǒng)中的目錄 庫中存放設計的數(shù)據(jù) 在VHDL中 庫的說明總放在設計單元的最前面 庫中的各個設計單元可以用作進行其他設計的資源 一個設計可以使用多個庫中的設計單元 7 2 1庫 第7章VHDL語言基礎 5 1 庫的使用首先在設計的開頭說明要引用的庫 然后使用use子句指明要使用庫中的哪一個設計單元 其書寫格式為 Library庫名 Use庫名 程序包名 all 其中 程序包名就是實際設計要使用的庫中的設計單元 all表示使用程序包中的所有項目 第7章VHDL語言基礎 6 引用庫和程序包中的說明語句有以下4種形式 假定設計實體中的信號類型為std logic 其類型說明在ieee庫的std logic 1164程序包中定義 形式一 Libraryieee Entityand2isPort a inieee Std logic 1164 Std logic b inieee Std logic 1164 Std logic c outieee Std logic 1164 Std logic Endand2 庫說明 程序包 數(shù)據(jù)類型 第7章VHDL語言基礎 7 形式2 Libraryieee Useieee all Entityand2isPort a inStd logic 1164 Std logic b inStd logic 1164 Std logic c outStd logic 1164 Std logic Endand2 形式3 Libraryieee Useieee std logic 1164 all Entityand2isPort a instd logic b instd logic c outstd logic Endand2 第7章VHDL語言基礎 8 引用庫和程序包中的說明語句有以下4種形式 假定設計實體中的信號類型為std logic 其類型說明在ieee庫的std logic 1164程序包中定義 形式4 Libraryieee Useieee std logic 1164 std logic Entityand2isPort a instd logic b instd logic c outstd logic Endand2 第7章VHDL語言基礎 9 2 庫的種類VHDL提供的庫可分為兩大類 設計庫 對當前設計是永遠可見的 不需在程序開頭對它們進行說明 一般包括std庫和work庫 資源庫 用來存放常規(guī)元件和常用模塊的庫 在使用時要進行說明 資源庫的內容與廠商直接相關 現(xiàn)在的VHDL廠商和EDA工具廠商都有自己的資源庫 其中含有廠商自定義的程序包 應用最廣泛的資源庫是ieee庫 vital庫和用戶自定義的庫 第7章VHDL語言基礎 10 1 std庫是VHDL的標準庫 包含程序包standard和textio 程序包standard中定義了bit bit vector character和time等數(shù)據(jù)類型 程序包textio主要包含了對文本文件進行讀寫操作的過程和函數(shù) 注意 使用程序包textio時要對庫和程序包進行說明 Librarystd Usestd textio all 使用程序包standard時 由于VHDL規(guī)定standard程序包總是可見的 因此不必進行說明 第7章VHDL語言基礎 11 2 work庫 是VHDL的工作庫 在編譯一VHDL的時候 默認其保存在work庫中 因此work庫可以用來臨時保存設計人員以前編譯過的元件和模塊 也可以通過該庫來使用其中的元件和模塊 VHDL標準中規(guī)定了work庫也是永遠可見的 因此在使用work庫的時候不需要對它進行說明 第7章VHDL語言基礎 12 3 ieee庫 是應用最廣泛的資源庫 主要包括程序包std logic 1164 numeric bit numeric std math complex和math real 其中程序包std logic 1164 numeric bit numeric std是ieee標準化組織認可的程序包 現(xiàn)在有些公司 如synopsys公司提供了程序包std logic arith std logic signed和std logic unsigned等 雖沒得到ieee標準化組織的認可 但仍然定義在ieee庫中 使用ieee庫時必須進行說明 Libraryieee Useieee std logic 1164 all 第7章VHDL語言基礎 13 4 vital庫 是應用比較廣泛的資源庫 主要包括程序包vital timing和vital primitives 其中vital timing是一個時序程序包 vital primitives是一個基本元件程序包 它們可以提高VHDL門級時序模擬精度 5 用戶自定義庫 用來存放設計中共用的一些程序包 這是設計人員自己建立的資源庫 可以提高設計的靈活性 在VHDL的開頭要對庫進行說明 第7章VHDL語言基礎 14 第7章VHDL語言基礎 VHDL設計中的基本單元就是設計實體 它用以描述完整系統(tǒng) 電路板 芯片 邏輯單元或門電路 設計實體的組成部分 實體說明 EntityDeclaration 描述一個設計的外貌 即對外的輸入輸出接口以及一些用于結構體的參數(shù)定義 結構體或構造體 ArchitectureBody 描述的是設計的行為和結構 指定輸入和輸出之間的行為 7 2 2VHDL程序的實體 15 設計實體 實體說明和結構體之間的關系 設計實體 結構體1 結構體2 第7章VHDL語言基礎 例 一個二輸入門電路的VHDL描述 Entityand gateisPort a inbit b inbit c outbit Endand gate Architecturebehaveofand gateisBeginc aandb Endbehave 保留字 實體名 實體說明 結構體 說明 VHDL是不區(qū)分大小寫的 可根據(jù)習慣書寫 17 2 一般格式ENTITY實體名IS GENERIC 類型表 PORT 端口表 實體說明部分 BEGIN實體語句部分 END ENTITY 實體名 一 實體說明 ENTITYor gateISGENERIC delay time 1ns PORT a inbit b inbit c outbit ENDor gate 第7章VHDL語言基礎 1 功能 描述設計模塊的輸入 輸出信號或引腳 并給出設計模塊與外界的接口 實體類似一個 黑盒 實體描述了 黑盒 的輸入輸出口 18 實體名實際上是器件名 最好根據(jù)相應的電路功能確定 如4位2進制計數(shù)器用counter4b 8位加法器用add8b 3 8譯碼器用ym 38 實體名必須與文件名相同 否則無法編譯 實體名不能用工具庫中定義好的元件名 實體名不能用中文 也不能用數(shù)字開頭 實體名 第7章VHDL語言基礎 19 二 類型說明 1 作用為設計實體和其外部環(huán)境通信的靜態(tài)信息提供通道 可以定義端口的大小 實體中元件的數(shù)目以及實體的定時特性等 2 一般格式GENERIC CONSTANT 名字表 IN 子類型標識 靜態(tài)表達式 第7章VHDL語言基礎 ENTITYnand2ISGENERIC t rise time 1ns t fall time 1ns PORT a inbit b inbit c outbit ENDnand2 20 使用類屬參數(shù)說明語句易于使設計具有通用性 ENTITYand gateISGENERIC delay time PORT a inbit b inbit c outbit ENDand gate ARCHITECTUREbehaveOFand gateISBEGINc aandbafter delay ENDbehave 第7章VHDL語言基礎 例 在電路中多次使用二輸入與門電路 但延遲時間不同 二輸入與門電路的VHDL程序 現(xiàn)在要求實現(xiàn)這樣一個設計 由三個二輸入與門電路組成下圖所示的四輸入與門功能 要求門1的延遲時間為5ns 門2的延遲時間為6ns 門2的延遲時間為7ns 在設計過程中通常遇到一些參數(shù)不確定的情況 參數(shù)是待定的 在模擬時 只要用GENERICMAP語句將待定參數(shù)初始化即可 22 ENTITYor3ISPORT a b c inbit q outbit ENDor3 ARCHITECTRUEbehaveOFor3ISCOMPONENTand gateGENERIC delay time PORT a b inbit c outbit ENDCOMPONENT SIGNALq1 q2 bit BEGINU1 and gateGENERICMAP 5ns PORTMAP a b q1 U2 and gateGENERICMAP 6ns PROTMAP c d q2 U3 and gateGENERICMAP 7ns PROTMAP q1 q2 q ENDbehave 第7章VHDL語言基礎 23 三 端口說明 1 作用是對設計實體與外部接口的描述 是設計實體和外部環(huán)境動態(tài)通信的通道 其功能對應于電路圖符號的一個引腳 2 一般格式PORT 端口名 端口模式數(shù)據(jù)類型 端口名 端口模式數(shù)據(jù)類型 第7章VHDL語言基礎 24 三 端口說明 1 端口名稱是端口的標識符 是賦予每個外部引腳的名稱由字母 數(shù)字和下劃線組成 其命名規(guī)則為 1 第一個字符必須是字母 2 下劃線不能連用 3 最后一個字符不能是下劃線 4 不區(qū)分大小寫 5 命名不能與保留字相同 如 不合法的例子 clk 8mclk data bus buffer data 第7章VHDL語言基礎 25 輸入IN 輸入信號的驅動源由外部向該設計實體內進行 主要用于時鐘輸入 控制輸入和單向的數(shù)據(jù)輸入 輸出OUT 允許數(shù)據(jù)流從實體內部輸出 用于計數(shù)輸出 單方向數(shù)據(jù)輸出 設計實體產(chǎn)生的控制其他實體的信號等 緩沖BUFFER 允許內部引用該端口的信號 既能用于輸出 也可用于反饋 只能連接內部信號和具有緩沖模式的端口 雙向模式INOUT 可以代替IN OUT BUFFER 第7章VHDL語言基礎 2 端口模式 用來說明數(shù)據(jù) 信號通過該端口的傳輸方向 模式有IN OUT BUFFER INOUT 26 說明 1 雙向模式可以代替輸入 輸出和緩沖模式的任何一種 2 out 和 buffer 都可以定義輸出端口 圖 a 只能用于輸出 圖 b 構造體內部也要使用該信號時 只能定義成 buffer 其區(qū)別 3 數(shù)據(jù)類型 布爾型 boolean 位型 bit 位矢量型 bit vector 整數(shù)型 integer 枚舉型 物理類型等10種數(shù)據(jù)類型 在邏輯電路中用到兩種 bit 位 和bit vector 位向量 1 bit 為位邏輯數(shù)據(jù)類型 信號取值是邏輯值 1 和 0 2 bit vector 取值是一組二進制位的值 如 8位數(shù)據(jù)總線數(shù)端口Port d0 d1 sel inbit q outbit bus outbit vector 7downto0 3 在VHDL程序中 設計人員常使用的數(shù)據(jù)類型為IEEE STD Logic 1164程序包所給定的 標準邏輯類型STD Logic STD Logic vector LibraryIEEE UseIEEE STD Logic 1164 all EntitymuisPort d0 d1 sel inSTD Logic q outSTD Logic bus outSTD Logic vector 7downto0 28 主要用于定義該設計實體接口中的公共信息 比如定義新的數(shù)據(jù)類型和常量定義等 四 實體說明部分 五 實體語句部分 是設計實體接口的共同部分 只能由如下并行語句構成 并行斷言語句 并行過程調用語句和被動進程語句等 這些語句應該是被動語句 即在語句中不含有信號賦值 第7章VHDL語言基礎 ENTITYexampleISPORT a b INSTD LOGIC c OUTSTD LOGIC TYPEcolourISARRAY 6downto0 ofSTD LOGIC ENDexample 實體舉例 ENTITYblack boxISGeneric constantwidth integer 7 PORT clk rst instd logic d instd logic vector widthdownto0 q outstd logic vector widthdownto0 co outstd logic ENDblack box 練習 編寫包含以下內容的實體代碼 端口D為12位輸入總線 端口OE和CLK都是1位輸入 端口AD為12位雙向總線 端口A為12位輸出總線 端口INT是1位輸出 端口AS是一位輸出同時被用作內部反饋 練習答案 Libraryieee Useieee std logic 1164 ALL Entitymy designisPORT d instd logic vector 11downto0 oe clk in std logic ad inoutstd logic vector 11downto0 a outstd logic vector 7downto0 int outstd logic as bufferstd logic Endmy design 32 一 結構體的作用 描述了基本設計單元 實體 的結構 行為 元件及內部連接關系 也就是說它定義了設計實體的功能 規(guī)定了設計實體的數(shù)據(jù)流程 制定了實體內部元件的連接關系 通過若干并行語句來描述設計實體的邏輯功能 行為描述 或內部電路結構 結構描述 從而建立設計實體輸出與輸入之間的關系 一個設計實體可以有多個結構體 7 3 3VHDL程序的結構體 第7章VHDL語言基礎 33 二 結構體的一般格式 ARCHITECTURE結構體名OF實體名IS定義語句 內部信號 常數(shù) 數(shù)據(jù)類型 函數(shù)定義BEGIN 并行處理語句 進程語句 END結構體名 第7章VHDL語言基礎 ARCHITECTUREaOF entity nameISSIGNALsignal name STD LOGIC SIGNALsignal name STD LOGIC BEGINENDa 結構體說明 并行處理語句 ProcessStatement ConcurrentProcedureCall ConcurrentSignalAssignment ConditionalSignalAssignment SelectedSignalAssignment ComponentInstantiationStatement GenerateStatement 35 1 結構體命名結構體名由設計者自行定義 OF后面的實體名指明了該結構體所對應的是哪個實體 由于一個設計有行為描述 數(shù)據(jù)流描述和結構描述3種方式 一般建議用behave dataflow structure為結構體命名 2 結構體說明語句結構體說明語句必須放在關鍵詞ARCHITECTURE和BEGIN之間 用于對結構體內部將要使用的信號 常數(shù) 數(shù)據(jù)類型 元件 函數(shù)和過程加以說明 最常見的是對內部流動的信號的定義 但不能定義變量 實體說明中定義的信號是外部信號 而結構體定義的信號為該結構體的內部信號 它只能用于這個結構體中 結構體中的信號定義和端口說明一樣 應有信號名稱和數(shù)據(jù)類型定義 因為它是內部連接用的信號 因此不需要方向說明 第7章VHDL語言基礎 36 3 結構體功能描述語句結構體功能描述語句位于BEGIN和END之間 具體地描述了構造體的行為及其連接關系 結構體的功能描述語句可以含有5種不同類型的并行語句 每一語句結構內部可以使用并行語句 也可以是順序語句 第7章VHDL語言基礎 ENTITYhalf adderISPORT x y INSTD LOGIC s c OUTSTD LOGIC ENDhalf adder ARCHITECTUREdataflowOFhalf adderISBEGINs xxory c xandy ENDdataflow 37 并行處理語句 并行處理語句具體地描述了結構體的行為和結構 并行處理語句位于結構體中begin和end之間 并行語句有五種類型 可以把它們看成結構體的五種子結構 這五種語句結構本身是并行語句 但內部可能含有并行運行的邏輯描述語句或順序運行的邏輯描述語句 如進程內部包含的即為順序語句 五種語句結構分別為塊語句 進程語句 信號賦值語句 子程序調用語句和元件例化語句 例 進程 process 語句 進程標號 PROCESS 敏感信號表 is 進程語句說明部分 BEGIN ENDPROCESS 進程標號 38 三 結構體的四種描述形式 第7章VHDL語言基礎 1 行為描述形式2 數(shù)據(jù)流描述形式3 結構描述形式4 混合描述形式 39 1 行為描述形式 類似于數(shù)字中的真值表 就是對系統(tǒng)數(shù)學模型的描述 常采用算術運算 關系運算和慣性延時等 主要用于系統(tǒng)數(shù)學模型的仿真或者是系統(tǒng)工作原理的仿真 其優(yōu)點是無須知道具體電路的結構 只需要一組狀態(tài)來描述即可 即只描述所希望電路的功能或者電路行為 輸入輸出間轉換的行為 而沒有指明或涉及實現(xiàn)這些行為的硬件結構 第7章VHDL語言基礎 40 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYmux21ISPORT a b INSTD LOGIC s INSTD LOGIC y OUTSTD LOGIC ENDmux21 ARCHITECTUREbehaveOFmux21ISBEGINPROCESS a b s BEGINIFs 0 THENy a ELSEy b ENDIF ENDPROCESS ENDbehave 第7章VHDL語言基礎 41 2 數(shù)據(jù)流描述形式 類似于數(shù)字中的邏輯表達式 也稱為寄存器傳輸描述形式 是對信號到信號的數(shù)據(jù)流的路徑形式進行描述 因此要求設計者不但要對設計實體的功能實現(xiàn)有一定的了解 而且還需要對內部的邏輯電路結構有清楚的認識 第7章VHDL語言基礎 42 2 數(shù)據(jù)流描述形式 類似于數(shù)字中的邏輯表達式 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYmux21ISPORT a b INSTD LOGIC s INSTD LOGIC y OUTSTD LOGIC ENDENTITYmux21 ARCHITECTUREdataflowOFmux21ISBEGINy aAND NOTs OR bANDs ENDARCHITECTUREdataflow 第7章VHDL語言基礎 43 第7章VHDL語言基礎 例 試用VHDL編寫用數(shù)據(jù)流描述結構的全加器程序 ENTITYfull adderISPORT A B Cin INSTD LOGIC S Co OUTSTD LOGIC ENDfull adder ARCHITECTUREdataflowOFfull adderISSIGNALtmp1 tmp2 STD LOGIC BEGINtmp1 AxorB tmp2 tmp1andCin S tmp1xorCin Co tmp2or AandB ENDdataflow 44 3 結構描述形式 類似于數(shù)字中的邏輯圖 就是在多層次的設計中 高層次的設計模塊調用低層次的設計模塊 或者直接用門電路設計單元來構成一個復雜的邏輯電路的描述方法 具體實現(xiàn)就是在多層次的設計中 通過調用庫中的元件或者是已經(jīng)設計好的模塊來描述元件 或模塊 和元件 或模塊 之間的互連關系 就像網(wǎng)表一樣 注意 當引用庫中不存在的元件時 必須首先進行元件的創(chuàng)建 然后放在工作庫中 通過調用工作庫來引用元件 同時在引用元件時 要先在結構體的說明部分進行元件的說明 然后在使用元件時進行元件例化 第7章VHDL語言基礎 45 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYand21ISPORT i0 i1 INSTD LOGIC q OUTSTD LOGIC ENDENTITYand21 ARCHITECTUREoneOFand21ISBEGINq i0ANDi1 ENDARCHITECTUREone 第7章VHDL語言基礎 46 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYor21ISPORT i0 i1 INSTD LOGIC q OUTSTD LOGIC ENDENTITYor21 ARCHITECTUREoneOFor21ISBEGINq i0ORi1 ENDARCHITECTUREone 第7章VHDL語言基礎 47 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYinv21ISPORT i0 INSTD LOGIC q OUTSTD LOGIC ENDENTITYinv21 ARCHITECTUREoneOFinv21ISBEGINq NOTi0 ENDARCHITECTUREone 第7章VHDL語言基礎 48 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYmux21ISPORT a b INSTD LOGIC s INSTD LOGIC y OUTSTD LOGIC ENDmux21 第7章VHDL語言基礎 49 ARCHITECTUREstructOFmux21ISCOMPONENTand21PORT i0 i1 INSTD LOGIC q OUTSTD LOGIC ENDCOMPONENT COMPONENTor21PORT i0 i1 INSTD LOGIC q OUTSTD LOGIC ENDCOMPONENT COMPONENTinv21PORT i0 INSTD LOGIC q OUTSTD LOGIC ENDCOMPONENT 第7章VHDL語言基礎 50 SIGNALtmp1 tmp2 tmp3 STD LOGIC BEGINu1 and21PORTMAP b s tmp1 u2 inv21PORTMAP s tmp2 u3 and21PORTMAP a tmp2 tmp3 u4 or21PORTMAP tmp1 tmp3 y ENDARCHITECTUREstruct 第7章VHDL語言基礎 51 4 混合描述方式就是指上述3種描述方式的任意組合 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYxor21ISPORT i0 i1 INSTD LOGIC q OUTSTD LOGIC ENDENTITYxor21 ARCHITECTUREbehaveOFxor21ISBEGINq i0XORi1 ENDARCHITECTUREbehave 第7章VHDL語言基礎 52 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYhalf adderISPORT a b INSTD LOGIC c s OUTSTD LOGIC ENDENTITYhalf adder ARCHITECTUREmixOFhalf adderISCOMPONENTxor21ISPORT i0 i1 INSTD LOGIC q OUTSTD LOGIC ENDCOMPONENT BEGINc aANDb u1 xor21PORTMAP a b s ENDARCHITECTUREmix 第7章VHDL語言基礎 53 在VHDL中 設計的實體和結構體中定義的數(shù)據(jù)類型 常量 子程序說明和元件說明等部分只能在該設計實體中使用 而對其他設計實體是不可見的 程序包說明像C語言中include語句一樣 用來單純地羅列VHDL中所要用到的信號定義 常量定義 數(shù)據(jù)類型 子程序說明和元件說明等 是一個可編譯的設計單元 要使用程序包中的某些說明和定義 要用use語句說明 各種VHDL編譯系統(tǒng)都含有多個標準程序包 如Std Logic 1164和Standard程序包 用戶也可已自行設計程序包 保存到WORK下 7 3 4VHDL程序的程序包 54 程序包由兩個獨立的單元組成 程序包說明部分和程序包包體部分構成 1 程序包說明部分的一般格式 PACKAGE程序包名IS說明語句END 程序包名 其中說明語句為 數(shù)據(jù)類型說明 常量說明 子程序說明 信號定義及元件說明等 2 程序包體單元的一般格式 PACKAGEBODY程序包名IS包體語句END 程序包名 第7章VHDL語言基礎 55 PACKAGEfunISSUBTYPEsegmentISBIT Vector 0to6 TYPEBCDISRANGE0to9 ENDfun ENTITYdecoderISPORT INPUT BCD DRIVE OUTSEGMENT ENDdecoder ARCHITECTUREartOFdecoderISBEGINWITHINPUTSELECT DRIVE B 1111110 WHEN0 B 0110000 WHEN1 B 1101101 WHEN2 B 1111001 WHEN3 B 0110011 WHEN4 B 1011011 WHEN5 B 1011111 WHEN6 B 1110000 WHEN7 B 1111111 WHEN8 B 1111011 WHEN9 B 0000000 WHENOTHERS ENDart 例 在現(xiàn)行WORK庫中定義程序包并立即使用實例 第7章VHDL語言基礎 56 幾種應用較廣的程序包 1 Standard預先在std庫中編譯 主要定義了布爾類型 bit類型 character類型 出錯級別 實數(shù)類型 整數(shù)類型 時間類型 延遲長度子類型 自然數(shù)子類型 正整數(shù)子類型 string類型 bit vector子類型 文件打開方式類型和文件打開狀態(tài)類型 對所有設計模塊可見 2 textio預先在std庫中編譯 定義了line類型 text類型 side類型 操作寬度width子類型 文件input 文件output readline過程 對應于不同數(shù)據(jù)類型的read過程 writeline過程和對應于不同數(shù)據(jù)類型的write過程 對所有設計模塊都不可見 使用時要進行說明 第7章VHDL語言基礎 57 3 std logic 1164預先在ieee庫中編譯 是使用最廣泛的程序包 定義了設計人員長采用的一些數(shù)據(jù)類型和函數(shù) 定義了std ulogic類型 std ulogic vector類型 std logic子類型 std logic vector類型 決斷函數(shù)resolved X01Z子類型 UX01子類型 UX01Z子類型 對應于不同數(shù)據(jù)類型的and nand or nor xor xnor not函數(shù) 對應于不同數(shù)據(jù)類型的To bot To bitvector To stdulogic To stdlogicvector To stdulogicvector To X01 To X01Z To UX01轉換函數(shù) 上升沿函數(shù)rising edge 下降沿函數(shù)falling edge和對應于不同類型的Is X函數(shù) 對所有設計模塊都不可見 使用時要進行說明 第7章VHDL語言基礎 58 4 numeric std已被定義為標準程序包 定義了用于綜合的數(shù)據(jù)類型和算術函數(shù) 定義了兩種數(shù)據(jù)類型 unsigned和signed 其中unsigned表示無符號的位矢量 signed表示帶符號的位矢量 其最左端是最高位 還含有所有unsigned和signed類型的重載算術運算 還含有一些有用的類型轉換函數(shù) 時鐘檢測函數(shù)和其他一些使用的函數(shù) 5 numeric bit與程序包numeric std基本相同 不同之處在于它的基本元素類型是bit 而不是std logic 第7章VHDL語言基礎 59 配置語句用于描述各種設計實體和元件之間的連接關系以及設計實體和結構體之間的連接關系 設計者可以利用這種配置語句來選擇不同的結構體 使其與要設計的實體相對應 仿真某一時實體時 可以利用配置來選擇不同的結構體 進行性能對比實驗以得到性能最佳的結構體 例如 要設計一個二輸入四輸出的譯碼器 如果一種結構中的基本元件采用反相器和三輸入與門 而另一種結構中的基本元件都采用與非門 它們各自的結構體是不一樣的 并且放在各自不同的庫中 要設計譯碼器就可以利用配置語句實現(xiàn)對兩種不同的結構體的選擇 7 3 4配置 第7章VHDL語言基礎 60 1 默認配置配置語句的基本格式 Configurationofis 語句說明 End 配置語句根據(jù)不同的情況 其說明語句有簡有繁 最簡單的缺省配置格式 ConfigurationofisForEndfor End 教材中128頁例題 默認配置只能用來選擇不含有任何塊語句和元件的結構體 第7章VHDL語言基礎 61 Libraryieee Useieee std logic 1164 all Entityexampleisport a b instd logic y outstd logic Endexample Architectureand2 arcofexampleisBeginprocess a b variablecomb std vector 1downto0 Begincomb a Architectureor2 arcofexampleisBeginprocess a b variablecomb std vector 1downto0 Begincomb a 第7章VHDL語言基礎 62 Architecturexor2 arcofexampleisBeginprocess a b variablecomb std vector 1downto0 Begincomb a Architecturenor2 arcofexampleisBeginprocess a b variablecomb std vector 1downto0 Begincomb a 第7章VHDL語言基礎 63 Architecturenand2 arcofexampleisBeginprocess a b variablecomb std vector 1downto0 Begincomb a 第7章VHDL語言基礎 64 Configurationcfg1ofexampleisforand2 arcendfor Endcfg1 Configurationcfg2ofexampleisforor2 arcendfor Endcfg2 Configurationcfg3ofexampleisfornand2 arcendfor Endcfg3 Configurationcfg4ofexampleisfornor2 arcendfor Endcfg4 Configurationcfg5ofexampleisforxor2 arcendfor Endcfg5 配置語句cfg1將進行邏輯與操作的結構體配置給實體 配置語句cfg2將進行邏輯或操作的結構體配置給實體 第7章VHDL語言基礎 65 2 元件配置 為了避免混淆 需要給出所說明元件屬于哪一個設計庫里的哪一個設計實體 以及設計實體所對應的是哪一個結構體 低級的配置實體 結構體對的配置 第7章VHDL語言基礎 66 基本書寫結構 CONFIGURATION配置名OF實體名ISFOR選配結構體名FOR元件例化標號名 元件名USECONFIGURATION庫名 元件配置名 ENDFOR FOR元件例化標號名 元件名USECONFIGURATION庫名 元件配置名 ENDFOR ENDFOREND配置名 注意 所規(guī)定的低級配置一定要在當前配置庫中已經(jīng)存在時才能編譯 低級的配置 第7章VHDL語言基礎 67 ARCHITECTUREstructureOFfull adderISCOMPONENTor2PORT a b INstd logic c OUTstd logic ENDCOMPONENT COMPONENTand2PORT a b INstd logic c OUTstd logic ENDCOMPONENT COMPONENTxor2PORT a b INstd logic c OUTstd logic ENDCOMPONENT SIGNALtmp1 tmp2 tmp3 std logic BEGINU1 xor2PORTMAP a b tmp1 例題 全加器的實現(xiàn)LIBRARYIEEE USEIEEE sti logic 1164 all ENTITYfull adderISPORT a b Cin INstd logic Co S OUTstd logic ENDfull adder 第7章VHDL語言基礎 68 U2 and2PORTMAP tmp1 Cin tmp2 U3 xor2PORTMAP tmp1 Cin S U4 and2PORTMAP a b tmp3 U5 or2PORTMAP tmp2 tmp3 Co ENDsturcture CONFIGURATIONfull adder cfgOFfull adderISFORstructureFORU1 U3 xor2USECONFIGURATIONwork xor2 cfg ENDFOR FORU2 U4 and2USECONFIGURATIONwork and2 cfg ENDFOR FORU5 or2USECONFIGURATIONwork or2 cfg ENDFOR ENDFOR Endfull adder cfg 元件例化標名號為U1和U3所指定的是元件庫work中的設計實體xor2 其結構體為低級配置xor2 cfg指定的結構體 第7章VHDL語言基礎 69 實體 結構體對的配置 基本書寫結構 CONFIGURATION配置名OF實體名ISFOR選配結構體名FOR元件調用標號名 元件名USEENTITY庫名 實體名 結構體名 ENDFOR FOR元件調用標號名 元件名USEENTITY庫名 實體名 結構體名 ENDFOR ENDFOREND配置名 注意 所規(guī)定的元件實體和其對應的結構體一定要在當前的配置庫中已經(jīng)存在 否則編譯會出錯 就是在配置的過程中為每一個元件直接指定實體的結構體 而不是指定該實體的低級配置 第7章VHDL語言基礎 70 CONFIGURATIONfull adder cfgOFfull adderISFORstuctureFORU1 U3 xor2USEENTITYwork xor2 xor2 arc ENDFOR FORU2 U4 and2USEENTITYwork and2 and2 arc ENDFOR FORU5 or2USEENTITYwork or2 or2 arc ENDFOR ENDFOR ENDfull adder cfg 第7章VHDL語言基礎 71 3 塊的配置 要指明元件所在的塊 塊配置在結構體和元件之間分出另一層次 若對某個含有塊語句的結構體進行文件配置時 必須指明是哪一個塊的配置 與元件配置相同 塊配置也有兩種不同的形式 低級的配置形式和實體 結構體對的配置形式 第7章VHDL語言基礎 72 低級塊配置格式 CONFIGURATION配置名OF實體名ISFOR選配結構體名FOR塊名FOR元件調用標號名 元件名USECONFIGURATION庫名 元件配置名 ENDFOR ENDFOR FOR塊名FOR元件調用標號名 元件名USECONFIGURATION庫名 元件配置名 ENDFOR ENDFOR ENDFOR END配置名 73 實體 結構體對的塊配置格式 CONFIGURATION配置名OF實體名ISFOR選配結構體名FOR塊名FOR元件調用標號名 元件名USEENTITY庫名 實體名 結構體名 ENDFOR ENDFOR FOR塊名FOR元件調用標號名 元件名USEENTITY庫名 實體名 結構體名 ENDFOR ENDFOR ENDFOR END配置名 74 BEGINsum BLOCKBEGINU1 xor2PORTMAP a b tmp1 U2 xor2PORTMAP tmp1 Cin S ENDBLOCKsum carry BLOCKBEGINU3 or2PORTMAP tmp2 tmp3 Co middle BLCOKBEGINU4 and2PORTMAP tmp1 Cin tmp2 U5 and2PORTMAP a b tmp3 ENDBLOCKmiddle ENDBLOCKcarry ENDstructure 第7章VHDL語言基礎 75 FORstructureFORsumFORall xor2USECONFIGURATIONwork xor2 cfg ENDFOR ENDFOR FORcarryFORU3 or2USECONFIGURATIONwork or2 cfg ENDFOR FORmiddleFORall and2USECONFIGURATIONwork and2 cfg ENDFOR ENDFOR ENDFOR ENDFOR ENDfull adder cfg CONFIGURATIONfull adder cfgOFfull adderIS 第7章VHDL語言基礎 76 4 結構體的配置 結構體配置也是對結構體中所引用的元件進行配置 但是這種配置與元件配置有很大的區(qū)別 元件配置是使用專門的配置語句來完成的 配置語句與元件所在的結構體是分開的 而結構體配置則是放在結構體的說明語句部分 它是一種配置說明不需要與元件所在的結構體分開的配置類型 低級配置格式 for useconfiguation 實體 結構體對配置格式 for useentity 第7章VHDL語言基礎

注意事項

本文(VHDL語言的程序結構.ppt)為本站會員(sh****n)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!