EDA復(fù)習(xí)要點(diǎn)5月32_第1頁(yè)
EDA復(fù)習(xí)要點(diǎn)5月32_第2頁(yè)
EDA復(fù)習(xí)要點(diǎn)5月32_第3頁(yè)
EDA復(fù)習(xí)要點(diǎn)5月32_第4頁(yè)
EDA復(fù)習(xí)要點(diǎn)5月32_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(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的描述語(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 *.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ì)中常用的庫(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í)際功能,存放說明中的

4、函數(shù)和子程序。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ù)字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、 完整的條件語(yǔ)句將產(chǎn)生什么電路,不完整的條件語(yǔ)句將產(chǎn)生什么電路?完整的條件語(yǔ)句將產(chǎn)生組合電路,不完整的條件語(yǔ)句將產(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)“<=”和“:=”,信號(hào)類型和變量類型可以完全一致,也允許兩者之間相互賦值,但要保證兩者的類型相同。18、 VHDL作為工業(yè)標(biāo)準(zhǔn),是由那個(gè)機(jī)構(gòu)制定并公布的。IEEE19、 實(shí)體部分的端口模式有四個(gè)類型。OUT單向輸出端口IN 單向輸入端口INOUT 輸入輸出雙向端口BUFFER 反饋式雙向端口20、 從執(zhí)行方式看VHDL的基本描述語(yǔ)句包括哪兩大基本描述語(yǔ)句? 順序語(yǔ)句 并行語(yǔ)句21、 VHDL文件存盤時(shí),其主文件名應(yīng)與實(shí)體名一致,擴(kuò)展名應(yīng)為什么呢?.VHD22、

8、硬件描述語(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(Application Specific Integrated Circuits)為實(shí)現(xiàn)載體的電子產(chǎn)品自動(dòng)化設(shè)計(jì)的過程24、 目前較流行的集成EDA開發(fā)環(huán)境(軟件)有那些? 同第5題25、 簡(jiǎn)述EDA技術(shù)的CPLD/FPGA的設(shè)計(jì)流程。26、 寫出實(shí)體中的PORT語(yǔ)句結(jié)構(gòu)并說明其作用。實(shí)體端口說明的一般書寫格式如下:PORT(端口名:端口模式 數(shù)據(jù)類型; . 端口名:端口模式

9、 數(shù)據(jù)類型);作用:由PORT語(yǔ)句引導(dǎo)的端口說明語(yǔ)句是對(duì)一個(gè)設(shè)計(jì)實(shí)體界面的說明。端口為設(shè)計(jì)實(shí)體和外部環(huán)境的動(dòng)態(tài)通信提供通道。27、 簡(jiǎn)述EDA技術(shù)經(jīng)歷了那幾個(gè)發(fā)展階段。1)CAD(計(jì)算機(jī)輔助設(shè)計(jì))階段2)CAE(計(jì)算機(jī)輔助工程)階段3)ESDA(電子系統(tǒng)設(shè)計(jì)自動(dòng)化)階段28、 寫出元件例化語(yǔ)句語(yǔ)句格式,并說明其作用。元件例化語(yǔ)句由兩部分組成,第一部分是對(duì)一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件,語(yǔ)句的功能是對(duì)待調(diào)用的元件作出調(diào)用聲明,它的最簡(jiǎn)表達(dá)式如下所示: COMPONENT 元件名 IS PORT (端口名表) ; END COMPONENT 文件名 ; 元件例化語(yǔ)句的第二部分則是此元件與當(dāng)前設(shè)計(jì)

10、實(shí)體(頂層文件)中元件間及端口的連接說明。語(yǔ)句的表達(dá)式如下: 例化名 : 元件名 PORT MAP( 端口名 => 連接端口名,.);29、 試比較圖形輸入法和文本輸入法有何優(yōu)缺點(diǎn)?30、 結(jié)構(gòu)體的語(yǔ)言格式與作用。ARCHITECTURE 結(jié)構(gòu)體名OF 實(shí)體名 IS (說明語(yǔ)句) 用來說明和定義數(shù)據(jù)對(duì)象,類型等,可省略 BEGIN (功能描述語(yǔ)句) 用來描述內(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語(yǔ)句結(jié)構(gòu)的一般表達(dá)格式? PROCES

11、S語(yǔ)句格式 PROCESS語(yǔ)句的表達(dá)格式如下: 進(jìn)程標(biāo)號(hào):PROCESS(敏感信號(hào)參數(shù)表)IS 進(jìn)程說明部分 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)的變化來啟動(dòng),否則必須有一顯式的WAIT語(yǔ)句來激活。(3) 結(jié)構(gòu)體中多個(gè)進(jìn)程之所以能并行同步運(yùn)行,一個(gè)很重要的原因是進(jìn)程之間的通信是通過傳遞信號(hào)和共享變量值來實(shí)現(xiàn)的。(4) 進(jìn)程是重要的建模工具。進(jìn)程結(jié)構(gòu)不但

12、為綜合器所支持,而且進(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ù)常用的輸入方法有?原理圖輸入 HDL文本輸入eda設(shè)計(jì)輸入的三種形式:原理圖輸入,狀態(tài)輸入,

13、波形輸入 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)體用來描述設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,即描述一個(gè)實(shí)體的功能,把設(shè)計(jì)實(shí)體的輸入和輸出之間的聯(lián)系建立起來。36、 MAX+puls的原理圖輸入法、文本輸入法、波形輸入法生成的文件擴(kuò)展名為?原理圖輸入法生成的文件擴(kuò)展名為*.gdf 文本輸入法生成的文件擴(kuò)展名為*.vhd 波形輸入法生成的文件擴(kuò)展名為*.scf37、 VHDL的操作符有那幾大類?每一類的操作符分別是什么?每一類操作符可以對(duì)那些數(shù)

14、據(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)和過程(PROCEDURE)等加以說明的語(yǔ)句。40、 子程序分為那兩類,其結(jié)構(gòu)為什么。P152-153子程序包括過程和函數(shù),包括過程(可單獨(dú)存在,多個(gè)返回值,有輸入/出、雙向參數(shù),一般看做一種語(yǔ)句結(jié)構(gòu))和函數(shù)(作為語(yǔ)句的一部分調(diào)用,一個(gè)返回值,所有參數(shù)都是輸入?yún)?shù),看作表達(dá)式的一部分),可在VHDL的結(jié)構(gòu)體或程序包中任何位置調(diào)用子程序。41、 VHDL的標(biāo)識(shí)符由什么構(gòu)

15、成。.同13題42、 CASE語(yǔ)句的一般形式?在使用當(dāng)中的注意事項(xiàng)。P125-126CASE語(yǔ)句的一般形式為:CASE 表達(dá)式 ISWHEN 值1=> 語(yǔ)句A;WHEN 值2=> 語(yǔ)句B;.WHEN OTHERS=> 語(yǔ)句C;END CASE注意事項(xiàng):(1)WHEN條件句中的選擇值或標(biāo)識(shí)符所代表的值必須在表達(dá)式的取值范圍內(nèi)。2)除非所有條件句中的選擇值能完整覆蓋CASE語(yǔ)句中表達(dá)式的取值,否則最后一個(gè)條件句中的選擇必須用關(guān)鍵詞OTHERS表示以上已列的所有條件句中未能列出的其它可能的取值。(3)CASE語(yǔ)句中的選擇值只能出現(xiàn)一次,不允許有相同選擇值的條件語(yǔ)句出現(xiàn)。(4)CAS

16、E語(yǔ)句執(zhí)行中必須選中,且只能選中所列條件語(yǔ)句中的一條。43、 試著比較IF和CASE語(yǔ)句的差異?P127與IF語(yǔ)句相比,CASE語(yǔ)句組的程序可讀性比較好,這是因?yàn)樗褩l件中所有可能出現(xiàn)的情全部列出來了,可執(zhí)行條件比較清晰。而且CASE程序的執(zhí)行過程不像IF語(yǔ)句中那樣有一個(gè)逐項(xiàng)條件條件順序比較的過程。CASE語(yǔ)句中條件句的次序是不重要的,它的執(zhí)行過程更接近于并行方式。但是在一般情況下,經(jīng)過綜合后,對(duì)相同的邏輯功能,CASE語(yǔ)句比IF語(yǔ)句的描述耗用更多的硬件資源,而且有的邏輯功能CASE語(yǔ)句無法描述,只能使用IF語(yǔ)句來描述.44、 FOR循環(huán)語(yǔ)句的一般形式?P127FOR循環(huán)語(yǔ)句的一般形式為:循環(huán)

17、標(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),分別寫出他們的一般表式。完整的條件語(yǔ)句將產(chǎn)生組合電路,不完整的條件語(yǔ)

18、句將產(chǎn)生時(shí)序電路完整的條件語(yǔ)句格式:49、 寫出實(shí)體、結(jié)構(gòu)體的一般語(yǔ)句結(jié)構(gòu)并說明其作用。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)(BLOCK)4、并行過程調(diào)用語(yǔ)句5、元件例化 語(yǔ)句6 、生成語(yǔ)句52、 試寫出三種IF語(yǔ)句的語(yǔ)句結(jié)構(gòu)。IF語(yǔ)句是一種條件語(yǔ)句,它根據(jù)語(yǔ)句中所設(shè)置的一種或多種條件,有選擇地執(zhí)行指定的順序語(yǔ)句,常見的IF語(yǔ)句有以下種形式。 (1)     

19、; IF 條件 THEN 語(yǔ)句 END IF; (2)       IF 條件 THEN 語(yǔ)句 ELSE 語(yǔ)句 END IF;(3)      IF 條件THEN 語(yǔ)句 ELSIF 條件THEN 語(yǔ)句 ELSE 語(yǔ)句 END IF;53 轉(zhuǎn)向控制語(yǔ)句有哪幾種? P123轉(zhuǎn)向控制語(yǔ)句共有五種:(1)IF語(yǔ)句(2)CASE語(yǔ)句(3)LOOP語(yǔ)句(4) next語(yǔ)句(5) exit語(yǔ)句54 什么是重載操作符?常用的重載操作符定義在那個(gè)程序包中?為了方便各種不同數(shù)據(jù)類型間的運(yùn)算,VHDL允許用

20、戶對(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)程、輔助進(jìn)程等

21、幾個(gè)部分。58 VHDL的描述風(fēng)格有哪幾種?行為描述、數(shù)據(jù)流描述和結(jié)構(gòu)描述第四章習(xí)題答案2 VHDL的基本結(jié)構(gòu)是什么?各部分的功能分別是什么?答:參考課本77頁(yè),最下面一段。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”語(yǔ)句,但也可以用其他語(yǔ)句來進(jìn)行描述,試描述之。用IF語(yǔ)句描述:ENTITY mux21aISPORT(a,b:IN BIT; s:INBIT; q

22、: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頁(yè),例5-9那樣 使用IF語(yǔ)句LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4_1 ISPORT(a,b,c,d,s0,s1:

23、IN STD_LOGIC; y:OUT STD_LOGIC);END mux4_1;ARCHITECTURE behave OF mux4_1 ISSIGNAL sel:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN sel <= s1&s0;PROCESS(sel,a,b,c,d)BEGINCASE sel ISWHEN "00" => y<=a;WHEN "01"=> y<=b;WHEN "10"=> y<=c;WHEN "11"=>

24、 y<=d; WHEN others=>null;END CASE;END PROCESS;END behave;7 試給出1位全減器的VHDL描述,要求首先設(shè)計(jì)1位半減器,然后用例化語(yǔ)句將它們連接起來。設(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_

25、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 ISBEGINc<=a OR b; END ARCHITECTURE one;-全減器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;US

26、E 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 COMPONENT;COMPONENT or2aPORT(a,b:IN STD_LOGIC; c:OUT STD_LOGIC);END COMPONENT;SIGNAL

27、 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)部反饋使用,不允許作為雙向端口使用。而INOUT端口:雙向模式,即信號(hào)的流通是雙向的,既可以對(duì)此端口賦值,也可以通過此端口讀入數(shù)據(jù)。5-2.VHDL的數(shù)據(jù)對(duì)象有哪幾種

28、?它們之間有什么不同?答: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.說明下列各定義的意義: 答SIGNAL a , b , c : BIT : =0;- - 定義3個(gè)位數(shù)據(jù)類型的信號(hào)a、b、c,它們?nèi)≈禐?;CONSTANT TI

29、ME1 , 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ì)原有的基本操作符重新定義,賦予新的含義和功能,從而建立一種新的操作符,這就是重載操作符,定義這種操作符的函數(shù)成為重載函數(shù)。重載運(yùn)算符的作用是為了方便各種不同的數(shù)據(jù)類型間的運(yùn)算。要調(diào)用重

30、載運(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è)庫(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ù)和過程有什么區(qū)別?答:子程序有兩種類型,即過程(PR

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

32、程中的WAIT ON語(yǔ)句后面;在不使用WAIT 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í);定義UNSIGNED類型的數(shù)據(jù)時(shí)。舉例如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; · · IF temp="11111111"THEN temp:= "00000000"

33、ELSE temp:=temp+16;END IF;···5-9.為什么說一條并行賦值語(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)體內(nèi)的執(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):CAS

34、E語(yǔ)句中各子句的條件不能有重疊,必須包容所有的條件;WITH_SECLECT語(yǔ)句也不允許選擇值有重疊現(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) BEGIN IF a=0AND b=1THEN NEXT1 <="1101" ELSEIF a=0

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

36、 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 bhv OF f_sub ISSIGNAL tmp:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN tmp<=x&y&sub_in; PROCESS(tmp) BEGIN CASE tmp IS WHEN "

37、;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

38、<='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' WHEN OTHERS=> NULL; END CASE; END PROCESS;END b

39、hv ;數(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)描述:LIBRA

40、RY 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

41、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; c

42、o,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;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;us

43、e ieee.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 ELSE"00000001" WHEN BIN = 1 ELSE"00

44、000010" WHEN BIN = 2 ELSE"00000011" WHEN BIN = 3 ELSE"00000100" WHEN BIN = 4 ELSE"00000101" WHEN BIN = 5 ELSE"00000110" WHEN BIN = 6 ELSE"00000111" WHEN BIN = 7 ELSE"00001000" WHEN BIN = 8 ELSE"00001001" WHEN BIN = 9 ELSE&quo

45、t;00010000" WHEN BIN = 10 ELSE"00010001" WHEN BIN = 11 ELSE"00010010" WHEN BIN = 12 ELSE"00010011" WHEN BIN = 13 ELSE"00010100" WHEN BIN = 14 ELSE"00010101" WHEN BIN = 15 ELSE"00010110" WHEN BIN = 16 ELSE"00010111" WHEN BIN =

46、 17 ELSE"00011000" WHEN BIN = 18 ELSE"00011001" WHEN BIN = 19 ELSE"00100000" 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_logic);END ffrs;ARCHITECTURE r

47、tl 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 bit );end;arc

48、hitecture 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 clk'event and clk='0' then if clr='1' then q_s<='0' nq_s<='1' elsif j='0' and k='1' then q

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

50、 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 of cnt4 is signal data_in: std_logic_vector(3 downto 0);begin data_in<=d&c&b&a; pro

51、cess(data_in,clk,ldn,clrn) variable cnt:std_logic_vector(3 downto 0); begin if clrn='0' then cnt:=(others=>'0'); elsif clk'event 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<=

52、9;1' when others=> carry<='0' end case; qa<=cnt(0); qb<=cnt(1); qc<=cnt(2); qd<=cnt(3); end process; end a;程序2LIBRARY IEEE;USE IEEE.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 D

53、OWNTO 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 (clk'EVENT AND clk = '1') THEN IF ldn=0' THEN q1<=din ; ELSIF (enp=1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論