電子設計大賽316.學科vhdl保留字_第1頁
電子設計大賽316.學科vhdl保留字_第2頁
電子設計大賽316.學科vhdl保留字_第3頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、與其他計算機編程語言一樣,VHDL 也有自己嚴格的數據組成規則。它包括標識符、保留字、數據對象和數據類型等語法細則一、標識符、擴展標識符和保留字標識符是最常用的操作符。VHDL 的標識符有基本標識符和擴展標識符兩種(一)基本標識符的規1)注釋符“-”表示后面的是 VHDL 2)26 個大小寫英文字母,包括:“a”“z”、“A”“Z”,數字“0”“9”,以及下劃線標識符中的英語字母不分大小標識符必須以英文字母開頭必須是單一下劃線“_”,其前后都必須有英文字母或數字,并且不能以下劃線“_”結尾(二)擴展標識符的規VHDL93 標準對基本標識符進行擴展標識符以反斜杠來界定,如74LS373、 Hel

2、lo World都是合法的可以是任何字符,包括圖形符號,如回車符、換行符、空格符等也都是兩個反斜杠之間允許有多個下劃線相鄰擴展標識符區分大小寫擴展標識符中的一個反斜杠,要用兩個反斜杠來代在 VHDL 設計中定義短標識符時,應該注意那些有專門含義的保留字。不能將保留字定義為標識符。VHDL 保留字如表 8-1 所示8-1VHDL 保留二、數據對象VHDL 的數據對象(Data Objects) 是數據類型的載體,它接受不同數據類型的賦值。數據對CONSTANT、變量VARIABLE 和信號三種類型。變量和信號可以連續被賦值,而常量只可以在被說明時一次性地賦值常量是一個恒定不變的值,一旦作了數據類

3、型和賦值定義,在程序中不能再改變,具有全局性意義。常量的定義形式如下CONSTANT 常數名數據類型:= 常量的數據類型可以是標量類型或復合類型,但不能是文件類型(file或存取類型(Access)子程序中。在結構體中定義的常量是局部常量;在程序包中定義的常量可以暫不設定具體數值。值語句中。定義變量的語法格式如下:VARIABLE 變量名數據類型:= 初始在表達式中可以用變量賦值語句為變量賦值。變量賦值語句的語法格式如下目標變量名:= 表達信號類似于連接線,信號可以作為設計實體中并行語句模塊間的信息交流通道。信號可以設置初始值。它的定義格式如下SIGNAL 信號名數據類型:= 初始信號可以看成

4、是實體內部的端口。實體的端口是一種隱形的信號;在實體中定義的端口,在其結構體中都可以看成是一個信號當信號定義了數據類型和表達方式后,在 VHDL 設計中就能對信號進行賦值。賦值語句表達式如目標信號名= 信號可以在實體、結構體、塊中定義;在進程和子程序中使用信號三、數據類型和子類型L有很強的類型概念VHDL的數據類型可以分為四大類:標量類型(ScalarTysCostiteTypes(AccessType)(FilsType。圖-2給出L的數據類型。(一)VHDL 預定義的數據IEEE VHDL 描述了兩個特定程序包 STANDARD 和 TEXTIO。STANDARD 程序包聲明了 VHDL

5、預定義的數據類型和函數,它指支持所有 的硬件實現。TEXTIO 程序包包含與輸入和輸出有關的類型和函數。下面給出 STANDARD 程序包的具體內容-ThisisPackageSTANDARDasdefinedintheVHDL1987 packagestandard typebooleanistypebitistypecharacterisNUL,SOH,STX,ETX,EOT,ENQ,ACK,BEL, BS, HT, LF, VT, FF, CR, SO, SI,DLE,DC1,DC2,DC3,DC4,NAK,SYN,ETB, CAN,EM,SUB,ESC,FSP,GSP,RSP,USP,

6、 , !, ,#, $, % ,&, ,(,),*,+,-,.0,1,2,3,4,5,6,8,9,:,;,A,B,C,D,E,F,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,X,Y,Z,a,b,c,d,e,f,h,i,j,k,l,m,n,p,q,r,s,t,u,v,x,y,z,|,DEL)typeseverity_levelis typeintegerisrangeimplementation_typerealisrangeimplementation_ typetimeisrangeimplementation_ hr=60min-end-functionthatreturnst

7、hecurrentsimulationfunctionnowreturn subtypenaturalisintegerrange0tosubtypepositiveisintegerrange1to typestringisarray(positiverange)ofcharacter; type bit _ vector is array (natural range ) of bit; endstandard;由此可見,STANDARD 程序包主要是標量類型,包括:整數 Integer、浮點 Floating、枚舉 Enumeration 和物理 Physcal 類型等其中,整數用32位

8、的位向量來描述,其取值范圍是(231-1),即-2147483647+2147483647;浮點類型是-1.0E38+1.0E38范圍的實數;枚舉類型指BIT BOOLEAN 兩種類型,BIT BOOLEAN 兩種類型的值可以互相轉換。將一個BIT 值轉換成BOOLEAN 值的語句是:BOOLEAN_VAR 而將一個BOOLEAN 值轉換成BIT 值的語句是if(BOOLEAN_VAR)thenBIT_VAR elseBIT_VAR endif 預定義的物理類型是時間 Time,基本單位是 fs(10-15s)(二)VHDL 允許的自定義數據類自定義數據類型主要有復合類型、存取類型、文件類型和

9、子類型等復合類型復合類型包括數組類型和記錄類型兩種數組類型是一組相同數據類型元素的集合,數組的元素可以是任何一種數據類型。數組中元素的個數,以及元素的排序方向(即下標數是由低到高,或是由高到低)由數組元素的下標范圍決定。如子句“0TO”是由低到高排序的8個元素;“DOWNTO0”是由高到低排序的6個元素。L定性數組下標的取值范圍需留待隨后確定。定義限定性數組的語句格式如下TYPE 數組名ISARRAY數組范圍OF 數據類其中,數組名是新定義的限定性數組類型的名稱;數組范圍是元素的數量和排序方式,并且以整數表示;數據類型則是數組各元素的數據類型定義取值,使相同的數據對象具有不同下標取值。定義非限

10、制性數組的語句格式如下TYPE 數組名ISARRAY數組下RANGEOF 數據類型再填入具體的數值范圍(注意:符號間不能有空格);數據類型是數組中每一元素的數據類型。記錄類型是不同數據類型元素的集合記錄是一種異構復合類型,記錄中的元素可以是不同的類型定義記錄類型的語句格式如TYPE 記錄類元素名: 元素數據類型元素名: 元素數據類型ENDRECORD記錄類型名序。例如,在STANDARD程序包中,NATURAL和POSITIVE是INTEGER類型的子類型,它們可以用于任何INTEGER函數。定義子類型的語句格式如下SUBTYPE 子類型名IS 數據類型名范圍表 8-2VHDL 的運算符及其優

11、先*乘/除+正-負+加-減&=與或四、運算符及其預定義程序包結果的類型等方面。不同類型的運算符之間也有一定的優先級關系,優先級的運算規則與一般程序設計語言相8-2VHDL的運算操作符 IEEE 的標準程序包 STD_LOGIC_1164 定義了一個描述用于 VHDL 建模的數據類型的互聯標準程序包 STD_LOGIC_ARITH 定義了算術和關系操作符、兩種主要數據類型 UNSIGNED 和 SIGNED、以及 3 套函數。它定義的函數支持 VHDL 預定義 INTEGER 類型的轉化(即可以將 INTEGER 與別的類型互相轉化)、算術、比較、和 BOOLEAN 操作;也支持數據類型數據的算術操作和數IEEE的標準程序包STD_LOGIC_UNSIGNED在包前用use語句引用了標準程序包STD_LOGIC_1164STD_LOGIC_ARITH。從而,對 std_logic_vector 類型進行了擴充定義,使之可uns

溫馨提示

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

評論

0/150

提交評論