組合邏輯課程設計4位二進制全加器全減器原創_第1頁
組合邏輯課程設計4位二進制全加器全減器原創_第2頁
組合邏輯課程設計4位二進制全加器全減器原創_第3頁
組合邏輯課程設計4位二進制全加器全減器原創_第4頁
組合邏輯課程設計4位二進制全加器全減器原創_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、組合邏輯電路課程設計4位二進制全加器/全減器作者: 學號: 課程設計題目要求:1) 使用74LS283構成4位二進制全加/全減器。2) 闡述設計思路。3) 列出真值表。4) 畫出設計的邏輯圖。5) 用VHDL對所畫電路進行仿真。目錄摘要11總電路設計21.1硬件電路的設計21.2全加器(full-adder )31.2.1四位二級制加法器41.2.1.1串行進位加法器41.2.1.2超前進位加法器51.2.1.3超前位鏈結構加法器51.3全減器(full-substracter )51.4總電路設計62設計思路72.1全加器72.2全減器73真值表84邏輯圖與仿真95軟件程序的設計126結果分

2、析與總結12摘要 加法器是數字系統中產生數的和的裝置。加數和被加數為輸入,和數與進位為輸出的裝置為半加器。若加數、被加數與低位的進位數為輸入,而和數與進位為輸出則為全加器。例如:為了節省資源,減法器和硬件乘法器都可以用加法器來構成。但寬位加法器的設計是很耗資源的,因此在實際的設計和相關餓得設計與開發中需要注意資源的利用率和進位速度兩方面的問題,多位加法器的構成主要有兩種:并行進位和串行進位。并行進位加法器設有并行進位產生邏輯,運行速度比串行進位快;串行進位是將全加器采取并行級聯或菊花鏈式級聯構成多位加法器。加法器也是常用作計算機算術邏輯部件,執行邏輯操作、移位與指令調用。此外還可以用來表示各種

3、數值,如:BCD、加三碼,主要的加法器是以二進制作運算。本文將采用4位二進制并行加法器作為折中選擇,所選加法器為74LS283,74LS283是4位二進制先行進位的加法器,它只用了幾級邏輯來形成和及進位輸出,故由其構成4位二進制全加器;而四位全減器可以用加法器簡單的改造而來,最后本文采用 VHDL對四位全加器/全減器進行仿真。關鍵字74LS283全加器、四位二進制、迭代電路、并行進位、串行進位、VHDL 1總電路設計1.1硬件電路的設計 該4位二進制全加器以74LS283為核心,74LS283芯片引腳圖如下圖,本文采用先行進位方式,極大地提高了電路運行速度,下面是對4位全加器電路設計的具體分析

4、。 圖1.1 74LS283芯片引腳圖1.2全加器(full-adder )全加器是針對超過一位的操作數相加,必須提供位與位之間的進位而設計的一種加法器,具有廣泛而重要的應用。它除了有加數位X和Y,還有來自低位的進位Cin和輸出S與給高位的進位Cout, 具體滿足下面等式:S=XYCin=XYCin+XYCin+XYCin+XYCinCout=XY+XCin+YCin其中,如果有奇數個1,則S為1;如果輸入有2個或2個以上的1,則Cout為1。全加器的功能表如下:表1.2.1全加器的功能表輸 入輸 出輸 入輸 出Cin A B S CoutCI A B S Cout0 0 00 0 10 1

5、00 1 10 01 01 00 11 0 01 0 11 1 01 1 11 00 10 11 1邏輯表達式:S=ABCin=AB Cin+A BCin+ABCin+AB Cin Cout=A+BCin+AB實現全加器的電路圖如下:圖1.2. 1全加器等式電路圖 圖1.2.2全加器簡化模型圖 1.2.1四位二級制加法器1.2.1.1串行進位加法器四位二進制加法器為4個全加器的級聯,每個處理一位。最低有效位的進位輸入通常置為0,每個全加器的進位輸出連到高一位全加器的進位輸入。圖1.1.2.1.1四位二進制加法器實現流程圖輸入InputA3A2A1A0加數輸入B3B2B1B0加數輸入C0進位輸入

6、Cin輸出OutputS3S2S1S0和數輸入C4進位輸出Cout1.2.1.2超前進位加法器為了提高運算速度,必須設法減小或消除由于進位信號逐級傳遞所消耗的時間,于是制成了超前進位加法器。優點:與串行進位加法器相比,(特別是位數比較大的時候)超前進位加法器的延遲時間大大縮短了。但是它的缺點就是電路比較復雜。1.2.1.3超前位鏈結構加法器S=ABCi-1 Cout=AB+Ci-1(A+B)令Gi=AiBi 產生進位Pi=Ai+Bi產生傳輸信號,四位全加器的進位鏈邏輯可以表示為如下:C1=G1+P1C0 C2=G2+P2G2+P2P1C0 C3=G3+P3G2+P3P2C1+P3P2P1C0

7、C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C01.3全減器(full-substracter )全減器有兩種構造方法:1. 全減器處理二進制算法的一位,其輸入位為X(被減數),Y(減數)和Bin(借位輸入),其輸入位為D(差)和Bout(借位輸入),根據二進制減法表,可以寫出如下等式:Bout=XY+XBin+Bin這些等式非常類似于全加器中的等式,但不足為奇。所以我們可以按照全加器的構造思路來構造全加器。2. 根據二進制補碼的減法運算,X-Y可以通過加法操作來完成,也就是說,可以通過把Y的二進制補碼加到X上來完成。Y的二進制補碼等于Y+1。其中Y等于Y的各個位取反

8、。所以得出下式:X-Y=X+-Y=X+(Y+1)即全減器可以通過全加器來實現。其邏輯圖如下圖:圖1.3.1全減器/全加器設計邏輯圖1.4總電路設計圖1.4全加器全減器總電路設計2設計思路2.1全加器由上面對加法器的具體分析,我們分別假定兩個4位二進制數分別為A3A2A1A0、B3B2B1B0,利用Verilog HDL軟件進行仿真,每個數位上的數值1、0用開關的高低電平表示,當開關打到紅色點上時表示該位數值為1,反之如果打到藍色點上時為0,輸出的四位二進制用S3S2S1S0表示,當輸出的各位上亮紅燈了該位輸出為1,如果為藍色則表示為0,Cout進位輸入端,C4為進位輸出端,以此進行仿真。2.2

9、全減器首先將74LS283的B口的四個輸入按1.3.1作優化,添加一個選擇端select。通過該選擇端來控制做加法還是做減法運算。做減法運算時選擇端select=1,各個與非門的輸出與輸入相反,達到了取反的目的,此時Cin=1,從而實現了減法器的功能。做加法運算時選擇端select=0,各個與非門的輸出與輸入相同,達到了保持不變的目的,此時時Cin=外部輸入,從而實現了加法功能。3真值表根據上面對加法器的具體分析,下面給出的是4位二進制全加器的部分真值表: 表3.1 4位二進制全加器真值表A3A2A1A0B3B2B1B0CinS3S2S1S0Cout0000000000000000000000

10、100010000100010001000010000100011000110001101010001100100010100100000010101000100010001000011100001100000101000010110010001000000001100010001000111001001101100010010100011010100001100111001000011011111010101001000111101010011010011000100100001110001001100101.表3.2 4位二進制全減器真值表A3A2A1A0B3B2B1B0CinS3S2S1

11、S0Cout0000000000000000000000100010000100010001000010000100011000110001101010001100100010100100000010101000100010001000011100001100000101000010110010001000000001100010001000111001001101100010010100011010100001100111001000011011111010101001000111101010011010011000100100001110001001100101.4邏輯圖與仿真下面是74L

12、S283四位二進制全加器的邏輯電路圖:圖4.174LS283四位二進制全加器的邏輯電路圖圖4.1圖4.2圖4.3圖4.45軟件程序的設計采用Verilog HDL語言對設計的4位二進制全加器進行仿真,下面是具體Verilog HDL 程序:第一步:建立一個半加器的VHD程序。Hadd_v.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hadd_v isport(a,b: in std_logic;s,c: out std_logic);end hadd_v;architect

13、ure a of hadd_v issignal temp: std_logic_vector(1 downto 0);begintemp=(0&A)+B;s=temp(0);c=temp(1);end a;編譯通過第二步:建立一個全加器的VHD程序,fadd_v.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fadd_v isport(a,b,ci: in std_logic;s,co : out std_logic);end fadd_v;architecture a o

14、f fadd_v issignal temp : std_logic_vector(1 downto 0);begintemp=(0&a)+b+ci;s=temp(0);coA(0),b=B(0),c=N1); h1:fadd_v port map(a=A(1),b=B(1),s=S(1),co=N2); h2:fadd_v port map(a=A(2),b=B(2), s=S(2),co=N3); h3:fadd_v port map(a=A(3),b=B(3), s=S(3),co=cout);end x;結束。6結果分析與總結由上圖可以看出仿真結果與實際的運算結果是相同的。由仿真程序結果可知,設計的程序完成了四位全加器的功能,因此,該程序正確。首先感謝老師的嚴謹教學與悉心指導。通過本次課程設計,我加深了對所學知

溫馨提示

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

最新文檔

評論

0/150

提交評論