EDA復(fù)習(xí)要點(diǎn) 全_第1頁
EDA復(fù)習(xí)要點(diǎn) 全_第2頁
EDA復(fù)習(xí)要點(diǎn) 全_第3頁
EDA復(fù)習(xí)要點(diǎn) 全_第4頁
EDA復(fù)習(xí)要點(diǎn) 全_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、主要知識(shí)點(diǎn)1、 從執(zhí)行方式看VHDL的描述語句包括那些描述語句?用VHDL語言進(jìn)行設(shè)計(jì)時(shí),按描述語句的執(zhí)行順序進(jìn)行分類,可將VHDL語句分為順序執(zhí)行語句(Sequential)和并行執(zhí)行語句(Parallel)。2、 目前流行的硬件描述語言有那些?常用的硬件描述語言有ABEL-HDL AHDL.VHDL和Verilog-HDL.而VHDL和Verilog-HDL是當(dāng)前最流行的并成為IEEE標(biāo)準(zhǔn)的硬件描述語言。3、 MAX+PLUS2中各種文件的擴(kuò)展名有哪些?*.vhd *.sym *.gdf *.scf 4、 基于MAX+PLUS2的設(shè)計(jì)流程設(shè)計(jì)輸入、編譯處理、驗(yàn)證(包括功能仿真、時(shí)序仿真、和

2、定時(shí)分析)和器件編程5、 目前較流行的EDA設(shè)計(jì)軟件有那些?ALTERA公司: MAX+PLUS II QUARTUS II(全新的EDA軟件,正在逐步替代 MAX+PLUS)LATTICE萊迪思公司: isp EXPERT SYSTEM isp DesignExpert SYSTEMXILINX西林公司: FOUNDATION ISE(全新的EDA軟件,正在逐步替代FOUNDATION)6、 可編程邏輯器件的分類?按照變成工藝分哪些類?SPLD 簡(jiǎn)單可編程邏輯器件CPLD 復(fù)雜可編程邏輯器件FPGA 現(xiàn)場(chǎng)可編程門陣列ISP 在系統(tǒng)(線)可編程邏輯器件按編程工藝分為:熔絲開關(guān)(一次可編程,要求

3、大電流)可編程低阻電路元件(多次編程,要求中電壓)EPROM型(紫外線擦除電可編程邏輯器件)E PROM型(電可擦寫編程器件)基于SRAM的編程元件7、 VHDL程序設(shè)計(jì)中常用的庫有那些?哪些庫是顯式(默認(rèn)打開的)的,哪些是隱式的?P159VHDL程序設(shè)計(jì)的常用庫:IEEE庫、STD庫、WORK庫、VITAL庫、用戶定義庫。顯示庫:IEEE庫 用戶定義庫 VITAL庫隱式庫:、STD庫、WORK庫 8、 程序包由那兩部分組成?分別有什么作用? P161程序包由兩部分組成:程序包首和程序包體,程序包首為程序包定義接口,聲明包中的類型、元件、函數(shù)和子程序。程序包體規(guī)定程序包的實(shí)際功能,存放說明中的

4、函數(shù)和子程序。9、 常用的預(yù)定義程序包有哪些?如何調(diào)用?P163常用的預(yù)定義的程序包:STD_LOGIC_1164程序包、STD_LOGIC_ARITH程序包、STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包、STANDARD和TEXTIO程序包。10、 目前國際上較大的EDA器件制造公司有那些?ALTERA公司、LATTICE萊迪思公司、XILINX西林公司11、 VHDL常用的預(yù)定義數(shù)據(jù)類型有哪幾種,分別在哪些程序包中?如何調(diào)用?答:布爾(BOOLEAN)數(shù)據(jù)類型,位(BIT)數(shù)據(jù)類型,位矢量(BIT_VECTOR)數(shù)據(jù)類型 ,字符(CHARACTER)數(shù)據(jù)類型

5、 。12、 數(shù)據(jù)類型的轉(zhuǎn)換有哪幾種方法?P114 函數(shù)轉(zhuǎn)換法、類型標(biāo)記轉(zhuǎn)換法和常數(shù)轉(zhuǎn)換法。13、 可以構(gòu)成標(biāo)識(shí)符的字符有? 有效的字符:(1)包括26個(gè)大小寫英文字母,數(shù)字09以及下劃線“_”。 (2)任何標(biāo)識(shí)符必須以英文字母開頭。(3)必須是單一下劃線“_”,且其前后都必須有英文字母或數(shù)字。(3)標(biāo)識(shí)符中的英文字母不分大小寫。(4)允許包含圖形符號(hào)(如回車符、換行符等),也允許包含空格符。(5)VHDL的保留字不能用于作為標(biāo)識(shí)符使用。14、 可編程器件(PLD)分為哪兩類?答:根據(jù)編程特性分為一次編程和重復(fù)編程兩類15、 標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型常用的數(shù)值有哪幾種?U-未初始化的,X-強(qiáng)未知的,0

6、-強(qiáng)0,1-強(qiáng)1,Z-高阻態(tài),W-弱未知的,L-弱0,H-弱1,-忽略。16、 完整的條件語句將產(chǎn)生什么電路,不完整的條件語句將產(chǎn)生什么電路?完整的條件語句將產(chǎn)生組合電路,不完整的條件語句將產(chǎn)生時(shí)序電路17、 信號(hào)和變量有什么區(qū)別?P121(1)信號(hào)賦值至少有延時(shí),而變量賦值沒有延時(shí)。(2)信號(hào)除當(dāng)前值外有許多相關(guān)的信息,而變量只有當(dāng)前值。(3)進(jìn)程對(duì)信號(hào)敏感而對(duì)變量不敏感。(4)信號(hào)可以是多個(gè)進(jìn)程的全局 信號(hào);而變 量 只在 定義它 們 的順序域 可見(共享 變 量 除外)。(5)信號(hào) 是 硬 件 中 連 線 的 抽 象 描 述,它們的功能是保存變化的數(shù)據(jù)和連接子元件,信號(hào)在元件的端口連接元

7、件。變量在硬件中沒有類似的對(duì)應(yīng)關(guān)系,它們用于硬件特性的高層次建模所需要的計(jì)算中。(6)信號(hào)賦值和變量賦值分別使用不同的賦值符號(hào)“ 連接端口名,.);29、 試比較圖形輸入法和文本輸入法有何優(yōu)缺點(diǎn)?30、 結(jié)構(gòu)體的語言格式與作用。ARCHITECTURE 結(jié)構(gòu)體名OF 實(shí)體名 IS (說明語句) 用來說明和定義數(shù)據(jù)對(duì)象,類型等,可省略 BEGIN (功能描述語句) 用來描述內(nèi)部電路功能的,不可省略 END ARCHITECTURE 結(jié)構(gòu)體名;結(jié)構(gòu)體用來描述設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,即描述一個(gè)實(shí)體的功能,把設(shè)計(jì)實(shí)體的輸入和輸出之間的聯(lián)系建立起來。31、 寫出PROCESS語句結(jié)構(gòu)的一般表達(dá)格式? PR

8、OCESS語句格式 PROCESS語句的表達(dá)格式如下: 進(jìn)程標(biāo)號(hào):PROCESS(敏感信號(hào)參數(shù)表)IS 進(jìn)程說明部分 BEGIN 順序描述語句 END PROCESS進(jìn)程標(biāo)號(hào); 32、 進(jìn)程語句的設(shè)計(jì)(或使用)要點(diǎn)?P140(1) 雖然同一結(jié)構(gòu)體中的進(jìn)程之間是并行運(yùn)行的,但同一進(jìn)程中的邏輯描述語句則是順序運(yùn)行的,因而在進(jìn)程中只能設(shè)放置順序語句。(2) 進(jìn)程的激活必須由敏感信號(hào)表中定義的任一敏感信號(hào)的變化來啟動(dòng),否則必須有一顯式的WAIT語句來激活。(3) 結(jié)構(gòu)體中多個(gè)進(jìn)程之所以能并行同步運(yùn)行,一個(gè)很重要的原因是進(jìn)程之間的通信是通過傳遞信號(hào)和共享變量值來實(shí)現(xiàn)的。(4) 進(jìn)程是重要的建模工具。進(jìn)程

9、結(jié)構(gòu)不但為綜合器所支持,而且進(jìn)程的建模方式將直接影響仿真和綜合結(jié)果。33、 并行信號(hào)賦值語句有哪幾種?其語句格式為何?1) 簡(jiǎn)單信號(hào)賦值語句 賦值目標(biāo)=表達(dá)式;2) 條件信號(hào)賦值語句 賦值目標(biāo)=表達(dá)式1 WHEN 賦值條件1 ELSE 表達(dá)式2 WHEN賦值條件2 ELSE . 表達(dá)式n;3)選擇信號(hào)賦值語句的語句格式如下: WITH 選擇表達(dá)式SELECT 賦值目標(biāo)信號(hào) 語句A;WHEN 值2= 語句B;.WHEN OTHERS= 語句C;END CASE注意事項(xiàng):(1)WHEN條件句中的選擇值或標(biāo)識(shí)符所代表的值必須在表達(dá)式的取值范圍內(nèi)。2)除非所有條件句中的選擇值能完整覆蓋CASE語句中表

10、達(dá)式的取值,否則最后一個(gè)條件句中的選擇必須用關(guān)鍵詞OTHERS表示以上已列的所有條件句中未能列出的其它可能的取值。(3)CASE語句中的選擇值只能出現(xiàn)一次,不允許有相同選擇值的條件語句出現(xiàn)。(4)CASE語句執(zhí)行中必須選中,且只能選中所列條件語句中的一條。43、 試著比較IF和CASE語句的差異?P127與IF語句相比,CASE語句組的程序可讀性比較好,這是因?yàn)樗褩l件中所有可能出現(xiàn)的情全部列出來了,可執(zhí)行條件比較清晰。而且CASE程序的執(zhí)行過程不像IF語句中那樣有一個(gè)逐項(xiàng)條件條件順序比較的過程。CASE語句中條件句的次序是不重要的,它的執(zhí)行過程更接近于并行方式。但是在一般情況下,經(jīng)過綜合后,

11、對(duì)相同的邏輯功能,CASE語句比IF語句的描述耗用更多的硬件資源,而且有的邏輯功能CASE語句無法描述,只能使用IF語句來描述.44、 FOR循環(huán)語句的一般形式?P127FOR循環(huán)語句的一般形式為:循環(huán)標(biāo)號(hào): FOR 循環(huán)變量 IN 循環(huán)次數(shù)范圍 LOOP 順序處理語句END LOOP循環(huán)標(biāo)號(hào);45、 VHDL數(shù)據(jù)對(duì)象有哪幾種?P101在VHDL中,數(shù)據(jù)對(duì)象有三種(1)常量(CONSTANT)(2)變量(VARIABLE)(3)信號(hào)(SIGNAL)。46、 變量和信號(hào)的區(qū)別?P105同18題47、 賦值語句分哪些類,分別寫出一句賦值語句。賦值語句分為信號(hào)賦值語句和變量賦值語句。變量賦值語句和信

12、號(hào)賦值語句的語法格式如下: 變量賦值目標(biāo) :=賦值源; 信號(hào)賦值目標(biāo) =賦值源;48、 實(shí)現(xiàn)時(shí)序電路和邏輯組合電路分別用什么語句實(shí)現(xiàn),分別寫出他們的一般表式。完整的條件語句將產(chǎn)生組合電路,不完整的條件語句將產(chǎn)生時(shí)序電路完整的條件語句格式:49、 寫出實(shí)體、結(jié)構(gòu)體的一般語句結(jié)構(gòu)并說明其作用。50、 簡(jiǎn)述VHDL中順序語句有哪些?1、賦值語句2、轉(zhuǎn)向控制語句3.WAIT語句4、子程序調(diào)用語句5、返回語句6、 NULL語句7.其他語句51、 簡(jiǎn)述VHDL中并行語句有哪些?1、進(jìn)程語句2、并行信號(hào)賦值語句3、塊語句結(jié)構(gòu)(BLOCK)4、并行過程調(diào)用語句5、元件例化 語句6 、生成語句52、 試寫出三種

13、IF語句的語句結(jié)構(gòu)。IF語句是一種條件語句,它根據(jù)語句中所設(shè)置的一種或多種條件,有選擇地執(zhí)行指定的順序語句,常見的IF語句有以下種形式。 (1) IF 條件 THEN 語句 END IF; (2) IF 條件 THEN 語句 ELSE 語句 END IF;(3) IF 條件THEN 語句 ELSIF 條件THEN 語句 ELSE 語句 END IF;53 轉(zhuǎn)向控制語句有哪幾種? P123轉(zhuǎn)向控制語句共有五種:(1)IF語句(2)CASE語句(3)LOOP語句(4) next語句(5) exit語句54 什么是重載操作符?常用的重載操作符定義在那個(gè)程序包中?為了方便各種不同數(shù)據(jù)類型間的運(yùn)算,VH

14、DL允許用戶對(duì)原有的基本操作符重新定義,賦予新的含義和功能,從而建立一種新的操作符,這就是重載操作符。常用的重載操作符程序包:STD_LOGIC_UNSIGNED、STD_LOGIC_ARITH、STD_LOGIC_SIGNED55 什么是重載函數(shù),什么是重載過程同樣名稱的函數(shù)可以用不同的數(shù)據(jù)類型作為此函數(shù)的參數(shù)定義多次,以此定義的函數(shù)稱為重載函數(shù)56 VHDL設(shè)計(jì)的有限狀態(tài)機(jī)從信號(hào)輸出方式上分為哪兩類?主要區(qū)別是什么?有限狀態(tài)機(jī)從信號(hào)輸出方式上分為Mealy(米立)型和Moore(摩爾)型兩種狀態(tài)機(jī)。?57 一般有限狀態(tài)機(jī)的的組成有哪幾部分?一般的狀態(tài)機(jī)通常包含說明部分、時(shí)序進(jìn)程、組合進(jìn)程、

15、輔助進(jìn)程等幾個(gè)部分。58 VHDL的描述風(fēng)格有哪幾種?行為描述、數(shù)據(jù)流描述和結(jié)構(gòu)描述第四章習(xí)題答案2 VHDL的基本結(jié)構(gòu)是什么?各部分的功能分別是什么?答:參考課本77頁,最下面一段。4、寫出3輸入與非門的實(shí)體描述。ENTITY nand_3 IS PORT (a , b, c: IN STD_LOGIC); q: OUT STD_LOGIC );END nand_3;5、例4-1是2選1的多路選擇器的VHDL描述,在結(jié)構(gòu)體的描述中使用了“WHEN-ELSE”語句,但也可以用其他語句來進(jìn)行描述,試描述之。用IF語句描述:ENTITY mux21aISPORT(a,b:IN BIT; s:INB

16、IT; q:OUT BIT);END mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS (a,b,s)BEGINIF s=0 THENq=a; ELSE q= b;END IF;END PROCESS;END one;6、試寫出4選1多路選擇器的VHDL描述。選擇控制信號(hào)為s1和s0,輸入信號(hào)為a,b,c,d,輸出信號(hào)為y。也可以參考P125頁,例5-9那樣 使用IF語句LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4_1 ISPORT(a,b,c,d,s0,s1:IN STD_LOGIC;

17、 y:OUT STD_LOGIC);END mux4_1;ARCHITECTURE behave OF mux4_1 ISSIGNAL sel:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN sel y y y ynull;END CASE;END PROCESS;END behave;7 試給出1位全減器的VHDL描述,要求首先設(shè)計(jì)1位半減器,然后用例化語句將它們連接起來。設(shè)x為被減數(shù),y為減數(shù),sub_in是借位輸入,diff是輸出差,sub_out是借位輸出。-半減器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY

18、h_sub ISPORT(a,b:IN STD_LOGIC; co,so:OUT STD_LOGIC);END ENTITY h_sub ;ARCHITECTURE fh1 OF h_sub ISBEGINso=a XOR b; co=NOT a AND b; END ARCHITECTURE fh1;-或門描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT(a,b:IN STD_LOGIC; c:OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGIN

19、c=a OR b; END ARCHITECTURE one;-全減器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f_sub1 ISPORT(x,y,sub_in:IN STD_LOGIC;sub_out,diff:OUT STD_LOGIC);END ENTITY f_sub1 ;ARCHITECTURE strl OF f_sub1 ISCOMPONENT h_sub PORT(a,b:IN STD_LOGIC; co,so:OUT STD_LOGIC);END COMP

20、ONENT;COMPONENT or2aPORT(a,b:IN STD_LOGIC; c:OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f:STD_LOGIC;BEGINu1:h_sub PORT MAP(x,y,d,e);u2:h_sub PORT MAP(e,sub_in,f,diff);u3:or2a PORT MAP(d,f,sub_out); END ARCHITECTURE strl ;第五章5-1.試說明實(shí)體端口模式BUFFER和INOUT的不同之處?答: BUFFER端口:緩沖模式,具有讀功能的輸出模式,即信號(hào)輸出到實(shí)體外部,但同時(shí)也在內(nèi)部反饋

21、使用,不允許作為雙向端口使用。而INOUT端口:雙向模式,即信號(hào)的流通是雙向的,既可以對(duì)此端口賦值,也可以通過此端口讀入數(shù)據(jù)。5-2.VHDL的數(shù)據(jù)對(duì)象有哪幾種?它們之間有什么不同?答:VHDL的數(shù)據(jù)對(duì)象有三種:信號(hào)、變量、常量。 它們之間的的區(qū)別如下:信號(hào)賦值至少有延時(shí),而變量和常量沒有;信號(hào)除當(dāng)前值外,有許多相關(guān)信息,變量只有當(dāng)前值,常量的值在設(shè)計(jì)實(shí)體中始終不變;進(jìn)程對(duì)信號(hào)敏感而對(duì)變量及常量不敏感;信號(hào)可以是多個(gè)進(jìn)程的全局信號(hào),變量只在定義它們的順序域可見,而常量的使用范圍取決于它被定義的位置;信號(hào)是硬件連線的抽象描述信號(hào)賦值,賦值符號(hào) = 而變量和常量的賦值符號(hào) :=。5-3.說明下列各

22、定義的意義: 答SIGNAL a , b , c : BIT : =0;- - 定義3個(gè)位數(shù)據(jù)類型的信號(hào)a、b、c,它們?nèi)≈禐?;CONSTANT TIME1 , TIME2 : TIME : 20ns ;- -定義2個(gè)時(shí)間數(shù)據(jù)類型的常量TIME1、TIME2,它們值為20ns;VARIABLE x , y , z : STD_LOGIC :=x;- - 定義3個(gè)標(biāo)準(zhǔn)邏輯位 STD_LOGIC數(shù)據(jù)類型的變量x、y、z,它們的值是強(qiáng)未知的。 5-4.什么是重載函數(shù)?重載運(yùn)算符有何用處?如何調(diào)用重載運(yùn)算符函數(shù)?答:為了方便各種不同數(shù)據(jù)類型間的運(yùn)算,VHDL允許用戶對(duì)原有的基本操作符重新定義,賦予新

23、的含義和功能,從而建立一種新的操作符,這就是重載操作符,定義這種操作符的函數(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ù)個(gè)數(shù)和類型與所定義的函數(shù)要保持一致。5-5.數(shù)據(jù)類型BIT INTEGER BOOLEAN分別定義在哪個(gè)庫中?哪些庫和程序包總是可見的?.答:數(shù)據(jù)類型BIT INTEGER BOOLEAN均定義在STD庫中。IEEE庫和程序包STD_LOGIC.1164 、STD_LOGIC_UNSIGNED、STD_LOGIC_SIGNED、STD_LOG

24、IC_ARITH等總是可見的。 5-6.函數(shù)和過程有什么區(qū)別?答:子程序有兩種類型,即過程(PROCEDURE)和函數(shù)(FUNCTION)。它們的區(qū)別在于:過程的調(diào)用可以通過其界面獲得多個(gè)返回值,而函數(shù)只能返回一個(gè)值;在函數(shù)入口中,所有參數(shù)都是輸入?yún)?shù),而過程有輸入?yún)?shù)、輸出參數(shù)和雙向參數(shù);過程一般被看作一種語句結(jié)構(gòu),而函數(shù)通常是表達(dá)式的一部分;過程可以單獨(dú)存在,而函數(shù)通常作為語句的一部分調(diào)用。 5-7.若在進(jìn)程中加入WAIT語句,應(yīng)注意哪幾個(gè)方面的問題?答:應(yīng)注意以下問題:已列出敏感信號(hào)的進(jìn)程中不能使用任何形式的WAIT語句;一般情況下,只有WAIT UNTIL格式的等待語句可以被綜合器所接

25、受,其余語句格式只能在VHDL仿真器中使用;在使用WAIT ON語句的進(jìn)程中,敏感信號(hào)量應(yīng)寫在進(jìn)程中的WAIT ON語句后面;在不使用WAIT ON語句的進(jìn)程中,敏感信號(hào)量應(yīng)在開頭的關(guān)鍵詞PROCESS后面的敏感信號(hào)表中列出。5-8.哪些情況下需用到程序包STD_LOGIC_UNSIGNED?試舉一例。答:調(diào)用數(shù)據(jù)類型變換函數(shù)或重載運(yùn)算符函數(shù)時(shí);定義UNSIGNED類型的數(shù)據(jù)時(shí)。舉例如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; IF temp=11111111THEN temp:=

26、 00000000; ELSE temp:=temp+16;END IF;5-9.為什么說一條并行賦值語句可以等效為一個(gè)進(jìn)程?如果是這樣的話,怎樣實(shí)現(xiàn)敏感信號(hào)的檢測(cè)?答:因?yàn)樾盘?hào)賦值語句的共同點(diǎn)是賦值目標(biāo)必須都是信號(hào),所有賦值語句與其它并行語句一樣,在結(jié)構(gòu)體內(nèi)的執(zhí)行是同時(shí)發(fā)生的,與它們的書寫順序沒有關(guān)系,所以每一信號(hào)賦值語句都相當(dāng)于一條縮寫的進(jìn)程語句。由于這條語句的所有輸入信號(hào)都被隱性地列入此縮寫進(jìn)程的敏感信號(hào)表中,故任何信號(hào)的變化都將相關(guān)并行語句的賦值操作,這樣就實(shí)現(xiàn)了敏感信號(hào)的檢測(cè)。 5-10.比較CASE語句和WITH_SELECT語句,敘述它們的異同點(diǎn)?答:相同點(diǎn):CASE語句中各子句

27、的條件不能有重疊,必須包容所有的條件;WITH_SECLECT語句也不允許選擇值有重疊現(xiàn)象,也不允許選擇值涵蓋不全的情況。另外,兩者對(duì)子句各選擇值的測(cè)試都具有同步性,都依賴于敏感信號(hào)的變化。不同點(diǎn):CASE語句只能在進(jìn)程中使用,至少包含一個(gè)條件語句,可以有多個(gè)賦值目標(biāo);WITH_SECLECT語句根據(jù)滿足的條件,對(duì)信號(hào)進(jìn)行賦值,其賦值目標(biāo)只有一個(gè),且必須是信號(hào)。5-11.將以下程序段轉(zhuǎn)換為WHEN_ELSE語句: PROCESS (a , b ,c ,d) BEGIN IF a=0AND b=1THEN NEXT1 =1101; ELSEIF a=0THEN NEXT1 =d; ELSEIF

28、b=1THEN NEXT1 =c; ELSE NEXT1 =1011; END IF; END PROCESS;原程序轉(zhuǎn)換如下: ARCHITECTURE one OF mux IS BEGIN NEXT1 =1101WHEN a=0AND b=1ELSE d WHEN a=0ELSE c WHEN b=1ELSE 1011; END one; END PROCESS;5-12試給出一位全減器的算法描述、數(shù)據(jù)流描述、結(jié)構(gòu)描述和混合描述。行為(算法)描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.AL

29、L;ENTITY f_sub ISPORT(x,y,sub_in:IN STD_LOGIC;sub_out,diff:OUT STD_LOGIC);END f_sub ;ARCHITECTURE bhv OF f_sub ISSIGNAL tmp:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN tmp diff=0;sub_out diff=1;sub_out diff=1;sub_out diff=0;sub_out diff=1;sub_out diff=0;sub_out diff=0;sub_out diff=1;sub_out NULL; END CASE; E

30、ND PROCESS;END bhv ;數(shù)據(jù)流描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f_sub ISPORT(x,y,sub_in:IN STD_LOGIC;sub_out,diff:OUT STD_LOGIC);END f_sub ;ARCHITECTURE rtl OF f_sub ISBEGIN diff=x XOR y XOR sub_in; sub_out=(NOT x AND y )OR (x XNOR y) AND sub_in);END rtl ; 結(jié)構(gòu)

31、描述:LIBRARY IEEE; - - 半減器USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_sub ISPORT(a,b:IN STD_LOGIC; co,so:OUT STD_LOGIC);END h_sub ;ARCHITECTURE fh1 OF h_sub ISBEGIN so=a XOR b; co=NOT a AND b; END fh1; LIBRARY IEEE; - -或門描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT(a,b:IN STD_LOGIC; c:OUT STD_LOGIC);END

32、or2a;ARCHITECTURE one OF or2a ISBEGINc=a OR b; END one; LIBRARY IEEE; - -全減器描述USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f_sub1 IS PORT(x,y,sub_in:IN STD_LOGIC; sub_out,diff:OUT STD_LOGIC);END f_sub1 ;ARCHITECTURE strl OF f_sub1 IS COMPONENT h_sub PORT(a,b:IN STD_LOGIC; co,so

33、:OUT STD_LOGIC); END COMPONENT; COMPONENT or2aPORT(a,b:IN STD_LOGIC; c:OUT STD_LOGIC); END COMPONENT; SIGNAL d,e,f:STD_LOGIC;BEGIN u1:h_sub PORT MAP(x,y,d,e); u2:h_sub PORT MAP(e,sub_in,f,diff); u3:or2a PORT MAP(d,f,sub_out); END strl ; 5-13用VHDL描述下列器件的功能:(1)十進(jìn)制BCD碼編碼器,輸出使能為低電平有效。library ieee;use ie

34、ee.std_logic_1164.all;entity bin_bcd isport(bin : in integer range 0 to 20; ena : in std_logic; BCD_out : out std_logic_vector(7 downto 0);end;architecture a of bin_bcd isbeginBinary_BCD : BlockBEGINBCD_out =00000000 WHEN BIN = 0 ELSE00000001 WHEN BIN = 1 ELSE00000010 WHEN BIN = 2 ELSE00000011 WHEN

35、BIN = 3 ELSE00000100 WHEN BIN = 4 ELSE00000101 WHEN BIN = 5 ELSE00000110 WHEN BIN = 6 ELSE00000111 WHEN BIN = 7 ELSE00001000 WHEN BIN = 8 ELSE00001001 WHEN BIN = 9 ELSE00010000 WHEN BIN = 10 ELSE00010001 WHEN BIN = 11 ELSE00010010 WHEN BIN = 12 ELSE00010011 WHEN BIN = 13 ELSE00010100 WHEN BIN = 14 E

36、LSE00010101 WHEN BIN = 15 ELSE00010110 WHEN BIN = 16 ELSE00010111 WHEN BIN = 17 ELSE00011000 WHEN BIN = 18 ELSE00011001 WHEN BIN = 19 ELSE00100000 WHEN BIN = 20 ELSE 00000000;end block;end a;(2)時(shí)鐘(可控)RS觸發(fā)器。LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY ffrs ISPORT(s,r: IN std_logic; q,qb: OUT std_l

37、ogic);END ffrs;ARCHITECTURE rtl OF ffrs ISSIGNAL qn,nqn: std_logic;BEGIN qn= 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

38、bit );end;architecture a of jkff issignal q_s,nq_s : bit;begin process(j,k,rst,clr,clk) begin if rst=1 then q_s=1; nq_s=0; elsif clkevent and clk=0 then if clr=1 then q_s=0; nq_s=1; elsif j=0 and k=1 then q_s=0; nq_s=1; elsif j=1 and k=0 then q_s=1; nq_s=0; elsif j=1 and k=1 then q_s=not q_s; nq_s=n

39、ot nq_s; end if; else null; end if; q=q_s; nq=nq_s;end process;end a;(4)集成計(jì)數(shù)器74161Library ieee;use ieee.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

40、of cnt4 is signal data_in: std_logic_vector(3 downto 0);begin data_in0); elsif clkevent and clk=1 then if ldn=0 then cnt:=data_in; else cnt:=cnt+1; end if; end if; case cnt is when 1111= carry carry=0; end case; qa=cnt(0); qb=cnt(1); qc=cnt(2); qd=cnt(3); end process; end a;程序2LIBRARY IEEE;USE IEEE.

41、STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY S_C74161 ISPORT(clk, ldn,clrn,enp,ent: IN STD_LOGIC; din:IN STD_LOGIC_VECTOR(3 DOWNTO 0); q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ; rco: OUT STD_LOGIC );END S_C74161 ;ARCHITECTURE behav OF S_C74161 ISSIGNAL q1: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clk, clrn) BEGIN IF clrn = 0 THEN q1 = 0000 ; ELSIF (clkEVENT AND clk = 1) THEN IF ldn=0 THEN q1=din ; ELSIF (enp=1 and ent =1 ) THEN q1= q1+1; END IF; END IF; q= q1; END PROCESS; rco = q1(3) and q1(2) and q1(1) and q1(0) and ent; END

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論