版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、VHDL硬件描述語言硬件描述語言1.1VHDL概述1.1.1VHDL的特點VHDL語言作為一種標準的硬件描述語言,具有結(jié)構(gòu)嚴謹、描述能力強的特點,由于VHDL語言來源于C、Ftran等計算機高級語言,在VHDL語言中保留了部分高級語言的原語句,如if語句、子程序和函數(shù)等,便于閱讀和應用。具體特點如下:1.支持從系統(tǒng)級到門級電路的描述,既支持自底向上(bottomup)的設計也支持從頂向下(topdown)的設計,同時也支持結(jié)構(gòu)、行為和數(shù)
2、據(jù)流三種形式的混合描述。2.VHDL的設計單元的基本組成部分是實體(entity)和結(jié)構(gòu)體(architecture),實體包含設計系統(tǒng)單元的輸入和輸出端口信息,結(jié)構(gòu)體描述設計單元的組成和行為,便于各模塊之間數(shù)據(jù)傳送。利用單元(compo)、塊(block)、過程(procure)和函數(shù)(function)等語句,用結(jié)構(gòu)化層次化的描述方法,使復雜電路的設計更加簡便。采用包的概念,便于標準設計文檔資料的保存和廣泛使用。3.VHDL語言有常
3、數(shù)、信號和變量三種數(shù)據(jù)對象,每一個數(shù)據(jù)對象都要指定數(shù)據(jù)類型,VHDL的數(shù)據(jù)類型豐富,有數(shù)值數(shù)據(jù)類型和邏輯數(shù)據(jù)類型,有位型和位向量型。既支持預定義的數(shù)據(jù)類型,又支持自定義的數(shù)據(jù)類型,其定義的數(shù)據(jù)類型具有明確的物理意義,VHDL是強類型語言。4.數(shù)字系統(tǒng)有組合電路和時序電路,時序電路又分為同步和異步,電路的動作行為有并行和串行動作,VHDL語言常用語句分為并行語句和順序語句,完全能夠描述復雜的電路結(jié)構(gòu)和行為狀態(tài)。1.1.2VHDL語言的基本
4、結(jié)構(gòu)VHDL語言是數(shù)字電路的硬件描述語言,在語句結(jié)構(gòu)上吸取了Ftran和C等計算機高級語言的語句,如IF語句、循環(huán)語句、函數(shù)和子程序等,只要具備高級語言的編程技能和數(shù)字邏輯電路的設計基礎,就可以在較短的時間內(nèi)學會VHDL語言。但是VHDL畢竟是一種描述數(shù)字電路的工業(yè)標準語言,該種語言的標識符號、數(shù)據(jù)類型、數(shù)據(jù)對象以及描述各種電路的語句形式和程序結(jié)構(gòu)等方面具有特殊的規(guī)定,如果一開始就介紹它的語法規(guī)定,會使初學者感到枯燥無味,不得要領。較好
5、的辦法是選取幾個具有代表性的VHDL程序?qū)嵗?,先介紹整體的程序結(jié)構(gòu),再逐步介紹程序中的語法概念。一個VHDL語言的設計程序描述的是一個電路單元,這個電路單元可以是一個門電路,或者是一個計數(shù)器,也可以是一個CPU。一般情況下,一個完整的VHDL語言程序至少要包含程序包、實體和結(jié)構(gòu)體三個部分。實體給出電路單元的外部輸入輸出接口信號和引腳信息,結(jié)構(gòu)體給出了電路單元的內(nèi)部結(jié)構(gòu)和信號的行為特點程序包定義在設計結(jié)構(gòu)體和實體中將用到的常數(shù)、數(shù)據(jù)類型、
6、子程序和設計好的電路單元等。一位全加器的邏輯表達式是:S=A⊕B⊕CiCo=ABACiBCi全加器的VHDL程序的文件名稱是fulladder.VHD,其中VHD是VHDL程序的文件擴展名,程序如下:LIBRARYIEEEIEEE標準庫USEIEEE.STD_LOGIC_1164.ALLUSEIEEE.STD_LOGIC_ARITH.ALLUSEIEEE.STD_LOGIC_UNSIGNED.ALLENTITYfulladderISfu
7、lladder是實體名稱PT(ABCi:INSTD_LOGIC定義輸入輸出信號CoS:OUTSTD_LOGIC)ENDfulladderARCHITECTUREaddstrOFfulladderISaddstr是結(jié)構(gòu)體名BEGINS=AXBXCiCo=(AB)(ACi)(BCi)ENDaddstr從這個例子中可以看出,一段完整的VHDL代碼主要由以下幾部分組成:3.端口信號輸入輸出狀態(tài)有以下幾種狀態(tài):IN信號進入電路單元。OUT信號從電
8、路單元輸出。INOUT信號是雙向的,既可以進入電路單元也可以從電路單元輸出。BUFFER信號從電路單元輸出,同時在電路單元內(nèi)部可以使用該輸出信號。小提示:OUT與BUFFER信號的區(qū)別就在于信號是否往內(nèi)部有反饋,將輸出端口定義為BUFFER型,可以省去一個用于中間運算的一個臨時信號,但是并不推薦這么做。4.端口數(shù)據(jù)類型(TYPE)定義端口信號的數(shù)據(jù)類型,在VHDL中,常用的端口信號數(shù)據(jù)類型如下:(1)位(BIT)型:表示一位信號的值,可
9、以取值‘0’和‘1’,放在單引號里面表示,如X=‘1’,Y=‘0’。(2)位向量(BIT_VECT)型:表示一組位型信號值,在使用時必須標明位向量的寬度(個數(shù))和位向量的排列順序,例如:Q:OUTBIT_VECT(3downto0),表示Q3,Q2,Q1,Q0四個位型信號。位向量的信號值放在雙引號里面表示,例如Q=“0000”(3)標準邏輯位(STD_LOGIC)型:IEEE標準的邏輯類型,它是BIT型數(shù)據(jù)類型的擴展,可以取值‘U’,‘
10、X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘’等。(4)標準邏輯位向量(STD_LOGIC_VECT)型:IEEE標準的邏輯向量,表示一組標準邏輯位型信號值。VHDL是與類型高度相關(guān)的語言,不允許將一種數(shù)據(jù)類型的信號賦予另一種數(shù)據(jù)類型的信號。除了上述介紹的數(shù)據(jù)類型外,還有其他多種數(shù)據(jù)類型用于定義內(nèi)部信號和變量,請參見12節(jié)。小提示:相同類型(模型相同,數(shù)據(jù)類型相同)的端口可以寫在同一行,如:ENTITYcntm16ISPT(
11、ENRdCLK:INSTD_LOGICCo:OUTSTD_LOGICQ:BUFFERSTD_LOGIC_VECT(3DOWNTO0))ENDcntm16此外要注意,最后一個端口結(jié)尾沒有分號!1.1.4VHDL語言的結(jié)構(gòu)體(ARCHITECTURE)結(jié)構(gòu)體是VHDL程序設計中的最主要組成部分,是描述設計單元的具體結(jié)構(gòu)和功能,在程序中,結(jié)構(gòu)體放在實體的后面。每一個結(jié)構(gòu)體都有名稱,結(jié)構(gòu)體的名稱是由設計者任取的,結(jié)構(gòu)體是以標識符ARCHITEC
12、TURE開頭,以END結(jié)尾。結(jié)構(gòu)體可以有三種描述方式,分別是行為(BEAVHER)描述方式、數(shù)據(jù)流(DATAFLOW)描述方式和結(jié)構(gòu)(STRUCTURE)描述方式,其中數(shù)據(jù)流(DATAFLOW)描述方式又稱為寄存器(RTL)描述方式。不同的結(jié)構(gòu)體采用不同的描述語句。結(jié)構(gòu)體的一般格式為:ARCHITECTURE結(jié)構(gòu)體名OF實體名稱IS說明語句BEGIN電路描述語句END結(jié)構(gòu)體名;結(jié)構(gòu)體說明語句是對結(jié)構(gòu)體中用到的數(shù)據(jù)對象的數(shù)據(jù)類型、元件和子
13、程序等加以說明。電路描述語句用并行語句來描述電路的各種功能,這些并行語句包括并行信號賦值語句、條件賦值(WHENELSE)語句、進程(PROCESS)語句、元件例化(COMPOMAP)語句和子程序調(diào)用語句等。小提示:結(jié)構(gòu)體中定義的參數(shù)(信號,變量等)名稱不能與其所屬實體的端口名重名。結(jié)構(gòu)體的結(jié)束語句也可以寫成ENDARCHITECTURE結(jié)構(gòu)體名或者簡寫為END。例112設計程序的結(jié)構(gòu)體部分如下:ARCHITECTUREcounstrO
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vhdl語法格式
- perl的基本語法perl的基本語法
- 大學生實習報告模板7篇_1共34頁
- 大學生實習報告模板7篇_1共34頁
- 管理信息系統(tǒng)課程設計報告共34頁
- 管理信息系統(tǒng)課程設計報告共34頁
- 紫微斗數(shù)基本教程共67頁
- 大學英語語法課堂翻轉(zhuǎn)教學模式論文共5頁
- 農(nóng)業(yè)統(tǒng)計方法-34頁
- 安徽小吃簡略
- 第頁(共頁)
- 基本語法of的用法
- 法語最全基本語法
- 說明書(34頁).doc
- 說明書(34頁).doc
- 專題及翻譯(34頁).doc
- 說明書(34頁).doc
- 說明書(34頁).doc
- 專題及翻譯(34頁).doc
- 萬科品牌之路(34)頁
評論
0/150
提交評論