




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1.結(jié)構(gòu)體的三種描述方式:-行為描述-數(shù)據(jù)流描述-結(jié)構(gòu)化描述2.一般將一個完整的VHDL程序稱為設(shè)計(jì)實(shí)體3. VHDL設(shè)計(jì)實(shí)體的基本結(jié)構(gòu)由庫、程序包、實(shí)體、結(jié)構(gòu)體和配置組成。4.VHDL不區(qū)分大小寫。5.常用的庫:library ieee ,程序包:use ieee.std_logic_1164.all 6.VHDL程序的基本結(jié)構(gòu)至少應(yīng)包括實(shí)體、結(jié)構(gòu)體和對庫的引用聲明。7.在VHDL程序中使用的文字、數(shù)據(jù)對象、數(shù)據(jù)類型都需要事先聲明 。8. VHDL的實(shí)體由實(shí)體聲明和結(jié)構(gòu)體組成。VHDL的實(shí)體聲明部分指定了設(shè)計(jì)單元的輸入出端口或引腳,它是設(shè)計(jì)實(shí)體對外的一個通信界面,是外界可以看到的部分。VHD
2、L的結(jié)構(gòu)體用來描述實(shí)體的邏輯結(jié)構(gòu)和邏輯功能,它由VHDL語句構(gòu)成,是外界看不到的部分。9.端口方向模式:IN(輸入)、OUT(輸出<構(gòu)造體內(nèi)部不能再使用>)、INOUT(雙向)、BUFFER(緩沖<構(gòu)造體內(nèi)部可再使用>)10VHDL的標(biāo)識符名必須以(字母開頭),后跟若干字母、數(shù)字或單個下劃線構(gòu)成,但最后不能為(下劃線),不能連續(xù)兩個下劃線相連。11. 為信號賦初值的符號是(:=);程序中,為變量賦值的符號是(:=),為信號賦值的符號是(<=)12. VHDL的數(shù)據(jù)類型包括標(biāo)量類型、復(fù)合類型、存儲類型和文件類型 請列出3個VHDL語言的數(shù)據(jù)類型,如實(shí)數(shù)、位等。位矢量
3、,字符,布爾量,整數(shù),字符串,時間,錯誤等級,自然數(shù),正整數(shù)。13. VHDL的操作符包括邏輯、算術(shù)、關(guān)系和并置四類14.可編程邏輯器件:CPLD、FPGA、GAL、PLA、PAL(早期)CPLD(復(fù)雜可編程邏輯器件):基于乘機(jī)項(xiàng)技術(shù)構(gòu)造的可編程邏輯器件,不需要配置外部程序寄存芯片F(xiàn)PGA(現(xiàn)場可編程門陣列):基于查找表技術(shù)構(gòu)造的可編程邏輯器件,需要配置外部程序寄存芯片15.VHDL客體或數(shù)據(jù)對象:常量、信號、變量(可被多次賦值)、文件。16.一個VHDL程序中可以使用多個進(jìn)程process語句,一個設(shè)計(jì)實(shí)體可以擁有多個結(jié)構(gòu)體。17.VHDL的預(yù)算操作包括:邏輯運(yùn)算符、關(guān)系運(yùn)算符、乘法運(yùn)算符
4、(優(yōu)先級<<<)邏輯運(yùn)算符、關(guān)系運(yùn)算符、加減并置運(yùn)算符、正負(fù)運(yùn)算符、乘法運(yùn)算符、18.VHDL中std_logic類型:Z表示高阻,X表示不確定19.將一個信width定義為一個4位標(biāo)準(zhǔn)邏輯向量為:signal width :std_logic_vector(3 downto 0) 定義一個變量a,數(shù)據(jù)類型為4位位向量:variable a :bit_vector(3 downto 0)20賦值語句是并行執(zhí)行,IF語句是串行執(zhí)行。21.標(biāo)準(zhǔn)邏輯是一個具有九值邏輯的數(shù)據(jù)類型22.表示01兩值邏輯的數(shù)據(jù)類型是bit,表示01Z等九值邏輯的數(shù)據(jù)類型是std_logic ,表示空操作
5、的數(shù)據(jù)類型是NULL23.<=是小于等于關(guān)系運(yùn)算符,又是賦值運(yùn)算操作符 /=是不相等操作符,功能是在條件判斷是判斷操作符兩端不相等。 NOT是邏輯運(yùn)算符,表示取反,在所有操作符中優(yōu)先級最高。30并置運(yùn)算符 & 的功能是 把多個位或位向量合并為一個位向量 。24.位類型的初始化采用字符,位矢量用字符串25.進(jìn)程必須位于結(jié)構(gòu)體內(nèi)部,變量必須定義于進(jìn)程內(nèi)部26.進(jìn)程執(zhí)行的機(jī)制是敏感信號發(fā)生跳變27. VHDL語言可以有以下3種形式的子結(jié)構(gòu)描述語句: BLOCK語句結(jié)構(gòu); PROCESS語句結(jié)構(gòu)和SUBPROGRAMS結(jié)構(gòu)。29整型對象的范圍約束通常用 range 關(guān)鍵詞,位矢量用 do
6、wnto/to 關(guān)鍵詞。31. 判斷CLK信號上升沿到達(dá)的語句是 if clkevent and clk = 1 then .32. IF語句各條件間具有不同的優(yōu)先級。33、任何時序電路都以 時鐘 為驅(qū)動信號,時序電路只是在 時鐘信號的邊沿 到來時,其狀態(tài)才發(fā)生改變。34、 Moore狀態(tài)機(jī)輸出只依賴于器件的當(dāng)前狀態(tài),與 輸入信號 無關(guān)。35. 、IF語句根據(jù)指定的條件來確定語句執(zhí)行順序,共有3種類型: 用于門閂控制的IF語句、用于二選一控制的IF語句、用于多選擇控制的IF語句。簡答題:1、簡述信號與變量的區(qū)別。a.信號延時賦值,變量立即賦值b.信號的代入使用<=,變量的代入使用:=;c
7、.信號在實(shí)際的硬件當(dāng)中有對應(yīng)的連線,變量沒有2、 簡述可編程邏輯器件的優(yōu)點(diǎn)。a.集成度高,可以替代多至幾千塊通用IC芯片.極大減小電路的面積,降低功耗,提高可靠性 b.具有完善先進(jìn)的開發(fā)工具.提供語言、圖形等設(shè)計(jì)方法,十分靈活.通過仿真工具來驗(yàn)證設(shè)計(jì)的正確性c.可以反復(fù)地擦除、編程,方便設(shè)計(jì)的修改和升級d.靈活地定義管腳功能,減輕設(shè)計(jì)工作量,縮短系統(tǒng)開發(fā)時間f.保密性好3、試比較moore狀態(tài)機(jī)與mealy狀態(tài)機(jī)的異同。Moore輸出只是狀態(tài)機(jī)當(dāng)前狀態(tài)的函數(shù). Mealy輸出為有限狀態(tài)機(jī)當(dāng)前值和輸入值的函數(shù)3、 簡述VHDL語言與計(jì)算機(jī)語言的差別。a. 運(yùn)行的基礎(chǔ)。計(jì)算機(jī)語言是在CPURAM構(gòu)
8、建的平臺上運(yùn)行。VHDL設(shè)計(jì)的結(jié)果是由具體的邏輯、觸發(fā)器組成的數(shù)字電路b.執(zhí)行方式.計(jì)算機(jī)語言基本上以串行的方式執(zhí)行.VHDL在總體上是以并行方式工作c.驗(yàn)證方式.計(jì)算機(jī)語言主要關(guān)注于變量值的變化.VHDL要實(shí)現(xiàn)嚴(yán)格的時序邏輯關(guān)系4、 簡述實(shí)體端口的模式輸入(Input):clk、reset、en、addr等輸出(Output):輸出信號,不能內(nèi)部引用雙向(Inout):可代替所有其他模式,用于設(shè)計(jì)雙向總線緩沖(Buffer):與Output類似,但允許該管腳名作為一些邏輯的輸入信號5、 進(jìn)程語句是設(shè)計(jì)人員描述結(jié)構(gòu)體時使用最為頻繁的語句,簡述其特點(diǎn)。a.它可以與其它進(jìn)程并發(fā)執(zhí)行,并可存取結(jié)構(gòu)體
9、或?qū)嶓w中所定義的信號;b.進(jìn)程結(jié)構(gòu)中的所有語句都是按順序執(zhí)行的c.為了啟動進(jìn)程,在進(jìn)程結(jié)構(gòu)中必須包含一個顯式的敏感信號量表或者包含一個wait語句;d.進(jìn)程之間的通信是通過信號量的傳遞來實(shí)現(xiàn)的6、 簡述如何利用計(jì)數(shù)器精確控制時序。a.只要知道晶振頻率f,即可知道周期T1/f;b.使用一個計(jì)數(shù)器,可以通過計(jì)數(shù)值n,精確知道當(dāng)計(jì)數(shù)值為n時消耗的時間tnT;上例中以n為控制條件,可以控制其它信號在某時刻變高,某時刻變低,從而產(chǎn)生精確時序編程題:1.3-8譯碼器0LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 IS PORT
10、 (a,b,c,g1,g2a,g2b:IN STD_LOGIC; y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 IS SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0);BEGIN indata <= c & b & a;PROCESS (indata,g1,g2a,g2b) BEGIN IF (g1 = '1' AND g2a = '0' AND g2b = '0
11、' ) THEN CASE indata IS WHEN "000"=> y <= "" WHEN "001" => y <= "" WHEN "010" => y <= "" WHEN "011" => y <= "" WHEN "100" => y <= "" WHEN "101" => y <
12、= "" WHEN "110" => y <= "" WHEN "111" => y <= "01111111" WHEN OTHERS=> y <= "XXXXXXXX" END CASE; ELSE y <= "" END IF; END PROCESS;END rtl; 3、填寫完成一個3-8線譯碼器的真值表(5分),并寫出其VHDL程序(10分)。3-8譯碼器的真值表ena2a1a0y10000000000
13、110010000001010100000010010110000100011000001000011010010000011100100000011110xxx00000000entity tri_eight is port(a:in std_logic_vector (2 downto 0);en:in std_logic;y:outstd_logic_vector (7 downto 0);end tri_eight;(2)architecture a of tri_eight is signal sel:std_logic_vector (3 downto 0);(4)beginsel
14、(0) <= a(0);sel(1) <= a(1);sel(2) <= a(2);sel(3) <= en;(5)with sel selecty <= "00000001" when "1000","00000010" when "1001","00000100" when"1010","00001000" when"1011","00010000" when"1100&q
15、uot;,"00100000" when"1101","01000000" when"1110","" when"1111","00000000" whenothers;(9)end a;(10)3、根據(jù)下表填寫完成一個3-8線譯碼器的VHDL程序(16分)。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 IS PORT (a,b,c,g1,g2a,g2b:IN STD_LOGI
16、C; y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); (2)END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 IS SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0);(4)BEGIN indata <= c & b & a;(6)PROCESS (indata,g1,g2a,g2b) BEGIN IF (g1 = '1' AND g2a = '0' AND g2b = '0' ) THEN (8) CASE
17、 indata IS WHEN "000"=> y <= "" WHEN "001" => y <= "" WHEN "010" => y <= ""(10) WHEN "011" => y <= "" WHEN "100" => y <= "" WHEN "101" => y <= ""
18、; WHEN "110" => y <= "" (12) WHEN "111" => y <= "01111111" WHEN OTHERS=> y <= "XXXXXXXX" END CASE; ELSE y <= ""(14) END IF; END PROCESS;(16)END rtl; 2.二選一VHDL程序 Entity mux isport(d0,d1,sel:in bit;q:out BIT ); end mux;ar
19、chitecture connect of MUX is signal tmp1, TMP2 ,tmp3:bit; begin cale:block begin tmp1<=d0 and sel; tmp2<=d1 and (not sel) tmp3<= tmp1 and tmp2;q <= tmp3; end block cale; end CONNECT; 2.2二選一 IF語句編寫Entity sel2 isPort (a,b : in std_logic; sel : in std_logic; q : out std_logic);End sel2;Arch
20、itecture a of sel2 isbeginif sel = 0 then q <= a;else q <= b;end if;end a;3. 三態(tài)門電原理圖如右圖所示,真值表如左圖所示,請完成其VHDL程序構(gòu)造體部分。LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_gate ISPORT(din,en:IN STD_LOGIC; dout : OUT STD_LOGIC);END tri_gate ;ARCHITECTURE zas OF tri_gate ISBEGIN PROCESS (din,en) BEG
21、INIF (en=1') THEN dout <= din;ELSE dout <= Z; END IF; END PROCESS ;END zas ;4.四選一、用IF語句編寫一個四選一電路,要求輸入d0d3, s為選擇端,輸出y。entity MUX4 is port( (2)s:in std_logic_vector(1 downto 0); (4)d:in std_logic_vector(3 downto 0); (6)y:out std_logic (8); end MUX4; architecture behave of MUX4 isbeginprocess
22、(s)beginif (s="00") theny<=d(0); elsif (s="01") theny<=d(1); elsif (s="10") theny<=d(2); elsif (s="11") theny<=d(3); elsenull; end if;end process;end behave;5、填寫完成一個8-3線編碼器的真值表(5分),并寫出其VHDL程序(10分)。8 -3線編碼器真值表enby0y1y21000000000001000000100011000001
23、0001010000100001110001000010010010000010110100000011011110xxxxxxxx高阻態(tài)entity eight_tri is port(b:in std_logic_vector(7 downto 0);en:in std_logic;y:outstd_logic_vector(2 downto 0);end eight_tri;(3)architecture a of eight_tri is signal sel: std_logic_vector(8 downto 0);(4)beginsel<=en & b;y<=
24、 “000” when (sel=”1”)else“001” when (sel=”0”)else“010” when (sel=”0”)else“011” when (sel=”0”)else“100” when (sel=”0”)else“101” when (sel=”0”)else“110” when (sel=”0”)else“111” when (sel=”0”)else(9)“zzz”;(10)end a;6. 圖中給出了4位逐位進(jìn)位全加器,請完成其VHDL程序。(本題16分)library IEEE;use IEEE.std_logic_1164.all;use IEEE.st
25、d_logic_arith.all;use IEEE.std_logic_unsigned.all;entity full_add isport (a,b: instd_logic_vector (3 downto 0); carr: inout std_logic_vector (4 downto 0);sum: outstd_logic_vector (3 downto 0);end full_add;architecture full_add_arch of full_add iscomponent adder port (a,b,c:instd_logic;carr: inoutstd
26、_logic;sum: out std_logic);end component;begincarr(0)<='0'u0:adder port map(a(0),b(0),carr(0),carr(1),sum(0);u1:adder port map(a(1),b(1),carr(1),carr(2),sum(1); u2:adder port map(a(2),b(2),carr(2),carr(3),sum(2); u3:adder port map(a(3),b(3),carr(3),carr(4),sum(3); end full_add_arch;7.數(shù)值比較
27、器VHDL程序的進(jìn)程(不必寫整個結(jié)構(gòu)框架),要求使能信號g低電平時比較器開始工作,輸入信號p = q,輸出equ為0,否則為1。(本題10分)process(p,q)beginif g='0' thenif p = q then equ_tmp <= '0'else equ_tmp <= '1'end if;else equ_tmp <= '1'end if;end process;8. 編寫一個2輸入與門的VHDL程序,請寫出庫、程序包、實(shí)體、構(gòu)造體相關(guān)語句,將端口定義為標(biāo)準(zhǔn)邏輯型數(shù)據(jù)結(jié)構(gòu)(本題10分)&
28、;abyLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY nand2 IS PORT (a,b:IN STD_LOGIC; y:OUT STD_LOGIC); END nand2; ARCHITECTURE nand2_1 OF nand2 IS BEGIN y <= a NAND b;END nand2_1;9設(shè)計(jì)異或門邏輯:(本題20分)如下異或門,填寫右邊的真值表。(此項(xiàng)5分)ABY000011101110其表達(dá)式可以表示為: 這一關(guān)系圖示如下:試編寫完整的VHDL代碼實(shí)現(xiàn)以上邏輯??梢圆捎萌魏蚊枋龇āibrary ieee;us
29、e ieee.std_logic_1164.all; entity yihuo1 isport(a,b:in std_logic;y:out std_logic);end yihuo1; architecture yihuo1_behavior of yihuo1 isbegin y<=a xor b;end yihuo1_behavior; 10. 4位加法計(jì)數(shù)器VHDL程序的進(jìn)程(不必寫整個結(jié)構(gòu)框架),要求復(fù)位信號reset低電平時計(jì)數(shù)器清零,變高后,在上升沿開始工作;輸入時鐘信號為clk,輸出為q。(本題10分)Process(reset,clk)beginif reset = 0
30、 then q <= “0000”;elsif clkevent and clk = 1 thenq <= q + 1;end if;end process;11、根據(jù)已給出的二-十(BCD)進(jìn)制優(yōu)先權(quán)編碼器功能表,試寫出其VHDL程序。(本題15分)二-十(BCD)進(jìn)制優(yōu)先權(quán)編碼器功能表輸入輸出I1I2I3I4I5I6I7I8I9Y3Y2Y1Y01111111111111XXXXXXXX00110XXXXXXX010111XXXXXX0111000XXXXX01111001XXXX011111010XXX0111111011XX01111111100X0111111111010111111111110entity prior isport(d : in std_logic_vector(9 downto 1);q : out std_logic_vector(3 downto 0);end prior;(2)architecture behavior of
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)殖出租轉(zhuǎn)讓合同范本
- 云南省監(jiān)理聘用合同范本
- 北碚區(qū)運(yùn)輸合同范本
- 興業(yè)快遞轉(zhuǎn)讓合同范本
- 北京入職合同范本
- 農(nóng)資農(nóng)藥購銷合同范本
- 農(nóng)莊合作期間轉(zhuǎn)讓合同范本
- 公司雇傭個人合同范本
- 出貨貨期合同范本
- 價稅分開合同范本
- PEP六年級上冊英語unit1
- 接納與承諾(ACT)療法課件
- 裝配式混凝土建筑技術(shù)標(biāo)準(zhǔn)
- 房地產(chǎn)公司銷售管理部賞罰制度
- 《方位介詞介紹》課件
- 甲狀腺術(shù)后出血搶救流程
- 個人購買家具合同
- 國際救生設(shè)備規(guī)則
- 第三方檢查應(yīng)對措施方案
- 2020年財(cái)產(chǎn)保險公司部門職責(zé)和崗位說明書
- 抽水臺班記錄表
評論
0/150
提交評論