




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
重要知識(shí)點(diǎn)從執(zhí)行方式看VHDL的描述語句涉及那些描述語句?用VHDL語言進(jìn)行設(shè)計(jì)時(shí),按描述語句的執(zhí)行順序進(jìn)行分類,可將VHDL語句分為順序執(zhí)行語句(Sequential)和并行執(zhí)行語句(Parallel)。目前流行的硬件描述語言有那些?常用的硬件描述語言有ABEL-HDLAHDL.VHDL和Verilog-HDL.而VHDL和Verilog-HDL是當(dāng)前最流行的并成為IEEE標(biāo)準(zhǔn)的硬件描述語言。MAX+PLUS2中各種文獻(xiàn)的擴(kuò)展名有哪些?*.vhd*.sym*.gdf*.scf基于MAX+PLUS2的設(shè)計(jì)流程設(shè)計(jì)輸入、編譯解決、驗(yàn)證(涉及功能仿真、時(shí)序仿真、和定期分析)和器件編程目前較流行的EDA設(shè)計(jì)軟件有那些?ALTERA公司:MAX+PLUSIIQUARTUSII(全新的EDA軟件,正在逐步替代MAX+PLUS)LATTICE萊迪思公司:ispEXPERTSYSTEMispDesignExpertSYSTEMXILINX西林公司:FOUNDATIONISE(全新的EDA軟件,正在逐步替代FOUNDATION)可編程邏輯器件的分類?按照變成工藝分哪些類?SPLD簡樸可編程邏輯器件CPLD復(fù)雜可編程邏輯器件FPGA現(xiàn)場可編程門陣列ISP在系統(tǒng)(線)可編程邏輯器件按編程工藝分為:熔絲開關(guān)(一次可編程,規(guī)定大電流)可編程低阻電路元件(多次編程,規(guī)定中電壓)EPROM型(紫外線擦除電可編程邏輯器件)EPROM型(電可擦寫編程器件)基于SRAM的編程元件VHDL程序設(shè)計(jì)中常用的庫有那些?哪些庫是顯式(默認(rèn)打開的)的,哪些是隱式的?P159VHDL程序設(shè)計(jì)的常用庫:IEEE庫、STD庫、WORK庫、VITAL庫、用戶定義庫。顯示庫:IEEE庫用戶定義庫VITAL庫隱式庫:、STD庫、WORK庫程序包由那兩部分組成?分別有什么作用?P161程序包由兩部分組成:程序包首和程序包體,程序包首為程序包定義接口,聲明包中的類型、元件、函數(shù)和子程序。程序包體規(guī)定程序包的實(shí)際功能,存放說明中的函數(shù)和子程序。常用的預(yù)定義程序包有哪些?如何調(diào)用?P163常用的預(yù)定義的程序包:STD_LOGIC_1164程序包、STD_LOGIC_ARITH程序包、STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包、STANDARD和TEXTIO程序包。目前國際上較大的EDA器件制造公司有那些?ALTERA公司、LATTICE萊迪思公司、XILINX西林公司VHDL常用的預(yù)定義數(shù)據(jù)類型有哪幾種,分別在哪些程序包中?如何調(diào)用?答:布爾(BOOLEAN)數(shù)據(jù)類型,位(BIT)數(shù)據(jù)類型,位矢量(BIT_VECTOR)數(shù)據(jù)類型,字符(CHARACTER)數(shù)據(jù)類型。數(shù)據(jù)類型的轉(zhuǎn)換有哪幾種方法?P114函數(shù)轉(zhuǎn)換法、類型標(biāo)記轉(zhuǎn)換法和常數(shù)轉(zhuǎn)換法。可以構(gòu)成標(biāo)記符的字符有? 有效的字符:(1)涉及26個(gè)大小寫英文字母,數(shù)字0~9以及下劃線“_”。(2)任何標(biāo)記符必須以英文字母開頭。(3)必須是單一下劃線“_”,且其前后都必須有英文字母或數(shù)字。(3)標(biāo)記符中的英文字母不分大小寫。(4)允許包含圖形符號(hào)(如回車符、換行符等),也允許包含空格符。(5)VHDL的保存字不能用于作為標(biāo)記符使用。可編程器件(PLD)分為哪兩類?答:根據(jù)編程特性分為一次編程和反復(fù)編程兩類標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型常用的數(shù)值有哪幾種?‘U’--未初始化的,‘X’--強(qiáng)未知的,‘0’--強(qiáng)0,‘1’--強(qiáng)1,‘Z’--高阻態(tài),‘W’--弱未知的,‘L’--弱0,‘H’--弱1,‘-’--忽略。完整的條件語句將產(chǎn)生什么電路,不完整的條件語句將產(chǎn)生什么電路?完整的條件語句將產(chǎn)生組合電路,不完整的條件語句將產(chǎn)生時(shí)序電路信號(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)程的。(5的功能是保存變化的數(shù)據(jù)和連接子元件,信號(hào)在元件的端口連接元件。變量在硬件中沒有類似的相應(yīng)關(guān)系,它們用于硬件特性的高層次建模所需要的計(jì)算中。(6)信號(hào)賦值和變量賦值分別使用不同的賦值符號(hào)“<=”和“:=”,信號(hào)類型和變量類型可以完全一致,也允許兩者之間互相賦值,但要保證兩者的類型相同。VHDL作為工業(yè)標(biāo)準(zhǔn),是由那個(gè)機(jī)構(gòu)制定并公布的。IEEE實(shí)體部分的端口模式有四個(gè)類型。
OUT單向輸出端口IN單向輸入端口INOUT輸入輸出雙向端口BUFFER反饋式雙向端口從執(zhí)行方式看VHDL的基本描述語句涉及哪兩大基本描述語句?順序語句并行語句VHDL文獻(xiàn)存盤時(shí),其主文獻(xiàn)名應(yīng)與實(shí)體名一致,擴(kuò)展名應(yīng)為什么呢?.VHD硬件描述語言(HDL)的種類很多?ABEL-HDL,AHDL,VHDL,Verilog-HDL.EDA技術(shù)的含義。EDA技術(shù)就是以計(jì)算機(jī)為工作平臺(tái)、以EDA軟件工具為開發(fā)環(huán)境、以硬件描述語言為設(shè)計(jì)語言、以ASIC(ApplicationSpecificIntegratedCircuits)為實(shí)現(xiàn)載體的電子產(chǎn)品自動(dòng)化設(shè)計(jì)的過程目前較流行的集成EDA開發(fā)環(huán)境(軟件)有那些?同 第5題簡述EDA技術(shù)的CPLD/FPGA的設(shè)計(jì)流程。寫出實(shí)體中的PORT語句結(jié)構(gòu)并說明其作用。實(shí)體端口說明的一般書寫格式如下:PORT(端口名:端口模式數(shù)據(jù)類型;...端口名:端口模式數(shù)據(jù)類型);作用:由PORT語句引導(dǎo)的端口說明語句是對(duì)一個(gè)設(shè)計(jì)實(shí)體界面的說明。端口為設(shè)計(jì)實(shí)體和外部環(huán)境的動(dòng)態(tài)通信提供通道。簡述EDA技術(shù)經(jīng)歷了那幾個(gè)發(fā)展階段。1).CAD(計(jì)算機(jī)輔助設(shè)計(jì))階段2).CAE(計(jì)算機(jī)輔助工程)階段3).ESDA(電子系統(tǒng)設(shè)計(jì)自動(dòng)化)階段寫出元件例化語句語句格式,并說明其作用。元件例化語句由兩部分組成,第一部分是對(duì)一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件,語句的功能是對(duì)待調(diào)用的元件作出調(diào)用聲明,它的最簡表達(dá)式如下所示:COMPONENT元件名ISPORT(端口名表);ENDCOMPONENT文獻(xiàn)名;元件例化語句的第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體(頂層文獻(xiàn))中元件間及端口的連接說明。語句的表達(dá)式如下:例化名:元件名PORTMAP([端口名=>]連接端口名,...);試比較圖形輸入法和文本輸入法有何優(yōu)缺陷?結(jié)構(gòu)體的語言格式與作用。ARCHITECTURE結(jié)構(gòu)體名OF實(shí)體名IS(說明語句)用來說明和定義數(shù)據(jù)對(duì)象,類型等,可省略BEGIN(功能描述語句)用來描述內(nèi)部電路功能的,不可省略ENDARCHITECTURE結(jié)構(gòu)體名;結(jié)構(gòu)體用來描述設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,即描述一個(gè)實(shí)體的功能,把設(shè)計(jì)實(shí)體的輸入和輸出之間的聯(lián)系建立起來。寫出PROCESS語句結(jié)構(gòu)的一般表達(dá)格式?PROCESS語句格式PROCESS語句的表達(dá)格式如下:[進(jìn)程標(biāo)號(hào):]PROCESS[(敏感信號(hào)參數(shù)表)][IS][進(jìn)程說明部分]BEGIN順序描述語句ENDPROCESS[進(jìn)程標(biāo)號(hào)];進(jìn)程語句的設(shè)計(jì)(或使用)要點(diǎn)?P140雖然同一結(jié)構(gòu)體中的進(jìn)程之間是并行運(yùn)營的,但同一進(jìn)程中的邏輯描述語句則是順序運(yùn)營的,因而在進(jìn)程中只能設(shè)放置順序語句。進(jìn)程的激活必須由敏感信號(hào)表中定義的任一敏感信號(hào)的變化來啟動(dòng),否則必須有一顯式的WAIT語句來激活。結(jié)構(gòu)體中多個(gè)進(jìn)程之所以能并行同步運(yùn)營,一個(gè)很重要的因素是進(jìn)程之間的通信是通過傳遞信號(hào)和共享變量值來實(shí)現(xiàn)的。進(jìn)程是重要的建模工具。進(jìn)程結(jié)構(gòu)不僅為綜合器所支持,并且進(jìn)程的建模方式將直接影響仿真和綜合結(jié)果。并行信號(hào)賦值語句有哪幾種?其語句格式為什么?簡樸信號(hào)賦值語句賦值目的<=表達(dá)式;條件信號(hào)賦值語句賦值目的<=表達(dá)式1WHEN賦值條件1ELSE表達(dá)式2WHEN賦值條件2ELSE...表達(dá)式n;3)選擇信號(hào)賦值語句的語句格式如下:WITH選擇表達(dá)式SELECT賦值目的信號(hào)<=表達(dá)式1WHEN選擇值1,表達(dá)式2WHEN選擇值2,...表達(dá)式nWHEN選擇值n;EDA技術(shù)常用的輸入方法有?原理圖輸入HDL文本輸入設(shè)計(jì)輸入的三種形式:原理圖輸入,狀態(tài)輸入,波形輸入什么是實(shí)體和結(jié)構(gòu)體,其功能是什么?實(shí)體是一個(gè)設(shè)計(jì)實(shí)體的表層設(shè)計(jì)單元,其功能是對(duì)這個(gè)設(shè)計(jì)體與外部電路進(jìn)行接口描述。它規(guī)定了設(shè)計(jì)單元的輸入輸出接口信號(hào)或引腳,是設(shè)計(jì)實(shí)體經(jīng)封裝后對(duì)外界的一個(gè)通信界面。結(jié)構(gòu)體用來描述設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,即描述一個(gè)實(shí)體的功能,把設(shè)計(jì)實(shí)體的輸入和輸出之間的聯(lián)系建立起來。MAX+pulsⅡ的原理圖輸入法、文本輸入法、波形輸入法生成的文獻(xiàn)擴(kuò)展名為?原理圖輸入法生成的文獻(xiàn)擴(kuò)展名為*.gdf文本輸入法生成的文獻(xiàn)擴(kuò)展名為*.vhd波形輸入法生成的文獻(xiàn)擴(kuò)展名為*.scfVHDL的操作符有那幾大類?每一類的操作符分別是什么?每一類操作符可以對(duì)那些數(shù)據(jù)進(jìn)行操作(運(yùn)算)? 見最后的圖VHDL操作符的優(yōu)先級(jí)?最后的圖結(jié)構(gòu)體常見的功能語句有那些?信號(hào)(SIGNA)、數(shù)據(jù)類型(TYPE)、常數(shù)(CONSTANT)、元件(COMPONENT)、函數(shù)(FUNCTION)和過程(PROCEDURE)等加以說明的語句。子程序分為那兩類,其結(jié)構(gòu)為什么。P152-153子程序涉及過程和函數(shù),涉及過程(可單獨(dú)存在,多個(gè)返回值,有輸入/出、雙向參數(shù),一般看做一種語句結(jié)構(gòu))和函數(shù)(作為語句的一部分調(diào)用,一個(gè)返回值,所有參數(shù)都是輸入?yún)?shù),看作表達(dá)式的一部分),可在VHDL的結(jié)構(gòu)體或程序包中任何位置調(diào)用子程序。VHDL的標(biāo)記符由什么構(gòu)成。.同13題CASE語句的一般形式?在使用當(dāng)中的注意事項(xiàng)。P125-126CASE語句的一般形式為:CASE表達(dá)式ISWHEN值1=>語句A;WHEN值2=>語句B;...WHENOTHERS=>語句C;ENDCASE注意事項(xiàng):(1)WHEN條件句中的選擇值或標(biāo)記符所代表的值必須在表達(dá)式的取值范圍內(nèi)。2)除非所有條件句中的選擇值能完整覆蓋CASE語句中表達(dá)式的取值,否則最后一個(gè)條件句中的選擇必須用關(guān)鍵詞OTHERS表達(dá)以上已列的所有條件句中未能列出的其它也許的取值。(3)CASE語句中的選擇值只能出現(xiàn)一次,不允許有相同選擇值的條件語句出現(xiàn)。(4)CASE語句執(zhí)行中必須選中,且只能選中所列條件語句中的一條。試著比較IF和CASE語句的差異?P127與IF語句相比,CASE語句組的程序可讀性比較好,這是由于它把條件中所有也許出現(xiàn)的情所有列出來了,可執(zhí)行條件比較清楚。并且CASE程序的執(zhí)行過程不像IF語句中那樣有一個(gè)逐項(xiàng)條件條件順序比較的過程。CASE語句中條件句的順序是不重要的,它的執(zhí)行過程更接近于并行方式。但是在一般情況下,通過綜合后,對(duì)相同的邏輯功能,CASE語句比IF語句的描述耗用更多的硬件資源,并且有的邏輯功能CASE語句無法描述,只能使用IF語句來描述.FOR循環(huán)語句的一般形式?P127FOR循環(huán)語句的一般形式為:[循環(huán)標(biāo)號(hào):]FOR循環(huán)變量IN循環(huán)次數(shù)范圍LOOP順序解決語句ENDLOOP[循環(huán)標(biāo)號(hào)];VHDL數(shù)據(jù)對(duì)象有哪幾種?P101在VHDL中,數(shù)據(jù)對(duì)象有三種(1)常量(CONSTANT)(2)變量(VARIABLE)(3)信號(hào)(SIGNAL)。變量和信號(hào)的區(qū)別?P105同18題賦值語句分哪些類,分別寫出一句賦值語句。賦值語句分為信號(hào)賦值語句和變量賦值語句。變量賦值語句和信號(hào)賦值語句的語法格式如下:變量賦值目的:=賦值源;信號(hào)賦值目的〈=賦值源;實(shí)現(xiàn)時(shí)序電路和邏輯組合電路分別用什么語句實(shí)現(xiàn),分別寫出他們的一般表式。完整的條件語句將產(chǎn)生組合電路,不完整的條件語句將產(chǎn)生時(shí)序電路完整的條件語句格式:49、寫出實(shí)體、結(jié)構(gòu)體的一般語句結(jié)構(gòu)并說明其作用。50、簡述VHDL中順序語句有哪些?1、賦值語句2、轉(zhuǎn)向控制語句3.WAIT語句4、子程序調(diào)用語句5、返回語句6、NULL語句7.其他語句51、簡述VHDL中并行語句有哪些?1、進(jìn)程語句2、并行信號(hào)賦值語句3、塊語句結(jié)構(gòu)(BLOCK)4、并行過程調(diào)用語句5、元件例化語句6、生成語句52、試寫出三種IF語句的語句結(jié)構(gòu)。IF語句是一種條件語句,它根據(jù)語句中所設(shè)立的一種或多種條件,有選擇地執(zhí)行指定的順序語句,常見的IF語句有以下3種形式。(1)
IF條件THEN語句ENDIF;(2)
IF條件THEN語句ELSE語句ENDIF;(3)
IF條件THEN語句ELSIF條件THEN語句ELSE語句ENDIF;53轉(zhuǎn)向控制語句有哪幾種?P123轉(zhuǎn)向控制語句共有五種:(1)IF語句(2)CASE語句(3)LOOP語句(4)next語句(5)exit語句54什么是重載操作符?常用的重載操作符定義在那個(gè)程序包中?為了方便各種不同數(shù)據(jù)類型間的運(yùn)算,VHDL允許用戶對(duì)原有的基本操作符重新定義,賦予新的含義和功能,從而建立一種新的操作符,這就是重載操作符。常用的重載操作符程序包:STD_LOGIC_UNSIGNED、STD_LOGIC_ARITH、STD_LOGIC_SIGNED55什么是重載函數(shù),什么是重載過程同樣名稱的函數(shù)可以用不同的數(shù)據(jù)類型作為此函數(shù)的參數(shù)定義多次,以此定義的函數(shù)稱為重載函數(shù)56VHDL設(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)程、輔助進(jìn)程等幾個(gè)部分。58VHDL的描述風(fēng)格有哪幾種?行為描述、數(shù)據(jù)流描述和結(jié)構(gòu)描述第四章習(xí)題答案2VHDL的基本結(jié)構(gòu)是什么?各部分的功能分別是什么?答:參考課本77頁,最下面一段。4、寫出3輸入與非門的實(shí)體描述。ENTITYnand_3ISPORT(a,b,c:INSTD_LOGIC);q:OUTSTD_LOGIC);ENDnand_3;5、例4-1是2選1的多路選擇器的VHDL描述,在結(jié)構(gòu)體的描述中使用了“WHEN-ELSE”語句,但也可以用其他語句來進(jìn)行描述,試描述之。用IF語句描述:ENTITYmux21a IS PORT (a,b: IN BIT; s: IN BIT; q: OUT BIT);ENDmux21a;ARCHITECTUREoneOFmux21aISBEGIN PROCESS(a,b,s) BEGIN IFs='0'THEN q<=a; ELSE q<=b; ENDIF; ENDPROCESS;ENDone;6、試寫出4選1多路選擇器的VHDL描述。選擇控制信號(hào)為s1和s0,輸入信號(hào)為a,b,c,d,輸出信號(hào)為y。也可以參考P125頁,例5-9那樣使用IF語句LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4_1IS PORT(a,b,c,d,s0,s1:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDmux4_1;ARCHITECTUREbehaveOFmux4_1IS SIGNALsel:STD_LOGIC_VECTOR(1DOWNTO0);BEGIN sel<=s1&s0; PROCESS(sel,a,b,c,d) BEGIN CASEselIS WHEN"00"=>y<=a; WHEN"01"=>y<=b; WHEN"10"=>y<=c; WHEN"11"=>y<=d;WHENothers=>null; ENDCASE; ENDPROCESS;ENDbehave;7.試給出1位全減器的VHDL描述,規(guī)定一方面設(shè)計(jì)1位半減器,然后用例化語句將它們連接起來。設(shè)x為被減數(shù),y為減數(shù),sub_in是借位輸入,diff是輸出差,sub_out是借位輸出。--半減器描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_subIS PORT(a,b:INSTD_LOGIC; co,so:OUTSTD_LOGIC);ENDENTITYh_sub;ARCHITECTUREfh1OFh_subISBEGIN so<=aXORb;co<=NOTaANDb;ENDARCHITECTUREfh1;--或門描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYor2aIS PORT(a,b:INSTD_LOGIC; c:OUTSTD_LOGIC);ENDENTITYor2a;ARCHITECTUREoneOFor2aISBEGIN c<=aORb;ENDARCHITECTUREone;--全減器描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYf_sub1IS PORT(x,y,sub_in:INSTD_LOGIC; sub_out,diff:OUTSTD_LOGIC);ENDENTITYf_sub1;ARCHITECTUREstrlOFf_sub1IS COMPONENTh_sub PORT(a,b:INSTD_LOGIC; co,so:OUTSTD_LOGIC); ENDCOMPONENT; COMPONENTor2a PORT(a,b:INSTD_LOGIC; c:OUTSTD_LOGIC); ENDCOMPONENT; SIGNALd,e,f:STD_LOGIC;BEGIN u1:h_subPORTMAP(x,y,d,e); u2:h_subPORTMAP(e,sub_in,f,diff); u3:or2aPORTMAP(d,f,sub_out);ENDARCHITECTUREstrl;第五章5-1.試說明實(shí)體端口模式BUFFER和INOUT的不同之處?答:BUFFER端口:緩沖模式,具有讀功能的輸出模式,即信號(hào)輸出到實(shí)體外部,但同時(shí)也在內(nèi)部反饋使用,不允許作為雙向端口使用。而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.說明下列各定義的意義:答SIGNALa,b,c:BIT:=’0’;--定義3個(gè)位數(shù)據(jù)類型的信號(hào)a、b、c,它們?nèi)≈禐?;CONSTANTTIME1,TIME2:TIME:20ns;--定義2個(gè)時(shí)間數(shù)據(jù)類型的常量TIME1、TIME2,它們值為20ns;VARIABLEx,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ì)原有的基本操作符重新定義,賦予新的含義和功能,從而建立一種新的操作符,這就是重載操作符,定義這種操作符的函數(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_LOGIC_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)注意以下問題:eq\o\ac(○,1)已列出敏感信號(hào)的進(jìn)程中不能使用任何形式的WAIT語句;eq\o\ac(○,2)一般情況下,只有WAITUNTIL格式的等待語句可以被綜合器所接受,其余語句格式只能在VHDL仿真器中使用;eq\o\ac(○,3)在使用WAITON語句的進(jìn)程中,敏感信號(hào)量應(yīng)寫在進(jìn)程中的WAITON語句后面;eq\o\ac(○,4)在不使用WAITON語句的進(jìn)程中,敏感信號(hào)量應(yīng)在開頭的關(guān)鍵詞PROCESS后面的敏感信號(hào)表中列出。5-8.哪些情況下需用到程序包STD_LOGIC_UNSIGNED?試舉一例。答:eq\o\ac(○,1)調(diào)用數(shù)據(jù)類型變換函數(shù)或重載運(yùn)算符函數(shù)時(shí);eq\o\ac(○,2)定義UNSIGNED類型的數(shù)據(jù)時(shí)。舉例如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;··IFtemp="11111111"THENtemp:="00000000";ELSEtemp:=temp+16;ENDIF;···5-9.為什么說一條并行賦值語句可以等效為一個(gè)進(jìn)程?假如是這樣的話,如何實(shí)現(xiàn)敏感信號(hào)的檢測?答:由于信號(hào)賦值語句的共同點(diǎn)是賦值目的必須都是信號(hào),所有賦值語句與其它并行語句同樣,在結(jié)構(gòu)體內(nèi)的執(zhí)行是同時(shí)發(fā)生的,與它們的書寫順序沒有關(guān)系,所以每一信號(hào)賦值語句都相稱于一條縮寫的進(jìn)程語句。由于這條語句的所有輸入信號(hào)都被隱性地列入此縮寫進(jìn)程的敏感信號(hào)表中,故任何信號(hào)的變化都將相關(guān)并行語句的賦值操作,這樣就實(shí)現(xiàn)了敏感信號(hào)的檢測。5-10.比較CASE語句和WITH_SELECT語句,敘述它們的異同點(diǎn)?答:相同點(diǎn):CASE語句中各子句的條件不能有重疊,必須包容所有的條件;WITH_SECLECT語句也不允許選擇值有重疊現(xiàn)象,也不允許選擇值涵蓋不全的情況。此外,兩者對(duì)子句各選擇值的測試都具有同步性,都依賴于敏感信號(hào)的變化。不同點(diǎn):CASE語句只能在進(jìn)程中使用,至少包含一個(gè)條件語句,可以有多個(gè)賦值目的;WITH_SECLECT語句根據(jù)滿足的條件,對(duì)信號(hào)進(jìn)行賦值,其賦值目的只有一個(gè),且必須是信號(hào)。5-11.將以下程序段轉(zhuǎn)換為WHEN_ELSE語句:PROCESS(a,b,c,d)BEGINIFa=’0’ANDb=’1’THENNEXT1<="1101";ELSEIFa=’0’THENNEXT1<=d;ELSEIFb=’1’THENNEXT1<=c;ELSENEXT1<="1011";ENDIF;ENDPROCESS;原程序轉(zhuǎn)換如下:ARCHITECTUREoneOFmuxISBEGINNEXT1<="1101"WHENa=’0’ANDb=’1’ELSEdWHENa=’0’ELSEcWHENb=’1’ELSE"1011";ENDone;ENDPROCESS;5-12試給出一位全減器的算法描述、數(shù)據(jù)流描述、結(jié)構(gòu)描述和混合描述。行為(算法)描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYf_subIS PORT(x,y,sub_in:INSTD_LOGIC; sub_out,diff:OUTSTD_LOGIC);ENDf_sub;ARCHITECTUREbhvOFf_subIS SIGNALtmp:STD_LOGIC_VECTOR(2DOWNTO0);BEGINtmp<=x&y&sub_in;PROCESS(tmp)BEGINCASEtmpISWHEN"000"=>diff<='0';sub_out<='0';WHEN"001"=>diff<='1';sub_out<='1';WHEN"010"=>diff<='1';sub_out<='1';WHEN"011"=>diff<='0';sub_out<='1';WHEN"100"=>diff<='1';sub_out<='0';WHEN"101"=>diff<='0';sub_out<='0';WHEN"110"=>diff<='0';sub_out<='0';WHEN"111"=>diff<='1';sub_out<='1';WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDbhv;數(shù)據(jù)流描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYf_subIS PORT(x,y,sub_in:INSTD_LOGIC; sub_out,diff:OUTSTD_LOGIC);ENDf_sub;ARCHITECTURErtlOFf_subIS BEGINdiff<=xXORyXORsub_in;sub_out<=(NOTxANDy)OR((xXNORy)ANDsub_in);ENDrtl;結(jié)構(gòu)描述:LIBRARYIEEE;--半減器USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_subIS PORT(a,b:INSTD_LOGIC; co,so:OUTSTD_LOGIC);ENDh_sub;ARCHITECTUREfh1OFh_subISBEGINso<=aXORb;co<=NOTaANDb;ENDfh1;LIBRARYIEEE;--或門描述USEIEEE.STD_LOGIC_1164.ALL;ENTITYor2aIS PORT(a,b:INSTD_LOGIC; c:OUTSTD_LOGIC);ENDor2a;ARCHITECTUREoneOFor2aISBEGIN c<=aORb;ENDone;LIBRARYIEEE;--全減器描述USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYf_sub1ISPORT(x,y,sub_in:INSTD_LOGIC;sub_out,diff:OUTSTD_LOGIC);ENDf_sub1;ARCHITECTUREstrlOFf_sub1ISCOMPONENTh_sub PORT(a,b:INSTD_LOGIC; co,so:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTor2a PORT(a,b:INSTD_LOGIC; c:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALd,e,f:STD_LOGIC;BEGINu1:h_subPORTMAP(x,y,d,e);u2:h_subPORTMAP(e,sub_in,f,diff);u3:or2aPORTMAP(d,f,sub_out);ENDstrl;5-13用VHDL描述下列器件的功能:(1)十進(jìn)制—BCD碼編碼器,輸出使能為低電平有效。libraryieee;useieee.std_logic_1164.all;entitybin_bcdisport(bin:inintegerrange0to20;ena:instd_logic;BCD_out:outstd_logic_vector(7downto0));end;architectureaofbin_bcdisbeginBinary_BCD:BlockBEGIN BCD_out<= "00000000"WHENBIN=0ELSE "00000001"WHENBIN=1ELSE "00000010"WHENBIN=2ELSE "00000011"WHENBIN=3ELSE "00000100"WHENBIN=4ELSE "00000101"WHENBIN=5ELSE "00000110"WHENBIN=6ELSE "00000111"WHENBIN=7ELSE "00001000"WHENBIN=8ELSE "00001001"WHENBIN=9ELSE "00010000"WHENBIN=10ELSE "00010001"WHENBIN=11ELSE "00010010"WHENBIN=12ELSE "00010011"WHENBIN=13ELSE "00010100"WHENBIN=14ELSE "00010101"WHENBIN=15ELSE "00010110"WHENBIN=16ELSE "00010111"WHENBIN=17ELSE "00011000"WHENBIN=18ELSE "00011001"WHENBIN=19ELSE "00100000"WHENBIN=20ELSE"00000000";endblock;enda;(2)時(shí)鐘(可控)RS觸發(fā)器。LIBRARYIEEE;USEIEEE.std_logic_1164.ALL;ENTITYffrsISPORT(s,r:INstd_logic; q,qb:OUTstd_logic);ENDffrs;ARCHITECTURErtlOFffrsIS SIGNALqn,nqn:std_logic;BEGIN qn<=rNORnqn; nqn<=sNORqn; q<=qn; qb<=nqn;ENDrtl;(3)帶復(fù)位端、置位端、延遲為15ns的響應(yīng)CP下降沿觸發(fā)的JK觸發(fā)器。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityjkffisport(j,k,rst,clr:INbit;clk:inbit;q,nq:outbit);end;architectureaofjkffissignalq_s,nq_s:bit;beginprocess(j,k,rst,clr,clk)beginifrst='1'thenq_s<='1';nq_s<='0';elsifclk'eventandclk='0'thenifclr='1'thenq_s<='0';nq_s<='1';elsifj='0'andk='1'thenq_s<='0';nq_s<='1';elsifj='1'andk='0'thenq_s<='1';nq_s<='0';elsifj='1'andk='1'thenq_s<=notq_s;nq_s<=notnq_s;endif;elsenull;endif;q<=q_s;nq<=nq_s;endprocess;enda;(4)集成計(jì)數(shù)器74161Libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt4isport(clk,LDN,CLRN:instd_logic;d,c,b,a:instd_logic;carry:outstd_logic;qd,qc,qb,qa:outstd_logic);end;architectureaofcnt4issignaldata_in:std_logic_vector(3downto0);begindata_in<=d&c&b&a;process(data_in,clk,ldn,clrn)variablecnt:std_logic_vector(3downto0);beginifclrn='0'thencnt:=(others=>'0');elsifclk'eventandclk='1'thenifldn='0'thencnt:=data_in;elsecnt:=cnt+1;endif;endif;casecntiswhen"1111"=>carry<='1';whenothers=>carry<='0';endcase;qa<=cnt(0);qb<=cnt(1);qc<=cnt(2);qd<=cnt(3);endprocess;enda;程序2LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYS_C74161IS PORT(clk,ldn,clrn,enp,ent:INSTD_LOGIC;din:INSTD_LOGIC_VECTOR(3DOWNTO0);q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);rco:OUTSTD_LOGIC);ENDS_C74161;ARCHITECTUREbehavOFS_C74161IS SIGNALq1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(clk,clrn)BEGINIFclrn=‘0'THEN q1<="0000";ELSIF(clk'EVENTANDclk='1')THENIFldn=‘0'THENq1<=din;ELSIF(enp=‘1’andent=‘1’)THENq1<=q1+1;ENDIF;ENDIF; q<=q1;ENDPROCESS;rco<=q1(3)andq1(2)andq1(1)andq1(0)andent;ENDbehav;(5)集成移位寄存器74194LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYS_R74194IS PORT(clrn,clk,slsi,srsi:INSTD_LOGIC;din:INSTD_LOGIC_VECTOR(3DOWNTO0);ss:INSTD_LOGIC_VECTOR(1DOWNTO0); q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDS_R74194;ARCHITECTUREbhvOFS_R74194IS SIGNALq1:STD_LOGIC_VECTOR(3DOWNTO0);BEGIN PROCESS(clk,clrn) BEGINIF(clrn='0')THENq1<="0000";ELSIF(clk'EVENTANDclk='1')THENIF(ss="11")THEN q1<=din;ELSIF(ss="01")THENq1<=srsi&q1(3downto1);ELSIF(ss="10")THENq1<=q1(2downto0)&slsi;ENDIF; ENDIF;q<=q1; ENDPROCESS;ENDbhv;5-14用VHDL描述一個(gè)三態(tài)輸出的雙4選一的數(shù)據(jù)選擇器,其地址信號(hào)共用,且各有一個(gè)低電平有效的使能端。答:程序1,使用兩個(gè)并行關(guān)系的選擇信號(hào)賦值語句libraryieee;useieee.std_logic_1164.all;entitydual_mux_41isport(a,b,c,d:instd_logic;ena_n,enb_n:instd_logic;s:instd_logic_vector(1downto0);outa,outb:outstd_logic);end;architectureaofdual_mux_41issignalp,q:std_logic_vector(2downto0);beginp<=ena_n&s;q<=enb_n&s;withpselectouta<=awhen"000",bwhen"001",cwhen"010",dwhen"011",'Z'whenothers;withqselectoutb<=awhen"000",bwhen"001",cwhen"010",dwhen"011",'Z'whenothers;enda;答:另一個(gè)程序2,使用兩個(gè)進(jìn)程實(shí)現(xiàn)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmuxkIS PORT(a,b:INSTD_LOGIC_VECTOR(3DOWNTO0);sel:INSTD_LOGIC_VECTOR(1DOWNTO0);en1,en2:INSTD_LOGIC; q1,q2:OUTSTD_LOGIC);ENDmuxk;Architecturebhvofmuxkisbeginprocess(en1,sel,a)beginif(en1='0') thencaseseliswhen"00"=>q1<=a(0);when"01"=>q1<=a(1);when"10"=>q1<=a(2);when"11"=>q1<=a(3);whenothers=>null; endcase;elseq1<='Z';ENDIF;Endprocess;process(en2,sel,b)beginif(en2='0') thencaseseliswhen"00"=>q2<=b(0);when"01"=>q2<=b(1);when"10"=>q2<=b(2);when"11"=>q2<=b(3);whenothers=>null; endcase;elseq2<='Z';ENDIF; Endprocess;Endbhv;5-15.試用并行信號(hào)賦值語句分別描述下列器件的功能:(1)3-8譯碼器答:功能描述如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder38ISPORT(a,b,c,g1,g1a,a2b:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDdecoder38;ARCHITECTUREbehave38OFdecoder38ISSIGNALinda:STD_LOGIC_VECTOR(2DOWNTO0);BEGINinda<=c&b&a;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1'ANDg2a='0'ANDg2b='0')THENCASEindaISWHEN"000"=>q<="11111110";WHEN"001"=>q<="11111101";WHEN"010"=>q<="11111011";WHEN"011"=>q<="11110111";WHEN"100"=>q<="11101111";WHEN"1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 變電站值班員專業(yè)(理論)試題庫與參考答案
- 2025年LNG工藝包及裝置項(xiàng)目合作計(jì)劃書
- 2025年電熱設(shè)備:電熱管項(xiàng)目建議書
- 中圖版高中地理選擇性必修1第四章第一節(jié)陸地水體及其關(guān)系課件
- 2025年貨廂后蓋項(xiàng)目合作計(jì)劃書
- 試談銷售關(guān)系技巧
- 渠道成員管理備份營銷文件報(bào)告
- 肺炎病人護(hù)理查房流程
- 諸時(shí)健創(chuàng)業(yè)的故事
- 總務(wù)科科長述職報(bào)告
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開大學(xué))爾雅章節(jié)測試網(wǎng)課答案
- 《勞動(dòng)工具的改進(jìn)設(shè)計(jì)》六年級(jí)綜合實(shí)踐課件
- TDT1055-2019第三次全國國土調(diào)查技術(shù)規(guī)程
- 【MOOC】電工學(xué)-中原工學(xué)院 中國大學(xué)慕課MOOC答案
- 濫用抗生素現(xiàn)狀及危害課件
- 2021年河南公務(wù)員行測考試真題及答案
- 廣告安裝施工及方案
- 應(yīng)急第一響應(yīng)人理論考試試卷(含答案)
- 2024年海南省公務(wù)員錄用考試《行測》試題及答案解析
- 《預(yù)防未成年人犯罪》課件(圖文)
- 上下級(jí)關(guān)系與領(lǐng)導(dǎo)力管理制度
評(píng)論
0/150
提交評(píng)論