BUAA-CO P6设计文档
设计草稿 根据P5CPU设计,需要进行以下改变: 乘除模块MDU,内带HI,LO两个寄存器。设置start,busy信号用于模拟多周期乘除法运算 DE模块,用于实现LW,LH,LB指令 BE模块,用于实现SW,SH,SB指令 内存外置:将原IM和DM删除,并在mips主模块增加接口 增加bne,slt等简单指令 乘除法八条指令 MDU模块 注意$signed即可。 123456789101112131415161718192021222324252627- type = mult(u) - {HI, LO} <= inputA * inputB;- type = div(u) - inputB != 0 - HI <= inputA % inputB; - LO <= inputA / inputB;- type = mfhi/mflo - MDUres = HI/LO;- type = mthi/mtlo - HI/LO <= inputA;``` #### 模拟多周期运算- 当 E 级指令是`mult``mu...
BUAA-CO P5设计文档
设计草稿 根据P4CPU设计,将CPU划分为F,D,E,M,W五级。 前置准备 由于延迟槽的存在,需将mips主模块中的PCplus4改为PCplus8. 模块层面 Controller 为了使每一级都能及时读取Controller传递出的信号,可以在每一级都设置一个单独的Controller模块。 同时,在Controller模块中定义每个指令的t_rs,t_rt,t数值 指令 trs trt t add 1 1 2 sub 1 1 2 ori 1 F 2 lui F F 2 lw 1 F 3 sw 1 2 F beq 0 0 F jal F F 0 jr 0 F F nop F表示不需要的信号,在Verilog中定义为4’hf. 添加流水级之间的寄存器 FDreg Instr PC/PCplus8 DEreg Instr及Controller信号 PC/PCplus8 RD1/RD2(ALU中用到) A3 ext32 EMreg Instr及Controller信号 PC/PCplu...
BUAA-CO P4设计文档
Splitter模块 Sig Type Descript Instr[31:0] Output 当前指令 opcode Output Instr[31:26] rs Output Instr[25:21] rt Output Instr[20:16] rd Output Instr[13:11] shamt Output Instr[10:6] func Output Instr[5:0] offset/imm Output Instr[15:0] base Output Instr[25:21] Controller模块 Sig Type Descript opcode[5:0] Input func[5:0] Input RegWrite Output GRF写使能 RegDst Output 选择寄存器rt(0)/rd(1) ALUsrc Output ALU选择寄存器(0)/立即数(1) Branch Output 跳转指令信号 MemWrite Output 内存写使能 ...
BUAA-CO P3设计文档
Splitter模块 Sig Type Descript Instr[31:0] Output 当前指令 opcode Output Instr[31:26] rs Output Instr[25:21] rt Output Instr[20:16] rd Output Instr[13:11] Output Instr[10:6] func Output Instr[5:0] offset/imm Output Instr[15:0] base Output Instr[25:21] 美化电路用,Logisim自带Splitter太丑了 Controller模块 Sig Type Descript opcode[5:0] Input func[5:0] Input RegWrite Output GRF写使能 RegDst Output 选择寄存器rt(0)/rd(1) ALUsrc Output ALU选择寄存器(0)/立即数(1) Branch Output 跳转指令信号 ...
HelloWorld
你好,世界。
