基本語句與基本設(shè)計(jì)(1)ppt課件_第1頁
基本語句與基本設(shè)計(jì)(1)ppt課件_第2頁
基本語句與基本設(shè)計(jì)(1)ppt課件_第3頁
基本語句與基本設(shè)計(jì)(1)ppt課件_第4頁
基本語句與基本設(shè)計(jì)(1)ppt課件_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第7 7章章 VHDLVHDL根本語句與根本設(shè)計(jì)根本語句與根本設(shè)計(jì)EDAEDA技術(shù)與技術(shù)與VHDLVHDL設(shè)計(jì)設(shè)計(jì)順序語句順序語句 并行語句并行語句 VHDL VHDL組合邏輯電路設(shè)計(jì)組合邏輯電路設(shè)計(jì) VHDL VHDL時(shí)序邏輯電路設(shè)計(jì)時(shí)序邏輯電路設(shè)計(jì)VHDLVHDL根本語句與根本設(shè)計(jì)根本語句與根本設(shè)計(jì)v順序語句的執(zhí)行順序與書寫順序一致,與順序語句的執(zhí)行順序與書寫順序一致,與傳統(tǒng)軟件設(shè)計(jì)言語的特點(diǎn)類似。順序語句傳統(tǒng)軟件設(shè)計(jì)言語的特點(diǎn)類似。順序語句只能用于進(jìn)程和子程序中,被用來描畫組只能用于進(jìn)程和子程序中,被用來描畫組合邏輯和時(shí)序邏輯。合邏輯和時(shí)序邏輯。v常用的順序描畫語句有:賦值語句、常用的

2、順序描畫語句有:賦值語句、IFIF語語句、句、CASECASE語句、語句、LOOPLOOP語句、語句、NEXTNEXT語句、語句、EXITEXIT語句、子程序、語句、子程序、RETURNRETURN語句、語句、WAITWAIT語語句和句和NULLNULL語句。語句。7.1 7.1 順序語句順序語句v信號(hào)賦值語句:信號(hào)賦值語句:7.1.1 7.1.1 賦值語句賦值語句 v變量賦值語句:變量賦值語句:v根據(jù)語句所設(shè)條件,根據(jù)語句所設(shè)條件,ifif語句有選擇地執(zhí)行語句有選擇地執(zhí)行指定的語句,其語法格式由簡單到復(fù)雜可指定的語句,其語法格式由簡單到復(fù)雜可以分為三種:以分為三種:v1 1具有開關(guān)控制的具有

3、開關(guān)控制的IFIF語句語句v2 2具有二選擇控制的具有二選擇控制的IFIF語句語句v3 3具有多項(xiàng)選擇擇控制的具有多項(xiàng)選擇擇控制的IFIF語句語句7.1.2 IF7.1.2 IF語句語句 n普通格式:普通格式:n if if 條件條件 thenthenn 順序語句順序語句; ;nend if;end if;n當(dāng)條件成立,執(zhí)行順序語句,否那么跳過當(dāng)條件成立,執(zhí)行順序語句,否那么跳過語句。語句。具有開關(guān)控制的具有開關(guān)控制的IFIF語句語句 if (EN=1) thenif (EN=1) then A=B; A=B;- - 當(dāng)條件當(dāng)條件EN=1EN=1時(shí),時(shí),A A隨隨B B變化;否那么變化;否那么

4、,該語句不執(zhí)行,該語句不執(zhí)行end if;end if;具有開關(guān)控制的具有開關(guān)控制的IFIF語句舉例語句舉例 n普通格式:普通格式:n if if 條件條件 thenthenn 順序語句順序語句; ;nelseelsen 順序語句順序語句; ;nend if;end if;n 條件成立執(zhí)行條件成立執(zhí)行thenthen后順序語句;否那后順序語句;否那么執(zhí)行么執(zhí)行elseelse后的順序語句。后的順序語句。具有二選擇控制的具有二選擇控制的IFIF語句語句 if OE = 0 thenif OE = 0 thenY = not x;Y = not x;elseelseY = Z;Y = 順序語句;順

5、序語句;n when when 選擇值選擇值 = = 順序語句;順序語句;n .n when others = when others = 順序語句;順序語句;nend case;end case;7.1.3 CASE7.1.3 CASE語句語句 n普通格式:普通格式:n1 1關(guān)鍵詞關(guān)鍵詞othersothers只能出現(xiàn)一次,且只只能出現(xiàn)一次,且只能作為最后一種條件取值。運(yùn)用能作為最后一種條件取值。運(yùn)用othersothers的的目的是為了使條件句中的一切選擇值能涵目的是為了使條件句中的一切選擇值能涵蓋表達(dá)式的一切取值,以免綜合器會(huì)插入蓋表達(dá)式的一切取值,以免綜合器會(huì)插入不用要的鎖存器。不用要

6、的鎖存器。運(yùn)用運(yùn)用CASECASE語句本卷須知語句本卷須知 n普通格式:普通格式:n2 2條件句中的選擇值必需在表達(dá)式的取條件句中的選擇值必需在表達(dá)式的取值范圍內(nèi)。值范圍內(nèi)。 n3 3casecase語句中每一條件句的選擇值只能語句中每一條件句的選擇值只能出現(xiàn)一次,不能有一樣選擇值的條件語句出出現(xiàn)一次,不能有一樣選擇值的條件語句出現(xiàn)?,F(xiàn)。n4 4casecase語句執(zhí)行必需選中,且僅能選中語句執(zhí)行必需選中,且僅能選中所列語句中的一條。所列語句中的一條。運(yùn)用運(yùn)用CASECASE語句本卷須知語句本卷須知 1 1WHEN WHEN 取值取值=順序語句:順序語句:2 2WHEN WHEN 取值取值|

7、|取值取值|取值取值=順序語句:順序語句:3 3WHEN WHEN 取值取值 TO TO 取值取值=順序語句;順序語句;4 4WHEN WHEN 取值取值 DOWNTO DOWNTO 取值取值=順序語句;順序語句;5 5WHEN OTHERS=WHEN OTHERS=順序語句;順序語句;CASECASE語句中語句中WHENWHEN字句書寫格式字句書寫格式 d0=0;d1=0;d0=0;d1=0;d2=0;d3=0;d2=0;d3d0d0d1d1d2d2d3d310 ; EXIT L2 WHEN a10 ; END LOOP L2 ; END LOOP L2 ;無限無限LOOP語句語句 標(biāo)號(hào)標(biāo)號(hào)

8、 :FOR FOR 循環(huán)變量循環(huán)變量 IN IN 離散范圍離散范圍 LOOPLOOP 順序處置語句;順序處置語句; END LOOP END LOOP 標(biāo)號(hào)標(biāo)號(hào) ;留意:留意:1 1循環(huán)變量是循環(huán)變量是LOOPLOOP內(nèi)部自動(dòng)聲明的部分量內(nèi)部自動(dòng)聲明的部分量,僅在,僅在LOOPLOOP內(nèi)可見。內(nèi)可見。2 2離散范圍必需是可計(jì)算的整數(shù)范圍。循離散范圍必需是可計(jì)算的整數(shù)范圍。循環(huán)次數(shù)范圍規(guī)定環(huán)次數(shù)范圍規(guī)定LOOPLOOP語句中的順序語句被語句中的順序語句被執(zhí)行的次數(shù)。執(zhí)行的次數(shù)。FOR_LOOPFOR_LOOP語句語句 LIBRARY IEEE;LIBRARY IEEE;USE IEEE.STD_

9、LOGIC_1164.ALL;USE IEEE.STD_LOGIC_1164.ALL;ENTITY parity_check ISENTITY parity_check IS PORT( a: IN STD_LOGIC_VECTOR( 7 DOWNTO 0 ) ; PORT( a: IN STD_LOGIC_VECTOR( 7 DOWNTO 0 ) ; y: OUT STD_LOGIC ) ; y: OUT STD_LOGIC ) ;END ENTITY parity_check;END ENTITY parity_check;ARCHITECTURE one OF parity_check

10、ISARCHITECTURE one OF parity_check ISBEGINBEGIN PROCESS( a ) PROCESS( a ) VARIABLE tmp: STD_LOGIC; VARIABLE tmp: STD_LOGIC; BEGIN BEGIN tmp: =1 ; tmp: =1 ; FOR i IN 0 TO 7 LOOP FOR i IN 0 TO 7 LOOP tmp: tmp xor a( i ) ; tmp: tmp xor a( i ) ; END LOOP; END LOOP; y=tmp ; y=tmp ; END PROCESS; END PROCE

11、SS;END;END;用用FOR LOOPFOR LOOP語句描畫語句描畫8 8位奇偶校驗(yàn)電路位奇偶校驗(yàn)電路 標(biāo)號(hào)標(biāo)號(hào) :WHILE WHILE 循環(huán)條件循環(huán)條件 LOOPLOOP 順序處置語句;順序處置語句; END LOOP END LOOP 標(biāo)號(hào)標(biāo)號(hào) ;例:例:sum := 0 ;i := 0 ;sum := 0 ;i := 0 ;abcd : WHILE ( i10 ) LOOPabcd : WHILE ( i10 ) LOOP sum:=sum+i; sum:=sum+i; i:=i+1; i:=i+1;END LOOP abcd ;END LOOP abcd ;WHILE_LOOP

12、WHILE_LOOP語句語句 LIBRARY IEEE;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_1164.ALL;ENTITY parity_check ISENTITY parity_check IS PORT( a: IN STD_LOGIC_VECTOR( 7 DOWNTO 0 ) ; PORT( a: IN STD_LOGIC_VECTOR( 7 DOWNTO 0 ) ; y: OUT STD_LOGIC ) ; y: OUT STD_LOGIC ) ;END ENTITY parity_check;END

13、 ENTITY parity_check;ARCHITECTURE one OF parity_check ISARCHITECTURE one OF parity_check ISBEGINBEGIN PROCESS( a ) PROCESS( a ) VARIABLE tmp: STD_LOGIC;VARIABLE i: INTEGER ; VARIABLE tmp: STD_LOGIC;VARIABLE i: INTEGER ; BEGIN BEGIN tmp: =0 ; i := 0 ; tmp: =0 ; i := 0 ; WHILE ( i8 ) LOOP WHILE ( i8 )

14、 LOOP tmp: tmp xor a( i ) ; i:=i+1; tmp: tmp xor a( i ) ; i:=i+1; END LOOP; END LOOP; y=tmp ; y=tmp ; END PROCESS; END PROCESS;END;END;用用WHILE_LOOP語句描畫語句描畫8位奇偶校驗(yàn)位奇偶校驗(yàn)電路電路 在在LOOPLOOP語句中,語句中,NEXTNEXT語句用來跳出本次循環(huán)。其語句用來跳出本次循環(huán)。其格式分三種:格式分三種:1 1NEXT:NEXT:無條件終止當(dāng)前的循環(huán),跳回到本次無條件終止當(dāng)前的循環(huán),跳回到本次循環(huán)循環(huán)LOOPLOOP語句開場處,開場下次

15、循環(huán)。語句開場處,開場下次循環(huán)。2 2NEXT: NEXT: 標(biāo)號(hào)標(biāo)號(hào) ;無條件終止當(dāng)前的循環(huán),跳轉(zhuǎn)到指定標(biāo)號(hào)的無條件終止當(dāng)前的循環(huán),跳轉(zhuǎn)到指定標(biāo)號(hào)的LOOPLOOP語句開場處,重新開場執(zhí)行循環(huán)操作。語句開場處,重新開場執(zhí)行循環(huán)操作。3 3NEXT NEXT 標(biāo)號(hào)標(biāo)號(hào) WHEN WHEN 條件表達(dá)式條件表達(dá)式 ;7.1.5 NEXT7.1.5 NEXT語句語句 L1: WHILE i10 LOOPL1: WHILE i10 LOOP L2: WHILE j20 LOOP L2: WHILE j20 LOOP NEXT L1 WHEN i=j; NEXT L1 WHEN i=j; END LOO

16、P L2 ; END LOOP L2 ;END LOOP L1 ;END LOOP L1 ;NEXTNEXT語句舉例語句舉例nEXITEXIT語句是語句是LOOPLOOP語句的內(nèi)部循環(huán)控制語句語句的內(nèi)部循環(huán)控制語句,作用是終了循環(huán)形狀。而區(qū)別在于,作用是終了循環(huán)形狀。而區(qū)別在于NEXTNEXT語語句是跳向句是跳向LOOPLOOP語句的起始點(diǎn),語句的起始點(diǎn),EXITEXIT語句那語句那么是跳向么是跳向LOOPLOOP語句的終點(diǎn)。語句的終點(diǎn)。nEXITEXIT的語句格式也有的語句格式也有3 3種:種:n1 1EXIT EXIT ;n2 2EXIT LOOP EXIT LOOP 標(biāo)號(hào);標(biāo)號(hào);n3 3

17、EXIT LOOP EXIT LOOP 標(biāo)號(hào)標(biāo)號(hào) WHEN WHEN 條件表達(dá)條件表達(dá)式;式;7.1.6 EXIT7.1.6 EXIT語句語句 PROCESS (a)PROCESS (a)VARIABLE int_a: INTEGER;VARIABLE int_a: INTEGER;BEGINBEGIN int_a:=a; int_a:=a; FOR i IN 0 TO max_limit LOOP FOR i IN 0 TO max_limit LOOP IF(int_a=0) THEN IF(int_a=0) THEN EXIT; EXIT; ELSE int_a:=int_a-1; EL

18、SE int_a:=int_a-1; END IF; END IF; END LOOP; END LOOP;END PROCESS;END PROCESS;EXITEXIT語句舉例語句舉例n在進(jìn)程中包括過程中,當(dāng)執(zhí)行到在進(jìn)程中包括過程中,當(dāng)執(zhí)行到WAITWAIT等待語等待語句時(shí),運(yùn)轉(zhuǎn)程序?qū)⒈粧炱?,直到滿足此語句設(shè)置句時(shí),運(yùn)轉(zhuǎn)程序?qū)⒈粧炱?,直到滿足此語句設(shè)置的終了掛起條件后,才重新開場執(zhí)行進(jìn)程或過程中的終了掛起條件后,才重新開場執(zhí)行進(jìn)程或過程中的程序。的程序。WAITWAIT語句有以下四種不同的語句格式:語句有以下四種不同的語句格式:n1 1WAIT -WAIT -無限等待無限等待n2 2WAI

19、T ON -WAIT ON -敏感信號(hào)量變換敏感信號(hào)量變換n3 3WAIT UNTIL -WAIT UNTIL -條件滿足可綜合條件滿足可綜合n4 4WAIT FOR -WAIT FOR -時(shí)間到時(shí)間到7.1.7 WAIT7.1.7 WAIT語句語句 n進(jìn)程中其普通格式為:進(jìn)程中其普通格式為:WAIT ON WAIT ON 信號(hào)信號(hào) ,信號(hào),信號(hào) ;n例如,以下兩種描畫是完全等價(jià)的:例如,以下兩種描畫是完全等價(jià)的:n PROCESS(a,b) PROCESSPROCESS(a,b) PROCESSn BEGIN BEGIN BEGIN BEGINn y=a AND b; y=a AND y=a AND b; y=表達(dá)式表達(dá)式 , 參數(shù)名參數(shù)名=表達(dá)式表達(dá)式 ;n 其中表達(dá)式也稱為實(shí)參,它可以其中表達(dá)式也稱為實(shí)參,它可以是一個(gè)詳細(xì)的數(shù)值,也可以是一個(gè)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論