東北被大學(xué)秦皇島分校組成原理課程設(shè)計(jì)_第1頁(yè)
東北被大學(xué)秦皇島分校組成原理課程設(shè)計(jì)_第2頁(yè)
東北被大學(xué)秦皇島分校組成原理課程設(shè)計(jì)_第3頁(yè)
東北被大學(xué)秦皇島分校組成原理課程設(shè)計(jì)_第4頁(yè)
東北被大學(xué)秦皇島分校組成原理課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

東北大學(xué)秦皇島分校計(jì)算機(jī)與通信工程學(xué)院計(jì)算機(jī)組成原理課程設(shè)計(jì)專業(yè)名稱班級(jí)學(xué)號(hào)學(xué)生姓名指導(dǎo)教師設(shè)計(jì)時(shí)間

課程設(shè)計(jì)任務(wù)書(shū)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)號(hào):學(xué)生姓名(簽名):設(shè)計(jì)題目:指令系統(tǒng)及地址寄存器設(shè)計(jì)設(shè)計(jì)實(shí)驗(yàn)條件綜合樓硬件:PC機(jī)軟件:XilinxISEModelSim匯編語(yǔ)言:VHDL設(shè)計(jì)任務(wù)及要求指令:18、28、31、54號(hào)指令主存地址寄存器MAR只讀存儲(chǔ)器8×8ROM要求:總線結(jié)構(gòu):?jiǎn)慰偩€,數(shù)據(jù)總線位數(shù)8位、地址總線8位;存儲(chǔ)器:內(nèi)存容量64K*8bit控制器:用硬連線控制器實(shí)現(xiàn)26位微操作控制信號(hào)運(yùn)算器:?jiǎn)卫奂悠?,?shí)現(xiàn)加、減等8種操作外設(shè):——輸入:用開(kāi)關(guān)輸入二進(jìn)制量——輸出:7段數(shù)碼管和LED顯示指令系統(tǒng)規(guī)模:64條指令,7種類(lèi)型,5種尋址方式三、課程設(shè)計(jì)內(nèi)容1、指令系統(tǒng)設(shè)計(jì):本次課程設(shè)計(jì)要設(shè)計(jì)的指令是第18、28、31、54號(hào)指令,要清楚各條指令的功能、指令類(lèi)型、尋址方式等內(nèi)容,本次設(shè)計(jì)用到的指令的相關(guān)內(nèi)容如表1所示表1本次要設(shè)計(jì)的指令指令編號(hào)助記符指令類(lèi)型功能18SUBCA,@R?算術(shù)運(yùn)算指令從累加器A中減去間址寄存器的值,減進(jìn)位28ORA,#II邏輯運(yùn)算指令累加器A“或”立即數(shù)II31MOVA,MM邏輯運(yùn)算指令將存儲(chǔ)器MM地址的值送到累加器A中54RLA邏輯運(yùn)算指令累加器A左移2、模型機(jī)硬件設(shè)計(jì):主存地址寄存器MARMAR是主存和CPU之間的接口,可以接收由程序計(jì)數(shù)器(PC)的指令地址或來(lái)自運(yùn)算器的操作數(shù)的地址,以確定要訪問(wèn)的單元。3、邏輯電路設(shè)計(jì):只讀存儲(chǔ)器8×8ROM只讀存儲(chǔ)器是一種只能讀取資料的內(nèi)存。即使斷電,已存的信息也不會(huì)丟失?!鞠到y(tǒng)設(shè)計(jì)】模型機(jī)邏輯框圖(整機(jī)邏輯框圖、芯片引腳及CPU邏輯框圖如下圖1、圖2、圖3所示)圖1整機(jī)邏輯框圖圖2芯片引腳圖3CPU邏輯框圖指令系統(tǒng)設(shè)計(jì)指令類(lèi)型及尋址方式見(jiàn)表1微操作控制信號(hào)1、XRD:外部設(shè)備讀信號(hào),當(dāng)給出了外設(shè)的地址后,輸出此信號(hào),從指外設(shè)讀數(shù)據(jù)。2、EMWR:程序存儲(chǔ)器EM寫(xiě)信號(hào)。3、EMRD:程序存儲(chǔ)器EM讀信號(hào)。4、PCOE:將程序計(jì)數(shù)器PC的值送到地址總線ABUS上(MAR)。5、EMEN:將程序存儲(chǔ)器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD決定是將DBUS數(shù)據(jù)寫(xiě)到EM中,還是從EM讀出數(shù)據(jù)送到DBUS。6、IREN:將程序存儲(chǔ)器EM讀出的數(shù)據(jù)打入指令寄存器IR。7、EINT:中斷返回時(shí)清除中斷響應(yīng)和中斷請(qǐng)求標(biāo)志,便于下次中斷。8、ELP:PC打入允許,與指令寄存器IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。9、FSTC:進(jìn)位置1,CY=110、FCLC:進(jìn)位置0,CY=011、MAREN:將地址總線ABUS上的地址打入地址寄存器MAR。12、MAROE:將地址寄存器MAR的值送到地址總線ABUS上。13、OUTEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄存器OUT里。14、STEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄存器ST中。15、RRD:讀寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。16、RWR:寫(xiě)寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。17、CN:決定運(yùn)算器是否帶進(jìn)位移位,CN=1帶進(jìn)位,CN=0不帶進(jìn)位。18、FEN:將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄存器。19、WEN:將數(shù)據(jù)總線DBUS的值打入工作寄存器W中。20、AEN:將數(shù)據(jù)總線DBUS的值打入累加器A中。21-23:X2~X0:X2、X1、X0三位組合來(lái)譯碼選擇將數(shù)據(jù)送到DBUS上的寄存器。24-26:S2~S0:S2、S1、S0三位組合決定ALU做何種運(yùn)算。指令執(zhí)行流程指令執(zhí)行流程如表2所示:表2指令的執(zhí)行流程編號(hào)指令指令功能操作碼節(jié)拍數(shù)微操作控制信號(hào)18SUBCA,@R?從累加器A中減去寄存器R?的值,帶進(jìn)位010001XXT5R?→MARRRD,MAREN,T4EM→WEMEN,EMRD,WENT3A-W-cin→AAEN,S=10128ORA,#II累加器A“或”立即數(shù)II011011XXT5PC→MARPCOE,MARENT4EM→WPC→PC+1EMEN,EMRD,WENT3WORA→DBUS→AS2S0,AEN31MOVA,EM將存儲(chǔ)器EM地址中的值送入A中011110XXT7PC→MARPC→PC+1PCOE,MARENT6EM→DBUS→WEMEN,EMRD,WENT5W→MARWARENT4EM→WEMEN,AEN,WENT3W→AAEN54RLA累加器A左移110101XXT4L→WWENT3W→AAEN以流程圖表示如下:SUBCA@RORA#MOVAEML→WPC→MAREM→WL→WPC→MAREM→WPC→PC+1R?→MARW→MARW→AW→MARW→AEM→WPC→PC+1EM→WEM→AA-W-cin→EM→AA-W-cin→AWORA→DBUS→A圖4指令的執(zhí)行流程圖【系統(tǒng)實(shí)現(xiàn)】1、模型機(jī)實(shí)現(xiàn)(主存地址寄存器MAR的實(shí)現(xiàn))(1)邏輯電路的圖形符號(hào)表示、功能主存地址寄存器MAR電路圖形符號(hào)如圖5所示:圖5主存地址寄存器MAR電路圖形符號(hào)表示主存地址寄存器MAR的功能如表3(其中cp作為時(shí)鐘,pcoe,maren,pcadr,dadr是輸入端,marout是輸出端,pcoe=1表示將程序計(jì)數(shù)器PC地址輸入到寄存器MAR中,maren=1表示將數(shù)據(jù)總線中的地址輸入到寄存器MAR中,當(dāng)pcoe=0,maren=0,寄存器輸出0000):表3主存地址寄存器MAR的功能表輸入端輸出端PcoeMarenPcadrDadrMarout101010101001010101101010100010101010010101010000000001101010100101010101010101(2)指令所涉及的微操作控制信號(hào)PCOE:將程序計(jì)數(shù)器PC的值送到主存地址寄存器MAR上。MAREN:將數(shù)據(jù)總線DBUS的值送到主存地址寄存器MAR上。(3)系統(tǒng)實(shí)現(xiàn)libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;_LOGIC_UNSIGNED.ALL;----Uncommentthefollowinglibrarydeclarationifinstantiating----anyXilinxprimitivesinthiscode.--libraryUNISIM;--useUNISIM.VComponents.all;entitymar1isPort(cp:inSTD_LOGIC;pcoe:inSTD_LOGIC; maren:inSTD_LOGIC; pcadr:inSTD_LOGIC_VECTOR(7DOWNTO0); dadr:inSTD_LOGIC_VECTOR(7DOWNTO0); marout:outSTD_LOGIC_VECTOR(7DOWNTO0));endmar1;architectureBehavioralofmar1issignalmout:STD_LOGIC_VECTOR(7DOWNTO0);beginprocess(pcoe,maren,pcadr,dadr)isbeginif(pcoe='0'andmaren='0')thenmout<="00000000";elseif(pcoe='1')thenmout<=pcadr;elseif(maren='1')thenmout<=dadr;endif;endif;endif;endprocess;marout<=mout;endBehavioral;2.邏輯電路設(shè)計(jì)(只讀存儲(chǔ)器8×8ROM)(1)邏輯電路的圖形符號(hào)表示、功能圖6只讀存儲(chǔ)器的圖形符號(hào)表示Oe_bar是只讀存儲(chǔ)器的讀使能,address(2:0)是3位地址線,data_out(7:0)是8位數(shù)據(jù)輸出線。Oe——bar是低電平有效,當(dāng)oe是0,能讀,是1,不能讀。(2)指令所涉及的微操作控制信號(hào)表4ROM端口說(shuō)明端口寬度方向說(shuō)明Oe_bar1輸入控制引腳Address(2:0)3輸入從處理器來(lái)的地址data_out(7:0)8輸出輸出到ROM的地址信號(hào)表5只讀存儲(chǔ)器功能表控制信號(hào)輸出端Oe_barAddressData_out0000100000110001101001010010110000100011010010010Other00000000(3)系統(tǒng)實(shí)現(xiàn)entityrom1isport(oe_bar:instd_logic; address:instd_logic_vector(2downto0); data_out:outstd_logic_vector(7downto0));endrom1;architectureBehavioralofrom1isbeginread:process(oe_bar,address)begin ifoe_bar='0'thencaseaddressis when"000"=>data_out<=x"83"; when"001"=>data_out<=x"a5"; when"010"=>data_out<=x"c2"; when"011"=>data_out<=x"49"; whenothers=>data_out<=x"00"; endcase;elsedata_out<=(others=>'Z');endif; endprocess;endBehavioral;【系統(tǒng)測(cè)試】(一)、模型機(jī)實(shí)現(xiàn)(主存地址寄存器MAR的實(shí)現(xiàn))功能仿真仿真時(shí)用到的輸入波形如圖7所示:圖7仿真時(shí)用到的輸入波形圖仿真得到的波形如圖8所示:圖8主存地址寄存器MAR仿真結(jié)果波形圖結(jié)果分析:從圖8中可以看出主存地址寄存器MAR的各個(gè)輸入端的在每一時(shí)刻得到的輸出都與表3主存地址寄存器的功能表中期待的輸出一致,所以程序主存地址寄存器MAR的設(shè)計(jì)是正確的。2、RTL級(jí)邏輯電路主存地址寄存器MAR的RTL級(jí)電路圖如圖9所示:圖9主存地址寄存器MARRTL級(jí)電路圖(二)硬件測(cè)試(只讀存儲(chǔ)器8×8ROM)1、功能仿真只讀存儲(chǔ)器8*8ROM仿真用到的輸入波形圖如圖10所示:圖10只讀存儲(chǔ)器8*8ROM仿真用到的輸入波形圖仿真得到的結(jié)果波形如圖11所示:圖11仿真得到的結(jié)果波形圖結(jié)果分析:對(duì)照得到的結(jié)果波形圖與表5只讀存儲(chǔ)器的功能表顯示的結(jié)果相同,所以設(shè)計(jì)是正確的2、RTL級(jí)邏輯電路只讀存儲(chǔ)器的RTL級(jí)邏輯電路如圖12所示:圖12只讀存儲(chǔ)器的RTL級(jí)邏輯電路圖【總結(jié)】本次課設(shè)遇到很多問(wèn)題,首先是軟件的使用,由于是第一次接觸軟件,軟件的好多功能和用法都不清楚,好多選項(xiàng)都不了解。不過(guò)經(jīng)過(guò)查找資料以及問(wèn)同學(xué)終于學(xué)會(huì)的熟練運(yùn)用。接著是那個(gè)波形圖的形成,好幾次運(yùn)行之后都是紅線,顯示錯(cuò)誤,結(jié)果退出來(lái)再運(yùn)行一次就正確了,也不知道怎么回事,還有一次是不知道怎么弄出波形圖了,找了半天原因發(fā)現(xiàn)忘記在原程序再建立一個(gè)新的源。在做只讀寄存器的時(shí)候一點(diǎn)想法都沒(méi)有,不知道該怎么設(shè)計(jì),然后就去圖書(shū)館去借書(shū),查看,最后學(xué)會(huì)了只讀寄存器的設(shè)計(jì)?!拘牡皿w會(huì)】課設(shè)的一開(kāi)始,首先是學(xué)習(xí)軟件的使用,去了解他的功能和用法,由于是新軟件,好多功能都不了解,自己就去百度,看老師給的資料,同學(xué)講解,終于學(xué)會(huì)了XilinxISEModelSim的基礎(chǔ)的使用,能用他們做出RTL圖和波形圖。感覺(jué)還是很開(kāi)心的。接著就到了最困難的時(shí)候,課程題目的設(shè)計(jì),到了設(shè)計(jì)這里,又一個(gè)難點(diǎn)出現(xiàn)了,一個(gè)全新的語(yǔ)音VHDL。以前一點(diǎn)都沒(méi)有了解過(guò),這次是從零開(kāi)始,去圖書(shū)館借閱書(shū)籍,去網(wǎng)上百度,了解了他的一些用法,發(fā)現(xiàn)一些語(yǔ)句的大概意思和自己學(xué)過(guò)的語(yǔ)言還有相似之處,發(fā)現(xiàn)c語(yǔ)言果然是基礎(chǔ),學(xué)會(huì)它再學(xué)其他語(yǔ)言就沒(méi)有那么困難了。然后就進(jìn)去到了正題,課程的設(shè)計(jì),老師給的課題都是書(shū)本的知識(shí),但是是書(shū)本知識(shí)的延伸和擴(kuò)展。光靠看課本是不好做出來(lái)的,然后我就去圖書(shū)館借閱書(shū)籍,上網(wǎng)查看資料,使自己學(xué)到的知道更具體全面和深入。這次課設(shè)讓我對(duì)主存地址寄存器有了更深入的認(rèn)識(shí)和了解,對(duì)他的運(yùn)行機(jī)制和線路有了認(rèn)識(shí)。本次課設(shè)不僅考驗(yàn)了我們的自學(xué)能力以及對(duì)新知識(shí)、新事物的認(rèn)識(shí)和學(xué)習(xí),也鍛煉了我們查閱資料和戰(zhàn)勝困難的能力,對(duì)我們所學(xué)的課本的知識(shí)也有了加深和深入。通過(guò)本次課設(shè),我學(xué)會(huì)了兩個(gè)新的軟件

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論