




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第4節 PPT課件作業1.VHDL程序一般包含幾個組成部分?各部分的作用是什么? 實體,結構體,庫,程序包,配置實體:用于描述所設計系統的外部接口特性;即該設計實體對外的輸入、輸出端口數量和端口特性。結構體:用于描述實體所代表的系統內部的結構和行為;它描述設計實體的結構、行為、元件及內部連接關系。庫:存放已經編譯的實體、構造體、程序包集合和配置。程序包:存放各設計模塊都能共享的數據類型、常數和子程序庫;配置:實體對應多個結構體時,從與某個實體對應的多個結構體中選定一個作為具體實現。2.端口模式有哪幾種?buffer類型與inout類型的端口有什么區別?Out, in, inout, buffe
2、rout (輸出):只能被賦值,用于不能反饋的輸出;in (輸入):只能讀,用于時鐘輸入、控制輸入單向數據輸入;inout(輸入輸出) :既可讀又可被賦值,被讀的值是端口輸入值而不是被賦值,作為雙向端口。buffer(緩沖):類似于輸出,但可以讀,讀的值是被賦值,用做內部反饋用,不能作為雙向端口使用。3.下列標識符中,哪些是非法的?Led3 coder_ _1 end port std_machine 2adder decoder*8and_2_ _decoder_1 and2 and_2 and_ _2 and-24.指出下面的實體描述中存在的四處語法錯誤并改正 LIBRARY IEEE;
3、USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21a IS PORT( a, b, s : IN BIT ; y : OUT BIT ;) ; (1.刪除括號內的分號) END ENTITY mux; (2.改為mux21a) ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s) Begin if s=0 then y<=a ; else y<=b ; end if ; end process (結束少了一個分號)END ARCHITECTURE none ; (none改為one) 5.寫出下圖所示的
4、設計實體mux41的實體聲明。所有端口都采用bit或bit_vector類型。 mux41AaBAaCBAaDCBAaSEL1.0QDCBAa ENTITY mux41 IS PORT( A, B, C,D : IN BIT ; SEL : IN BIT_VECTOR(1 DOWNTO 0) ; Q : OUT BIT) ; END ENTITY mux41;6.表達式C<=A+B中,A、B、C的數據類型都是STD_LOGIC_VECTOR,是否能直接進行加法運算?說明原因和解決方法。 答:不能直接進行加法運算。因為+號只能對整數類型進行直接相加,如果要對STD_LOGIC_VECTOR
5、數據類型進行+法操作,需要調用運算符重載,即在程序的開頭打開IEEE.STD_LOGIC_UNSIGNED.ALL程序包,或者把STD_LOGIC_VECTOR數據類型改為整數類型。7.能把任意一種進制的值向一整數類型的對象賦值嗎?如果能,怎樣做?答:能。見書上P322頁8.判斷下列VHDL的數值表示是否合法,如果有誤指出原因 16#0FA# 10#12F# 8#789# 8#356# 2#0101010#9.數據類型BIT,INTEGER,BOOLEAN分別定義在那個庫中?哪些庫和程序包總是可見的?答:BIT,INTEGER,BOOLEAN分別定義在STD庫的STANDARD程序包中(見書上
6、P324-325) WORK庫,STD庫總是可見的(P316-317)11.VHDL語言數據對象有哪幾種?作用范圍如何?對其賦初值作用有何不同? 答:VHDL語言數據對象有信號,變量,常量。要回答的特別詳細12.判斷下面三個程序中是否有錯誤,若有則指出錯誤所在。程序1: signal a,en: std_logic ;process(a,en) variable b: std_logic;begin if en=1 then b<=a ; (錯誤2處。1. en 為std_logic類型,此類型賦值為en=1;2. b 為變量,變量賦值采用 := ) end if ;end proces
7、s ;程序2:architecture one of sample is variable a,b,c: integer ;(結構體里面不能定義變量,只能定義信號)begin c<=a+b ;end architecture one;程序3:library ieee;Use ieee.std_logic_1164.all;Entity mux21 is Port (a, b : in std_logic;sel: in std_logic;c : out std_logic);end Entity sam2;(1. sam2改為mux21)architecture one of samp
8、le is (2. sample改為mux21) begin process(a,b.sel) (6.if語句應該放在process中) begin if sel=0then c:=a; (3.端口賦值采用<= ,改為c<=a)else c:=b; (4.端口賦值采用<= ,改為c<=b) end if; end process ; end architecture two; (5. two改為mux21)1在VHDL中,如何描述時鐘信號上升沿和下降沿?請分別列舉兩種不同的方法1敘述進程語句的語法格式,并說明各組成部分的功能和作用。(回答要詳細) process(敏感信
9、號表) 進程說明部分 begin 順序處理語句 end process 標號;1. 敏感信號表內為信號列表,該表內的信號的變化將引起進程的執行。多數VHDL綜合器要求敏感信號表必須列出本進程中所有輸入信號名。2. 進程說明用來定義在該進程中需要用到的局部量,如變量、常數等,在此處定義的變量是局部量,只能在該進程中使用,其他地方不能使用。特別強調在進程說明部分只能定義局部變量,不能定義信號和共享變量。3. 順序描述語句是一段順序執行的語句,具體描述進程的行為.如:信號賦值,變量賦值,if語句,case語句等。1進程的敏感信號表具有什么作用?列出敏感信號時應注意什么?(回答要詳細)答:敏感信號表中
10、有多個敏感信號時,其中任一個信號的變化都會引起進程啟動,寫敏感信號表時,盡量將在進程中被讀取的信號列全。若無敏感信號表,就必須放一個WAIT語句在進程內作為進程啟動語句16. 進程設計要點是什么? (回答要詳細)Ø PROCESS為一無限循環語句Ø PROCESS中的順序語句具有明顯的順序/并行運行雙重性進程內部只能加載順序語句,但進程本身是并行語句出現在結構體中,它與其他并行結構或進程之間在結構體中是并行運行的Ø 進程語句本身是并行語句Ø 一個進程中只允許描述對應于一個時鐘信號的同步時序邏輯 Ø 進程必須由敏感信號的變化來啟動敏感信號表中有多
11、個敏感信號時,其中任一個信號 的變化都會引起進程啟動,寫敏感信號表時,盡量將在進程中被讀取的信號列全。無敏感信號表,就必須放一WAIT語句在進程內作為進程啟動語句Ø 信號是多個進程間的通信線在結構體中多個進程可以并行運行,多個進程之間的通 信是通過信號來實現。因此,在任一進程的進程說明部分不允許定義信號第5節 PPT課件作業1. 順序語句和并行語句分別有哪些?順序語句和并行語句主要有什么區別?2. 用IF和when-else語句編寫全加器(自己結合PPT,編程實現。)3. 用元件例化法實現4位加法器。(自己結合2位加法器的方法,編程實現。)4. 閱讀下面的程序,分析其實現的邏輯功能,
12、并說明是時序邏輯還是組合邏輯 library ieee;Use ieee.std_logic_1164.all;Entity decoder is Port (a : in std_logic_vector(9 downto 0);c : out integer range 0 to 9);end Entity decoder ;architecture one of decoder is beginwith a selectc<=0 when “0000000001” , 1 when “0000000010” ,2 when “0000000100” ,3 when “0000001
13、000” ,4 when “0000010000” ,5 when “0000100000” ,6 when “0001000000” ,7 when “0010000000” ,8 when “0100000000” ,9 when “1000000000” ,0 when others ;end architecture one;組合電路:譯碼電路。從低位到高位依次判斷10位2進制數的哪一位是有效數字1,并輸出有效數字所在數據位置。5. 結構體的描述方式有幾種方式?各有什么特點?1.行為描述方式:只需描述輸入與輸出的行為,不關注具體的電路實現,一般通過一組順序的VHDL進程來反映設計的功能
14、和算法;2.數據流描述方式:這種描述將數據看成從設計的輸入端到輸出端,通過并行語句表示這些數據形式的改變,即信號到信號的數據流動的路徑和形式進行描述;3.結構描述方式:多用在多層次的設計中,通過調用庫中得元件或已經設計好的元件,進行組合來完成實體功能的描述,它只表示元件和元件之間的互連.6. 下面是三人表決器的VHDL描述,分析其實現機制,并說明三個不同的結構體分別用 了什么描述方法。library ieee;Use ieee.std_logic_1164.all;Entity voter3 is Port (a,b,c : in bit;m : out bit);end Entity vot
15、er3 ;結構體描述方法1:(屬于結構體的數據流描述方式。)architecture one of voter3 isbeginwith a&b&c selectm<=1 when “110”|“101”|“011”|“111”,0 when others;end architecture one;結構體描述方法2:(采用了進程,屬于結構體的行為描述方式)architecture two of voter3 isbeginprocess(a,b,c)constant lookuptable :bit_vector(0 to 7):= “00010111”;variable
16、 index: natural;beginindex:=0;if a=1 then index:= index+1; end if ;if b=1 then index:= index+2; end if ;if c=1 then index:= index+4; end if ;m<lookuptable(index);end process;end architecture two;結構體描述方法3:(采用元件例化,調用了其他元件,屬于結構體的結構描述方式)architecture three of voter3 is component and2 port (in1,in2: in bit; out1: out bit);end component;component or2 port (in1,in2,in3: in bit; out1: out bit);end component;signal w1,w2,w3:bit;begingate1: and2 port map (a,b,w1);gate2: and2 port m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 赤峰工業職業技術學院《臨床血液學及檢驗》2023-2024學年第一學期期末試卷
- 貴州醫科大學《美術學專業導論》2023-2024學年第二學期期末試卷
- 七年級數學上冊第1章有理數1.5有理數的乘方1.5.1乘方1教案無答案新版新人教版
- 人工智能驅動的語言習得研究-全面剖析
- 深度學習模型在自然語言處理領域的應用-全面剖析
- 食品材料訂購合同范本
- 紫金礦業集團股份有限公司招聘真題2024
- 活性炭吸附去除微塑料的應用-全面剖析
- 馬鞍山當涂縣人民檢察院招聘真題2024
- 2025年消防執業資格考試題庫(消防標準化建設)消防設施操作員消防設備維護試題
- 2024年美容師考試理論回顧試題及答案
- 2025年新疆九年級中考語文一模試卷附答案解析
- 不同行業的制度分析
- 物管物業交接驗收明細表格(全)模板
- 口腔科診斷證明書模板
- 10kV油浸式變壓器技術規范
- 河北省衡水市安平中學2020-2021學年高一下學期第一次月考生物試題
- 項目研究助力區域教學改進
- 初中化學優質課評分表.
- LKJ-2000課件
- 五星級大酒店項目全套可行性分析報告(完整版)
評論
0/150
提交評論