版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1,第七講 VHDL語言的對(duì)象,本講知識(shí)點(diǎn):VHDL文字規(guī)則VHDL的對(duì)象,2,VHDL語言要素,VHDL的文字規(guī)則,與其他計(jì)算機(jī)高級(jí)語言一樣,VHDL也有自己的文字規(guī)則 VHDL文字主要包括數(shù)字和標(biāo)識(shí)符。,1.標(biāo)識(shí)符,標(biāo)識(shí)符主要用來為端口、信號(hào)、變量、子程序、常數(shù)和參數(shù)等命名。,3,有效的字符:包括26個(gè)大小寫英文字母,數(shù)字包括09 以及下劃線“_” 任何標(biāo)識(shí)符必須以英文字母開頭 下劃線“_”的前后必須有英文字母或數(shù)字 標(biāo)識(shí)符中的英語字母不分大小寫 標(biāo)識(shí)符的命名不能與保留字(關(guān)鍵字)相同,其規(guī)則如下:,例: _Decoder_1 , 2FFT, sig_#n ,return,Decoder_
2、1 , FFT, sig_n, Not_ACK,P84 例4-1,4,VHDL93標(biāo)準(zhǔn)在VHDL87基礎(chǔ)上進(jìn)行了擴(kuò)展,為 了便于區(qū)分,將VHDL87標(biāo)準(zhǔn)中的標(biāo)識(shí)符稱為短標(biāo)識(shí) 符,將擴(kuò)展的標(biāo)識(shí)符稱為擴(kuò)展標(biāo)識(shí)符。 擴(kuò)展標(biāo)識(shí)符規(guī)則如:P84,舉例:P84 例4-2,1.標(biāo)識(shí)符(續(xù)),5,2. 數(shù)字,(1)整數(shù):整數(shù)都是十進(jìn)制的數(shù) 如: 5,156E2(=15600),45_234_287 (=45234287),(2)實(shí)數(shù):實(shí)數(shù)也都是十進(jìn)制的數(shù),但必須帶有小數(shù)點(diǎn),如: 88_670_551.453_909(=88670551.453909),1.0,44.99E-2(=0.4499),6,(3)以數(shù)
3、值基數(shù)表示的數(shù): 用這種方式表示的數(shù)由五部分組成:基 # 整數(shù) # 指數(shù) 第一部分:用十進(jìn)制數(shù)標(biāo)明數(shù)值進(jìn)位的基數(shù); 第二部分:數(shù)值隔離符“#”; 第三部分:表達(dá)的數(shù)值; 第四部分:指數(shù)隔離符“#” ; 第五部分:用十進(jìn)制數(shù)表示的指數(shù)部分,若為0可省略不寫。,2. 數(shù)字(續(xù)),7,例如: 10#17# ;-(表示第三部分為十進(jìn)制數(shù),等于17) 16#FE#; -(表示第三部分十六進(jìn)制數(shù) ,等于254) 2#1111_1110#;-(表示第三部分為二進(jìn)制數(shù),等于 254) 8#376#; -(表示第三部分為八進(jìn)制數(shù),等于254) 16#E#1 ;-(表示十六進(jìn)制數(shù),等于14161,等于224),8
4、,3. 字符和字符串,(1) 字符是用單引號(hào)括起來的ASC碼 一般情況下VHDL對(duì)字母的大小寫不敏感,但對(duì)字符的大小寫是敏感的, 例:A 和 a 是不同的。 (2) 字符串是用雙引號(hào)括起來的字符序列 在VHDL中字符串常用來作為說明文字出現(xiàn)。 例:“it is time out” , “ ERROR ” , “Both S and Q equal to 1” 注意:“a” 和 a是不同的,9,B:二進(jìn)制基數(shù)符號(hào),可以省略 O:八進(jìn)制基數(shù)符號(hào) X:十六進(jìn)制基數(shù)符號(hào)(0F) 采用位串的優(yōu)點(diǎn)是為了增加源代碼的可讀性。,例: B1_1101_1110-二進(jìn)制數(shù)數(shù)組,位矢數(shù)組長度是9 O15 - 八進(jìn)制
5、數(shù)數(shù)組,位矢數(shù)組長度是6,4.位串,位串是用雙引號(hào)括起來的數(shù)字序列,數(shù)字序列前面加上一個(gè)基數(shù)說明符:,10,XAD0 -十六進(jìn)制數(shù)數(shù)組,位矢數(shù)組長度是12 101_010_101_010 - 二進(jìn)制數(shù)數(shù)組,位矢數(shù)組長度是12 0AD0 - 表達(dá)錯(cuò)誤,缺X,4.位串(續(xù)),11,例:P85 例4-3,注意: 寫程序時(shí),應(yīng)用關(guān)鍵字時(shí)用大寫,定義的標(biāo)識(shí)符用小寫?;蛘哧P(guān)鍵字用小寫,定義的標(biāo)識(shí)符用大寫,以便于區(qū)分。,12,數(shù)據(jù)對(duì)象(DATA OBJECTS),VHDL是一種硬件描述語言,硬件電路的工作過程實(shí)際上是信號(hào)的傳輸和存儲(chǔ)的過程,所以VHDL最基本的描述對(duì)象是信號(hào)。為了便于描述,還定義了另外三類數(shù)
6、據(jù)對(duì)象:變量、常量和文件。,1. 常量(CONSTANT),定義:常量也稱常數(shù),是指在設(shè)計(jì)實(shí)體中不會(huì)發(fā)生 變化的值。 作用:增加了設(shè)計(jì)文件的可讀性和可維護(hù)性。,13,常量定義的一般表述: CONSTANT 常量名:數(shù)據(jù)類型 := 表達(dá)式 ; 例如: CONSTANT a,b : INTEGER := 2; 例: P85 例4-4,注意:,常量可以在程序包、實(shí)體說明、結(jié)構(gòu)體和進(jìn)程的說明區(qū)域進(jìn)行說明 常量一旦被賦值就不能再改變,14,2. 變量(VARIABLE),變量主要用于對(duì)暫時(shí)數(shù)據(jù)進(jìn)行存儲(chǔ),它不能將信息帶出對(duì)它作出定義的當(dāng)前單元。 定義變量的一般表述: VARIABLE 變量名:數(shù)據(jù)類型 :
7、= 初始值;,常量所賦的值應(yīng)與其所定義的數(shù)據(jù)類型一致,否則出錯(cuò) 常量的使用范圍取決于它被定義的位置。,15,例:VARIABLE a : STD_LOGIC; VARIABLE b ,c : INTEGER := 2; VARIABLE count1,count2,count3 : INTEGER range 0 to 255 := 0 ; 例中定義a為標(biāo)準(zhǔn)邏輯位變量,b,c為整數(shù)型變量,初始值為2等。 變量也可以被連續(xù)地進(jìn)行賦值,變量的賦值采用的符號(hào)是 “:=”,例2,3中的變量已賦給了初始值。,16,變量賦值格式:變量名 := 表達(dá)式; 例:a := “1010101” ; -位矢量賦值
8、b := 0 ; -位賦值 x := 100.0 ; -實(shí)數(shù)賦值,注意: (1)賦值語句右邊的表達(dá)式必須是一個(gè)與目標(biāo)變量具有相同數(shù)據(jù)類型的數(shù)值。 (2)變量是一個(gè)局部量,只能在進(jìn)程和子程序中使用。,17,(3)變量的賦值是一種理想化的數(shù)據(jù)傳輸,是立即發(fā)生的,不存在任何延時(shí)的行為,不能用于硬件連線。 (4)如果將變量用于進(jìn)程之外,必須將它賦給一個(gè)相同類型的信號(hào),即進(jìn)程之間傳遞數(shù)據(jù)靠的是信號(hào)。 P86 例4-6,18,3. 信號(hào)(SIGNAL),信號(hào)是描述硬件系統(tǒng)的基本數(shù)據(jù)對(duì)象,代表電路內(nèi)部各元件之間的連接線,是實(shí)體間動(dòng)態(tài)交換數(shù)據(jù)的手段。 信號(hào)定義語句格式: SIGNAL 信號(hào)名: 數(shù)據(jù)類型 :=
9、 初始值 ;,19,例:SIGNAL clk : std_logic := 0; SIGNAL a : integer range 0 to 15; SIGNAL data : std_logic_vector(15 downto 0); 信號(hào)的初始值不是必須的,而且僅在VHDL的行為仿真中有效; 信號(hào)的使用和定義范圍是實(shí)體、結(jié)構(gòu)體和程序包。,20,信號(hào)賦值采用如下格式: 信號(hào)名 = 表達(dá)式; 例: x = 9; y = x;,說明: 同一信號(hào)不能在兩個(gè)進(jìn)程中賦值。 在同一進(jìn)程中,可以允許多次對(duì)同一信號(hào)賦值。即在同一進(jìn)程中存在多個(gè)同名的信號(hào)被賦值。但是因?yàn)樾盘?hào)的賦值是有延時(shí)的,其結(jié)果只是最后的
10、賦值語句被啟動(dòng)。,21, SIGNAL a,b,c,y,z: integer ; PROCESS(a,b,c ) BEGIN y = a*b; - 不對(duì)y進(jìn)行賦值 z = c-y; y = b; - y的最后賦值 END PROCESS; ,22,信號(hào)與變量賦值語句功能的比較,變量VARIABLE 基本用法:在進(jìn)程中作為局部數(shù)據(jù)存儲(chǔ)單元使用 適用范圍:只能在所定義的進(jìn)程或子程序中使用 行為特性:賦值是沒有延遲的 在進(jìn)程中是立即賦值 賦值符號(hào):用“:=”表示,23,信號(hào)SIGNAL 基本用法:在電路中作為信號(hào)連線使用 適用范圍:在整個(gè)結(jié)構(gòu)體內(nèi)的任何地方都能適用 行為特性:賦值具有一定的延遲 在進(jìn)程中,只在進(jìn)程的最后才對(duì)信號(hào)賦值 代入符號(hào):用“=“ 表示 注:初始賦值時(shí)仍采用”:=“,且不可附加延時(shí)。,24,label1:process variable a,b:integer; begin wait until clk = 1; a:=10; b:=20; a:=b; b:=
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)安全保衛(wèi)與應(yīng)急管理指南(標(biāo)準(zhǔn)版)
- 2025年智能家居產(chǎn)品售后服務(wù)規(guī)范
- 法律合規(guī)與風(fēng)險(xiǎn)控制制度
- 2025年醫(yī)療器械使用與維護(hù)規(guī)范
- 超市員工績效考核及評(píng)價(jià)制度
- 超市庫存管理及盤點(diǎn)制度
- 2026年西岸華府幼兒園短期教師招聘備考題庫及完整答案詳解1套
- 養(yǎng)老院老人健康飲食營養(yǎng)師激勵(lì)制度
- 2026年青島中遠(yuǎn)海運(yùn)物流供應(yīng)鏈有限公司招聘備考題庫完整答案詳解
- 2026年舟山市普朱管委會(huì)黨政辦公室招聘備考題庫及完整答案詳解1套
- 器官移植術(shù)后排斥反應(yīng)的風(fēng)險(xiǎn)分層管理
- 虛擬電廠關(guān)鍵技術(shù)
- 事業(yè)單位清算及財(cái)務(wù)報(bào)告編寫范本
- 護(hù)坡綠化勞務(wù)合同范本
- 臨床績效的DRG與CMI雙指標(biāo)調(diào)控
- 2026年湛江日?qǐng)?bào)社公開招聘事業(yè)編制工作人員備考題庫及完整答案詳解
- 2025-2026學(xué)年人教版數(shù)學(xué)三年級(jí)上學(xué)期期末仿真模擬試卷一(含答案)
- 2025年涼山教師業(yè)務(wù)素質(zhì)測試題及答案
- 2026年昭通市威信縣公安局第一季度輔警招聘(14人)筆試模擬試題及答案解析
- 氫能技術(shù)研發(fā)協(xié)議
- 2025交管12123學(xué)法減分整套試題帶答案解析(全國適用)
評(píng)論
0/150
提交評(píng)論