mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
41 lines
1.1 KiB
Systemverilog
41 lines
1.1 KiB
Systemverilog
package riscv_pkg;
|
|
|
|
import alu_opcodes_pkg::*;
|
|
|
|
// opcodes
|
|
parameter LOAD_OPCODE = 5'b00_000;
|
|
parameter MISC_MEM_OPCODE = 5'b00_011;
|
|
parameter OP_IMM_OPCODE = 5'b00_100;
|
|
parameter AUIPC_OPCODE = 5'b00_101;
|
|
parameter STORE_OPCODE = 5'b01_000;
|
|
parameter OP_OPCODE = 5'b01_100;
|
|
parameter LUI_OPCODE = 5'b01_101;
|
|
parameter BRANCH_OPCODE = 5'b11_000;
|
|
parameter JALR_OPCODE = 5'b11_001;
|
|
parameter JAL_OPCODE = 5'b11_011;
|
|
parameter SYSTEM_OPCODE = 5'b11_100;
|
|
|
|
// dmem type load store
|
|
parameter LDST_B = 3'b000;
|
|
parameter LDST_H = 3'b001;
|
|
parameter LDST_W = 3'b010;
|
|
parameter LDST_BU = 3'b100;
|
|
parameter LDST_HU = 3'b101;
|
|
|
|
// operand a selection
|
|
parameter OP_A_RS1 = 2'b00;
|
|
parameter OP_A_CURR_PC = 2'b01;
|
|
parameter OP_A_ZERO = 2'b10;
|
|
|
|
// operand b selection
|
|
parameter OP_B_RS2 = 3'b000;
|
|
parameter OP_B_IMM_I = 3'b001;
|
|
parameter OP_B_IMM_U = 3'b010;
|
|
parameter OP_B_IMM_S = 3'b011;
|
|
parameter OP_B_INCR = 3'b100;
|
|
|
|
// writeback source selection
|
|
parameter WB_EX_RESULT = 1'b0;
|
|
parameter WB_LSU_DATA = 1'b1;
|
|
|
|
endpackage |