




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第9章章 硬件描述語言硬件描述語言vhdl學習要點學習要點vhdl的主要構(gòu)件的主要構(gòu)件數(shù)據(jù)類型和運算數(shù)據(jù)類型和運算行為和結(jié)構(gòu)描述行為和結(jié)構(gòu)描述2.1概述概述 vhdl是一種標準化的硬件描述語言,它支持系統(tǒng)級、寄是一種標準化的硬件描述語言,它支持系統(tǒng)級、寄存器級和門級三個不同層次的設計。在數(shù)字系統(tǒng)從頂?shù)降状嫫骷壓烷T級三個不同層次的設計。在數(shù)字系統(tǒng)從頂?shù)降自O計過程中,都可利用者同一硬件描述語言進行設計、模設計過程中,都可利用者同一硬件描述語言進行設計、模擬和存檔。擬和存檔。 組合電路傳統(tǒng)的設計方法的有邏輯命題、列真值表、組合電路傳統(tǒng)的設計方法的有邏輯命題、列真值表、化簡邏輯函數(shù)到畫邏輯電路圖。若
2、設計的數(shù)字系統(tǒng)比較化簡邏輯函數(shù)到畫邏輯電路圖。若設計的數(shù)字系統(tǒng)比較復雜,以上每一步都時候繁瑣的工作,設計者對所作設復雜,以上每一步都時候繁瑣的工作,設計者對所作設計是否正確不易了解,與其它人員互相交流也不方便。計是否正確不易了解,與其它人員互相交流也不方便。為了便于利用計算機進行數(shù)字系統(tǒng)輔助設計,便于交流為了便于利用計算機進行數(shù)字系統(tǒng)輔助設計,便于交流和存檔,已開發(fā)出了各種硬件描述語言。和存檔,已開發(fā)出了各種硬件描述語言。vhdl的主要優(yōu)點是:的主要優(yōu)點是:(1)覆蓋面廣,描述能力強,是一個多層次的硬件描述語言;)覆蓋面廣,描述能力強,是一個多層次的硬件描述語言;(2)可讀性好,既能構(gòu)被計算機
3、接受,也容易被人理解;)可讀性好,既能構(gòu)被計算機接受,也容易被人理解;(3)生命期長,它的硬件描述與工藝技術(shù)無關(guān),不會因工藝)生命期長,它的硬件描述與工藝技術(shù)無關(guān),不會因工藝變化而過時;變化而過時;(4)支持大規(guī)模設計的分解和已有設計在利用,有利于有多)支持大規(guī)模設計的分解和已有設計在利用,有利于有多人或多項目組共同完成一個大規(guī)模設計;人或多項目組共同完成一個大規(guī)模設計;(5)已成為)已成為ieee承認的一個工業(yè)標準,成為一種通用的硬承認的一個工業(yè)標準,成為一種通用的硬件描述語言。件描述語言。2.2vhdl的主要構(gòu)件的主要構(gòu)件1.實體實體實體(實體(entity)說明)說明:描述設計實體的外部
4、接口信號。描述設計實體的外部接口信號。實體的一般格式:實體的一般格式:entity 實體名實體名 isport(端口表端口表);實體說明部分實體說明部分;bigin實體語句部分;實體語句部分;endentity實體名;實體名;例例2.1 或門的實體或門的實體entity orgate is prot(a,b:in bit; z:out bit); ent orgate 實體部分的大寫單詞實體部分的大寫單詞entity、is、out和和end為關(guān)鍵字。為關(guān)鍵字。vhdl本本身不區(qū)分大小寫,但為了程序清楚起見,本章都用大寫表示。身不區(qū)分大小寫,但為了程序清楚起見,本章都用大寫表示。 端口信息描述了
5、信號的流向、最常用的是輸入和輸出類型。端口信息描述了信號的流向、最常用的是輸入和輸出類型。bit表示表示信號的數(shù)據(jù)類型為位,除此之外,他們還可以是整數(shù)、實數(shù)、無符號數(shù)、信號的數(shù)據(jù)類型為位,除此之外,他們還可以是整數(shù)、實數(shù)、無符號數(shù)、物理以及數(shù)據(jù)類型組成的記錄和數(shù)組集合等。物理以及數(shù)據(jù)類型組成的記錄和數(shù)組集合等。2.結(jié)構(gòu)體結(jié)構(gòu)體 電路描述部分稱之為結(jié)構(gòu)體,它用于電路描述部分稱之為結(jié)構(gòu)體,它用于 描述設計單元內(nèi)描述設計單元內(nèi)部的行為、元件及連接關(guān)系。結(jié)構(gòu)體定義出實體的功能,部的行為、元件及連接關(guān)系。結(jié)構(gòu)體定義出實體的功能,一個實體可以對應多個結(jié)構(gòu)體,每個結(jié)構(gòu)體代表該硬件的一個實體可以對應多個結(jié)構(gòu)體
6、,每個結(jié)構(gòu)體代表該硬件的某一方面特性,例如行為特性或結(jié)構(gòu)特性。每一特性的描某一方面特性,例如行為特性或結(jié)構(gòu)特性。每一特性的描述,又由于其層次、實現(xiàn)方法不同形成多個結(jié)構(gòu)體。結(jié)構(gòu)述,又由于其層次、實現(xiàn)方法不同形成多個結(jié)構(gòu)體。結(jié)構(gòu)體的一般格式為:體的一般格式為: architecture 結(jié)構(gòu)體名結(jié)構(gòu)體名of實體名實體名 is 定義語句定義語句;(內(nèi)部信號,常數(shù),數(shù)據(jù)類型,函數(shù)定義等內(nèi)部信號,常數(shù),數(shù)據(jù)類型,函數(shù)定義等) begin 并行處理語句并行處理語句; end 結(jié)構(gòu)體名;結(jié)構(gòu)體名;例例2.2 或門的結(jié)構(gòu)體或門的結(jié)構(gòu)體arthitecture behave of orgate isbegin
7、or_fune:process(a,b) begin if(a=1or b=1)then z=1; else z=0; end if l; end process or_fune;end behave; vhdl主要采取一下兩種描述方式主要采取一下兩種描述方式:(1)行為描述:描述該設計單元的功能。)行為描述:描述該設計單元的功能。主要使用函數(shù)、過程和進程語句,以算主要使用函數(shù)、過程和進程語句,以算法形式描述數(shù)據(jù)的交換和傳送。法形式描述數(shù)據(jù)的交換和傳送。(2)結(jié)構(gòu)描述:描述該單元的硬件結(jié)構(gòu))結(jié)構(gòu)描述:描述該單元的硬件結(jié)構(gòu),即該電路是如何構(gòu)成的。主要使用配置即該電路是如何構(gòu)成的。主要使用配置指定
8、語句及元件理化語句描述元件的類指定語句及元件理化語句描述元件的類型及互連關(guān)系。型及互連關(guān)系。3.程序包程序包 程序包(程序包(package)是一種是包體中元件、子程序、)是一種是包體中元件、子程序、公用數(shù)據(jù)類型和說明等其它設計單元可調(diào)用的設計單元。公用數(shù)據(jù)類型和說明等其它設計單元可調(diào)用的設計單元。程序包包括程序包說明和程序包體。程序包說明為程序包程序包包括程序包說明和程序包體。程序包說明為程序包定義接口,聲明包中的類型、元件、子程序和說明,類似定義接口,聲明包中的類型、元件、子程序和說明,類似于實體于實體entity;程序包體規(guī)定程序的實際功能,存放元件程序包體規(guī)定程序的實際功能,存放元件和
9、子程序等具體實現(xiàn),類似于結(jié)構(gòu)體和子程序等具體實現(xiàn),類似于結(jié)構(gòu)體architecture。4.庫庫庫(庫(library)是用來存放可編譯的設計單元的)是用來存放可編譯的設計單元的地方??梢苑胖萌舾蓚€程序包。地方。可以放置若干個程序包。vhdl 語言庫語言庫分為設計庫和資源庫。分為設計庫和資源庫。2.3數(shù)據(jù)類型和運算數(shù)據(jù)類型和運算 vhdl硬件描述語言中有三類對象:信號、變量和常量。硬件描述語言中有三類對象:信號、變量和常量。一個信號和變量可以被賦予一系列的值,但一個常量只能一個信號和變量可以被賦予一系列的值,但一個常量只能被賦予一次值。變量于信號不同,分配給信號的值必須經(jīng)被賦予一次值。變量于信
10、號不同,分配給信號的值必須經(jīng)過一定的時間演示后才能成為當前值,而分配給變量的值過一定的時間演示后才能成為當前值,而分配給變量的值立即成為當前值。信號與硬件中的立即成為當前值。信號與硬件中的“連線連線”相對應,而變相對應,而變量在硬件中無對應物。量在硬件中無對應物。 數(shù)據(jù)類型大體分為標量型和復合型。標量型只具有單數(shù)據(jù)類型大體分為標量型和復合型。標量型只具有單一的值。這個無法在分解,標量類型的值可以按某一個尺一的值。這個無法在分解,標量類型的值可以按某一個尺度排序。標量型中主要有實數(shù)型、整數(shù)型、枚舉型和物理度排序。標量型中主要有實數(shù)型、整數(shù)型、枚舉型和物理型、復合型式有標量組成的數(shù)組或記錄,其中含
11、有多個值。型、復合型式有標量組成的數(shù)組或記錄,其中含有多個值。1.標量數(shù)據(jù)類型標量數(shù)據(jù)類型 標量數(shù)據(jù)類型是一種基本的數(shù)據(jù)類型,它包括有:字符、標量數(shù)據(jù)類型是一種基本的數(shù)據(jù)類型,它包括有:字符、為、布爾量、實數(shù)、整數(shù)、物理單位和枚舉等。類型說明的為、布爾量、實數(shù)、整數(shù)、物理單位和枚舉等。類型說明的一般形式是:一般形式是: typetype類型名類型名isis類型定義類型定義 一個字符放入但單引號中就定義了一個字符一個字符放入但單引號中就定義了一個字符:x,:x,字符字符可以是可以是a az z中任一個字符、中任一個字符、0 09 9中數(shù)字和特殊字符等等。中數(shù)字和特殊字符等等。 例例2.3 2.3
12、 枚舉類型舉例枚舉類型舉例 type my_state is (reset,rw_ cycle,int_cycle); signal state:my_state; state =reset; ok state=“00”; err2.復合數(shù)據(jù)類型復合數(shù)據(jù)類型 復合類型的值可以分解為更細微的值。有兩種復合類型:復合類型的值可以分解為更細微的值。有兩種復合類型:記錄和數(shù)組。記錄是異構(gòu)復合類型,也就是說,記錄的元記錄和數(shù)組。記錄是異構(gòu)復合類型,也就是說,記錄的元素可以是不同的類型。一個記錄類型的定義規(guī)定了一個或素可以是不同的類型。一個記錄類型的定義規(guī)定了一個或多個元素,每個元素具有不同的名字,并且可
13、任意具有不多個元素,每個元素具有不同的名字,并且可任意具有不同類型。同類型。 例例2.4 復合類型舉例復合類型舉例 type instruction is record opcode_field; opcode; opcode_1: address; opcode_2: address;end record;2.4 行為和結(jié)構(gòu)描述行為和結(jié)構(gòu)描述 要描述數(shù)字系統(tǒng)的行為,必然要涉及并行關(guān)系和順序關(guān)要描述數(shù)字系統(tǒng)的行為,必然要涉及并行關(guān)系和順序關(guān)系,系, vhdl通過進程(通過進程(process)來解決這個矛盾。)來解決這個矛盾。vhdl在兩個層次上定義了數(shù)字系統(tǒng)是行為;順序在兩個層次上定義了數(shù)字
14、系統(tǒng)是行為;順序(sequential)和并發(fā)層。順序?qū)泳褪窃诿恳粋€進程中用)和并發(fā)層。順序?qū)泳褪窃诿恳粋€進程中用順序語句規(guī)定它一步一步的行為;并發(fā)層就是定義這些進順序語句規(guī)定它一步一步的行為;并發(fā)層就是定義這些進程互相的關(guān)系,特別是它們之間的信息傳遞問題。進程就程互相的關(guān)系,特別是它們之間的信息傳遞問題。進程就是是vhdl中最主要的并發(fā)語句,是聯(lián)系時序?qū)雍筒l(fā)層的中最主要的并發(fā)語句,是聯(lián)系時序?qū)雍筒l(fā)層的一種紐帶,并發(fā)曾是一種紐帶,并發(fā)曾是vhdl可以在同一模擬時間運行許多可以在同一模擬時間運行許多不同的進程。不同的進程。1.進程進程 進程(進程(process)作為行為描述構(gòu)造體中的一部分
15、,)作為行為描述構(gòu)造體中的一部分,它用時序語句,描述了硬件的行為。進程本身作為一并發(fā)它用時序語句,描述了硬件的行為。進程本身作為一并發(fā)語句,用來定義本進程的作用范圍,描述了進程被激活后語句,用來定義本進程的作用范圍,描述了進程被激活后要執(zhí)行的行為。進程每部可以使用變量。進程句法的一般要執(zhí)行的行為。進程每部可以使用變量。進程句法的一般形式為:形式為: 進程名進程名process敏感信號表敏感信號表 變量說明語句;變量說明語句; begin 順序說明語句;順序說明語句; end process進程名進程名;2.并發(fā)行為并發(fā)行為 用硬件描述語言用硬件描述語言vhdl所設計的電子系統(tǒng)實際工作時是所設計的電子系統(tǒng)實際工作時是并行操作,所以系統(tǒng)中的元件在模擬時間上應該是同時運并行操作,所以系統(tǒng)中的元件在模擬時間上應該是同時運行。并發(fā)語句就是用來表示這種并發(fā)行為的。行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子商務平臺技術(shù)研發(fā)合作框架協(xié)議
- 電商平臺推廣服務及收益分享協(xié)議
- 互聯(lián)網(wǎng)廣告投放與效果評估協(xié)議
- 環(huán)境衛(wèi)生保潔承包合同
- 第三方付款協(xié)議書
- 河湖治理工程合同
- 大客戶物流服務合同
- 轉(zhuǎn)讓合同簡單版
- 軟件開發(fā)測試版免責協(xié)議
- 太陽能發(fā)電項目投資合同
- 精神病醫(yī)院管理制度
- 中小學傳統(tǒng)文化教育指導標準
- GB/T 26018-2010高純鈷
- GB/T 18878-2008滑道設計規(guī)范
- 補料申請單模板
- DB510100T203-2016球墨鑄鐵可調(diào)式防沉降檢查井蓋
- 化工廠中控DCS系統(tǒng)崗位職責
- 2023年同等學力研究生考試教育學試卷附詳細答案
- 酒水購銷合同范本(3篇)
- 消渴病中醫(yī)護理的方案課件
- 水質(zhì)分析題庫
評論
0/150
提交評論