資源描述:
《EDA與VHDL實(shí)現(xiàn)8位加法器.docx》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、EDA技術(shù)與VHDL實(shí)訓(xùn)姓名:李*班級:電信**-*學(xué)號:12********電子與信息工程學(xué)院8位加法器設(shè)計一實(shí)訓(xùn)目的1.學(xué)習(xí)使用VHDL語言設(shè)計電路,加深對VHDL語言的理解與應(yīng)用。2.學(xué)習(xí)8位加法器的VHDL程序設(shè)計方法。3.學(xué)習(xí)例化語句的應(yīng)用,并能夠利用例化語句完成從半加器到全加器的設(shè)計。二加法器加法器是為了實(shí)現(xiàn)加法的。即是產(chǎn)生數(shù)的和的裝置。加數(shù)和被加數(shù)為輸入,和數(shù)與進(jìn)位為輸出的裝置為半加器。若加數(shù)、被加數(shù)與低位的進(jìn)位數(shù)為輸入,而和數(shù)與進(jìn)位為輸出則為全加器。常用作計算機(jī)算術(shù)邏輯部件,執(zhí)行邏輯操作、移位與指令調(diào)用。對于1位的二進(jìn)制加法,相關(guān)的有五個的量:1,
2、被加數(shù)A,2,被加數(shù)B,3,前一位的進(jìn)位CIN,4,此位二數(shù)相加的和S,5,此位二數(shù)相加產(chǎn)生的進(jìn)位COUT。前三個量為輸入量,后兩個量為輸出量,五個量均為1位。對于32位的二進(jìn)制加法,相關(guān)的也有五個量:1,被加數(shù)A(32位),2,被加數(shù)B(32位),3,前一位的進(jìn)位CIN(1位),4,此位二數(shù)相加的和S(32位),5,此位二數(shù)相加產(chǎn)生的進(jìn)位COUT(1位)。要實(shí)現(xiàn)32位的二進(jìn)制加法,一種自然的想法就是將1位的二進(jìn)制加法重復(fù)32次(即逐位進(jìn)位加法器)。這樣做無疑是可行且易行的,但由于每一位的CIN都是由前一位的COUT提供的,所以第2位必須在第1位計算出結(jié)果后,才能
3、開始計算;第3位必須在第2位計算出結(jié)果后,才能開始計算,等等。而最后的第32位必須在前31位全部計算出結(jié)果后,才能開始計算。這樣的方法,使得實(shí)現(xiàn)32位的二進(jìn)制加法所需的時間是實(shí)現(xiàn)1位的二進(jìn)制加法的時間的32倍。三實(shí)訓(xùn)內(nèi)容首先設(shè)計半加器,然后用例化語句將它們連接起來。利用半加器和或門構(gòu)成1位全加器,以1位全加器為基本硬件,構(gòu)成串行進(jìn)位的8位加法器。3.1設(shè)計1位半減器利用真值表設(shè)計1位半減器。圖3-1中的h_add是半加器,sum是輸出和,a_out是進(jìn)位輸出,add_in是進(jìn)位輸入。表3-1加法真值表加數(shù)x加數(shù)y和sum進(jìn)位a_out000001101010110
4、1add_ine?d?summ?add_out?f?yxx?y?h_add?suma_out?x?y?h_addsum?a_out?圖3-1半加器原理圖實(shí)現(xiàn)1位半減器VHDL程序。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_addISPORT(x,y:INSTD_LOGIC;a_out,sum:OUTSTD_LOGIC);ENDENTITYh_add;ARCHITECTUREadd0OFh_addISSIGNALs:STD_LOGIC_VECTOR(1DOWNTO0);BEGINs<=x&y;PROCESS(s)B
5、EGINCASEsISWHEN“00”=>a_out<=‘0’;add<=‘0’;WHEN“01”=>a_out<=‘1’;add<=‘0’;WHEN“10”=>a_out<=‘1’;add<=‘0’;WHEN“11”=>a_out<=‘0’;add<=‘1’;WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREadd0;3.2設(shè)計或邏輯門實(shí)現(xiàn)或邏輯門的VHDL程序。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYorISPORT(a,b:INSTD_LOGIC;c:OUT
6、STD_LOGIC);ENDENTITYor;ARCHITECTUREorrOForISBEGINc<=aORb;ENDARCHITECTUREorr;3.3設(shè)計1位全加器實(shí)現(xiàn)1位全加器的VHDL程序。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYf_addISPORT(x,y,add_in:INSTD_LOGIC;add_out,sum:OUTSTD_LOGIC);ENDENTITYf_add;ARCHITECTUREadd1OFf_addISCOMPONENTh_addISPORT(x,y:INSTD_LOGIC;a
7、_out,summ:OUTSTD_LOGIC);ENDCOMPONENTh_add;COMPONENTorISPORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDCOMPONENTOR;SIGNALd,e,f:STD_LOGIC;BEGINu1:h_addPORTMAP(x=>x,y=>y,sum=>d,a_out=>e);u2:h_addPORTMAP(x=>d,y=>add_in,sum=>summ,a_out=>f);u3:orPORTMAP(a=>f,b=>e,c=>add_out);ENDARCHITECTUREadd1;3.
8、4設(shè)計8位