




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、主要知識點(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 *.scf4、基于MAX+PLUS2的設(shè)計(jì)流程設(shè)計(jì)輸入、編譯處理、驗(yàn)證(包括功能仿真、時(shí)序仿真、
2、 和定時(shí)分析)和器件編程5、目前較流行的EDA設(shè)計(jì)軟件有那些?ALTERA 公司:MAX+PLUS IIQUARTUS II (全新的EDA軟件,正在逐步替代MAX+PLUS)LATTICE 萊迪思公司:isp EXPERT SYSTEMisp DesignExpert SYSTEMXILINX 西林公司:FOUNDATIONISE (全新的EDA軟件,正在逐步替代FOUNDATION)6、可編程邏輯器件的分類?按照變成工藝分哪些類?SPLD簡單可編程邏輯器件CPLD復(fù)雜可編程邏輯器件FPGA現(xiàn)場可編程門陣列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í)際功能,存放說明中的 函數(shù)和子程序。
4、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)識符的字符有?有效的字符:(1)包括26個(gè)大小寫英文字母,數(shù)字 0 9以及下劃線“_”。(2)任何標(biāo)識符必須以英文字母開頭。(3)必須是單一下劃線“ _”且其前后都必須有英文字母或數(shù)字。(3)標(biāo)識符中的英文字母不分大小寫。(4)允許包含圖形符號(如回車符、換行符等),也允許包含空格符。(5) VHDL的保留字 不能用于作為標(biāo)識符使用。14、 可編程器件(PLD)分為哪兩類?答:根據(jù)編程特性分為一次編程和重復(fù)編程兩類15、標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型常用的數(shù)值有哪幾種?U'-未初始化的,X
6、9;-強(qiáng)未知的,0'-強(qiáng)0, T-強(qiáng)1, Z'-高阻態(tài),W'-弱未知的,L'-弱 0, H'-弱 1,-''- 忽略。16、 完整的條件語句將產(chǎn)生什么電路,不完整的條件語句將產(chǎn)生什么電路?完整的條件語句將產(chǎn)生組合電路,不完整的條件語句將產(chǎn)生時(shí)序電路17、信號和變量有什么區(qū)別? P121(1 )信號賦值至少有 5延時(shí),而變量賦值沒有延時(shí)。(2)信號除當(dāng)前值外有許多相關(guān)的信息,而變量只有當(dāng)前值。(3)進(jìn)程對信號敏感而對變量不敏感。(4)信號可以是多個(gè)進(jìn)程的全 局信號;而變量只在定義它們的 順序域可見(共享變量除外)。(5)信號是硬件中連線的抽
7、象描述,它們的功能是保存變化的數(shù) 據(jù)和連接子元件,信號在元件的端口連接元件。變量在硬件中沒有類似的對應(yīng)關(guān)系,它們用于硬件特性的高層次建模所需要 的計(jì)算中。(6) 信號賦值和變量賦值分別使用不同的賦值符號“ <=”和 “:=”,信號類型和變量類型可以完全一致,也允許兩者之間相互賦值,但要保證兩者的類型相同。18、VHDL作為工業(yè)標(biāo)準(zhǔn),是由那個(gè)機(jī)構(gòu)制定并公布的。IEEE19、實(shí)體部分的端口模式有四個(gè)類型。OUT 單向輸出端口I N單向輸入端口I NOUT輸入輸出雙向端口BUFFER反饋式雙向端口20、從執(zhí)行方式看VHDL的基本描述語句包括哪兩大基本描述 語句?順序語句并行語句21、VHDL文
8、件存盤時(shí),其主文件名應(yīng)與實(shí)體名一致,擴(kuò)展名 應(yīng)為什么呢?.VHD22、硬件描述語言(HDL)的種類很多?ABEL-HDL,AHDL,VHDL,Verilog-HDL.23、EDA技術(shù)的含義。EDA技術(shù)就是以計(jì)算機(jī)為工作平臺、以EDA軟件工具為開發(fā)環(huán)境、以硬件描述語言為設(shè)計(jì)語言、以ASIC(ApplicationSpecific Integrated Circuits)為實(shí)現(xiàn)載體的電子產(chǎn)品自動(dòng)化設(shè)計(jì) 的過程24、目前較流行的集成 EDA開發(fā)環(huán)境(軟件)有那些?25、同第5題簡述EDA技術(shù)的CPLD/FPGA的設(shè)計(jì)流程。26、FKA t. PLD' FPGArCPLD$ VWL '
9、佶真器/寫出實(shí)體中的PORT語句結(jié)構(gòu)并說明其作用。實(shí)體端口說明的一般書寫格式如下:PORT端 口名:端口模式 數(shù)據(jù)類型;端口名:端口模式數(shù)據(jù)類型);作用:由PORT語句引導(dǎo)的端口說明語句是對一個(gè)設(shè)計(jì)實(shí)體界 面的說明。端口為設(shè)計(jì)實(shí)體和外部環(huán)境的動(dòng)態(tài)通信提供通道。27、簡述EDA技術(shù)經(jīng)歷了那幾個(gè)發(fā)展階段。1). CAD (計(jì)算機(jī)輔助設(shè)計(jì))階段22). CAE(計(jì)算機(jī)輔助工程)階段3). ESDA (電子系統(tǒng)設(shè)計(jì)自動(dòng)化)階段28、寫出元件例化語句語句格式,并說明其作用。元件例化語句由兩部分組成,第一部分是對一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件,語句的功能是對待調(diào)用的元件作出調(diào) 用聲明,它的最簡表達(dá)式如下
10、所示:COMPONENT 元件名 ISPORT (端口名表);END COMPONENT 文件名;元件例化語句的第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體(頂層文件)中元件間及端口的連接說明。語句的表達(dá)式如下:例化名:元件名 PORT MAP(端口名 =>連 接端口名,.);29、試比較圖形輸入法和文本輸入法有何優(yōu)缺點(diǎn)?30、結(jié)構(gòu)體的語言格式與作用。ARCHITECTURE結(jié)構(gòu)體名OF實(shí)體名IS(說明語句)用來說明和定義數(shù)據(jù)對象,類型等 ,可省略BEGIN(功能描述語句)用來描述部電路功能的,不可省略END ARCHITECTURE 結(jié)構(gòu)體名;結(jié)構(gòu)體用來描述設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,即描述一個(gè)實(shí)體的功
11、能,把設(shè)計(jì)實(shí)體的輸入和輸岀之間的聯(lián)系建立起來。31、寫出PROCESS語句結(jié)構(gòu)的一般表達(dá)格式?PROCESS語句格式PROCESS語句的表達(dá)格式如下:進(jìn)程標(biāo)號:PROCESS(敏感信號參數(shù)表)IS進(jìn)程說明部分BEGIN順序描述語句END PROCESS:進(jìn)程標(biā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)程的激活必須由敏感信號表中定義的任一敏感信 號的變化來啟動(dòng),否則必須有一顯式的WAIT語句來激活。(3)結(jié)構(gòu)體中多個(gè)進(jìn)程之所以能并行同步運(yùn)行,一個(gè)很 重要
12、的原因是進(jìn)程之間的通信是通過傳遞信號和共享變量值來 實(shí)現(xiàn)的。(4 )進(jìn)程是重要的建模工具。進(jìn)程結(jié)構(gòu)不但為綜合器所 支持,而且進(jìn)程的建模方式將直接影響仿真和綜合結(jié)果。33、并行信號賦值語句有哪幾種?其語句格式為何?1) 簡單信號賦值語句賦值目標(biāo) <=表達(dá)式;2)條件信號賦值語句賦值目標(biāo) <=表達(dá)式1 WHEN賦值條件1 ELSE 表達(dá)式2 WHEN賦值條件2 ELSE表達(dá)式n ;3)選擇信號賦值語句的語句格式如下:WITH選擇表達(dá)式SELECT賦值目標(biāo)信號 <=表達(dá)式1 WHEN選擇值1, 表達(dá)式2 WHEN選擇值2,表達(dá)式n WHEN 選擇值n;34、EDA技術(shù)常用的輸入方法
13、有?原理圖輸入 HDL文本輸入eda設(shè)計(jì)輸入的三種形式:原理圖輸入,狀態(tài)輸入,波形輸入35、什么是實(shí)體和結(jié)構(gòu)體,其功能是什么?實(shí)體是一個(gè)設(shè)計(jì)實(shí)體的表層設(shè)計(jì)單元,其功能是對這個(gè) 設(shè)計(jì)體與外部電路進(jìn)行接口描述。它規(guī)定了設(shè)計(jì)單元的輸入輸 岀接口信號或引腳,是設(shè)計(jì)實(shí)體經(jīng)封裝后對外界的一個(gè)通信界 面。結(jié)構(gòu)體用來描述設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,即描述一個(gè)實(shí)體 的功能,把設(shè)計(jì)實(shí)體的輸入和輸岀之間的聯(lián)系建立起來。36、MAX+puls H的原理圖輸入法、文本輸入法、波形輸入法生成的文件擴(kuò)展名為?原理圖輸入法生成的文件擴(kuò)展名為 *.gdf 文本輸入法生成的文件擴(kuò)展名為 *.vhd 波形輸入法生成的文件擴(kuò)展名為 *.s
14、cf37、VHDL的操作符有那幾大類?每一類的操作符分別是什么?每一類操作符可以對那些數(shù)據(jù)進(jìn)行操作(運(yùn)算)?見最后的圖38、VHDL操作符的優(yōu)先級?最后的圖39、結(jié)構(gòu)體常見的功能語句有那些?信號(SIGNA)、數(shù)據(jù)類型(TYPE)、常數(shù)(CONSTANT)、 元件(COMPONENT)、 函數(shù)(FUNCTION)和過程(PROCEDURE等加以說明的語句。40、 子程序分為那兩類,其結(jié)構(gòu)為什么。P152-153子程序包括過程和函數(shù), 包括過程(可單獨(dú)存在,多個(gè)返回 值,有輸入/岀、雙向參數(shù),一般看做一種語句結(jié)構(gòu))和函數(shù)(作為語句的一部分調(diào)用,一個(gè)返回值,所有參數(shù)都是輸入?yún)?shù), 看作表達(dá)式的一部
15、分),可在VHDL的結(jié)構(gòu)體或程序包中任何位 置調(diào)用子程序。41、VHDL的標(biāo)識符由什么構(gòu)成。.同13題42、CASE語句的一般形式?在使用當(dāng)中的注意事項(xiàng)。P125-126CASE語句的一般形式為:CASE表達(dá)式ISWHEN值仁語句A;WHEN值2=>語句B;WHEN OTHERS=> 語句 C;END CASE注意事項(xiàng):(1) WHEN條件句中的選擇值或標(biāo)識符所代表 的值必須在表達(dá)式的取值圍。2)除非所有條件句中的選擇值能完整覆蓋CASE語句中表達(dá)式的取值,否則最后一個(gè)條件句中的選擇必須用關(guān)鍵詞OTHERS表示以上已列的所有條件句中未能列出的其它可能的 取值。(3)CASE語句中的
16、選擇值只能出現(xiàn)一次,不允許有相同 選擇值的條件語句岀現(xiàn)。(4)CASE語句執(zhí)行中必須選中,且只能選中所列條件語 句中的一條。43、試著比較IF和CASE語句的差異? P127與IF語句相比,CASE語句組的程序可讀性比較好,這是因?yàn)?它把條件中所有可能岀現(xiàn)的情全部列岀來了,可執(zhí)行條件比較 清晰。而且CASE程序的執(zhí)行過程不像IF語句中那樣有一個(gè)逐 項(xiàng)條件條件順序比較的過程。CASE語句中條件句的次序是不重 要的,它的執(zhí)行過程更接近于并行方式。但是在一般情況下, 經(jīng)過綜合后,對相同的邏輯功能,CASE語句比IF語句的描述耗用更多的硬件資源,而且有的邏輯功能CASE語句無法描述,只能使用IF語句來
17、描述.44、 FOR循環(huán)語句的一般形式? P127FOR循環(huán)語句的一般形式為:循環(huán)標(biāo)號:FOR循環(huán)變量IN循環(huán)次數(shù)圍LOOP順序處理語句END LOOP循環(huán)標(biāo)號;45、VHDL數(shù)據(jù)對象有哪幾種? P101在VHDL中,數(shù)據(jù)對象有三種 (1)常量(CONSTANT) (2)變量(VARIABLE) (3)信號(SIGNAL)。46、變量和信號的區(qū)別? P105同18題47、賦值語句分哪些類,分別寫岀一句賦值語句。賦值語句分為信號賦值語句和變量賦值語句。變量賦值語句和信號賦值語句的語法格式如下:變量賦值目標(biāo):=賦值源;信號賦值目標(biāo)=賦值源;48、 實(shí)現(xiàn)時(shí)序電路和邏輯組合電路分別用什么語句實(shí)現(xiàn),分別
18、 寫出他們的一般表式。完整的條件語句將產(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、并行信號賦值語句3、塊語句結(jié)構(gòu)(BLOCK4、寫出3輸入與非門的實(shí)體描述。4、并行過程調(diào)用語句 5、元件例化 語句6、生成語句ENTITY nand_3 IS52、試寫岀三種IF語句的語句結(jié)構(gòu)。PORT (a , b, c: IN STD_LOGIC
19、);IF語句是一種條件語句,它根據(jù)語句中所設(shè)置的一種或多q: OUT STD_LOGIC );種條件,有選擇地執(zhí)行指定的順序語句,常見的IF語句有以下END nand_3;3種形式。5、例4-1是2選1的多路選擇器的VHDL描述,在結(jié)構(gòu)體的(1)IF 條件 THEN描述中使用了“ WHEN-ELSE ”語句,但也可以用其他語句來進(jìn)行語句描述,試描述之。用IF語句描述:END IF;ENTITY mux21a IS(2)IF 條件 THENPORT(a,b: IN BIT;語句s: IN BIT;ELSEq: OUT BIT);語句END mux21a;END IF;ARCHITECTURE o
20、ne OF mux21a IS(3)IF 條件 THENBEGIN語句PROCESS (a,b,s)ELSIF 條件 THENBEGIN語句IF s='0' THENELSEqv=a;語句ELSEEND IF;q<= b;53轉(zhuǎn)向控制語句有哪幾種?P123END IF;轉(zhuǎn)向控制語句共有五種:(1) IF語句(2) CASE語句(3)END PROCESS;LOOP語句(4) next語句(5)exit語句END one;54什么是重載操作符?常用的重載操作符定義在那個(gè)6、試寫出4選1多路選擇器的VHDL描述。選擇控制信號為程序包中?s1和sO,輸入信號為a,b,c,d,輸
21、出信號為y。也可以參為了方便各種不同數(shù)據(jù)類型間的運(yùn)算,VHDL允許用戶考P125頁,例5-9那樣使用IF語句對原有的基本操作符重新定義,賦予新的含義和功能,從l_l BRARY IEEE;而建立一種新的操作符,這就是重載操作符。常用的重載USE IEEE.STD_LOGIC_1164.ALL;操作符程序包:STD_LOGIC_UNSIGNED、STD_LOGIC_ARITH、ENTITY mux4_1 ISSTD_LOGIC_SIGNEDPORT(a,b,c,d,sO,s1:IN STD_LOGIC;55什么是重載函數(shù),什么是重載過程y:OUT STD_LOGIC);同樣名稱的函數(shù)可以用不同的
22、數(shù)據(jù)類型作為此函數(shù)的參END mux4_1;數(shù)定義多次,以此定義的函數(shù)稱為重載函數(shù)ARCHITECTURE behave OF mux4_1 IS56 VHDL設(shè)計(jì)的有限狀態(tài)機(jī)從信號輸出方式上分為哪兩類?SIGNAL sel:STD_LOGIC_VECTOR(1 DOWNTO 0);主要區(qū)別是什么?BEGIN有限狀態(tài)機(jī)從信號輸出方式上分為Mealy(米立)型和sel <= s1& s0;Moore(摩爾)型兩種狀態(tài)機(jī)。?PROCESS(sel,a,b,c,d)57 一般有限狀態(tài)機(jī)的的組成有哪幾部分?BEGIN一般的狀態(tài)機(jī)通常包含說明部分、時(shí)序進(jìn)程、組合進(jìn)程、CASE sel IS
23、輔助進(jìn)程等幾個(gè)部分。WHEN "00" => y<=a;58 VHDL的描述風(fēng)格有哪幾種?WHEN "01"=> y<=b;行為描述、數(shù)據(jù)流描述和結(jié)構(gòu)描述WHEN "10"=> y<=c;第四章習(xí)題答案WHEN "11"=> y<=d;2 VHDL的基本結(jié)構(gòu)是什么?各部分的功能分別是什么?WHEN others=>null;答:參考課本77頁,最下面一段。END CASE;END PROCESS;ENTITY f_sub1 ISEND behave;7 .試給出
24、1位全減器的VHDL描述,要求首先設(shè)計(jì)1位半減 器,然后用例化語句將它們連接起來。設(shè) x為被減數(shù),y為減 數(shù),sub_in是借位輸入,diff是輸出差,sub_out是借位輸出。-半減器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY 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;
25、PORT(x,y,sub_in:IN STD_LOGIC; sub_out,diff:OUT STD_LOGIC);END ENTITY f_sub1 ;ARCHITECTURE strl OF f_sub1 ISCOMPONENT h_subPORT(a,b:IN STD_LOGIC; co,so: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_sub PORT MAP(x,y,d,
26、e);叢3.3半臧器箕值轟対 do 51Q 00 00 11 11 01 1 10 0®3.8半減器匡輯目路-或門描述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 ISBEGINc<=a OR b;END ARCHITECTURE one;-全減器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_
27、LOGIC_UNSIGNED.ALL;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端 口:緩沖模式,具有讀功能的輸出模式,即信 號輸出到實(shí)體外部,但同時(shí)也在部反饋使用,不允許作為雙向 端口使用。而INOUT端口:雙向模式,即信號的流通是雙向的 既可以對此端口賦值,也可以通過此端口讀入數(shù)據(jù)。5-2.VHDL的數(shù)據(jù)對象有哪幾種?它們之間有什么不同?答:VHDL的數(shù)據(jù)對象有三種:信號
28、、變量、常量。它們之間的的區(qū)別如下:信號賦值至少有6延時(shí),而變量和常量沒有;信號除當(dāng)前值外, 有許多相關(guān)信息,變量只有當(dāng)前值,常量的值在設(shè)計(jì)實(shí)體中始 終不變進(jìn)程對信號敏感而對變量及常量不敏感;信號可以是多 個(gè)進(jìn)程的全局信號,變量只在定義它們的順序域可見,而常量 的使用圍取決于它被定義的位置;信號是硬件連線的抽象描述 信號賦值,賦值符號<=而變量和常量的賦值符號:=。5-3.說明下列各定義的意義:答SIGNAL a , b , c : BIT :=''-定義3個(gè)位數(shù)據(jù)類型的信號 a、b、c,它們?nèi)≈禐?;CONSTANT TIME1 , TIME2 : TIME : 20n
29、s ;-定義 2 個(gè)時(shí)間數(shù)據(jù) 類型的常量TIME1、TIME2,它們值為20ns;VARIABLE x , y , z : STD_LOGIC :=''- 定義 3 個(gè)標(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ù),先要在程序包中
30、進(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)用
31、可以通過其界面 獲得多個(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)注意以下問題:O1已列岀敏感信號的進(jìn)程中不能使用任 何形式的 WAIT語句;一般情況下,只有WAIT UNTIL格式的 等待語句可以被綜合器所接受,其余語句格式只能在VHDL仿真器中使用;在使用WAIT ON語句的進(jìn)程中,敏感信號量應(yīng) 寫在進(jìn)程中的 WAIT ON語句后面;4在不使用 WAI
32、T ON語句 的進(jìn)程中,敏感信號量應(yīng)在開頭的關(guān)鍵詞PROCESS后面的敏感信號表中列岀。5-8.哪些情況下需用到程序包 STD_LOGIC_UNSIGNED?試 舉一例。答:調(diào)用數(shù)據(jù)類型變換函數(shù)或重載運(yùn)算符函數(shù)時(shí);2定義UNSIGNED類型的數(shù)據(jù)時(shí)。舉例如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;IF temp="11111111"THEN temp:= "00000000"ELSE temp:=temp+16;END IF;-5-9.為什么說一條
33、并行賦值語句可以等效為一個(gè)進(jìn)程?如 果是這樣的話,怎樣實(shí)現(xiàn)敏感信號的檢測?答:因?yàn)樾盘栙x值語句的共同點(diǎn)是賦值目標(biāo)必須都是信號,所 有賦值語句與其它并行語句一樣,在結(jié)構(gòu)體的執(zhí)行是同時(shí)發(fā)生 的,與它們的書寫順序沒有關(guān)系,所以每一信號賦值語句都相 當(dāng)于一條縮寫的進(jìn)程語句。由于這條語句的所有輸入信號都被 隱性地列入此縮寫進(jìn)程的敏感信號表中,故任何信號的變化都 將相關(guān)并行語句的賦值操作,這樣就實(shí)現(xiàn)了敏感信號的檢測。5-10.比較CASE語句和 WITH_SELECT語句,敘述它們的異同點(diǎn)?答:相同點(diǎn):CASE語句中各子句的條件不能有重疊,必須包容所有的條件;WITH_SECLECT語句也不允許選擇值有重
34、疊現(xiàn)象, 也不允許選擇值涵蓋不全的情況。另外,兩者對子句各選擇值 的測試都具有同步性,都依賴于敏感信號的變化。不同點(diǎn):CASE 語句只能在進(jìn)程中使用,至少包含一個(gè)條件語句,可以有多個(gè) 賦值目標(biāo);WITH_SECLECT語句根據(jù)滿足的條件,對信號進(jìn)行 賦值,其賦值目標(biāo)只有一個(gè),且必須是信號。5-11.將以下程序段轉(zhuǎn)換為 WHEN_ELSE語句:PROCESS (a , b ,c ,d)BEGINIF a='0'AND b= ' 'HEN NEXT1 <="1101"ELSEIF a='0'HEN NEXT1 <=d;
35、ELSEIF b='0'HEN NEXT1 <=c;ELSE NEXT1 <="1011"END IF;END PROCESS;原程序轉(zhuǎn)換如下:ARCHITECTURE one OF mux ISBEGINNEXT1 <="1101"WHEN a= 00ND b= 0 0LSEd WHEN a= 'O'ELSEc WHEN b= 1 'ELSE"1011"END one;END PROCESS;5-12試給岀一位全減器的算法描述、數(shù)據(jù)流描述、結(jié)構(gòu)描 述和混合描述。行為(算法)描
36、述l_l BRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;BEGINUSE IEEE.STD_LOGIC_UNSIGNED.ALL;sov=a XOR b;ENTITY f_sub IScov=NOT a AND b;PORT(x,y,sub_in:IN STD_LOGIC;END fh1;sub_out,diff:OUT STD_LOGIC);END f_sub ;LIBRARY IEEE;-或門描述ARCHITECTURE bhv OF f_sub ISUSE IEEE.STD_LOGIC_1164.ALL;SIGNAL tmp:STD_LOGIC_VECTO
37、R(2 DOWNTO 0);ENTITY or2a ISBEGINPORT(a,b:IN STD_LOGIC;tmpv=x&y&sub_in;c:OUT STD_LOGIC);PROCESS(tmp)END or2a;BEGINARCHITECTURE one OF or2a ISCASE tmp ISBEGINWHEN "000"=> diffv='0'sub_outv='0'cv=a OR b;WHEN "001"=> diffv='1'sub_outv='1'
38、;END one;WHEN "010"=> diffv='1'sub_outv='1'LIBRARY IEEE;-全減器描述WHEN "011"=> diffv='0'sub_outv='1'USE IEEE.STD_LOGIC_1164.ALL;WHEN "100"=> diffv='1'sub_outv='0'USE IEEE.STD_LOGIC_UNSIGNED.ALL;WHEN "101"=&g
39、t; diffv='0'sub_outv='0'ENTITY f_sub1 ISWHEN "110"=> diffv='0'sub_outv='0'PORT(x,y,sub_in:IN STD_LOGIC;WHEN "111"=> diffv='1'sub_outv='1'sub_out,diff:OUT STD_LOGIC);WHEN OTHERS=> NULL;END f_sub1 ;END CASE;ARCHITECTURE strl
40、OF f_sub1 ISEND PROCESS;END bhv ;COMPONENT h_sub數(shù)據(jù)流描述PORT(a,b:IN STD_LOGIC;LIBRARY IEEE;co,so:OUT STD_LOGIC);USE IEEE.STD_LOGIC_1164.ALL;END COMPONENT;USE IEEE.STD_LOGIC_UNSIGNED.ALL;COMPONENT or2aENTITY f_sub ISPORT(a,b:IN STD_LOGIC;PORT(x,y,sub_in:IN STD_LOGIC;c:OUT STD_LOGIC);sub_out,diff:OUT STD
41、_LOGIC);END COMPONENT;END f_sub ;SIGNAL d,e,f:STD_LOGIC;ARCHITECTURE rtl OF f_sub ISBEGINBEGINu1:h_sub PORT MAP(x,y,d,e);diffv=x XOR y XOR sub_in;u2:h_sub PORT MAP(e,sub_in,f,diff);sub_outv=(NOT x AND y )OR (x XNOR y) AND sub_in);u3:or2a PORT MAP(d,f,sub_out);END rtl ;END strl ;5-13用VHDL描述下列器件的功能:結(jié)構(gòu)
42、描述:(1 )十進(jìn)制一BCD碼編碼器,輸岀使能為低電平有效。LIBRARY IEEE;- 半減器library ieee;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_1164.all;ENTITY h_sub ISentity bin_bcd isPORT(a,b:IN STD_LOGIC;port(bin : in integer range 0 to 20;co,so:OUT STD_LOGIC);ena: in std_logic;END h_sub ;BCD_out : out std_logic_vector(7 downto 0);
43、ARCHITECTURE fh1 OF h_sub ISend;architecture a of bin_bcd isuse ieee.std_logic_1164.all;beginuse ieee.std_logic_unsigned.all;Binary_BCD : Blockentity jkff isBEGINport(BCD_out <="00000000" WHEN BIN = 0 ELSEj,k,rst,clr : IN bit;"00000001" WHEN BIN = 1 ELSEclk : in bit;"0000
44、0010" WHEN BIN = 2 ELSEq,nq : out bit"00000011" WHEN BIN = 3 ELSE);"00000100" WHEN BIN = 4 ELSEend;"00000101" WHEN BIN = 5 ELSEarchitecture a of jkff is"00000110" WHEN BIN = 6 ELSEsignal q_s,nq_s : bit;"00000111" WHEN BIN = 7 ELSEbegin"0000
45、1000" WHEN BIN = 8 ELSEprocess(j,k,rst,clr,clk)"00001001" WHEN BIN = 9 ELSEbegin"00010000" WHEN BIN = 10 ELSEif rst='1' then"00010001" WHEN BIN = 11 ELSEq_s<='1'"00010010" WHEN BIN = 12 ELSEnq _s<='0'"00010011" WHEN
46、 BIN = 13 ELSEelsif clk'event and clk='0' then"00010100" WHEN BIN = 14 ELSEif clr='1' then"00010101" WHEN BIN = 15 ELSEq_s<='0'"00010110" WHEN BIN = 16 ELSEnq _s<='1'"00010111" WHEN BIN = 17 ELSEelsif j='0' and
47、 k='1' then"00011000" WHEN BIN = 18 ELSEq_s<='0'"00011001" WHEN BIN = 19 ELSEnq _s<='1'"00100000" WHEN BIN = 20 ELSEelsif j='1' and k='0' then"00000000"q_s<='1'end block;nq _s<='0'end a;elsif
48、j='1' and k='1' then(2)時(shí)鐘(可控)RS觸發(fā)器。q_s<=not q_s;LIBRARY IEEE;nq_s<=not nq_s;USE IEEE.std_logic_1164.ALL;end if;ENTITY ffrs ISelsePORT(s,r: IN std_logic;null;q,qb: OUT std_logic);end if;END ffrs;q<=q_s;ARCHITECTURE rtl OF ffrs ISnq<=nq_s;SIGNAL qn,nqn: std_logic;end proces
49、s;BEGINend a;qn<= r NOR nqn;nqn<= s NOR qn;qv=qn;qb<=nqn;(4)集成計(jì)數(shù)器74161END rtl;Library ieee;(3)帶復(fù)位端、置位端、延遲為15ns的響應(yīng)CP下降沿觸發(fā)use ieee.std_logic_1164.all;的JK觸發(fā)器。use ieee.std_logic_unsigned.all;library ieee;entityt4 isport(SIGNAL q1: STD_LOGIC_VECTOR(3 DOWNTO 0);elk,LDN,CLRN : in std_logic;BEGINd,
50、c,b,a: in std_logic;PROCESS(clk, clrn)carry: out std_logic;BEGINqd,qc,qb,qa : out std_logicIF clrn = 0' THEN);q1 <= "0000"end;ELSIF (clk'EVENT AND clk = '1') THENarchitecture a oft4 isIF ldn= THENsignal data_in: std_logic_vector(3 downto 0);q1<=din ;beginELSIF (enp= a
51、nd ent = 1° ) THENdata_in<=d&c&b&a;q1<= q1+1;process(data_in,clk,ldn,clrn)END IF;variablet:std_logic_vector(3 downto 0);END IF;beginq<= q1;if clrn='0' thenEND PROCESS;t:=(others=>'0');rco <= q1(3) and q1(2) and q1(1) and q1(0) and ent;elsif clk'eve
52、nt and clk='1' thenEND behav;if ldn='0' then(5 )集成移位寄存器74194t:=data_in;l_l BRARY IEEE;elseUSE IEEE.STD_LOGIC_1164.ALL;t:=cnt+1;USE IEEE.STD_LOGIC_UNSIGNED.ALL;end if;ENTITY S_R74194 ISend if;PORT(clrn, clk, slsi, srsi: IN STD_LOGIC;caset isdin:IN STD_LOGIC_VECTOR(3 DOWNTO 0);when &qu
53、ot;1111"=> carry<='1'ss:IN STD_LOGIC_VECTOR(1 DOWNTO 0);when others=> carry<='0'q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);end case;END S_R74194 ;qa<=cnt(0);ARCHITECTURE bhv OF S_R74194 ISqb<=cnt(1);SIGNAL q1:STD_LOGIC_VECTOR(3 DOWNTO 0);qc<=cnt(2);BEGINqd<=cnt(3
54、);PROCESS(clk,clrn)end process;BEGINend a;IF(clrn='0')THEN程序2q1<="0000"LIBRARY IEEE;ELSIF(clk'EVENT AND clk='1')THENUSE IEEE.STD_LOGIC_1164.ALL;IF(ss="11")THENUSE IEEE.STD_LOGIC_UNSIGNED.ALL;q1<=din;ENTITY S_C74161 ISELSIF(ss="01")THENPORT(clk,
55、 ldn,clrn,enp,ent: IN STD_LOGIC;q1<=srsi&q1(3 downto 1);din:IN STD_LOGIC_VECTOR(3 DOWNTOELSIF(ss="10")THEN0);q1<=q1(2 downto 0)&slsi;q: OUT STD_LOGIC_VECTOR(3END IF;DOWNTO 0);END IF;rco: OUT STD_LOGIC );q<=q1;END S_C74161 ;END PROCESS;ARCHITECTURE behav OF S_C74161 ISEND b
56、hv;5-14用VHDL描述一個(gè)三態(tài)輸出的雙 4選一的數(shù)據(jù)選擇when"00"=>q1<=a(0);器,其地址信號共用,且各有一個(gè)低電平有效的使能端。when "01"=>q1<=a(1);答:程序1,使用兩個(gè)并行關(guān)系的選擇信號賦值語句when "10"=>q1<=a(2);library ieee;when "11"=>q1<=a (3);use ieee.std_logic_1164.all;when others=>null;entity dual_mux
57、_41 isend case;port(a,b,c,d : in std_logic;elseena_n,enb_n : in std_logic;q1<='Z's : in std_logic_vector(1 downto 0);END IF;outa,outb : out std_logic);End process;end;process (en2,sel , b )architecture a of dual_mux_41 isbeginsignal p,q : std_logic_vector(2 downto 0);if(en2='0') t
58、henbegincase sel ispv=ena_n & s;when "00"=>q2<=b(0);qv=enb_n & s;when "01"=>q2<=b(1);with p selectwhen "10"=>q2<=b (2);outa<=a when "000",when "11"=>q2<=b (3);b when "001",when others=>null;c when "
59、;010",end case;d when "011",else'Z' when others;q2<='Z'with q selectEND IF;outb<=a when "000",End process;b when "001",End bhv;c when "010",d when "011",5-15.試用并行信號賦值語句分別描述下列器件的功能:'Z' when others;(1) 3-8譯碼器end a;答:功能描述如下:LIBRARY IEEE;答:另一個(gè)程序2,使用兩個(gè)進(jìn)程實(shí)現(xiàn)USE IEEE.STD_LOGIC_1164.ALL;LIBRARY IEEE;ENTITY decoder38 ISUSE IEEE.STD_LOGIC_1164.ALL
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)一年級語文重要考點(diǎn)2025年試題及答案
- 荊門城投面試題及答案
- 第1講 光的折射 全反射-2026版大一輪高考物理復(fù)習(xí)
- 2024年二手車評估師考試的常見問題及答案
- 六年級語文專題復(fù)習(xí)資料試題及答案
- 2024-2025學(xué)年湖北省隨州市高一下學(xué)期2月聯(lián)考生物試題及答案
- 關(guān)于食品檢驗(yàn)的知識更新及質(zhì)檢員考試試題答案
- 2024年汽車美容師服務(wù)升級路徑試題及答案
- 2024年計(jì)算機(jī)基礎(chǔ)考試推理能力提升試題及答案
- 2024年統(tǒng)計(jì)學(xué)變量關(guān)系題目及答案
- 2025屆貴州省安順市高三二模語文試題
- 2025中國海洋大學(xué)輔導(dǎo)員考試題庫
- 新疆維吾爾自治區(qū)普通高職(??疲﹩握姓呓庾x與報(bào)名課件
- 2024年昆明渝潤水務(wù)有限公司招聘考試真題
- 2025-2030中國小武器和輕武器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 高中主題班會 高考勵(lì)志沖刺主題班會課件
- 中藥學(xué)電子版教材
- 市政道路電力、照明、通信管道工程施工方案方案
- 球的體積和表面積說課稿
- GB/T 30726-2014固體生物質(zhì)燃料灰熔融性測定方法
- 可吸收絲素修復(fù)膜(CQZ1900597)
評論
0/150
提交評論