timescale 1ns / 1ps<br />/*------------------- 全局参数 -------------------*/<br />
define RST_ENABLE 1’b0 // 复位信号有效 RST_ENABLEdefine RST_DISABLE 1'b1 // 复位信号无效<br />
define ZERO_WORD 32’h00000000 // 32位的数值0define ZERO_DWORD 64'b0 // 64位的数值0<br />
define WRITE_ENABLE 1’b1 // 使能写define WRITE_DISABLE 1'b0 // 禁止写<br />
define READ_ENABLE 1’b1 // 使能读define READ_DISABLE 1'b0 // 禁止读<br />
define ALUOP_BUS 7 : 0 // 译码阶段的输出aluop_o的宽度define SHIFT_ENABLE 1'b1 // 移位指令使能 <br />
define ALUTYPE_BUS 2 : 0 // 译码阶段的输出alutype_o的宽度 define TRUE_V 1'b1 // 逻辑“真” <br />
define FALSE_V 1’b0 // 逻辑“假” define CHIP_ENABLE 1'b1 // 芯片使能 <br />
define CHIP_DISABLE 1’b0 // 芯片禁止 define WORD_BUS 31: 0 // 32位宽<br />
define DOUBLE_REG_BUS 63: 0 // 两倍的通用寄存器的数据线宽度define RT_ENABLE 1'b1 // rt选择使能<br />
define SIGNED_EXT 1’b1 // 符号扩展使能define IMM_ENABLE 1'b1 // 立即数选择使能<br />
define UPPER_ENABLE 1’b1 // 立即数移位使能define MREG_ENABLE 1'b1 // 写回阶段存储器结果选择信号<br />
define BSEL_BUS 3 : 0 // 数据存储器字节选择信号宽度
`define PC_INIT 32’h00000000 // PC初始值
/—————————- 指令字参数 —————————-/define INST_ADDR_BUS 31: 0 // 指令的地址宽度<br />
define INST_BUS 31: 0 // 指令的数据宽度
// 操作类型alutypedefine NOP 3'b000<br />
define ARITH 3’b001define LOGIC 3'b010<br />
define MOVE 3’b011
`define SHIFT 3’b100
// 内部操作码aluopdefine MINIMIPS32_LUI 8'h05<br />
define MINIMIPS32_MFHI 8’h0Cdefine MINIMIPS32_MFLO 8'h0D<br />
define MINIMIPS32_SLL 8’h11define MINIMIPS32_MULT 8'h14<br />
define MINIMIPS32_ADD 8’h18define MINIMIPS32_ADDIU 8'h19<br />
define MINIMIPS32_SUBU 8’h1Bdefine MINIMIPS32_AND 8'h1C<br />
define MINIMIPS32_ORI 8’h1Ddefine MINIMIPS32_SLT 8'h26<br />
define MINIMIPS32_SLTIU 8’h27define MINIMIPS32_LB 8'h90<br />
define MINIMIPS32_LW 8’h92define MINIMIPS32_SB 8'h98<br />
define MINIMIPS32_SW 8’h9A
/—————————- 通用寄存器堆参数 —————————-/define REG_BUS 31: 0 // 寄存器数据宽度<br />
define REG_ADDR_BUS 4 : 0 // 寄存器的地址宽度define REG_NUM 32 // 寄存器数量32个<br />
define REG_NOP 5’b00000 // 零号寄存器
———————————————