版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三講 VHDL并發(fā)語(yǔ)句,3.1 并行信號(hào)賦值語(yǔ)句 3.2 進(jìn)程語(yǔ)句 3.3 塊語(yǔ)句 3.4 元件例化語(yǔ)句 3.5 生成語(yǔ)句,并行語(yǔ)句所在位置:,ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS 說明語(yǔ)句 BEGIN 并行語(yǔ)句END ARCHITECTURE 結(jié)構(gòu)體名,3.1 并行信號(hào)賦值語(yǔ)句,1. 簡(jiǎn)單信號(hào)賦值語(yǔ)句,賦值目標(biāo) ?= 表達(dá)式,ARCHITECTU
2、RE curt OF bc1 ISSIGNAL s1, e, f, g, h : STD_LOGIC ;BEGIN output1 <= a AND b ; output2 <= c + d ; g <= e OR f ; h <= e XOR f ; s1 <= g ;END ARCHITECTURE curt;,2. 條件信
3、號(hào)賦值語(yǔ)句,賦值目標(biāo) <= 表達(dá)式 WHEN 賦值條件 ELSE 表達(dá)式 WHEN 賦值條件 ELSE ... 表達(dá)式 ;,【例】 ENTITY mux IS PORT ( a,b,c : IN BIT ; p1,p2 : IN BIT ; z : OUT BIT ); END;
4、 ARCHITECTURE behv OF mux IS BEGIN z <= a WHEN p1 = '1' ELSE b WHEN p2 = '1' ELSE c ; END;,3. 選擇信號(hào)賦值語(yǔ)句,WITH 選擇表達(dá)式 SELECT 賦值目標(biāo)信號(hào) <=表達(dá)式 WHEN 選擇值表達(dá)式 WHEN 選擇值...表達(dá)式 WHEN
5、 選擇值;,...WITH selt SELECTmuxout <= a WHEN 0|1 , b WHEN 2 TO 5 , c WHEN 6 , d WHEN 7 , 'Z' WHEN OTHERS ; ...,3.2 進(jìn)程語(yǔ)句,進(jìn)程(PROCESS)語(yǔ)句是最具VHDL語(yǔ)言特色的
6、語(yǔ)句。因?yàn)樗峁┝艘环N用算法(順序語(yǔ)句)描述硬件行為的方法。,進(jìn)程語(yǔ)句是VHDL程序中使用最頻繁和最能體現(xiàn)VHDL語(yǔ)言特點(diǎn)的一種語(yǔ)句,其原因大概是由于它的并行和順序行為的雙重性,以及其行為描述風(fēng)格的特殊性。,語(yǔ)句格式:[進(jìn)程標(biāo)號(hào):]PROCESS[(敏感信號(hào)參數(shù)表)][IS][進(jìn)程說明部分]BEGIN順序描述語(yǔ)句END PROCESS[進(jìn)程標(biāo)號(hào)];,(2) 順序描述語(yǔ)句部分可分為賦值語(yǔ)句、進(jìn)程啟動(dòng)語(yǔ)句、子程序調(diào)用語(yǔ)句、順序描述
7、語(yǔ)句和進(jìn)程跳出語(yǔ)句等。,PROCESS 組成:,(1) 進(jìn)程說明部分主要定義一些局部量,可包括數(shù)據(jù)類型、常數(shù)、屬性、子程序等。注意:在進(jìn)程說明部分中不允許定義信號(hào)和共享變量。,(3) 敏感信號(hào)參數(shù)表列出用于啟動(dòng)本進(jìn)程的信號(hào)名。,(1) 同一結(jié)構(gòu)體中的進(jìn)程之間是并行運(yùn)行的,但同一進(jìn)程中的邏輯描述語(yǔ)句則是順序運(yùn)行的。,進(jìn)程設(shè)計(jì)要點(diǎn):,(2) 進(jìn)程的激活必須由敏感信號(hào)表中定義的任一敏感信號(hào)的變化來(lái)啟動(dòng)。,(3) 結(jié)構(gòu)體中多個(gè)進(jìn)程能并行同步運(yùn)行
8、的原因是進(jìn)程之間的通信是通過傳遞信號(hào)和共享變量值來(lái)實(shí)現(xiàn)的。,(4) 進(jìn)程是重要的建模工具。,3.3 塊語(yǔ)句結(jié)構(gòu)(BLOCK),語(yǔ)句格式:塊標(biāo)號(hào) : BLOCK [(塊保護(hù)表達(dá)式)] 接口說明 類屬說明 BEGIN 并行語(yǔ)句 END BLOCK 塊標(biāo)號(hào) ;,【例】 Half_Adder : BlockBegin Sum <
9、;= A Xor B;Carry <= A and B;End Block Half_Adder;Half_Subtractor: BlockBeginDifference <= A Xor B; Borrow <= Not A and B;End Block Half_Subtractor;,3.4 元件例化語(yǔ)句,語(yǔ)句格式:COMPONENT 元件名 IS GENERIC (
10、類屬表); -- 元件定義語(yǔ)句 PORT (端口名表);END COMPONENT 文件名;調(diào)用格式:例化名 :元件名 PORT MAP([端口名 =>] 連接端口名,...) ; -- 元件例化語(yǔ)句,,名字關(guān)聯(lián)方式,位置關(guān)聯(lián)方式,接口表達(dá)的兩種方式:,【
11、例】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ND2 IS PORT(A,B:IN STD_LOGIC; C:OUT STD_LOGIC);END ND2;ARCHITECTURE ARTND2 OF ND2 IS BEGIN Y<=A NAND B;END ARCHITECTURE ARTND2;,LIBRAR
12、Y IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ORD41 IS PORT(A1,B1,C1,D1:IN STD_LOGIC; Z1:OUT STD_LOGIC);END ORD41;ARCHITECTURE ARTORD41 OF ORD41 IS COMPONENT ND2 PORT(A,B:IN STD_LOGIC;
13、 C:OUT STD_LOGIC); END COMPONENT;,SIGNAL X,Y :STD_LOGIC;BEGINU1:ND2 PORT MAP (A1,B1,X); --位置關(guān)聯(lián)方式U2:ND2 PORT MAP (A=>C1,C=>Y,B=>D1);--名字關(guān)聯(lián)方式U3:ND2 PORT MAP (X,Y,C=>Z1
溫馨提示
- 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ù)僅提供信息存儲(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)論