VHDL實(shí)現(xiàn)16位全加器_第1頁
VHDL實(shí)現(xiàn)16位全加器_第2頁
VHDL實(shí)現(xiàn)16位全加器_第3頁
VHDL實(shí)現(xiàn)16位全加器_第4頁
VHDL實(shí)現(xiàn)16位全加器_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、VLSI電路和系統(tǒng)設(shè)計(jì) 設(shè)計(jì)題2:CMOS數(shù)字集成電路設(shè)計(jì)用VHDL語言實(shí)現(xiàn)十六位全加器姓名:托列吾別克馬杰尼班級(jí):電路與系統(tǒng)01班學(xué)號(hào):2012210201412013/11/24基于VHDL的16位全加器的設(shè)計(jì)1.1設(shè)計(jì)題目的內(nèi)容及要求1.1.1目的: CMOS數(shù)字集成電路設(shè)計(jì)流程及數(shù)字集成電路自動(dòng)化設(shè)計(jì),包括功能驗(yàn)證、VHDL/Verlog建模、同步電路設(shè)計(jì)、異步數(shù)據(jù)獲取、能耗與散熱、信號(hào)完整性、物理設(shè)計(jì)、設(shè)計(jì)驗(yàn)證等技術(shù)1.1.2內(nèi)容: 主要實(shí)驗(yàn)內(nèi)容是用0.18m數(shù)字CMOS工藝,VHDL或Verlog設(shè)計(jì)一個(gè)16位全加器,用Synthesis 仿真工具驗(yàn)證功能,電路合成,及性能檢測(cè)。1

2、.1.3主要測(cè)試參數(shù)及指標(biāo)范圍: 16位的全加器主要的設(shè)計(jì)指標(biāo)是高于1GHz的頻率,功耗,物理面積大小等參數(shù)。1.2全加器的組成和原理分析全加器是常用的組合邏輯模塊中的一種,對(duì)全加器的分析和對(duì)組合邏輯電路的分析一樣。組合邏輯電路的分析,就是找出給定電路輸入和輸出之間的邏輯關(guān)系,從而了解給定邏輯電路的邏輯功能。組合邏輯電路的分析方法通常采用代數(shù)法,一般按下列步驟進(jìn)行:(1)根據(jù)所需要的功能,列出真值表。(2)根據(jù)真值表,寫出相應(yīng)的邏輯函數(shù)表達(dá)式。(3)根據(jù)真值表或邏輯函數(shù)表達(dá)式,畫出相應(yīng)的組合邏輯電路的邏輯圖 1。(4)用VHDL編寫程序在QUARTUS上進(jìn)行模擬,并分析結(jié)果的正確性。1.3 全

3、加器簡介全加器是組合邏輯電路中最常見也最實(shí)用的一種,考慮低位進(jìn)位的加法運(yùn)算就是全加運(yùn)算,實(shí)現(xiàn)全加運(yùn)算的電路稱為全加器。它主要實(shí)現(xiàn)加法的運(yùn)算,其中分為并行全加器和串行全加器,所謂并行就是指向高位進(jìn)位時(shí)是并行執(zhí)行的,而串行就是從低位到高位按順序執(zhí)行,為了提高運(yùn)算,必須設(shè)法減小或消除由于進(jìn)位信號(hào)逐級(jí)傳遞所消耗的時(shí)間,為了提高運(yùn)算速度,制成了超前進(jìn)位加法器,這是對(duì)全加器的一種創(chuàng)新2。1.3.1半加器的基本原理如果不考慮有來自低位的進(jìn)位將兩個(gè)1位二進(jìn)制數(shù)相加,稱為半加。實(shí)現(xiàn)半加運(yùn)算的電路稱為半加器。按照二進(jìn)制加法運(yùn)算規(guī)則可以列出如表2所示的半加器真值表,其中A、B是兩個(gè)加數(shù),S是相加的和,CO是向高位的

4、進(jìn)位。將S、CO和A、B的關(guān)系寫成邏輯表達(dá)式則得到S=A B+A B=A+BCO=AB輸 入輸 出ABSCO0000011010101101表1 半加器的真值表因此,半加器是由一個(gè)異或門和一個(gè)與門組成的,如圖1所示。圖 1 半加器原理圖1.3.2 一位全加器的原理全加器執(zhí)行加數(shù),被減數(shù)和低位來的進(jìn)位信號(hào)相加,并根據(jù)求和結(jié)果給出該進(jìn)位信號(hào)。(1)根據(jù)全加器所需要的功能,我們可以設(shè)計(jì)出一位全加器的組合邏輯框圖。如圖2所示。 &=11=1& 圖2 一位全加器的邏輯圖(2)根據(jù)邏輯圖我們可以寫出各個(gè)器件的邏輯功能。Ci = Xi Y i Ci-1+X i Y i C i-1+X i Y i C i-1

5、+X i Y i C i-1 = (X i Y i)C i-1+X i Y iFi = XiYiC i-1 + XiYiC i-1 +XiYiC i-1 + XiYiC i-1 = XiYiC i-1(3)由上面可得。Xi和Yi為兩個(gè)輸入的一位二進(jìn)制書,Ci-1為低位二進(jìn)制數(shù)相加的進(jìn)位輸出到本位的輸入,則Fi為本位二進(jìn)制數(shù)Xi、Yi和低位進(jìn)位輸入Ci-1的相加之和,Ci為Xi、Yi和低位進(jìn)位輸入Ci-1相加向高位的進(jìn)位輸出。因此,該電路可以完成一位二進(jìn)制數(shù)全加的功能,稱為全加器。此電路的真值表如表2所示。XiYiCi-1FiCi000000101010010110010011001101101

6、0111111表2 一位全加器真值表1.4 十六位全加器的設(shè)計(jì)設(shè)計(jì)16位的全加器思路非常簡單且清晰,第一種方法就是先設(shè)計(jì)一個(gè)半加器和一個(gè)或門,然后兩個(gè)半加器合并成一個(gè)一位的全加器,最后用16個(gè)一位的全加器組合成為一個(gè)16位的全加器;第二種方法就是先設(shè)計(jì)一個(gè)一位的全加器,然后在用16個(gè)串聯(lián)或并聯(lián)就組成了一個(gè)16位的全加器,而本次設(shè)計(jì)采用采用的是第一種方法。 圖3 一位全加器的級(jí)聯(lián)原理圖十六位全加器有十六個(gè)一位全加器的級(jí)聯(lián)組成的,最低位的借位信號(hào)時(shí)整個(gè)全加器的借位信號(hào)Cin,最高位的進(jìn)位信號(hào)是十六位全加器的進(jìn)位信號(hào),每位之間通過進(jìn)位信號(hào)鏈接,兩個(gè)十六位加數(shù)的每一位并聯(lián)輸入,和數(shù)SUM的每一位并聯(lián)輸

7、出,完成兩個(gè)十六位的數(shù)的加法。1.5用VHDL編寫代碼實(shí)現(xiàn)16位全加器本次實(shí)驗(yàn)使用 Altera FPGA/CPLD 的開發(fā)工具 Quartus ,利用編寫VHDL代碼設(shè)計(jì)方法設(shè)計(jì)一個(gè)16位加法器,并用Quartus的綜合仿真工具實(shí)現(xiàn)電路的綜合,電路功能的驗(yàn)證,并最后查看綜合后的RLT電路框圖來驗(yàn)證設(shè)計(jì)與原邏輯設(shè)計(jì)符不符合要求,我們還可以借用powerplay功率分析工具對(duì)設(shè)計(jì)后的電路進(jìn)行功耗分析。本次設(shè)計(jì)有一個(gè)頂層模塊(16位全加器)和三個(gè)底層模塊,它們分別為一位全加器和組成一位全加器的半加器模塊和或門模塊。因此我們要用從底層到頂層的設(shè)計(jì)思路,以半加器+或門 一位全加器16位全加器的為設(shè)計(jì)順

8、序。以下為半加器和活門的VHDL程序代碼(1) 半加器的VHDL代碼 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity h_adder is port(a,b:in std_logic; co:out std_logic; so:out std_logic );end h_adder;architecture one of h_adder isbegin so=a xor b; co=a and b;end one;(2) 或門

9、的VHDL代碼library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity or2a is port(a,b:in std_logic; c:out std_logic ); end or2a;architecture one of or2a isbegin cain,b=bin,co=d,so=e); u2:h_adder port map(a=e,b=cin,co=f,so=sumf); u3:or2a port map(a=d,b=f

10、,c=coutf);end one;從上述的設(shè)計(jì)思路中和全加器的級(jí)聯(lián)設(shè)計(jì)方案中看到,實(shí)現(xiàn)16位全加器的關(guān)鍵是實(shí)現(xiàn)每級(jí)全加器到下一級(jí)全加器的信號(hào)的控制,以此實(shí)現(xiàn)模塊之間的協(xié)調(diào)和整個(gè)系統(tǒng)的穩(wěn)定性。在實(shí)現(xiàn)16加法器中我們同樣用上述的component語句,在頂層中調(diào)用底層的模塊,并巧妙地實(shí)現(xiàn)每個(gè)模塊之間的級(jí)聯(lián)。以下為一種設(shè)計(jì)法方案。(4)16位加法器的VHDL代碼library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity new_adder16 is port(a:in std_logic_vecto

11、r(15 downto 0); b:in std_logic_vector(15 downto 0); cin:in std_logic; sum:out std_logic_vector(15 downto 0); cout:out std_logic ); end; architecture one of new_adder16 is component f_adder port(ain:in std_logic; bin:in std_logic; cin:in std_logic; coutf:out std_logic; sumf:out std_logic ); end compo

12、nent; signal temp:std_logic_vector(16 downto 0); begin temp(0)a(i), bin=b(i), cin=temp(i), coutf=temp(i+1), sumf=sum(i) ); end generate add; coutRTL Viewer,即可看到所對(duì)應(yīng)的原理圖,本次設(shè)計(jì)的RTL電路圖如圖7所示圖7 RLT電路圖上圖中,可以看到16個(gè)一位全加器級(jí)聯(lián),最后組成16為全加器,這個(gè)結(jié)果跟我們?cè)O(shè)計(jì)要求相符合。用RLD 還可以看到底層模塊的電路邏輯圖,以下為通過RLT viewer全加器,半加器,和或門看到的各級(jí)模塊的邏輯電路圖。圖

13、8一位全加器電路圖一位全加器有兩個(gè)半加器和一個(gè)或門組成。以下為上圖中h_adder和or2a的詳細(xì)電路框圖。圖9半加器h_adder圖10或門or2a2.4 通過powerplay 功率分析儀分析功耗Quartus II Powerplay功耗分析工具提供的界面使用者能夠在設(shè)計(jì)過程中,估計(jì)靜態(tài)和動(dòng)態(tài)功耗。Powerplay Power Analyzer 進(jìn)行適配后功率分析,產(chǎn)生高亮的功耗報(bào)告,顯示模塊類型和實(shí)體,以及消耗的功率本次設(shè)計(jì)的電路通過Powerplay分析后的功耗報(bào)告如圖11所示圖11功耗分析結(jié)果圖中顯示了總熱功耗為203.54mW,核心動(dòng)態(tài)熱功耗為23.27mW,核心統(tǒng)計(jì)熱功耗為3

14、9.61mW,I/O 熱功耗為140.65mW。這個(gè)對(duì)電路在硬件實(shí)現(xiàn)之前的預(yù)功率分析,有助于設(shè)計(jì)員根據(jù)結(jié)果調(diào)整設(shè)計(jì)方案,以此實(shí)現(xiàn)電路在功耗方面達(dá)到全面優(yōu)化。2.5總結(jié)通過此次設(shè)計(jì)對(duì)全加器器的設(shè)計(jì)和實(shí)現(xiàn),確實(shí)積累和總結(jié)了不少的經(jīng)驗(yàn),鍛煉了我的獨(dú)立工作和實(shí)際動(dòng)手能力,加深了對(duì)計(jì)算機(jī)中的全加器工作原理的認(rèn)識(shí),提高了對(duì)復(fù)雜的綜合性實(shí)踐環(huán)節(jié)具有分析問題、解決問題、概括總結(jié)的實(shí)際工作能力,對(duì)涉及全加器項(xiàng)目的開發(fā)、設(shè)計(jì)過程有初步認(rèn)識(shí)。經(jīng)過調(diào)試和綜合,用門電路設(shè)計(jì)的16位全加器基本設(shè)計(jì)完畢。其功能基本符合項(xiàng)目需求,能夠完成16位進(jìn)位加法的運(yùn)算。但是由于本人在數(shù)字電路設(shè)計(jì)和VHDL語言方面的知識(shí)不夠深,還有許多不盡如人意的地方,其中最大的缺憾就是沒有建立16位全加器的真值表,由于工作量太過龐大,無法完成,所以還有待于進(jìn)一步完善其功能。但我從中學(xué)到了不少的道理,真正的理解到,理論與實(shí)踐之間還是有很大的距離,這必將有利于我們以后的學(xué)習(xí)。使我明白,在以后的學(xué)習(xí)中,要不斷的完善自己的知識(shí)體系結(jié)構(gòu),注意理論與實(shí)踐的結(jié)合,學(xué)知識(shí)關(guān)鍵是要學(xué)活,而不能死記死搬書本上的知識(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論