




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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的描述語(yǔ)句包括那些描述語(yǔ)句?用VHDL語(yǔ)言進(jìn)行設(shè)計(jì)時(shí),按描述語(yǔ)句的執(zhí)行順序進(jìn)行分 類,可將VHDL語(yǔ)句分為順序執(zhí)行語(yǔ)句(Sequential )和并行執(zhí) 行語(yǔ)句(Parallel)。2、目前流行的硬件描述語(yǔ)言有那些?常用的硬件描述語(yǔ)言有 ABEL-HDL AHDL.VHDL和 Verilog-HDL.而VHDL和Verilog-HDL是當(dāng)前最流行的并成為 IEEE標(biāo)準(zhǔn)的硬件描述語(yǔ)言。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簡(jiǎn)單可編程邏輯器件CPLD復(fù)雜可編程邏輯器件FPGA現(xiàn)場(chǎng)可編程門陣列ISP 在系統(tǒng)(線)可編程邏輯器件按編程工藝分為:熔絲開關(guān)(一次可編程,要求大電流)可
3、編程低阻電路元件(多次編程,要求中電壓)EPROM型(紫外線擦除電可編程邏輯器件)E PROM型(電可擦寫編程器件)基于SRAM的編程元件7、VHDL程序設(shè)計(jì)中常用的庫(kù)有那些?哪些庫(kù)是顯式(默認(rèn)打開的)的,哪些是隱式的?P159VHDL程序設(shè)計(jì)的常用庫(kù):IEEE庫(kù)、STD庫(kù)、WORK庫(kù)、VITAL庫(kù)、用戶定義庫(kù)。顯示庫(kù):IEEE庫(kù)用戶定義庫(kù) VITAL庫(kù)隱式庫(kù):、STD庫(kù)、WORK庫(kù)8、 程序包由那兩部分組成?分別有什么作用?P161程序包由兩部分組成:程序包首和程序包體,程序包首為程序包定義接口,聲明包中的類型、元件、函 數(shù)和子程序。程序包體規(guī)定程序包的實(shí)際功能,存放說(shuō)明中的 函數(shù)和子程序。
4、9、常用的預(yù)定義程序包有哪些?如何調(diào)用? P163常用的預(yù)定義的程序包:STD LOGIC 1164程序包、STD_LOGIC_ARITH 程序包、STD_LOGIC_UNSIGNED 和 STD_LOGIC_SIGNED程序包、STANDARD 和 TEXTIO 程序包。10、目前國(guó)際上較大的 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ù)字 0 9以及下劃線“_”。(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
6、9;-強(qiáng)未知的,0'-強(qiáng)0, T-強(qiáng)1, Z'-高阻態(tài),W'-弱未知的,L'-弱 0, H'-弱 1,-''- 忽略。16、 完整的條件語(yǔ)句將產(chǎn)生什么電路,不完整的條件語(yǔ)句將產(chǎn)生什么電路?完整的條件語(yǔ)句將產(chǎn)生組合電路,不完整的條件語(yǔ)句將產(chǎn)生時(shí)序電路17、信號(hào)和變量有什么區(qū)別? P121(1 )信號(hào)賦值至少有 5延時(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)是硬件中連線的抽
7、象描述,它們的功能是保存變化的數(shù) 據(jù)和連接子元件,信號(hào)在元件的端口連接元件。變量在硬件中沒有類似的對(duì)應(yīng)關(guān)系,它們用于硬件特性的高層次建模所需要 的計(jì)算中。(6) 信號(hào)賦值和變量賦值分別使用不同的賦值符號(hào)“ <=”和 “:=”,信號(hào)類型和變量類型可以完全一致,也允許兩者之間相互賦值,但要保證兩者的類型相同。18、VHDL作為工業(yè)標(biāo)準(zhǔn),是由那個(gè)機(jī)構(gòu)制定并公布的。IEEE19、實(shí)體部分的端口模式有四個(gè)類型。OUT 單向輸出端口I N單向輸入端口I NOUT輸入輸出雙向端口BUFFER反饋式雙向端口20、從執(zhí)行方式看VHDL的基本描述語(yǔ)句包括哪兩大基本描述 語(yǔ)句?順序語(yǔ)句并行語(yǔ)句21、VHDL文
8、件存盤時(shí),其主文件名應(yīng)與實(shí)體名一致,擴(kuò)展名 應(yīng)為什么呢?.VHD22、硬件描述語(yǔ)言(HDL)的種類很多?ABEL-HDL,AHDL,VHDL,Verilog-HDL.23、EDA技術(shù)的含義。EDA技術(shù)就是以計(jì)算機(jī)為工作平臺(tái)、以EDA軟件工具為開發(fā)環(huán)境、以硬件描述語(yǔ)言為設(shè)計(jì)語(yǔ)言、以ASIC(ApplicationSpecific Integrated Circuits)為實(shí)現(xiàn)載體的電子產(chǎn)品自動(dòng)化設(shè)計(jì) 的過(guò)程24、目前較流行的集成 EDA開發(fā)環(huán)境(軟件)有那些?25、同第5題簡(jiǎn)述EDA技術(shù)的CPLD/FPGA的設(shè)計(jì)流程。26、FKA t. PLD' FPGArCPLD$ VWL '
9、佶真器/寫出實(shí)體中的PORT語(yǔ)句結(jié)構(gòu)并說(shuō)明其作用。實(shí)體端口說(shuō)明的一般書寫格式如下:PORT端 口名:端口模式 數(shù)據(jù)類型;端口名:端口模式數(shù)據(jù)類型);作用:由PORT語(yǔ)句引導(dǎo)的端口說(shuō)明語(yǔ)句是對(duì)一個(gè)設(shè)計(jì)實(shí)體界 面的說(shuō)明。端口為設(shè)計(jì)實(shí)體和外部環(huán)境的動(dòng)態(tài)通信提供通道。27、簡(jiǎn)述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、寫出元件例化語(yǔ)句語(yǔ)句格式,并說(shuō)明其作用。元件例化語(yǔ)句由兩部分組成,第一部分是對(duì)一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件,語(yǔ)句的功能是對(duì)待調(diào)用的元件作出調(diào) 用聲明,它的最簡(jiǎn)表達(dá)式如下
10、所示:COMPONENT 元件名 ISPORT (端口名表);END COMPONENT 文件名;元件例化語(yǔ)句的第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體(頂層文件)中元件間及端口的連接說(shuō)明。語(yǔ)句的表達(dá)式如下:例化名:元件名 PORT MAP(端口名 =>連 接端口名,.);29、試比較圖形輸入法和文本輸入法有何優(yōu)缺點(diǎn)?30、結(jié)構(gòu)體的語(yǔ)言格式與作用。ARCHITECTURE結(jié)構(gòu)體名OF實(shí)體名IS(說(shuō)明語(yǔ)句)用來(lái)說(shuō)明和定義數(shù)據(jù)對(duì)象,類型等 ,可省略BEGIN(功能描述語(yǔ)句)用來(lái)描述部電路功能的,不可省略END ARCHITECTURE 結(jié)構(gòu)體名;結(jié)構(gòu)體用來(lái)描述設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,即描述一個(gè)實(shí)體的功
11、能,把設(shè)計(jì)實(shí)體的輸入和輸岀之間的聯(lián)系建立起來(lái)。31、寫出PROCESS語(yǔ)句結(jié)構(gòu)的一般表達(dá)格式?PROCESS語(yǔ)句格式PROCESS語(yǔ)句的表達(dá)格式如下:進(jìn)程標(biāo)號(hào):PROCESS(敏感信號(hào)參數(shù)表)IS進(jìn)程說(shuō)明部分BEGIN順序描述語(yǔ)句END PROCESS:進(jìn)程標(biāo)號(hào);32、進(jìn)程語(yǔ)句的設(shè)計(jì)(或使用)要點(diǎn)? P140(1 )雖然同一結(jié)構(gòu)體中的進(jìn)程之間是并行運(yùn)行的,但同 一進(jìn)程中的邏輯描述語(yǔ)句則是順序運(yùn)行的,因而在進(jìn)程中只能 設(shè)放置順序語(yǔ)句。(2 )進(jìn)程的激活必須由敏感信號(hào)表中定義的任一敏感信 號(hào)的變化來(lái)啟動(dòng),否則必須有一顯式的WAIT語(yǔ)句來(lái)激活。(3)結(jié)構(gòu)體中多個(gè)進(jìn)程之所以能并行同步運(yùn)行,一個(gè)很 重要
12、的原因是進(jìn)程之間的通信是通過(guò)傳遞信號(hào)和共享變量值來(lái) 實(shí)現(xiàn)的。(4 )進(jìn)程是重要的建模工具。進(jìn)程結(jié)構(gòu)不但為綜合器所 支持,而且進(jìn)程的建模方式將直接影響仿真和綜合結(jié)果。33、并行信號(hào)賦值語(yǔ)句有哪幾種?其語(yǔ)句格式為何?1) 簡(jiǎn)單信號(hào)賦值語(yǔ)句賦值目標(biāo) <=表達(dá)式;2)條件信號(hào)賦值語(yǔ)句賦值目標(biāo) <=表達(dá)式1 WHEN賦值條件1 ELSE 表達(dá)式2 WHEN賦值條件2 ELSE表達(dá)式n ;3)選擇信號(hào)賦值語(yǔ)句的語(yǔ)句格式如下:WITH選擇表達(dá)式SELECT賦值目標(biāo)信號(hà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ì)單元,其功能是對(duì)這個(gè) 設(shè)計(jì)體與外部電路進(jìn)行接口描述。它規(guī)定了設(shè)計(jì)單元的輸入輸 岀接口信號(hào)或引腳,是設(shè)計(jì)實(shí)體經(jīng)封裝后對(duì)外界的一個(gè)通信界 面。結(jié)構(gòu)體用來(lái)描述設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,即描述一個(gè)實(shí)體 的功能,把設(shè)計(jì)實(shí)體的輸入和輸岀之間的聯(lián)系建立起來(lái)。36、MAX+puls H的原理圖輸入法、文本輸入法、波形輸入法生成的文件擴(kuò)展名為?原理圖輸入法生成的文件擴(kuò)展名為 *.gdf 文本輸入法生成的文件擴(kuò)展名為 *.vhd 波形輸入法生成的文件擴(kuò)展名為 *.s
14、cf37、VHDL的操作符有那幾大類?每一類的操作符分別是什么?每一類操作符可以對(duì)那些數(shù)據(jù)進(jìn)行操作(運(yùn)算)?見最后的圖38、VHDL操作符的優(yōu)先級(jí)?最后的圖39、結(jié)構(gòu)體常見的功能語(yǔ)句有那些?信號(hào)(SIGNA)、數(shù)據(jù)類型(TYPE)、常數(shù)(CONSTANT)、 元件(COMPONENT)、 函數(shù)(FUNCTION)和過(guò)程(PROCEDURE等加以說(shuō)明的語(yǔ)句。40、 子程序分為那兩類,其結(jié)構(gòu)為什么。P152-153子程序包括過(guò)程和函數(shù), 包括過(guò)程(可單獨(dú)存在,多個(gè)返回 值,有輸入/岀、雙向參數(shù),一般看做一種語(yǔ)句結(jié)構(gòu))和函數(shù)(作為語(yǔ)句的一部分調(diào)用,一個(gè)返回值,所有參數(shù)都是輸入?yún)?shù), 看作表達(dá)式的一部
15、分),可在VHDL的結(jié)構(gòu)體或程序包中任何位 置調(diào)用子程序。41、VHDL的標(biāo)識(shí)符由什么構(gòu)成。.同13題42、CASE語(yǔ)句的一般形式?在使用當(dāng)中的注意事項(xiàng)。P125-126CASE語(yǔ)句的一般形式為:CASE表達(dá)式ISWHEN值仁語(yǔ)句A;WHEN值2=>語(yǔ)句B;WHEN OTHERS=> 語(yǔ)句 C;END CASE注意事項(xiàng):(1) WHEN條件句中的選擇值或標(biāo)識(shí)符所代表 的值必須在表達(dá)式的取值圍。2)除非所有條件句中的選擇值能完整覆蓋CASE語(yǔ)句中表達(dá)式的取值,否則最后一個(gè)條件句中的選擇必須用關(guān)鍵詞OTHERS表示以上已列的所有條件句中未能列出的其它可能的 取值。(3)CASE語(yǔ)句中的
16、選擇值只能出現(xiàn)一次,不允許有相同 選擇值的條件語(yǔ)句岀現(xiàn)。(4)CASE語(yǔ)句執(zhí)行中必須選中,且只能選中所列條件語(yǔ) 句中的一條。43、試著比較IF和CASE語(yǔ)句的差異? P127與IF語(yǔ)句相比,CASE語(yǔ)句組的程序可讀性比較好,這是因?yàn)?它把條件中所有可能岀現(xiàn)的情全部列岀來(lái)了,可執(zhí)行條件比較 清晰。而且CASE程序的執(zhí)行過(guò)程不像IF語(yǔ)句中那樣有一個(gè)逐 項(xiàng)條件條件順序比較的過(guò)程。CASE語(yǔ)句中條件句的次序是不重 要的,它的執(zhí)行過(guò)程更接近于并行方式。但是在一般情況下, 經(jīng)過(guò)綜合后,對(duì)相同的邏輯功能,CASE語(yǔ)句比IF語(yǔ)句的描述耗用更多的硬件資源,而且有的邏輯功能CASE語(yǔ)句無(wú)法描述,只能使用IF語(yǔ)句來(lái)
17、描述.44、 FOR循環(huán)語(yǔ)句的一般形式? P127FOR循環(huán)語(yǔ)句的一般形式為:循環(huán)標(biāo)號(hào):FOR循環(huán)變量IN循環(huán)次數(shù)圍LOOP順序處理語(yǔ)句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、賦值語(yǔ)句分哪些類,分別寫岀一句賦值語(yǔ)句。賦值語(yǔ)句分為信號(hào)賦值語(yǔ)句和變量賦值語(yǔ)句。變量賦值語(yǔ)句和信號(hào)賦值語(yǔ)句的語(yǔ)法格式如下:變量賦值目標(biāo):=賦值源;信號(hào)賦值目標(biāo)=賦值源;48、 實(shí)現(xiàn)時(shí)序電路和邏輯組合電路分別用什么語(yǔ)句實(shí)現(xiàn),分別
18、 寫出他們的一般表式。完整的條件語(yǔ)句將產(chǎn)生組合電路, 不完整的條件語(yǔ)句將產(chǎn) 生時(shí)序電路完整的條件語(yǔ)句格式:49、寫出實(shí)體、結(jié)構(gòu)體的一般語(yǔ)句結(jié)構(gòu)并說(shuō)明其作用。50、簡(jiǎn)述VHDL中順序語(yǔ)句有哪些?1、賦值語(yǔ)句2、轉(zhuǎn)向控制語(yǔ)句 3.WAIT語(yǔ)句4、子程序調(diào)用語(yǔ)句5、返回語(yǔ)句6、 NULL語(yǔ)句7.其他語(yǔ)句51、簡(jiǎn)述VHDL中并行語(yǔ)句有哪些?1、進(jìn)程語(yǔ)句2、并行信號(hào)賦值語(yǔ)句3、塊語(yǔ)句結(jié)構(gòu)(BLOCK4、寫出3輸入與非門的實(shí)體描述。4、并行過(guò)程調(diào)用語(yǔ)句 5、元件例化 語(yǔ)句6、生成語(yǔ)句ENTITY nand_3 IS52、試寫岀三種IF語(yǔ)句的語(yǔ)句結(jié)構(gòu)。PORT (a , b, c: IN STD_LOGIC
19、);IF語(yǔ)句是一種條件語(yǔ)句,它根據(jù)語(yǔ)句中所設(shè)置的一種或多q: OUT STD_LOGIC );種條件,有選擇地執(zhí)行指定的順序語(yǔ)句,常見的IF語(yǔ)句有以下END nand_3;3種形式。5、例4-1是2選1的多路選擇器的VHDL描述,在結(jié)構(gòu)體的(1)IF 條件 THEN描述中使用了“ WHEN-ELSE ”語(yǔ)句,但也可以用其他語(yǔ)句來(lái)進(jìn)行語(yǔ)句描述,試描述之。用IF語(yǔ)句描述:END IF;ENTITY mux21a IS(2)IF 條件 THENPORT(a,b: IN BIT;語(yǔ)句s: IN BIT;ELSEq: OUT BIT);語(yǔ)句END mux21a;END IF;ARCHITECTURE o
20、ne OF mux21a IS(3)IF 條件 THENBEGIN語(yǔ)句PROCESS (a,b,s)ELSIF 條件 THENBEGIN語(yǔ)句IF s='0' THENELSEqv=a;語(yǔ)句ELSEEND IF;q<= b;53轉(zhuǎn)向控制語(yǔ)句有哪幾種?P123END IF;轉(zhuǎn)向控制語(yǔ)句共有五種:(1) IF語(yǔ)句(2) CASE語(yǔ)句(3)END PROCESS;LOOP語(yǔ)句(4) next語(yǔ)句(5)exit語(yǔ)句END one;54什么是重載操作符?常用的重載操作符定義在那個(gè)6、試寫出4選1多路選擇器的VHDL描述。選擇控制信號(hào)為程序包中?s1和sO,輸入信號(hào)為a,b,c,d,輸
21、出信號(hào)為y。也可以參為了方便各種不同數(shù)據(jù)類型間的運(yùn)算,VHDL允許用戶考P125頁(yè),例5-9那樣使用IF語(yǔ)句對(duì)原有的基本操作符重新定義,賦予新的含義和功能,從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ù),什么是重載過(guò)程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ī)從信號(hào)輸出方式上分為哪兩類?SIGNAL sel:STD_LOGIC_VECTOR(1 DOWNTO 0);主要區(qū)別是什么?BEGIN有限狀態(tài)機(jī)從信號(hào)輸出方式上分為Mealy(米立)型和sel <= s1& s0;Moore(摩爾)型兩種狀態(tài)機(jī)。?PROCESS(sel,a,b,c,d)57 一般有限狀態(tài)機(jī)的的組成有哪幾部分?BEGIN一般的狀態(tài)機(jī)通常包含說(shuō)明部分、時(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頁(yè),最下面一段。END CASE;END PROCESS;ENTITY f_sub1 ISEND behave;7 .試給出
24、1位全減器的VHDL描述,要求首先設(shè)計(jì)1位半減 器,然后用例化語(yǔ)句將它們連接起來(lái)。設(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.試說(shuō)明實(shí)體端口模式 BUFFER和INOUT的不同之處? 答:BUFFER端 口:緩沖模式,具有讀功能的輸出模式,即信 號(hào)輸出到實(shí)體外部,但同時(shí)也在部反饋使用,不允許作為雙向 端口使用。而INOUT端口:雙向模式,即信號(hào)的流通是雙向的 既可以對(duì)此端口賦值,也可以通過(guò)此端口讀入數(shù)據(jù)。5-2.VHDL的數(shù)據(jù)對(duì)象有哪幾種?它們之間有什么不同?答:VHDL的數(shù)據(jù)對(duì)象有三種:信號(hào)
28、、變量、常量。它們之間的的區(qū)別如下:信號(hào)賦值至少有6延時(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.說(shuō)明下列各定義的意義:答SIGNAL a , b , c : BIT :=''-定義3個(gè)位數(shù)據(jù)類型的信號(hào) 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允許用戶對(duì)原有的基本操作符重新定義,賦予新的含義和功能,從而建立 一種新的操作符,這就是重載操作符,定義這種操作符的函數(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è) 庫(kù)中?哪些庫(kù)和程序包總是可見的?.答:數(shù)據(jù)類型 BIT INTEGER BOOLEAN均定義在 STD庫(kù)中。 IEEE庫(kù)和程序包 STD_LOGIC.1164、STD_LOGIC_UNSIGNED STD_LOGIC_SIGNED STD_LOGIC_ARITH等總是可見的。5-6.函數(shù)和過(guò)程有什么區(qū)別?答:子程序有兩種類型,即過(guò)程(PROCEDURE和函數(shù)(FUNCTION)。它們的區(qū)別在于:過(guò)程的調(diào)用
31、可以通過(guò)其界面 獲得多個(gè)返回值,而函數(shù)只能返回一個(gè)值;在函數(shù)入口中,所 有參數(shù)都是輸入?yún)?shù),而過(guò)程有輸入?yún)?shù)、輸岀參數(shù)和雙向參 數(shù);過(guò)程一般被看作一種語(yǔ)句結(jié)構(gòu),而函數(shù)通常是表達(dá)式的一 部分;過(guò)程可以單獨(dú)存在, 而函數(shù)通常作為語(yǔ)句的一部分調(diào)用。5-7.若在進(jìn)程中加入WAIT語(yǔ)句,應(yīng)注意哪幾個(gè)方面的問題?答:應(yīng)注意以下問題:O1已列岀敏感信號(hào)的進(jìn)程中不能使用任 何形式的 WAIT語(yǔ)句;一般情況下,只有WAIT UNTIL格式的 等待語(yǔ)句可以被綜合器所接受,其余語(yǔ)句格式只能在VHDL仿真器中使用;在使用WAIT ON語(yǔ)句的進(jìn)程中,敏感信號(hào)量應(yīng) 寫在進(jìn)程中的 WAIT ON語(yǔ)句后面;4在不使用 WAI
32、T ON語(yǔ)句 的進(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í);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.為什么說(shuō)一條
33、并行賦值語(yǔ)句可以等效為一個(gè)進(jìn)程?如 果是這樣的話,怎樣實(shí)現(xiàn)敏感信號(hào)的檢測(cè)?答:因?yàn)樾盘?hào)賦值語(yǔ)句的共同點(diǎn)是賦值目標(biāo)必須都是信號(hào),所 有賦值語(yǔ)句與其它并行語(yǔ)句一樣,在結(jié)構(gòu)體的執(zhí)行是同時(shí)發(fā)生 的,與它們的書寫順序沒有關(guān)系,所以每一信號(hào)賦值語(yǔ)句都相 當(dāng)于一條縮寫的進(jìn)程語(yǔ)句。由于這條語(yǔ)句的所有輸入信號(hào)都被 隱性地列入此縮寫進(jìn)程的敏感信號(hào)表中,故任何信號(hào)的變化都 將相關(guān)并行語(yǔ)句的賦值操作,這樣就實(shí)現(xiàn)了敏感信號(hào)的檢測(cè)。5-10.比較CASE語(yǔ)句和 WITH_SELECT語(yǔ)句,敘述它們的異同點(diǎn)?答:相同點(diǎn):CASE語(yǔ)句中各子句的條件不能有重疊,必須包容所有的條件;WITH_SECLECT語(yǔ)句也不允許選擇值有重
34、疊現(xiàn)象, 也不允許選擇值涵蓋不全的情況。另外,兩者對(duì)子句各選擇值 的測(cè)試都具有同步性,都依賴于敏感信號(hào)的變化。不同點(diǎn):CASE 語(yǔ)句只能在進(jìn)程中使用,至少包含一個(gè)條件語(yǔ)句,可以有多個(gè) 賦值目標(biāo);WITH_SECLECT語(yǔ)句根據(jù)滿足的條件,對(duì)信號(hào)進(jìn)行 賦值,其賦值目標(biāo)只有一個(gè),且必須是信號(hào)。5-11.將以下程序段轉(zhuǎn)換為 WHEN_ELSE語(yǔ)句: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);器,其地址信號(hào)共用,且各有一個(gè)低電平有效的使能端。when "01"=>q1<=a(1);答:程序1,使用兩個(gè)并行關(guān)系的選擇信號(hào)賦值語(yǔ)句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.試用并行信號(hào)賦值語(yǔ)句分別描述下列器件的功能:'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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六年級(jí)上冊(cè)數(shù)學(xué)教案- 1.6圓的面積(一) 北師大版
- 合同制消防員報(bào)名表(2025年版)
- 一年級(jí)上冊(cè)數(shù)學(xué)教案-小雞吃食 10的加減法-北師大版
- 統(tǒng)編版語(yǔ)文一年級(jí)下冊(cè)第一單元1春夏秋冬 公開課一等獎(jiǎng)創(chuàng)新教案(2課時(shí))
- 2025年??诮?jīng)濟(jì)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及參考答案
- 2024年液位傳感器項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025年湖南省株洲市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
- 2025年度學(xué)校代課教師教學(xué)資源共享平臺(tái)建設(shè)合同
- 2025年度客戶信息保密外包服務(wù)合同
- 2025年度電信服務(wù)合同單方違約解除賠償倍數(shù)計(jì)算標(biāo)準(zhǔn)合同
- 骶髂關(guān)節(jié)損傷郭倩課件
- 教學(xué)課件-電力系統(tǒng)的MATLAB-SIMULINK仿真與應(yīng)用(王晶)
- GB/T 26189.2-2024工作場(chǎng)所照明第2部分:室外作業(yè)場(chǎng)所的安全保障照明要求
- 新教科版一年級(jí)科學(xué)下冊(cè)第一單元《身邊的物體》全部課件(共7課時(shí))
- 鹽城江蘇鹽城市住房和城鄉(xiāng)建設(shè)局直屬事業(yè)單位市政府投資工程集中建設(shè)管理中心招聘4人筆試歷年參考題庫(kù)附帶答案詳解
- 預(yù)防感冒和流感的方法
- 2024年黑龍江職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年南京旅游職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 醫(yī)院教學(xué)秘書培訓(xùn)
- 2025江蘇常州西太湖科技產(chǎn)業(yè)園管委會(huì)事業(yè)單位招聘8人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年北京控股集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論