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

下載本文檔

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

文檔簡(jiǎn)介

1、FPGA與硬件描述語言2014.41第三章第三章 VHDL硬件描述語言硬件描述語言3.1 VHDL概述3.2 VHDL程序結(jié)構(gòu)3.3 VHDL的數(shù)據(jù)類型及運(yùn)算操作符3.4 VHDL的描述語句3.5 基本電路的VHDL模型3.6 有限狀態(tài)機(jī)3.7 仿真與邏輯綜合2VHDL硬件描述語言硬件描述語言VHDL概述概述3.1 VHDL概述3.1.1 VHDL簡(jiǎn)介3.1.2 VHDL的基本結(jié)構(gòu)及其優(yōu)點(diǎn)3.1.3 VHDL術(shù)語3VHDL硬件描述語言硬件描述語言VHDL概述概述 VHDL(Very High Speed Integrated Circuit Hardware Description Langu

2、age) 超高速集成電路硬件描述語言 1987年底,VHDL被IEEE(Institute of Electrical and Electronic Engineers)和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言4VHDL硬件描述語言硬件描述語言VHDL概述概述目前VHDL存在兩個(gè)版本: VHDL87經(jīng)過少許簡(jiǎn)單的源代碼修改就可兼容 VHDL93增加了一些保留字并刪除了某些屬性目前絕大多數(shù)常用EDA工具都支持兩個(gè)版本的所有語法規(guī)則,且大多數(shù)資料(包括最新的)仍然使用VHDL87版本語法規(guī)則5VHDL硬件描述語言硬件描述語言VHDL概述概述 VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口 VHDL

3、的語言形式和描述風(fēng)格和語法與一般的計(jì)算機(jī)高級(jí)語言非常類似 VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體分成外部外部和內(nèi)部?jī)?nèi)部?jī)纱蟛糠郑ㄊ荲HDL設(shè)計(jì)系統(tǒng)的基本特點(diǎn))6VHDL硬件描述語言硬件描述語言VHDL概述概述 實(shí)體:可以是一個(gè)元件、電路模塊或系統(tǒng) 外部:稱可視部分,即端口 內(nèi)部:稱不可視部分,即設(shè)計(jì)實(shí)體的內(nèi)部功能和算法完成部分 在定義了一個(gè)設(shè)計(jì)實(shí)體的外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。7VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 VHDL與其他硬件描述語言的比較與其他硬件描述語言的比較一般的硬件描述語言可以在三個(gè)層次上進(jìn)行電路描述Verilo

4、gHDL描述范圍VHDL描述范圍8VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 VHDL與其他硬件描述語言的比較與其他硬件描述語言的比較VHDLVerilogHDLVHDL是一種高級(jí)描述語言,適用于電路高級(jí)建模VerilogHDL是一種較低級(jí)的描述語言,適用于描述門級(jí)電路VHDL的綜合對(duì)綜合器的要求較高,需要經(jīng)過行為級(jí)、RTL級(jí)、門電路級(jí)的轉(zhuǎn)化綜合過程簡(jiǎn)單一些,只需要經(jīng)過RTL級(jí)、門電路級(jí)的轉(zhuǎn)化VHDL可以直接描述門電路,但這方面的能力不如VerilogHDLVerilogHDL在高級(jí)描述方面不如VHDL在VHDL設(shè)計(jì)中,大量的工作是由綜合器完成的,設(shè)計(jì)者所做的工作相對(duì)較少在Verilog

5、HDL設(shè)計(jì)的過程中,設(shè)計(jì)者做的工作通常比較大,因?yàn)橐闱宄唧w電路結(jié)構(gòu)的細(xì)節(jié)9VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 VHDL與其他硬件描述語言的比較與其他硬件描述語言的比較 目前,大多數(shù)高檔EDA軟件都支持VHDL和VerilogHDL混合設(shè)計(jì),因此在工程應(yīng)用中,設(shè)計(jì)者可以根據(jù)需要使用VHDL或VerilogHDL設(shè)計(jì)不同的電路模塊10VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 VHDL與其他硬件描述語言的比較與其他硬件描述語言的比較 與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言 VHDL豐富的仿真語句和函數(shù)庫,使得

6、在任何大系統(tǒng)的設(shè)計(jì)早期,就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬 VHDL語句的行為描述能力和程序結(jié)構(gòu),決定了它可以方便地對(duì)大規(guī)模設(shè)計(jì)進(jìn)行分解和對(duì)已有的設(shè)計(jì)進(jìn)行再利用11VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 VHDL與其他硬件描述語言的比較與其他硬件描述語言的比較 對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)地把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表 VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者獨(dú)立進(jìn)行設(shè)計(jì)時(shí)可以不懂硬件的結(jié)構(gòu),也不必考慮實(shí)現(xiàn)最終設(shè)計(jì)的目標(biāo)器件是什么12VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 使用使用VHDL完成自頂

7、向下的設(shè)計(jì)完成自頂向下的設(shè)計(jì)自底向上自底向上自頂向下自頂向下 傳統(tǒng)的電路設(shè)計(jì)方法都是自底向上的,即首先確定可用的元器件,然后根據(jù)這些器件進(jìn)行邏輯設(shè)計(jì),完成各個(gè)模塊后進(jìn)行連接,最后形成系統(tǒng) 采用可完全獨(dú)立于目標(biāo)器件物理結(jié)構(gòu)的硬件描述語言,在系統(tǒng)的功能級(jí)或行為級(jí)上對(duì)設(shè)計(jì)的產(chǎn)品進(jìn)行描述和定義,結(jié)合多層次的仿真技術(shù),在確保設(shè)計(jì)的可行性與正確性的前提下,完成功能確認(rèn)13VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 使用使用VHDL完成自頂向下的設(shè)計(jì)完成自頂向下的設(shè)計(jì)自頂向下設(shè)計(jì)方法的優(yōu)越性表現(xiàn)在:自頂向下設(shè)計(jì)方法的優(yōu)越性表現(xiàn)在: 頂層的功能描述可以完全獨(dú)立于目標(biāo)器件,在設(shè)計(jì)初期可不受芯片結(jié)構(gòu)的約束

8、設(shè)計(jì)成果的再利用可以得到保證 采用結(jié)構(gòu)化開發(fā)手段,確認(rèn)了基本功能和結(jié)構(gòu)后,即可實(shí)現(xiàn)多人多任務(wù)的并行工作方式 選擇實(shí)現(xiàn)系統(tǒng)的目標(biāo)器件的類型、規(guī)模、硬件結(jié)構(gòu)等方面具有更大的自由度14VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 關(guān)于關(guān)于VHDL的學(xué)的學(xué)習(xí)習(xí)如何學(xué)好如何學(xué)好VHDL: 了解較多的數(shù)字邏輯方面的硬件電路知識(shí) 目標(biāo)芯片基本結(jié)構(gòu)方面的知識(shí) VHDL描述的對(duì)象始終是客觀的電路系統(tǒng) 擺脫一維的思維模式,培養(yǎng)多維并行的思維模式15VHDL硬件描述語言硬件描述語言VHDL簡(jiǎn)介簡(jiǎn)介 關(guān)于關(guān)于VHDL的學(xué)的學(xué)習(xí)習(xí) 不是所有的VHDL描述都是可以用硬件實(shí)現(xiàn)的(即不是所有的語句都是可綜合的)16VHD

9、L硬件描述語言硬件描述語言 VHDL的基本結(jié)構(gòu)及其優(yōu)點(diǎn)的基本結(jié)構(gòu)及其優(yōu)點(diǎn)用于描述所設(shè)計(jì)系統(tǒng)的外部接口信號(hào)用于描述系統(tǒng)內(nèi)部的機(jī)構(gòu)和行為存放已經(jīng)編譯的實(shí)體、構(gòu)造體、包集合和配置用于從庫中選取所需單元組成系統(tǒng)設(shè)計(jì)的不同版本存放各種設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型、常數(shù)和子程序等17VHDL硬件描述語言硬件描述語言 VHDL的基本結(jié)構(gòu)及其優(yōu)點(diǎn)的基本結(jié)構(gòu)及其優(yōu)點(diǎn)VHDL程序的基本結(jié)構(gòu)各類庫及程序包的使用聲明實(shí)體描述,一個(gè)實(shí)體中,含有一個(gè)或一個(gè)以上的結(jié)構(gòu)體,而每個(gè)結(jié)構(gòu)體中可以含有一個(gè)或多個(gè)進(jìn)程,還可以使其他并行語句結(jié)構(gòu)配置說明主要用于以層次化的方式對(duì)特定的設(shè)計(jì)實(shí)體進(jìn)行元件例化,或是為實(shí)體選定某個(gè)特定的結(jié)構(gòu)體18

10、VHDL硬件描述語言硬件描述語言 VHDL的基本結(jié)構(gòu)及其優(yōu)點(diǎn)的基本結(jié)構(gòu)及其優(yōu)點(diǎn)VHDL設(shè)計(jì)硬件電路的優(yōu)點(diǎn):設(shè)計(jì)硬件電路的優(yōu)點(diǎn): 設(shè)計(jì)技術(shù)齊全、方法靈活、支持廣泛 系統(tǒng)硬件描述能力強(qiáng) VHDL可以與工藝無關(guān)進(jìn)行編程 VHDL語言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用19VHDL硬件描述語言硬件描述語言 VHDL的基本結(jié)構(gòu)及其優(yōu)點(diǎn)的基本結(jié)構(gòu)及其優(yōu)點(diǎn)absy0X001X01X010X11120VHDL硬件描述語言硬件描述語言 VHDL的基本結(jié)構(gòu)及其優(yōu)點(diǎn)的基本結(jié)構(gòu)及其優(yōu)點(diǎn)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21 ISPORT(a,b:IN STD_

11、LOGIC; s:IN STD_LOGIC; y:OUT STD_LOGIC);END mux21;ARCHITECTURE behavior OF mux21 ISBEGINy = a WHEN s = 0 ELSE b WHEN s = 1;END ARCHITECTURE behavior;IEEE庫使用說明器件mux21的外部接口信號(hào)說明,PORT相當(dāng)于器件的引腳,這一部分成為實(shí)體器件mux21的內(nèi)部工作邏輯描述,即為實(shí)體描述的器件功能結(jié)構(gòu),稱為結(jié)構(gòu)體21VHDL硬件描述語言硬件描述語言VHDL術(shù)語術(shù)語 實(shí)體(實(shí)體(ENTITY)表達(dá)所有涉及均與實(shí)體有關(guān),實(shí)體是設(shè)計(jì)中的最基本的模塊,設(shè)

12、計(jì)的最頂層是頂級(jí)實(shí)體,如果設(shè)計(jì)分層次那么有一個(gè)較低級(jí)別的描述含在頂級(jí)描述中,這類較低級(jí)別描述是含在頂層實(shí)體中的較低級(jí)實(shí)體22VHDL硬件描述語言硬件描述語言VHDL術(shù)語術(shù)語 結(jié)構(gòu)體(結(jié)構(gòu)體(ARCHITECTURE)所有能被仿真的實(shí)體都有一個(gè)結(jié)構(gòu)體描述,結(jié)構(gòu)體描述實(shí)體的行為功能,一個(gè)實(shí)體可以有多個(gè)結(jié)構(gòu)體,一種結(jié)構(gòu)體可能為行為描述,而另一種結(jié)構(gòu)體可能為設(shè)計(jì)的結(jié)構(gòu)描述23VHDL硬件描述語言硬件描述語言VHDL術(shù)語術(shù)語 配置(配置(CONFIGRATION)用配置語句連接安裝元件到一個(gè)實(shí)體結(jié)構(gòu)體,配置被看作是設(shè)計(jì)的零件清單,它描述對(duì)每個(gè)實(shí)體用哪一種行為,所以非常像一個(gè)描述設(shè)計(jì)每部分用哪一種零件清單

13、24VHDL硬件描述語言硬件描述語言VHDL術(shù)語術(shù)語 程序包(程序包(PACKAGE)設(shè)計(jì)中用的子程序和公用數(shù)據(jù)類型的集合,可以認(rèn)為程序包是構(gòu)造設(shè)計(jì)工具的工具箱 屬相(屬相(ATTRIBUTE)附到VHDL對(duì)象上的數(shù)據(jù)或者是有關(guān)VHDL對(duì)象的預(yù)定義數(shù)據(jù)25VHDL硬件描述語言硬件描述語言VHDL術(shù)語術(shù)語 類屬(類屬(GENERIC)它是傳遞信息參數(shù)到實(shí)體的術(shù)語,例如:實(shí)體是帶有上升和下降延時(shí)的門級(jí)模塊,上升與下降延時(shí)值可以由類屬傳給實(shí)體 進(jìn)程(進(jìn)程(PROCESS)進(jìn)程是基本的執(zhí)行單元,在VHDL描述仿真時(shí),將把所有的運(yùn)算劃分為單個(gè)或多個(gè)進(jìn)程26VHDL硬件描述語言硬件描述語言VHDL程序結(jié)構(gòu)

14、程序結(jié)構(gòu)3.2 VHDL程序結(jié)構(gòu)3.2.1 實(shí)體3.2.2 結(jié)構(gòu)體3.2.3 程序包、庫和配置27VHDL硬件描述語言硬件描述語言VHDL程序結(jié)構(gòu)程序結(jié)構(gòu) 不管是簡(jiǎn)單的數(shù)字電路,還是復(fù)雜的數(shù)字電路,其基本構(gòu)成是一致的它們都是由實(shí)體說明部分和結(jié)構(gòu)體兩部分組成,它們可以構(gòu)成最簡(jiǎn)單的VHDL程序 通常,最簡(jiǎn)單的VHDL程序結(jié)構(gòu)中還應(yīng)該包括另一重要部分,即庫和程序包28VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體實(shí)體 一個(gè)實(shí)用的VHDL程序可以由一個(gè)或多個(gè)設(shè)計(jì)實(shí)體構(gòu)成,可以將一個(gè)設(shè)計(jì)實(shí)體作為一個(gè)完整的系統(tǒng)直接利用,也可以將其作為其他設(shè)計(jì)實(shí)體的一個(gè)低層次的結(jié)構(gòu)(即元件)來例化,就

15、是用實(shí)體來說明一個(gè)具體的器件 設(shè)計(jì)實(shí)體可以代表整個(gè)系統(tǒng)、一塊電路板、一個(gè)芯片、一個(gè)單元或者一個(gè)門電路29VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體實(shí)體實(shí)體說明的一般格式:ENTITY 實(shí)體名 ISGENERIC(類屬表);PORT(端口表);END ENTITY 實(shí)體名;30VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體實(shí)體GRNERIC類屬參數(shù)說明語句 類屬參量是一種端口界面常數(shù),常以一種說明的形式放在實(shí)體或塊結(jié)構(gòu)體前的說明部分 類屬為說說明的環(huán)境提供了一種靜態(tài)信息通道,特別是用來規(guī)定端口的大小、實(shí)體中子元件的數(shù)目、實(shí)體的時(shí)間屬性等31VHDL

16、硬件描述語言硬件描述語言實(shí)體實(shí)體VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體實(shí)體類屬說明的一般書寫格式如下:GRNERIC(常數(shù)名:數(shù)據(jù)類型:=設(shè)定值,);ENTITY body ISGENERIC (datawidth:INTEGER:=8);END ENTITY body;32VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體實(shí)體PORT端口說明 端口說明是對(duì)基本設(shè)計(jì)實(shí)體與外部接口的描述,也可以說是對(duì)外部引腳信號(hào)的名稱,數(shù)據(jù)類型和輸入、輸出方向的描述 端口為設(shè)計(jì)實(shí)體和外部環(huán)境的動(dòng)態(tài)通信提供通道,每個(gè)端口必須有一個(gè)名字、一個(gè)端口模式和一個(gè)數(shù)據(jù)類型 名字是該端口的標(biāo)識(shí)符,模式說明數(shù)據(jù)通過該端

17、口的流動(dòng)方向33VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體實(shí)體端口說明的一般書寫格式如下:PORT(端口名,端口名:端口模式 數(shù)據(jù)類型; 端口名,端口名:端口模式 數(shù)據(jù)類型);34VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體實(shí)體 端口名端口名是賦予每個(gè)外部引腳的名稱,通常用一個(gè)或幾個(gè)英文字母,或者英文字加數(shù)字命名(不可以數(shù)字開頭) 端口模式端口模式用來定義外部管腳的信號(hào)方向是輸入還是輸出35VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體端口模式端口模式含義含義IN輸入OUT輸出(結(jié)構(gòu)體內(nèi)部不可再用)INOUT雙向BUFFER輸出(結(jié)構(gòu)體內(nèi)部可再用)L

18、INKAGE不指定方向,任何方向均可連接一個(gè)實(shí)體通常有一個(gè)或多個(gè)端口,端口類似于原理圖部件符號(hào)上的管腳實(shí)體與外界交流的信息必須通過端口通道流入或流出36VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY nand2 ISPORT (a:IN STD_LOGIC; b:IN STD_LOGIC; c:IN STD_LOGIC);END ENTITY nand2;PORT(端口名,端口名:端口模式 數(shù)據(jù)類型; 端口名,端口名:端口模式 數(shù)據(jù)類型);37VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體實(shí)體 數(shù)據(jù)類型VHDL提供10種數(shù)據(jù)類型,但在實(shí)際使用時(shí),端口描述中的數(shù)據(jù)類型只有兩類,即位(BIT)和位矢量(BIT_VECTOR)BITBIT_VECTOR若端口的數(shù)據(jù)類型定義為BIT,則其信號(hào)值是一個(gè)1位的二進(jìn)制數(shù),取值只能是0或1;BIT數(shù)據(jù)類型是位邏輯數(shù)據(jù)類型若端口的數(shù)據(jù)類型定義為BIT_VECTOR,則其信號(hào)值是一組二進(jìn)制數(shù)38VHDL硬件描述語言硬件描述語言實(shí)體實(shí)體ENTITY mu ISPOR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論