前言
有同学问我要龙芯源码,这里放一个仓库:https://github.com/trialley/loongson_MIPS_demo
另外五级流水线很常见了,在CSDN随便一搜就可以搜到很多资料,我的计组课设就是基于CSDN的资料设计的。
CPU内总线
EX module
乘法器是需要时钟的,EX模块其他部分都是是纯粹的组合电路
ALU module
ALU接口
module alu(
input [11:0] alu_control, // ALU控制信号
input [31:0] alu_src1, // ALU操作数1,为补码
input [31:0] alu_src2, // ALU操作数2,为补码
output [31:0] alu_result // ALU结果
);
控制线绑定
控制线在输入时就是独热码,故此有多少计算类型就有多少条控制线
assign alu_add = alu_control[11];
assign alu_sub = alu_control[10];
assign alu_slt = alu_control[ 9];
assign alu_sltu = alu_control[ 8];
assign alu_and = alu_control[ 7];
assign alu_nor = alu_control[ 6];