VHDL語言 第七章 組合邏輯電路設(shè)計(jì)_第1頁
VHDL語言 第七章 組合邏輯電路設(shè)計(jì)_第2頁
VHDL語言 第七章 組合邏輯電路設(shè)計(jì)_第3頁
VHDL語言 第七章 組合邏輯電路設(shè)計(jì)_第4頁
VHDL語言 第七章 組合邏輯電路設(shè)計(jì)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、定義:定義:任一時(shí)刻的輸出僅僅取決于當(dāng)時(shí)的輸入,與電路原來的狀態(tài) 無關(guān),這樣的數(shù)字電路叫做組合邏輯電路。常用組合邏輯電路有以下幾種: 概述概述1、各種基本門電路(與門、或門、非門、異或門)2、多選器(二選一、四選一、八選一、)3、編碼器4、譯碼器5、奇偶校驗(yàn)器6、三態(tài)門7、緩沖器 基本的門電路包括有“與”門、“或”門、“非”門、“與非”門、“或非”門、“異或”門等等,它門是構(gòu)成邏輯電路的基礎(chǔ)。aby 輸入輸出aby001011101110&LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY nand2_1 ISPORT (a, b : IN STD_

2、LOGIC; y : OUT STD_LOGIC);END nand2_1;ARCHITECTURE nand OF nand2_1 ISBEGIN yyyyyy 順序處理語句; when 分支條件 = 順序處理語句; when 分支條件 = 順序處理語句; end case;并置運(yùn)算符“&”用于位的連接,構(gòu)成了兩位長度位矢量此設(shè)計(jì)中采用邏輯運(yùn)算符簡便地描述了各門電路的行為。 在數(shù)字系統(tǒng)中,譯碼器的功能是將一種數(shù)碼變換成另一種數(shù)碼。譯碼器的輸出狀態(tài)是其輸入變量各種組合的結(jié)果。譯碼器的輸出既可以用于驅(qū)動(dòng)或控制系統(tǒng)其他部分,也可驅(qū)動(dòng)顯示器,實(shí)現(xiàn)數(shù)字、符號(hào)的顯示。 碼器是一種組合電路,工作狀態(tài)的改變

3、無需依賴時(shí)序脈沖。譯碼器可分為數(shù)碼譯碼和顯示譯碼兩大類。 譯碼器3線-8線741380AA1A2G1GG2A2B27Y40Y1YYYYYY6533個(gè)二進(jìn)制輸入端A0、A1、A2,8個(gè)譯碼輸出端Y0-Y7。對(duì)輸入值進(jìn)行譯碼,就可以確定哪個(gè)輸出端為有效電平,從而達(dá)到譯碼目的。G1、G2A、G2B是3個(gè)選通輸入端,只有在G1=1,G2A=0,G2B=0時(shí),譯碼器正常譯碼,否則Y0-Y7均為高電平。 輸輸 入入 輸輸 出出G1 G2A G2B A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1

4、 1 1 11 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 3線線8線譯碼器線譯碼器74138真值表真值表 按數(shù)據(jù)流描述方式編寫的按數(shù)據(jù)流描述方式編寫的3線線8線譯碼器線譯碼器74138LIBRARY

5、 IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder138 IS PORT(G1,G2A,G2B: IN STD_LOGIC; A: IN STD_LOGIC_VECTOR(2 DOWNTO 0); Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END decoder138;ARCHITECTURE dataflow OF decoder138 ISBEGIN PROCESS (G1,G2A,G2B,A) BEGIN IF(G1=1 AND G2A=0 AND G2B=0) THEN CASE A IS WHEN 000 =

6、 Y Y Y Y Y Y Y Y =01111111; END CASE; ELSE Y 順序處理語句; when 分支條件 = 順序處理語句; when 分支條件 = 順序處理語句; end case;IIIIIIII01324567AAA0128線-3線編碼器7.2 7.2 編碼器編碼器 用一組二進(jìn)制代碼按一定規(guī)則表示給定字母、數(shù)字、符號(hào)等信息的方法稱為編碼,能夠?qū)崿F(xiàn)這種編碼功能的邏輯電路稱為編碼器。 輸入輸入 輸出輸出I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0 1 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0

7、0 0 0 0 1 00 0 0 1 0 0 0 0 0 1 10 0 0 0 1 0 0 0 1 0 00 0 0 0 0 1 0 0 1 0 10 0 0 0 0 0 1 0 1 1 00 0 0 0 0 0 0 1 1 1 18線線3線編碼線編碼器真值真值表 A2=I4+I5+I6+I7A1=I2+I3+I6+I7A0=I1+I3+I5+I7 邏輯表達(dá)式:邏輯表達(dá)式:例:采用行為描述方式的例:采用行為描述方式的8線線3線編碼器線編碼器VHDL源代碼源代碼 (依據(jù)邏輯表達(dá)式)依據(jù)邏輯表達(dá)式)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY co

8、der83_v1 IS PORT(I0,I1,I2,I3,I4,I5,I6,I7: IN STD_LOGIC; A0,A1,A2: OUT STD_LOGIC);END coder83_v1;ARCHITECTURE behave OF coder83_v1 ISBEGIN A2 = I4 OR I5 OR I6 OR I7; A1 = I2 OR I3 OR I6 OR I7; A0 A A A A A A A A =000; END CASE; END PROCESS;END dataflow; 優(yōu)先編碼器優(yōu)先編碼器優(yōu)先編碼器常用于中斷的優(yōu)先控制。當(dāng)其某一個(gè)輸入有效時(shí),就可以輸出一個(gè)對(duì)應(yīng)的

9、3位二進(jìn)制碼。另外,當(dāng)同時(shí)有幾個(gè)輸入有效時(shí),將輸出優(yōu)先級(jí)最高的那個(gè)輸入所對(duì)應(yīng)的二進(jìn)制碼。低電平有效input(0)優(yōu)先級(jí)最高,input(1)優(yōu)先級(jí)次之,如此類推,input(7)優(yōu)先級(jí)最低LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY priorityencoder IS PORT( input: IN STD_LOGIC_VECTOR(7 DOWNTO 0); y: OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END priorityencoder;ARCHITECTURE rtl OF priorityencoder

10、IS BEGIN PROCESS(input) BEGIN IF(input(0)=0) THEN y=“111”; ELSIF (input(1)=0) THEN y=“110”;按行為數(shù)為數(shù)據(jù)流方式編寫優(yōu)編寫優(yōu)先編碼編碼器的VHDL源代碼碼如下:input(0)優(yōu)先級(jí)最高,input(1)優(yōu)先級(jí)次之,如此 類 推 ,input(7)優(yōu)先級(jí)最低 ELSIF (input(2)=0) THEN y=“101”; ELSIF (input(3)=0) THEN y=“100”; ELSIF (input(4)=0) THEN y=“011”; ELSIF (input(5)=0) THEN y=

11、“010”; ELSIF (input(6)=0) THEN y=“001”; ELSE yA=“000”; 因此不能用因此不能用CASECASE語句來描述語句來描述7414874148,而采用,而采用IFIF語句對(duì)語句對(duì)7414874148進(jìn)行進(jìn)行了邏輯描述。了邏輯描述。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY priorityencoder IS PORT( input: IN STD_LOGIC_VECTOR(7 DOWNTO 0); y: OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END priorityen

12、coder;ARCHITECTURE rtl OF priorityencoder IS BEGIN PROCESS(input) BEGIN IF(input(7)=0) THEN y=“000”; END IF; IF(input(6)=0) THEN y=“001”; END IF; IF(input(5)=0) THEN y=“010”; END IF;方法方法2 2:進(jìn)程內(nèi)為順序語句,最先描述優(yōu)先級(jí)最低,:進(jìn)程內(nèi)為順序語句,最先描述優(yōu)先級(jí)最低, 最后描述優(yōu)先級(jí)最高,可實(shí)現(xiàn)優(yōu)先級(jí)編碼。最后描述優(yōu)先級(jí)最高,可實(shí)現(xiàn)優(yōu)先級(jí)編碼。input(0)優(yōu)先級(jí)最高,input(1)優(yōu)先級(jí)次之,如此 類

13、 推 ,input(7)優(yōu)先級(jí)最低 IF(input(4)=0) THEN y=“011”; END IF; IF(input(3)=0) THEN y=“100”; END IF; IF(input(2)=0) THEN y=“101”; END IF; IF(input(1)=0) THEN y=“110”; END IF; IF(input(0)=0) THEN y=“111”; END IF; END PROCESS;END rtl;7.3 7.3 選擇器選擇器在多路數(shù)據(jù)傳送過程中,能夠根據(jù)需要將其中任意一路選出來的電路,叫做數(shù)據(jù)選擇器,也稱多路選擇器或多路開關(guān)。 8選選1數(shù)據(jù)選擇器設(shè)

14、計(jì)數(shù)據(jù)選擇器設(shè)計(jì)DG0DD1Y8選1數(shù)據(jù)選擇器D741513DDY5D4276D10AA2AYbD7D71110D6D60110D5D51010D4D40010D3D31100D2D20100D1D11000D0D0000010XXX1A0A1A2GY地址選擇使能輸出輸入74151 8選選1數(shù)數(shù)據(jù)選擇選擇器真值真值表 參考參考7415174151的真值表,采用的真值表,采用IFIF語句結(jié)構(gòu)編寫的語句結(jié)構(gòu)編寫的VHDLVHDL源源代碼如下:代碼如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux8 IS PORT(A: IN STD_LO

15、GIC_VECTOR (2 DOWNTO 0); D0,D1,D2,D3,D4,D5,D6,D7:IN STD_LOGIC; G:IN STD_LOGIC; Y: OUT STD_LOGIC; YB:OUT STD_LOGIC);END mux8;ARCHITECTURE dataflow OF mux8 IS BEGIN PROCESS (A,D0,D1,D2,D3,D4,D5,D6,D7,G)用用IF語句設(shè)計(jì)語句設(shè)計(jì)8選選1選擇器選擇器 BEGIN IF (G =1) THEN Y =0; YB =1; ELSIF(G=0AND A=000)THEN Y = D0; YB = NOT D0

16、; ELSIF(G=0AND A=001)THEN Y = D1; YB = NOT D1; ELSIF(G=0AND A=010)THEN Y = D2; YB = NOT D2; ELSIF(G=0AND A=011)THEN Y = D3; YB = NOT D3;用用IF語句設(shè)計(jì)語句設(shè)計(jì)8選選1選擇器(續(xù))選擇器(續(xù))多選擇控制的IF語句格式: IF 條件條件 THEN 順序處理語句;順序處理語句; ELSIF 條件條件 THEN 順序處理語句;順序處理語句; ELSIF 條件條件 THEN 順序處理語句;順序處理語句; ELSE 順序處理語句;順序處理語句; END IF; ELSI

17、F(G=0AND A=100)THEN Y = D4; YB = NOT D4; ELSIF(G=0AND A=101)THEN Y = D5; YB = NOT D5; ELSIF(G=0AND A=110)THEN Y = D6; YB = NOT D6;ELSE Y = D7; YB = NOT D7; END IF;END PROCESS; END dataflow; 用用IF語句設(shè)計(jì)語句設(shè)計(jì)8選選1選擇器(續(xù))選擇器(續(xù)) 參考參考74151的真值表,采用的真值表,采用CASE語句結(jié)構(gòu)編寫的語句結(jié)構(gòu)編寫的VHDL源代碼如下源代碼如下 LIBRARY IEEE;USE IEEE.STD

18、_LOGIC_1164.ALL;ENTITY mux8 IS PORT(A2,A1,A0: IN STD_LOGIC; D0,D1,D2,D3,D4,D5,D6,D7:IN STD_LOGIC; G:IN STD_LOGIC; Y: OUT STD_LOGIC; YB:OUT STD_LOGIC);END mux8;ARCHITECTURE dataflow OF mux8 IS SIGNAL comb: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN comb Y = D0; YB Y = D1; YB Y = D2; YB Y = D3; YB Y = D4; YB

19、 Y = D5; YB Y = D6; YB Y = D7; YB Y =0; YB =1; END CASE; END PROCESS; END dataflow;用用CASE語句設(shè)計(jì)語句設(shè)計(jì)8選選1選擇器(續(xù))選擇器(續(xù)) 其中其中: A和和B是兩個(gè)相加的是兩個(gè)相加的8位二進(jìn)制數(shù)位二進(jìn)制數(shù); Cin是低位進(jìn)位位是低位進(jìn)位位; S是是A、B相加之和相加之和; Co是是A、B相加之后的進(jìn)位位。相加之后的進(jìn)位位。7. 4 加法器加法器 加法器是數(shù)字電路中的基本運(yùn)算單元,下例是直接利用VHDL運(yùn)算符“+”實(shí)現(xiàn)加法運(yùn)算的8位加法器源代碼。 輸輸 入入 輸輸 出出CIABSCO000000011001

20、0100110110010101011100111111全加器真值真值表LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder8 IS PORT(A : IN STD_LOGIC_VECTOR(7 DOWNTO 0); B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Cin: IN STD_LOGIC; Co: OUT STD_LOGIC; S: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END adder8;把兩位輸入A,B分別

21、定義成8位二進(jìn)制數(shù),輸出S也定義成8位二進(jìn)制數(shù),低位進(jìn)位和高位進(jìn)位定義為1位邏輯位 ARCHITECTURE behave OF adder8 IS SIGNAL Sint : STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL AA,BB: STD_LOGIC_VECTOR(8 DOWNTO 0); BEGIN AA =0& A(7 DOWNTO 0); BB =0& B(7 DOWNTO 0); Sint = AA + BB + Cin; S(7 DOWNTO 0) = Sint(7 DOWNTO 0); Co = Sint(8); END behave;將將8位加數(shù)

22、矢量擴(kuò)展為位加數(shù)矢量擴(kuò)展為9位,為進(jìn)位提供空間位,為進(jìn)位提供空間7.5 求補(bǔ)器求補(bǔ)器 求二進(jìn)制數(shù)的補(bǔ)碼求二進(jìn)制數(shù)的補(bǔ)碼, ,直接用直接用RTLRTL描述描述比較簡潔方便比較簡潔方便: :7.6 7.6 三態(tài)門三態(tài)門三態(tài)門,是指邏輯門的輸出除有高、低電平兩種狀態(tài)外,還有第三種狀態(tài)高阻狀態(tài)的門電路。高阻態(tài)相當(dāng)于隔斷狀態(tài)。 三態(tài)門都有一個(gè)EN控制使能端,來控制門電路的通斷。利用三態(tài)門可以方便地將輸出端連接到總線。 三態(tài)門電路結(jié)構(gòu)體中是一個(gè)進(jìn)程語句,而進(jìn)程語句中利用IF語句的二選擇語句來描述三態(tài)門。en是使能端口。高阻狀態(tài)Z,必須大寫。if 條件條件 then 順序處理語句;順序處理語句;else 順序處理語句;順序處理語句;end if ;衛(wèi)式塊結(jié)構(gòu)描述三態(tài)門:衛(wèi)式塊結(jié)構(gòu)描述三態(tài)門:CASE語句描述三態(tài)門:語句描述三態(tài)門:注意:一個(gè)實(shí)體可以對(duì)應(yīng)多種構(gòu)造體。注意:一個(gè)實(shí)體

溫馨提示

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

評(píng)論

0/150

提交評(píng)論