




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、專業(yè): 電子科學(xué)與技術(shù) 姓名: 李增一 學(xué)號: 3090101793 日期: 地點:_東一B415_實驗報告課程名稱:_ _數(shù)字系統(tǒng)設(shè)計實驗2_ _ _指導(dǎo)老師:_唐奕等_成績:_實驗名稱: _流水線MIPS微處理器設(shè)計_ _實驗類型:_ 設(shè)計型_ _同組學(xué)生姓名: 一、實驗?zāi)康暮鸵螅ū靥睿┒嶒瀮?nèi)容和原理(必填)三、主要儀器設(shè)備(必填)四、操作方法和實驗步驟五、實驗數(shù)據(jù)記錄和處理六、實驗結(jié)果與分析(必填)七、討論、心得裝 訂 線一、實驗?zāi)康暮鸵?、了解提高CPU性能的方法2、掌握流水線MIPS微處理器的工作原理3、離結(jié)數(shù)據(jù)冒險,控制冒險的概念以及流水線沖突的解決辦法4、掌握流水線MIP
2、S微處理器的測試方法二、實驗內(nèi)容和原理實驗內(nèi)容:設(shè)計一個32位流水線MIPS微處理器,具體要求如下:1、 至少運行下列MIPS32指令:算術(shù)運算指令(ADD、ADDU、SUB、SUBU、ADDI、ADDIU)邏輯運算指令(AND、OR、NOR、XOR、ANDI、ORI、XORI、SLT、SLTU、SLTI、SLTIU)移位指令(SLL、SLLV、SRL、SRLV、SRA)條件分支指令(BEQ、BNE、BGEZ、BGTZ、BLEZ、BLTZ)無條件跳轉(zhuǎn)指令(J、JR)數(shù)據(jù)傳送指令(LW、SW)空指令(NOP)2、 采用5級流水線技術(shù),對數(shù)據(jù)冒險實現(xiàn)轉(zhuǎn)發(fā)或阻塞功能3、 在XUP Virtex-Pr
3、o開發(fā)系統(tǒng)中實現(xiàn)MIPS微處理器,要求CPU的運行速度大于25MHz。實驗原理:1總體設(shè)計:IF、ID、EX、MEM、WB,對應(yīng)CPU的實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793五個處理階段。如下圖:宏觀來講如下:2、流水線冒險在流水線CPU中,多條指令同時執(zhí)行,由于各種各樣的原因,在下一個時鐘周期中下一條指令不能執(zhí)行,這種情況稱為冒險。冒險分為三類:實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793(1) 結(jié)構(gòu)冒險:硬件不支持多條指令在同一個時鐘周期內(nèi)執(zhí)行。MIPS指令集專為流水線設(shè)計,因此在MIPS CPU中不存在
4、此類冒險。 (2)數(shù)據(jù)冒險:在一個操作必須等待另一操作完成后才能進行時,流水線必須停頓,這種情況稱為數(shù)據(jù)冒險。數(shù)據(jù)冒險又分為兩類: a.數(shù)據(jù)相關(guān):流水線內(nèi)部其中任何一條指令要用到任何其它指令的計算結(jié)果時,將導(dǎo)致數(shù)據(jù)冒險。通??梢杂脭?shù)據(jù)轉(zhuǎn)發(fā)(數(shù)據(jù)定向)來解決此類冒險。解決方法:(1)三階數(shù)據(jù)相關(guān): 這兩條指令在第5時鐘周期內(nèi)同時讀寫同一個寄存器。這類數(shù)據(jù)相關(guān)稱之為三階數(shù)據(jù)相關(guān)。 假設(shè)寄存器的寫操作發(fā)生在時鐘周期的上升沿,而讀操作發(fā)生在時鐘周期的下降沿,那么讀操作將讀取到最新寫入的內(nèi)容。在這種假設(shè)條件下將不會發(fā)生數(shù)據(jù)冒險。這就要求流水線中的寄存器具有“ 先寫后讀(Read After Write)
5、”的特性。 這類“ 寫操作發(fā)生在時鐘周期的上升沿,讀操作發(fā)生在時鐘周期的下降沿” 的寄存器雖然在理論上是可實現(xiàn)的,但是不適合應(yīng)用于同步系統(tǒng),因為它不但影響系統(tǒng)的運行速度,而且影響系統(tǒng)的穩(wěn)定性,是不可取的。 因此,我們采用“ 轉(zhuǎn)發(fā)” 機制來解決三階數(shù)據(jù)相關(guān)冒險。該部分轉(zhuǎn)發(fā)電路我們放在寄存器堆的設(shè)計中完成。 數(shù)字系統(tǒng)設(shè)計實驗 轉(zhuǎn)發(fā)條件: WB級的指令需要 寫回寄存器,即 RegWrite_wb=1 實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793在WB級的指令在寫回時 目標寄存器不能是寄存 器$0,即 RegWriteAddr_wb0在WB級的指令寫回時的目標寄
6、存 器與在ID級的指令的源寄存器是 同一寄存器,即 RegWriteAddr_wb=RsAddr_id 或RegWriteAddr_wb=RtAddr_id (2)二階數(shù)據(jù)相關(guān)(MEM冒險): sub指令在第5時鐘周期寫回寄存器,而or指令也在第5時鐘周期對sub指令的結(jié)果提出了請求,很顯然or指令讀取的數(shù)據(jù)是未被更新的錯誤內(nèi)容。這類數(shù)據(jù)相關(guān)稱之為二階數(shù)據(jù)相關(guān)。 如前所述,or指令在第5時鐘周期向sub指令結(jié)果發(fā)出請求時,sub指令的結(jié)果已經(jīng)產(chǎn)生。所以,我們同樣采用“ 轉(zhuǎn)發(fā)” ,即通過MEM/WB流水線寄存器,將sub指令結(jié)果“ 轉(zhuǎn)發(fā)” 給or指令,而不需要先寫回寄存器堆。 轉(zhuǎn)發(fā)條件: WB級
7、的指令需要 寫回寄存器,即 RegWrite_wb=1 在WB級的指令在寫回時,目標寄存器不能是寄存 器$0,即 RegWriteAddr_wb0 在WB級的指令寫回時的目標寄存器 與在EX級的指令的源寄存器是同一 寄存器,即 RegWriteAddr_wb=RsAddr_ex 或RegWriteAddr_wb=RtAddr_ex實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793EX冒險不成立,即 RegWriteAddr_mem RsAddr_ex 或RegWriteAddr_mem RtAddr_ex(3)一階數(shù)據(jù)相關(guān)(EX冒險) 在這段代碼中,與sub指
8、令相關(guān)的指令有三條,我 們先來討論sub指令和and指令之間的相關(guān)問題。 sub指令在第5時鐘周期寫回寄存器,而and指令在第4時鐘周期就對sub指令的結(jié)果提出了請求,很顯然and指令讀取的數(shù)據(jù)是未被更新的錯誤內(nèi)容。這類數(shù)據(jù)相關(guān)稱之為一階數(shù)據(jù)相關(guān)。 仔細觀察sub指令,可以發(fā)現(xiàn),sub指令的結(jié)果其實在EX級結(jié)尾,即第3時鐘周期末就產(chǎn)生了。而and指令在第4時鐘周期向sub指令結(jié)果發(fā)出請求。請求時間晚于結(jié)果產(chǎn)生時間。所以,只要sub指令結(jié)果產(chǎn)生之后,就可以直接將它“ 轉(zhuǎn)發(fā)” 給and指令,而不需要先寫回寄存器堆,再由and指令將其讀取出來。 數(shù)字系統(tǒng)設(shè)計實驗 轉(zhuǎn)發(fā)條件: 1 MEM級的指令需 要
9、寫回寄存器,即 RegWrite_mem=1 2 在MEM級的指令在寫回時,目標寄存器不能是寄存 器$0,即 RegWriteAddr_mem03 在MEM級的指令寫回時的目標寄存 器與在EX級的指令的源寄存器是同 一寄存器,即 RegWriteAddr_mem=RsAddr_ex 或 RegWriteAddr_mem=RtAddr_ex b.數(shù)據(jù)冒險:此類冒險發(fā)生在當(dāng)定向的目標階段在時序上早于定向的源階實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793段時,數(shù)據(jù)轉(zhuǎn)發(fā)無效。常是引入流水線阻塞,即氣泡(bubble)來解決。 當(dāng)一條指令試圖讀取一個寄存器,而它前
10、一條指 令是lw指令,并且該lw指令寫入的是同一個寄存器時,定向轉(zhuǎn)發(fā)的方法就無法解決問題。這類冒險不同于數(shù)據(jù)相關(guān)冒險,需要單獨一個“冒險檢測單元(Hazard Detector)”。它在ID級完成。冒險成立的條件為: 上一條指令是lw指令,即MemRead_ex =1在EX級的lw指令與在ID級的指令讀寫的是同一個寄存器,即 RegWriteAddr_ex = RsAddr_id 或 RegWriteAddr_ex = RtAddr_id 冒險的解決:引入流水線阻塞。 當(dāng)Hazard Detecto檢測到冒險條件成立時,在lw指令和下一條指令之間插入阻塞,即流水線氣泡(bubble), 使后一
11、條指令延遲一個時鐘周期執(zhí)行,這樣就將該冒險轉(zhuǎn) 化為二階數(shù)據(jù)相關(guān),可用轉(zhuǎn)發(fā)解決。 需要注意的是,如果處于ID級的指令被阻塞,那 么處于IF級的指令也必須阻塞,否則,處于ID級的指令就會丟失。防止這兩條指令繼續(xù)執(zhí)行的方法是: 保持PC寄存器和IF/ID流水線寄存器不變,同時插入一個流水線氣泡。 數(shù)字系統(tǒng)設(shè)計實驗 保持PC寄存器和IF/ID流水線寄存器不變: 在ID級檢測到冒險條件時, Hazard Detector輸出一 個信號:PC_IFWrite,作為使能信號同時送給PC寄存器 和IF/ID流水線寄存器。冒險成立時,該信號為低電平, 禁止PC寄存器和IF/ID流水線寄存器接收新實驗名稱: 流水
12、線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793數(shù)據(jù)。 流水線氣泡的插入: 在ID級檢測到冒險條件時,Hazard Detector輸出一個信號: stall,將ID/EX流水線 寄存器中的EX、MEM和WB級控制信號全部 清零。這些信號傳遞 到流水線后面的各 級,由于控制信號均 為零,所以不會對任 何寄存器和存儲器進行寫操作。(3)控制冒險:CPU需要根據(jù)分支指令的結(jié)果做出決策,而此時其它指令可能還在執(zhí)行中,這時會出現(xiàn)控制冒險,也稱分支冒險。解決此類冒險的常用方法為延遲分支。 流水線每個時鐘周期都得取指令才能維持運行,但分支指令必須等到MEM級才能確定是否執(zhí)行分支。這種為
13、了確定預(yù)取正確的指令而導(dǎo)致的延遲叫做控制冒險或分支冒險。 分支冒險的解決方法:提前分支指令一種比較普遍的提高分支阻塞速度的方法是假設(shè)分支不發(fā)生,并繼續(xù)執(zhí)行順序的指令流。如果分支發(fā)生的話,就丟棄已經(jīng)預(yù)取并譯碼的指令,指令的執(zhí)行沿著分支目標繼續(xù)。由于分支指令直到MEM級才能確定下一條指令的PC,這就意味著為了丟棄指令必須將流水線中的IF、ID和EX級的指令都清除掉(flush)。這種優(yōu)化方法的代價較大,效率較低。 假如我們能在流水線中提前分支指令的執(zhí)行過程,那么就能減少需要清除的指令數(shù)。這是一種提高分支效率的方法,降低了執(zhí)行分支的代價。 提前分支指令需要提前完成兩個操作: 實驗名稱: 流水線MIP
14、S微處理器設(shè)計 姓名: 李增一 學(xué)號: 30901017931、算分支的目的地址 2、判斷分支指令的跳轉(zhuǎn)條件。提前計算分支的目的地址:由于已經(jīng)有了PC值和IF/ID流水線寄存器中的指令值,所以可以很方便地將EX級的分支地址計算電路移到ID級。我們針對所有指令都執(zhí)行分支地址的計算過程,但只有在需要它的時候才會用到。 提前判斷分支指令的跳轉(zhuǎn)條件:我們將用于判斷分支指令成立的Zero信號檢測電路(Z test )從ALU中獨立出來,并將它從EX級提前至ID級。具體的設(shè)計將在ID級設(shè)計中介紹。 在提前完成以上兩個操作之外,我們還需丟棄IF級的指令。具體做法是:加入一個控制信號IF_flush,做為IF
15、/ID流水線寄存器的清零信號。當(dāng)分支冒險成立,即Z=1,則IF_flush=1,否則IF_flush=0,故IF_flush = Z。 考慮到本系統(tǒng)還要實現(xiàn)的無條件跳轉(zhuǎn)指令:J和JR,在執(zhí)行這兩個指令時也必須要對IF/ID流水線寄存器進行清空,因此, IF_flush的表達式應(yīng)表示為: IF_flush = Z | J | JR由此可得,無冒險的流水線MIPS原理框圖如下:實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793三、主要儀器設(shè)備裝有Modelsim四、實驗過程和數(shù)據(jù)記錄因為最開始做的就是ALU的設(shè)計故先從ALU開始EX:ALU子模塊的設(shè)計:ALU具體
16、執(zhí)行何種運算,由控制單元中的ALU控制器輸出的ALUCode信號決定。ALU的功能表見下: 實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793加法器完成的功能,增加一個Binvert即可: sum=A+BBinvert+Binvert 當(dāng)Binvert=0時,sum=A+B0+0=A+B即完成加法運算。 當(dāng)Binvert=1時,sum=A+B1+1=A-B即完成減法運算。32位加法器代碼如下:實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793其中adder4bit_conditional加法器代碼如下:比較電路中要注意有符號數(shù)
17、和無符號數(shù)比較運算的區(qū)別 在有符號數(shù)比較SLT運算中,判斷A<B的方法有: 對有符號數(shù)A、B,滿足下列兩種情況之一即可判斷A<B: A為負數(shù)、B為0或正數(shù):A31&&(B31) A、B符號相同,A-B為負:(A31B31) && sum31 因此,SLTResult=(A31&&(B31) |( (A31B31) && sum31) 在無符號比較運算中,同理可得: 實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793SLTResult=(A31)&&B31) |( (A3
18、1B31) && sum31);ALU模塊代碼如下:實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793調(diào)用case語句來選擇Result的輸出實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793ALU仿真如下:將所得仿真波形與書本上要求對比,仿真正確。2、數(shù)據(jù)前推電路的設(shè)計 操作數(shù)A和B由數(shù)據(jù)選擇器決定,數(shù)據(jù)選擇器的地址信號即為ForwardA和ForwardB。數(shù)據(jù)選擇器地址信號ForwardA、ForwardB的含義如下表所示:實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 309010179
19、3且有綜合前面給出的原理框圖EX的代碼如下:實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793直接用case語句來敘述選擇器,以免調(diào)用MUX函數(shù)這么麻煩實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793IF: 1.指令存儲器ROM 用Xilinx CORE Generator實現(xiàn)產(chǎn)生的ROM無法滿足流水線CPU的指令要求,我們需用Verilog HDL 設(shè)計一個ROM陣列??紤]到FPGA的資源,指令存儲器可設(shè)計為容量各為26×32bi
20、t的ROM。老師已經(jīng)提供了該ROM的代碼,文件名為。2.指令指針選擇器 該8選1數(shù)據(jù)選擇器的選擇信號PCSource=JR,J,Z。實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 30901017933、PC寄存器 當(dāng)發(fā)生數(shù)據(jù)冒險時,需要保持PC寄存器不變,因此PC寄存器是一個帶使能端的D型寄存器,使能信號為PC_IFWrite。IF的代碼如下:實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793IF的仿真波形如下:實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793通過分析上面的前中后三段仿真波形,與實驗要求完全
21、符合。前幾個周期,此時Z=J=JR=0,經(jīng)過一個reset后 PC被賦予了00000000的初值,因為跳轉(zhuǎn)分支指令都等于0,所以下一條指令地址總是等于上一條指令+4,波形正確。中間幾個波形 Z,J,JR=001時 PC=JrAddr 而不是上一周期的NextPC_if Z,J,JR=010時 PC=JumpAddr 而不是上一周期的NextPC_if Z,J,JR=100時 PC=BranchAddr 而不是上一周期的NextPC_if 說明 跳轉(zhuǎn)和分支指令起了作用,且PC地址符合設(shè)計要求。末尾幾個周期 此時PC_IFWite=0,則寄存器使能端為0,PC值保持不變,由圖形可知幾個信號都保持不
22、變,說明PC_IFWite是起作用ID:模塊設(shè)計 控制單元的主要任務(wù)是,根據(jù)指令存儲器讀出的指令,確定各個控制信號的值。它是一個組 合電路。實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 30901017939組控制信號: 1.RegWrite 決定是否對寄存器(registers)進行寫操作。 RegWrite有效時,將數(shù)據(jù)寫入指定的寄存器中。 需要寫回寄存器的指令類型有:LW、R_type1、 R_type2和I_type,所以:RegWrite_id= LW | R_type1 | R_type2 | I_type 2、RegDst 決定目標寄存器是rt還是rd。 Reg
23、Dst=0時,rt為目標寄存器。 RegDst=1時,rd為目標寄存器。需要寫回寄存器的指令類型有:LW、R_type1、R_type2和I_type。其中, R_type1和R_type2的目標寄存器是rd,而LW和I_type的目標寄存實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793器是rt。所以:RegDst_id= R_type1 | R_type2 3、MemWrite 決定是否對數(shù)據(jù)存儲器進行寫操作。 MemWrite有效時,將數(shù)據(jù)寫入數(shù)據(jù)存儲器指定的位置。 需要對寫存儲器的指令只有SW,所以:MemWrite_id= SW 4、MemRead
24、決定是否對數(shù)據(jù)存儲器進行讀操作。 MemRead有效時,讀取數(shù)據(jù)存儲器指定位置的數(shù)據(jù)。 需要對讀存儲器的指令只有LW,所以:MemRead_id= LW 5、MemtoReg 決定寫入寄存器(registers)的數(shù)據(jù)來自ALU還是數(shù)據(jù)存儲器。 MemtoReg=0時,數(shù)據(jù)來自ALU。 MemtoReg=1時,數(shù)據(jù)來自數(shù)據(jù)存儲器。 需要寫回寄存器的指令類型有:LW、R_type1、R_type2和I_type,其中,只有LW寫回寄存器的數(shù)據(jù)取自存儲器,所以:MemtoReg_id= LW6、ALUSrcA 決定ALU第一操作數(shù)來源。 ALUSrcA=0時,ALU第一操作數(shù)A。.ALUSrcA=
25、1時,ALU第一操作數(shù)來源于0擴展的5位sa。 J_tpye、JR_tpye及Branch類型指令沒有使用ALU。使用ALU的指令類型中LW、SW、R_type1和I_type均采用的rs作為ALU第一操作數(shù),只有實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793R_type2的第一操作數(shù)采用的是0擴展的sa段,所以: ALUSrcA_id= R_type2 7、ALUSrcB 決定ALU第二操作數(shù)來源。 ALUSrcB=0時, ALU第二操作數(shù)B。 ALUSrcB=1時, ALU第二操作數(shù)來源于符號擴展的16位Imm。 J_tpye、JR_tpye及Bran
26、ch類型指令沒有使用ALU。 使用ALU的指令類型中R_type1和R_type2 采用rt作為ALU第二操作數(shù),而LW、SW、I_type的第二操作數(shù)采用的是符號擴展的立即數(shù)Imm段,所以:ALUSrcB_id= LW | SW | I_type即IR15:0,用于I型指令。以上7組控制信號均為1位信號,而以下2組信號為多位信號。 8、PCSource(3位信號) 決定寫入PC寄存器的來源。 PCSource由JR_tpye 、J_tpye及Z決定:即: PCSource=JR, J, Z 在IF級已經(jīng)對PCsource的作用經(jīng)過介紹。 9、ALUCode(5位信號) 決定ALU的操作。 由
27、指令中的op段、rt段及funct段決定。ALUCode的設(shè)計參照書本的功能表。decode的verilog的代碼如下:定義輸入輸出實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793定義各線以運算代碼實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793ALUCode定義各個運算5位2進制碼直接用case語句選擇出各個代碼所對應(yīng)的操作實驗名稱: 流水線MIPS微處理
28、器設(shè)計 姓名: 李增一 學(xué)號: 30901017932. Zero 檢測電路的設(shè)計3、寄存器堆的設(shè)計 流水線型CPU中的寄存器堆要求具有“先寫后讀(Read After Write)”實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793特性. 老師已經(jīng)給出寄存器堆的大部分程序, RsSel=RegWrite_wb&&(RegWriteAddr_wb=0)&&(RegWriteAddr_wb=RsAddr_id); RtSel=RegWrite_wb&&(RegWriteAddr_wb=0)&&(Re
29、gWriteAddr_wb=RtAddr_id);4、冒險檢測電路的設(shè)計 冒險成立的條件為: 上一條指令是lw指令,即MemRead_ex =1 在EX級的lw指令與在ID級的指令讀寫的是同一個寄存器,即 RegWriteAddr_ex = RsAddr_id或RegWriteAddr_ex = RtAddr_id 解決冒險的方法為: 插入一個流水線氣泡: stall = MemRead_ex &&( (RegWriteAddr_ex = RsAddr_id)|(RegWriteAddr_ex = RtAddr_id) 保持PC寄存器和IF/ID流水線寄存器不變:PC_IFWr
30、ite = stall5、其它單元電路的設(shè)計 1、Branch指令分支地址的計算電路: BranchAddr= NextPC_id+(sign-extend(Imm_id)<<2) 2、JR指令跳轉(zhuǎn)地址的計算電路: JRAddr = RsData_id 3、J指令跳轉(zhuǎn)地址的計算電路: 實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793JAddr = NextPC_id31:28,IR_id25:0,2b00結(jié)合原理框圖,得到ID級代碼如下:定義輸入輸出實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793Zero檢測實驗名稱: 流水線MIPS微處理器設(shè)計 姓名: 李增一 學(xué)號: 3090101793RsSel與RtSel信號直接用case寫出了選擇器對RtData RsDatad的選擇MultiRegisters代碼:DataRam:數(shù)據(jù)存儲器利用Xilinx Core Generator實現(xiàn)??紤]到FPGA的資源,數(shù)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 古詩文中意象表達技巧指導(dǎo)
- 項目進度說明文書
- 童話故事兒童劇解讀
- 理賠案件統(tǒng)計分析表
- 企業(yè)并購重組科技成果轉(zhuǎn)化合作協(xié)議
- 農(nóng)場租賃合同
- 農(nóng)業(yè)生產(chǎn)綠色低碳發(fā)展與實踐路徑
- 提升客戶服務(wù)質(zhì)量的具體措施方案
- 規(guī)章制度匯編-員工手冊
- 城市綠化項目合作施工合同
- 納米生物醫(yī)用材料課件
- 八年級-現(xiàn)在完成時復(fù)習(xí)(共26張)課件
- 第十章可持續(xù)發(fā)展理論與實踐課件
- 電氣基礎(chǔ)知識培訓(xùn)要點課件
- 洗浴中心轉(zhuǎn)讓合同(5篇)
- 外研版小學(xué)英語五年級下冊課文翻譯
- YY-T 1823-2022 心血管植入物 鎳鈦合金鎳離子釋放試驗方法
- 年產(chǎn)12000噸水合肼(100%)項目環(huán)評報告書
- 鉆芯法檢測混凝土抗壓強度原始記錄1
- 液壓支架與泵站(第二版)課件匯總?cè)珪娮咏贪竿暾嬲n件最全幻燈片(最新)
- 分布式光伏電站支架結(jié)構(gòu)及荷載計算書
評論
0/150
提交評論