




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1VHDL有如下六類基本順序有如下六類基本順序(shnx)語句:語句:信號(hào)(xnho)賦值語句變量賦值語句1、賦值語句(yj)2、流程控制語句3、等待語句4、子程序調(diào)用語句5、返回語句6、空操作語句IF語句CASE語句LOOP語句NEXT語句EXIT語句RETURN語句NULL語句WAIT語句過程調(diào)用函數(shù)調(diào)用第1頁/共96頁第一頁,共97頁。2 賦值語句的功能是將一個(gè)值或一個(gè)表達(dá)式的運(yùn)算結(jié)果傳遞給某一數(shù)據(jù)對(duì)象,如信號(hào)、變量或由它們組成的數(shù)組。 通過賦值語句,可以(ky)(ky)實(shí)現(xiàn)設(shè)計(jì)實(shí)體內(nèi)部的數(shù)據(jù)傳送,以及端口外部數(shù)據(jù)的讀寫。 賦值語句由賦值源、賦值目標(biāo)和賦值符構(gòu)成。 要求賦值源和賦值目標(biāo)的
2、數(shù)據(jù)類型必須相同。 根據(jù)賦值對(duì)象(賦值目標(biāo))的不同,賦值語句可分為信號(hào)賦值和變量賦值兩種。 1. 賦值語句(yj) 第2頁/共96頁第二頁,共97頁。3 信號(hào)(xnho)(xnho)賦值具有延時(shí)性、全局性,賦值符用“=”表示。 (1 1)信號(hào)(xnho)(xnho)賦值語句 格式:格式: 目標(biāo)信號(hào)名目標(biāo)信號(hào)名= 賦值源;賦值源; 該語句是將賦值源的當(dāng)前值賦給目標(biāo)信號(hào)。要求賦值號(hào)兩邊信號(hào)量的類型和長度應(yīng)該一致。 例如: Y Y =11; X X = Y Y; A A = B B ANDAND C C;- - 字符賦值,信號(hào)Y Y被賦值為1 1- - 信號(hào)賦值,將信號(hào)Y Y的當(dāng)前值賦給目標(biāo)信號(hào)X
3、X- - 表達(dá)式賦值,將B B和C C的與邏輯賦給目標(biāo)信號(hào)A A第3頁/共96頁第三頁,共97頁。4 對(duì)于數(shù)組賦值,可采用下列(xili)(xili)格式: (1 1)信號(hào)(xnho)(xnho)賦值語句 SIGNALSIGNAL x x,y:y: STD_LOGIC_VECTOR (STD_LOGIC_VECTOR ( 0 0 TOTO 3 3 ) ); x x = “1011”“1011”; y y ( ( 0 0 TOTO 1 1 ) ) = “01”“01”; y y ( ( 2 2 TOTO 3 3 ) ) = x x ( ( 1 1 TOTO 2 2 ) ); -整體賦值,數(shù)組“1
4、011”1011”賦值x x -部分賦值, ,“01”01”賦值y y的部分位 - -位置關(guān)聯(lián)賦值,x,x的部分位賦值y y的部分位 第4頁/共96頁第四頁,共97頁。5 變量賦值具有即時(shí)性、局部性,并且(bngqi)(bngqi)變量賦值只限定在進(jìn)程和子程序中,賦值符用“:=:=”表示。 (2 2)變量(binling)(binling)賦值語句 格式:格式: 目標(biāo)變量名目標(biāo)變量名: := 賦值源;賦值源; 該語句是將賦值源的當(dāng)前值賦給目標(biāo)變量。要求賦值號(hào)兩邊變量的類型和長度應(yīng)該一致。 例如: A A : := 5.05.0; Y Y : :=00; X X := Y Y;-將數(shù)值5.05.
5、0賦值給變量A A -變量Y Y被賦值為00 -將變量Y Y的當(dāng)前值賦給目標(biāo)變量X X 第5頁/共96頁第五頁,共97頁。6 對(duì)于(duy)(duy)數(shù)組賦值,可采用下列格式: (2 2)變量(binling)(binling)賦值語句 VARIBLEVARIBLE x x,y:y: STD_LOGIC_VECTOR (STD_LOGIC_VECTOR ( 0 0 TOTO 3 3 ) ); x x : := “1011”“1011”; y y ( ( 0 0 TOTO 1 1 ) :) := “10”“10”; y y ( ( 2 2 TOTO 3 3 ) ) : := x x ( ( 1
6、1 TOTO 2 2 ) ); -整體賦值,數(shù)組“1011”1011”賦值x x -部分賦值, ,“10”10”賦值y y的部分位 - -位置關(guān)聯(lián)賦值,x,x的部分位賦值y y的部分位 第6頁/共96頁第六頁,共97頁。7A 變量的說明和賦值限定在順序區(qū)域內(nèi),即只能在進(jìn)程(jnchng)或子程序中使用,它無法傳遞到進(jìn)程(jnchng)之外。B 信號(hào)賦值可以在順序區(qū)域內(nèi)作順序語句,也可以在結(jié)構(gòu)體中當(dāng)作并行語句使用。變量(binling)賦值語句與信號(hào)賦值語句區(qū)別第7頁/共96頁第七頁,共97頁。8 流程(lichng)(lichng)控制語句通過條件控制來決定是否執(zhí)行一條或幾條語句,或重復(fù)執(zhí)行一
7、條或幾條語句,或跳過一條或幾條語句。 2. 流程(lichng)控制語句 流程控制語句共有五種: IFIF語句 CASECASE語句 LOOPLOOP語句 NEXTNEXT語句 EXITEXIT語句 第8頁/共96頁第八頁,共97頁。9 IF IF語句是一種條件語句,在IFIF語句中至少應(yīng)有一個(gè)條件句,該條件句必須由BOOLEANBOOLEAN表達(dá)式構(gòu)成。 IF IF語句依據(jù)條件產(chǎn)生的判斷結(jié)果TRUETRUE或FALSEFALSE,有選擇地去執(zhí)行(zhxng)(zhxng)指定的語句。 利用IFIF語句可以實(shí)現(xiàn)兩個(gè)或兩個(gè)以上的條件分支判斷。其格式有三種: (1 1)IFIF語句(yj) (yj
8、) 單選擇控制 二選擇控制 多選擇控制 第9頁/共96頁第九頁,共97頁。10 IF IF語句的單選擇(xunz)(xunz)控制 格式:格式: IF IF 條件句條件句 THEN THEN 順序順序(shnx)(shnx)語句;語句; END IF END IF; 若條件句的邏輯值為真,則執(zhí)行THENTHEN后面的順序語句,否則結(jié)束該條件的執(zhí)行。 例如:IFIF (x x = 11) THENTHEN A A = B B; END IFEND IF; 當(dāng)條件x x =1 1成立時(shí),信號(hào)B B的值賦給信號(hào)A A;否則,不執(zhí)行A A = B B語句。 第10頁/共96頁第十頁,共97頁。11 I
9、F IF語句的二選擇(xunz)(xunz)控制 格式格式(g shi)(g shi): IF IF 條件句條件句 THEN THEN 順序語句;順序語句; ELSE ELSE 順序語句;順序語句; END IF END IF; 若條件句的邏輯值為真,則執(zhí)行THENTHEN后面的順序語句,否則執(zhí)行ELSEELSE后面的順序語句。 第11頁/共96頁第十一頁,共97頁。12 【例6.16.1】用IFIF語句描述(mio sh)(mio sh)二選一數(shù)據(jù)選擇器。 設(shè)數(shù)據(jù)輸入信號(hào)(xnho)(xnho)為d1d1和d0d0,選擇控制信號(hào)(xnho)(xnho)為s s,數(shù)據(jù)輸出信號(hào)(xnho)(xn
10、ho)為y y。 ARCHITECTUREARCHITECTURE example1 example1 OFOF mux2 mux2 ISIS BEGINBEGIN PROCESSPROCESS(d1, d0, sd1, d0, s) BEGINBEGIN IFIF ( ( s s =0) 0) THENTHEN y y = d0d0; ELSEELSE y y = d1d1; END IFEND IF; END PROCESSEND PROCESS; END END example1 example1;第12頁/共96頁第十二頁,共97頁。13 IF IF語句的多選擇(xunz)(xunz)
11、控制 格式格式(g shi)(g shi): IF IF 條件句條件句 THEN THEN 順序語句;順序語句; ELSIF ELSIF 條件句條件句 THEN THEN 順序語句;順序語句; END IF END IF; 當(dāng)滿足多個(gè)條件之一時(shí),執(zhí)行該條件THENTHEN后面的順序語句;如果所設(shè)條件都不滿足,則執(zhí)行ELSEELSE后面的順序語句。 第13頁/共96頁第十三頁,共97頁。14 【例6.26.2】用IFIF語句(yj)(yj)描述四選一數(shù)據(jù)選擇器。 設(shè)數(shù)據(jù)(shj)(shj)輸入信號(hào)為d3d3、d2d2、d1d1、d0d0,選擇控制信號(hào)為s=s1, s0 s=s1, s0 ,數(shù)據(jù)(
12、shj)(shj)輸出信號(hào)為y y。 ARCHITECTUREARCHITECTURE example2 example2 OFOF mux4 mux4 ISIS BEGINBEGIN PROCESSPROCESS(d3, d2, d1, d0, sd3, d2, d1, d0, s ) BEGINBEGIN IFIF ( ( s s =“00”) “00”) THENTHEN y y = d0d0; ELSIFELSIF ( ( s s =“01”) “01”) THENTHEN y y = d1d1; ELSIF ELSIF ( ( s s =“10”) “10”) THENTHEN y
13、y = d2d2; ELSE ELSE y y 順序語句;順序語句; WHEN 選擇值選擇值 = 順序語句;順序語句; WHEN OTHERS = 順序語句;順序語句; END CASE; 說明:先計(jì)算表達(dá)式的值,然后根據(jù)條件句中的選擇說明:先計(jì)算表達(dá)式的值,然后根據(jù)條件句中的選擇值執(zhí)行相對(duì)應(yīng)的順序語句。值執(zhí)行相對(duì)應(yīng)的順序語句。 注意:條件句中的注意:條件句中的“=”不是操作符,它相當(dāng)于不是操作符,它相當(dāng)于THENTHEN作用。作用。 第15頁/共96頁第十五頁,共97頁。16 表達(dá)式可以是一個(gè)整數(shù)類型或枚舉類型的值,也可以是由這些(zhxi)(zhxi)數(shù)據(jù)類型的值構(gòu)成的數(shù)組。 (2 2)C
14、ASECASE語句(yj) (yj) 選擇值可以有四種不同的表達(dá)方式:選擇值可以有四種不同的表達(dá)方式: 單個(gè)普通數(shù)值,如:單個(gè)普通數(shù)值,如:5 5; 數(shù)值選擇范圍,如:(數(shù)值選擇范圍,如:(1 TO 3)1 TO 3); 并列值,如:并列值,如:4 4 | 6 6,表示取值為,表示取值為4 4或或6 6; 混合方式,即以上三種方式的混合。混合方式,即以上三種方式的混合。第16頁/共96頁第十六頁,共97頁。17 使用(shyng)CASE(shyng)CASE語句時(shí),應(yīng)注意以下幾點(diǎn): (2 2)CASECASE語句(yj) (yj) 選擇值必須在表達(dá)式的取值范圍內(nèi);選擇值必須在表達(dá)式的取值范圍
15、內(nèi); CASECASE語句中至少要包含一個(gè)語句中至少要包含一個(gè)WHENWHEN語句;語句; 每個(gè)選擇值只能出現(xiàn)一次,不能在其他每個(gè)選擇值只能出現(xiàn)一次,不能在其他WHENWHEN語句語句中重復(fù)出現(xiàn);中重復(fù)出現(xiàn); 除非所有選擇值能完全覆蓋除非所有選擇值能完全覆蓋CASECASE語句中的表達(dá)式語句中的表達(dá)式的取值,否則最后一個(gè)條件句的選擇值必須用的取值,否則最后一個(gè)條件句的選擇值必須用“OTHERS”O(jiān)THERS”表示。表示。 選擇值可以顛倒次序選擇值可以顛倒次序, ,但但OTHERSOTHERS必須放在最后必須放在最后; ; “=”不是操作符,相當(dāng)于不是操作符,相當(dāng)于THENTHEN語句的作用。語
16、句的作用。 第17頁/共96頁第十七頁,共97頁。18 【例6.36.3】用CASECASE語句(yj)(yj)描述四選一數(shù)據(jù)選擇器。 ARCHITECTUREARCHITECTURE example3 example3 OFOF mux4 mux4 ISIS SIGNALSIGNAL s: STD_LOGIC_VECTOR s: STD_LOGIC_VECTOR(1 1 DOWNTODOWNTO 0 0) BEGINBEGIN s sy yy yy yy yy y=XX; END CASEEND CASE; END PROCESSEND PROCESS; END END example3 e
17、xample3;第18頁/共96頁第十八頁,共97頁。19 LOOP LOOP語句(yj)(yj)是一種循環(huán)語句(yj)(yj),它可以使所包含的一組順序語句(yj)(yj)被循環(huán)執(zhí)行,其執(zhí)行的次數(shù)由設(shè)定的循環(huán)參數(shù)決定。 (3 3)LOOPLOOP語句(yj) (yj) LOOPLOOP語句有三種格式:語句有三種格式: FOR_LOOPFOR_LOOP語句語句 WHILE_LOOPWHILE_LOOP語句語句 單個(gè)單個(gè)LOOPLOOP語句語句第19頁/共96頁第十九頁,共97頁。20 FOR_LOOP FOR_LOOP語句主要(zhyo)(zhyo)用于循環(huán)次數(shù)已知的循環(huán)程序設(shè)計(jì)。可分為遞增方
18、式和遞減方式。 FOR_LOOP FOR_LOOP語句(yj) (yj) 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào): FOR 循環(huán)變量循環(huán)變量 IN 初值初值 TO 終值終值 LOOP 順序語句;順序語句; END LOOP 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào); 遞增格式:遞增格式: 遞減格式:遞減格式:循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào): FOR 循環(huán)變量循環(huán)變量 IN 初值初值 DOWNTO 終值終值 LOOP 順序語句;順序語句; END LOOP 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào); 第20頁/共96頁第二十頁,共97頁。21 說明:循環(huán)從循環(huán)變量的“初值”開始,到“ 終 值 ” 結(jié) 束 , 每 執(zhí) 行 一 次 循 環(huán) 體 中 的 順 序(shnx)(shnx)
19、語句后,循環(huán)變量的值遞增或遞減1 1。 FOR_LOOP FOR_LOOP語句(yj) (yj) 循環(huán)標(biāo)號(hào)為任選項(xiàng),循環(huán)標(biāo)號(hào)為任選項(xiàng),用來給循環(huán)語句定位。用來給循環(huán)語句定位。 循環(huán)變量的初值和終值決定了循環(huán)次數(shù)(取整循環(huán)變量的初值和終值決定了循環(huán)次數(shù)(取整數(shù))。數(shù))。 循環(huán)次數(shù):循環(huán)次數(shù): 循環(huán)次數(shù)循環(huán)次數(shù) = | |終值終值- -初值初值|+1|+1 第21頁/共96頁第二十一頁,共97頁。22 【例6.46.4】用FOR_LOOPFOR_LOOP語句(yj)(yj)描述八位奇偶校驗(yàn)器。 輸入信號(hào)X X是一個(gè)長度為8 8位的標(biāo)準(zhǔn)邏輯矢量(shling)(shling)。當(dāng)X X中1 1的個(gè)數(shù)
20、為奇數(shù)時(shí),輸出Y=1Y=1,否則,Y=0Y=0。 算法:用FOR_LOOPFOR_LOOP語句對(duì)X X的值逐位進(jìn)行異或運(yùn)算。 循環(huán)次數(shù):由循環(huán)變量n n控制,記錄異或運(yùn)算的次數(shù)。 循環(huán)變量的初值為0 0,終值為7 7。 第22頁/共96頁第二十二頁,共97頁。23 LIBRARYLIBRARY IEEE IEEE; USEUSE IEEE.STD_LOGIC_1164. IEEE.STD_LOGIC_1164.ALLALL; ENTITYENTITY loop1 loop1 ISIS PORTPORT(X: X: ININ STD_LOGIC_VECTOR STD_LOGIC_VECTOR(7
21、 7 DOWNTODOWNTO 0 0); Y: Y: OUTOUT STD_LOGIC STD_LOGIC); ENDEND loop1 loop1; ARCHITECTUREARCHITECTURE example4 example4 OFOF loop1 loop1 ISIS BEGINBEGIN PROCESSPROCESS ( ( X X ) ) VARIABLEVARIABLE temp: STD_LOGIC temp: STD_LOGIC; BEGINBEGIN temp temp :=00; FORFOR n n ININ 7 7 DOWNTODOWNTO 0 0 LOOPLO
22、OP temp temp := temp temp XORXOR X( X( n n ) ); END LOOPEND LOOP; Y Y = temptemp; END PROCESSEND PROCESS; ENDEND example4 example4;第23頁/共96頁第二十三頁,共97頁。24 WHILE_LOOP WHILE_LOOP語句是一種條件循環(huán)語句,用于循環(huán)次數(shù)(csh)(csh)未知的循環(huán)程序設(shè)計(jì)。 WHILE_LOOP WHILE_LOOP語句(yj) (yj) 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào): : WHILE 循環(huán)控制條件循環(huán)控制條件 LOOP 順序語句;順序語句; END LO
23、OP 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào) ; 格式:格式:說明:說明:若循環(huán)控制條件為若循環(huán)控制條件為“真真”, ,則進(jìn)行循環(huán)執(zhí)行順則進(jìn)行循環(huán)執(zhí)行順序語句;序語句; 若循環(huán)控制條件為若循環(huán)控制條件為“假假”,則結(jié)束循環(huán)。,則結(jié)束循環(huán)。第24頁/共96頁第二十四頁,共97頁。25 【例6.56.5】用WHILE_LOOPWHILE_LOOP語句(yj)(yj)描述八位奇偶校驗(yàn)器。 ARCHITECTUREARCHITECTURE example5 example5 OFOF loop2 loop2 ISIS BEGINBEGIN PROCESS PROCESS ( ( X X ) ) VARIABLEVARIAB
24、LE temp: STD_LOGIC temp: STD_LOGIC; VARIABLEVARIABLE n: INTEGER n: INTEGER; BEGINBEGIN temp temp :=00; n n := 0 0; WHILEWHILE n n 8 8 LOOPLOOP temp temp := temp temp XORXOR X( X( n n ) ); n n := n+1n+1; END LOOPEND LOOP; Y Y1010; END LOOPEND LOOP L2 L2;- 控制語句,當(dāng)控制語句,當(dāng)A A大大 于于1010時(shí),跳出循環(huán)時(shí),跳出循環(huán) 第26頁/共96
25、頁第二十六頁,共97頁。27 NEXT NEXT語句(yj)(yj)是一種循環(huán)控制語句(yj)(yj),通常嵌套在LOOPLOOP語句(yj)(yj)中使用,用于進(jìn)行有條件或無條件的控制執(zhí)行程序的轉(zhuǎn)向。 (4 4)NEXTNEXT語句(yj) (yj) NEXT 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào) WHEN 條件表達(dá)式條件表達(dá)式 ; 格式:格式:第27頁/共96頁第二十七頁,共97頁。28 根據(jù)可選項(xiàng),NEXTNEXT語句有三種(sn zhn)(sn zhn)格式: (4 4)NEXTNEXT語句(yj) (yj) 格式格式1 1: NEXT 功能:功能:無條件結(jié)束本次循環(huán),無條件結(jié)束本次循環(huán),跳回到循環(huán)體的開
26、始位置,執(zhí)跳回到循環(huán)體的開始位置,執(zhí)行下一次循環(huán)。行下一次循環(huán)。 格式格式2 2: NEXT 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào) 功能:功能:無條件結(jié)束本次循環(huán),無條件結(jié)束本次循環(huán),從循環(huán)標(biāo)號(hào)規(guī)定的位置,執(zhí)行下從循環(huán)標(biāo)號(hào)規(guī)定的位置,執(zhí)行下一次循環(huán)。一次循環(huán)。 格式格式3 3: NEXT WHEN 條件表達(dá)式條件表達(dá)式 功能:功能:有條件結(jié)束本次循環(huán),有條件結(jié)束本次循環(huán),當(dāng)條件表達(dá)式滿足時(shí),結(jié)束本當(dāng)條件表達(dá)式滿足時(shí),結(jié)束本次循環(huán),否則繼續(xù)循環(huán)。次循環(huán),否則繼續(xù)循環(huán)。第28頁/共96頁第二十八頁,共97頁。29 【例6.66.6】用NEXT_WHENNEXT_WHEN語句(yj)(yj)實(shí)現(xiàn)單循環(huán)。 ARCHITE
27、CTUREARCHITECTURE example6 example6 OFOF NEXT_WHEN1 NEXT_WHEN1 ISIS BEGINBEGIN PROCESS PROCESS ( ( s s ) ) VARIABLE VARIABLE i: INTEGER i: INTEGER; BEGINBEGIN L1: L1: FORFOR i i ININ 7 7 DOWNTODOWNTO 0 0 LOOPLOOP y( y( i i ) ) =00; NEXTNEXT WHENWHEN s( s( i i ) ) =11; y(y( i i ) ) =11; END LOOPEND L
28、OOP L1 L1; END PROCESSEND PROCESS; ENDEND example6 example6;- - 若若s( i )=1s( i )=1成立,成立, 終止本次循環(huán)終止本次循環(huán), ,返回到返回到L1L1 否則否則(fuz),(fuz),繼續(xù)本次循繼續(xù)本次循環(huán)。環(huán)。 - - 返回到返回到L1L1 第29頁/共96頁第二十九頁,共97頁。30【例6.76.7】試用(shyng)(shyng)多重循環(huán)實(shí)現(xiàn)四組八位數(shù)據(jù)的奇校驗(yàn)。 LIBRARYLIBRARY IEEE IEEE; USE USE IEEE.STD_LOGIC_1164. IEEE.STD_LOGIC_1164
29、.ALLALL; ENTITYENTITY NEXT_WHEN2 NEXT_WHEN2 ISIS PORTPORT ( ( d: d: ININ STD_LOGIC_VECTOR ( STD_LOGIC_VECTOR ( 0 0 TOTO 31) 31); y: y: OUTOUT STD_LOGIC_VECTOR ( STD_LOGIC_VECTOR ( 0 0 TOTO 3 3 ) ) ) ); ENDEND NEXT_WHEN2 NEXT_WHEN2; ARCHITECTUREARCHITECTURE example7 example7 OFOF NEXT_WHEN2 NEXT_WHEN
30、2 ISIS BEGINBEGIN PROCESS PROCESS ( ( d d ) ) VARIABLE VARIABLE i,k,j: INTEGER i,k,j: INTEGER; VARIABLE VARIABLE tmp: STD_LOGIC tmp: STD_LOGIC; 四組八位數(shù)據(jù)由d0.31d0.31輸入,內(nèi)循環(huán)完成各組數(shù)據(jù)的奇校驗(yàn),外循環(huán)確定校驗(yàn)的組數(shù),校驗(yàn)結(jié)果存放在輸出y0.3y0.3中。當(dāng)某八位數(shù)據(jù)中1 1的個(gè)數(shù)為奇數(shù)(j sh)(j sh)時(shí),所對(duì)應(yīng)的輸出位yi=1yi=1,否則,yi=0yi=0。 第30頁/共96頁第三十頁,共97頁。31 BEGIN BEGIN
31、 k k: = 0 0;L1: L1: FORFOR i i ININ 0 0 TOTO 3 3 LOOPLOOP y( y( i i ) ) =00; tmptmp :=00; j j := 0 0; k k := i i * * 8 8;L2: L2: LOOPLOOP tmp tmp := tmp tmp XORXOR d( d( k k ) ); y(y( i i ) ) = tmptmp; NEXTNEXT L1 L1 WHENWHEN j j = 7 7; j j := j j + + 1 1; k k := k k + + 1 1; NEXTNEXT L2 L2; END LOO
32、PEND LOOP L2 L2; NEXTNEXT L1 L1; END LOOP END LOOP L1 L1; END PROCESSEND PROCESS; ENDEND example7 example7;內(nèi)循環(huán)內(nèi)循環(huán)(xnhun) 外循環(huán)外循環(huán)(xnhun) 在內(nèi)循環(huán)中,當(dāng)在內(nèi)循環(huán)中,當(dāng)j j 7 7時(shí),繼續(xù)執(zhí)行內(nèi)時(shí),繼續(xù)執(zhí)行內(nèi)循環(huán);循環(huán); 當(dāng)當(dāng)j j = 7 7時(shí),終止內(nèi)循環(huán),跳轉(zhuǎn)到時(shí),終止內(nèi)循環(huán),跳轉(zhuǎn)到L1L1處,處,執(zhí)行一次外循環(huán)。執(zhí)行一次外循環(huán)。第31頁/共96頁第三十一頁,共97頁。32 EXIT EXIT語句和NEXTNEXT語句一樣,都是循環(huán)控制語句,主要(zhyo)(
33、zhyo)在LOOPLOOP語句中使用,用于進(jìn)行有條件或無條件的跳轉(zhuǎn)控制。 (5 5)EXITEXIT語句(yj) (yj) EXIT 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào) WHEN 條件表達(dá)式條件表達(dá)式 ; 格式:格式:第32頁/共96頁第三十二頁,共97頁。33 根據(jù)可選項(xiàng),EXITEXIT語句(yj)(yj)有三種格式: (5 5)EXITEXIT語句(yj) (yj) 格式格式1 1: EXIT 功能:功能:無條件跳出循環(huán)無條件跳出循環(huán), ,從從END LOOPEND LOOP下面的語句開始執(zhí)行。下面的語句開始執(zhí)行。 格式格式2 2: EXIT 循環(huán)標(biāo)號(hào)循環(huán)標(biāo)號(hào) 功能:功能:無條件跳出循環(huán),從循環(huán)標(biāo)號(hào)規(guī)定
34、的位置開始執(zhí)行循無條件跳出循環(huán),從循環(huán)標(biāo)號(hào)規(guī)定的位置開始執(zhí)行循環(huán)體外的語句。環(huán)體外的語句。 格式格式3 3: EXIT WHEN 條件表達(dá)式條件表達(dá)式 功能:功能:有條件跳出循環(huán),有條件跳出循環(huán),當(dāng)條件表達(dá)式不成立時(shí),繼續(xù)執(zhí)行當(dāng)條件表達(dá)式不成立時(shí),繼續(xù)執(zhí)行循環(huán),否則跳出循環(huán)。循環(huán),否則跳出循環(huán)。第33頁/共96頁第三十三頁,共97頁。34 【例6.86.8】用EXITEXIT語句(yj)(yj)實(shí)現(xiàn)兩個(gè)數(shù)組的比較。 PROCESSPROCESS ( ( X, YX, Y ) ) BEGINBEGIN Z Z =“00”“00”; FORFOR n n ININ 7 7 DOWNTODOWNTO
35、 0 0 LOOPLOOP IFIF ( ( X(X( n n ) )= Y(Y( n n ) ) THENTHEN NEXTNEXT; ELSIFELSIF ( ( X(X( n n ) ) Y(Y( n n ) ) ) ) THENTHEN Z Z =“01”“01”; EXITEXIT; ELSEELSE Z Z YXY時(shí),Z=10Z=10;當(dāng)XYXY時(shí),Z=01Z=01。 第34頁/共96頁第三十四頁,共97頁。35 【例6.96.9】用EXIT_WHENEXIT_WHEN語句實(shí)現(xiàn)(shxin)(shxin)兩個(gè)數(shù)組的比較。 PROCESSPROCESS ( ( X, YX, Y )
36、) BEGINBEGIN Z Z =“00”“00”; FORFOR n n ININ 7 7 DOWNTODOWNTO 0 0 LOOPLOOP NEXT WHENNEXT WHEN ( ( X(X( n n ) ) = Y(Y( n n ); Z Z =“01”“01”; EXIT WHENEXIT WHEN ( ( X(X( n n ) ) Y(Y( n n ); Z Z =“10”“10”; EXITEXIT; END LOOPEND LOOP; END PROCESSEND PROCESS;第35頁/共96頁第三十五頁,共97頁。36 等待(dngdi)(dngdi)(WAITWAI
37、T)語句在進(jìn)程或過程中使用,用于程序的暫停和等待(dngdi)(dngdi)。 3. 等待(dngdi)語句 格式:格式:WAITWAIT ONON 敏感信號(hào)表敏感信號(hào)表 UNTILUNTIL 條件表達(dá)式條件表達(dá)式 FORFOR 時(shí)間表達(dá)式時(shí)間表達(dá)式; 當(dāng)執(zhí)行到WAITWAIT語句時(shí),程序執(zhí)行被暫停,直到滿足此語句設(shè)置的等待結(jié)束條件后,重新執(zhí)行程序。 第36頁/共96頁第三十六頁,共97頁。37 根據(jù)可選項(xiàng),WAITWAIT語句有四種(s zhn)(s zhn)格式: 格式格式(g shi)1(g shi)1: WAIT WAIT 功能:功能:永遠(yuǎn)處于等待狀態(tài)永遠(yuǎn)處于等待狀態(tài) 格式格式2 2:
38、 WAIT ON 敏感信號(hào)表;敏感信號(hào)表; 功能:功能:程序進(jìn)入等待狀態(tài),直至敏感信號(hào)表中的任一信程序進(jìn)入等待狀態(tài),直至敏感信號(hào)表中的任一信號(hào)發(fā)生變化時(shí),結(jié)束等待重新執(zhí)行程序。號(hào)發(fā)生變化時(shí),結(jié)束等待重新執(zhí)行程序。 例如:例如: SIGNALSIGNAL a a,b b: STDSTD LOGICLOGIC; PROCESSPROCESS WAIT ONWAIT ON a a,b b; END PROCESSEND PROCESS;- 暫停程序的執(zhí)行,直到暫停程序的執(zhí)行,直到a a或或b b發(fā)生發(fā)生 變化才重新啟動(dòng)。變化才重新啟動(dòng)。 3 3. 等待語句 第37頁/共96頁第三十七頁,共97頁。3
39、8 格式格式(g shi)3(g shi)3: WAIT UNTIL WAIT UNTIL 條件表達(dá)式;條件表達(dá)式; 功能:程序功能:程序(chngx)(chngx)進(jìn)入等待狀態(tài),直至表達(dá)式中的敏感信進(jìn)入等待狀態(tài),直至表達(dá)式中的敏感信號(hào)發(fā)生變化,而且滿足表達(dá)式設(shè)置的條件時(shí),結(jié)束等號(hào)發(fā)生變化,而且滿足表達(dá)式設(shè)置的條件時(shí),結(jié)束等待重新執(zhí)行程序待重新執(zhí)行程序(chngx)(chngx)。 例如:例如: WAIT UNTILWAIT UNTIL clk clk =11ANDAND clk clkEVENTEVENT; z z = x x OROR y y; 3 3. 等待語句 執(zhí)行到執(zhí)行到WAITWA
40、IT語句后,暫停程序的執(zhí)行,直到語句后,暫停程序的執(zhí)行,直到clkclk的上升沿到來的上升沿到來時(shí),才恢復(fù)程序的運(yùn)行,執(zhí)行其后的賦值語句。時(shí),才恢復(fù)程序的運(yùn)行,執(zhí)行其后的賦值語句。 第38頁/共96頁第三十八頁,共97頁。39 格式格式(g shi)4(g shi)4: WAIT FOR WAIT FOR 時(shí)間表達(dá)式;時(shí)間表達(dá)式; 功能:從執(zhí)行到當(dāng)前的功能:從執(zhí)行到當(dāng)前的WAITWAIT語句開始,在此時(shí)間段內(nèi),程序處語句開始,在此時(shí)間段內(nèi),程序處于等待于等待(dngdi)(dngdi)狀態(tài),當(dāng)超過時(shí)間表達(dá)式給定的時(shí)間狀態(tài),當(dāng)超過時(shí)間表達(dá)式給定的時(shí)間后,程序自動(dòng)恢復(fù)執(zhí)行。后,程序自動(dòng)恢復(fù)執(zhí)行。
41、例如:例如: WAIT FORWAIT FOR 25ns 25ns; z z y y y y y y NULLNULL; END CASEEND CASE; - 排除一些其他不用的條件排除一些其他不用的條件 第40頁/共96頁第四十頁,共97頁。41 課堂練習(xí)(The second)6.1 簡述順序語句與并行語句的區(qū)別?6.2 簡述VHDL的六類基本順序語句?6.3 寫出IF的三種格式(g shi)及每種格式(g shi)的功能?6.4 寫出LOOP的三種格式(g shi)及每種格式(g shi)的功能?6.5 寫出NEXT語句的三種格式(g shi)及每種格式(g shi)的功能?6.6 寫
42、出EXIT語句的三種格式(g shi)及每種格式(g shi)的功能?6.7 寫出WATE語句的四種格式(g shi)及每種格式(g shi)的功能?第41頁/共96頁第四十一頁,共97頁。42 6.2 VHDL語言的并行(bngxng)描述語句 并行語句又稱并發(fā)語句,是最具有VHDLVHDL特色(ts)(ts)的語句結(jié)構(gòu)。 并行語句具有多種語言格式,各并行語句在結(jié)構(gòu)體中的執(zhí)行是同步進(jìn)行的,或者說是并發(fā)運(yùn)行的,其執(zhí)行方式與書寫的順序無關(guān)。 同一結(jié)構(gòu)中的各并行語句之間可以是相互獨(dú)立的、不相關(guān)的,也可以進(jìn)行信息傳遞。 在并行語句內(nèi)部可以嵌套其他語句,嵌套的語句可以并行執(zhí)行,也可以順序執(zhí)行。第42頁
43、/共96頁第四十二頁,共97頁。43 6.2 VHDL語言(yyn)的并行描述語句 在VHDLVHDL語言中,并行語句主要有六種: 進(jìn)程(jnchng)(jnchng)語句 并行信號(hào)賦值語句 塊語句 元件例化語句 生成語句 斷言語句第43頁/共96頁第四十三頁,共97頁。44 進(jìn)程(PROCESSPROCESS)語句是在結(jié)構(gòu)體中用來(yn li)(yn li)描述特定電路功能的程序模塊,它提供了一種用順序語句描述電路邏輯功能的方法。 1. 進(jìn)程(jnchng)語句 一個(gè)結(jié)構(gòu)體中可以有多個(gè)并行運(yùn)行的進(jìn)程結(jié)構(gòu),而每個(gè)進(jìn)程結(jié)構(gòu)的內(nèi)部由一組順序語句組成。 進(jìn)程語句結(jié)構(gòu)具有并行執(zhí)行和順序處理的雙重特性。
44、 第44頁/共96頁第四十四頁,共97頁。45第45頁/共96頁第四十五頁,共97頁。46 (1 1)進(jìn)程(jnchng)(jnchng)語句的結(jié)構(gòu) 進(jìn)程標(biāo)號(hào)進(jìn)程標(biāo)號(hào): PROCESS (: PROCESS (敏感信號(hào)參數(shù)表敏感信號(hào)參數(shù)表) IS) IS 進(jìn)程說明進(jìn)程說明(shumng)(shumng)部分部分 BEGIN BEGIN順序描述語句順序描述語句 END PROCESS END PROCESS 進(jìn)程標(biāo)號(hào)進(jìn)程標(biāo)號(hào) ; 格式:格式: 當(dāng)敏感信號(hào)表中的某個(gè)信號(hào)發(fā)生變化時(shí),立即啟動(dòng)進(jìn)程語句,將進(jìn)程中的順序語句按順序循環(huán)執(zhí)行,直到敏感信號(hào)穩(wěn)定不變?yōu)橹埂?第46頁/共96頁第四十六頁,共97頁
45、。47 (2 2)進(jìn)程語句(yj)(yj)的組成 進(jìn)程(jnchng)(jnchng)說明部分 進(jìn)程語句的結(jié)構(gòu)由三部分組成,即進(jìn)程說明部分、順序描述語句部分和敏感信號(hào)參數(shù)表。 用于定義該進(jìn)程所需要的局部數(shù)據(jù)環(huán)境。如:數(shù)據(jù)類型、常數(shù)、屬性、子程序等。 注意:不能在進(jìn)程內(nèi)部定義信號(hào)和共享變量,信號(hào)只能在結(jié)構(gòu)體說明中定義。 第47頁/共96頁第四十七頁,共97頁。48 (2 2)進(jìn)程語句(yj)(yj)的組成 順序描述(mio sh)(mio sh)語句部分 是一段順序執(zhí)行語句,用于描述該進(jìn)程的行為。 信號(hào)賦值語句:信號(hào)賦值語句:在進(jìn)程中將計(jì)算或處理的結(jié)果賦值在進(jìn)程中將計(jì)算或處理的結(jié)果賦值給信號(hào)。給
46、信號(hào)。 變量賦值語句:變量賦值語句:在進(jìn)程中以變量的形式存儲(chǔ)計(jì)算的在進(jìn)程中以變量的形式存儲(chǔ)計(jì)算的中間值。中間值。 子程序調(diào)用語句:子程序調(diào)用語句:對(duì)已定義的過程和函數(shù)進(jìn)行調(diào)用,對(duì)已定義的過程和函數(shù)進(jìn)行調(diào)用,并參與計(jì)算。并參與計(jì)算。第48頁/共96頁第四十八頁,共97頁。49 (2 2)進(jìn)程(jnchng)(jnchng)語句的組成 順序描述(mio sh)(mio sh)語句部分 進(jìn)程啟動(dòng)語句:進(jìn)程啟動(dòng)語句:當(dāng)當(dāng)PROCESSPROCESS語句未列出任何敏感信號(hào)語句未列出任何敏感信號(hào)時(shí),進(jìn)程的啟動(dòng)可通過時(shí),進(jìn)程的啟動(dòng)可通過WAITWAIT語句來語句來實(shí)現(xiàn)。實(shí)現(xiàn)。 順序描述語句:順序描述語句:包
47、括包括IFIF語句、語句、CASECASE語句、語句、LOOPLOOP語語句和句和NULLNULL語句。語句。 進(jìn)程跳出語句:進(jìn)程跳出語句:包括包括NEXTNEXT語句和語句和EXITEXIT語句。語句。 敏感信號(hào)參數(shù)表敏感信號(hào)參數(shù)表 用于啟動(dòng)本進(jìn)程可讀入的信號(hào)名。用于啟動(dòng)本進(jìn)程可讀入的信號(hào)名。第49頁/共96頁第四十九頁,共97頁。50 PROCESS 組成組成(z chn)PROCESS語句語句(yj)結(jié)結(jié)構(gòu)構(gòu)進(jìn)程進(jìn)程(jnchng)說明說明順序描述語句順序描述語句敏感信號(hào)參數(shù)表敏感信號(hào)參數(shù)表信號(hào)賦值語句變量賦值語句進(jìn)程啟動(dòng)語句子程序調(diào)用語句順序描述語句進(jìn)程跳出語句第50頁/共96頁第五十
48、頁,共97頁。51 【例6.10】用進(jìn)程語句描述(mio sh)異步清零計(jì)數(shù)器。 異步清零方式與時(shí)鐘信號(hào)clkclk無關(guān)(wgun)(wgun),當(dāng)清零端clr=0clr=0時(shí),計(jì)數(shù)狀態(tài)Q=0Q=0;當(dāng)clr=1clr=1時(shí),計(jì)數(shù)器為計(jì)數(shù)狀態(tài)。 PROCESSPROCESS ( ( clk, clrclk, clr ) ) BEGINBEGIN IFIF clr clr =0 0 THENTHEN Q Q =00 ; ELSIF ELSIF ( ( clkclk =11ANDAND clkclkEVENTEVENT ) ) THENTHEN Q Q = Q Q + + 1 1; END IFE
49、ND IF; END PROCESSEND PROCESS;第51頁/共96頁第五十一頁,共97頁。52 【例6.10】用進(jìn)程語句描述(mio sh)異步清零計(jì)數(shù)器。 若計(jì)數(shù)器采用同步清零,則敏感表中可無clrclr信號(hào),此時(shí)進(jìn)程(jnchng)(jnchng)如下: PROCESSPROCESS ( ( clk)clk) BEGINBEGIN IFIF ( ( clkclk =11ANDAND clkclkEVENTEVENT ) ) THENTHEN IF IF clrclr =0 0 THENTHEN Q Q= X“00”X“00”; ELSE ELSE Q Q = Q Q + + 1
50、1; END IFEND IF; END IF END IF; END PROCESSEND PROCESS;第52頁/共96頁第五十二頁,共97頁。53(1) 進(jìn)程說明部分主要定義(dngy)一些局部量,可包括數(shù)據(jù)類型、常數(shù)、屬性、子程序等。但需注意,在進(jìn)程說明部分中不允許定義(dngy)信號(hào)和共享變量。(2) 順序描述語句部分可分為賦值語句、進(jìn)程啟動(dòng)語句、子程序調(diào)用(dioyng)語句、順序描述語句和進(jìn)程跳出語句等。(3)為啟動(dòng)進(jìn)程,在進(jìn)程中必須包含有一個(gè)顯式的敏感信號(hào)量表或者包含一個(gè)WAIT語句;敏感信號(hào)表應(yīng)當(dāng)緊跟在PROCESS之后,含有敏感信號(hào)表的進(jìn)程語句中不允許(ynx)再顯式出現(xiàn)
51、WAIT語句。說明第53頁/共96頁第五十三頁,共97頁。541. PROCESS1. PROCESS為一無限為一無限(wxin)(wxin)循環(huán)語句循環(huán)語句2. PROCESS2. PROCESS語句具有順序語句具有順序(shnx)/(shnx)/并行運(yùn)行雙重性并行運(yùn)行雙重性3. 3. 進(jìn)程必須由敏感信號(hào)進(jìn)程必須由敏感信號(hào)(xnho)(xnho)的變化來啟動(dòng)的變化來啟動(dòng)4. 4. 信號(hào)是多個(gè)進(jìn)程間的通信線信號(hào)是多個(gè)進(jìn)程間的通信線PROCESS語句特點(diǎn)5. 5. 一個(gè)進(jìn)程中只允許描述對(duì)應(yīng)于一個(gè)時(shí)鐘信號(hào)的同步一個(gè)進(jìn)程中只允許描述對(duì)應(yīng)于一個(gè)時(shí)鐘信號(hào)的同步時(shí)序邏輯時(shí)序邏輯 第54頁/共96頁第五十四
52、頁,共97頁。55 并行信號(hào)賦值語句是將一個(gè)數(shù)據(jù)或一個(gè)表達(dá)式的運(yùn)算結(jié)果送給一個(gè)數(shù)據(jù)對(duì)象, ,其賦值目標(biāo)必須是信號(hào)而不能是變量。 信號(hào)賦值語句可以位于進(jìn)程語句中,也可以在進(jìn)程語句之外。若出現(xiàn)在進(jìn)程語句結(jié)構(gòu)內(nèi),則屬于(shy)(shy)順序語句,否則為并行信號(hào)賦值語句。 2. 并行(bngxng)信號(hào)賦值語句 并行信號(hào)賦值語句有三種形式:并行信號(hào)賦值語句有三種形式: 簡單信號(hào)賦值語句簡單信號(hào)賦值語句 條件信號(hào)賦值語句條件信號(hào)賦值語句 選擇信號(hào)賦值語句選擇信號(hào)賦值語句 第55頁/共96頁第五十五頁,共97頁。56 (1 1)簡單(jindn)(jindn)信號(hào)賦值語句 是VHDLVHDL并行語句結(jié)構(gòu)
53、中最基本(jbn)(jbn)的單元。 格式:格式: 賦值目標(biāo)賦值目標(biāo)=表達(dá)式;表達(dá)式; 規(guī)則:規(guī)則: 賦值目標(biāo)必須是信號(hào);賦值目標(biāo)必須是信號(hào); 賦值目標(biāo)的數(shù)據(jù)類型必須與表達(dá)式數(shù)據(jù)類賦值目標(biāo)的數(shù)據(jù)類型必須與表達(dá)式數(shù)據(jù)類型一致。型一致。 例如:例如: OUT_1OUT_1 = B B ANDAND C C; 第56頁/共96頁第五十六頁,共97頁。57 (2 2)條件(tiojin)(tiojin)信號(hào)賦值語句 該語句與IFIF語句相類似,根據(jù)不同的賦值條件,選擇(xunz)(xunz)表達(dá)式中的值賦給賦值目標(biāo)。 賦值目標(biāo)賦值目標(biāo) = 表達(dá)式表達(dá)式1 WHEN 賦值條件賦值條件1 ELSE 表達(dá)式
54、表達(dá)式2 WHEN 賦值條件賦值條件2 ELSE 表達(dá)式表達(dá)式n; 格式:格式:第57頁/共96頁第五十七頁,共97頁。58 【例6.11】用條件(tiojin)賦值語句實(shí)現(xiàn)四選一數(shù)據(jù)選擇器。 ARCHITECTUREARCHITECTURE example5 example5 OFOF mux41 mux41 IS IS SIGNALSIGNAL s: STD_LOGIC_VECTOR( s: STD_LOGIC_VECTOR( 1 1 DOWNTODOWNTO 0 0 ) ); BEGINBEGIN s s = s1&s0s1&s0; y y= d0 d0 WHENWHEN
55、 s s =“00” “00” ELSEELSE d1 d1 WHENWHEN s s =“01” “01” ELSEELSE d2 d2 WHENWHEN s s =“10” “10” ELSEELSE d3 d3; ENDEND example5 example5; - - 當(dāng)s = 00s = 00時(shí),y = d0y = d0 - - 當(dāng)s = 01s = 01時(shí),y = d1y = d1 - - 當(dāng)s = 10s = 10時(shí),y = d2y = d2 - - 當(dāng)s s取其他(qt)(qt)值時(shí),y = y = d3d3第58頁/共96頁第五十八頁,共97頁。59 (3 3)選擇(xun
56、z)(xunz)信號(hào)賦值語句 與CASECASE語句相類似,以選擇表達(dá)式的不同取值為選擇條件(tiojin)(tiojin),將多個(gè)表達(dá)式的值賦給賦值目標(biāo)。 WITH 選擇表達(dá)式選擇表達(dá)式 SELECT 賦值目標(biāo)賦值目標(biāo) = 表達(dá)式表達(dá)式1 1 WHEN 選擇值選擇值1, 1, 表達(dá)式表達(dá)式2 2 WHEN 選擇值選擇值2, 2, 表達(dá)式表達(dá)式n n WHEN 選擇值選擇值n n; 格式:格式: 該語句對(duì)子句中的“選擇值”進(jìn)行選擇,當(dāng)子句中“選擇值”與“選擇表達(dá)式”的值相同時(shí),則將子句中的“表達(dá)式”的值賦給賦值目標(biāo)。 規(guī)則: 該語句不允許有選擇值重疊現(xiàn)象; 該語句不允許選擇值涵蓋不全的情況;
57、每個(gè)子句以“,”,”號(hào)結(jié)束,最后一個(gè)子句以“;”;”結(jié)束。第59頁/共96頁第五十九頁,共97頁。60 用選擇(xunz)信號(hào)賦值語句實(shí)現(xiàn)四選一數(shù)據(jù)選擇(xunz)器。 ARCHITECTUREARCHITECTURE example6 example6 OFOF mux41 mux41 IS IS SIGNALSIGNAL s: STD_LOGIC_VECTOR( s: STD_LOGIC_VECTOR( 1 1 DOWNTODOWNTO 0 0 ) ); BEGINBEGIN s s = s1&s0s1&s0; WITHWITH s s SELECTSELECT y y =
58、 d0 d0 WHENWHEN “00” “00”, d1 d1 WHENWHEN “01” “01”, d2 d2 WHENWHEN “10” “10”, d3 d3 WHENWHEN “11” “11”, Z Z WHEN OTHERSWHEN OTHERS; END END example6 example6; - - 當(dāng)s = 00s = 00時(shí),y = d0y = d0 - - 當(dāng)s = 01s = 01時(shí),y = d1y = d1 - - 當(dāng)s = 10s = 10時(shí),y = d2y = d2 - - 當(dāng)s = 11s = 11時(shí),y = d3y = d3 - - 當(dāng)s s取其他(
59、qt)(qt)值時(shí),y y為高阻第60頁/共96頁第六十頁,共97頁。61 塊(BLOCKBLOCK)語句可以將一些實(shí)現(xiàn)某一特定功能的并行語句組合在一起,其主要目的是利用多個(gè)塊語句結(jié)構(gòu)將一個(gè)復(fù)雜的結(jié)構(gòu)體劃分成幾個(gè)不同功能的模塊,使復(fù)雜的結(jié)構(gòu)體結(jié)構(gòu)分明、功能明確,使程序的編排更加清晰、更有層次,改善并行語句的結(jié)構(gòu)和可讀性,便于(biny)(biny)程序的編寫、調(diào)試和查錯(cuò)。 3. 塊語句(yj) 第61頁/共96頁第六十一頁,共97頁。62 (1 1)塊語句(yj)(yj)的格式 塊語句是將結(jié)構(gòu)(jigu)(jigu)體中并行語句進(jìn)行組合的一種方法。 塊標(biāo)號(hào)塊標(biāo)號(hào) : BLOCK (塊保護(hù)表達(dá)式
60、)塊保護(hù)表達(dá)式) 接口說明接口說明; 類屬說明類屬說明; BEGIN 并行語句并行語句; END BLOCK 塊標(biāo)號(hào)塊標(biāo)號(hào) ; 格式:格式:保護(hù)表達(dá)式 是可選項(xiàng),它是一個(gè)布爾表達(dá)式。保護(hù)表達(dá)式的作用是:只有當(dāng)其為真時(shí),該塊中的語句才被啟動(dòng)執(zhí)行;否則,該塊中的語句不被執(zhí)行。BLOCK語句 中所描述的各個(gè)語句是可以并行執(zhí)行的,它和書寫順序無關(guān)。第62頁/共96頁第六十二頁,共97頁。63 (2 2)塊語句(yj)(yj)的應(yīng)用 利用塊語句可以將結(jié)構(gòu)體中的并行語句劃分成多個(gè)并行方式的子塊,每一個(gè)子塊都是一個(gè)獨(dú)立的設(shè)計(jì)(shj)(shj)實(shí)體,具有自己的類屬參數(shù)和界面端口,以及與外部環(huán)境的銜接描述。 塊語句還可以實(shí)現(xiàn)嵌套,內(nèi)層的塊語句可以使用外層塊語句所定義
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)業(yè)公司股權(quán)轉(zhuǎn)讓合同
- 個(gè)人轉(zhuǎn)租租房合同協(xié)議
- 住建委房屋租賃合同樣本
- 短期臨時(shí)運(yùn)輸合作協(xié)議2025
- Brand KPIs for pet supply online shop PetSmart in the United States-外文版培訓(xùn)課件(2025.2)
- 2025年度行政訴訟法知識(shí)競賽題庫及答案(共150題)
- 2025年度個(gè)人消費(fèi)貸款擔(dān)保合同樣本
- 2025年度采購服務(wù)的合同
- 家居裝修裝飾工程合同管理
- 中藥材購銷合同范本2025年
- 2024年上海市虹口區(qū)街道社區(qū)工作者招聘筆試真題
- 2025年浙江寧波市鎮(zhèn)海區(qū)國資系統(tǒng)國有企業(yè)招聘筆試參考題庫含答案解析
- 廣東省2024-2025學(xué)年佛山市普通高中教學(xué)質(zhì)量檢測英語試卷及答案(二)高三試卷(佛山二模)
- 廣西輔警面試題庫及答案
- 鐵路調(diào)車綜合實(shí)訓(xùn)鐵鞋的使用和注意事項(xiàng)課件
- 足浴合伙投資協(xié)議書
- 2025年江蘇揚(yáng)州水利建筑工程有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 內(nèi)墻涂料施工方案
- 2025年春季部編版五年級(jí)語文文化素養(yǎng)提升計(jì)劃
- (T8聯(lián)考)2025屆高三部分重點(diǎn)中學(xué)3月聯(lián)合測評(píng)語文試卷(含答案詳解)
- 2024年山東司法警官職業(yè)學(xué)院招聘筆試真題
評(píng)論
0/150
提交評(píng)論