四位二進(jìn)制乘法器課程設(shè)計(jì)報(bào)告剖析_第1頁(yè)
四位二進(jìn)制乘法器課程設(shè)計(jì)報(bào)告剖析_第2頁(yè)
四位二進(jìn)制乘法器課程設(shè)計(jì)報(bào)告剖析_第3頁(yè)
四位二進(jìn)制乘法器課程設(shè)計(jì)報(bào)告剖析_第4頁(yè)
四位二進(jìn)制乘法器課程設(shè)計(jì)報(bào)告剖析_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 4位二進(jìn)制乘法器課程設(shè)計(jì)報(bào)吿目錄TOC o 1-5 h z HYPERLINK l bookmark4 o Current Document 1設(shè)計(jì)任務(wù)2 HYPERLINK l bookmark6 o Current Document 1.1設(shè)計(jì)的目的21.2設(shè)計(jì)要求32硬件描述語(yǔ)言VHDL3 HYPERLINK l bookmark8 o Current Document 2.1VHDL簡(jiǎn)介3 HYPERLINK l bookmark12 o Current Document 3設(shè)計(jì)規(guī)劃過程5 HYPERLINK l bookmark14 o Current Document 3.1四位

2、二進(jìn)制乘法器的組成原理6 HYPERLINK l bookmark16 o Current Document 3.2乘法器的設(shè)計(jì)6 HYPERLINK l bookmark20 o Current Document 4心得體會(huì)9 HYPERLINK l bookmark22 o Current Document 5參考文獻(xiàn)101設(shè)計(jì)任務(wù)1.1設(shè)計(jì)的目的本次設(shè)計(jì)的目的就是在掌握EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的初步使用基礎(chǔ)上,了解EDA技術(shù),了解并掌握VHDL硬件描述語(yǔ)言的設(shè)計(jì)方法和思想,通過學(xué)習(xí)的VHDL語(yǔ)言結(jié)合電子電路的設(shè)計(jì)知識(shí)理論聯(lián)系實(shí)際,掌握所學(xué)的課程知識(shí),學(xué)習(xí)VHDL基本單元電路的綜合設(shè)計(jì)應(yīng)用。通過

3、對(duì)四位二進(jìn)制乘法器的設(shè)計(jì),鞏固和綜合運(yùn)用所學(xué)課程,加深對(duì)數(shù)字電路和VHDL基本單元的理解,理論聯(lián)系實(shí)際,提高設(shè)計(jì)能力,提高分析、解決計(jì)算機(jī)技術(shù)實(shí)際問題的獨(dú)立工作能力。通過課程設(shè)計(jì)深入理解VHDL語(yǔ)言的精髓,達(dá)到課程設(shè)計(jì)的目標(biāo),乘法器的設(shè)計(jì)可以使對(duì)計(jì)算機(jī)怎樣工作有了更深了解,其實(shí)當(dāng)初想到設(shè)計(jì)這個(gè)課題。1.2設(shè)計(jì)要求1)構(gòu)造一個(gè)4位二進(jìn)制乘法器;2)受按鍵控制由4bit輸入端口先后輸入四位乘數(shù)和被乘數(shù)(乘數(shù),被乘數(shù)均由HDB3碼表示);3)用兩個(gè)七段數(shù)碼管顯示積,以十進(jìn)制顯示;2硬件描述語(yǔ)言VHDL2.1VHDL簡(jiǎn)介VHDL語(yǔ)言是一種用于電路設(shè)計(jì)的高級(jí)語(yǔ)言。它在80年代的后期出現(xiàn)。最初是由美國(guó)國(guó)防

4、部開發(fā)出來供美軍用來提高設(shè)計(jì)的可靠性和縮減開發(fā)周期的一種使用范圍較小的設(shè)計(jì)語(yǔ)言。但是,由于它在一定程度上滿足了當(dāng)時(shí)的設(shè)計(jì)需求,于是他在1987年成為AI/IEEE的標(biāo)準(zhǔn)(IEEESTD1076T987)。1993年更進(jìn)一步修訂,變得更加完備,成為AI/IEEE的AI/IEEESTD1076-1993標(biāo)準(zhǔn)。目前,大多數(shù)的CAD廠商出品的EDA軟件都兼容了這種標(biāo)準(zhǔn)。VHDL的英文全寫是:VHSIC(VeryHigheedIntegratedCircuit)HardwareDescriptiongLanguage.翻譯成中文就是超高速集成電路硬件描述語(yǔ)言。因此它的應(yīng)用主要是應(yīng)用在數(shù)字電路的設(shè)計(jì)中。目

5、前,它在中國(guó)的應(yīng)用多數(shù)是用在FPGA/CPLD/EPLD的設(shè)計(jì)中。當(dāng)然在一些實(shí)力較為雄厚的單位,它也被用來設(shè)計(jì)ASIC。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)

6、設(shè)計(jì)的基本點(diǎn)。VHDL比其它硬件描述語(yǔ)言相比有以下優(yōu)點(diǎn):(1)與其他的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì)

7、,可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。(5)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。2.2VHDL語(yǔ)言特點(diǎn)應(yīng)用VHDL進(jìn)行系統(tǒng)設(shè)計(jì),有以下幾方面的特點(diǎn)。(一)功能強(qiáng)大VHDL具有功能強(qiáng)大的語(yǔ)言結(jié)構(gòu)。它可以用明確的代碼描述復(fù)雜的控制邏輯設(shè)計(jì)。并且具有多層次的設(shè)計(jì)描述功能,支持設(shè)計(jì)庫(kù)和可重復(fù)使用的元件生成。VHDL是一種設(shè)計(jì)、仿真和綜合的標(biāo)準(zhǔn)硬件描述語(yǔ)言。(二)可移植性VHDL語(yǔ)言是一個(gè)標(biāo)準(zhǔn)語(yǔ)言,其設(shè)計(jì)描述可以為不同的EDA工具支持。它可以從一個(gè)仿真工具移植到另一個(gè)仿真工具,

8、從一個(gè)綜合工具移植到另一個(gè)綜合工具,從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)。此外,通過更換庫(kù)再重新綜合很容易移植為ASIC設(shè)計(jì)。(三)獨(dú)立性VHDL的硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無(wú)關(guān)。設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。程序設(shè)計(jì)的硬件目標(biāo)器件有廣闊的選擇范圍,可以是各系列的CPLD、FPGA及各種門陣列器件。(四)可操作性由于VHDL具有類屬描述語(yǔ)句和子程序調(diào)用等功能,對(duì)于已完成的設(shè)計(jì),在不改變?cè)闯绦虻臈l件下,只需改變端口類屬參量或函數(shù),就能輕易地改變?cè)O(shè)計(jì)的規(guī)模和結(jié)構(gòu)。(五)靈活性VHDL最初是作為一種仿真標(biāo)準(zhǔn)格式出現(xiàn)的,有著豐富的仿真語(yǔ)句和庫(kù)函

9、數(shù)。使其在任何大系統(tǒng)的設(shè)計(jì)中,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。所以,即使在遠(yuǎn)離門級(jí)的高層次(即使設(shè)計(jì)尚未完成時(shí)),設(shè)計(jì)者就能夠?qū)φ麄€(gè)工程設(shè)計(jì)的結(jié)構(gòu)和功能的可行性進(jìn)行查驗(yàn),并做出決策。3設(shè)計(jì)規(guī)劃過程3.1四位二進(jìn)制乘法器的組成原理本實(shí)驗(yàn)學(xué)習(xí)VHDL中乘法的使用。在VHDL語(yǔ)言中,一般有c(7downto0)=a(3downto0)*b(3downto0)。所以4位二進(jìn)制數(shù)的乘積是8位二進(jìn)制數(shù),為了更符合習(xí)慣,我們把結(jié)果轉(zhuǎn)化成了十進(jìn)制。所以結(jié)果范圍是0225,即015*15。本實(shí)驗(yàn)采用的三位數(shù)在數(shù)碼管上顯示的方法是:分別確定百位、十位和個(gè)位。送數(shù)碼管動(dòng)態(tài)顯示。采用與各個(gè)數(shù)逐一比較的方法確定。如百位的確定

10、可以將結(jié)果與200和100比較,若比200大則百位為2,在100到200之間則百位為1,小于100則百位為0,不顯示。十位的確定可以將結(jié)果去掉百位,然后與10,20,.90比較而得。本文設(shè)計(jì)的四位二進(jìn)制乘法器系統(tǒng)框圖如圖3.2所示。multiplyclkled_data7.Oa3.Oseg_sel2.Ob3.O圖3.2乘法器系統(tǒng)框圖3.2乘法器的設(shè)計(jì)四位二進(jìn)制加法器和乘法器由VHDL實(shí)現(xiàn)后,利用EDA工具對(duì)各模塊進(jìn)行了時(shí)序仿真(TimingSimulation),其目的是通過時(shí)序可以更清楚的了解程序的工作過程。VHDL語(yǔ)言設(shè)計(jì)如下:libraryieee;useieee.std_logic_1

11、164.all;useieee.std_logic_unsigned.all;entitymultiplyis-構(gòu)造體描述4位乘法器port(clk:instd_logic;a,b:instd_logic_vector(3downto0);led_data:outstd_logic_vector(7downto0);seg_sel:outstd_logic_vector(2downto0);endmultiply;architecturertlofmultiplyissignalled_data2,led_datal,led_data0:std_logic_vector(7downtoO);-

12、LED顯示代碼,寄存十位個(gè)位的數(shù)signaldisplayclk:std_logic;beginprocess(a,b)variables:std_logic_vector(7downto0);-乘積variablebai,shiwei,gewei:std_logic_vector(3downto0);-乘積的十位個(gè)位begins(7downto0):=a(3downto0)*b(3downto0);ifs=11001000thenbai:=0010;s:=s-11001000;-200以上elsifs=01100100thenbai:=0001;s:=s-01100100;-100以上els

13、ebai:=0000;endif;ifs=01011010thenshiwei:=1001;s:=s-01011010;gewei:=s(3downto0);-90以上elsifs=01010000thenshiwei:=1000;s:=s-01010000;gewei:=s(3downto0);-80以上elsifs=01000110thenshiwei:=0111;s:=s-01000110;gewei:=s(3downto0);-70以上elsifs=00111100thenshiwei:=0110;s:=s-00111100;gewei:=s(3downto0);-60以上elsifs

14、=00110010thenshiwei:=0101;s:=s-00110010;gewei:=s(3downto0);-50以上elsifs=00101000thenshiwei:=0100;s:=s-00101000;gewei:=s(3downto0);-40以上elsifs=00011110thenshiwei:=0011;s:=s-00011110;gewei:=s(3downto0);-30以上elsifs=00010100thenshiwei:=0010;s:=s-00010100;gewei:=s(3downto0);-20以上elsifs=00001010thenshiwei:

15、=0001;s:=s-00001010;gewei:=s(3downto0);-10以上elsegewei:=s(3downto0);shiwei:=0000;endif;casebaiiswhen0001=led_data2led_data2led_data2led_data1led_data1led_data1led_data1led_data1led_data1led_datalv=10000010;when0111=led_data1v=11111000;when1000=led_data1led_data1led_data1led_data0led_data0led_data0led

16、_data0led_data0led_data0led_data0led_data0led_data0led_data0led_data0=11111111;endcase;endprocess;process(clk)variablecnt:integerrange0to20000;-1KHZ掃描顯示時(shí)鐘beginifclkeventandclk=Tthencnt:=cnt+1;ifcnt10000thendisplayclkv=T;elsifcnt20000thendisplayclkv=0;elsecnt:=0;displayclkv=0;endif;endif;endprocess;p

17、rocess(displayclk)-顯示兩位variablecnt2:stdogic_vector(1downto0);beginifdisplayclkeventanddisplayclk=Tthencnt2:=cnt2+1;ifcnt2=01thenseg_sel=001;led_data=led_data0;elsifcnt2=010thenseg_sel=010;led_data=led_data1;elsifcnt2=11thencnt2:=00;seg_sel=100;Ied_datav=led_data2;endif;endif;endprocess;endrtl;NodeNa

18、meDirectionLocationI/OBank3J日InputPIN1033斗a3InputPIN35一b0Input36JblInput37b2InputPIN38b3Input39一dkInput110妙leddata7Output211妙leddata6OutputPIN10212妙leddata5OutputPIN11213妙leddata4OutputPIN1221斗妙leddata3OutputPIN132四位二進(jìn)制乘法器仿真冬如下所示:PIN1斗216妙leddatalOutputPIN192Interval:-931.0ns100.Ona200.0ns300.0ns400

19、.Ona500.0ns600.0ns700.0ns800.0ns900.OnEETime:山帖Ref:931.0nsName:Value:_zelkA1_盧aDO_盧bDO=yl&d_dataD164y3&g_s&lD1-_/displayclk112.實(shí)驗(yàn)引腳分配如下:164a,elk為時(shí)鐘脈沖輸入信號(hào),a,b是輸出信號(hào)表示要參與運(yùn)算的兩個(gè)數(shù),仿真分析:Led_data,seg_set為輸出信號(hào),表示計(jì)算的結(jié)果。4心得體會(huì)通過這一段時(shí)間的緊張學(xué)習(xí),最后完成了我的設(shè)計(jì)任務(wù)一一四位二進(jìn)制乘法器的設(shè)計(jì)。通過本次課程設(shè)計(jì)的學(xué)習(xí),我深深的體會(huì)到設(shè)計(jì)課的重要性和目的性所在。本次設(shè)計(jì)課不僅僅培養(yǎng)了我們實(shí)際

20、操作能力,也培養(yǎng)了我們靈活運(yùn)用課本知識(shí)完成工作的能力。加法器和乘法器雖然是比較簡(jiǎn)單的設(shè)計(jì)課程,但它給了我一個(gè)鍛煉的機(jī)會(huì)和檢驗(yàn)的機(jī)會(huì),也給我復(fù)習(xí)計(jì)算機(jī)組成原理這門課提供了方便。希望學(xué)校以后多安排一些類似的實(shí)踐環(huán)節(jié),讓同學(xué)們學(xué)以致用。加法器和乘法器的設(shè)計(jì)讓我對(duì)門電路更有清楚了解,對(duì)VHDL語(yǔ)言也有了一定的了解。加法器是計(jì)算機(jī)運(yùn)算中的重要組成部分,而且是其他運(yùn)算實(shí)現(xiàn)的基礎(chǔ)。在設(shè)計(jì)中要求我要有耐心和毅力,還要細(xì)心,稍有不慎,一個(gè)小小的錯(cuò)誤就會(huì)導(dǎo)致結(jié)果的不正確,感謝肖曉麗老師耐心的給我指出了錯(cuò)誤,讓我面對(duì)錯(cuò)誤的檢查有足夠的耐心,通過這次設(shè)計(jì)和設(shè)計(jì)中遇到的問題,也積累了一定的經(jīng)驗(yàn),對(duì)以后從事設(shè)計(jì)工作會(huì)有一

21、定的幫助。在應(yīng)用VHDL的過程中讓我真正領(lǐng)會(huì)到了其并行運(yùn)行與其他軟件順序執(zhí)行的差別及其在電路設(shè)計(jì)上的優(yōu)越性。VHDL語(yǔ)言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)學(xué)模型直到門級(jí)電路,用來進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)方便靈活。5參考文獻(xiàn)DavidA.Patterson.計(jì)算機(jī)組成和設(shè)計(jì)M.清華大學(xué)出版社,2003年12月WilliamStallings計(jì)算機(jī)組織與結(jié)構(gòu)M.高等教育出版社,2001年8月曾繁泰,陳美金.VHDL程序設(shè)計(jì)M.清華大學(xué)出版社,2001計(jì)算機(jī)畢業(yè)設(shè)計(jì)網(wǎng).VHDL實(shí)用教程M.2012王愛英計(jì)算機(jī)組成與結(jié)構(gòu)M清華大學(xué)出版社.2001年2月附件:加法器的VHDL語(yǔ)言設(shè)計(jì):libra

22、ryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityadd1is-1位全加器port(a,b:instd_logic;cin:instd_logic;cout:outstd_logic;s:outstd_logic);endadd1;architecturertlofadd1isbeginprocess(a,b,cin)-列舉所有情況對(duì)應(yīng)的輸出variabletemp,temp1:std_logic;begintemp:=axorb;temp1:=t

23、empxorcin;couta0,-模塊的名稱映射b=bO,cin=cingnd,cout=cout1,s=sO);u2:addlportmap(a=a1,b=b1,cin=cout1,cout=cout2,s=s1);u3:add1portmap(a=a2,b=b2,cin=cout2,cout=cout3,s=s2);u4:add1portmap(a=a3,b=b3,cin=cout3,cout=cout,s=s3);endrtl;乘法器的VHDL語(yǔ)言設(shè)計(jì):libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.a

24、ll;entitymultiplyis-構(gòu)造體描述4位乘法器port(clk:instd_logic;a,b:instd_logic_vector(3downto0);led_data:outstd_logic_vector(7downto0);seg_sel:outstd_logic_vector(2downto0);endmultiply;architecturertlofmultiplyissignalled_data2,led_data1,led_data0:std_logic_vector(7downtoO);-LED顯示代碼,寄存十位個(gè)位的數(shù)signaldisplayclk:std

25、ogic;beginprocess(a,b)variables:stdogic_vector(7downto0);-乘積variablebai,shiwei,gewei:stdogic_vector(3downto0);-乘積的十位個(gè)位begins(7downto0):=a(3downto0)*b(3downto0);ifs=11001000thenbai:=0010;s:=s-11001000;-200以上elsifs=01100100thenbai:=0001;s:=s-01100100;-100以上elsebai:=0000;endif;ifs=01011010thenshiwei:=1

26、001;s:=s-01011010;gewei:=s(3downto0);-90以上elsifs=01010000thenshiwei:=1000;s:=s-01010000;gewei:=s(3downto0);-80以上elsifs=01000110thenshiwei:=0111;s:=s-01000110;gewei:=s(3downto0);-70以上elsifs=00111100thenshiwei:=0110;s:=s-00111100;gewei:=s(3downto0);-60以上elsifs=00110010thenshiwei:=0101;s:=s-00110010;gewei:=s(3downto0);-50以上elsifs=00101000thenshiwei:=0100;s:=s-00101000;gewei:=s(3downto0);-40以上elsifs=00011110thenshiwei:=0011;s:=s-00011110;gewei:=s(3downto0);-30以上elsifs=00010100thenshiwei:=0010;s:=s-00010100;gewei:=s(3downto0);-20以上elsifs=00001010thenshiwe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論