計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第1頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第2頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第3頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第4頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)組成原理實(shí)驗(yàn)

指導(dǎo)書指導(dǎo)教師:佘欣媛目錄第一章實(shí)驗(yàn)系統(tǒng)介紹1.1實(shí)驗(yàn)系統(tǒng)組成實(shí)驗(yàn)系統(tǒng)由一臺(tái)計(jì)算機(jī)+實(shí)驗(yàn)箱組成,如圖1-1所示圖1-1實(shí)驗(yàn)系統(tǒng)示意圖1、 實(shí)驗(yàn)箱:ZYCH-4SOPC實(shí)驗(yàn)開發(fā)平臺(tái);2、 USBBlaster下載線:計(jì)算機(jī)通過USB接口連接實(shí)驗(yàn)箱,對(duì)實(shí)驗(yàn)箱上FPGA/CPLD以及配置芯片進(jìn)行編程、調(diào)試等操作;1.2實(shí)驗(yàn)箱介紹CH-4實(shí)驗(yàn)系統(tǒng)主板器件位置如圖1-2所示11wwp,wUL>I_Il->u?nuu□F|<皿町Q |?>| <■<>g .1匚f … …BBBB__□□□□■中 ■& 昨□口□口□□11wwp,wUL>I_Il->u?nuu□F|<皿町Q |?>| <■<>g .1匚f … …BBBB__□□□□■中 ■& 昨□口□口□□FPGA:配置芯片:SDRAM:LCD及觸摸屏:EP3C16Q240C8N(15408Les)EPCS16SI8N (2MB)HY57V561620 (32MB)5.6吋TFTLCD屏、觸摸屏,屏幕分辨率:640x480。型號(hào):群創(chuàng)AT056TN53。LCD控制電路:使用CPLDEPM1270T144C5、SRAM61LV25616*2;可控制至少16位色LCD,可兼容MCS51系列單片機(jī)接口。觸摸屏控制電路:LED發(fā)光二極管:AD78438位C5mm紅、黃、綠、蘭各2位數(shù)碼管(動(dòng)態(tài)掃描):LG5641AHx28位7段數(shù)碼管0.5吋共陰紅按鍵:二值開關(guān):鍵盤:8位OMRON按鍵8位4x4OMRON按鍵上電及手動(dòng)復(fù)位電路:蜂鳴器:3V無源蜂鳴器1個(gè)溫濕度傳感器: SHT10實(shí)時(shí)時(shí)鐘電路: PCA8563(帶鋰電池)鐵電存儲(chǔ)器: FM25V05(64KB)SD卡接口: 帶2GBSD卡PS2接口: 帶電壓鉗位保護(hù)2路可控時(shí)鐘源(1Hz,10Hz,100Hz,lKHz,10KHz,100Khz,1MHz,10MHz):分別用BCD撥碼開關(guān)選擇,掉電時(shí)設(shè)置值不丟失。串口: MAX3232USB接口: FT232R擴(kuò)展接口座(40P):36IO,帶電壓鉗位保護(hù),兼容臺(tái)灣友晶公司DE2開發(fā)板擴(kuò)展接口。1.3組成原理擴(kuò)展板CH-4實(shí)驗(yàn)箱中提供連接好的擴(kuò)展板是組成原理/數(shù)字邏輯擴(kuò)展模塊,實(shí)驗(yàn)系統(tǒng)主板通過4位10口控制組成原理/數(shù)字邏輯擴(kuò)展板的LCD、發(fā)光二極管、二值開關(guān)、脈沖開關(guān)等輸入輸出資源。組成原理/數(shù)字邏輯擴(kuò)展模塊配置如下:面包板1塊:?一個(gè)端子條300個(gè)插孔?兩個(gè)分配條,100個(gè)插孔?適用線徑:29-20AWG?尺寸:83.5x54.5x8.5mm;8.2x5.3x0.85cm面包板相關(guān)實(shí)驗(yàn)IO接口:LED發(fā)光二極管8個(gè)二值開關(guān)8位16字符點(diǎn)陣液晶1塊LED發(fā)光二極管60個(gè)二值開關(guān)60位觸發(fā)按鍵(上升沿)2位觸發(fā)按鍵(下降沿)2位控制器CPLDEPM1270C5N1片1.4實(shí)驗(yàn)軟件環(huán)境實(shí)驗(yàn)軟件:1、QuartusII9.1:Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。2、 SOPCBuilder:SOPCbuilder是QuartusII中用來建、開發(fā)、維護(hù)系統(tǒng)的平臺(tái),可構(gòu)成包括處理器、外設(shè)和存儲(chǔ)器接口等常用系統(tǒng)組成的總線系統(tǒng)。它能夠?qū)崿F(xiàn)讓系統(tǒng)設(shè)計(jì)人員快速開發(fā)系統(tǒng),大大提高FPGA設(shè)計(jì)人員的工作效率。3、 NiosII9.1:是一種開發(fā)人員廣泛應(yīng)用的,包含編輯、編譯和調(diào)試應(yīng)用軟件等功能的集成開發(fā)環(huán)境。簡(jiǎn)要來說,使用以上三種軟件共同了FPGA硬件系統(tǒng)的開發(fā),其中在SOPCBuilder中完成系統(tǒng)硬件的設(shè)計(jì),NiosII中完成對(duì)硬件實(shí)現(xiàn)控制的軟件設(shè)計(jì),QuartusII完成對(duì)設(shè)計(jì)好的硬件進(jìn)行管腳等配置、編譯,然后下載到實(shí)驗(yàn)平臺(tái)的FPGA芯片中。第二章組成原理實(shí)驗(yàn)配合計(jì)算機(jī)組成原理理論課程,實(shí)驗(yàn)課程共分六個(gè)實(shí)驗(yàn):總線傳輸實(shí)驗(yàn);存儲(chǔ)器實(shí)驗(yàn);IO(DMA)實(shí)驗(yàn);運(yùn)算器實(shí)驗(yàn);指令系統(tǒng)實(shí)驗(yàn);最小系統(tǒng)實(shí)驗(yàn)。實(shí)驗(yàn)一總線傳輸實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康呐c要求掌握QuartusII編譯環(huán)境及使用方法;掌握組成原理擴(kuò)展板的使用;了解verilog提供的門級(jí)語言;掌握lpm_ram_dq模塊的建立;體會(huì)總線同步傳輸時(shí)序及分時(shí)利用原理。二、 實(shí)驗(yàn)設(shè)備及軟件PC機(jī)、實(shí)驗(yàn)平臺(tái)、QuartusII軟件編輯環(huán)境。三、 實(shí)驗(yàn)內(nèi)容用圖形法blockdiagram實(shí)現(xiàn)如下功能:建立兩個(gè)lpm_ram_dq存儲(chǔ)模塊,分別模擬兩個(gè)存儲(chǔ)體;利用組成原理擴(kuò)張板模擬CPU并給出:存儲(chǔ)體體號(hào):指出當(dāng)前訪問的是兩個(gè)存儲(chǔ)體中的哪一個(gè);數(shù)據(jù):CPU欲寫入存儲(chǔ)單元的數(shù)據(jù);存儲(chǔ)器體內(nèi)部地址:CPU數(shù)據(jù)存入的存儲(chǔ)單元地址;讀寫命令:讀寫控制(wren高電平為寫)。可從組成原理擴(kuò)展板上觀察到寫入的效果。用verilog語言編程實(shí)現(xiàn)如下功能:編程模擬8個(gè)存儲(chǔ)單元使用組成原理擴(kuò)展板模擬CPU給出:地址:8個(gè)存儲(chǔ)單元地址號(hào)碼;數(shù)據(jù):CPU欲寫入存儲(chǔ)單元的數(shù)據(jù);讀寫命令;可從組成原理擴(kuò)展板上觀察到寫入的效果。四、 實(shí)驗(yàn)步驟(一)圖形法blockdiagram實(shí)現(xiàn)打開QuartusII編輯環(huán)境,建立工程bus_b;建立圖形文件blockdiagram,另存為bus_b;將組成原理擴(kuò)展板代碼lcdswip拷貝到工程bus_b目錄下;點(diǎn)擊QuartusII中File—Create/Update—CreateSymbolFilesforCurrentFile生成組成原理擴(kuò)展板圖形模塊;在新建的圖形文件bus_b中雙擊鼠標(biāo)左鍵在彈出Symbol串口左側(cè)的libraries中雙擊第一個(gè)文件夾project下面的lcdswip,然后將其添加到bus_b文件中;雙擊文件bus_b中的空白處添加模塊lpm_ram_dq,其中數(shù)據(jù)位8位,地址位5位,采用單一時(shí)鐘,qoutputport不勾選,如法添加兩個(gè)lpm_ram_dq;使用lcdswip的SWA[O]控制第一個(gè)lpm_ram_dq的wren端,SWA[1]控制第二個(gè)lpm_ram_dq的wren端;SWA[6..2]給出兩個(gè)lpm_ram_dq內(nèi)部的存儲(chǔ)單元地址;SWA[7..0]出給欲寫入兩個(gè)存儲(chǔ)體的數(shù)據(jù);第一個(gè)lpm_ram_dq的輸出連接到擴(kuò)展板的LEDB[7..0]端,第二個(gè)lpm_ram_dq的輸出連接到擴(kuò)展板的LEDB[15..8]端;存儲(chǔ)體以及l(fā)cdswip芯片的時(shí)鐘采用系統(tǒng)時(shí)鐘;分析、配置管腳、編譯、下載、驗(yàn)證。(二)verilog語言編程實(shí)現(xiàn)打開QuartusII編輯環(huán)境,建立工程bus_v;建立verilog文件,另存為bus_v;將組成原理擴(kuò)展板代碼lcdswip拷貝到工程bus_v目錄下;編寫代碼分析、配置管腳、編譯、下載、驗(yàn)證五、實(shí)驗(yàn)演示(一)圖形法blockdiagram實(shí)現(xiàn)新建工程bus_b

*rojectVizard:Family&DeviceSettings[page3of5] |X|Showin'Availabledevice'listPackage:Pinfount:Speedgrade:Showin'Availabledevice'listPackage:Pinfount:Speedgrade:疋Showadvanceddevices廠HardCopycompatibleonlySelectthefamilyanddeviceyouwanttotargetforcompilation.DevicefamilyFamily: |CycloneIII ▼Devices: |AllTargetdevice—CAutodeviceselectedbytheFitterC*Specificdeviceselectedin'Availabledevices'listAvailabledevices:NameCorev...LEsUserI/...Memor...Embed...PLL*EP3C16F484C7EP3C16F484C8EP3C16F484I7EP3C16M164C7EP3C16M164C8EP3C16M164I7SiSiSiSiSiSi154083471540E:34715408347154089315408931540893516096112516096112516096112516096112516096112516096112444444EP3C16Q240CE: 1.2V 1540E: 161 516096 112 41HdORlii1RAF1ROAR11?-CompaniondeviceHardCopy: ||7LimitDSP&RAMtoHardCopydeviceresources2.配置圖形::Fclk 〈Back Neict.》 2.配置圖形::Fclk 〈Back Neict.》 Finish|取.消MCSPIN17-1He:.:Li[7..Li]He:-:1[7..0]Hex2R..D]He:.:3[7..D]He:-:4[7..Li]He:.:5[7,.Li]Hex6p..O]HexTp.O]He:.:8[7..Li]He:.:9[7,,Li]Hex1D|7..D]Hex11|7..D]Hex12|7..D]Hex13[7..D]Hex14[7..D]Hex15[7..O]Hex16|7..D]Hex17|7..D]Hex18|7..D]Hex19|7..D]Hex2D|7..D]Hex21[7..D]Hex22f7..DlSW.A{19..LI]SWB[19..D]3WC[19..li]PSP..D]配置管腳(二)verilog語言編程實(shí)現(xiàn)modulebus_v(MOSI,MCLK,MCS,SYSCLK,MISO);outputMOSI,MCLK,MCS;inputSYSCLK,MISO;變量聲明控制邏輯wire[7:0]Hex0,Hex1,Hex2,Hex3,Hex4,Hex5,Hex6,Hex7,Hex8,Hex9,Hex10,Hex11,Hex12,Hex13,Hex14,Hex15,Hex16,Hex17,Hex18,Hex19,Hex20,Hex21,Hex22,Hex23,Hex24,Hex25,Hex26,Hex27,Hex28,Hex29,Hex30,Hex31;wire[19:0]SWA,SWB,SWC;wire[19:0]LEDA;wire[3:0]PS;lcdswiplcdxx(.MISO(MISO),.MOSI(MOSI),.MCLK(MCLK),.MCS(MCS),.SYSCLK(SYSCLK),.Hex0(8'h20),.Hex1(8'h20),.Hex2(8'h20),.Hex3(8'h20),.Hex4(8'h43),.Hex5(8'h48),.Hex6(8'h2d),.Hex7(8'h34),.Hex8(8'h20),.Hex9(8'h53),.Hex10(8'h4f),.Hex11(8'h50),.Hex12(8'h43),.Hex13(8'h20),.Hex14(8'h20),.Hex15(8'h20),.Hex16(8'h20),.Hex17(8'h20),.Hex18(8'h20),.Hex19(8'h20),.Hex20(8'h20),.Hex21(8'h20),.Hex22(8'h20),.Hex23(8'h20),.Hex24(8'h20),.Hex25(8'h20),.Hex26(8'h20),.Hex27(8'h20),.Hex28(PS[0]+8'h30),.Hex29(PS[1]+8'h30),.Hex30(PS[2]+8'h30),.Hex31(PS[3]+8'h30),.LEDA(LEDA),.LEDB(LEDB),.LEDC(LEDC),.SWA(SWA),.SWB(SWB),.SWC(SWC),.PS(PS));endmodule六、實(shí)驗(yàn)擴(kuò)展及思考如果有多臺(tái)IO設(shè)備,那么使用計(jì)數(shù)器方式判優(yōu)該如何實(shí)現(xiàn)。實(shí)驗(yàn)二存儲(chǔ)器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求掌握lpm_ram_dq模塊的使用;熟練verilog提供的門級(jí)語言;存儲(chǔ)器片選原理。二、實(shí)驗(yàn)設(shè)備及軟件PC機(jī)、實(shí)驗(yàn)平臺(tái)、QuartusII軟件編輯環(huán)境。三、實(shí)驗(yàn)內(nèi)容使用四個(gè)256*4位的lpm_ram_dq模塊搭建存儲(chǔ)器,要求如下:搭建成的存儲(chǔ)器規(guī)格為:512*8位(需要進(jìn)行字位擴(kuò)展);可以對(duì)存儲(chǔ)器讀、寫;需要有讀、寫兩個(gè)控制信號(hào),9位地址信號(hào),位數(shù)據(jù)信號(hào)(信號(hào)可以由lcdswip模塊給出);四、實(shí)驗(yàn)步驟建立工程memext;建立圖形文件memext;添加四個(gè)256*4位的lpm_ram_dq;添加lcdswip模塊;分別將lpm_ram_dq兩兩進(jìn)行位擴(kuò)展;添加兩個(gè)input信號(hào):讀、寫;通過lcdswip模塊給出存儲(chǔ)器的地址、數(shù)據(jù)信號(hào);添加input時(shí)鐘信號(hào);配置管腳、分析、編譯、下載、驗(yàn)證。五、實(shí)驗(yàn)演示實(shí)驗(yàn)連線示意:口:l"iC:衣洞“:.口Ieg,4?rU-g茸:口:l"iC:衣洞“:.口Ieg,4?rU-g茸:亦」:ctoK ?心,cjgT管腳配置:六、實(shí)驗(yàn)擴(kuò)展及思考使用verilog語言實(shí)現(xiàn)方案實(shí)驗(yàn)三IO(DMA)實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康呐c要求掌握74377(帶使能端的8進(jìn)制D觸發(fā)器)使用方法;掌握ram_2port使用方法;熟練verilog提供的門級(jí)語言;掌握DMA原理及其中10以周期竊取方式與主存交互信息的方式;二、 實(shí)驗(yàn)設(shè)備及軟件PC機(jī)、實(shí)驗(yàn)平臺(tái)、QuartusII軟件編輯環(huán)境。三、 實(shí)驗(yàn)內(nèi)容用圖形法blockdiagram實(shí)現(xiàn)如下功能:建立256*8位ram_2port存儲(chǔ)模塊用于模仿存儲(chǔ)器;利用組成原理擴(kuò)張板模擬CPU以及IO:模擬CPU給出的地址信號(hào);模擬CPU給出的數(shù)據(jù)信號(hào);模擬IO給出的地址信號(hào);模擬IO給出的數(shù)據(jù)信號(hào);模擬周期竊取原理,當(dāng)IO有訪存需求時(shí),CPU讓出使用權(quán);可從組成原理擴(kuò)展板上觀察到寫入的效果。用verilog語言編程實(shí)現(xiàn)如上功能。四、 實(shí)驗(yàn)步驟圖形法建立工程DMA_B;建立圖形文件DMA_B;添加1個(gè)256*8位的ram;添加lcdswip模塊;通過lcdswip模塊給出CPU給出的地址、數(shù)據(jù)信號(hào)以及IO給出的地址、數(shù)據(jù)信號(hào);添加input時(shí)鐘信號(hào);配置管腳、分析、編譯、下載、驗(yàn)證。verilog編程方式建立工程DMA_V;建立verilog文件DMA_V;編寫程序;配置管腳、分析、編譯、下載、驗(yàn)證。五、 實(shí)驗(yàn)演示(一)圖形法CR-P-r.-JH..L.Ml.>1X13npir.ija..npv.'ia..□.■£03...L.o.'.l.'jainD.ir^M..了4:好7L.口肌??」□no.vjja..W、...,74377hl-TO.r.fl.■ £]「fr -…嚴(yán).…上上E廠匚” T.q=M!l .:D1u1 TB腫.:D2u2 V .匚F*9I.?D3U3 ■■ -TMq.■~D1Ui f.BJN ?:DbUb 巴u=MB■:D6D7DSCLKU6 ? .o=Mn-:Ui V.-Z'KU-:-:U'jEND1Q1D2Q2CidDiQiD5Q5D6Q6DiQTD5QSCLK■.rp^ir.ijgEND1Q1D2Q2DJL!dDiuiDt-L!!jDbUbDTUTD3Q5CLK.口?B耳-.g.'ms■n.ranno.i.rjjq..Kra--(二)編程法always@(posedgeCLK)beginif(DMA_REQ_N)beginADDR_W<=CPU_ADDR;DATA_W<=CPU_DATA;endelsebeginADDR_W<=IO_ADDR;DATA_W<=IO_DATA;endend六、實(shí)驗(yàn)擴(kuò)展及思考實(shí)驗(yàn)四運(yùn)算器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求熟練verilog提供的門級(jí)語言;原碼一位乘原理。二、實(shí)驗(yàn)設(shè)備及軟件PC機(jī)、實(shí)驗(yàn)平臺(tái)、QuartusII軟件編輯環(huán)境。三、 實(shí)驗(yàn)內(nèi)容用verilog語言實(shí)現(xiàn)兩個(gè)四位數(shù)的原碼一位乘。四、 實(shí)驗(yàn)步驟建立工程multi_4;建立verilog文件multi_4;編寫程序;配置管腳、分析、編譯、下載、驗(yàn)證。五、 實(shí)驗(yàn)演示beginif(!RESET)beginresult<=9'b000000000;overflow<=1'b0;counter<=3'b100;temp<=5'b00000;temp_y<=y[3:0];endelsebeginif(counter)beginif(temp_y[0])begintemp={temp[4],temp[3:0]}+{1'b0,x[3:0]};temp_y[3:0] ={temp[0],temp_y[3:1]};temp={1'b0,temp[4:1]};//logicrightshiftoverflow<=temp[4]八temp[3];result<={temp,temp_y[3:0]};endelsebegintemp_y[3:0] ={temp[0],temp_y[3:1]};temp ={1'b0,temp[4:1]};//logicrightshiftresult <={temp,temp_y[3:0]};endcounter<=counter-1;endelsebeginresult<={flag,result[7:0]};endendend六、實(shí)驗(yàn)擴(kuò)展及思考實(shí)驗(yàn)五指令系統(tǒng)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求1.熟練verilog提供的門級(jí)語言;掌握指令系統(tǒng)的設(shè)計(jì);掌握CPU硬件組成。二、實(shí)驗(yàn)設(shè)備及軟件PC機(jī)、實(shí)驗(yàn)平臺(tái)、QuartusII軟件編輯環(huán)境。三、 實(shí)驗(yàn)內(nèi)容設(shè)計(jì)指令系統(tǒng)并用verilog語言實(shí)現(xiàn)。四、 實(shí)驗(yàn)步驟1.設(shè)計(jì)指令系統(tǒng):可運(yùn)行兩種指令STA(將ACC內(nèi)容存到制定存儲(chǔ)單元)、CLA(將ACC內(nèi)容清零),不考慮間址以及中斷周期。STA:(1)取指周期T0:PC-〉MAR,1-〉RT1:AD(CMDR)-〉CMART2:M(MAR)->MDR,(PC)+1->PCT3:AD(CMDR)->CMART4:MDR->IRT5:OP(IR)->微地址形成部件->CMAR(2)執(zhí)行周期T0:AD(IR)-〉CMAR,1-〉RT1:AD(CMDR)-〉CMART2:ACC->MDRT3:AD(CMDR)->CMART4:MDR->M(MAR)T5:AD(CMDR)-〉CMAR,取指微程序入口地址->CMARCLA:(1)取指周期T0:PC-〉MAR,1-〉RT1:AD(CMDR)-〉CMART2:M(MAR)->MDR,(PC)+1->PCT3:AD(CMDR)->CMART4:MDR->IRT5:OP(IR)->微地址形成部件->CMAR(2)執(zhí)行周期T0:0->ACCT1:AD(CMDR)-〉CMAR,取指微程序入口地址->CMAR

指令名稱微指令地址令指微51432o□54321xo取指oo00001xo00001x2o0000XXXXXLAC3o0000TAs04001x1x5o0001x1x6o000口pSS7oDDDD1x操作碼中:第0操作碼中:第0位表示控制第1位表示控制第2位表示控制第3位表示控制第4位表示控制第5位表示控制第6位表示控制第7位表示控制第8位表示控制第9位表示控制第10位表示控制PC->MAR微操作1->R微操作M(MAR)->MDR(PC)+1->PCMDR->IR0->ACCAD(IR)->MAR1->WACC->MDRMDR->M(MAR)0->G2.3.編寫verilog2.3.五、實(shí)驗(yàn)演示moduleINSTRUCTION(MOSI,MCLK,MCS,SYSCLK,MISO);outputMOSI,MCLK,MCS;inputSYSCLK,MISO;reg[30]PC;reg[30]MAR;reg[70]MDR;reg[70]IR;reg[70]ACC;reg[70]MM[3:0];//ZHUcunwire[3:0]MM_ADD;wire[7:0]MM_DATA;reg[15:0]CMM[31:0];//kongcunwire[4:0]CMM_ADD;wire[15:0]CMM_DATA;reg[4:0]CMAR;reg[15:0]CMDR;regwrite;regread;wireflag_write;wireM_flag_write;regSTP;always@(posedgeCLKornegedgeRESET)beginif(!RESET)beginACC=8'b11000000;PC=4'b0001;MAR=4'b0000;CMDR=16'b1100000000000001;endelsebeginif(flag_write)beginCMM[CMM_ADD]<=CMM_DATA;endelseif(M_flag_write)beginMM[MM_ADD]<=MM_DATA;endelsebegincase(CMDR[15:5])11'b11000000000:beginMAR=PC;read=1;CMAR=CMDR[4:0];CMDR=CMM[CMAR];end11'b00110000000:beginMDR=MM[MAR];PC=PC+1;CMAR=CMDR[4:0];CMDR=CMM[CMAR];end11'b00001000000:beginIR=MDR;case(IR)8'b0000000001:beginCMAR=5'b00011;CMDR=CMM[CMAR];end8'b0000000010:beginCMAR=5'b00100;CMDR=CMM[CMAR];end8'b0000000100:beginCMAR=5'b00111;CMDR=CMM[CMAR];endendcaseend11'b00000100000:beginACC=0;CMAR=5'b00000;CMDR=CMM[CMAR];end11'b00000011000:beginMAR=MDR[3:0];write=1;CMAR=CMDR[4:0];CMDR=CMM[CMAR];end11'b00000000100:beginMDR=ACC;end11'b00000000010:beginMM[MAR]=MDR;CMAR=5'b00000;CMDR=CMM[CMAR];end11'b00000000001:beginSTP<=1;enddefault:beginACC=8'b11000000;endendcaseendendendassignCMM_ADD=SWA[4:0];assignCMM_DATA=SWB[15:0];assignMM_ADD=SWC[19:16];assignMM_DATA=SWC[15:8];assignflag_write=SWC[2];assignM_flag_write=SWC[3];assignLEDA[7:0]=ACC;assignLEDA[15:8]=IR;assignLEDB[7:0]=MDR;assignLEDB[19:16]=PC;assignLEDB[15:12]=MAR;assignLEDA[19]=STP;assignLEDA[18]=read;assignLEDA[17]=write;assignLEDC[4:0]=CMAR;assignLEDC[19:5]=CMDR[14:0];assignLEDA[16]=CMDR[15];assignRESET=PS[2];assignCLK=PS[1];wire[7:0]Hex0,Hex1,Hex2,Hex3,Hex4,Hex5,Hex6,Hex7,Hex8,Hex9,Hex10,Hex11,Hex12,Hex13,Hex14,Hex15,Hex16,Hex17,Hex18,Hex19,Hex20,Hex21,Hex22,Hex23,Hex24,Hex25,Hex26,Hex27,Hex28,Hex29,Hex30,Hex31;wire[19:0]SWA,SWB,SWC;wire[19:0]LEDA,LEDB,LEDC;wire[3:0]PS;lcdswiplcdxx(.MISO(MISO),.MOSI(MOSI),.MCLK(MCLK),.MCS(MCS),.SYSCLK(SYSCLK),.Hex0(8'h20),.Hex1(8'h20),.Hex2(8'h20),.Hex3(8'h20),.Hex4(8'h43),.Hex5(8'h48),.Hex6(8'h2d),.Hex7(8'h34),.Hex8(8'h20),.Hex9(8'h53),.Hex10(8'h4f),.Hex11(8'h50),.Hex12(8'h43),.Hex13(8'h20),.Hex14(8'h20),.Hex15(8'h20),.Hex16(8'h20),.Hex17(8'h20),.Hex18(8'h20),.Hex19(8'h20),.Hex20(8'h20),.Hex21(8'h20),.Hex22(8'h20),.Hex23(8'h20),.Hex24(8'h20),.Hex25(8'h20),.Hex26(8'h20),.Hex27(8'h20),.Hex28(PS[0]+8'h30),.Hex29(PS[1]+8'h30),.Hex30(PS[2]+8'h30),.Hex31(PS[3]+8'h30),.LEDA(LEDA),.LEDB(LEDB),.LEDC(LEDC),.SWA(SWA),.SWB(SWB),.SWC(SWC),.PS(PS));endmodule六、實(shí)驗(yàn)擴(kuò)展及思考實(shí)驗(yàn)六最小系統(tǒng)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求學(xué)習(xí)QuartusII、SOPCBuilder、NiosIIIDE的基本操作;2.初步了解SOPC的開發(fā)流程,基本掌握NiosII軟核的定制流程;3.掌握NiosII軟件的開發(fā)流程;掌握軟件的基本調(diào)試方法。二、實(shí)驗(yàn)設(shè)備及軟件硬件:PC機(jī),CH-4教學(xué)實(shí)驗(yàn)開發(fā)平臺(tái);軟件:QuartusII9.1,SOPCBuilder9.1,NiosIIIDE9.1。三、 實(shí)驗(yàn)內(nèi)容建立可用于控制LED閃爍的簡(jiǎn)單NiosII處理器系統(tǒng),具體包括:1、在QuartusII中建立一個(gè)工程;2、 使用SOPCBuilder建立并生成一個(gè)簡(jiǎn)單的基于NiosII的硬件系統(tǒng);3、 在QuartusII工程中編譯基于NiosII的硬件系統(tǒng)并生成配置文件.sof;4、 在NiosIIIDE中建立對(duì)應(yīng)硬件系統(tǒng)的用戶C/C++工程,編寫一簡(jiǎn)單用戶程序,在NiosIIIDE中編譯程序生成可執(zhí)行文件.elf;將配置文件.sof和可執(zhí)行文件.elf都下載到FPGA進(jìn)行調(diào)試運(yùn)行。四、 實(shí)驗(yàn)步驟1.新建工程nios

2.打開sopcbuiler,生成簡(jiǎn)單硬件系統(tǒng)3.編譯生成的硬件系統(tǒng)改成如下圖所示:ComponentLibraryTargetProject;“箜川?卅口口旳油恥M...Library□-AvalonVerificationSuite□??Bridgesand.AdaptersS-lnterfaceProtocolsS-LegacyComponentsS-MemoriesandMemoryCoritrollersE-Peripherals$PLL改成如下圖所示:ComponentLibraryTargetProject;“箜川?卅口口旳油恥M...Library□-AvalonVerificationSuite□??Bridgesand.AdaptersS-lnterfaceProtocolsS-LegacyComponentsS-MemoriesandMemoryCoritrollersE-Peripherals$PLL^ProcessorAdditionsDeviceFamily:CycloneIII就會(huì)出現(xiàn)如下■UseConn...ModuleNameBaseS-VideoandImageProcessing雙擊日cpu_0instruction_masterdata_masterjtagdebugmoduleNiosIIProcessorAvalonMemoryMappedMasterAvalonMemoryMappedMasterAvalonMemoryMappedSlavesysclk〔rOzOOOODescriptionClock彈出的頁面如下所示,不需更改使用模式配置即可。Size323更改成32768Memor/iype]Dual-portaccess0InitializememorycontentMemorywillbeinitializedfromonchip_memory2_0.hexReadlatency@RAMCitable)[::ROM(Read-only)Blocktype:Slaves1:Slaves2:Datawidth:rTotalmemorysizeMinimizememoryblockusageReadDuringVWiteMode:DONTCAREAutoGeneralsettingsParameterSettings〉Memoryiniti日lb日tion〉其他使用默認(rèn)設(shè)置。使用默認(rèn)配置即可。PIO(ParallelI/O)AboutDocumentation.Width更改為1Direction;Bidirectional(tristate)portsInputportsonly■:,BothinputandoutputportsOutputportsonlyOutputPortResetValueResetValue:oxoOutputRegister]Enableindividualbitsetting/clearingwPIO(ParallelI/O)-pio_0BasicSettingsParameterSettings旳dth(1-32bits):|i|InputOpticins〉£imul日tion其他使用默認(rèn)配置即可。00>HelpEdit...|Pio_0OzOOOOOFilters...Filter:DefaultI鼠標(biāo)右鍵改名稱為ledddressMap...RenameCtrl+KShowAvalon-MM:hisCPU.PleaseparameterizeRemoveUseConn...ModuleNameDescriptionNiosIIProcessorAvalonMemoryMappedMasterAvalonMemoryMappedMasterAvalonMemoryMappedSlaveOn-ChipMemory(RAMorROM)AvalonMemoryMappedSlaveJTAGUARTAvalonMemoryMappedSlaveClocksysclkOzOOOOO0z00002OzOOOOOShowConnected屮ShowDefaultShowAllShowAvalon-ST2PU.PleaseparameterizetheDetails日cpu_0data_masterjtag_debug_module日onchip_memory2_0s1日jtag_uart_Oavalon_jtag_slavesysclksysclkShowClocks.s1cannotbeat0x2000(0x0notbeat0x2000(0x0or0x80iCEditCtrl+Einstruction_masterRemove如下圖所示:更改各硬件配置如下圖所示:ONiosll/eONiosll/s?Niosll/FNiosIISelectorGuideFamily:CycloneIII^system:-1-1-時(shí)Hzcpuid:0RISC32-brtRISC32-bitInstructionCacheBranchPredictionHardwareMultiplyHardwareDivideRISC32-bitInstructionCach已BranchPredictionHardwareMultiplyHardwareDivideBarrelShifterDataCacheDynamicBranchPredictionPerformanceat50.0MHzUpto8DMIPSIJpto32DMIPSUpto57DMIPSLogicUsage600-700LEs1200-1400LEs1400-1800LEsHardwareMultiply:EmbeddedMultipliersv□HardwareDivideResetVector:Memory:Ionchip_memory2_0ExceptionVector:Memory:J^Offset:0x0^Offset:呼ci0x000020000x00002020UseConn...ModuleName□cpu_0instruction」nasterdatamasterDescriptionClockBaseEnd||TagsNiosIIProcessorAvalonMemoryMappedMasterAvalonMemoryMappedMasterAvalonhd已rnoryMapp已日Slave| | |Elonchip_memory2_0|On-ChipMemoryorROM)sysclk雙擊,更改基地址TKDntixOOOl0800 IIRQ|更改各個(gè)硬件基地址改成如下圖所示:編譯成功會(huì)有如下提示:4.在NiosIIIDE中建立對(duì)應(yīng)硬件系統(tǒng)的用戶C/C++工程,編寫一簡(jiǎn)單用戶程序,在NiosIIIDE中編譯程序生成可執(zhí)行文件.elf;4AlteraSOPCBuilder—nios?sopc(d:\nios\nios?sopc)FileEditModuleSystemViewloolsNiosIIHelp單擊口回區(qū))SystemContentsSystemGenerationNiosIISoftwareBuildToolsforEclipseNiosIICommandSh已IIOptionsSystemmodulelogicwillbecreatedinVerilog.I|Simulation.Createprojectsimulatorfiles.RunSimulatorNiosIIToolsNiosIISoftwareBuildToolsforEclipseSOF'CBuilderdatabase:D:1',riios/riios.ptfSystemHDLModel:D:.i'riii:i3.''nios.vSystemGenerationScript:D:.i'riii:i5.''nio3_gerieratiori_script#2012.05.1317:11:4斗SUCCESS:SYSTEMGENERATIONCOMPLETED.◎Info:Systemg已「i已r日打口仃*¥日successful. v⑨Info:Noerrorsorwarnings.建立bsp工程:OpenFile^..CloseCloseAllCtrl+WCtrl+Shift+W制窗e團(tuán)SaveAs...喘]SaveAllRevertCtrl+SCtrl+Shift+SMoye...RerL:iJTie...$RefreshConvertLineF2F5IlelimitersT>:> 卜昌Print...Ctrl+PNiosIIApplicationandBSPfroaTeaplateNiosIISoftwareExamplesPleasespecifya?sopcinfofileI□I□單擊SOPCInformationFilename:CPUname:ApplicationprojectProjectname:叼UsedefaultlocationProjectlocatig:ProjecttemplateTempiatesBlankProjecBoardDiagnoCountBinaryHelloFreestHelloMicroC.TempiatedescriptionHelloWorldprints?HelloThisexamplerunswithorrequiresanSTDOUTdeviceHelloWorldHelloWorld:MemoryTestSimpleSoekeWebServerFor

tbefromNiosLTtoSTDOUT.withouttheMicroC/OS"IIRTOSandinyoursystem?shard?are.details?clickFinishreadme,txtfileintheprojectdirectory.tocreatetheprojectandrefertoBSPforthistemplateisbasedontheAlteraKALTheoperatingsystem.ForinformationabouthowthissoftwareexamplerelatestoHiTTKardwArPAau;fPYAmnlau抒開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論