《EDA技術(shù)及應(yīng)用》朱正偉-三,四,五章部分課后題答案_第1頁
《EDA技術(shù)及應(yīng)用》朱正偉-三,四,五章部分課后題答案_第2頁
《EDA技術(shù)及應(yīng)用》朱正偉-三,四,五章部分課后題答案_第3頁
《EDA技術(shù)及應(yīng)用》朱正偉-三,四,五章部分課后題答案_第4頁
《EDA技術(shù)及應(yīng)用》朱正偉-三,四,五章部分課后題答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第三章3- 5設(shè)計一個4選1多路選擇器,當(dāng)選擇輸入信號分別取“00”“ 01” “ 10”和“1T時,輸出信號分別與一路輸入信號相連。LIBRARY IEEE;USE IEEE.STD LOGIC 1164.ALL;ENTITY MAX4_1 ISP ORT(A,B,C,D,S1,S2 : IN STD_LOGIC;Y : OUT STD_LOGIC);END ENTITY MAX4_1;ARCHITECTURE HF1 OF MAX4_1 ISSIGNAL SS : STD_LOGIC_VECTOR (0 TO 1); BEGINSS Y Y Y Y NULL;END CASE;END P

2、ROCESS;END HF1;3- 6設(shè)計一個7人表決電路,參加表決者7人,同意為1,不同意為 0,同意者過半則表決通過,綠指示燈亮;表決不通過則紅指示燈亮。 設(shè)計思路:根據(jù)7人表決電路設(shè)計要求,7人中至少有4個通過才可以表決通過, 故可以在程序中設(shè)置一個變量 TEMP使其在表決電路中遇1則加1,遇0則加0(設(shè)計中1表示通過,0表示不通過)。當(dāng)TEMP=4寸,表示表決通過,當(dāng)TEMPv4 時表決不通過。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY VOTE7 ISP ORT (ME

3、N:IN STD_LOGIC_VECTOR(6 DOWNTO 0);OUT PUT: OUT BIT);END VOTE7;ARCHITECTURE BEHA VE OF VOTE7 ISBEGINP ROCESS(MEN)VARIABLE TEMP: INTEGER RANGE 0 TO 7;BEGINTEMP :=0;FOR I IN 0 TO 6 LOOPIF(MEN(I)=1)THENTEMP :=TE MP+1;ELSETEMP :=TE MP;END IF;END LOOP;CASE TEMP ISWHEN 0 TO 3 =OUT PUTOUT PUT=1;END CASE ;EN

4、D P ROCESS;END BEHAVE;第四章4- 6試寫出4選1多路選擇器VHDL描述。選擇控制信號為S1和S0, 輸入信號為A,B, C D輸出信號為YoLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX4tA IS-輸入信號-輸出信號PORT (A,B,C,D,S0,S1:IN STD_LOGIC;Y:OUT STD_LOGIC);END ENTITY MUX41A;ARCHITECTURE ONE OF MUX41A ISSIGNAL S:STD_L0GIC_VECT0R(1 DOWNTO 0);BEGIN-并置操作,獲得二維矢量

5、數(shù)據(jù)類型-敏感信號S Y Y Y YNULL;END CASE;END P ROCESS;END ARCHITECTURE ONE;4- 7使給出1位全減器的VHDL描述,要求:首先設(shè)計1位半減器,然后 用例化語句將它們連接起來。設(shè)X為被減數(shù),Y為減數(shù),SUB_IN是借 位輸入,DIFF是輸出差,SUB_OU是借位輸出。(1.1):實(shí)現(xiàn) 1 位半減器 H_SUBER(DIFF=X-Y ; S_OUT=1,XY)LIBRARY IEEE;-半減器描述(1):布爾方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY H_SUBER ISP ORT(X,Y: IN STD

6、_LOGIC;DIFF,S_OUT: OUT StD_LOGIC);END ENTITY H_SUBER;ARCHITECTURE HS1 OF H_SUBER ISBEGINDIFF = X XOR (NOT Y);S_OUT XIN,Y=YIN, DIFF=A, S_OUT=B);U2:H_SUBER PORT MAP(X=A, Y=SUB_IN, DIFF=DIFF_OUT,S_OUT=C); SUB_OUT = C OR B;END ARCHITECTURE FS1;二進(jìn)制全加器,元件聲明與元件例化( COMPONENT,PORT)MAP / 或門LIBRARY IEEE; ;USE

7、IEEE.STD_LOGIC_1164.ALL;ENTITY OR2A ISPORT(A,B : IN STD_LOGIC; C : OUT STD_LOGIC);END OR2A;ARCHITECTURE ART1 OF OR2A IS BEGINC=A OR B;END ART1;/半加器; LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY H_ADDER ISPORT(A,B : IN STD_LOGIC; CO,SO: OUT STD_LOGIC);END H_ADDER;ARCHITECTURE ART2 OF H_ADDER IS BE

8、GINSO = A XOR B;CO E,B=CIN,CO=F,SO=SUM); U3:OR2A P ORT MAP( D,F,COUT);END ART3;第五章5- 1.試說明實(shí)體端口模式BUFFERS INOUT勺不同之處?答:BUFFER端 口:緩沖模式,具有讀功能的輸出模式,即信號輸出 到實(shí)體外部,但同時也在內(nèi)部反饋使用,不允許作為雙向端口使用。而INOUT端口:雙向模式,即信號的流通是雙向的,既可以對此端口 賦值,也可以通過此端口讀入數(shù)據(jù)。5- 2.VHDL的數(shù)據(jù)對象有哪幾種?它們之間有什么不同?答:VHDL的數(shù)據(jù)對象有三種:信號、變量、常量。 它們之間的的區(qū)別如下:信號賦值至少有

9、延時,而變量和常量沒有;信號除當(dāng)前值外,有許 多相關(guān)信息,變量只有當(dāng)前值,常量的值在設(shè)計實(shí)體中始終不變;進(jìn)程對信號敏感而對變量及常量不敏感;信號可以是多個進(jìn)程的全局信號,變量只在定義它們的順序域可見, 而常量的使用范圍取決于它被 定義的位置 ; 信號是硬件連線的抽象描述信號賦值, 賦值符號 = 而 變量和常量的賦值符號 := 。5-3. 說明下列各定義的意義:SIGNALa , b , c : BIT : =0;CONSTANT TIME1 , TIME2 : TIME : 20ns ;VARIABLEx , y , z : STD_LOGIC : =x;答:G定義3個位數(shù)據(jù)類型的信號A B、

10、C,它們?nèi)≈禐?;定義2個時間數(shù)據(jù)類型的常量TIME1 TIME2,它們值為20NS;定義3個標(biāo)準(zhǔn)邏輯位STD_LOGIC數(shù)據(jù)類型的變量X、Y、乙它們 的值是強(qiáng)未知的。5-4. 什么是重載函數(shù)?重載運(yùn)算符有何用處?如何調(diào)用重載運(yùn)算符 函數(shù)?答:為了方便各種不同數(shù)據(jù)類型間的運(yùn)算,VHDL允許用戶對原有的基本操作符重新定義, 賦予新的含義和功能, 從而建立一種新的操作 符,這就是重載操作符,定義這種操作符的函數(shù)成為重載函數(shù)。重載 運(yùn)算符的作用是為了方便各種不同的數(shù)據(jù)類型間的運(yùn)算。 要調(diào)用重載 運(yùn)算符函數(shù), 先要在程序包中進(jìn)行函數(shù)體的定義, 調(diào)用的格式如下 : X =函數(shù)名(參數(shù)1,參數(shù)2,)參數(shù)個

11、數(shù)和類型與所定義的函數(shù)要保持一致。5-5.數(shù)據(jù)類型BIT INTEGER BOOLEAN分別定義在哪個庫中?哪 些庫和程序包總是可見的?答:數(shù)據(jù)類型 BIT INTEGER BOOLEAN均定義在 STD庫中。IEEE庫 和 程 序 包 STD_LOGIC.1164 、 STD_LOGIC_UNSIGNE、DSTD LOGIC SIGNED5TD LOGIC ARIT等總是可見的。5-6. 函數(shù)和過程有什么區(qū)別?答:子程序有兩種類型,即過程(PROCEDUF和函數(shù)(FUNCTION) 它們的區(qū)別在于: 過程的調(diào)用可以通過其界面獲得多個返回值, 而函 數(shù)只能返回一個值;在函數(shù)入口中,所有參數(shù)都是

12、輸入?yún)?shù),而過程 有輸入?yún)?shù)、輸出參數(shù)和雙向參數(shù);過程一般被看作一種吾句結(jié)構(gòu), 而函數(shù)通常是表達(dá)式的一部分; 過程可以單獨(dú)存在, 而函數(shù)通常作為 吾句的一部分調(diào)用。5-7.若在進(jìn)程中加入WAIT吾句,應(yīng)注意哪幾個方面的問題?答:應(yīng)注意以下問題:已列出敏感信號的進(jìn)程中不能使用任何形式 的WAIT語句;G2般情況下,只有 WAITUNTIL格式的等待語句可以 被綜合器所接受,其余語句格式只能在 VHDL仿真器中使用;C3在使 用WAITON語句的進(jìn)程中,敏感信號量應(yīng)寫在進(jìn)程中的 WAITON語句 后面;G4在不使用WAITON語句的進(jìn)程中,敏感信號量應(yīng)在開頭的關(guān) 鍵詞PROCES后面的敏感信號表中

13、列出。5-8.哪些情況下需用到程序包STD_LOGIC_UNSIGN試舉一例。答:調(diào)用數(shù)據(jù)類型變換函數(shù)或重載運(yùn)算符函數(shù)時;定義UNSIGNED類型的數(shù)據(jù)時。舉例如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;IF TEMP=11111111THEN TEMP:= 00000000;ELSE TEMP:二TE MP +16;END IF;5-9. 為什么說一條并行賦值語句可以等效為一個進(jìn)程?如果是這樣 的話,怎樣實(shí)現(xiàn)敏感信號的檢測? 答:因?yàn)樾盘栙x值語句的共同點(diǎn)是賦值目標(biāo)必須都是信號, 所有賦

14、值 語句與其它并行語句一樣, 在結(jié)構(gòu)體內(nèi)的執(zhí)行是同時發(fā)生的, 與它們 的書寫順序沒有關(guān)系, 所以每一信號賦值語句都相當(dāng)于一條縮寫的進(jìn) 程語句。由于這條語句的所有輸入信號都被隱性地列入此縮寫進(jìn)程的 敏感信號表中, 故任何信號的變化都將相關(guān)并行語句的賦值操作, 這 樣就實(shí)現(xiàn)了敏感信號的檢測。5-10.比較CASEg句禾n WITH_SELE(語句,敘述它們的異同點(diǎn)?答:相同點(diǎn):CASE語句中各子句的條件不能有重疊,必須包容所有 的條件;WITH_SECLEC語句也不允許選擇值有重疊現(xiàn)象,也不允許 選擇值涵蓋不全的情況。 另外,兩者對子句各選擇值的測試都具有同 步性,都依賴于敏感信號的變化。不同點(diǎn):

15、CASE語句只能在進(jìn)程中使用,至少包含一個條件語句,可以有多個賦值目標(biāo); WITH_SECLECT 語句根據(jù)滿足的條件,對信號進(jìn)行賦值,其賦值目標(biāo)只有一個,且必 須是信號。5-11 .將以下程序段轉(zhuǎn)換為WHEN_EU語句:PROCESS (a , b ,c ,d)BEGINIF a=0AND b= 1THEN NEXT11=101 ;ELSEIF a= 0THEN NEXT1 =d;ELSEIF b= 1THEN NEXT1 =c;ELSE NEXT11=011 ;END IF;END PROCESS;原程序轉(zhuǎn)換如下 :ARCHITECTURE one OF mux ISBEGINPROCES

16、S (a , b ,c ,d)BEGINNEXT1 =1101WHEN a= 0AND b=1 ELSE d WHEN a=0 ELSEc WHEN b=1 ELSE1011;END one;END PROCESS;5-12 使給出一位全減器的算法描述、數(shù)據(jù)流描述、結(jié)構(gòu)描述和混合 描述。數(shù)據(jù)流描述:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY F_SUB1 ISPORT(A,B :IN STD_LOGIC;CIN :IN STD_LOGIC;DIFF,COUT : OUT STD_

17、LOGIC);END;ARCHITECTURE A OF F_SUB1 ISSIGNAL S :STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINS DIFF=0;COUT DIFF=1;COUT DIFF=1;COUT = = = =DIFF=0;COUT=0;DIFF=1;COUT=1;DIFF=0;COUT=1;DIFF=0;COUT=0;DIFF=1;COUT DIFF=X;COUT=X;END CASE;END PROCESS;END A;行為描述:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC

18、_UNSIGNED.ALL;ENTITY F_SUB4 ISPORT(A,B,CIN : IN STD_LOGIC;DIFF,COUT : OUT STD_LOGIC);END;ARCHITECTURE A OF F_SUB4 ISBEGINDIFF=A XOR B XOR CIN;COUT=(NOT A AND B) OR (NOT A AND CIN) OR (B AND CIN); END A;5-13用VHD描述下列器件的功能:(1) 十進(jìn)制BCD碼編碼器,輸出使能為低電平有效。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BIN_BC

19、D ISPORT(BIN : IN INTEGER RANGE 0 TO 20;-ENABCD_OUT);: IN STD_LOGIC;: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)ARCHITECTURE A OF BIN_BCD ISBEGIN BINARY_BCD : BLOCKBEGINBCD_OUT = 00000000 WHEN BIN = 0 ELSE 00000001 WHEN BIN = 1 ELSE 00000010 WHEN BIN = 2 ELSE 00000011 WHEN BIN = 3 ELSE 00000100 WHEN BIN = 4 E

20、LSE 00000101 WHEN BIN = 5 ELSEEND;6 ELSE7 ELSE8 ELSE9 ELSE10 ELSE11 ELSE12 ELSE13 ELSE14 ELSE15 ELSE16 ELSE17 ELSE18 ELSE19 ELSE20 ELSE00000110 WHEN BIN00000111 WHEN BIN00001000 WHEN BIN00001001 WHEN BIN00010000 WHEN BIN00010001 WHEN BIN00010010 WHEN BIN00010011 WHEN BIN00010100 WHEN BIN00010101 WHE

21、N BIN00010110 WHEN BIN00010111 WHEN BIN00011000 WHEN BIN00011001 WHEN BIN00100000 WHEN BIN 00000000;END BLOCK;END A;(2) 時鐘(可控)RS峨器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FFRS ISPORT(S,R: IN STD_LOGIC;Q,QB: OUT STD_LOGIC);END FFRS;ARCHITECTURE RTL OF FFRS ISSIGNAL QN,NQN: STD_LOGIC;BEGINQN=

22、R NOR NQN;NQN= S NOR QN;Q=QN;QB=NQN;END RTL;(3) 帶復(fù)位端、置位端、延遲為15NS的響應(yīng)CP下降沿觸發(fā)的JK觸 發(fā)器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JKFF ISPORT( J,K,RST,CLR : IN BIT; CLK : IN BIT;Q,NQ : OUT BIT);END;ARCHITECTURE A OF JKFF ISSIGNAL Q_S,NQ_S : BIT;BEGINPROCESS(J,K,RST,CL

23、R,CLK)BEGINIF RST=1 THENQ_S=1;NQ_S=0;ELSIF CLKEVENT AND CLK=0 THENIF CLR=1 THENQ_S=0;NQ_S=1;ELSIF J=0 AND K=1 THENQ_S=0;NQ_S=1;ELSIF J=1 AND K=0 THENQ_S=1;NQ_S=0;ELSIF J=1 AND K=1 THENQ_S=NOT Q_S;NQ_S=NOT NQ_S;END IF;ELSENULL;END IF;Q=Q_S;NQ=NQ_S;END PROCESS;END A;( 4)集成計數(shù)器 74161LIBRARY IEEE;USE IEE

24、E.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4 ISPORT(CLK,LDN,CLRN : IN STD_LOGIC;D,C,B,A: IN STD_LOGIC;CARRY : OUT STD_LOGIC;QD,QC,QB,QA : OUT STD_LOGIC);END;ARCHITECTURE A OF CNT4 ISSIGNAL DATA_IN: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINDATA_IN0);ELSIF CLKEVENT AND CLK=1 THENIF LDN=0

25、 THENCNT:=DATA_IN;ELSECNT:=CNT+1;END IF;END IF;CASE CNT ISWHEN 1111= CARRY CARRY=0; END CASE;QA=CNT(0);QB=CNT(1);QC=CNT(2);QD=CNT(3);END PROCESS;END A;5-14用VHDL苗述一個三態(tài)輸出的雙4選一的數(shù)據(jù)選擇器,其地址信 號共用,且各有一個低電平有效的使能端。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DUAL_MUX_41 ISPORT(A,B,C,D : IN STD_LOGIC;ENA_N,

26、ENB_N : IN STD_LOGIC;S : IN STD_LOGIC_VECTOR(1 DOWNTO 0);OUTA,OUTB : OUT STD_LOGIC);END;ARCHITECTURE A OF DUAL_MUX_41 ISSIGNAL P,Q : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINP=ENA_N & S;Q=ENB_N & S;WITH P SELECTOUTA=A WHEN 000,B WHEN 001,C WHEN 010,D WHEN 011,Z WHEN OTHERS;WITH Q SELECTOUTB=A WHEN 000,B WH

27、EN 001,C WHEN 010,D WHEN 011,Z WHEN OTHERS;END A;5-15 試用并行信號賦值語句分別描述下列器件的功能:(1) 3-8 譯碼器(2) 8 選1數(shù)據(jù)選擇器1)功能描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 ISPORT(a,b,c,g1,g1a,a2b:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END decoder38;ARCHITECTURE behave38 OF decoder38 ISSIGNAL in

28、da: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN indaqqqqqqqqq=XXXXXXXX;END CASE;ELSE q=11111111;END IF;END PROCESS;END behave38; (2)功能描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux8 ISPORT(d0,d1,d2,d3,d4,d5,d6,d7:IN STD_LOGIC_VECTOR(7 DOWNTO 0);s0,s1,s2:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END mux8; ARCHITECTURE behave OF mux8 ISSIGNAL s: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINs =s2&s1&s0;WITH s SECLECTd =d0 WHEN 000, d1 WHEN 001, d2 WHEN 010, d3 WHEN 011, d4 WHEN 100,d5 WHEN 101,d6 WHEN 110,d7 WHEN 111, X WHEN OTHERS; END behave;5-1

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論