版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、VHDL語言與數(shù)字邏輯電路設(shè)計,2010.9,1,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,并行語句是硬件描述語言與軟件程序最大的區(qū)別所在。所有并行語句在結(jié)構(gòu)體中的執(zhí)行都是同時進(jìn)行的,即它們的執(zhí)行順序與語句書寫的順序無關(guān)。這種并行性是由硬件本身的并行性決定的,即一旦電路接通電源,它的各部分就會按照事先設(shè)計好的方案同時工作。 VHDL有幾種主要并行語句: 進(jìn)程語句 塊語句 并行信號賦值語句 元件例化語句 生成語句 并行過程調(diào)用語句,2,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,進(jìn)程(Process)語句是一種并發(fā)處理語句,在一個構(gòu)造體中多個Process是同時并行運(yùn)行,它是VHDL語言中描述硬件
2、系統(tǒng)并發(fā)行為的最基本的語句。它的特點歸納如下: 一個進(jìn)程語句可以與其他進(jìn)程語句并發(fā)運(yùn)行; 進(jìn)程語句可以存取在設(shè)計實體或構(gòu)造體中定義的所有信號; 在一個進(jìn)程模塊內(nèi)的語句都是按順序執(zhí)行的; 進(jìn)程有掛起和執(zhí)行兩個狀態(tài),要激活進(jìn)程,在進(jìn)程結(jié)構(gòu)中必須包含一個敏感信號列表或含一個Wait語句; 進(jìn)程之間的通信是通過信號傳遞實現(xiàn)的。,進(jìn)程語句 (Process),3,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,塊語句是將結(jié)構(gòu)體中的并行語句組合在一起,其主要目的是改善并行語句及其結(jié)構(gòu)的可讀性,一般用于較復(fù)雜的VHDL程序中;但從綜合的角度看,BLOCK語句沒有實用價值。 塊語句的語法描述如下: 塊標(biāo)號:BLOC
3、K 說明語句; BEGIN 并行語句; END BLOCK塊標(biāo)號; 注意:塊標(biāo)號必須有。,塊語句(Block),4,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,說明語句與結(jié)構(gòu)體的說明語句相同,主要是對該塊所要用到的對象、其它模塊等加以說明??烧f明的項目有: 端口說明、類屬說明; 子程序說明及子程序體; 數(shù)據(jù)類型說明; 常數(shù)說明; 信號說明; 元件說明等。,塊語句(Block),5,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,例1: ARCHITECTURE behave OF test_block IS BEGIN . p1:BLOCK BEGIN aequalbb ELSE 0; alessb=
4、1 WHEN ab ELSE 0; END BLOCK; . END behave;,塊語句(Block),6,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,BLOCK是可以嵌套的,內(nèi)層BLOCK塊可以使用外層BLOCK塊所定義的信號,而反之則不行。 例2: BLK1:Block Signal qbus;std_logic_vector; Begin BLK2:Block Signal qbus:std_logic_vector; Begin BLK2語句-使用BLK1中的qbus:BLK1-qbus End Block BLK2 BLK1語句 End Block BLK1 (盡量不要用同名變量或
5、信號。),塊語句(Block),7,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,塊是一個獨立的子結(jié)構(gòu),它可以包含 Port 和 Generic 語句。這樣就允許設(shè)計者通過這兩個語句將塊內(nèi)的信號變化傳遞給塊的外部信號,同樣也可以將塊外部的信號變化傳遞給塊的內(nèi)部。 Port 和 Generic 語句的這種性能,將允許在一個新的設(shè)計中可重復(fù)使用已有的 Block 塊。在新的模塊中,如果Port名和Generic名與原來的不一致時,在塊中采用 Port 和 Generic 映射就可以順利解決這個問題。,塊語句(Block),8,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,例3: Architecture
6、cpu-blk OF cpu Is Signal ibus,dbus,x: tw32; Begin . ALU:Block Port(abus,bbus:In tw32; dout:Out tw32); Port Map( abus=ibus, bbus=dbus, dout=x ); 原有的信號、常數(shù)等說明語句; Begin 原有的塊內(nèi)語句; End Block ALU; . End cpu-blk;,塊語句(Block),9,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,并行信號賦值語句有三種形式: 簡單信號賦值語句 簡單信號賦值語句的格式: 賦值目標(biāo)=表達(dá)式;,并行信號賦值語句,10,PPT
7、學(xué)習(xí)交流,第6講 VHDL并行語句,并行信號賦值語句有三種形式: 條件信號賦值語句 條件信號賦值語句的格式: 賦值目標(biāo)=表達(dá)式1 WHEN 賦值條件 ELSE 表達(dá)式2 WHEN 賦值條件 ELSE . 表達(dá)式n; 例4: ARCHITECTURE archmux OF mux4 IS BEGIN y=a0 WHEN s=00 ELSE a1 WHEN s=01 ELSE a2 WHEN s=10 ELSE a3 ; END archmux;,并行信號賦值語句,對比If語句: If條件信號賦值語句是順序語句,只能用在進(jìn)程(Process)中。,11,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,并
8、行信號賦值語句有三種形式: 選擇信號賦值語句 選擇信號賦值語句的格式: WITH 選擇表達(dá)式 SELECT 賦值目標(biāo)信號=表達(dá)式1 WHEN 選擇值1, 表達(dá)式2 WHEN 選擇值2, . 表達(dá)式n WHEN others; 例5: ARCHITECTURE archmux OF mux4 IS BEGIN WITH s SELECT y=a0 WHEN 00, a1 WHEN 01, a2 WHEN 10, a3 WHEN OTHERS;-最后一句為分號; END archmux;,并行信號賦值語句,對比Case語句: Case語句是順序語句,只能用在進(jìn)程(Process)中。,12,PPT
9、學(xué)習(xí)交流,第6講 VHDL并行語句,并行過程調(diào)用語句見第7講。,并行過程調(diào)用語句,13,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,我們常把已設(shè)計好的設(shè)計實體稱為一個元件或一個模塊。VHDL中基本的設(shè)計層次是元件,它可以作為別的模塊或者高層模塊引用的低層模塊。 元件聲明是對VHDL模塊(即底層設(shè)計,也是完整的VHDL設(shè)計)的說明,使之可在其它模塊中被調(diào)用。元件聲明可放在程序包中,也可放在其它高層設(shè)計的結(jié)構(gòu)體中進(jìn)行。 元件例化是指元件的調(diào)用。 元件聲明及元件例化的語法分別如下: 元件聲明: COMPONENT元件實體名 PORT (元件端口信息); -同該元件定義時實體的PORT部分 END CO
10、MPONENT 元件實體名; 元件例化: 例化名: 元件實體名 PORT MAP (端口列表); 其中端口列表可以采用位置關(guān)聯(lián)和名稱關(guān)聯(lián)的方法。,元件的例化,14,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,【例6】:將一個模為10的計數(shù)器和一個七段譯碼器連接,送數(shù)碼管顯示。 已知模10計數(shù)器模塊名稱為:cntm10;七段譯碼器模塊名稱為:decode48,元件的例化,模10計數(shù)器模塊cntm10的符號和輸入輸出關(guān)系時序圖:,15,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,【例6】:將一個模為10的計數(shù)器和一個七段譯碼器連接,送數(shù)碼管顯示。 已知模10計數(shù)器模塊名稱為:cntm10;七段譯碼器模
11、塊名稱為:decode48,元件的例化,七段譯碼器模塊decode48的符號和輸入輸出關(guān)系波形圖:,16,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,【例6】:將一個模為10的計數(shù)器和一個七段譯碼器連接,送數(shù)碼管顯示。 已知模10計數(shù)器模塊名稱為:cntm10;七段譯碼器模塊名稱為:decode48,元件的例化,cntm10和decode48模塊的連接關(guān)系圖:,17,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,-頂層設(shè)計VHDL源程序:cntvh10.vhd LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned
12、.ALL; ENTITY cntvh10 PORT ( rd,clk: IN std_logic; co : OUT std_logic; qout: OUT std_logic_vector(6 DOWNTO 0); END cntvh10; -接下一頁,元件的例化,【例6】:將一個模為10的計數(shù)器和一個七段譯碼器連接,送數(shù)碼管顯示。 已知模10計數(shù)器模塊名稱為:cntm10;七段譯碼器模塊名稱為:decode48,18,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,ARCHITECTURE arch OF cntvh10 IS -元件聲明(庫中已有cntm10及decode48這兩個元件) C
13、OMPONENT cntm10 PORT( nreset,clk : IN std_logic; co : OUT std_logic; qcnt : BUFFER std_logic_vector(3 DOWNTO 0); END COMPONENT; COMPONENT decode48 PORT ( adr: IN std_logic_vector(3 DOWNTO 0); decodeout: OUT std_logic_vector(6 DOWNTO 0); END COMPONENT; -接下一頁,元件的例化,【例6】:將一個模為10的計數(shù)器和一個七段譯碼器連接,送數(shù)碼管顯示。 已
14、知模10計數(shù)器模塊名稱為:cntm10;七段譯碼器模塊名稱為:decode48,注意:元件聲明時端口名一定要用原元件定義時的端口名,不能變動!,19,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,SIGNAL qa: std_logic_vector(3 DOWNTO 0); BEGIN u1: cntm10 PORT MAP (rd,clk,co,qa); -元件例化語句,位置關(guān)聯(lián) u2: decode48 PORT MAP(decodeout=qout, adr=qa); -元件例化語句,名稱關(guān)聯(lián) END arch; 元件例化時的端口列表可采用位置關(guān)聯(lián)方法,如u1。這種方法要求的實參(該設(shè)計中
15、連接到端口的實際信號,如rd、clk等)所映射的形參(被調(diào)用元件的對外接口信號)的位置同元件聲明中一致。 元件例化時的端口列表也可采用名稱關(guān)聯(lián)方法映射實參與形參,如u2。格式為(形參1=實參1,形參2=實參2,.),這種方法與位置無關(guān)。,元件的例化,【例6】:將一個模為10的計數(shù)器和一個七段譯碼器連接,送數(shù)碼管顯示。 已知模10計數(shù)器模塊名稱為:cntm10;七段譯碼器模塊名稱為:decode48,20,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,元件的例化,【例6】:將一個模為10的計數(shù)器和一個七段譯碼器連接,送數(shù)碼管顯示。 已知模10計數(shù)器模塊名稱為:cntm10;七段譯碼器模塊名稱為:de
16、code48,21,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,生成語句有一種復(fù)制作用,它可以生成與某個元件或設(shè)計單元電路完全相同的一組并行元件或設(shè)計單元電路結(jié)構(gòu)。 生成語句一般要和元件的例化語句聯(lián)合起來使用。 生成語句的格式: 標(biāo)號:FOR 循環(huán)變量 IN 取值范圍 GENERATE 說明語句; BEGIN 并行語句(含元件例化語句); END GENERATE標(biāo)號; 或 標(biāo)號:IF 條件 GENERAE 說明語句; BEGIN 并行語句(含元件例化語句) ; END GENERATE標(biāo)號;,生成語句(Generate),22,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,【例7】:利用Gener
17、ate 語句產(chǎn)生4個D觸發(fā)器 ,如圖所示。,生成語句(Generate),23,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,【例7】:利用Generate 語句產(chǎn)生4個D觸發(fā)器 ,如圖所示。 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY dff_4 IS PORT(clk,clrn,prn :IN std_logic; d :IN std_logic_vector(3 DOWNTO 0); q :OUT std_logic_vector(3 DOWNTO 0); END dff_4; ARCHITECTURE archdff_4 OF dff
18、_4 IS COMPONENT dff PORT(D,CLK,CLRN,PRN:IN std_logic; Q:OUT std_logic); END COMPONENT; BEGIN dff4:FOR i IN 3 DOWNTO 0 GENERATE u:dff PORT MAP (d(i),clk,clrn,prn,q(i); END GENERATE; END archdff_4;,生成語句(Generate),24,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,一般來講,如果電路中各元件實體的輸入、輸出端是規(guī)則的,則用FOR_GENERATE設(shè)計;如果是不規(guī)則的,則用IF_GENERATE
19、語句設(shè)計。 例8:4位移位寄存器的設(shè)計,如圖所示。,生成語句(Generate),25,PPT學(xué)習(xí)交流,第6講 VHDL并行語句,【例8】:4位移位寄存器的設(shè)計,如圖所示。 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY n_shifter IS GENERIC(m:integer:=4); PORT(a,clk,clrn,prn: IN std_logic; b: OUT std_logic); END n_shifter; ARCHITECTURE behave OF n_shifter IS COMPONENT dff PORT(d,clk,clrn,prn: IN std_logic; q: OUT st
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源儲能系統(tǒng)承包安裝合同4篇
- 2024美容美發(fā)產(chǎn)品購銷簡單合同范本
- 2025年度深層水文地質(zhì)勘探打井勞務(wù)服務(wù)合同4篇
- 2024版智能家居設(shè)備租賃合同
- 2024私人房屋買賣合同范本53299
- 2024銷售無標(biāo)簽油煙機(jī)合同范本
- 2024版金融信息服務(wù)框架合同
- 2024運(yùn)營總監(jiān)企業(yè)創(chuàng)新機(jī)制與激勵機(jī)制合同3篇
- 2025年度停車場照明設(shè)施改造承包合同4篇
- 2021-2026年中國飲料瓶智能回收機(jī)市場調(diào)查研究及行業(yè)投資潛力預(yù)測報告
- 拆遷評估機(jī)構(gòu)選定方案
- 床旁超聲監(jiān)測胃殘余量
- 上海市松江區(qū)市級名校2025屆數(shù)學(xué)高一上期末達(dá)標(biāo)檢測試題含解析
- 綜合實踐活動教案三上
- 《新能源汽車電氣設(shè)備構(gòu)造與維修》項目三 新能源汽車照明與信號系統(tǒng)檢修
- 2024年新課標(biāo)《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)》測試題(附含答案)
- 醫(yī)院培訓(xùn)課件:《靜脈中等長度導(dǎo)管臨床應(yīng)用專家共識》
- 趣味知識問答100道
- 中國國際大學(xué)生創(chuàng)新大賽與“挑戰(zhàn)杯”大學(xué)生創(chuàng)業(yè)計劃競賽(第十一章)大學(xué)生創(chuàng)新創(chuàng)業(yè)教程
- 鋼管豎向承載力表
- 2024年新北師大版八年級上冊物理全冊教學(xué)課件(新版教材)
評論
0/150
提交評論