




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四講 VHDL的基本描述語(yǔ)句VHDL語(yǔ)言的描述語(yǔ)句按語(yǔ)句執(zhí)行的順序分類,可以分為兩類:)順序(Sequential)描述語(yǔ)句,)并發(fā)(Concurrent)描述語(yǔ)句。順序描述語(yǔ)句特點(diǎn):每一條順序語(yǔ)句的執(zhí)行順序與其書寫順序?qū)?yīng)。所謂“順序執(zhí)行”是指在仿真意義上的順序性,并不意味著順序語(yǔ)句對(duì)應(yīng)的硬件結(jié)構(gòu)也有相同的順序性。順序語(yǔ)句只能出現(xiàn)在進(jìn)程或子程序中(包括函數(shù)和過(guò)程)。進(jìn)程是由一系列順序語(yǔ)句構(gòu)成的,而進(jìn)程本身是并行語(yǔ)句,也就是說(shuō),在同一設(shè)計(jì)實(shí)體中,所有進(jìn)程是并行執(zhí)行的,而在任一時(shí)刻,在進(jìn)程內(nèi)部只有一條語(yǔ)句被執(zhí)行。順序描述語(yǔ)句的種類: WAIT 語(yǔ)句 順序斷言語(yǔ)句 順序信號(hào)代入語(yǔ)句 順序變量賦值
2、語(yǔ)句 IF 語(yǔ)句 CASE 語(yǔ)句 LOOP 語(yǔ)句 NEXT 語(yǔ)句 EXIT 語(yǔ)句 順序過(guò)程調(diào)用語(yǔ)句 NULL 語(yǔ)句WAIT語(yǔ)句WAIT 無(wú)限等待WAIT ON 信號(hào)列表 敏感信號(hào)量變化WAIT UNTIL 條件表達(dá)式 條件滿足WAIT FOR 時(shí)間表達(dá)式 時(shí)間到 WAIT ON a,b; WAIT UNTIL “en=1; WAIT FOR 10ns;WAIT ON 信號(hào)信號(hào),信號(hào)信號(hào);eg:Process(a,b) process begin begin y= a and b; wait on a,b;End process; y=a and b; end process; Pay:Proc
3、ess(a ,b) begin wait on a,b; -錯(cuò)誤語(yǔ)句(如果進(jìn)程中已有敏感變量, y=a and b; 則再使用WAIT ON是錯(cuò)誤的)End process;WAIT UNTIL 布爾表達(dá)式; WAIT UNTIL(x*10)100);WAIT FOR 時(shí)間表達(dá)式; WAIT FOR 20ns; WAIT FOR (a+b); 多條件WAIT 語(yǔ)句 WAIT ON en,a UNTIL (EN=1) or (a=true) FOR 5us;說(shuō)明:表達(dá)式的值至少包含一個(gè)信號(hào)量的值,如果都是變量,即使有新的變化, 也不會(huì)計(jì)算表達(dá)式,這樣就成為恒久等待語(yǔ)句,包含該等待語(yǔ)句的進(jìn)程 將不
4、能再啟動(dòng)。 IFIF 條件表達(dá)式 THEN 順序語(yǔ)句;END IF;IF 條件表達(dá)式 THEN 順序語(yǔ)句;ELSE 順序語(yǔ)句;END IF;判斷條件是否成立。若條件成立,則執(zhí)行THEN 和END IF 之間的順序語(yǔ)句;若條件不成立,則跳過(guò)不執(zhí)行,IF 語(yǔ)句結(jié)束,執(zhí)行后續(xù)語(yǔ)句。判斷條件是否成立。若條件成立,則執(zhí)行THEN 和ELSE 之間的順序語(yǔ)句;若條件不成立,則執(zhí)行ELSE 和END IF 之間的順序語(yǔ)句。IFIF 條件表達(dá)式1 THEN 順序語(yǔ)句;ELSIF 條件表達(dá)式2 THEN 順序語(yǔ)句; ELSE 順序語(yǔ)句;END IF;自上而下逐一判斷條件是否成立。若條件成立,則執(zhí)行相應(yīng)的順序語(yǔ)句
5、,并不再判斷其它表達(dá)式,直接結(jié)束 IF 語(yǔ)句的執(zhí)行。這種語(yǔ)法格式能夠進(jìn)行優(yōu)先級(jí)的判斷,因此各條件表達(dá)式中的條件可以重疊。MUX4-1Input(0)Input(1)Input(2)Input(3)Sel(0) Sel(1)q sel 00 01 10 11 qinput(0)input(1) input(2) input(3)功能表:Eg: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX4 IS PORT (input: IN STD_LOGIC_VECTOR (3 DOWNTO 0); sel: IN STD_LOGIC_VECTO
6、R (1 DOWNTO 0); y: OUT STD_LOGIC);END MUX4;ARCHITECTURE MUX4_ARCH OF MUX4 IS BEGINPROCESS(sel,input)BEGIN IF(sel=“00”) THEN y=input(0); ELSIF(sel=“01”) THEN y=inpit(1); ELSIF(sel=“10”) then y=input(2); ELSE y 順序語(yǔ)句;WHEN 條件表達(dá)式2 = 順序語(yǔ)句; WHEN OTHERS =順序語(yǔ)句;END CASE;若有多個(gè)選擇值,則用“|” 間隔,例如:2|3 表示2或3?!?”相當(dāng)于IF
7、語(yǔ)句中的THEN。條件表達(dá)式的值不可重疊,例如不可同時(shí)出現(xiàn) WHEN “00” | ”01” 和WHEN “00” | ”11” 。當(dāng)CASE語(yǔ)句的條件表達(dá)式的值無(wú)法覆蓋所有情況時(shí),要用OTHERS指出未能列出的其它所有情況的輸出值。CASECASE 輸 入輸 出G1G2A+G2BcbaY(7)Y(6)Y(5)Y(4)Y(3)Y(2)Y(1)Y(0)0XXXX11111111X1XXX1111111110000111111101000111111101100101111101110011111101111010011101111101011101111110110101111111011101
8、111111CASElibrary ieee;use ieee.std_logic_1164.all;entity decode_3to8 is Port ( a,b,c,G1,G2A,G2B:in std_logic; y:out std_logic_vector(7 downto 0);end decode_3to8;architecture dec_arch of decode_3to8 is signal indata: std_logic_vector(2 downto 0); begin indatayyyyyyyyy=XXXXXXXX; end case; else y=1111
9、1111; end if; end process;end dec_arch;LOOP 標(biāo)號(hào):FOR 循環(huán)變量 IN 循環(huán)范圍 LOOP 順序處理語(yǔ)句; END LOOP 標(biāo)號(hào);循環(huán)變量是一個(gè)臨時(shí)變量,僅在此LOOP語(yǔ)句中有效,不必事先定義。i 不必事先定義。不要將sum定義成信號(hào)而是變量。sum:=0;FOR i in 1 to 9 LOOP sum:=sum + i;END LOOP;LOOP標(biāo)號(hào):WHILE 條件 LOOP 順序處理語(yǔ)句; END LOOP 標(biāo)號(hào);如果條件為真,則進(jìn)行循環(huán),如果條件為假,則結(jié)束循環(huán)。i:=1;sum:=0;WHILE i10; END LOOP L1;EX
10、ITEXIT;EXIT LOOP標(biāo)號(hào);EXIT LOOP標(biāo)號(hào) WHEN 條件表達(dá)式FOR i in 0 TO 7 LOOP IF (flag=TRUE) THEN EXIT; ELSE c=a and b; END IF;END LOOP;L1: FOR i in 0 TO 7 LOOP IF (flag=TRUE) THEN EXIT L1; ELSE c=a and b; END IF; END LOOP;L1: WHILE i10 LOOP L2: WHILE jnsel , b=b , c=ab);元件例化語(yǔ)句PROCESS歸納一下process大致有一下幾個(gè)特點(diǎn): 它可以與其他進(jìn)程并
11、發(fā)運(yùn)行,并可存取構(gòu)造體或?qū)嶓w 信號(hào)中所定義的信號(hào); 進(jìn)程結(jié)構(gòu)中的所有語(yǔ)句都是按順序執(zhí)行的; 為啟動(dòng)進(jìn)程,在進(jìn)程結(jié)構(gòu)中必須包含一個(gè)顯式的敏感 信號(hào)量表或者包含一個(gè)WAIT語(yǔ)句; 進(jìn)程之間的通信是通過(guò)信號(hào)量傳遞來(lái)實(shí)現(xiàn)的。并發(fā)信號(hào)代入語(yǔ)句并發(fā)信號(hào)代入語(yǔ)句賦值目標(biāo)= 表達(dá)式;在進(jìn)程內(nèi)部時(shí),作為順序語(yǔ)句使用;在進(jìn)程外部時(shí),作為并行語(yǔ)句使用。作為并行語(yǔ)句使用時(shí),表達(dá)式的值是此條語(yǔ)句的敏感信號(hào),即表達(dá)式值的變化會(huì)激發(fā)語(yǔ)句的執(zhí)行。并發(fā)信號(hào)代入語(yǔ)句并發(fā)信號(hào)代入語(yǔ)句architecture of is begin output=input;end;architecture of is begin process(
12、input) begin output=input; end process;end;條件信號(hào)代入語(yǔ)句與IF語(yǔ)句:IF語(yǔ)句只能在進(jìn)程(PROCESS)中使用,因?yàn)樗琼樞蛘Z(yǔ)句,而條件語(yǔ)句中的ELSE不可以省略,IF中的就可以省略,除此之外重要的一點(diǎn)是條件信號(hào)代入語(yǔ)句不能嵌套。用條件信號(hào)代入語(yǔ)句描述的電路與實(shí)際的邏輯電路工作情況類似,所以需要有較多的硬件知識(shí),掌握起來(lái)有些難度。條件信號(hào)代入語(yǔ)句BLOCK標(biāo)號(hào):BLOCK 塊頭 說(shuō)明語(yǔ)句; BEGIN 并發(fā)處理語(yǔ)句; END BLOCK 標(biāo)號(hào)名;塊頭通常用于信號(hào)的映射和參數(shù)的定義,通常通過(guò)GENERIC 語(yǔ)句,GENERIC_MAP語(yǔ)句,PORT語(yǔ)
13、句和PORT_MAP語(yǔ)句來(lái)實(shí)現(xiàn)。說(shuō)明語(yǔ)句和構(gòu)造體的說(shuō)明語(yǔ)句相同BLOCKlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity mux isport(d0,d1,sel:in bit; q:out bit);end mux;architecture connect of mux is signal temp1,temp2,temp3:bit;-內(nèi)部信號(hào)不需要聲明方向begin cale: block begin temp1=d0 and sel;temp2=d1 and (not sel);temp3=d0 or temp2;q=temp3; end block cale;end connect;BLOCKlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity mux isport(d0,d1,sel:in bit;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子商務(wù)運(yùn)營(yíng)流程練習(xí)題集
- 制造業(yè)自動(dòng)化與智能制造題庫(kù)
- 產(chǎn)品采購(gòu)及供貨保障協(xié)議規(guī)范
- 織金樓頂防水施工方案
- 綠化改造施工方案
- 北侖樓梯施工方案
- 吉林蓄水池防滲膜施工方案
- 索道鋼纜結(jié)構(gòu)施工方案
- 襯砌渠道施工方案
- 反循環(huán)施工方案
- 2024年重慶市公務(wù)員考試《行測(cè)》真題及答案解析
- 無(wú)人機(jī)理論培訓(xùn)
- 《冠心病病人的護(hù)理》課件
- 安裝窗戶護(hù)欄安全免責(zé)協(xié)議書范文范本
- 《現(xiàn)代家政導(dǎo)論》電子教案 3.2模塊三項(xiàng)目二家庭生活質(zhì)量認(rèn)知
- 牧場(chǎng)物語(yǔ)-礦石鎮(zhèn)的伙伴們-完全攻略
- 維修電工題庫(kù)(300道)
- 上海市第一至十八屆高一物理基礎(chǔ)知識(shí)競(jìng)賽試題及答案
- 金融營(yíng)銷實(shí)務(wù) 習(xí)題及答案 安賀新
- 焊接工藝基礎(chǔ)知識(shí)培訓(xùn)課件
- 南通大學(xué)開題報(bào)告模版
評(píng)論
0/150
提交評(píng)論