版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、黑龍江東方學院畢 業(yè) 論 文 (設 計)題目:基于eda技術的加法器設計學生姓名 學 號09103225專 業(yè)電子信息工程班 級2009級2班指導教師 學 部計算機科學與電氣工程答辯日期2013年5月18日黑龍江東方學院本科生畢業(yè)論文(設計)評語(一)姓名 學號09103225專業(yè)班級電子信息工程2班總成績畢業(yè)論文(設計)題目: 基于eda技術的加法器設計答辯委員會評語答辯成績主任簽字: 年 月 日答辯委員會成員簽字學部畢業(yè)論文(設計)領導小組意見組長簽字: 年 月 日 學部公章黑龍江東方學院本科生畢業(yè)論文(設計)評語(二)姓名 學號09103225專業(yè)班級電子信息工程2班畢業(yè)論文(設計)題目
2、:基于eda技術的加法器設計指導教師評語指導教師成績在整個畢業(yè)論文設計過程中,該同學能在老師的要求下順利完成畢業(yè)設計和論文的撰寫工作。論文結構完整,各部分符合論文的寫作規(guī)范,論述比較充分,條理也很清晰。該生查閱大量文獻資料,全面收集相關材料。已能熟練使用eda軟件,并完成了加法器的設計、編程和仿真過程,仿真結果符合論文的要求。完成了任務書中所要求全部內容,編程調試能力有了較大程度提高。本論文達到了本科畢業(yè)生的基本要求,同意參加答辯。指導教師簽字: 年 月 日黑龍江東方學院本科生畢業(yè)論文(設計)評語(三)姓名 學號09103225專業(yè)班級電子信息工程2班畢業(yè)論文(設計)題目: 基于eda技術的加
3、法器設計評閱教師評語評閱教師成績評閱教師簽字: 年 月 日黑龍江東方學院本科生畢業(yè)論文(設計)任務書姓名 學號09103225專業(yè)班級電子信息工程09級2班畢業(yè)論文(設計)題目:基于eda技術的加法器畢業(yè)論文(設計)的立題依據加法器在科技迅猛發(fā)展的今天在人們日常生活中起到有為重要的角色,它涉及到許多集成電路,應用在很多計算機和設備當中,不可或缺。本次畢業(yè)設計確立乘法器為論文立題可以進一步掌握eda技術,更好的研究eda的功能和實際作用,具有很大的現實意義。主要內容及要求本畢業(yè)設計的主要內容是對eda平臺進行了簡要概述,對加法器的研究背景簡單的進行介紹。隨后進行加法器設計,描述了設計的基本方法,
4、講解了加法器的工作原理。介紹了加法器的種類,每個種類的特質,并通過原理圖進行原理只管直觀講解。在一定的理論和資料基礎上進行了仿真和調試,通過波形體現實驗結果。最后對仿真和調試過程中遇到的問題進行總結和分析??偨Y心得體會,編寫了實驗結論。羅列出文章中借鑒的參考文獻。在論文最后提供出程序和對在畢業(yè)設計中給與我?guī)椭娜酥乱陨钌畹闹x意。了解eda基本知識,學習相關應用軟件,進行課題設計。在靜態(tài)數碼管顯示加數、被加數和結果。用撥碼開關設置和被加數。進度安排9 月20日選題9 月21日10月31日接受指導老師的指導11月1 日11月17日擬定論文大綱11月18日12月20日搜集、查閱、整理相關資料12月2
5、1日3 月31日初稿形成4 月1 日4 月7 日初稿審定4 月8 日4 月14日第一次修改4 月15日4 月21日第一次審定4 月22日4 月28 日第二次修改4 月29日5 月12日定稿5 月13日5 月17日論文評閱小組評審論文(設計)5 月18日畢業(yè)論文(設計)答辯學生簽字:指導教師簽字:年 月 日基于eda技術的加法器設計 摘要隨著電子技術和計算機技術的飛速發(fā)展,電子線路的設計工作也日益顯得重要。經過人工設計、制作實驗板、調試再修改的多次循環(huán)才定型的傳統(tǒng)產品設計方法必然被計算機輔助設計所取代,因為這種費時費力又費資源的設計調試方法既增加了產品開發(fā)的成本,又受到實驗工作場地及儀器設備的限
6、制。20世紀90年代,國際上電子和計算機技術較先進的國家,一直在積極探索新的電子電路設計方法,并在設計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術設計領域,可編程邏輯器件(如cpld、fpga)的應用,已得到廣泛的普及,這些器件為數字系統(tǒng)的設計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結構和工作方式進行重構,從而使得硬件的設計可以如同軟件設計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數字系統(tǒng)設計方法、設計過程和設計觀念,促進了eda技術的迅速發(fā)展。 利用eda工具,電子設計師可以從概念、算法、協議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產品從電路設計
7、、性能分析到設計出ic版圖或pcb版圖的整個過程的計算機上自動處理完成?,F在對eda的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產、生物、醫(yī)學、軍事等各個領域,都有eda的應用。目前eda技術已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設計、性能測試及特性分析直到飛行模擬,都可能涉及到eda技術。關鍵詞:eda技術;pcb;計算機;電路設計adder design based on eda technologyabstractwith the rapid development of electronic technology and compu
8、ter technology, electronic circuit design work is increasingly more important. artificial design, production experiment board, debug and modify the traditional approach to product design cycle many times before stereotypes must be computer-aided design replaced, because this time-consuming and expen
9、sive resources design debugging method not only increasing the cost of product development, also subject to the restrictions of the the experimental workplace and equipment.in the 1990s, the international electronics and computer technology more advanced countries, has been actively explore new elec
10、tronic circuit design, and design methods, tools and other radical changes, and was a great success. in the field of electronic technology design, the application of programmable logic devices (such as cpld, fpga), has been widely popular, these devices have brought a great deal of flexibility for t
11、he design of digital systems. these devices can be programmed by software and its hardware structure and ways of working to reconstruct, so that the design of the hardware as convenient as software design. all this has greatly changed the traditional digital system design methods, the design process
12、 and design concepts, and promote the rapid development of eda technology.eda tools, electronics designers can start designing concepts, algorithms, protocols and other electronic systems, a lot of work can be done by computer and electronic products to ic layout design or pcb layout of the whole pr
13、ocess from the circuit design, performance analysis processing is completed automatically on your computer.eda concept or scope is very wide. including machinery, electronics, communications, aerospace, chemical, mineral, biological, medical, military and other fields, there is eda applications. eda
14、 technology in major companies, enterprises and scientific research and teaching departments widely used. for example, in the aircraft manufacturing process, from design, performance testing and characterization analysis until the flight simulation, may be involved in the eda technology. keywords: e
15、da technology;pcb;computer;circuit design此行不會被打印千萬不要刪除行尾的分節(jié)符,此行不會被打印。(在word菜單-工具-選項-視圖標簽中,格式標記部分請全部打對號,這樣就可以看到隱藏的分節(jié)符和空格等信息了)目錄摘要iabstractii第1章 緒論11.1 eda軟件發(fā)展11.1.1 eda技術21.1.2 加法器的研究背景31.2 加法器41.2.1 加法器基本方法51.2.2 加法器工作原理61.2.3 加法器類型71.3 全加器8第2章 加法器基本原理102.1 加法器原理圖102.1.1 原理介紹102.2 全加器原理圖132.3 四位全加器原
16、理圖132.4 本章小結14第3章 設計環(huán)境與程序153.1 設計環(huán)境153.2 一位全加器153.2.1 一位全加器設計總程序及解釋163.3 四位加法器193.4 本章小結20第4章 仿真與調試214.1 一位全加器仿真與調試214.2 四位加法器仿真224.3 本章小結25第5章 加法器延伸設計265.1 傳播進位加法器程序265.1.1 傳播進位加法器仿真275.2 線形進位加法器設計285.2.1 設計原理285.2.2 線形進位加法器程序285.2.3 線形進位加法器仿真295.3 本章小結30第6章 心得體會316.1 心得體會31結論32參考文獻33附錄34致謝35千萬不要刪除
17、行尾的分節(jié)符,此行不會被打印。在目錄上點右鍵“更新域”,然后“更新整個目錄”基于eda技術的加法器設計第1章 緒論1.1 eda軟件發(fā)展 在電子設計自動化(英語:electronic design automation,縮寫:eda)出現之前,設計人員必須手工完成集成電路的設計、布線等工作,這是因為當時所謂集成電路的復雜程度遠不及現在。工業(yè)界開始使用幾何學方法來制造用于電路光繪(photo plotter)的膠帶。到了1970年代中期,開發(fā)人應嘗試將整個設計過程自動化,而不僅僅滿足于自動完成掩膜草圖。第一個電路布線、布局工具研發(fā)成功。設計自動化會議(design automation conf
18、erence)在這一時期被創(chuàng)立,旨在促進電子設計自動化的發(fā)展。電子設計自動化發(fā)展的下一個重要階段以卡弗爾米德(carver mead)和琳康維于1980年發(fā)表的論文超大規(guī)模集成電路系統(tǒng)導論(introduction to vlsi systems)為標志。這一篇具有重大意義的論文提出了通過編程語言來進行芯片設計的新思想。如果這一想法得到實現,芯片設計的復雜程度可以得到顯著提升。這主要得益于用來進行集成電路邏輯仿真、功能驗證的工具的性能得到相當的改善。隨著計算機仿真技術的發(fā)展,設計項目可以在構建實際硬件電路之前進行仿真,芯片布線布局對人工設計的要求降低,而且軟件錯誤率不斷降低。直至今日,盡管所用
19、的語言和工具仍然不斷在發(fā)展,但是通過編程語言來設計、驗證電路預期行為,利用工具軟件綜合得到低抽象級物理設計的這種途徑,仍然是數字集成電路設計的基礎。從1981年開始,電子設計自動化逐漸開始商業(yè)化。1984年的設計自動化會議(design automation conference)上還舉辦了第一個以電子設計自動化為主題的銷售展覽。gateway設計自動化在1986年推出了一種硬件描述語言verilog,這種語言在現在是最流行的高級抽象設計語言。1987年,在美國國防部的資助下,另一種硬件描述語言vhdl被創(chuàng)造出來。現代的電子設計自動化設計工具可以識別、讀取不同類型的硬件描述。根據這些語言規(guī)范產
20、生的各種仿真系統(tǒng)迅速被推出,使得設計人員可對設計的芯片進行直接仿真。后來,技術的發(fā)展更側重于邏輯綜合。目前的數字集成電路的設計都比較模塊化(參見集成電路設計、設計收斂(design closure)和設計流(design flow (eda))。半導體器件制造工藝需要標準化的設計描述,高抽象級的描述將被編譯為信息單元(cell)的形式。設計人員在進行邏輯設計時尚無需考慮信息單元的具體硬件工藝。利用特定的集成電路制造工藝來實現硬件電路,信息單元就會實施預定義的邏輯或其他電子功能。半導體硬件廠商大多會為它們制造的元件提供“元件庫”,并提供相應的標準化仿真模型。相比數字的電子設計自動化工具,模擬系統(tǒng)
21、的電子設計自動化工具大多并非模塊化的,這是因為模擬電路的功能更加復雜,而且不同部分的相互影響較強,而且作用規(guī)律復雜,電子元件大多沒有那么理想。verilog ams就是一種用于模擬電子設計的硬件描述語言。此文,設計人員可以使用硬件驗證語言來完成項目的驗證工作目前最新的發(fā)展趨勢是將集描述語言、驗證語言集成為一體,典型的例子有systemverilog。隨著集成電路規(guī)模的擴大、半導體技術的發(fā)展,電子設計自動化的重要性急劇增加。這些工具的使用者包括半導體器件制造中心的硬件技術人員,他們的工作是操作半導體器件制造設備并管理整個工作車間。一些以設計為主要業(yè)務的公司,也會使用電子設計自動化軟件來評估制造部
22、門是否能夠適應新的設計任務。電子設計自動化工具還被用來將設計的功能導入到類似現場可編程邏輯門陣列的半定制可編程邏輯器件,或者生產全定制的專用集成電路。1.1.1 eda技術eda技術是指以計算機為工作平臺,融合了應用電子技術、計算機技術、信息處理及智能化技術的最新成果,進行電子產品的自動設計。利用eda工具,電子設計師可以從概念、算法、協議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產品從電路設計、性能分析到設計出ic版圖或pcb版圖的整個過程的計算機上自動處理完成。20世紀90年代,國際上電子和計算機技術較為先進的國家,一直在積極探索新的電子電路設計方法,并在設計方法、工具等
23、方面進行了徹底的變革,取得了巨大成功。在電子技術設計領域,可編程邏輯器件(如cpld、fpga)的應用,已得到廣泛的普及,這些器件為數字系統(tǒng)的設計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結構和工作方式進行重構,從而使得硬件的設計可以如同軟件設計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數字系統(tǒng)設計方法、設計過程和設計觀念,促進了eda技術的迅速發(fā)展。eda技術就是以計算機為工具,設計者在eda軟件平臺上,用硬件描述語言vhdl完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。eda技術的出
24、現,極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。eda技術是指以計算機為工作平臺,融合了應用電子技術、計算機技術、信息處理及智能化技術的最新成果,進行電子產品的自動設計。利用eda工具,電子設計師可以從概念、算法、協議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產品從電路設計、性能分析到設計出ic版圖或pcb版圖的整個過程的計算機上自動處理完成?,F在對eda的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產、生物、醫(yī)學、軍事等各個領域,都有eda的應用。目前eda技術已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設計、
25、性能測試及特性分析直到飛行模擬,都可能涉及到eda技術。本文所指的eda技術,主要針對電子電路設計、pcb設計和ic設計。eda設計可分為系統(tǒng)級、電路級和物理實現級。1.1.2 加法器的研究背景人類社會的發(fā)展已經進入了信息時代,各種信息技術構成了信息時代的基礎。目前,與信息相關的計算機、微電子及通訊技術己經成為推動社會進步和國家發(fā)展的關鍵技術,而微電子技術又是信息技術的基礎,因此集成電路產業(yè)己經成為整個電子信息產業(yè)的命脈。到目前為止我國已經成為世界電子信息產品的主要生產國,對集成電路需求的增長是非常驚人的,而我們國內在這方面的供應能力顯示出明顯不足。發(fā)展中國的集成電路,成了中國政府產業(yè)政策的主
26、導方向。2000 年 6 月,國務院下發(fā)了鼓勵軟件產業(yè)和集成電路產業(yè)發(fā)展的若干政策,引導、鼓勵資金、技術和人才等資源投向集成電路產業(yè)。加法器作為各類集成電路模塊的核心部件,其重要性不可忽略。加法運算是最重要最基本的運算,所有的其他基本算術運算,如減法、乘法、除法運算等最終都能歸結為加法運算。當今,加法器的設計面臨兩大課題,首先是如何降低功耗。隨著便攜式 ic 產品例如 mp3 播放器,手機和掌上電腦等的廣泛使用,要求ic 工程師對現有運算模塊的性能作進一步改進,尤其是在電路的功耗和尺寸方面。由于現在相應的電池技術難以和微電子技術的發(fā)展速度匹敵,這使得 ic 設計師遇到了許多限制因素,比如高速,
27、大吞吐量,小尺寸,低功耗等。因此,這使得研究低功耗高性能加法單元持續(xù)升溫。另一方面就是如何提高加法器的運算速度。因為加法運算存在進位問題,使得某一位計算結果的得出和所有低于它的位相關。因此,為了減少進位傳輸所耗的時間,提高計算速度,人們設計了多種類型的加法器,如超前進位加法器(carry lookahead adders, cla)、曼徹斯特加法器(manchester adder)、進位旁路加法器(carry skip adders, cska)、進位選擇加法器(carry select adders,csla)等。它們都是利用各位之間的狀態(tài)來預先產生高位的進位信號,從而減少進位從低位向高位
28、傳遞的時間。1.2 加法器加法器是為了實現加法的。即是產生數的和的裝置。加數和被加數為輸入,和數與進位為輸出的裝置為半加器。若加數、被加數與低位的進位數為輸入,而和數與進位為輸出則為全加器。常用作計算機算術邏輯部件,執(zhí)行邏輯操作、移位與指令調用。對于1位的二進制加法,相關的有五個的量:1,被加數a,2,被加數b,3,前一位的進位cin,4,此位二數相加的和s,5,此位二數相加產生的進位cout。前三個量為輸入量,后兩個量為輸出量,五個量均為1位。對于32位的二進制加法,相關的也有五個量:1,被加數a(32位),2,被加數b(32位),3,前一位的進位cin(1位),4,此位二數相加的和s(32
29、位),5,此位二數相加產生的進位cout(1位)。要實現32位的二進制加法,一種自然的想法就是將1位的二進制加法重復32次(即逐位進位加法器)。這樣做無疑是可行且易行的,但由于每一位的cin都是由前一位的cout提供的,所以第2位必須在第1位計算出結果后,才能開始計算;第3位必須在第2位計算出結果后,才能開始計算,等等。而最后的第32位必須在前31位全部計算出結果后,才能開始計算。這樣的方法,使得實現32位的二進制加法所需的時間是實現1位的二進制加法的時間的32倍。1.2.1 加法器基本方法可以看出,上法是將32位的加法1位1位串行進行的,要縮短進行的時間,就應設法使上敘進行過程并行化。逐位進
30、位加法器,在每一位的計算時,都在等待前一位的進位。那么不妨預先考慮進位輸入的所有可能,對于二進制加法來說,就是0與1兩種可能,并提前計算出若干位針對這兩種可能性的結果。等到前一位的進位來到時,可以通過一個雙路開關選出輸出結果。這就是進位選擇加法器的思想。 加法器提前計算多少位的數據為宜?同為32位的情況:線形進位選擇加法器,方法是分n級,每級計算32/n位;平方根進位選擇加法器,考慮到使兩個路徑(1,提前計算出若干位針對這兩種可能性的結果的路徑,2,上一位的進位通過前面的結構的路徑)的延時達到相等或是近似。方法,或是2345666即第一級相加2位,第二級3位,第三級4位,第四級5位,第五級6位
31、,第六級6位,第七級6位;或是345677即第一級相加3位,第二級4位,第三級5位,第四級6位,第五級7位,第六級7位。進一步分析加法進行的機制,可以使加法器的結構進一步并行化。令g = ab,p = ab,則cout(g,p) = g + pcin,s(g,p)=pcin。由此,a,b,cin,s,cout五者的關系,變?yōu)榱薵,p,cin,s,cout五者的關系。再定義點運算(),(g,p)(g,p)=(g + pg,pp),可以分解(g 3:2,p3:2) =(g3,p3)(g2,p2)。點運算服從結合律,但不符合交換律。點運算只與g,p有關而與cin無關,也就是可以通過只對前面若干位g,
32、p進行點運算計算,就能得到第n位的gn:m,pn:m值,當取m為0時,獲得的gn:0,pn:0即可與初使的cin一起代入cout(g,p) = g + pcin,s(g,p)=pcin,得到此位的cout,s;而每一位的g,p值又只與該位的a,b值即輸入值有關,所以在開始進行運算后,就能并行的得到每一位的g,p值。以上分析產生了超前進位加法器的思想:三步運算,1,由輸入的a,b算出每一位的g,p;2,由各位的g,p算出每一位的gn:0,pn:0;3,由每一位的gn:0,pn:0與cin算出每一位的cout,s。其中第1,3步顯然是可以并行處理的,計算的主要復雜度集中在了第2步。第2步的并行化,
33、也就是實現gn:0,pn:0的點運算分解的并行化。圖 1-1 加法器連接圖1.2.2 加法器工作原理加法器是數字系統(tǒng)中的基本邏輯器件,例如為了節(jié)省邏輯資源減法器和硬件乘法器都可由加法器來構成。寬位的加法器的設計是十分耗費硬件資源的,因此在實際的設計和相關系統(tǒng)的開發(fā)中需要注意資源的利用率和進位速度兩方面的問題。多位加法器的構成有兩種方式:并行進位和串行進位方式。并行進位加法器設有并行進位產生,邏輯運算速度較快;串行進位方式是將全加器級聯構成多位加法器并行進位。實驗表明,4 位二進制并行加法器和串行級聯加法器占用幾乎相同的資源。設一個n位的加法器的第i位輸入為ai、bi、ci,輸出si和ci+1,
34、其中ci是低位來的進位,ci+1(i=n-1,n-2,1,0)是向高位的進位,c0是整個加法器的進位輸入,而cn是整個加法器的進位輸出。則和si=aiii+ibii+iici+aibici ,(1) 加法器進位ci+1=aibi+aici+bici ,(2)令 gi=aibi, (3)pi=ai+bi, (4)則 ci+1= gi+pici, (5) 只要aibi=1,就會產生向i+1位的進位,稱g為進位產生函數;同樣,只要ai+bi=1,就會把ci傳遞到i+1位,所以稱p為進位傳遞函數。把式(5)展開,得到:ci+1= gi+ pigi-1+pipi-1gi-2+ pipi-1p1g0+ p
35、ipi-1p0c0(6) 。隨著位數的增加式(6)會加長,但總保持三個邏輯級的深度,因此形成進位的延遲是與位數無關的常數。一旦進位(c1cn-1)算出以后,和也就可由式(1)得出。使用上述公式來并行產生所有進位的加法器就是超前進位加法器。產生gi和pi需要一級門延遲,ci 需要兩級,si需要兩級,總共需要五級門延遲。與串聯加法器(一般要2n級門延遲)相比,(特別是n比較大的時候)超前進位加法器的延遲時間大大縮短了。圖1-2 加法器工作原理圖1.2.3 加法器類型以單位元的加法器來說,有兩種基本的類型:半加器和全加器 加法器半加器有兩個輸入和兩個輸出,輸入可以標識為 a、b 或 x、y,輸出通常
36、標識為合 s 和進制 c。a 和 b 經 xor 運算后即為 s,經 and 運算后即為 c。全加器引入了進制值的輸入,以計算較大的數。為區(qū)分全加器的兩個進制線,在輸入端的記作 ci 或 cin,在輸出端的則記作 co 或 cout。半加器簡寫為 h.a.,全加器簡寫為 f.a.。半加器:半加器的電路圖半加器有兩個二進制的輸入,其將輸入的值相加,并輸出結果到和(sum)和進制(carry)。半加器雖能產生進制值,但半加器本身并不能處理進制值。全加器:全加器三個二進制的輸入,其中一個是進制值的輸入,所以全加器可以處理進制值。全加器可以用兩個半加器組合而成。注意,進制輸出端的最末個or閘,也可用x
37、or閘來代替,且無需更改其余的部分。因為 or 閘和 xor 閘只有當輸入皆為 1 時才有差別,而這個可能性已不存在。1.3 全加器用門電路實現兩個二進制數相加并求出和的組合線路,稱為一位全加器。一位全加器可以處理低位進位,并輸出本位加法進位。多個一位全加器進行級聯可以得到多位全加器。全加器是能夠計算低位進位的二進制加法電路。 一位全加器(fa)的邏輯表達式為:s=abcinco=ab+bcin+acin其中a,b為要相加的數,cin為進位輸入;s為和,co是進位輸出;如果要實現多位加法可以進行級聯,就是串起來使用;比如32位+32位,就需要32個全加器;這種級聯就是串行結構速度慢,如果要并行
38、快速相加可以用超前進位加法,超前進位加法前查閱相關資料;如果將全加器的輸入置換成a和b的組合函數xi和y(s0s3控制),然后再將x,y和進位數通過全加器進行全加,就是alu的邏輯結構結構。即 x=f(a,b)y=f(a,b)不同的控制參數可以得到不同的組合函數,因而能夠實現多種算術運算和邏輯運算。第2章 加法器基本原理2.1 加法器原理圖圖 2-1 加法器原理圖2.1.1 原理介紹考慮兩個二進制數字 x 和 y。他們的二進制“和”用“x+y”表示如下:0+0=00+1=11+0=11+1=10這里最后一行的結果是二進制數 10(即是十進制中的 2)。這一簡單的例子說明了有關加法的問題。如果取
39、兩個 r 進制的數字,其范圍為 0,1,(r-1),那么這兩個數的和可能超出這一組數字本身的范圍。自然這就是“進位輸出”概念的來源。在“二進制”和“1+1”中,其結果 10 被看成是一個 0 以及一個左移的 1,后者即為“進位輸出 1”。一個半加器電路有兩個輸入(x 和 y)以及兩個輸出(和 s 與進位輸出 c)。半輸出由以下的基本邏輯方程給出:s = x y式(2-1)c = x i y式(2-2)它們可以直接從表中推導出來。這個單元的 verilog 高層行為描述可以寫成:module half_adder (sum, c_out, x, y);input x, y;output sum,
40、 c_out;assign c_out, sum=x+y;endmodule4低功耗超高速 cmos 加法器設計研究這里的 x 和 y 定義為單個二進制位,然后運用連接算子 得到兩位的結果。這一算子按列出的順序“連接”兩個二進制部分以形成單一的結果。另一方面,也可構成如圖所示的門級電路。以下是由如下的門級電路結構模型描述的:module half_adder_gate(sum, c_out, x, y);input x, y;output sum, c_out;and (c_out, x, y);xor (sum, x, y);endmodule圖 2-2 半加器圖 2-3 為全加器的符號,三
41、個輸入 ai, bi, ci相加產生兩個輸出:“和”si與“進位”ci+1。圖 2-3 全加器符號圖2-5 一位全加器真值表由此可知,一個全加器可以由兩個半加器模塊來構成,如圖所示。圖 2-4 全加器邏輯電路2.2 全加器原理圖圖 2-5 全加器原理圖2.3 四位全加器原理圖圖 2-6 四位全加器原理圖2.4 本章小結本章主要介紹個邏輯電路:加法器,半加法器,全加器,四位全加器。并且對每種邏輯電路進行介紹,羅列出半加法器真值表,各邏輯電路。這些邏輯電路都是組成畢業(yè)設計需要掌握的邏輯電路。通過對其原理及電路圖的收集。使我對整體畢業(yè)設計的全貌有了更進一步的深刻認識。第3章 設計環(huán)境與程序3.1 設
42、計環(huán)境本次eda加法器設計主要使用軟件quartusii9.0。下面就此軟件做以下介紹。quartusii是altera公司推出的cpld/fpga開發(fā)工具,quartusii提供了完全集成且與電路結構無關的開發(fā)包環(huán)境,具有數字邏輯設計的全部特性,包括:可利用原理圖、結構框圖、veriloghdl、ahdl、和vhdl我們完成電路描述,并將其保存為設計實體文件;芯片平面布局連線編輯;logiclock增量設計方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊。quartusii的基本特點:功能強大的邏輯綜合工具;完備的電路功能仿真與時序邏輯仿真工具;定時、時序分析與
43、關鍵路徑延時分析;可使用signaltapii邏輯分析工具進行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;實用組合編譯方式可一次完成整體設計流程;自動定位編譯錯誤;高效的期間編程與驗證工具;可讀入標準的edif網表文件、vhdl網表文件和verilog網表文件;能生成第三方eda軟件使用的vhdl網表文件和verilog網表文件;3.2 一位全加器基于quartus進行eda設計開發(fā)一個用門電路實現兩個二進數相加并求出和的組合線路,即全加器。圖 4-1 1位全加器邏輯原理圖1位全加器可由兩個半加器組成,在半加器的基礎上,采用元件調用和例化語句,將件連接起來,而實
44、現全加器的vhdl編程和整體功能。全加器包含了兩個半加器和一個或門。1 位半加器的端口信號a和b 分別是兩位相加的二進制輸入信號,so 是相加和的輸出信號,co 是進位輸出信號,左邊的門電路結構構成了右邊的半加器h_adder 。而在硬件上可以利用半加器構成如圖1 所示的全加器,當然還可以將一組這樣的全加器級聯起來構成一個串行進位的加法器。圖1中,全加器f_adder 內部的功能結構是由3 個邏輯器件構成的即由兩個半加器u1、u2 和一個或門u3 連接而成。圖2 是利用vhdl 對圖1中全加器的邏輯原理圖的完整描述,可以在任何一個支持vhdl的eda平臺上進行編譯、綜合、時序仿真,直至編程配置
45、于選定的目標器件中。圖 4-2 1位全加器邏輯原理圖3.2.1 一位全加器設計總程序及解釋-或門邏輯描述library ieee ;use ieee.std_logic_1164.all;entity or2 isport (a,b :in std_logic; c : out std_logic );end entity or2architecture fu1 of or2 isbeginc = a or b ;end architecture fu1;-半加器描述library ieee;use ieee.std_logic_1164.all;entity h_adder isport (
46、a b : in std_logic; co, so : out std_logic);end entity h_adderarchitecture fh1 of h_adder isbeginso = (a or b)and(a nand b);co ain b =bin co=d so =e); u2 : h_adder port map( a =e b =cin co =f so =sum); u3 : or2 port map(a =d b =f c =cout);end architecture fd1 ;對于對數綜合器來說,程序所列的全部程序可以同時輸入相應的eda 軟件進行編譯,
47、也能以單獨的元件模塊分別進行編輯、文件存檔、編譯和綜合。程序中共有3 個獨立的vhdl 設計模塊即2 個元件模塊和一個頂層設計模塊f_adder 存檔的文件名最好與對應的vhdl 程序的實體一致如可分別將它們取名為or2.vhd h_adder.vhd和f_adder.vhd。 程序的解析如下:(1) 作為文件說明部分由雙橫線“-” 引導了一段注釋語句在vhdl 程序的任何一行中雙橫線“-”后的文字都不參加編譯和綜合(2) 實體or2 語句段定義了或門or2 的引腳信號a b (輸入)和c (輸出) 其結構體語句段描述了輸入與輸出信號間的邏輯關系,即將輸入信號a b 相或后傳給輸出信號端c。由
48、此實體和結構體描述了一個完整的或門元件,這一描述可以進行獨立編譯、獨立綜合與存檔,或被其它的電路系統(tǒng)所調用。(3) 實體h_adder 和結構體fh1 描述了一個如圖2 所示的半加器,由其結構體的描述可以看到,它是由一個與非門、一個非門、一個或門和一個與門連接而成的,其邏輯關系來自于半加器真值表(表1)。 在vhdl中,邏輯算符nand、not、or 和and分別代表與非非或和與四種邏輯運算關系(4) 在全加器接口邏輯即頂層文件的vhdl 描述中,根據圖1右側的1位二進全加器f_adder 的原理圖,其實體定義了引腳的端口信號屬性和數據類型。其中,ain 和bin 分別為兩個輸入的相加位,ci
49、n 為低位進位輸入,cout 為進位輸出,sum為1位和輸出。結構體fd1的功能是利用component 和component 例化語句將上面由兩個實體or2 和h_adder 描述的獨立器件,按照圖1全加器內部邏輯原理圖中的接線方式連接起來。(5) 在結構體fd1中,component end component 語句結構對所要調用的或門和半加器兩個元件作了聲明(component declaration),并由signal 語句定義了三個信號d、e和f作為中間信號轉存點,以利于幾個器件間的信號連接。接下去的port map( ) 語句稱為元件例化語句(component instantia
50、tion)。所謂例化,在電路板上,相當于往上裝配元器件;在邏輯原理圖上,相當于從元件庫中取了一個元件符號放在電路原理圖上,并對此符號的各引腳進行連線。例化也可理解為元件映射或元件連接,map 是映射的意思。例如由u2指示的語句表示將實體h_adder 描述的元件的引腳信號a、b、co和so分別連向外部信號e、cin、f、和sum符號=表示信號連接。(6) 由圖1可見,實體f_adder 引導的邏輯描述也是由三個主要部分構成的,即庫、實體和結構體。從表面上看來,庫的部分僅包含了一個ieee 標準庫和打開的ieee.std_logic_1164.all 程序包但實際上從結構體的描述中可以看出,對外
51、部的邏輯有調用的操作,這類似于對庫或程序包中的內容作了調用。因此,庫結構部分還應將上面的或門和半加器的vhdl描述包括進去,作為工作庫中的兩個待調用的元件。由此可見,庫結構也是vhdl 程序的重要組成部分。3.3 四位加法器設置三個信號變量:signal c0,c1,c2 : std_logic;使s的每一位都為a、b對應位上以及低進位的異或:(每一位都類似一位全加器,如0+1=1,0與1取異或結果也是1)s(0) = a(0) xor b(0) xor ci;使信號變量代表的中間低進位為a、b以及低進位兩兩取并再取或:(如若低進位ci=0,a、b都等于1,a+b=1+1=0,進位是1,則1與
52、1取并為1,1與0取并為0,1與0取并為0,1、0、0取或為1,及得到進位結果也是1)c0 = (a(0) and b(0) or (a(0) and ci) or (b(0) and ci);同上,高進位取a、b最高位之和的進位即可:co = (a(3) and b(3) or (a(3) and c2) or (b(3) and c2);舉例:ci=0,a=0101(=5),b=1001(=9),s=1110(=14),從最低位看起,,s(0)=0xor1xor1=0,c0=(0and 1) or(0and1)or(1and 1)=1,以此類推,即可得到s的值。使用quartusii軟件編
53、寫程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4b isport(c4:in std_logic;a4:in std_logic_vector(3 downto 0);b4:in std_logic_vector(3 downto 0);s4: out std_logic_vector(3 downto 0);co4: out std_logic);end entity adder4b;architecture art of adder4b issignal s5:std_logic_vector(4 downto 0);signal a5,b5:std_logic_vector(4 downto 0);begina5=0&a4;b5=0&b4;s5=a5+b5+c4;s4=s5(3 downto 0);co4=s5(4);end architecture art;3.4 本章小結本章主要介紹各個加法器對于eda的而編寫的程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025新人教版英語七年級下單詞默寫表(小學部分)
- 莫言《兒子的敵人》閱讀答案及解析
- 商務英語筆譯之宣傳資料
- 住宅室內裝修工序間歇及工藝間歇標準
- 二零二五年度醫(yī)療設備維護與保養(yǎng)合同4篇
- 蘇科版七年級(上)期末復習模擬卷
- 八年級數學期末模擬卷(全解全析)(蘇州專用)
- 2024年浙江經貿職業(yè)技術學院高職單招數學歷年參考題庫含答案解析
- 2024年浙江電力職業(yè)技術學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 21世紀中國電子商務網校講義資料
- 醫(yī)院感染管理辦法
- 物流學概論(崔介何第五版)物流學概述
- 《載畜量計算》課件
- 統(tǒng)編版六年級語文上冊專項 專題12說明文閱讀-原卷版+解析
- 軟件無線電原理與應用第3版 課件 【ch03】軟件無線電體系結構
- 石油化工裝置火炬系統(tǒng)堵塞風險分析
- 防突抽采隊202年度工作總結
- 四川省石棉縣石石石材有限責任公司石棉縣大巖窩花崗石礦礦山地質環(huán)境保護與土地復墾方案
- 2023年ERCP圍手術期用藥專家共識意見
- 2019年內蒙古鄂爾多斯市中考數學試題(原卷+解析)
- 塑鋼門窗及鋁合金門窗制作和安裝合同
評論
0/150
提交評論