




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章第三章 組合邏輯電路組合邏輯電路主講人:徐向民教授主講人:徐向民教授本章目錄本章目錄概述概述基本邏輯門電路的設(shè)計(jì)基本邏輯門電路的設(shè)計(jì)譯碼器的設(shè)計(jì)譯碼器的設(shè)計(jì)編碼器的設(shè)計(jì)編碼器的設(shè)計(jì)加法器的設(shè)計(jì)加法器的設(shè)計(jì)其它組合模塊的設(shè)計(jì)其它組合模塊的設(shè)計(jì)組合邏輯電路組合邏輯電路概述概述數(shù)字電路按其完成邏輯功能的不同特點(diǎn),劃分為數(shù)字電路按其完成邏輯功能的不同特點(diǎn),劃分為組合組合邏輯電路邏輯電路和和時(shí)序邏輯電路時(shí)序邏輯電路兩大類。兩大類。 組合邏輯電路在邏輯功能上的特點(diǎn)是任意時(shí)刻的組合邏輯電路在邏輯功能上的特點(diǎn)是任意時(shí)刻的輸出僅僅取決于該時(shí)刻的輸入,與電路原來(lái)的狀輸出僅僅取決于該時(shí)刻的輸入,與電路原來(lái)的狀
2、態(tài)無(wú)關(guān)態(tài)無(wú)關(guān) 而時(shí)序邏輯電路在邏輯功能上的特點(diǎn)是任意時(shí)刻而時(shí)序邏輯電路在邏輯功能上的特點(diǎn)是任意時(shí)刻的輸出不僅取決于當(dāng)時(shí)的輸入信號(hào),而且還取決的輸出不僅取決于當(dāng)時(shí)的輸入信號(hào),而且還取決于電路原來(lái)的狀態(tài),或者說(shuō),還與以前的輸入有于電路原來(lái)的狀態(tài),或者說(shuō),還與以前的輸入有關(guān)。關(guān)。組合邏輯電路組合邏輯電路概述概述3-83-8譯碼器譯碼器如右圖的如右圖的3-83-8譯碼器,譯碼器,Y1Y1到到Y(jié)8Y8的的輸出值只與輸出值只與A1A1、A2A2、A3A3和片選信和片選信號(hào)號(hào)S1S1、S2S2、S3S3的當(dāng)前輸入值有關(guān),的當(dāng)前輸入值有關(guān),而與而與A1A1、A2A2、A3A3、S1S1、S2S2和和S3S3以
3、以前任一時(shí)刻的任意輸入狀態(tài)無(wú)關(guān),前任一時(shí)刻的任意輸入狀態(tài)無(wú)關(guān),因此是一個(gè)典型的組合邏輯電路,因此是一個(gè)典型的組合邏輯電路,而并非時(shí)序邏輯電路而并非時(shí)序邏輯電路組合邏輯電路組合邏輯電路概述概述從邏輯上講,從邏輯上講,組合電路在任一時(shí)刻的輸出狀組合電路在任一時(shí)刻的輸出狀態(tài)僅由該時(shí)刻的信號(hào)決定,而與電路原來(lái)的態(tài)僅由該時(shí)刻的信號(hào)決定,而與電路原來(lái)的狀態(tài)無(wú)關(guān)。狀態(tài)無(wú)關(guān)。組合邏輯電路:組合邏輯電路:電路無(wú)記憶功能電路無(wú)記憶功能從結(jié)構(gòu)上講,從結(jié)構(gòu)上講,組合電路都是單純由邏輯門組成,組合電路都是單純由邏輯門組成,且輸出不存在反饋路徑。(不含存儲(chǔ)單元)且輸出不存在反饋路徑。(不含存儲(chǔ)單元)組合邏輯電路框圖組合邏
4、輯電路框圖常用的組合邏輯電路:常用的組合邏輯電路:簡(jiǎn)單門電路、選擇器、譯碼器、簡(jiǎn)單門電路、選擇器、譯碼器、三態(tài)門等三態(tài)門等組合邏輯電路組合邏輯電路X X1 1X X2 2XnXnY Y2 2YnYnY Y1 1輸入輸入輸出輸出組合邏輯電路組合邏輯電路概述概述傳統(tǒng)的設(shè)計(jì)方法:采用標(biāo)準(zhǔn)組件進(jìn)行設(shè)計(jì)傳統(tǒng)的設(shè)計(jì)方法:采用標(biāo)準(zhǔn)組件進(jìn)行設(shè)計(jì)(1 1)邏輯問(wèn)題的描述。將設(shè)計(jì)問(wèn)題轉(zhuǎn)化為一個(gè)邏輯問(wèn)題)邏輯問(wèn)題的描述。將設(shè)計(jì)問(wèn)題轉(zhuǎn)化為一個(gè)邏輯問(wèn)題(2 2)邏輯函數(shù)簡(jiǎn)化。將第一步的函數(shù)化簡(jiǎn),求得描述設(shè)計(jì))邏輯函數(shù)簡(jiǎn)化。將第一步的函數(shù)化簡(jiǎn),求得描述設(shè)計(jì) 問(wèn)題的最簡(jiǎn)表達(dá)式問(wèn)題的最簡(jiǎn)表達(dá)式(3 3)邏輯函數(shù)轉(zhuǎn)換。根據(jù)使用
5、的門電路類型,將表達(dá)式變)邏輯函數(shù)轉(zhuǎn)換。根據(jù)使用的門電路類型,將表達(dá)式變 換為所需形式換為所需形式(4 4)畫邏輯圖,并考慮實(shí)際工程問(wèn)題。)畫邏輯圖,并考慮實(shí)際工程問(wèn)題。組合邏輯電路的設(shè)計(jì)方法:組合邏輯電路的設(shè)計(jì)方法:組合邏輯電路組合邏輯電路概述概述現(xiàn)代現(xiàn)代EDAEDA設(shè)計(jì)方法:使用可編程邏輯器件和硬件描述語(yǔ)言設(shè)計(jì)設(shè)計(jì)方法:使用可編程邏輯器件和硬件描述語(yǔ)言設(shè)計(jì)(1 1)邏輯問(wèn)題的描述。將設(shè)計(jì)問(wèn)題轉(zhuǎn)化為一個(gè)邏輯問(wèn)題)邏輯問(wèn)題的描述。將設(shè)計(jì)問(wèn)題轉(zhuǎn)化為一個(gè)邏輯問(wèn)題(2 2)根據(jù)邏輯問(wèn)題,用硬件描述語(yǔ)言進(jìn)行描述)根據(jù)邏輯問(wèn)題,用硬件描述語(yǔ)言進(jìn)行描述(3 3)對(duì)描述進(jìn)行綜合,仿真測(cè)試)對(duì)描述進(jìn)行綜合,仿
6、真測(cè)試(4 4)生成最終網(wǎng)表,下載到芯片)生成最終網(wǎng)表,下載到芯片組合邏輯電路的設(shè)計(jì)方法:組合邏輯電路的設(shè)計(jì)方法:組合邏輯電路組合邏輯電路概述概述傳統(tǒng)的設(shè)計(jì)方傳統(tǒng)的設(shè)計(jì)方法法EDAEDA設(shè)計(jì)方法設(shè)計(jì)方法設(shè)計(jì)方式設(shè)計(jì)方式人工為主人工為主電腦輔助為主電腦輔助為主設(shè)計(jì)過(guò)程設(shè)計(jì)過(guò)程復(fù)雜復(fù)雜簡(jiǎn)單簡(jiǎn)單可讀性可讀性低低高高移植性移植性低低高高錯(cuò)誤修正錯(cuò)誤修正麻煩麻煩容易容易正確性檢驗(yàn)正確性檢驗(yàn)麻煩麻煩容易容易兩種設(shè)計(jì)方法的比較:兩種設(shè)計(jì)方法的比較:組合邏輯電路組合邏輯電路門電路門電路基本邏輯門電路基本邏輯門電路組合邏輯電路組合邏輯電路門電路門電路數(shù)字電路中的四種基本操作數(shù)字電路中的四種基本操作是與、或、非及
7、觸發(fā)器操作,是與、或、非及觸發(fā)器操作,前三種為組合電路,后一種前三種為組合電路,后一種為時(shí)序電路。與非為時(shí)序電路。與非 、或非、或非和異或的操作仍然是與、或、和異或的操作仍然是與、或、非的基本操作。與、或、非、非的基本操作。與、或、非、與非、或非和異或等基本邏與非、或非和異或等基本邏輯門電路為常用的門電路。輯門電路為常用的門電路。這一小節(jié)將以與非門和或非門為例,介紹如何使用這一小節(jié)將以與非門和或非門為例,介紹如何使用VHDLVHDL語(yǔ)言描述進(jìn)行簡(jiǎn)單的門電路設(shè)計(jì)語(yǔ)言描述進(jìn)行簡(jiǎn)單的門電路設(shè)計(jì)組合邏輯電路組合邏輯電路門電路門電路二輸入與非門是一種常用的簡(jiǎn)單邏輯電路,它有二輸入與非門是一種常用的簡(jiǎn)單邏
8、輯電路,它有兩個(gè)輸入端,一個(gè)輸出端。從輸入段輸入兩個(gè)信兩個(gè)輸入端,一個(gè)輸出端。從輸入段輸入兩個(gè)信號(hào),輸出段輸出這兩個(gè)信號(hào)的邏輯與非值。號(hào),輸出段輸出這兩個(gè)信號(hào)的邏輯與非值。nandnand是邏輯操作符與是邏輯操作符與非,把非,把nandnand替換為替換為nornor即可得到二輸入即可得到二輸入或非門或非門Library IEEE;Use IEEE.std_logic_1164.all;Entity nand2 is port ( a, b: in std_logic; y: out std_logic);End nand2;Architecture behav of nand2 isBegi
9、n y=a nand b;End behav;真值表真值表組合邏輯電路組合邏輯電路譯碼器譯碼器譯碼器的設(shè)計(jì)譯碼器的設(shè)計(jì)組合邏輯電路組合邏輯電路譯碼器譯碼器譯碼器的功能譯碼器的功能對(duì)具有特定含義的輸入代碼進(jìn)行對(duì)具有特定含義的輸入代碼進(jìn)行 翻譯翻譯 ,將其轉(zhuǎn)換成相,將其轉(zhuǎn)換成相應(yīng)的輸出信號(hào)應(yīng)的輸出信號(hào)。 什么是譯碼器什么是譯碼器(Decoder) 實(shí)現(xiàn)譯碼的組合邏輯電路稱為譯碼器。它的輸入是一組實(shí)現(xiàn)譯碼的組合邏輯電路稱為譯碼器。它的輸入是一組二進(jìn)制代碼,輸出是一組高低電平信號(hào)。每輸入一組不二進(jìn)制代碼,輸出是一組高低電平信號(hào)。每輸入一組不同的代碼,只有一個(gè)輸出呈有效狀態(tài)。同的代碼,只有一個(gè)輸出呈有效
10、狀態(tài)。譯碼器譯碼器和和編碼器編碼器是數(shù)字系統(tǒng)中廣泛使用的多輸入多輸是數(shù)字系統(tǒng)中廣泛使用的多輸入多輸出組合邏輯部件出組合邏輯部件。組合邏輯電路組合邏輯電路譯碼器譯碼器 譯碼器的分類譯碼器的分類譯碼器可分為以下四類:譯碼器可分為以下四類: 變量譯碼器變量譯碼器: : 把輸入的二進(jìn)制代碼的各種組合狀態(tài)把輸入的二進(jìn)制代碼的各種組合狀態(tài)翻譯成對(duì)應(yīng)的輸出信號(hào)。翻譯成對(duì)應(yīng)的輸出信號(hào)。 碼制變換譯碼器碼制變換譯碼器 : :將將一種代碼變換為另一種代碼的一種代碼變換為另一種代碼的電路。電路。 顯示譯碼器顯示譯碼器: :如如將數(shù)據(jù)顯示在七段數(shù)碼管上時(shí)的譯碼。將數(shù)據(jù)顯示在七段數(shù)碼管上時(shí)的譯碼。 地址譯碼器地址譯碼器
11、: :將將譯碼器輸入端的輸入地址信號(hào)翻譯成譯碼器輸入端的輸入地址信號(hào)翻譯成相應(yīng)的輸出控制信號(hào)。相應(yīng)的輸出控制信號(hào)。 組合邏輯電路組合邏輯電路譯碼器譯碼器常用譯碼器:常用譯碼器:l常用的譯碼器有:雙常用的譯碼器有:雙2:42:4線譯碼器,線譯碼器,3:83:8線譯碼器,線譯碼器,4:164:16線譯碼器和線譯碼器和4:104:10線譯碼器等,其中線譯碼器等,其中4:104:10線譯線譯碼器用于碼器用于BCDBCD碼譯碼。碼譯碼。下面就以下面就以3 38 8譯碼器為例子,介紹如何使用譯碼器為例子,介紹如何使用VHDLVHDL語(yǔ)語(yǔ)言描述實(shí)現(xiàn)。言描述實(shí)現(xiàn)。組合邏輯電路組合邏輯電路譯碼器譯碼器3-83-
12、8譯碼器譯碼器n如圖所示,是個(gè)如圖所示,是個(gè)3-83-8譯碼器(譯碼器(74LS138)74LS138)n3 3個(gè)二進(jìn)制輸入端,對(duì)輸入個(gè)二進(jìn)制輸入端,對(duì)輸入a, b, ca, b, c的值的值進(jìn)行譯碼,就可以確定哪一個(gè)輸出端變進(jìn)行譯碼,就可以確定哪一個(gè)輸出端變?yōu)橛行Вǖ碗娖剑橛行Вǖ碗娖剑?ng1, g2a, g2bg1, g2a, g2b是選通信號(hào),只有當(dāng)是選通信號(hào),只有當(dāng)g1=1, g2a=0g1=1, g2a=0和和g2b=0g2b=0時(shí),時(shí),譯碼器才正常譯碼。譯碼器才正常譯碼。組合邏輯電路組合邏輯電路譯碼器譯碼器3-83-8譯碼器的描述譯碼器的描述Library IEEE;Use I
13、EEE.std_logic_1164.all;Entity decoder_38 is Port ( a, b , c, g1, g2a, g2b: in std_logic; y: out std_logic_vector (7 downto 0) );End decoder_38;Architecture behav of decoder_38 isSignal indata : std_logic_vector(2 downto 0);Begin indata y y y y y y y y y=“XXXXXXXX”; End case; Else y=“11111111”; End i
14、f; End process;End behav;注意:注意:Case語(yǔ)句可用語(yǔ)句可用If語(yǔ)語(yǔ)句進(jìn)行改寫句進(jìn)行改寫組合邏輯電路組合邏輯電路譯碼器譯碼器3-83-8譯碼器的描述(接上)譯碼器的描述(接上)改寫后的改寫后的IFIF語(yǔ)句語(yǔ)句: :If (g1=1and g2a=0 and g2b=0) then y=“11111111”;Elsif indata=“000” then y=“11111110”; Elsif indata=“001” then y=“11111101”;Elsif indata=“010” then y=“11111011”;Elsif indata=“011” th
15、en y=“11110111”;Elsif indata=“100” then y=“11101111”;Elsif indata=“101” then y=“11011111”;Elsif indata=“110” then y=“10111111”;Elsif indata=“111” then y=“01111111”;End if;組合邏輯電路組合邏輯電路譯碼器譯碼器小結(jié)小結(jié)l本例設(shè)計(jì)的是一個(gè)本例設(shè)計(jì)的是一個(gè)3838線譯碼器,有使能端,低電平有線譯碼器,有使能端,低電平有效。效。l這個(gè)程序的一、二句是庫(kù)和程序包的語(yǔ)言。接下來(lái)是實(shí)這個(gè)程序的一、二句是庫(kù)和程序包的語(yǔ)言。接下來(lái)是實(shí)體,主要是
16、定義了一些輸入、輸出端口。需要注意的是體,主要是定義了一些輸入、輸出端口。需要注意的是要幫實(shí)體命名,如要幫實(shí)體命名,如“decoder_38”,并且工程名與實(shí)體,并且工程名與實(shí)體名保持一致。還要有結(jié)束語(yǔ),如名保持一致。還要有結(jié)束語(yǔ),如“end decoder_38”。l最后是結(jié)構(gòu)體部分,其中最后是結(jié)構(gòu)體部分,其中“=”=”是信號(hào)傳輸符號(hào),是信號(hào)傳輸符號(hào),“indata=c & b & a”表示把表示把c c、b b、a a進(jìn)行位合并并且賦進(jìn)行位合并并且賦值給信號(hào)值給信號(hào)indata。進(jìn)程語(yǔ)句是結(jié)構(gòu)體的一種子程序,括號(hào)。進(jìn)程語(yǔ)句是結(jié)構(gòu)體的一種子程序,括號(hào)內(nèi)的信號(hào)量是內(nèi)的信號(hào)量是p
17、rocess的輸入信號(hào),這些信號(hào)無(wú)論哪個(gè)發(fā)的輸入信號(hào),這些信號(hào)無(wú)論哪個(gè)發(fā)生變化,都將啟動(dòng)生變化,都將啟動(dòng)process語(yǔ)句。語(yǔ)句。組合邏輯電路組合邏輯電路編碼器編碼器編碼器的設(shè)計(jì)編碼器的設(shè)計(jì)組合邏輯電路組合邏輯電路編碼器編碼器編碼器的功能編碼器的功能將信號(hào)(如比特流)或數(shù)據(jù)進(jìn)行編制、轉(zhuǎn)換成用于通信,將信號(hào)(如比特流)或數(shù)據(jù)進(jìn)行編制、轉(zhuǎn)換成用于通信,傳輸和存儲(chǔ)的信號(hào)形式。傳輸和存儲(chǔ)的信號(hào)形式。什么是編碼器什么是編碼器(Encoder) 完成編碼工作的組合邏輯電路稱為譯碼器。它的輸入是完成編碼工作的組合邏輯電路稱為譯碼器。它的輸入是一組高低電平信號(hào),輸出是一組二進(jìn)制代碼。每輸入一一組高低電平信號(hào),
18、輸出是一組二進(jìn)制代碼。每輸入一組高低電平信號(hào),則輸出不同的二進(jìn)制代碼。組高低電平信號(hào),則輸出不同的二進(jìn)制代碼。與譯碼器類似,編碼器同樣是數(shù)字系統(tǒng)中廣泛使用的與譯碼器類似,編碼器同樣是數(shù)字系統(tǒng)中廣泛使用的多輸入多輸出組合邏輯部件多輸入多輸出組合邏輯部件。組合邏輯電路組合邏輯電路編碼器編碼器優(yōu)先級(jí)編碼器優(yōu)先級(jí)編碼器n如圖,如圖,74LS14874LS148是一個(gè)是一個(gè)8 8輸入,輸入,3 3位二進(jìn)制碼輸出的優(yōu)先級(jí)編碼位二進(jìn)制碼輸出的優(yōu)先級(jí)編碼器。器。n當(dāng)某一個(gè)輸入有效時(shí)(低電當(dāng)某一個(gè)輸入有效時(shí)(低電平),就可以輸出一個(gè)對(duì)應(yīng)的平),就可以輸出一個(gè)對(duì)應(yīng)的3 3位二進(jìn)制編碼。位二進(jìn)制編碼。n當(dāng)同時(shí)有幾個(gè)
19、輸入有效時(shí),將當(dāng)同時(shí)有幾個(gè)輸入有效時(shí),將輸出輸出優(yōu)先級(jí)最高優(yōu)先級(jí)最高的那個(gè)輸入對(duì)的那個(gè)輸入對(duì)應(yīng)的二進(jìn)制編碼。應(yīng)的二進(jìn)制編碼。組合邏輯電路組合邏輯電路編碼器編碼器優(yōu)先級(jí)編碼器實(shí)現(xiàn)優(yōu)先級(jí)編碼器實(shí)現(xià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 priorityencoder;Architecture behav of priori
20、tyencoder isBegin Process(input) Begin組合邏輯電路組合邏輯電路編碼器編碼器優(yōu)先級(jí)編碼器的實(shí)現(xiàn)(接上)優(yōu)先級(jí)編碼器的實(shí)現(xiàn)(接上)If ( input(0)=0) then y=“111”; elsif ( input(1)=0) then y=“110”; 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=“010”; elsif ( input(6)=
21、0) then y=“001”; elsif ( input(7)=0) then y=“000”; else y=“XXX”; end if; End process;End behav;當(dāng)當(dāng)input=input=“01011111”“01011111”時(shí),編碼成?時(shí),編碼成?因?yàn)橐驗(yàn)镮F語(yǔ)句是一種語(yǔ)句是一種流流程控制語(yǔ)句程控制語(yǔ)句,判斷條,判斷條件有前后次序,所以件有前后次序,所以應(yīng)編碼為應(yīng)編碼為“010”010”。組合邏輯電路組合邏輯電路加法器加法器加法器的設(shè)計(jì)加法器的設(shè)計(jì)組合邏輯電路組合邏輯電路加法器加法器加法器加法器 在數(shù)字系統(tǒng)中,常需要進(jìn)行加、減、乘、除等運(yùn)算,而乘、在數(shù)字系統(tǒng)中
22、,常需要進(jìn)行加、減、乘、除等運(yùn)算,而乘、除和減法運(yùn)算均可變換為加法運(yùn)算,故加法運(yùn)算電路應(yīng)用十分除和減法運(yùn)算均可變換為加法運(yùn)算,故加法運(yùn)算電路應(yīng)用十分廣泛,另外,加法器還可用于碼組變換,數(shù)值比較等,因此加廣泛,另外,加法器還可用于碼組變換,數(shù)值比較等,因此加法器是數(shù)字系統(tǒng)中最基本的運(yùn)算單元。法器是數(shù)字系統(tǒng)中最基本的運(yùn)算單元。 加法在數(shù)字系統(tǒng)中分為加法在數(shù)字系統(tǒng)中分為全加全加和和半加半加,所以,所以加法器也分為加法器也分為全加器全加器和和半加器半加器。組合邏輯電路組合邏輯電路加法器加法器半加器半加器不考慮由低位來(lái)的進(jìn)位,只有本位兩個(gè)數(shù)相加,不考慮由低位來(lái)的進(jìn)位,只有本位兩個(gè)數(shù)相加,稱為半加器。稱為
23、半加器。全加器全加器除本位兩個(gè)數(shù)相加外,還要加上從低位來(lái)的進(jìn)位除本位兩個(gè)數(shù)相加外,還要加上從低位來(lái)的進(jìn)位數(shù),稱為全加器數(shù),稱為全加器半加器半加器全加器全加器輸入個(gè)數(shù)輸入個(gè)數(shù)2 23 3輸出個(gè)數(shù)輸出個(gè)數(shù)2 22 2是否考慮低是否考慮低位進(jìn)位位進(jìn)位不考慮不考慮考慮考慮組合邏輯電路組合邏輯電路加法器加法器半加器半加器 半加器半加器不考慮低位向高位的進(jìn)位,不考慮低位向高位的進(jìn)位,因此它只有兩個(gè)輸因此它只有兩個(gè)輸入端和兩個(gè)輸出端。入端和兩個(gè)輸出端。Sum= X XOR Y;Carry= X AND Y;SumCarryXY LIBRARY ieee; USE ieee.std_logic_1164.al
24、l; ENTITY halfadder IS PORT( X,Y :in std_logic; Sum,Carry :out std_logic); END halfadder; ARCHITECTURE a OF halfadder IS BEGIN Sum=X xor Y; Carry=X and Y; END a;邏輯圖邏輯圖組合邏輯電路組合邏輯電路加法器加法器邏輯圖邏輯圖 全加器全加器考慮低位向高位的進(jìn)位,考慮低位向高位的進(jìn)位,所以它有三個(gè)輸入端所以它有三個(gè)輸入端和兩個(gè)輸出端。和兩個(gè)輸出端。 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTI
25、TY full_add IS PORT ( X,Y,Z:in bit; Sum,Carry:out bit); END full_add; ARCHITECTURE a OF full_add IS BEGIN Sum = X xor Y xor Z; Carry=(X and Y) or (Y and Z) or (Z and X); END a; SumCarryXYZsum = (X xorY) xor Z ;cout = (X and Y) or (Y and Z) or (Z and X);全加器全加器組合邏輯電路組合邏輯電路加法器加法器加法器的模塊化加法器的模塊化當(dāng)全加器設(shè)計(jì)完成后
26、,采用模塊化設(shè)計(jì)方法,將全加器作為一當(dāng)全加器設(shè)計(jì)完成后,采用模塊化設(shè)計(jì)方法,將全加器作為一個(gè)組件個(gè)組件(component)定義,加入名為定義,加入名為components的程序包的程序包中,以后可以統(tǒng)一將設(shè)計(jì)的組件放在這個(gè)程序包中。中,以后可以統(tǒng)一將設(shè)計(jì)的組件放在這個(gè)程序包中。Library IEEE; Use IEEE.std_logic_1164.all; PACKAGE components IS COMPONENTS fadd IS Port(a,b,ci:IN std_logic; co,sum:OUT std_logic); END fadd; End components;組合
27、邏輯電路組合邏輯電路加法器加法器四位串行進(jìn)位全加器的設(shè)計(jì)四位串行進(jìn)位全加器的設(shè)計(jì)l根據(jù)模塊化設(shè)計(jì)思想,多位的加法器可將全加器根據(jù)模塊化設(shè)計(jì)思想,多位的加法器可將全加器作為一個(gè)基本組件多個(gè)級(jí)聯(lián),如圖所示。作為一個(gè)基本組件多個(gè)級(jí)聯(lián),如圖所示。l在設(shè)計(jì)中,使用在設(shè)計(jì)中,使用Component語(yǔ)句,與語(yǔ)句,與Port Map語(yǔ)語(yǔ)句結(jié)合句結(jié)合可以可以讓我們像堆積木讓我們像堆積木一般一般搭建出較為復(fù)雜搭建出較為復(fù)雜的電路的電路組合邏輯電路組合邏輯電路加法器加法器四位串行進(jìn)位全加器的實(shí)現(xiàn)四位串行進(jìn)位全加器的實(shí)現(xiàn)Library IEEE;Use IEEE.std_logic_1164.all;Use pone
28、nts.all ;Entity fadd4 is port ( a , b : in std_logic_vector(3 downto 0) ; ci: in std_logic; co: out std_logic; sum: out std_logic_vector ( 3 downto 0) );End fadd4 ;Architecture stru of fadd4 is signal ci_ns : std_logic_vector(2 downto 0);Begin U0: fadd port map ( a(0), b(0) , ci, ci_ns(0), sum(0) );
29、 U1: fadd port map ( a(1), b(1) , ci_ns(0), ci_ns(1), sum(1) ); U2: fadd port map ( a(2), b(2) , ci_ns(1), ci_ns(2), sum(2) ); U3: fadd port map ( a(3), b(3) , ci_ns(2), co, sum(3) );End stru;Architecture behav of 實(shí)體名稱實(shí)體名稱 IS component 元件元件A A port ( );end component;component 元件元件B B port ( );end co
30、mponent; 組合邏輯電路組合邏輯電路加法器加法器四位并行進(jìn)位全加器四位并行進(jìn)位全加器串行進(jìn)位加法器,在每一位的計(jì)算時(shí),都在等待前一位的串行進(jìn)位加法器,在每一位的計(jì)算時(shí),都在等待前一位的進(jìn)位,因此,位數(shù)越多,速度越慢。那是否能先考慮進(jìn)位進(jìn)位,因此,位數(shù)越多,速度越慢。那是否能先考慮進(jìn)位的輸出?并行進(jìn)位的思想在于各級(jí)進(jìn)位信號(hào)同時(shí)產(chǎn)生,大的輸出?并行進(jìn)位的思想在于各級(jí)進(jìn)位信號(hào)同時(shí)產(chǎn)生,大大減少了進(jìn)位產(chǎn)生的時(shí)間。其進(jìn)位的邏輯表達(dá)式為:大減少了進(jìn)位產(chǎn)生的時(shí)間。其進(jìn)位的邏輯表達(dá)式為:組合邏輯電路組合邏輯電路加法器加法器四位并行進(jìn)位全加器的實(shí)現(xiàn)四位并行進(jìn)位全加器的實(shí)現(xiàn)Library IEEE;Use
31、IEEE.std_logic_1164.all;Use IEEE.std_logic_unsigned.all;Entity fadd4 is port ( a , b : in std_logic_vector(3 downto 0) ; ci: in std_logic; co: out std_logic; sum: out std_logic_vector ( 3 downto 0) );End fadd4 ;組合邏輯電路組合邏輯電路加法器加法器四位并行進(jìn)位全加器(接上)四位并行進(jìn)位全加器(接上)Architecture behav of fadd4 is signal d,t : s
32、td_logic _vector ( 3 downto 0); signal c: std_logic_vector ( 4 downto 0);Begin as_add: for i in 0 to 3 generate d(i)=a(i) and b(i); t(i)=a(i) or b(i) s(i)=a(i) xor b(i) xor c(i) end generate; c(0)=cin; c(1)=d(0) or (t(0) and c(0); c(2)=d(1) or (t(1) and d(0) or (t(1) and t(0) and c(0);組合邏輯電路組合邏輯電路加法
33、器加法器四位并行進(jìn)位全加器(接上)四位并行進(jìn)位全加器(接上) c(3)=d(2) or (t(2) and d(1) or (t(1) and t(2) and d(0) or (t(1) and t(2) and t(0) and c(0) ;c(4)=d(3) or (t(3) and d(2) or (t(3) and t(2) and d(1) or (t(1) and t(2) and t(3) and d(0) or (t(3) and t(2) and t(1) and t(0) and c(0); sum=c(3 downto 0); co=c(4);End behav;組合邏
34、輯電路組合邏輯電路加法器加法器串行進(jìn)位與并行進(jìn)位加法器性能比較串行進(jìn)位與并行進(jìn)位加法器性能比較1.1.串行進(jìn)位方式是將全加器級(jí)聯(lián)構(gòu)成多位加法器。串行進(jìn)位方式是將全加器級(jí)聯(lián)構(gòu)成多位加法器。2.2.并行進(jìn)位加法器設(shè)有并行進(jìn)位產(chǎn)生邏輯,運(yùn)算速并行進(jìn)位加法器設(shè)有并行進(jìn)位產(chǎn)生邏輯,運(yùn)算速度較快。度較快。3.3.并行進(jìn)位加法器通常比串行級(jí)聯(lián)加法器占用更多并行進(jìn)位加法器通常比串行級(jí)聯(lián)加法器占用更多的資源,隨著位數(shù)的增加,相同位數(shù)的并行加法的資源,隨著位數(shù)的增加,相同位數(shù)的并行加法器與串行加法器的資源占用差距快速增大。因此,器與串行加法器的資源占用差距快速增大。因此,在工程中使用加法器時(shí),要在速度和占用資源間
35、在工程中使用加法器時(shí),要在速度和占用資源間尋找平衡。尋找平衡。4.4.實(shí)踐表明,實(shí)踐表明,4 4位并行加法器和串行級(jí)聯(lián)加法器占位并行加法器和串行級(jí)聯(lián)加法器占用幾乎相同的資源,所以多位加法器(例如用幾乎相同的資源,所以多位加法器(例如8 8位)位)可以由可以由4 4位并行加法器級(jí)聯(lián)構(gòu)成。位并行加法器級(jí)聯(lián)構(gòu)成。組合邏輯電路組合邏輯電路加法器加法器8 8位加法器的實(shí)現(xiàn)位加法器的實(shí)現(xiàn)Library IEEE;Use IEEE.std_logic_1164.all;Use IEEE.std_logic_unsigned.all;Entity fadd8 is port ( a , b : in std_
36、logic_vector(7 downto 0) ; ci: in std_logic; co: out std_logic; sum: out std_logic_vector ( 7downto 0) );End fadd8 ;組合邏輯電路組合邏輯電路加法器加法器8 8位加法器的實(shí)現(xiàn)位加法器的實(shí)現(xiàn)Architecture stru of fadd8 is Component fadd4 port ( a , b : in std_logic_vector(3 downto 0) ; ci: in std_logic; co: out std_logic; sum: out std_logi
37、c_vector ( 3 downto 0) ); End component; -也可以放在程序包中定義也可以放在程序包中定義 Signal carry_out : std_logic ; Begin U1: fadd4 port map( a( 3 downto 0), b(3 downto 0), ci, carry_out, sun(3 downto 0) ); U2: fadd4 port map( a( 7 downto 4), b(7 downto 4), carry_out, co, sun(7 downto 4) );End stru; 組合邏輯電路組合邏輯電路其它組合邏輯模
38、塊其它組合邏輯模塊組合邏輯電路組合邏輯電路選擇器選擇器多路選擇器多路選擇器多路選擇器是數(shù)據(jù)選擇器的別稱。多路選擇器是數(shù)據(jù)選擇器的別稱。邏輯功能邏輯功能根據(jù)需要,在地址選擇信號(hào)的控制下,根據(jù)需要,在地址選擇信號(hào)的控制下,從多路輸入數(shù)據(jù)中選擇任意一路數(shù)據(jù)從多路輸入數(shù)據(jù)中選擇任意一路數(shù)據(jù)作為輸出端口的輸出數(shù)據(jù)作為輸出端口的輸出數(shù)據(jù). .常用的類型常用的類型4 4選選1 1數(shù)據(jù)選擇器、數(shù)據(jù)選擇器、8 8選選1 1數(shù)據(jù)選擇器(型號(hào)為數(shù)據(jù)選擇器(型號(hào)為7415174151、74LS15174LS151、7425174251、74LS15174LS151)、)、1616選選1 1數(shù)據(jù)選擇器(可以用兩片數(shù)據(jù)選
39、擇器(可以用兩片7415174151連接起來(lái)構(gòu)成)連接起來(lái)構(gòu)成)等等組合邏輯電路組合邏輯電路選擇器選擇器4 4選選1 1多路選擇器的實(shí)現(xiàn)多路選擇器的實(shí)現(xiàn)Library IEEE;Use IEEE.std_logic_1164.all;Entity mux4 is port ( input : in std_logic_vector (3 downto 0 ); a, b: in std_logic; y: out std_logic );End mux4;Architecture behav of mux4 is signal sel :std_logic_vector(1 downto 0)
40、;Begin sel=b & a; process(input , sel) begin注意:注意:信號(hào)需在結(jié)構(gòu)信號(hào)需在結(jié)構(gòu)體中說(shuō)明,而體中說(shuō)明,而變量則在進(jìn)程變量則在進(jìn)程或子程序中說(shuō)或子程序中說(shuō)明。明。組合邏輯電路組合邏輯電路選擇器選擇器4 4選選1 1多路選擇器的實(shí)現(xiàn)多路選擇器的實(shí)現(xiàn) if (sel=“00”) then y=input(0); elsif (sel=“01”) then y=input(1); elsif (sel=“10”) then y=input(2); elsif (sel=“11”) then y=input(3); else y=Z; end if;
41、End process;End behav;組合邏輯電路組合邏輯電路求補(bǔ)器求補(bǔ)器求補(bǔ)器:求補(bǔ)器:將輸入信號(hào)轉(zhuǎn)換成其補(bǔ)碼輸出將輸入信號(hào)轉(zhuǎn)換成其補(bǔ)碼輸出若定點(diǎn)整數(shù)補(bǔ)碼形式為若定點(diǎn)整數(shù)補(bǔ)碼形式為0 0 1 12 2n n ,則補(bǔ)碼表示的定,則補(bǔ)碼表示的定義是:義是: 2n0 補(bǔ)補(bǔ) 2n+1+2n+1| 02n (mod 2n1) 采用補(bǔ)碼表示法進(jìn)行減法運(yùn)算就比原碼方便多了。采用補(bǔ)碼表示法進(jìn)行減法運(yùn)算就比原碼方便多了。因?yàn)椴徽摂?shù)是正還是負(fù),機(jī)器總是做加法,減法因?yàn)椴徽摂?shù)是正還是負(fù),機(jī)器總是做加法,減法運(yùn)算可變?yōu)榧臃ㄟ\(yùn)算運(yùn)算可變?yōu)榧臃ㄟ\(yùn)算補(bǔ)碼可由原碼得到。補(bǔ)碼可由原碼得到。正數(shù)的補(bǔ)碼與原碼一樣;正數(shù)的補(bǔ)
42、碼與原碼一樣;負(fù)數(shù)的補(bǔ)碼是對(duì)它的原碼(除符號(hào)位外)各位取反,并在負(fù)數(shù)的補(bǔ)碼是對(duì)它的原碼(除符號(hào)位外)各位取反,并在未位加未位加1 1而得到的。而得到的。組合邏輯電路組合邏輯電路求補(bǔ)器求補(bǔ)器求補(bǔ)器的實(shí)現(xiàn)求補(bǔ)器的實(shí)現(xiàn)Library IEEE;Use IEEE.std_logic_1164.all;Use IEEE.std_logic_unsigned.all;Entity hosuu is port ( a : in std_logic_vector ( 4 downto 1 ) ; b : out std_logic_vector ( 4 downto 1) );End hosuu;Archit
43、ecture rtl of hosuu isBegin b= not a +1; End rtl;簡(jiǎn)單四位求補(bǔ)器邏輯圖簡(jiǎn)單四位求補(bǔ)器邏輯圖四位輸入按位取反補(bǔ)碼輸出四位加法器加“1”組合邏輯電路組合邏輯電路三態(tài)門三態(tài)門三態(tài)門:三態(tài)門: 三態(tài)門是一種重要的總線接口電路。這里的三態(tài),是指三態(tài)門是一種重要的總線接口電路。這里的三態(tài),是指邏輯門的輸出除了有高、低電平兩種狀態(tài)外,還有第三邏輯門的輸出除了有高、低電平兩種狀態(tài)外,還有第三種狀態(tài)種狀態(tài)高阻狀態(tài)高阻狀態(tài)的門電路。高阻態(tài)相當(dāng)于隔斷狀態(tài)的門電路。高阻態(tài)相當(dāng)于隔斷狀態(tài) 如果你的設(shè)備端口要掛在一個(gè)總線上如果你的設(shè)備端口要掛在一個(gè)總線上, , 必須通過(guò)三態(tài)
44、緩沖器必須通過(guò)三態(tài)緩沖器. . 因?yàn)橐驗(yàn)樵谝粋€(gè)總線上同時(shí)只能有一個(gè)端口作輸出在一個(gè)總線上同時(shí)只能有一個(gè)端口作輸出, , 這時(shí)其他端口必須在高這時(shí)其他端口必須在高阻態(tài)阻態(tài), , 同時(shí)可以輸入這個(gè)輸出端口的數(shù)據(jù)同時(shí)可以輸入這個(gè)輸出端口的數(shù)據(jù). . 所以你還需要有總線控所以你還需要有總線控制管理制管理, , 訪問(wèn)到哪個(gè)端口訪問(wèn)到哪個(gè)端口, , 那個(gè)端口的三態(tài)緩沖器才可以轉(zhuǎn)入輸出那個(gè)端口的三態(tài)緩沖器才可以轉(zhuǎn)入輸出狀態(tài)。狀態(tài)。三態(tài)門都有一個(gè)三態(tài)門都有一個(gè)ENEN控制使能端控制使能端,來(lái)控制門電路的通斷。來(lái)控制門電路的通斷。三態(tài)門的應(yīng)用實(shí)例三態(tài)門的應(yīng)用實(shí)例組合邏輯電路組合邏輯電路三態(tài)門三態(tài)門三態(tài)門的實(shí)現(xiàn)三
45、態(tài)門的實(shí)現(xiàn)Library IEEE;Use IEEE.std_logic_1164.all;Entity tri_gate is port ( din , en : in std_logic; dout : out std_logic );End tri_gate ;Architecture behav of tri_gate isBegin process ( din ,en) begin if (en=1) then dout=din; else dout=Z; end if ; end process; End behav;采用防護(hù)式塊語(yǔ)句來(lái)表示三采用防護(hù)式塊語(yǔ)句來(lái)表示三態(tài)門:態(tài)門:Architecture blk of tri_gate isBegin tri_gate2: block (en=1) begin dout=guarded din; end block; End b
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職法學(xué)題庫(kù)檢測(cè)試卷A卷附答案
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職管理學(xué)與服務(wù)通關(guān)提分題庫(kù)及完整答案
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職教育學(xué)題庫(kù)檢測(cè)試卷A卷附答案
- 螺螄粉專業(yè)知識(shí)培訓(xùn)課件
- 2025年大學(xué)生防詐騙知識(shí)競(jìng)賽題庫(kù)及答案(一)
- 從愚公移山看堅(jiān)持與毅力作文
- 《初識(shí)高中物理實(shí)驗(yàn):運(yùn)動(dòng)與力的教學(xué)計(jì)劃》
- 心理咨詢師保密咨詢服務(wù)合同
- 電影票房年度統(tǒng)計(jì)表
- 酒店行業(yè)營(yíng)收及客房信息表
- 《自動(dòng)升降跳高架》課件
- 2023CSCO腎癌診療指南
- 裝修工程竣工驗(yàn)收自評(píng)報(bào)告
- 陽(yáng)臺(tái)裝修合同
- MULAND深圳蕉內(nèi)前海中心辦公室方案
- 基于三菱FX系列PLC的五層電梯控制系統(tǒng)
- 溫室韭菜收割機(jī)設(shè)計(jì)學(xué)士學(xué)位論文
- 女性私密健康
- 思想道德與法治知到章節(jié)答案智慧樹2023年寧波大學(xué)
- 農(nóng)田土地翻耕合同
- 鐵路混凝土工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)(TB 10424-2018 )培訓(xùn)教材
評(píng)論
0/150
提交評(píng)論