資源描述:
《eda技術(shù)與vhdl語言第三章.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫。
1、3.4VHDL語言的基本語句VHDL語言描述系統(tǒng)硬件行為時,按語句執(zhí)行順序可以分為順序(Sequential)描述語句和并發(fā)(Concurrent)描述語句。靈活運用這兩類語句就可以正確地描述系統(tǒng)的并發(fā)行為和順序行為。例如,進(jìn)程語句(ProcessStatement)是一個并發(fā)語句。在一個構(gòu)造體內(nèi)可以有幾個進(jìn)程語句同時存在,各進(jìn)程語句是并發(fā)執(zhí)行的。但是,在進(jìn)程內(nèi)部所有語句應(yīng)是順序描述語句,也就是說,是按書寫的順序自上至下,一個語句一個語句地執(zhí)行的。例如,IF語句、LOOP語句等都屬于此類順序描述語句。1、順序描述語句執(zhí)行順序與書寫順序一致,與傳統(tǒng)軟件設(shè)計語言的特點相似。順
2、序語句只能用在進(jìn)程與子程序中。在VHDL語言中順序描述語句主要有以下幾種:*信號代入語句;*變量賦值語句;*WAIT語句;*IF語句;*CASE語句;*LOOP語句;*NEXT語句;*EXIT語句;2、并發(fā)描述語句VHDL的并發(fā)語句用來描述一組并發(fā)行為,它是并發(fā)執(zhí)行的,與程序的書寫順序無關(guān)。*進(jìn)程語句(PROCESS);*并發(fā)(CONCURRENT)信號代入語句;*條件(CONDITIONAL)信號代入語句;*選擇(SELECTIVE)信號代入語句;*并發(fā)(CONCURRENTPROCEDURE)過程調(diào)用語句;*塊(BLOCK)語句。3.4.1信號代入語句信號代入語句的作
3、用是將數(shù)據(jù)或表達(dá)式的結(jié)果賦給一個目標(biāo)對象,目標(biāo)對象可以是內(nèi)部信號,也可以是端口信號。信號代入語句可分為:簡單信號代入語句、條件信號賦值語句和選擇信號賦值語句三種。1、簡單信號代入語句簡單代入語句可以在進(jìn)程內(nèi)部使用,按順序執(zhí)行;代入語句也可以在構(gòu)造體內(nèi)部的進(jìn)程外使用,且并發(fā)執(zhí)行。并發(fā)代入語句在仿真時刻同時運行,它表征了各個獨立器件的各自的獨立操作。如:a<=b+c;d<=e*f;--分別描述加法器和乘法器行為。在實際系統(tǒng)中加法器和乘法器是同時并發(fā)執(zhí)行的。書寫格式:目的信號量<=信號量表達(dá)式;意義:將右邊信號量表達(dá)式的值賦給左邊的目的信號量。1、簡單信號代入語句(續(xù))代入符號
4、“<=”的右邊可以用算術(shù)表達(dá)式,也可以用邏輯運算表達(dá)式,還可以用關(guān)系操作表達(dá)式。注意1)代入符號與小于等于的區(qū)別;2)代入符號兩邊信號量的類型和長度應(yīng)一致;a.一個進(jìn)程:最后一次賦值有效補(bǔ)充:信號的多次賦值architecturertlofexissignala:std_logic;beginprocess(…)begina<=b;…a<=c;endprocess;endrtl;--結(jié)果是a=c2、條件信號代入語句格式:目的信號量<=表達(dá)式1WHEN條件1ELSE表達(dá)式2WHEN條件2ELSE表達(dá)式3WHEN條件3ELSE┆表達(dá)式n;┆ELSE在每個表達(dá)式后面都跟有用“W
5、HEN”所指定的條件,如果滿足該條件,則該表達(dá)式值代入目的信號量;如果條件不滿足,則再判斷下一個表達(dá)式所指定的條件。最后一個表達(dá)式可以不跟條件,即所有條件都不滿足時條件信號代入語句舉例利用條件信號代入語句實現(xiàn)四選一邏輯電路。ENTITYmux4ISPORT(i0,i1,i2,i3,a,b:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDmux4;ARCHITECTURErtlOFmux4ISSIGNALsel:STD_LOGIC_VECTOR(1DOWNTO0);BEGINsel<=b&a;q<=i0WHENsel=“00”ELSEi1WHENsel=“01
6、”ELSEi2WHENsel=“10”ELSEi3WHENsel=“11”ELSE‘X’;ENDrtl;目的信號量<=表達(dá)式1WHEN條件1ELSE表達(dá)式2WHEN條件2ELSE表達(dá)式3WHEN條件3ELSE┆表達(dá)式n;i1i3qmuxi0i2sel(0)sel(1)格式:WITH表達(dá)式SELECT目的信號量<=表達(dá)式1WHEN條件1,表達(dá)式2WHEN條件2,┆表達(dá)式nWHEN條件n;1)不能有重疊的條件分支。2)最后條件可為others。否則,全部條件必須能包含表達(dá)式的所有可能值。3)選擇信號賦值語句與進(jìn)程中的case語句等價。3、選擇信號代入語句注用選擇信號代入語句實
7、現(xiàn)四選一電路LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmuxISPORT(i0,i1,i2,i3,a,b:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDmux;ARCHITECTUREbehaveOFmuxISSIGNALsel:INTEGER;BEGINWITHselSELECTq<=i0WHEN0,i1WHEN1,i2WHEN2,i3WHEN3,‘X’WHENOTHERS;sel<=0WHENa=‘0’ANDb=‘0’ELSE1WHENa=‘0’ANDb=‘1