3VHDL的要素_new_第1頁
3VHDL的要素_new_第2頁
3VHDL的要素_new_第3頁
3VHDL的要素_new_第4頁
3VHDL的要素_new_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、VHDL的要素 VHDL的文字規(guī)則的文字規(guī)則 - (一一)數(shù)字型數(shù)字型(1)整數(shù)型文字)整數(shù)型文字 十進制的數(shù),下劃線為了改善可讀性,沒有其它意義。(2)實數(shù)型文字)實數(shù)型文字 十進制的數(shù),必須帶小數(shù)點。(3)其它數(shù)制表示的數(shù))其它數(shù)制表示的數(shù) 基數(shù)基數(shù) # 數(shù)字?jǐn)?shù)字 # E 指數(shù)指數(shù) (指數(shù)部分如果是0可以不寫 )16#78#;表示十六進制數(shù)78,等于1202#1111_1110#;表示二進制數(shù)11111110,等于2548#376#;表示8進制數(shù)376,等于25416#E#E1 ;表示16進制數(shù)E0,等于224VHDL的文字規(guī)則的文字規(guī)則 -(二二)字符和字符串型文字字符和字符串型文字 (

2、1)字符)字符 用單引號引起來的ASICII字符 (2)字符串)字符串 用雙引號引起來的ASICII字符 注意:字符和字符串型文字是區(qū)分大小寫的。注意:字符和字符串型文字是區(qū)分大小寫的。 (3)數(shù)位串型文字)數(shù)位串型文字(位矢量,表示數(shù)組) 基數(shù)基數(shù) “數(shù)數(shù) ” 數(shù)制基數(shù)用B、O、X分別代表二進制數(shù)、八進制數(shù)、十六進制數(shù)。 矢量長度 指轉(zhuǎn)換為二進制數(shù)后的位數(shù) 如:表示幾進制數(shù)組?矢量長度幾位? B”1101_1011” O”15” X”AD0”VHDL的文字規(guī)則的文字規(guī)則 -數(shù)值型文字?jǐn)?shù)值型文字 在語句中 整數(shù) 不加引號 (integer ) 邏輯位 加單引號/雙引號(bit std_logi

3、c)VHDL的文字規(guī)則的文字規(guī)則 -(三)(三) 標(biāo)識符標(biāo)識符 用戶在程序中給信號、變量、端口等起的名字用戶在程序中給信號、變量、端口等起的名字 可以使用可以使用26個大、小寫英文字母;數(shù)字個大、小寫英文字母;數(shù)字09以以及下劃線及下劃線“_”。 必須以英文字母開頭。必須以英文字母開頭。 下劃線的前后都必須有英文字母或數(shù)字。下劃線的前后都必須有英文字母或數(shù)字。 不能使用不能使用VHDL的關(guān)鍵詞。的關(guān)鍵詞。 不區(qū)分大小寫不區(qū)分大小寫VHDL的文字規(guī)則的文字規(guī)則 -(四)(四) 下標(biāo)名和段名下標(biāo)名和段名 (1)段名)段名 (數(shù)組)(數(shù)組) 多個下標(biāo)名的組合,對應(yīng)于數(shù)組中某一段元素多個下標(biāo)名的組合,

4、對應(yīng)于數(shù)組中某一段元素 標(biāo)識符(表達式標(biāo)識符(表達式 方向方向 表達式)表達式) (2)下標(biāo)名)下標(biāo)名 (數(shù)組中的元素)(數(shù)組中的元素) 指示數(shù)組型變量或信號的某一元素指示數(shù)組型變量或信號的某一元素 標(biāo)識符(表達式)標(biāo)識符(表達式) 其中標(biāo)識符必須是其中標(biāo)識符必須是數(shù)組型變量或數(shù)組型信號數(shù)組型變量或數(shù)組型信號的名字,的名字,表達式所代表的值必須在數(shù)組下標(biāo)范圍內(nèi)。表達式所代表的值必須在數(shù)組下標(biāo)范圍內(nèi)。下標(biāo)名和段名下標(biāo)名和段名 # 區(qū)分區(qū)分 : A3 A(3) Eg: SIGNAL A,B:BIT_VECTOR(0 TO 3);); SIGNAL M:INTEGERRANGE0 TO 3; SIG

5、NAL Y,Z:BIT; Y=A(M););- -不可計算的下標(biāo)不可計算的下標(biāo) Z=B(3););- -可計算的下標(biāo)可計算的下標(biāo)VHDL的數(shù)據(jù)對象的數(shù)據(jù)對象 數(shù)據(jù)對象是指可以接受賦值的目標(biāo)。數(shù)據(jù)對象是指可以接受賦值的目標(biāo)。 VHDL中的數(shù)據(jù)對象主要有中的數(shù)據(jù)對象主要有3類,即信號(類,即信號(SIGNAL)、)、變量(變量(VARIABLE)和常量()和常量(CONSTANT)。)。 定義語句定義語句 SIGNAL 信號名:數(shù)據(jù)類型信號名:數(shù)據(jù)類型 := 初始值初始值; VARIABLE 變量名:數(shù)據(jù)類型變量名:數(shù)據(jù)類型 := 初始值初始值; CONSTANT 常量名:數(shù)據(jù)類型常量名:數(shù)據(jù)類型

6、 := 初始值初始值; VHDL的數(shù)據(jù)對象的數(shù)據(jù)對象 # 變量與信號的異同點?變量與信號的異同點? Same: 電路中的連線或信號電路中的連線或信號 Differ: signal 全局(結(jié)構(gòu)體說明部分定義)全局(結(jié)構(gòu)體說明部分定義) variable 局部(進程或子程序中定義)局部(進程或子程序中定義) 賦值語句賦值語句 賦值目標(biāo)名賦值目標(biāo)名 賦值符號賦值符號 賦值源表達式;賦值源表達式;VHDL的數(shù)據(jù)類型的數(shù)據(jù)類型 預(yù)預(yù)定定義義 STD庫庫 布爾(布爾(BOOLEAN) 位(位(BIT) 位位矢量(矢量(BIT_VECTOR) 整數(shù)整數(shù)(INTEGER) 自動包含在VHDL源文件中,不必用庫

7、語句調(diào)用。 IEEE庫庫STD_LOGIC_1164程序包程序包 標(biāo)準(zhǔn)邏輯位(標(biāo)準(zhǔn)邏輯位(STD_LOGIC) (0、1、Z 、X) 標(biāo)準(zhǔn)邏輯矢量(標(biāo)準(zhǔn)邏輯矢量(STD_LOGIC_VECTOR) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;VHDL的數(shù)據(jù)類型的數(shù)據(jù)類型 對比下列數(shù)據(jù)類型 只有同位寬、同數(shù)據(jù)類型的矢量之間才能進行賦值。只有同位寬、同數(shù)據(jù)類型的矢量之間才能進行賦值。 INTEGER 用RANGE子句規(guī)定范圍 SIGNAL A: INTEGER RANGE 0 TO 15; 轉(zhuǎn)換BITBIT_VECTORSTD_LOGICSTD_LOGIC_

8、VECTOR SIGNAL A , Z : BIT_VECTOR ( 0 TO 7 ) ; SIGNAL B : STD_LOGIC_VECTOR (4 DOWNTO 0 ) ; SIGNAL C : STD_LOGIC_VECTOR ( 0 TO 4 ) ; SIGNAL E : STD_LOGIC_VECTOR ( 0 TO 3 ) ; SIGNAL D: STD_LOGIC ; VARIABLE F : BIT_VECTOR( 7 DOWNTO 4 ); CONSTANT G : INTEGER Z ( 0 TO 3 ) = A ( 4 TO 7) ; B ( 2 ) = 1 ; B (

9、 3 DOWNTO 0 ) = “ 1010 “ ; C ( 2 ) = D ; F = C ; C = B ; E = C ; E = C ( 1 TO 4 ) ; VHDL的數(shù)據(jù)類型的數(shù)據(jù)類型 自自定定義義 TYPE 定義全新的數(shù)據(jù)類型定義全新的數(shù)據(jù)類型 TYPE 數(shù)據(jù)類型名數(shù)據(jù)類型名 IS 數(shù)據(jù)類型定義數(shù)據(jù)類型定義 OF 基本基本數(shù)據(jù)類型;數(shù)據(jù)類型; TYPE 數(shù)據(jù)類型名數(shù)據(jù)類型名 IS 數(shù)據(jù)類型定義;數(shù)據(jù)類型定義; type states is (st0,st1,st2,st3);SUBTYPE 基本類型上作約束,不可定義全新的數(shù)據(jù)類型基本類型上作約束,不可定義全新的數(shù)據(jù)類型 SUBT

10、YPE 子類型名子類型名 IS 基本類型基本類型 RANGE 約約束范圍;束范圍; 盡可能使用子類型語句設(shè)定約束范圍,提高盡可能使用子類型語句設(shè)定約束范圍,提高綜合優(yōu)化的效率。綜合優(yōu)化的效率。VHDL的操作符的操作符 -(一)(一) 邏輯操作符邏輯操作符 通常,在一個表達式中有兩個以上的算符時,要用括通常,在一個表達式中有兩個以上的算符時,要用括號將這些運算分組。號將這些運算分組。 如果一串運算的算符相同,且是如果一串運算的算符相同,且是AND、OR、XOR中中的一個,則不需使用括號;的一個,則不需使用括號; 如果一串運算中的算符不同或有這如果一串運算中的算符不同或有這3種之外的算符,種之外的

11、算符,則必須使用括號。例如:則必須使用括號。例如: A and B and C and D - -不需括號不需括號 (A or B)and C - -要用括號要用括號VHDL的操作符的操作符 -(二)(二) 關(guān)系操作符關(guān)系操作符VHDL的操作符的操作符 -(三)(三) 算術(shù)操作符算術(shù)操作符 加、減操作只適用于整數(shù),如果要對位矢量進行算術(shù)運算,需加、減操作只適用于整數(shù),如果要對位矢量進行算術(shù)運算,需要打開要打開 STD_LOGIC_UNSIGNED程序包,對算術(shù)運算重載。程序包,對算術(shù)運算重載。 SLL將位矢向左移,右邊跟進的位補零;將位矢向左移,右邊跟進的位補零;SRL的功能與的功能與SLL相

12、相反;反; ROL與與ROR是移出的位依次填補移空的位,執(zhí)行自循環(huán)移位是移出的位依次填補移空的位,執(zhí)行自循環(huán)移位方式;方式; SLA 和和SRA是算術(shù)移位操作符,移空位用最初的首位填補;是算術(shù)移位操作符,移空位用最初的首位填補; 移位操作符的語句格式是:移位操作符的語句格式是: 標(biāo)識符標(biāo)識符 移位操作符移位操作符 移位位數(shù);移位位數(shù); A ROL 3;VHDL的操作符的操作符 -(四)(四) 符號操作符符號操作符 對于對于VHDL中的操作符與操作數(shù)間的運算有幾點特別中的操作符與操作數(shù)間的運算有幾點特別注意:注意: (1)括號的使用)括號的使用 (2)嚴(yán)格遵循基本操作符間操作數(shù)是同數(shù)據(jù)類型的)嚴(yán)格遵循基本操作符間操作數(shù)是同數(shù)據(jù)類型的規(guī)則規(guī)則 (3)嚴(yán)格遵循操作數(shù)的數(shù)據(jù)類型必須與操作符所要)嚴(yán)格遵循操

溫馨提示

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

評論

0/150

提交評論