第3章 組合電路的VHDL設計_第1頁
第3章 組合電路的VHDL設計_第2頁
第3章 組合電路的VHDL設計_第3頁
第3章 組合電路的VHDL設計_第4頁
第3章 組合電路的VHDL設計_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第3章章 組合電路的組合電路的VHDL設計設計 3.1 多路選擇器及其多路選擇器及其VHDL描述描述 真值表真值表 saby 00X0 01X1 1X00 1X11 asd bse bsasy 3.1 多路選擇器及其多路選擇器及其VHDL描述描述 3.1 多路選擇器及其多路選擇器及其VHDL描述描述 實實 體體 結結 構構 體體 設設 計計 實實 體體 實體實體: ENTITY 引導,引導,END ENTITY mux21a結尾。結尾。 實體描述電路器件的外部情況及各信號端口的基本性質。實體描述電路器件的外部情況及各信號端口的基本性質。 結構體結構體: ARCHITECTURE引導,引導,

2、END ARCHITECTURE one結尾。結尾。 結構體描述電路器件的內部邏輯功能和電路結構。結構體描述電路器件的內部邏輯功能和電路結構。 結構體中語句:結構體中語句: 順序語句順序語句:按語句前后排列方式逐條順序執(zhí)行。:按語句前后排列方式逐條順序執(zhí)行。 并行語句并行語句:同時執(zhí)行,與語句前后次序無關。:同時執(zhí)行,與語句前后次序無關。 3.1 多路選擇器及其多路選擇器及其VHDL描述描述 3.1 多路選擇器及其多路選擇器及其VHDL描述描述 1. 1. 條件語句條件語句: :順序語句,置于進程中。順序語句,置于進程中。 2. 數(shù)據(jù)類型數(shù)據(jù)類型 :任一數(shù)據(jù)對象必須限定取值范圍和數(shù)值類型任一數(shù)

3、據(jù)對象必須限定取值范圍和數(shù)值類型 BIT:0 1 BOOLEAN:布爾類型,:布爾類型,true(1,真);,真);false(0,假,假) INTEGER:整數(shù)類型等:整數(shù)類型等 PROCESSPROCESS(a,b,sa,b,s) END PROCESS;END PROCESS; 進程語句,是并行語句進程語句,是并行語句 (a,b,sa,b,s): :敏感信號表,某一敏感信號變化啟動進程語句執(zhí)行敏感信號表,某一敏感信號變化啟動進程語句執(zhí)行 IF_THEN_ELSE_END IF; IF_THEN_ELSE_END IF; 順序語句順序語句 ,放在進程語句中。,放在進程語句中。 3. 3.

4、進程語句和順序語句進程語句和順序語句 4. 4. 端口語句和端口信號名端口語句和端口信號名 PORT(); p_name 3.1 多路選擇器及其多路選擇器及其VHDL描述描述 進程語句本身是并行語句,進程語句本身是并行語句,進程語句引導的語句是進程語句引導的語句是順序語句。順序語句。 3.1 多路選擇器及其多路選擇器及其VHDL描述描述 5. 5. 端口模式端口模式 “IN:“IN:輸入端口輸入端口” ”、 “ “OUTOUT:輸出端口:輸出端口” ”、 “ “INOUTINOUT:雙向端口:雙向端口 ,輸入、輸出,輸入、輸出” ”、 “ “BUFFERBUFFER:緩沖端口,回讀內部產(chǎn)生,向

5、外輸出的信號:緩沖端口,回讀內部產(chǎn)生,向外輸出的信號” ” 3.1 多路選擇器及其多路選擇器及其VHDL描述描述 6 6關鍵字關鍵字 7 7標識符標識符 VHDLVHDL中中預預定定義義的有特殊的有特殊還還有的有的詞語詞語。 ENTITYENTITY、 ARCHITECTUREARCHITECTURE、 END END 、ININ、OUTOUT、 ANDAND、OROR等等 VHDLVHDL中自定中自定義義,用于,用于標標示不同名示不同名稱稱的的詞語詞語。 實實體名、端口名等。體名、端口名等。 Mux21aMux21a、b b、oneone等。等。 “ “-”-”,用于注,用于注釋釋。 3.2

6、 半加器及其半加器及其VHDL描述描述 本位和:本位和: bababaSO baCO進位:進位: 3.2 半加器及其半加器及其VHDL描述描述 3.2 半加器及其半加器及其VHDL描述描述 3.2 半加器及其半加器及其VHDL描述描述 1. 1. 實體表達與實體名實體表達與實體名 實體表達實體表達 :描述電路器件的端口構成和信號屬性:描述電路器件的端口構成和信號屬性 實體名實體名 :e_name eg: mux21a;counter4b 錯誤:錯誤:3(數(shù)字)、(數(shù)字)、OR2(已定義已定義)、74LS02(數(shù)字起頭數(shù)字起頭) 設計實體:庫設計實體:庫+ +實體實體+ +結構體結構體 3.2

7、半加器及其半加器及其VHDL描述描述 2. 結構體表達結構體表達 說明語句:對結構體的功能描述語句中用到的數(shù)據(jù)類型、常說明語句:對結構體的功能描述語句中用到的數(shù)據(jù)類型、常 數(shù)、信號、子程序和元件等元素的加以說明。數(shù)、信號、子程序和元件等元素的加以說明。 功能描述語句:可以是并行或順序語句或組合。功能描述語句:可以是并行或順序語句或組合。 END ARCHITECTURE one ; 93標準 END; 87標準 3.2 半加器及其半加器及其VHDL描述描述 3. 3. 標準邏輯位數(shù)據(jù)類型標準邏輯位數(shù)據(jù)類型STD_LOGIC STD_LOGIC BITBIT數(shù)數(shù)據(jù)據(jù)類類型定型定義義: TYPE

8、BIT IS(0,1); -TYPE BIT IS(0,1); -只有只有兩種兩種取取值值 STD_LOGICSTD_LOGIC數(shù)數(shù)據(jù)據(jù)類類型定型定義義: TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-); TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-); -九種取值九種取值 只能綜合:只能綜合: X(或或-,),0,1,Z, 3.2 半加器及其半加器及其VHDL描述描述 4. 4. 賦值符號和邏輯操作符賦值符號和邏輯操作符 AND(與)、(與)、OR(或)、(或)、NOT(非)、(非)、NAND(與非)、(與非)、NOR(或(或 非)、非

9、)、XOR(異或)、(異或)、XNOR(同或)七種(同或)七種 操作數(shù)據(jù)類型:操作數(shù)據(jù)類型:BIT、BOOLEAN、STD_LOGIC 目標信號名目標信號名=驅動表達式驅動表達式 3.2 半加器及其半加器及其VHDL描述描述 5. 5. 設計庫和標準程序包設計庫和標準程序包 設計庫和標準程序包:設計庫和標準程序包: 許多數(shù)據(jù)類型的說明及類似的函數(shù)放于設計庫和程序包中。許多數(shù)據(jù)類型的說明及類似的函數(shù)放于設計庫和程序包中。 LIBRARY WORK ;-默認工作庫,工程文件所在文件夾為默認工作庫默認工作庫,工程文件所在文件夾為默認工作庫 LIBRARY STD ; -默認標準庫默認標準庫 USE

10、STD.STANDARD.ALL ;-默認程序包,其中有默認程序包,其中有BIT的定義。的定義。 定義表達式:定義表達式:LIBRARY ; USE .ALL ; eg: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL;-其中有其中有STD_LOGIC的定義的定義 3.2 半加器及其半加器及其VHDL描述描述 3.2 半加器及其半加器及其VHDL描述描述 6 6文件取名和存盤文件取名和存盤 7 7規(guī)范的程序書寫格式規(guī)范的程序書寫格式 后綴:后綴:“.vhd” 文件名與實體名一致:文件名與實體名一致:adder_f.vhd vhdl程序必須存入文件夾中。程序

11、必須存入文件夾中。 3.3 四選一多路選擇器及其四選一多路選擇器及其 VHDL描述描述 3.3.1 3.3.1 四選一多路選擇器及四選一多路選擇器及CASECASE語句表述方式語句表述方式 3.3 四選一多路選擇器及其四選一多路選擇器及其VHDL描述描述 3.3.1 四選一多路選擇器及四選一多路選擇器及CASE語句表述方式語句表述方式 CASE IS When = ; . ; ; When = ; . ; ; . WHEN OTHERS = ; END CASE ; CASECASE語句為順序語句,在進程語句中使用語句為順序語句,在進程語句中使用, ,直接表達真值表直接表達真值表 3.3 四選

12、一多路選擇器及其四選一多路選擇器及其 VHDL描述描述 3.3.2 CASE3.3.2 CASE語句語句 l 選擇值在表達式取值范圍內,數(shù)據(jù)類型必須匹配選擇值在表達式取值范圍內,數(shù)據(jù)類型必須匹配 l WHEN OTHERS使用:使選擇值涵蓋表達式的所有取值使用:使選擇值涵蓋表達式的所有取值 只能作為最后一個條件取值出現(xiàn)一次只能作為最后一個條件取值出現(xiàn)一次 l 選擇值只出現(xiàn)一次選擇值只出現(xiàn)一次 l 必須且只能選中條件語句中的一條執(zhí)行必須且只能選中條件語句中的一條執(zhí)行 3.3 四選一多路選擇器及其四選一多路選擇器及其 VHDL描述描述 3.3.2 CASE3.3.2 CASE語句語句 多條件選擇值

13、表達式:選擇值多條件選擇值表達式:選擇值 |選擇值選擇值 單個普通數(shù)值,如單個普通數(shù)值,如6。 數(shù)值選擇范圍,如數(shù)值選擇范圍,如(2 TO 4)(2 TO 4),表示取值為,表示取值為2 2、3 3或或4 4。 并列數(shù)值,如并列數(shù)值,如3 3 5 5,表示取值為,表示取值為3 3或者或者5 5。 混合方式,以上三種方式的混合?;旌戏绞剑陨先N方式的混合。 選擇值選擇值 表達表達 方式方式 3.3.2 CASE3.3.2 CASE語句語句 3.3 四選一多路選擇器及其四選一多路選擇器及其 VHDL描述描述 3.3 四選一多路選擇器及其四選一多路選擇器及其 VHDL描述描述 3.3.2 CASE

14、3.3.2 CASE語句語句 3.3 四選一多路選擇器及其四選一多路選擇器及其 VHDL描述描述 3.3.2 CASE3.3.2 CASE語句語句 3.3 四選一多路選擇器及其四選一多路選擇器及其 VHDL描述描述 3 3點注意:點注意: (1 1)不加)不加OTHERS,OTHERS,綜合器判錯。綜合器判錯。 (2 2) 加了加了WHEN OTHERS =NULLWHEN OTHERS =NULL,可能在輸出口綜合出,可能在輸出口綜合出 時序模塊時序模塊; ; (3 3)加了)加了WHEN OTHERS =out1out1 連接端口名連接端口名,.); u1 : h_adder PORT M

15、AP(a=ain,co=d,so=e); 插座號插座號 : 元件名元件名 PORT MAP(元件端口名元件端口名 =頂層系統(tǒng)端口名或通信線名頂層系統(tǒng)端口名或通信線名); 端口名關聯(lián)法也稱為端口名映射法。端口名關聯(lián)法也稱為端口名映射法。 位置關聯(lián)法或稱位置映射法。位置關聯(lián)法或稱位置映射法。 以位置的對應關系連接相應的端口。以位置的對應關系連接相應的端口。 3.4 全加器及其全加器及其VHDL表述表述 半加器不能改為:半加器不能改為: 3.4 全加器及其全加器及其VHDL表述表述 3.4.3 83.4.3 8位加法器設計及算術操作符應用位加法器設計及算術操作符應用 3.4 全加器及其全加器及其VH

16、DL表述表述 3.4.3 83.4.3 8位加法器設計及算術操作符應用位加法器設計及算術操作符應用 “+”“+”號的兩個操作數(shù)實現(xiàn)標準邏輯位矢量相加,需調用運算符重載號的兩個操作數(shù)實現(xiàn)標準邏輯位矢量相加,需調用運算符重載 函數(shù),以便賦予加號函數(shù),以便賦予加號“+”+”具備新的數(shù)據(jù)類型的操作功能具備新的數(shù)據(jù)類型的操作功能 。 運算符重載函數(shù):重新定義運算符,允許被重載的運算符能夠對新的運算符重載函數(shù):重新定義運算符,允許被重載的運算符能夠對新的 數(shù)據(jù)類型進行操作,或允許不同的數(shù)據(jù)類型之間用此運算符進行運算。數(shù)據(jù)類型進行操作,或允許不同的數(shù)據(jù)類型之間用此運算符進行運算。 使用語句使用語句 USE

17、IEEE_LOGIC_UNSIGNED.ALLUSE IEEE_LOGIC_UNSIGNED.ALL 3.4 全加器及其全加器及其VHDL表述表述 信號賦值:信號賦值:a=a+1 信號信號:如同一根導線在整個結構體如同一根導線在整個結構體(電路電路)中傳遞信息。中傳遞信息。 變量:只在進程和子程序中使用,作為臨時存放數(shù)據(jù)的單元變量:只在進程和子程序中使用,作為臨時存放數(shù)據(jù)的單元 ,不能將信息帶出,不能將信息帶出 對它做出定義的當前結構,其適用范圍僅限于定義變量的進程和子程序中。對它做出定義的當前結構,其適用范圍僅限于定義變量的進程和子程序中。 3.5 乘法器及其乘法器及其VHDL表述表述 3.

18、5.1 3.5.1 統(tǒng)計位矢中含統(tǒng)計位矢中含1 1個數(shù)的電路模塊設計個數(shù)的電路模塊設計 3.5.1 3.5.1 統(tǒng)計位矢中含統(tǒng)計位矢中含1 1個數(shù)的電路模塊設計個數(shù)的電路模塊設計 2.2.不完整條件句:不完整條件句:IF-THENIF-THEN:構成時序邏輯電路,沒有給出全部所:構成時序邏輯電路,沒有給出全部所 有的條件及處理方法,引入了存儲器等時序電路。不完整條件句是有的條件及處理方法,引入了存儲器等時序電路。不完整條件句是 VHDLVHDL描述時序電路的重要途徑。描述時序電路的重要途徑。 3.3.使用了使用了FOR-LOOPFOR-LOOP循環(huán)語句循環(huán)語句 。 3.5 乘法器及其乘法器及其

19、VHDL表述表述 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.2 FOR_LOOP循環(huán)語句用法循環(huán)語句用法 (1) 單個單個LOOP語句,其語法格式如下:語句,其語法格式如下: LOOP標號:標號: LOOP 順序語句順序語句 -必須引入跳出循環(huán)的控制語句必須引入跳出循環(huán)的控制語句 END LOOP LOOP標號標號 ; 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.2 FOR_LOOP循環(huán)語句用法循環(huán)語句用法 (2) FOR_LOOP語句,語法格式如下:語句,語法格式如下: LOOP標號:標號: FOR 循環(huán)變量循環(huán)變量IN 循環(huán)次數(shù)范圍循環(huán)次數(shù)范圍 LOOP 順序語句順序

20、語句 END LOOP LOOP標號標號; “循環(huán)變量循環(huán)變量”是一個臨時變量,屬是一個臨時變量,屬LOOPLOOP語句的局部變量,不必事先定義。語句的局部變量,不必事先定義。 “循環(huán)次數(shù)范圍循環(huán)次數(shù)范圍”規(guī)定規(guī)定LOOPLOOP語句中的順序語句被執(zhí)行的次數(shù)。循環(huán)變量從循環(huán)次語句中的順序語句被執(zhí)行的次數(shù)。循環(huán)變量從循環(huán)次 數(shù)范圍的初值開始,每執(zhí)行完一次順序語句后遞增數(shù)范圍的初值開始,每執(zhí)行完一次順序語句后遞增1 1,直至達到循環(huán)次數(shù)范圍指定,直至達到循環(huán)次數(shù)范圍指定 的最大值,循環(huán)的范圍以常數(shù)表示。的最大值,循環(huán)的范圍以常數(shù)表示。 每一次循環(huán)都將產(chǎn)生一個硬件電路。每一次循環(huán)都將產(chǎn)生一個硬件電路

21、。 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.3 移位相加型乘法器的移位相加型乘法器的VHDL表述方法表述方法 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.4 GENERIC參數(shù)定義語句參數(shù)定義語句 GENERIC( 常數(shù)名常數(shù)名 : 數(shù)據(jù)類型數(shù)據(jù)類型 : 設定值設定值 ;常數(shù)名常數(shù)名 : 數(shù)據(jù)類型數(shù)據(jù)類型 : 設定值設定值 ) ; 參數(shù)傳遞說明語句(參數(shù)傳遞說明語句(GENERIC 語句)是一種常數(shù)參數(shù)的語句)是一種常數(shù)參數(shù)的端口界面端口界面, 為所說明的環(huán)境提供了一種靜態(tài)信息通道。被傳遞的參數(shù)或稱類屬參為所說明的環(huán)境提供了一種靜態(tài)信息通道。被傳遞的參數(shù)或稱類屬參 量(

22、類屬值或類屬變量)可以由設計實體外部提供。設計者可以通過量(類屬值或類屬變量)可以由設計實體外部提供。設計者可以通過 參數(shù)傳遞說明語句中的類屬參量的重新設定,改變一個設計實體或一參數(shù)傳遞說明語句中的類屬參量的重新設定,改變一個設計實體或一 個元件的內部電路結構和規(guī)模。個元件的內部電路結構和規(guī)模。 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.5 整數(shù)數(shù)據(jù)類型整數(shù)數(shù)據(jù)類型 整數(shù)類型整數(shù)類型 :包含正整數(shù)、負整數(shù)和零,定義在:包含正整數(shù)、負整數(shù)和零,定義在STD庫的庫的STANDARD 包包 中;綜合器將中;綜合器將INTEGER綜合為無符號數(shù)綜合為無符號數(shù) 1,35 十進制整數(shù)十進制整數(shù)

23、 10E3 十進制整數(shù),等于十進制整數(shù)十進制整數(shù),等于十進制整數(shù)1000 16#D9# 十六進制整數(shù),等于十六進制整數(shù)十六進制整數(shù),等于十六進制整數(shù)D9H 8#720# 八進制整數(shù),等于八進制整數(shù)八進制整數(shù),等于八進制整數(shù)720O 2#11010010# 二進制整數(shù),等于二進制整數(shù)二進制整數(shù),等于二進制整數(shù)11010010B RANGERANGE子句限定數(shù)的范圍,確定二進制位數(shù):子句限定數(shù)的范圍,確定二進制位數(shù): 4 4位二進制數(shù),位二進制數(shù),Q(3)-Q(0)Q(3)-Q(0) Q : BUFFER NATURAL RANGE 15 DOWNTO 0; 自然數(shù) 3.5 乘法器及其乘法器及其V

24、HDL表述表述 3.5.6 省略賦值操作符省略賦值操作符 SIGNAL d1 : STD_LOGIC_VECTOR(4 DOWNTO 0); VARIABLE a1 : STD_LOGIC_VECTOR(15 DOWNTO 0); . d1 0); a1 := (OTHERS=0) ; 等同于:等同于:d1 = “00000”; a1 :=“0000000000000000” ; d2 1,3=1,OTHERS=0) ;等同于等同于 :d2=“000001010” 可在較多位的位矢量賦值中作省略化賦值:可在較多位的位矢量賦值中作省略化賦值: 以下兩式賦值等同:以下兩式賦值等同: d1 e(3)

25、,3=e(5), OTHERS=e(1) ); d1 = e(1) 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.7 移位操作符移位操作符 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.8 各類運算操作對數(shù)據(jù)類型的要求各類運算操作對數(shù)據(jù)類型的要求 所有數(shù)據(jù)作無符號數(shù)處理。所有數(shù)據(jù)作無符號數(shù)處理。 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.8 各類運算操作對數(shù)據(jù)類型的要求各類運算操作對數(shù)據(jù)類型的要求 所有數(shù)據(jù)作有符號數(shù)處理。所有數(shù)據(jù)作有符號數(shù)處理。 無符號數(shù):無符號數(shù):“0101”“1001” “0101” *“1001” =5*(-7)=-35=-x”23” =“1

26、0100011”(原碼原碼) =“11011101”(補碼補碼)=X“DD” 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.8 各類運算操作對數(shù)據(jù)類型的要求各類運算操作對數(shù)據(jù)類型的要求 所有數(shù)據(jù)作無符號數(shù)處理。所有數(shù)據(jù)作無符號數(shù)處理。 同例3-15 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.8 各類運算操作對數(shù)據(jù)類型的要求各類運算操作對數(shù)據(jù)類型的要求 所有數(shù)據(jù)作有符號數(shù)處理。所有數(shù)據(jù)作有符號數(shù)處理。 同例3-16 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.8 各類運算操作對數(shù)據(jù)類型的要求各類運算操作對數(shù)據(jù)類型的要求 3.5 乘法器及其乘法器及其VHDL表述表述 3.5.8 各類運算操作對數(shù)據(jù)類型的要求各類運算操作對數(shù)據(jù)類型的要求 VHDLVHDL中的操作符與操作數(shù)間的運算特別注意:中的操作符與操作數(shù)間的運算特別注意: 嚴格遵循在基本操作符間操作數(shù)是相同的數(shù)據(jù)類型嚴格遵循在基本操作符間操作數(shù)是相同的數(shù)據(jù)類型 嚴格遵循操作數(shù)的數(shù)據(jù)類型必須與操作符要求的數(shù)據(jù)類型相同嚴格遵循操作數(shù)的數(shù)據(jù)類型必須與操

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論