基于VHDL語言

基于VHDL語言

ID:43972583

大?。?67.00 KB

頁數(shù):31頁

時(shí)間:2019-10-17

基于VHDL語言_第1頁
基于VHDL語言_第2頁
基于VHDL語言_第3頁
基于VHDL語言_第4頁
基于VHDL語言_第5頁
資源描述:

《基于VHDL語言》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、EDA技術(shù)——基于VHDL語言主講教師:許鋼2005.21EDA技術(shù)——VHDL順序語句第5講VHDL順序語句順序描述語句只能出現(xiàn)在進(jìn)程(Process)或子程序中,它定義進(jìn)程或子程序所執(zhí)行的算法。順序描述語句按這些語句在進(jìn)程或子程序中出現(xiàn)的順序執(zhí)行,這一點(diǎn)與高級(jí)語言類似。VHDL中常用的順序描述語句包括:信號(hào)和變量賦值、Wait、If、Case、Loop、Next、Exit、斷言語句、過程調(diào)用語句、空語句等。2EDA技術(shù)——VHDL順序語句第5講VHDL順序語句所有的順序描述語句都只能在進(jìn)程(pro

2、cess)中使用,進(jìn)程內(nèi)是順序執(zhí)行,進(jìn)程與進(jìn)程之間是并發(fā)的,有點(diǎn)類似于計(jì)算機(jī)操作系統(tǒng)中“進(jìn)程”的概念。進(jìn)程(Process)Process語句的格式:[進(jìn)程名]:Process(敏感信號(hào)列表)Begin順序描述語句;EndProcess;Process語句從Process開始,到EndProcess結(jié)束,進(jìn)程名可以省略。功能相對(duì)獨(dú)立的模塊可以用一個(gè)進(jìn)程來描述。3EDA技術(shù)——VHDL順序語句第5講VHDL順序語句進(jìn)程(Process)Process語句的格式:例1:Entitymux2IsPort(a

3、,b:Instd_logic;s:Instd_logic;f:Outstd_logic);Endmux2;ArchitecturebehaviorOfmux2IsBeginmux2:Process(a,b,s)BeginIf(s=‘0’)Thenf<=a;Elsef<=b;EndIf;EndProcess;Endbehavior;4EDA技術(shù)——VHDL順序語句第5講VHDL順序語句進(jìn)程(Process)Process的啟動(dòng)和敏感信號(hào)列表:進(jìn)程在仿真運(yùn)行中,總是處于兩個(gè)狀態(tài)之一:執(zhí)行或掛起。初始啟動(dòng)時(shí)

4、,進(jìn)程處于執(zhí)行狀態(tài),進(jìn)程中的順序語句從前向后逐句執(zhí)行一遍,即從Process執(zhí)行到EndProcess之前。當(dāng)最后一條語句執(zhí)行完后,返回到進(jìn)程開始的Process語句,進(jìn)程處于掛起狀態(tài)。此時(shí),只要該進(jìn)程的敏感信號(hào)列表中任何一個(gè)信號(hào)發(fā)生變化(即信號(hào)的值發(fā)生變化,如從“1”變到“0”或從“0”變到“1”),進(jìn)程又再次處于執(zhí)行狀態(tài)。然后,再掛起,再執(zhí)行,一直循環(huán)下去,直到仿真結(jié)束。從硬件方面來看,一個(gè)Process相當(dāng)于一個(gè)電路模塊,它的敏感信號(hào)列表指明了所有能引起該電路模塊狀態(tài)發(fā)生改變的信號(hào)。例1中mux

5、2進(jìn)程的敏感信號(hào)列表是(a,b,s),三個(gè)信號(hào)中的任何一個(gè)發(fā)生變化,都引起進(jìn)程重新執(zhí)行。從硬件特性來看,二選一電路的a,b,s輸入的變化都可能引起輸出發(fā)生變化。5EDA技術(shù)——VHDL順序語句第5講VHDL順序語句進(jìn)程(Process)Process的啟動(dòng)和敏感信號(hào)列表:敏感信號(hào)列表對(duì)于進(jìn)程至關(guān)重要,它是進(jìn)程描述的一個(gè)重要組成部分。一般來說,如果描述的是組合電路模塊,那么敏感信號(hào)列表必須包括所有的輸入信號(hào);否則,在綜合時(shí)會(huì)出錯(cuò),在仿真時(shí)將導(dǎo)致一個(gè)錯(cuò)誤的結(jié)果。如果描述的是時(shí)序電路模塊,那么敏感信號(hào)列表只

6、需要包括時(shí)鐘信號(hào)和異步清零/置位信號(hào)。因?yàn)?,觸發(fā)器的輸出只在時(shí)鐘上升/下降沿才會(huì)改變。在一個(gè)結(jié)構(gòu)體里可以有多個(gè)Process語句,這些Process之間可以通過一些信號(hào)相互聯(lián)系。在一個(gè)Process的執(zhí)行中,某個(gè)信號(hào)的值發(fā)生改變,它會(huì)導(dǎo)致另一個(gè)(或幾個(gè))進(jìn)程的重新執(zhí)行,如此構(gòu)成所有進(jìn)程的反復(fù)執(zhí)行。6EDA技術(shù)——VHDL順序語句第5講VHDL順序語句進(jìn)程(Process)中的順序語句1.信號(hào)和變量的賦值:信號(hào)的賦值語句格式:目標(biāo)信號(hào)名<=表達(dá)式;例2:c<=‘1’;q<=“010010”;q(1)<=

7、‘1’;q(3downto1)<=“001”;a<=b;s<=axorb;x<=y+z;需要特別注意的是:VHDL是強(qiáng)類型語言,左邊的信號(hào)量和右邊的表達(dá)式的類型和位長度都必須一致,否則將出錯(cuò)。7EDA技術(shù)——VHDL順序語句第5講VHDL順序語句進(jìn)程(Process)中的順序語句1.信號(hào)和變量的賦值:變量的賦值語句格式:目標(biāo)變量名:=表達(dá)式;例3:v:=‘1’;s:=“010010”;變量賦值的符號(hào)與信號(hào)賦值的符號(hào)不同,表達(dá)式與信號(hào)賦值的表達(dá)式寫法是完全一樣的。變量與信號(hào)有明顯的區(qū)別:變量只在定義它的

8、進(jìn)程和子程序內(nèi)有效,無法傳遞到進(jìn)程之外;而信號(hào)在定義它的結(jié)構(gòu)體內(nèi)有效。賦給變量的值立即成為當(dāng)前值;而賦給信號(hào)的值必須在進(jìn)程結(jié)束后才能成為當(dāng)前值。8EDA技術(shù)——VHDL順序語句第5講VHDL順序語句進(jìn)程(Process)中的順序語句2.轉(zhuǎn)向控制語句:條件控制語句——If語句:IF語句的基本格式:If條件ThenIf條件Then順序描述語句;順序描述語句;ElseEndIf;順序描述語句;EndIf;9EDA技術(shù)——VHDL順序語句第5講VHDL順序語句進(jìn)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。