版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VHDL語言實(shí)例例 1:設(shè)計(jì)一七段顯示譯碼器,用它來驅(qū)動(dòng)七段發(fā)光管 LED顯示十六進(jìn)制數(shù)字 0 到 9 和字母 A 到 F。LED顯示數(shù)碼管為共陽極。LIBRARYieee;USE ieee.std_logic_1164.all;ENTITY HEX2LEDISPORT(HEX :IN std_logic_vector(3 DOWNTO0);LED : OUT std_logic_vector(6 TO0);圖例 1 七段顯示譯碼END 器實(shí)體 HEX2LED;ARCHITECTURE HEX2LED_arc OF HEX2LED ISBEGIN- HEX-TO-SEVEN-SEGMENT D
2、ECODER- SEGMENT ENCODING-0- 5 |1- - -6- 4 |2-3WITH HEX SELECTLED= 1111001 when 0001,0100100 when 0010,0110000 when 0011,0011001 when 0100,0010010 when 0101,0000010 when 0110,1111000 when 0111,0000000 when 1000,0010000 when 1001,0001000 when 1010,0000011 when 1011,1000110 when 1100,0100001 when 1101,
3、0000110 when 1110,0001110 when 1111,1000000 when others;END HEX2LED_arc;例 2:設(shè)計(jì)一個(gè)八選一數(shù)據(jù)選擇器1)s 是通道選擇信號(hào) ,d0,d1,d2,d3,d4,d5,d6,d7數(shù)據(jù)輸入out1 是數(shù)據(jù)輸出ENTITY sels ISPORT(d0,d1,d2,d3,d4,d5,d6,d7:INBIT;s :INTEGERRANGE0TO7;out1 :OUT BIT);END sels;圖例 2(a)八選一數(shù)據(jù)選擇器實(shí)體ARCHITECTURE sels_arc OF sels ISBEGINWITH s SELECTou
4、t1 = d0 WHEN 0,d1 WHEN 1,d2 WHEN 2,d3 WHEN 3,d4 WHEN 4,d5 WHEN 5,d6 WHEN 6,d7 WHEN 7;END sels_arc;2)A,B,C 是通道選擇信號(hào) ,I0,I1,I2,I3,I4,I5,I6,I7數(shù)據(jù)輸入Q 是數(shù)據(jù)輸出LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY mux8 ISPORT(I0,I1,I2,I3,I4,I5,I6,I7,A,B,C:INstd_logic;Q :OUT std_logic);END mux8;圖例2(b)八選一數(shù)據(jù)選擇器實(shí)體ARCHIT
5、ECTURE mux8_arc OF mux8 ISSIGNAL sel :INTEGER;BEGINQ = I0 AFTER 10 ns WHEN sel= 0 ELSEI1 AFTER 10 ns WHEN sel= 1 ELSEI2 AFTER 10 ns WHEN sel= 2 ELSEI3 AFTER 10 ns WHEN sel= 3 ELSEI4 AFTER 10 ns WHEN sel= 4 ELSEI5 AFTER 10 ns WHEN sel= 5 ELSEI6 AFTER 10 ns WHEN sel= 6 ELSEI7 AFTER 10 ns ;sel = 0 WHEN
6、 A= 0 AND B= 0 AND C= 0 ELSE1 WHEN A=1 AND B= 0 AND C=0 ELSE2 WHEN A=0 AND B= 1 AND C=0 ELSE3 WHEN A=1 AND B= 1 AND C=0 ELSE4 WHEN A=0 AND B= 0 AND C=1 ELSE5 WHEN A=1 AND B= 0 AND C=1 ELSE6 WHEN A=0 AND B= 0 AND C=1 ELSE7;END mux8_arc;例 3:設(shè)計(jì)一 D觸發(fā)器d 是輸入端, clk 是時(shí)鐘信號(hào)控制端, q 是觸發(fā)器的輸出端。其程序如下:LIBRARY ieee;U
7、SE ieee.std_logic_1164.all;ENTITY reg ISPORT(d,clk:IN BIT;q:OUTBIT);END reg;圖例 3 D 觸發(fā)器實(shí)體ARCHITECTURE reg_arc OF reg ISBEGINPROCESSBEGINWAIT UNTIL clk=1;q = d;END PROCESS;PROCESSEND reg_arc;例 4:設(shè)計(jì)一基本 RS觸發(fā)器r 、s 為觸發(fā)器的輸入信號(hào), q、not_q 為觸發(fā)器的輸出信號(hào)。LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY RSFF ISPORT(r,
8、s:IN BIT;q,not_q:OUTBIT);END RSFF;圖例 4 基本 RS觸發(fā)器實(shí)體ARCHITECTURE RSFF_arc OF RSFF ISBEGINPROCESS(r,s)VARIABLE last_state:BIT:=0;BEGINASSERT NOT(r=1 AND s= 1)REPORT“Both r AND s equal to1”SEVERITY error;IF r=0 AND s= 0 THENlast_state:= last_state ;ELSIF r= 1 AND s= 0 THENlast_state:=0;ELSE -r= 0 AND s=
9、1last_state:=1;END IF;q = last_state AFTER 10 ns;not_q = NOT(last_state) AFTER 20 ns;END PROCESS;END RSFF_arc;當(dāng) r 和 s 同時(shí)等于 1 時(shí),觸發(fā)器處于不定狀態(tài)。 程序設(shè)計(jì)中設(shè)置了斷言語句是為了判斷 r 和 s 都等于 1 時(shí),輸出終端將顯示報(bào)告“ Both r ANDs equal to 1”,同時(shí)終止模擬過程, 并顯示錯(cuò)誤的嚴(yán)重 error ,以便設(shè)計(jì)者調(diào)試和修正模塊程序。從 IF 到 ENDIF 是條件語句, 用到了可選項(xiàng) ELSIF 和 ELSE來判別 RS觸發(fā)器的其它三種情
10、況。IF 語句后面是一賦值語句, 將 IF 語句中賦值的中間變量 lsat_state經(jīng) 10 ns 后送到 q 端。圖 8-12 是 RS觸發(fā)器的邏輯電路圖。例 5:設(shè)計(jì)一個(gè)帶有異步清零、同步置數(shù)、使能控制的四位二進(jìn)制計(jì)數(shù)器LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY COUNT2 ISPORT(A: IN INTEGERRANGE0TO3;CLK: INSTD_LOGIC;CLR: INSTD_LOGIC;EN: INSTD_LOGIC;LD: INSTD_LOGIC;圖例 5四位二進(jìn)制計(jì)數(shù)器實(shí)體Cout: OUTINTEGER RANGE
11、 0 TO 3);END COUNT2;ARCHITECTURE COUNT2_arc OF COUNT2 ISSIGNALSIG: INTEGER RANGE 0 TO 3;BEGINPROCESS (CLK, CLR)BEGINIF CLR = 0 THENSIG = 0;ELSIF (CLKEVENT AND CLK = 1) THENIF LD = 1 THENSIG = A;ELSEIF EN = 1 THENSIG = SIG + 1;ELSESIG = SIG;END IF;END IF;END IF;END PROCESS;Cout = SIG;END COUNT2_arc例
12、6:設(shè)計(jì)一個(gè)存儲(chǔ)容量為288的 RAM。CS為 RAM的片選信號(hào), WR為 RAM的寫信號(hào), RD為 RAM讀信號(hào), ADR:八位地址信號(hào), Din :八位數(shù)據(jù)輸入線, Dout 為八位數(shù)據(jù)輸出線。library IEEE;use IEEE.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity RAM isport (WR: in STD_LOGIC;RD:in STD_LOGIC;ADR:in STD_LOGIC_VECTOR (7 downto 0);CS:in STD_LOGIC;Din:in STD_LOGIC_VECTOR
13、 (7 downto 0);Dout:圖例6RAM實(shí)體out STD_LOGIC_VECTOR (7 downto 0);end RAM;architecture RAM_arch of RAM issubtype word is std_logic_vector(7 downto 0);type memory is array (0 to 15)of word;signal adr_in:integer range 0 to 15;signal sram:memory;beginadr_in=conv_integer(ADR);process(wr)beginif(wrevent and w
14、r=1)thenif(cs=1and wr=1)thensram(adr_in)=din after 2 ns;end if;end if;end process;process(rd,cs)beginif(rd=0and cs=1)thendout=sram(adr_in)after 3 ns;elsedoutnext_state=yellow;red_light=0;green_light=1;yellow_lightred_light=1;green_light=0;yellow_light=0;if(sensor=1)thennext_state=green;elsenext_stat
15、ered_light=0;green_light=0;yellow_light=1;next_state=red;end case;end process;processbeginwait until clockevent and clock=1;present_state=next_state;end process;end abc;該狀態(tài)機(jī)由兩個(gè)進(jìn)程描述, 第一計(jì)算下一個(gè)狀態(tài)邏輯, 第二個(gè)鎖存下一個(gè)狀態(tài)到當(dāng)前狀態(tài)。例 8:用 VHDL設(shè)計(jì)一家用告警系統(tǒng)的控制邏輯,告警系統(tǒng)有來自傳感器的三個(gè)輸入信號(hào) smoke、door 、water 和準(zhǔn)備傳輸?shù)礁婢O(shè)備的三個(gè)輸出觸發(fā)信號(hào)fire_alar
16、m、burg_alarm 、water_alarm 以及使能信號(hào) en 和 alarm_en 。VHDL程序描述如下:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY alarm ISPORT(smoke,door,water:IN std_logic;en,alarm_en:IN std_logic;fire_alarm,burg_alarm:OUTstd_logic;water_alarm:OUTstd_logic);END alarm;圖例8家用告警系統(tǒng)的控制邏輯電路圖ARCHITECTURE alarm_arc OF alarm ISBEG
17、INPROCESS(smoke,door,water,en,alarm_en)BEGINIF (smoke=1) AND (en=0) THENfire_alarm =1;ELSEfire_alarm =0;END IF;IF (door=1) AND (en=burg_alarm =1;0) AND (alarm_en=0)THENELSEburg_alarm = END IF;0;IF (water=1) AND (en=0) THENwater_alarm =1;ELSEwater_alarm =0;END IF;END PROCESS;END alarm_arc;程序中用了三個(gè)分開的 I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度圖書館圖書租賃服務(wù)合同范本
- 2025年度城市軌道交通建設(shè)合同書封面樣本
- 2025年度客車租賃與智能交通系統(tǒng)合作合同
- 2025年度建筑消防工程勞務(wù)分包合同
- 2025年度體育產(chǎn)業(yè)無擔(dān)保投資合同
- 2025年度空調(diào)設(shè)備零配件供應(yīng)與維修服務(wù)合同
- 2025年度城市地下綜合管廊及綜合配套工程設(shè)計(jì)合同
- 2025年度國際物流供應(yīng)鏈管理咨詢合同模板
- 2025年度建筑主體工程勞務(wù)施工合同續(xù)簽合同
- 2025年度建筑工程項(xiàng)目管理與協(xié)調(diào)合同
- 9.2溶解度(第1課時(shí)飽和溶液不飽和溶液)+教學(xué)設(shè)計(jì)-2024-2025學(xué)年九年級(jí)化學(xué)人教版(2024)下冊(cè)
- 2024年審計(jì)局公務(wù)員招錄事業(yè)單位招聘考試招錄139人完整版附答案【研優(yōu)卷】
- 濰坊市人民醫(yī)院招聘真題
- 銷售人員薪資提成及獎(jiǎng)勵(lì)制度
- 2017年江蘇南京中考滿分作文《無情歲月有味詩》5
- 2023年宏觀經(jīng)濟(jì)學(xué)考點(diǎn)難點(diǎn)
- 2024-2030年中國智慧水務(wù)行業(yè)應(yīng)用需求分析發(fā)展規(guī)劃研究報(bào)告
- 黑龍江申論真題2021年(鄉(xiāng)鎮(zhèn))
- 山體排險(xiǎn)合同模板
- 醫(yī)保專(兼)職管理人員的勞動(dòng)合同(2篇)
- 特殊感染手術(shù)的配合與術(shù)后處理課件
評(píng)論
0/150
提交評(píng)論