簡單運(yùn)算器的數(shù)據(jù)通路課程設(shè)計(jì)_第1頁
簡單運(yùn)算器的數(shù)據(jù)通路課程設(shè)計(jì)_第2頁
簡單運(yùn)算器的數(shù)據(jù)通路課程設(shè)計(jì)_第3頁
簡單運(yùn)算器的數(shù)據(jù)通路課程設(shè)計(jì)_第4頁
簡單運(yùn)算器的數(shù)據(jù)通路課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

編號:B04911053學(xué)號:原我厭二岸傳HUBEIPOLYTECHNICUNIVERSITY課程設(shè)計(jì)教學(xué)院計(jì)算機(jī)學(xué)院課程名稱計(jì)算機(jī)組成原理課程設(shè)計(jì)題目簡單運(yùn)算器數(shù)據(jù)通路的設(shè)計(jì)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級計(jì)算機(jī)科學(xué)與技術(shù)(3)班姓名廖萬君同組人員劉政華劉濤陳茂源指導(dǎo)教師高芹2013年1月22日課程設(shè)計(jì)任務(wù)書2012?2013學(xué)年第1學(xué)期學(xué)生姓名:廖萬君專業(yè)班級:計(jì)算機(jī)科學(xué)與技術(shù)(3)班指導(dǎo)教師:楊斐工作部門:計(jì)算機(jī)學(xué)院一、課程設(shè)計(jì)題目簡單運(yùn)算器數(shù)據(jù)通路的設(shè)計(jì)二、課程設(shè)計(jì)內(nèi)容(含技術(shù)指標(biāo))利用QUARTUS軟件設(shè)計(jì)一個8位簡單運(yùn)算器數(shù)據(jù)通路。運(yùn)算器可實(shí)現(xiàn)兩個8位二進(jìn)制數(shù)的加法、減法、傳送運(yùn)算三種運(yùn)算。包括R1、R2、R3三個通用寄存器和DR。數(shù)據(jù)有IN輸入,經(jīng)過運(yùn)算后結(jié)果寫入某寄存器中。同時將結(jié)果顯示在數(shù)碼管上??傮w框圖參考下圖:三、進(jìn)度安排2012年12月29日,課題講解,布置任務(wù)2012年12月30日到2013年1月4日,查閱資料,分析、討論與設(shè)計(jì)2013年1月5日到8日,進(jìn)行各子模塊的設(shè)計(jì),并進(jìn)行調(diào)試2013年1月9日到10日完成各模塊聯(lián)調(diào),進(jìn)行測試2013年1月11日,成果驗(yàn)收,進(jìn)行答辯四、基本要求(1)能夠熟練掌握計(jì)算機(jī)中運(yùn)算器和寄存器之間數(shù)據(jù)通路的工作原理;(2)掌握硬件描述語言VHDL及原理圖設(shè)計(jì)方法;(3)熟練掌握QuartusII軟件平臺;(4)各小組按模塊分工,每人獨(dú)立完成自己負(fù)責(zé)的模塊;(5)合作完成最終的硬件下載及調(diào)試;(6)獨(dú)立撰寫符合要求的課程設(shè)計(jì)報(bào)告。1課程設(shè)計(jì)概述1.1課設(shè)目的計(jì)算機(jī)組成原理是計(jì)算機(jī)專業(yè)的核心專業(yè)基礎(chǔ)課。課程設(shè)計(jì)屬于設(shè)計(jì)型實(shí)驗(yàn),不僅鍛煉學(xué)生簡單計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)能力,而且通過進(jìn)行設(shè)計(jì)及實(shí)現(xiàn),進(jìn)一步提高分析和解決問題的能力。通過對知識的綜合運(yùn)用,加深對計(jì)算機(jī)系統(tǒng)各模塊的工作原理及相互聯(lián)系的認(rèn)識,建立計(jì)算機(jī)整機(jī)概念。對計(jì)算機(jī)的基本組成、部件的設(shè)計(jì)、部件間的連接、微程序控制器的設(shè)計(jì)、微指令和微程序的編制與調(diào)試等過程有更深的了解,加深對理論課程的理解。鍛煉學(xué)生的獨(dú)立思考和動手能力。1.2設(shè)計(jì)任務(wù)本課程設(shè)計(jì)的題目是簡單運(yùn)算器數(shù)據(jù)通路。具體設(shè)計(jì)任務(wù)如下:(7)利用QUARTUS軟件設(shè)計(jì)一個8位簡單運(yùn)算器數(shù)據(jù)通路。(8)運(yùn)算器可實(shí)現(xiàn)兩個8位二進(jìn)制數(shù)的加法、減法、傳送運(yùn)算三種運(yùn)算。(9)包括R1、R2、R3三個通用寄存器和DR。(10)數(shù)據(jù)有IN輸入,經(jīng)過運(yùn)算后結(jié)果寫入某寄存器中。同時將結(jié)果顯示在數(shù)碼管上。1.3設(shè)計(jì)要求根據(jù)理論課程所學(xué)的至少,設(shè)計(jì)出簡單計(jì)算機(jī)系統(tǒng)的總體方案,結(jié)合各單元實(shí)驗(yàn)積累和課堂上所學(xué)知識,選擇適當(dāng)芯片,設(shè)計(jì)簡單的計(jì)算機(jī)系統(tǒng),具體要求如下:(1)能夠熟練掌握計(jì)算機(jī)中運(yùn)算器和寄存器之間數(shù)據(jù)通路的工作原理;(2)掌握硬件描述語言VHDL及原理圖設(shè)計(jì)方法;(3)熟練掌握QuartusII軟件平臺;各小組按模塊分工,每人獨(dú)立完成自己負(fù)責(zé)的模塊;合作完成最終的硬件下載及調(diào)試;獨(dú)立撰寫符合要求的課程設(shè)計(jì)報(bào)告。2實(shí)驗(yàn)原理與環(huán)境2.1實(shí)驗(yàn)原理計(jì)算機(jī)的一個最主要的功能就是處理各種算術(shù)和邏輯運(yùn)算,這個功能要由CPU中的運(yùn)算去來實(shí)現(xiàn),運(yùn)算器也稱作算術(shù)邏輯部件ALU。算術(shù)邏輯運(yùn)算部件ALU主要完成二進(jìn)制代碼的定點(diǎn)算術(shù)和邏輯運(yùn)算,有時也叫多功能函數(shù)發(fā)生器??偩€是計(jì)算機(jī)中連接各個功能部件的紐帶,是計(jì)算機(jī)各部件之間進(jìn)行信息傳輸?shù)墓餐贰?偩€不只是一組簡單的信號傳輸線,它還是一組協(xié)議。分時與共享是總線的兩大特征。所謂共享,在總線上可以掛接多個部件,它們都可以使用這一信息通路來和其它部件傳送信息。所謂分時,同一總線在同一時刻,只能有一個部件占領(lǐng)總線發(fā)送信息,其它部件要發(fā)送信息得在該部件發(fā)送完釋放總線后才能申請使用??偩€結(jié)構(gòu)是決定計(jì)算機(jī)性能、可擴(kuò)展和標(biāo)準(zhǔn)化程度的重要因素。2.2實(shí)驗(yàn)環(huán)境計(jì)算機(jī)組成原理教學(xué)試驗(yàn)儀,PC機(jī),TD-CMA試驗(yàn)系統(tǒng)。3總體方案設(shè)計(jì)3.1需求分析運(yùn)算器可以實(shí)現(xiàn)兩個8位二進(jìn)制的加法、減法、傳送運(yùn)算三種運(yùn)算,同時接收來自兩個選擇器的數(shù)據(jù),ALU對操作數(shù)進(jìn)行何種運(yùn)算由控制信號+、一和M決定,但任何時候ALU只能選擇其中一種運(yùn)算。由于存儲器和輸入輸出設(shè)備最終是要掛在總線上,所以需要總線提供數(shù)據(jù)信號、地址信號以及控制信號。首先,設(shè)計(jì)三個8位的寄存器和DR,通過控制信號來判斷輸入;然后,用三選一的選擇器分別從R1、R2、R3和DR中選擇一個信號輸入到X、Y;最后,將X和Y的值傳送到ALU中,分別用一個信號控制,來進(jìn)行+、-或者M(jìn)運(yùn)算,再將結(jié)果輸出。3.2硬件設(shè)計(jì)3.2.1總體設(shè)計(jì)利用QUARTUS軟件設(shè)計(jì)一個8位簡單運(yùn)算器數(shù)據(jù)通路,包括R1、R2、R3三個通用寄存器和DR。數(shù)據(jù)有IN輸入,經(jīng)過運(yùn)算后結(jié)果寫入某寄存器中。同時將結(jié)果顯示在數(shù)碼管上??傮w結(jié)構(gòu)圖如圖表3.1所示:

圖表3.1簡單運(yùn)算器通路總體框架圖3.2.2寄存器設(shè)計(jì)了三個寄存器R1、R2和R3,用來存放IN輸入的數(shù)據(jù),由輸入端1,2和3分別進(jìn)行控制數(shù)據(jù)的存放。3.2.3控制器需要兩個三選一控制器,其中一個控制器由微操作4、6和8分別控制R1、R2和DR的輸出,另一個控制器由微操作5、7和9分別控制R1、R2和R3的輸出,三選一控制器相應(yīng)的控制操作如表格3.1所示。表格3.1三選一控制器相應(yīng)的控制操作部件信號序號控制輸出說明三選一選擇器(左)4R1信號4、6、8互斥,每次只輸入一個信號6R28DR

三選一選擇器(右)5R1信號5、7、9互斥,每次只輸入一個信號7R29R33.2.4ALU邏輯處理單元ALU的操作(加、減和傳送)在同一個CPU周期內(nèi)只能單獨(dú)地選擇一種進(jìn)行預(yù)算,控制信號"+”控制“X+Y”的輸出,控制信號“-”控制“X-Y”的輸出,控制信號“M”控制“X”的輸出,ALU相應(yīng)的控制操作如表格3.2所示。表格3.2ALU相應(yīng)的控制操作部件運(yùn)算控制信號控制輸出說明ALU(運(yùn)算器)Add+Z=X+Y每次只能單獨(dú)進(jìn)行一種運(yùn)算Subtraction-Z=X-YMoveMZ=X4詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1選用芯片4.1.1EMP240T100C5系統(tǒng)采用的芯片是MAXII:EMP240T100C5這款芯片,它是一款可編程芯片,其總體的原理圖參見圖表4.1。圖表4.1基本原理圖廚menujlhglunuriLUAL^BGSiry-CkA_Canv-CUKiIABCtekwlSclwlD>□JIng(kJlSLtAhdkuhA□ddnsutiCnrrpnJCnirpnC-rauli^fkin誦廚menujlhglunuriLUAL^BGSiry-CkA_Canv-CUKiIABCtekwlSclwlD>□JIng(kJlSLtAhdkuhA□ddnsutiCnrrpnJCnirpnC-rauli^fkin誦LELAB-wdoS^nchrwMJBLojjnLAH-widc卸flEnig見0UB>ddal例2S^hranoueLeadandQuarLogk:CairvChanLookUp誕LnunAsyTKhroroufiCtar-Prwul1'LoadL可亡labdrl*jg也——i^bpi^Draa■Chip-Wde■FluSflDEV?CLHn|L4ACLflUHmnoaiumn.zindarudLnklaultifi]fMibD*Ri^TTamrruH!fltewAcpmcolumn,andDirKlLnk4.2硬件實(shí)現(xiàn)4.2.1硬件原理圖本次我們采用的是方案是微程序控制,實(shí)現(xiàn)一個8位簡單運(yùn)算器數(shù)據(jù)通路的設(shè)計(jì),硬件原理圖如圖表4.2所示。圖表4.2硬件原理圖x[7..0]y[7..0]substrancePIN_2…PIN-3cin1[7..0]cin2[7..0]cin3[7..0]cin1[7..0]cin2[7..0]cin3[7..0]PIN_34PIN_35PIN_36PIN_37PIN_38PIN_39PIN_40PIN41PIN_16PIN_17PIN_18PIN_19PIN_20PIN_21PIN_264.2.2運(yùn)算通路實(shí)現(xiàn)(1)使用的VHDL語言如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYalulISPORT(add:INSTD_lOGIC;x:INSTD_LOGIC_VECTOR(7DOWNTO0);y:INSTD_LOGIC_VECTOR(7DOWNTO0);substrance:INSTD_LOGIC;m:INSTD_LOGIC;cout:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYalu1;ARCHITECTUREaluStructOFalu1ISBEGINPROCESS(add,substrance,m,x,y)BEGINIFM='1'THENcout<=x;ELSEIFadd=TTHENcout<=x+y;ELSEIFsubstrance='1'THENcout<=x-y;ENDIF;ENDIF;ENDIF;ENDPROCESS;ENDaluStruct;(2)通過VHDL語言設(shè)計(jì)的ALU如圖表4.3所示。圖表4.3ALU4.2.3寄存器實(shí)現(xiàn)(1)使用的VHDL語言如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYsolutionISPORT(d:INSTD_lOGIC_VECTOR(7DOWNTO0);lda:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYsolution;ARCHITECTUREbhvOFsolutionISBEGINPROCESS(d,lda)BEGINIFlda=TTHENq<=d;ENDIF;ENDPROCESS;ENDbhv;通過VHDL語言設(shè)計(jì)的寄存器如圖表4.4所示。圖表4.4寄存器4.2.4選擇通路實(shí)現(xiàn)(1)三選一控制器具體的VHDL語言如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYselectOneISPORT(in1:INSTD_lOGIC;in2:INSTD_LOGIC;in3:INSTD_LOGIC;cout:OUTSTD_LOGIC_VECTOR(7DOWNTO0);cin1:INSTD_LOGIC_VECTOR(7DOWNTO0);cin2:INSTD_LOGIC_VECTOR(7DOWNTO0);cin3:INSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYselectOne;ARCHITECTUREchooseOFselectOneISBEGINPROCESS(in1,in2,in3,cin1,cin2,cin3)BEGINIFin1='1'THENcout<=cin1;ELSEIFin2='1'THENcout<=cin2;ELSEIFin3='1'THENcout<=cin3;ENDIF;ENDIF;ENDIF;ENDPROCESS;ENDchoose;(2)通過VHDL語言設(shè)計(jì)的三選一控制器如圖表4.5所示。圖表4.5三選一控制器selestOne—inico^t[7..0]—in2—j相Diri1f7..a]—Dir^2[7..a]一Dir^3[7..O]irtstS5實(shí)驗(yàn)過程與調(diào)試測試數(shù)據(jù)用的是十六進(jìn)制的22和16,對應(yīng)的十進(jìn)制數(shù)據(jù)是34和22。分別進(jìn)行了加、減、M運(yùn)算,加運(yùn)算的仿真圖見圖表5.1,減運(yùn)算的仿真圖見圖表5.2,M運(yùn)算這里取的是第一個操作數(shù),仿真圖見圖表5.3。圖表5.1加法仿真圖jps81.92UE163.84ue245.T6ue327.68ue409.6ue491.52ue573.44um655.36ue7iiiiiiiic00f22)c00f22)3pj16c00iiiiiiiiiiiIIiifc-33]ps81.92us163.84us245.76us32T.68us409.6us491.",573.44us655.36u=73T.28us819.2usN:djne15.825Jns1^-0add:音1國drc00秀wHdrl跋|。0廠X00<16*00?19ini111^20in21^-211^22in4—1—i—|—|—j—j—j—j—j—j—j—j—j—j—j—j—j—j—j—j—j—1^23in51^24in61^25Ida1^26lda811^-27lda91^23Idall1^29m1^-30substr:arice@>31□■1IXXOC

N:=uTie1^20W211^24W25W271^28■■291^30^■0add0dr13-irlin2in3in-4in5in6ld:aIdaSlda9ldallsubstr:ance圖表5.3M運(yùn)算仿真圖5.2主要故障與調(diào)試5.2.1故障1N:=uTie1^20W211^24W25W271^28■■291^30^■0add0dr13-irlin2in3in-4in5in6ld:aIdaSlda9ldallsubstr:ance圖表5.3M運(yùn)算仿真圖故障:ALU邏輯控件的編寫時后,VHDL報(bào)錯。解決方案:用加法減法等運(yùn)算時,需要在VHDL代碼的文件頭加上USEIEEE.STD_LOGIC_UNSIGNED.ALL;語句。5.2.2故障2故障:設(shè)計(jì)完成后,無法連接到計(jì)算機(jī)。解決方案:安裝相應(yīng)的驅(qū)動。5.3實(shí)驗(yàn)流程圖(1)2012年12月29日,課題講解,布置任務(wù);(2)2012年12月30日到2013年1月4日,查閱資料,分析、討論與設(shè)計(jì);(3)2013年1月5日到8日,進(jìn)行各子模塊的設(shè)計(jì),并進(jìn)行調(diào)試;(4)2013年1月9日到10日完成各模塊聯(lián)調(diào),進(jìn)行測試;(5)2013年1月11日,成果驗(yàn)收,進(jìn)行答辯。6設(shè)計(jì)總結(jié)與心得6.1課設(shè)總結(jié)基于對象的存儲是為了克服當(dāng)前基于塊的存儲存在的諸多難題,在存儲接口和結(jié)構(gòu)層次的重要發(fā)展。可以根據(jù)應(yīng)用負(fù)載選擇優(yōu)化的存儲策略。作了如下幾點(diǎn)工作:運(yùn)算器是計(jì)算機(jī)中對數(shù)據(jù)進(jìn)行運(yùn)算操作的重要部件,它的核心是算數(shù)邏輯單元ALU,可以通過選用ALU不同的控制信號,運(yùn)算器可以完成不同的運(yùn)算功能。編寫VHDL語言設(shè)計(jì)出寄存器、三選一控制器、ALU邏輯處理單元,快速而又方便。最終的結(jié)果通過仿真進(jìn)行加、減和傳送的實(shí)現(xiàn)。6.2課設(shè)心得初次接觸計(jì)算機(jī)組成原理課程設(shè)計(jì)時,加上電子技術(shù)學(xué)的不怎么樣,感覺還是有點(diǎn)難的,但是隨著老師耐心地講解,課程設(shè)計(jì)實(shí)驗(yàn)慢慢地向前進(jìn)展,發(fā)現(xiàn)實(shí)驗(yàn)本身其實(shí)并不是我們想象的那么困難,只是自己沒有了解各部件實(shí)現(xiàn)的功能。通過這次實(shí)驗(yàn),自己更清楚的明白了如何用VHDL語言快速而又方便地設(shè)計(jì)出寄存器、三選一控制器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論