




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、VLSI電路和系統設計 設計題2:CMOS數字集成電路設計用VHDL語言實現十六位全加器姓名:托列吾別克馬杰尼班級:電路與系統01班學號:2012210201412013/11/24基于VHDL的16位全加器的設計1.1設計題目的內容及要求1.1.1目的: CMOS數字集成電路設計流程及數字集成電路自動化設計,包括功能驗證、VHDL/Verlog建模、同步電路設計、異步數據獲取、能耗與散熱、信號完整性、物理設計、設計驗證等技術1.1.2內容: 主要實驗內容是用0.18m數字CMOS工藝,VHDL或Verlog設計一個16位全加器,用Synthesis 仿真工具驗證功能,電路合成,及性能檢測。1
2、.1.3主要測試參數及指標范圍: 16位的全加器主要的設計指標是高于1GHz的頻率,功耗,物理面積大小等參數。1.2全加器的組成和原理分析全加器是常用的組合邏輯模塊中的一種,對全加器的分析和對組合邏輯電路的分析一樣。組合邏輯電路的分析,就是找出給定電路輸入和輸出之間的邏輯關系,從而了解給定邏輯電路的邏輯功能。組合邏輯電路的分析方法通常采用代數法,一般按下列步驟進行:(1)根據所需要的功能,列出真值表。(2)根據真值表,寫出相應的邏輯函數表達式。(3)根據真值表或邏輯函數表達式,畫出相應的組合邏輯電路的邏輯圖 1。(4)用VHDL編寫程序在QUARTUS上進行模擬,并分析結果的正確性。1.3 全
3、加器簡介全加器是組合邏輯電路中最常見也最實用的一種,考慮低位進位的加法運算就是全加運算,實現全加運算的電路稱為全加器。它主要實現加法的運算,其中分為并行全加器和串行全加器,所謂并行就是指向高位進位時是并行執行的,而串行就是從低位到高位按順序執行,為了提高運算,必須設法減小或消除由于進位信號逐級傳遞所消耗的時間,為了提高運算速度,制成了超前進位加法器,這是對全加器的一種創新2。1.3.1半加器的基本原理如果不考慮有來自低位的進位將兩個1位二進制數相加,稱為半加。實現半加運算的電路稱為半加器。按照二進制加法運算規則可以列出如表2所示的半加器真值表,其中A、B是兩個加數,S是相加的和,CO是向高位的
4、進位。將S、CO和A、B的關系寫成邏輯表達式則得到S=A B+A B=A+BCO=AB輸 入輸 出ABSCO0000011010101101表1 半加器的真值表因此,半加器是由一個異或門和一個與門組成的,如圖1所示。圖 1 半加器原理圖1.3.2 一位全加器的原理全加器執行加數,被減數和低位來的進位信號相加,并根據求和結果給出該進位信號。(1)根據全加器所需要的功能,我們可以設計出一位全加器的組合邏輯框圖。如圖2所示。 &=11=1& 圖2 一位全加器的邏輯圖(2)根據邏輯圖我們可以寫出各個器件的邏輯功能。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為兩個輸入的一位二進制書,Ci-1為低位二進制數相加的進位輸出到本位的輸入,則Fi為本位二進制數Xi、Yi和低位進位輸入Ci-1的相加之和,Ci為Xi、Yi和低位進位輸入Ci-1相加向高位的進位輸出。因此,該電路可以完成一位二進制數全加的功能,稱為全加器。此電路的真值表如表2所示。XiYiCi-1FiCi000000101010010110010011001101101
6、0111111表2 一位全加器真值表1.4 十六位全加器的設計設計16位的全加器思路非常簡單且清晰,第一種方法就是先設計一個半加器和一個或門,然后兩個半加器合并成一個一位的全加器,最后用16個一位的全加器組合成為一個16位的全加器;第二種方法就是先設計一個一位的全加器,然后在用16個串聯或并聯就組成了一個16位的全加器,而本次設計采用采用的是第一種方法。 圖3 一位全加器的級聯原理圖十六位全加器有十六個一位全加器的級聯組成的,最低位的借位信號時整個全加器的借位信號Cin,最高位的進位信號是十六位全加器的進位信號,每位之間通過進位信號鏈接,兩個十六位加數的每一位并聯輸入,和數SUM的每一位并聯輸
7、出,完成兩個十六位的數的加法。1.5用VHDL編寫代碼實現16位全加器本次實驗使用 Altera FPGA/CPLD 的開發工具 Quartus ,利用編寫VHDL代碼設計方法設計一個16位加法器,并用Quartus的綜合仿真工具實現電路的綜合,電路功能的驗證,并最后查看綜合后的RLT電路框圖來驗證設計與原邏輯設計符不符合要求,我們還可以借用powerplay功率分析工具對設計后的電路進行功耗分析。本次設計有一個頂層模塊(16位全加器)和三個底層模塊,它們分別為一位全加器和組成一位全加器的半加器模塊和或門模塊。因此我們要用從底層到頂層的設計思路,以半加器+或門 一位全加器16位全加器的為設計順
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;從上述的設計思路中和全加器的級聯設計方案中看到,實現16位全加器的關鍵是實現每級全加器到下一級全加器的信號的控制,以此實現模塊之間的協調和整個系統的穩定性。在實現16加法器中我們同樣用上述的component語句,在頂層中調用底層的模塊,并巧妙地實現每個模塊之間的級聯。以下為一種設計法方案。(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,即可看到所對應的原理圖,本次設計的RTL電路圖如圖7所示圖7 RLT電路圖上圖中,可以看到16個一位全加器級聯,最后組成16為全加器,這個結果跟我們設計要求相符合。用RLD 還可以看到底層模塊的電路邏輯圖,以下為通過RLT viewer全加器,半加器,和或門看到的各級模塊的邏輯電路圖。圖
13、8一位全加器電路圖一位全加器有兩個半加器和一個或門組成。以下為上圖中h_adder和or2a的詳細電路框圖。圖9半加器h_adder圖10或門or2a2.4 通過powerplay 功率分析儀分析功耗Quartus II Powerplay功耗分析工具提供的界面使用者能夠在設計過程中,估計靜態和動態功耗。Powerplay Power Analyzer 進行適配后功率分析,產生高亮的功耗報告,顯示模塊類型和實體,以及消耗的功率本次設計的電路通過Powerplay分析后的功耗報告如圖11所示圖11功耗分析結果圖中顯示了總熱功耗為203.54mW,核心動態熱功耗為23.27mW,核心統計熱功耗為3
14、9.61mW,I/O 熱功耗為140.65mW。這個對電路在硬件實現之前的預功率分析,有助于設計員根據結果調整設計方案,以此實現電路在功耗方面達到全面優化。2.5總結通過此次設計對全加器器的設計和實現,確實積累和總結了不少的經驗,鍛煉了我的獨立工作和實際動手能力,加深了對計算機中的全加器工作原理的認識,提高了對復雜的綜合性實踐環節具有分析問題、解決問題、概括總結的實際工作能力,對涉及全加器項目的開發、設計過程有初步認識。經過調試和綜合,用門電路設計的16位全加器基本設計完畢。其功能基本符合項目需求,能夠完成16位進位加法的運算。但是由于本人在數字電路設計和VHDL語言方面的知識不夠深,還有許多不盡如人意的地方,其中最大的缺憾就是沒有建立16位全加器的真值表,由于工作量太過龐大,無法完成,所以還有待于進一步完善其功能。但我從中學到了不少的道理,真正的理解到,理論與實踐之間還是有很大的距離,這必將有利于我們以后的學習。使我明白,在以后的學習中,要不斷的完善自己的知識體系結構,注意理論與實踐的結合,學知識關鍵是要學活,而不能死記死搬書本上的知識
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外貿生意合作合同協議
- 商貿冷飲團購合同協議
- 土地翻土合同協議
- 塑件模具付款合同協議
- 在職運動員合同協議
- 塑料注塑合同協議
- 塑料設備轉讓合同協議
- 墻紙采購標準合同協議
- 土地拋荒治理合同協議
- 土地廠房出售合同協議
- 《電力設備典型消防規程》知識培訓
- 2025屆浙江省君兮協作聯盟高三下學期4月教學質量檢測英語試題(含解析)
- 注冊會計師(綜合階段)題庫完美版帶答案分析2025
- 四川省成都東部新區龍云學校2024-2025學年五年級下冊半期測試題(含答案)
- 新課標解讀丨《義務教育道德與法治課程標準(2022年版)》解讀
- 兒童支氣管哮喘診斷與防治指南(2025版)解讀課件
- 2024年中國海洋大學招聘輔導員筆試真題
- 倉管員安全培訓課件
- 紅藍黃光治療皮膚病臨床應用專家共識解讀
- 氧氣管道施工方案
- 建筑施工現場突發事件應急預案及要求措施
評論
0/150
提交評論