EDA技術(shù)復習要點2015年12月課件_第1頁
EDA技術(shù)復習要點2015年12月課件_第2頁
EDA技術(shù)復習要點2015年12月課件_第3頁
EDA技術(shù)復習要點2015年12月課件_第4頁
EDA技術(shù)復習要點2015年12月課件_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上2014年 EDA技術(shù)期末復習 重點復習重點第一部分:第四章和第五章的講過的例題與課后作業(yè)題(見作業(yè)的參考答案)EDA技術(shù)實用教程潘松 黃繼業(yè)第四章4-1:畫出與下例實體描述對應(yīng)的原理圖符號元件: ENTITY buf3s IS       - 實體1:三態(tài)緩沖器    PORT (input : IN STD_LOGIC ;      - 輸入端       

2、   enable : IN STD_LOGIC ;      - 使能端          output : OUT STD_LOGIC ) ;   - 輸出端END buf3x ;ENTITY mux21 IS       -實體2: 2選1多路選擇器PORT (in0, in1, sel : IN STD_LOGIC;output : OUT STD_

3、LOGIC);4-1.答案            4-2. 圖4-37所示的是4選1多路選擇器,試分別用IF_THEN語句和CASE語句的表達方式寫出此電路的VHDL程序。選擇控制的信號s1和s0的數(shù)據(jù)類型為STD_LOGIC_VECTOR;當s1='0',s0='0';s1='0',s0='1';s1='1',s0='0'和s1='1',s0='1'

4、;分別執(zhí)行y<=a、y<=b、y<=c、y<=d。 4-2.答案LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); -輸入選擇信號     a,b,c,d:IN STD_LOGIC; -輸入信號     y:OUT STD_LOGIC);-輸出端END ENTITY;ARCHITECTURE ART OF MUX41 ISBEGINPROCESS(s)B

5、EGINIF (S="00") THEN y<=a;ELSIF (S="01") TH EN y<=b;ELSIF (S="10") TH EN y<=c;ELSIF (S="11") TH EN y<=d;ELSE y<=NULL;END IF;EDN PROCESS;END ART;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); -輸入選擇

6、信號     a,b,c,d:IN STD_LOGIC; -輸入信號     y:OUT STD_LOGIC);-輸出端END MUX41;ARCHITECTURE ART OF MUX41 ISBEGINPROCESS(s)BEGINCASE s ISWHEN “00” => y<=a;WHEN “01” => y<=b;WHEN “10” => y<=c;WHEN “11” => y<=d;WHEN OTHERS =>NULL;END CASE;END PR

7、OCESS;END ART;4-3. 圖4-38所示的是雙2選1多路選擇器構(gòu)成的電路MUXK,對于其中MUX21A,當s='0'和'1'時,分別有y<='a'和y<='b'。試在一個結(jié)構(gòu)體中用兩個進程來表達此電路,每個進程中用CASE語句描述一個2選1多路選擇器MUX21A。4-3.答案LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX221 ISPORT(a1,a2,a3:IN STD_LOGIC_VECTOR(1 DOWNTO 0); -輸入信號 

8、60;   s0,s1:IN STD_LOGIC;     outy:OUT STD_LOGIC);-輸出端END ENTITY;ARCHITECTURE ONE OF MUX221 ISSIGNAL tmp : STD_LOGIC;BEGINPR01:PROCESS(s0)BEGINIF s0=”0” THEN tmp<=a2;ELSE tmp<=a3;END IF;END PROCESS;PR02:PROCESS(s1)BEGINIF s1=”0” THEN outy<=a1;ELSE outy<=tmp;

9、END IF;END PROCESS;END ARCHITECTURE ONE;END CASE;4-4.下圖4-39是一個含有上升沿觸發(fā)的D觸發(fā)器的時序電路,試寫出此電路的VHDL設(shè)計文件。 4-4.答案LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MULTI ISPORT(CL:IN STD_LOGIC; -輸入選擇信號     CLK0:IN STD_LOGIC; -輸入信號     OUT1:OUT STD_LOGIC);-輸出端END ENTITY;ARC

10、HITECTURE ONE OF MULTI ISSIGNAL Q : STD_LOGIC;BEGINPR01:    PROCESS(CLK0)BEGINIF CLK EVENT AND CLK=1THEN Q<=NOT(CL OR Q);ELSEEND IF;END PROCESS;PR02:    PROCESS(CLK0)BEGINOUT1<=Q;END PROCESS;END ARCHITECTURE ONE;END PROCESS;4-5.給出1位全減器的VHDL描述。要求: (1) 首先設(shè)計1位半減器,然后用

11、例化語句將它們連接起來,圖3-32中h_suber是半減器,diff是輸出差,s_out是借位輸出,sub_in是借位輸入。(2) 以1位全減器為基本硬件,構(gòu)成串行借位的8位減法器,要求用例化語句來完成此項設(shè)計(減法運算是 x y - sun_in = diffr)4-5.答案底層文件1:or2a.VHD實現(xiàn)或門操作LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY or2a ISPORT(a,b:IN STD_LOGIC;     &#

12、160;   c:OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b;END ARCHITECTURE one;底層文件2:h_subber.VHD實現(xiàn)一位半減器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY h_subber ISPORT(x,y:IN STD_LOGIC;diff,s_out:OUT STD_LOGIC);END ENTITY h_subbe

13、r;ARCHITECTURE ONE OF h_subber ISSIGNAL xyz: STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINxyz <= x & y;PROCESS(xyz)BEGIN CASE xyz ISWHEN "00" => diff<='0's_out<='0'WHEN "01" => diff<='1's_out<='1'WHEN "10" => diff<=

14、9;1's_out<='0'WHEN "11" => diff<='0's_out<='0'WHEN OTHERS => NULL;END CASE;END PROCESS;END ARCHITECTURE ONE;頂層文件:f_subber.VHD實現(xiàn)一位全減器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f_subber ISPORT(x,y,sub_in:IN STD_

15、LOGIC;diffr,sub_out:OUT STD_LOGIC);END ENTITY f_subber;ARCHITECTURE ONE OF f_subber ISCOMPONENT h_subberPORT(x,y:IN STD_LOGIC;diff,S_out:OUT STD_LOGIC);END COMPONENT;COMPONENT or2aPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f: STD_LOGIC;BEGINu1: h_subber PORT MAP(x=>x,y=>y,

16、diff=>d,s_out=>e);u2: h_subber PORT MAP(x=>d,y=>sub_in,diff=>diffr,s_out=>f);u3: or2a PORT MAP(a=>f,b=>e,c=>sub_out);END ARCHITECTURE ONE;END ARCHITECTURE ART;4-6.根據(jù)圖4-41,寫出頂層文件MX3256.VHD的VHDL設(shè)計文件。 4-6.答案MAX3256頂層文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGI

17、C_UNSIGNED.ALL;ENTITY MAX3256 ISPORT (INA,INB,INCK: IN STD_LOGIC;INC: IN STD_LOGIC;E,OUT:OUT STD_LOGIC);END ENTITY MAX3256;ARCHITECTURE ONE OF MAX3256 ISCOMPONENT LK35 -調(diào)用LK35聲明語句PORT(A1,A2:IN STD_LOGIC;CLK:IN STD_LOGIC;Q1,Q2:OUT STD_LOGIC);END COMPONENT;COMPONENT D -調(diào)用D觸發(fā)器聲明語句PORT(D,C:IN STD_LOGIC;

18、CLK:IN STD_LOGIC;Q:OUT STD_LOGIC);END COMPONENT;COMPONENT MUX21-調(diào)用二選一選擇器聲明語句PORT(B,A:IN STD_LOGIC;S:IN STD_LOGIC;C:OUT STD_LOGIC);END COMPONENT;SIGNAL AA,BB,CC,DD: STD_LOGIC;BEGINu1: LK35 PORT MAP(A1=>INA,A2=>INB,CLK=INCK, Q1=>AA,Q2=>BB);u2: D PORT MAP(D=>BB;CLK=>INCK,C=>INC,Q=&

19、gt;CC);u3: LK35 PORT MAP (A1=>BB,A2=>CC,CLK=INCK, Q1=>DD,Q2=>OUT1);u4: MUX21 PORT MAP (B=>AA,A=>DD,S=>BB,C=>E);END ARCHITECTURE ONE;4-7 用例化語句寫出下圖所示的的頂層文件1、首先編寫底層元件adder_1,使其為帶使能控制端口的半加器。LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY adder_1 IS PORT (a, b : IN STD_LOGIC; co

20、, so : OUT STD_LOGIC); END ENTITY adder_1; ARCHITECTURE fh1 OF adder_1 is BEGIN so <= NOT(a XOR (NOT b) ; co <= a AND b ; END ARCHITECTURE fh1; 2、使用VHDL元件例化語句完成下圖所示的頂層文件library ieee;use ieee.std_logic_1164.all; ENTITY adder_2 isport(a1,a0,b1,b0,ci:in std_logic; s1,s2,co:out std_logic); end add

21、er_2; architecture one of adder_2 is component adder_1 port(x,y,cin:in std_logic; cout,sum:out std_logic); end component;signal temp:std_logic; beginu1:adder_1 port map(x=>a1,y=>a0,cin=>ci,sum=>s1;cout=>temp); u2:adder_1 port map(x=>b1,y=>b0,cin=>temp,sum=>s2;cout=>co);

22、 end one; 第五章 5-1 什么是固有延時?什么是慣性延時?P139答:固有延時(Inertial Delay)也稱為慣性延時,固有延時的主要物理機制是分布電容效應(yīng)。 5-2 是什么?在VHDL中,有什么用處?P140是什么? 答:在VHDL仿真和綜合器中,默認的固有延時量(它在數(shù)學上是一個無窮小量),被稱為延時。在VHDL中,有什么用處?答:在VHDL信號賦值中未給出固有延時情況下,VHDL仿真器和綜合器將自動為系統(tǒng)中的信號賦值配置一足夠小而又能滿足邏輯排序的延時量;使并行語句和順序語句中的并列賦值邏輯得以正確執(zhí)行。 5-4 說明信號和變量的功能特點,以及應(yīng)用上的異同點。P117P1

23、18答:變量:變量是一個局部量,只能在進程和子程序中使用。變量不能將信息帶出對它做出定義的當前結(jié)構(gòu)。變量的賦值是一種理想化的數(shù)據(jù)傳輸,是立即發(fā)生的,不存在任何延時行為。變量的主要作用是在進程中作為臨時的數(shù)據(jù)存儲單元。信號:信號是描述硬件系統(tǒng)的基本數(shù)據(jù)對象,其性質(zhì)類似于連接線;可作為設(shè)計實體中并行語句模塊間的信息交流通道。信號不但可以容納當前值,也可以保持歷史值;與觸發(fā)器的記憶功能有很好的對應(yīng)關(guān)系。 5-5 在VHDL設(shè)計中,給時序電路清零(復位)有兩種力方法,它們是什么?解:設(shè)Q定義成信號,一種方法:Q<=“000000”; 其中“000000”反映出信號Q的位寬度。第二種方法:Q<

24、;=(OTHERS=>0);其中OTHERS=>0不需要給出信號Q的位寬度,即可對Q清零。 5-6 在描述時序電路的進程中,哪一種復位方法必須將復位信號放在敏感信號表中?給出這兩種電路的VHDL描述。解:邊沿觸發(fā)復位信號要將復位信號放在進程的敏感信號表中。(1)邊沿觸發(fā)復位信號. ARCHITECTURE bhv 0F DFF3 IS SIGNAL QQ:STD_LOGIC; BEGIN PROCESS(RST) BEGIN IF RSTEVENT AND RST=1' THEN QQ<=(OTHERS=>0); END IF; END PROCESS; Q1&

25、lt;=QQ; END;(2)電平觸發(fā)復位信號. ARCHITECTURE bhv 0F DFF3 IS SIGNAL QQ:STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF RST=1' THEN QQ<=(OTHERS=>0); END IF; END PROCESS; Q1<=QQ; END;5-7 什么是重載函數(shù)?重載算符有何用處?如何調(diào)用重載算符函數(shù)?答:(1)什么是重載函數(shù)? 根據(jù)操作對象變換處理功能。 (2)重載算符有何用處? 用于兩個不同類型的操作數(shù)據(jù)自動轉(zhuǎn)換成同種數(shù)據(jù)類型,并進行運算處理。 (3)如何調(diào)用重載算符函數(shù)?采用

26、隱式方式調(diào)用,無需事先聲明。 5-8 判斷下面三個程序中是否有錯誤,若有則指出錯誤所在,并給出完整程序。 程序1: Signal A,EN : std_logic; Process(A, EN) Variable B: std_log ic; Begin if EN=l then B<=A; end if; -將“B<=A”改成“B:=A” end process; 程序2: Architecture one of sample is variable a,b,c:integer; begin c<=a+b; -將“c<=a+b”改成“c:=a+b” end; 程序3:

27、 library ieee; use ieee.std_logic_1164.all; entity mux21 is PORT(a,b:in std_logic; sel:in std_loglc;c:out std_logle;); -將“;)”改成“)” end sam2; -將“sam2”改成“entity mux21” architecture one of mux2l is begin -增加“process(a,b,sel) begin” if sel= '0' then c:=a; else c:=b; end if; -應(yīng)改成“if sel= '0&#

28、39; then c<=a; else c<=b; end if;” -增加“end process;” end two; -將“two”改成“architecture one”5-9 設(shè)計含有異步清零和計數(shù)使能的16位二進制加減可控計數(shù)器。 5-9.答案:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT16 ISPORT(CLK,RST,EN:IN STD_LOGIC;      CHOOSE:IN BIT;

29、60;     SETDATA:BUFFER INTEGER RANCE 65535 DOWNTO 0;      COUT: BUFFER INTEGER RANCE 65535 DOWNTO 0);END CNT16;ARCHITECTURE ONE OF CNT16 ISBEGIN    PROCESS(CLK,RST,SDATA)      VARIABLE QI:STD_LOGIC_VECTOR(65535 DOWNTO 0)

30、;       BEGINIF RST='1' THEN -計數(shù)器異步復位            QI:=(OTHERS=>'0');ELSIF SET=1 THEN-計數(shù)器一步置位QI:=SETDATA; ELSIF CLK'EVENT AND CLK='1' THEN -檢測時鐘上升沿       IF

31、 EN=1 THEN 檢測是否允許計數(shù)IF CHOOSE=1 THEN -選擇加法計數(shù)            QI:=QI+1;    -計數(shù)器加一            ELSE QI=QI-1; -計數(shù)器加一            END IF;

32、END IF;END IF;     COUT<=QI;-將計數(shù)值向端口輸出END PROCESS;END ONE;復習重點第二部分:一下為本書中必須掌握的主要知識點,大家對照課本進行總結(jié),深入領(lǐng)會1、 從執(zhí)行方式看VHDL的描述語句包括那些描述語句?2、 目前流行的硬件描述語言有那些?。3、 MAX+PLUS2中各種文件的擴展名有哪些?4、 基于MAX+PLUS2的設(shè)計流程5、 目前較流行的EDA設(shè)計軟件有那些?;6、 可編程邏輯器件的分類?按照變成工藝分哪些類。VHDL程序設(shè)計中常用的庫有那些?哪些庫是顯式(默認打開的)的,哪些是隱式的?設(shè)計的現(xiàn)行工作庫是什么?7、 程序包由那兩部分組成?分別有什么作用?8、 常用的預(yù)定義程序包有哪些?如何調(diào)用?9、 目前國際上較大的EDA器件制造公司有那些?10、 VHDL常用的預(yù)定義數(shù)據(jù)類型有哪幾種,分別在哪些程序包中?如何調(diào)用?11、 數(shù)據(jù)類型的轉(zhuǎn)換有哪幾種方法? 12、 可以構(gòu)成標識符的字符有? 13、

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論