




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第7 7章章 VHDLVHDL根本語(yǔ)句與根本設(shè)計(jì)根本語(yǔ)句與根本設(shè)計(jì)EDAEDA技術(shù)與技術(shù)與VHDLVHDL設(shè)計(jì)設(shè)計(jì)順序語(yǔ)句順序語(yǔ)句 并行語(yǔ)句并行語(yǔ)句 VHDL VHDL組合邏輯電路設(shè)計(jì)組合邏輯電路設(shè)計(jì) VHDL VHDL時(shí)序邏輯電路設(shè)計(jì)時(shí)序邏輯電路設(shè)計(jì)VHDLVHDL根本語(yǔ)句與根本設(shè)計(jì)根本語(yǔ)句與根本設(shè)計(jì)v順序語(yǔ)句的執(zhí)行順序與書寫順序一致,與順序語(yǔ)句的執(zhí)行順序與書寫順序一致,與傳統(tǒng)軟件設(shè)計(jì)言語(yǔ)的特點(diǎn)類似。順序語(yǔ)句傳統(tǒng)軟件設(shè)計(jì)言語(yǔ)的特點(diǎn)類似。順序語(yǔ)句只能用于進(jìn)程和子程序中,被用來(lái)描畫組只能用于進(jìn)程和子程序中,被用來(lái)描畫組合邏輯和時(shí)序邏輯。合邏輯和時(shí)序邏輯。v常用的順序描畫語(yǔ)句有:賦值語(yǔ)句、常用的
2、順序描畫語(yǔ)句有:賦值語(yǔ)句、IFIF語(yǔ)語(yǔ)句、句、CASECASE語(yǔ)句、語(yǔ)句、LOOPLOOP語(yǔ)句、語(yǔ)句、NEXTNEXT語(yǔ)句、語(yǔ)句、EXITEXIT語(yǔ)句、子程序、語(yǔ)句、子程序、RETURNRETURN語(yǔ)句、語(yǔ)句、WAITWAIT語(yǔ)語(yǔ)句和句和NULLNULL語(yǔ)句。語(yǔ)句。7.1 7.1 順序語(yǔ)句順序語(yǔ)句v信號(hào)賦值語(yǔ)句:信號(hào)賦值語(yǔ)句:7.1.1 7.1.1 賦值語(yǔ)句賦值語(yǔ)句 v變量賦值語(yǔ)句:變量賦值語(yǔ)句:v根據(jù)語(yǔ)句所設(shè)條件,根據(jù)語(yǔ)句所設(shè)條件,ifif語(yǔ)句有選擇地執(zhí)行語(yǔ)句有選擇地執(zhí)行指定的語(yǔ)句,其語(yǔ)法格式由簡(jiǎn)單到復(fù)雜可指定的語(yǔ)句,其語(yǔ)法格式由簡(jiǎn)單到復(fù)雜可以分為三種:以分為三種:v1 1具有開關(guān)控制的具有
3、開關(guān)控制的IFIF語(yǔ)句語(yǔ)句v2 2具有二選擇控制的具有二選擇控制的IFIF語(yǔ)句語(yǔ)句v3 3具有多項(xiàng)選擇擇控制的具有多項(xiàng)選擇擇控制的IFIF語(yǔ)句語(yǔ)句7.1.2 IF7.1.2 IF語(yǔ)句語(yǔ)句 n普通格式:普通格式:n if if 條件條件 thenthenn 順序語(yǔ)句順序語(yǔ)句; ;nend if;end if;n當(dāng)條件成立,執(zhí)行順序語(yǔ)句,否那么跳過當(dāng)條件成立,執(zhí)行順序語(yǔ)句,否那么跳過語(yǔ)句。語(yǔ)句。具有開關(guān)控制的具有開關(guān)控制的IFIF語(yǔ)句語(yǔ)句 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、,該語(yǔ)句不執(zhí)行,該語(yǔ)句不執(zhí)行end if;end if;具有開關(guān)控制的具有開關(guān)控制的IFIF語(yǔ)句舉例語(yǔ)句舉例 n普通格式:普通格式:n if if 條件條件 thenthenn 順序語(yǔ)句順序語(yǔ)句; ;nelseelsen 順序語(yǔ)句順序語(yǔ)句; ;nend if;end if;n 條件成立執(zhí)行條件成立執(zhí)行thenthen后順序語(yǔ)句;否那后順序語(yǔ)句;否那么執(zhí)行么執(zhí)行elseelse后的順序語(yǔ)句。后的順序語(yǔ)句。具有二選擇控制的具有二選擇控制的IFIF語(yǔ)句語(yǔ)句 if OE = 0 thenif OE = 0 thenY = not x;Y = not x;elseelseY = Z;Y = 順序語(yǔ)句;順
5、序語(yǔ)句;n when when 選擇值選擇值 = = 順序語(yǔ)句;順序語(yǔ)句;n .n when others = when others = 順序語(yǔ)句;順序語(yǔ)句;nend case;end case;7.1.3 CASE7.1.3 CASE語(yǔ)句語(yǔ)句 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語(yǔ)句本卷須知語(yǔ)句本卷須知 n普通格式:普通格式:n2 2條件句中的選擇值必需在表達(dá)式的取條件句中的選擇值必需在表達(dá)式的取值范圍內(nèi)。值范圍內(nèi)。 n3 3casecase語(yǔ)句中每一條件句的選擇值只能語(yǔ)句中每一條件句的選擇值只能出現(xiàn)一次,不能有一樣選擇值的條件語(yǔ)句出出現(xiàn)一次,不能有一樣選擇值的條件語(yǔ)句出現(xiàn)?,F(xiàn)。n4 4casecase語(yǔ)句執(zhí)行必需選中,且僅能選中語(yǔ)句執(zhí)行必需選中,且僅能選中所列語(yǔ)句中的一條。所列語(yǔ)句中的一條。運(yùn)用運(yùn)用CASECASE語(yǔ)句本卷須知語(yǔ)句本卷須知 1 1WHEN WHEN 取值取值=順序語(yǔ)句:順序語(yǔ)句:2 2WHEN WHEN 取值取值|
7、|取值取值|取值取值=順序語(yǔ)句:順序語(yǔ)句:3 3WHEN WHEN 取值取值 TO TO 取值取值=順序語(yǔ)句;順序語(yǔ)句;4 4WHEN WHEN 取值取值 DOWNTO DOWNTO 取值取值=順序語(yǔ)句;順序語(yǔ)句;5 5WHEN OTHERS=WHEN OTHERS=順序語(yǔ)句;順序語(yǔ)句;CASECASE語(yǔ)句中語(yǔ)句中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 ;無(wú)限無(wú)限LOOP語(yǔ)句語(yǔ)句 標(biāo)號(hào)標(biāo)號(hào)
8、 :FOR FOR 循環(huán)變量循環(huán)變量 IN IN 離散范圍離散范圍 LOOPLOOP 順序處置語(yǔ)句;順序處置語(yǔ)句; END LOOP END LOOP 標(biāo)號(hào)標(biāo)號(hào) ;留意:留意:1 1循環(huán)變量是循環(huán)變量是LOOPLOOP內(nèi)部自動(dòng)聲明的部分量?jī)?nèi)部自動(dòng)聲明的部分量,僅在,僅在LOOPLOOP內(nèi)可見。內(nèi)可見。2 2離散范圍必需是可計(jì)算的整數(shù)范圍。循離散范圍必需是可計(jì)算的整數(shù)范圍。循環(huán)次數(shù)范圍規(guī)定環(huán)次數(shù)范圍規(guī)定LOOPLOOP語(yǔ)句中的順序語(yǔ)句被語(yǔ)句中的順序語(yǔ)句被執(zhí)行的次數(shù)。執(zhí)行的次數(shù)。FOR_LOOPFOR_LOOP語(yǔ)句語(yǔ)句 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語(yǔ)句描畫語(yǔ)句描畫8 8位奇偶校驗(yàn)電路位奇偶校驗(yàn)電路 標(biāo)號(hào)標(biāo)號(hào) :WHILE WHILE 循環(huán)條件循環(huán)條件 LOOPLOOP 順序處置語(yǔ)句;順序處置語(yǔ)句; 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語(yǔ)句語(yǔ)句 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語(yǔ)句描畫語(yǔ)句描畫8位奇偶校驗(yàn)位奇偶校驗(yàn)電路電路 在在LOOPLOOP語(yǔ)句中,語(yǔ)句中,NEXTNEXT語(yǔ)句用來(lái)跳出本次循環(huán)。其語(yǔ)句用來(lái)跳出本次循環(huán)。其格式分三種:格式分三種:1 1NEXT:NEXT:無(wú)條件終止當(dāng)前的循環(huán),跳回到本次無(wú)條件終止當(dāng)前的循環(huán),跳回到本次循環(huán)循環(huán)LOOPLOOP語(yǔ)句開場(chǎng)處,開場(chǎng)下次
15、循環(huán)。語(yǔ)句開場(chǎng)處,開場(chǎng)下次循環(huán)。2 2NEXT: NEXT: 標(biāo)號(hào)標(biāo)號(hào) ;無(wú)條件終止當(dāng)前的循環(huán),跳轉(zhuǎn)到指定標(biāo)號(hào)的無(wú)條件終止當(dāng)前的循環(huán),跳轉(zhuǎn)到指定標(biāo)號(hào)的LOOPLOOP語(yǔ)句開場(chǎng)處,重新開場(chǎng)執(zhí)行循環(huán)操作。語(yǔ)句開場(chǎng)處,重新開場(chǎng)執(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語(yǔ)句語(yǔ)句 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語(yǔ)句舉例語(yǔ)句舉例nEXITEXIT語(yǔ)句是語(yǔ)句是LOOPLOOP語(yǔ)句的內(nèi)部循環(huán)控制語(yǔ)句語(yǔ)句的內(nèi)部循環(huán)控制語(yǔ)句,作用是終了循環(huán)形狀。而區(qū)別在于,作用是終了循環(huán)形狀。而區(qū)別在于NEXTNEXT語(yǔ)語(yǔ)句是跳向句是跳向LOOPLOOP語(yǔ)句的起始點(diǎn),語(yǔ)句的起始點(diǎn),EXITEXIT語(yǔ)句那語(yǔ)句那么是跳向么是跳向LOOPLOOP語(yǔ)句的終點(diǎn)。語(yǔ)句的終點(diǎn)。nEXITEXIT的語(yǔ)句格式也有的語(yǔ)句格式也有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語(yǔ)句語(yǔ)句 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語(yǔ)句舉例語(yǔ)句舉例n在進(jìn)程中包括過程中,當(dāng)執(zhí)行到在進(jìn)程中包括過程中,當(dāng)執(zhí)行到WAITWAIT等待語(yǔ)等待語(yǔ)句時(shí),運(yùn)轉(zhuǎn)程序?qū)⒈粧炱?,直到滿足此語(yǔ)句設(shè)置句時(shí),運(yùn)轉(zhuǎn)程序?qū)⒈粧炱?,直到滿足此語(yǔ)句設(shè)置的終了掛起條件后,才重新開場(chǎng)執(zhí)行進(jìn)程或過程中的終了掛起條件后,才重新開場(chǎng)執(zhí)行進(jìn)程或過程中的程序。的程序。WAITWAIT語(yǔ)句有以下四種不同的語(yǔ)句格式:語(yǔ)句有以下四種不同的語(yǔ)句格式:n1 1WAIT -WAIT -無(wú)限等待無(wú)限等待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語(yǔ)句語(yǔ)句 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. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備投資計(jì)劃
- 建筑規(guī)劃保安工作計(jì)劃
- 航空領(lǐng)域保安工作的創(chuàng)新計(jì)劃
- 會(huì)計(jì)信息與決策的關(guān)系探討計(jì)劃
- 2025年媒體經(jīng)營(yíng)項(xiàng)目建議書
- 2025年中國(guó)夜游經(jīng)濟(jì)行業(yè)供需態(tài)勢(shì)、競(jìng)爭(zhēng)格局及投資前景分析報(bào)告(智研咨詢)
- 2025年超硬材料項(xiàng)目合作計(jì)劃書
- 2025年特種大型鋁合金型材項(xiàng)目發(fā)展計(jì)劃
- 構(gòu)建直觀易用的用戶操作面板
- 2025年子宮收縮藥項(xiàng)目發(fā)展計(jì)劃
- 醫(yī)療PDCA案例模板
- YB∕T 5363-2016 裝飾用焊接不銹鋼管
- 江蘇省2023年中職職教高考文化統(tǒng)考語(yǔ)文
- 中醫(yī)典籍心得體會(huì)大全(23篇)
- 客戶投訴處理情況總結(jié)范文
- 危險(xiǎn)化學(xué)品押運(yùn)員培訓(xùn)
- 干細(xì)胞市面推廣方案
- 華為培訓(xùn)教程01網(wǎng)絡(luò)基礎(chǔ)
- 國(guó)家基本藥物知識(shí)培訓(xùn)課件
- QCT 291-2023 汽車機(jī)械式分動(dòng)器總成性能要求和臺(tái)架試驗(yàn)方法 (正式版)
- 浙教版勞動(dòng)八年級(jí)下冊(cè)全冊(cè)教案教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論