第二章硬件描述語言VHDL_第1頁(yè)
第二章硬件描述語言VHDL_第2頁(yè)
第二章硬件描述語言VHDL_第3頁(yè)
第二章硬件描述語言VHDL_第4頁(yè)
第二章硬件描述語言VHDL_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第二章硬件描述語言VHDL2.1概述概述 VHDL是一種標(biāo)準(zhǔn)化的硬件描述語言,它支持系統(tǒng)級(jí)、寄是一種標(biāo)準(zhǔn)化的硬件描述語言,它支持系統(tǒng)級(jí)、寄存器級(jí)和門級(jí)三個(gè)不同層次的設(shè)計(jì)。在數(shù)字系統(tǒng)從頂?shù)降状嫫骷?jí)和門級(jí)三個(gè)不同層次的設(shè)計(jì)。在數(shù)字系統(tǒng)從頂?shù)降自O(shè)計(jì)過程中,都可利用者同一硬件描述語言進(jìn)行設(shè)計(jì)、模設(shè)計(jì)過程中,都可利用者同一硬件描述語言進(jìn)行設(shè)計(jì)、模擬和存檔。擬和存檔。 組合電路傳統(tǒng)的設(shè)計(jì)方法的有邏輯命題、列真值表、組合電路傳統(tǒng)的設(shè)計(jì)方法的有邏輯命題、列真值表、化簡(jiǎn)邏輯函數(shù)到畫邏輯電路圖。若設(shè)計(jì)的數(shù)字系統(tǒng)比較化簡(jiǎn)邏輯函數(shù)到畫邏輯電路圖。若設(shè)計(jì)的數(shù)字系統(tǒng)比較復(fù)雜,以上每一步都時(shí)候繁瑣的工作,設(shè)計(jì)者對(duì)所作設(shè)復(fù)雜

2、,以上每一步都時(shí)候繁瑣的工作,設(shè)計(jì)者對(duì)所作設(shè)計(jì)是否正確不易了解,與其它人員互相交流也不方便。計(jì)是否正確不易了解,與其它人員互相交流也不方便。為了便于利用計(jì)算機(jī)進(jìn)行數(shù)字系統(tǒng)輔助設(shè)計(jì),便于交流為了便于利用計(jì)算機(jī)進(jìn)行數(shù)字系統(tǒng)輔助設(shè)計(jì),便于交流和存檔,已開發(fā)出了各種硬件描述語言。和存檔,已開發(fā)出了各種硬件描述語言。VHDL的主要優(yōu)點(diǎn)是:的主要優(yōu)點(diǎn)是:(1)覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語言;)覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語言;(2)可讀性好,既能構(gòu)被計(jì)算機(jī)接受,也容易被人理解;)可讀性好,既能構(gòu)被計(jì)算機(jī)接受,也容易被人理解;(3)生命期長(zhǎng),它的硬件描述與工藝技術(shù)無關(guān),不會(huì)

3、因工藝)生命期長(zhǎng),它的硬件描述與工藝技術(shù)無關(guān),不會(huì)因工藝變化而過時(shí);變化而過時(shí);(4)支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)在利用,有利于有多)支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)在利用,有利于有多人或多項(xiàng)目組共同完成一個(gè)大規(guī)模設(shè)計(jì);人或多項(xiàng)目組共同完成一個(gè)大規(guī)模設(shè)計(jì);(5)已成為)已成為IEEE承認(rèn)的一個(gè)工業(yè)標(biāo)準(zhǔn),成為一種通用的硬承認(rèn)的一個(gè)工業(yè)標(biāo)準(zhǔn),成為一種通用的硬件描述語言。件描述語言。2.2VHDL的主要構(gòu)件的主要構(gòu)件1.實(shí)體實(shí)體實(shí)體(實(shí)體(Entity)說明)說明:描述設(shè)計(jì)實(shí)體的外部接口信號(hào)。描述設(shè)計(jì)實(shí)體的外部接口信號(hào)。實(shí)體的一般格式:實(shí)體的一般格式:ENTITY 實(shí)體名實(shí)體名 ISPORT(端口表

4、端口表);實(shí)體說明部分實(shí)體說明部分;BIGIN實(shí)體語句部分;實(shí)體語句部分;ENDENTITY實(shí)體名;實(shí)體名;例例2.1 或門的實(shí)體或門的實(shí)體ENTITY orgate IS PROT(a,b:IN BIT; z:OUT BIT); ENT orgate 實(shí)體部分的大寫單詞實(shí)體部分的大寫單詞ENTITY、IS、OUT和和END為關(guān)鍵字。為關(guān)鍵字。VHDL本本身不區(qū)分大小寫,但為了程序清楚起見,本章都用大寫表示。身不區(qū)分大小寫,但為了程序清楚起見,本章都用大寫表示。 端口信息描述了信號(hào)的流向、最常用的是輸入和輸出類型。端口信息描述了信號(hào)的流向、最常用的是輸入和輸出類型。BIT表示表示信號(hào)的數(shù)據(jù)類型

5、為位,除此之外,他們還可以是整數(shù)、實(shí)數(shù)、無符號(hào)數(shù)、信號(hào)的數(shù)據(jù)類型為位,除此之外,他們還可以是整數(shù)、實(shí)數(shù)、無符號(hào)數(shù)、物理以及數(shù)據(jù)類型組成的記錄和數(shù)組集合等。物理以及數(shù)據(jù)類型組成的記錄和數(shù)組集合等。2.結(jié)構(gòu)體結(jié)構(gòu)體 電路描述部分稱之為結(jié)構(gòu)體,它用于電路描述部分稱之為結(jié)構(gòu)體,它用于 描述設(shè)計(jì)單元內(nèi)描述設(shè)計(jì)單元內(nèi)部的行為、元件及連接關(guān)系。結(jié)構(gòu)體定義出實(shí)體的功能,部的行為、元件及連接關(guān)系。結(jié)構(gòu)體定義出實(shí)體的功能,一個(gè)實(shí)體可以對(duì)應(yīng)多個(gè)結(jié)構(gòu)體,每個(gè)結(jié)構(gòu)體代表該硬件的一個(gè)實(shí)體可以對(duì)應(yīng)多個(gè)結(jié)構(gòu)體,每個(gè)結(jié)構(gòu)體代表該硬件的某一方面特性,例如行為特性或結(jié)構(gòu)特性。每一特性的描某一方面特性,例如行為特性或結(jié)構(gòu)特性。每一特

6、性的描述,又由于其層次、實(shí)現(xiàn)方法不同形成多個(gè)結(jié)構(gòu)體。結(jié)構(gòu)述,又由于其層次、實(shí)現(xiàn)方法不同形成多個(gè)結(jié)構(gòu)體。結(jié)構(gòu)體的一般格式為:體的一般格式為: ARCHITECTURE 結(jié)構(gòu)體名結(jié)構(gòu)體名OF實(shí)體名實(shí)體名 IS 定義語句定義語句;(內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)定義等內(nèi)部信號(hào),常數(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 or_fune:PROCESS(a,b) BEGIN IF(a=1or b=1)THEN Z=1; ELSE Z=0;

7、 END IF l; END PROCESS or_fune;END behave; VHDL主要采取一下兩種描述方式主要采取一下兩種描述方式:(1)行為描述:描述該設(shè)計(jì)單元的功能。)行為描述:描述該設(shè)計(jì)單元的功能。主要使用函數(shù)、過程和進(jìn)程語句,以算主要使用函數(shù)、過程和進(jìn)程語句,以算法形式描述數(shù)據(jù)的交換和傳送。法形式描述數(shù)據(jù)的交換和傳送。(2)結(jié)構(gòu)描述:描述該單元的硬件結(jié)構(gòu))結(jié)構(gòu)描述:描述該單元的硬件結(jié)構(gòu),即該電路是如何構(gòu)成的。主要使用配置即該電路是如何構(gòu)成的。主要使用配置指定語句及元件理化語句描述元件的類指定語句及元件理化語句描述元件的類型及互連關(guān)系。型及互連關(guān)系。3.程序包程序包 程序包(

8、程序包(PACKAGE)是一種是包體中元件、子程序、)是一種是包體中元件、子程序、公用數(shù)據(jù)類型和說明等其它設(shè)計(jì)單元可調(diào)用的設(shè)計(jì)單元。公用數(shù)據(jù)類型和說明等其它設(shè)計(jì)單元可調(diào)用的設(shè)計(jì)單元。程序包包括程序包說明和程序包體。程序包說明為程序包程序包包括程序包說明和程序包體。程序包說明為程序包定義接口,聲明包中的類型、元件、子程序和說明,類似定義接口,聲明包中的類型、元件、子程序和說明,類似于實(shí)體于實(shí)體ENTITY;程序包體規(guī)定程序的實(shí)際功能,存放元件程序包體規(guī)定程序的實(shí)際功能,存放元件和子程序等具體實(shí)現(xiàn),類似于結(jié)構(gòu)體和子程序等具體實(shí)現(xiàn),類似于結(jié)構(gòu)體ARCHITECTURE。4.庫(kù)庫(kù)庫(kù)(庫(kù)(LIBRARY

9、)是用來存放可編譯的設(shè)計(jì)單元的)是用來存放可編譯的設(shè)計(jì)單元的地方??梢苑胖萌舾蓚€(gè)程序包。地方??梢苑胖萌舾蓚€(gè)程序包。VHDL 語言庫(kù)語言庫(kù)分為設(shè)計(jì)庫(kù)和資源庫(kù)。分為設(shè)計(jì)庫(kù)和資源庫(kù)。2.3數(shù)據(jù)類型和運(yùn)算數(shù)據(jù)類型和運(yùn)算 VHDL硬件描述語言中有三類對(duì)象:信號(hào)、變量和常量。硬件描述語言中有三類對(duì)象:信號(hào)、變量和常量。一個(gè)信號(hào)和變量可以被賦予一系列的值,但一個(gè)常量只能一個(gè)信號(hào)和變量可以被賦予一系列的值,但一個(gè)常量只能被賦予一次值。變量于信號(hào)不同,分配給信號(hào)的值必須經(jīng)被賦予一次值。變量于信號(hào)不同,分配給信號(hào)的值必須經(jīng)過一定的時(shí)間演示后才能成為當(dāng)前值,而分配給變量的值過一定的時(shí)間演示后才能成為當(dāng)前值,而分配

10、給變量的值立即成為當(dāng)前值。信號(hào)與硬件中的立即成為當(dāng)前值。信號(hào)與硬件中的“連線連線”相對(duì)應(yīng),而變相對(duì)應(yīng),而變量在硬件中無對(duì)應(yīng)物。量在硬件中無對(duì)應(yīng)物。 數(shù)據(jù)類型大體分為標(biāo)量型和復(fù)合型。標(biāo)量型只具有單數(shù)據(jù)類型大體分為標(biāo)量型和復(fù)合型。標(biāo)量型只具有單一的值。這個(gè)無法在分解,標(biāo)量類型的值可以按某一個(gè)尺一的值。這個(gè)無法在分解,標(biāo)量類型的值可以按某一個(gè)尺度排序。標(biāo)量型中主要有實(shí)數(shù)型、整數(shù)型、枚舉型和物理度排序。標(biāo)量型中主要有實(shí)數(shù)型、整數(shù)型、枚舉型和物理型、復(fù)合型式有標(biāo)量組成的數(shù)組或記錄,其中含有多個(gè)值。型、復(fù)合型式有標(biāo)量組成的數(shù)組或記錄,其中含有多個(gè)值。1.標(biāo)量數(shù)據(jù)類型標(biāo)量數(shù)據(jù)類型 標(biāo)量數(shù)據(jù)類型是一種基本的數(shù)

11、據(jù)類型,它包括有:字符、標(biāo)量數(shù)據(jù)類型是一種基本的數(shù)據(jù)類型,它包括有:字符、為、布爾量、實(shí)數(shù)、整數(shù)、物理單位和枚舉等。類型說明的為、布爾量、實(shí)數(shù)、整數(shù)、物理單位和枚舉等。類型說明的一般形式是:一般形式是: TYPETYPE類型名類型名ISIS類型定義類型定義 一個(gè)字符放入但單引號(hào)中就定義了一個(gè)字符一個(gè)字符放入但單引號(hào)中就定義了一個(gè)字符:x,:x,字符字符可以是可以是a az z中任一個(gè)字符、中任一個(gè)字符、0 09 9中數(shù)字和特殊字符等等。中數(shù)字和特殊字符等等。 例例2.3 2.3 枚舉類型舉例枚舉類型舉例 TYPE my_state IS (reset,rw_ cycle,int_cycle);

12、 SIGNAL state:my_state; state =reset; OK state=“00”; ERR2.復(fù)合數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型 復(fù)合類型的值可以分解為更細(xì)微的值。有兩種復(fù)合類型:復(fù)合類型的值可以分解為更細(xì)微的值。有兩種復(fù)合類型:記錄和數(shù)組。記錄是異構(gòu)復(fù)合類型,也就是說,記錄的元記錄和數(shù)組。記錄是異構(gòu)復(fù)合類型,也就是說,記錄的元素可以是不同的類型。一個(gè)記錄類型的定義規(guī)定了一個(gè)或素可以是不同的類型。一個(gè)記錄類型的定義規(guī)定了一個(gè)或多個(gè)元素,每個(gè)元素具有不同的名字,并且可任意具有不多個(gè)元素,每個(gè)元素具有不同的名字,并且可任意具有不同類型。同類型。 例例2.4 復(fù)合類型舉例復(fù)合類型舉例 T

13、YPE 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通過進(jìn)程(通過進(jìn)程(PROCESS)來解決這個(gè)矛盾。)來解決這個(gè)矛盾。VHDL在兩個(gè)層次上定義了數(shù)字系統(tǒng)是行為;順序在兩個(gè)層次上定義了數(shù)字系統(tǒng)是行為;順序(Sequential)和并發(fā)層。順序?qū)泳褪窃诿恳粋€(gè)進(jìn)程中用)和并發(fā)層。順序?qū)泳褪窃诿恳粋€(gè)進(jìn)程中用順序

14、語句規(guī)定它一步一步的行為;并發(fā)層就是定義這些進(jìn)順序語句規(guī)定它一步一步的行為;并發(fā)層就是定義這些進(jìn)程互相的關(guān)系,特別是它們之間的信息傳遞問題。進(jìn)程就程互相的關(guān)系,特別是它們之間的信息傳遞問題。進(jìn)程就是是VHDL中最主要的并發(fā)語句,是聯(lián)系時(shí)序?qū)雍筒l(fā)層的中最主要的并發(fā)語句,是聯(lián)系時(shí)序?qū)雍筒l(fā)層的一種紐帶,并發(fā)曾是一種紐帶,并發(fā)曾是VHDL可以在同一模擬時(shí)間運(yùn)行許多可以在同一模擬時(shí)間運(yùn)行許多不同的進(jìn)程。不同的進(jìn)程。2.并發(fā)行為并發(fā)行為 用硬件描述語言用硬件描述語言VHDL所設(shè)計(jì)的電子系統(tǒng)實(shí)際工作時(shí)是所設(shè)計(jì)的電子系統(tǒng)實(shí)際工作時(shí)是并行操作,所以系統(tǒng)中的元件在模擬時(shí)間上應(yīng)該是同時(shí)運(yùn)并行操作,所以系統(tǒng)中的元件在模擬時(shí)間上應(yīng)該是同時(shí)運(yùn)行。并發(fā)語句就是用來表示這種并發(fā)行為的。行。并發(fā)語句就是用來表示這種并發(fā)行為的。VHDL語言

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論