diff --git a/lib/CPUs/MIPS/src/core/mips_instr.vhd b/lib/CPUs/MIPS/src/core/mips_instr.vhd index dbaf405..cbfc588 100644 --- a/lib/CPUs/MIPS/src/core/mips_instr.vhd +++ b/lib/CPUs/MIPS/src/core/mips_instr.vhd @@ -314,6 +314,7 @@ package body mips_instr is result := op_lui; when 16 => + result := op_cop0; case rs is when 0 => result := op_mfc0; @@ -338,6 +339,7 @@ package body mips_instr is end case; when 17 => + result := op_cop1; case rs is when 0 => result := op_mfc1; @@ -362,6 +364,7 @@ package body mips_instr is end case; when 18 => + result := op_cop2; case rs is when 0 => result := op_mfc2; @@ -386,6 +389,7 @@ package body mips_instr is end case; when 19 => + result := op_cop3; case rs is when 0 => result := op_mfc3; diff --git a/lib/CPUs/MIPS/src/core/mips_types.vhd b/lib/CPUs/MIPS/src/core/mips_types.vhd index 291032e..84acf0d 100644 --- a/lib/CPUs/MIPS/src/core/mips_types.vhd +++ b/lib/CPUs/MIPS/src/core/mips_types.vhd @@ -43,8 +43,6 @@ package mips_types is subtype sa_t is natural range 0 to 63; subtype func_t is unsigned(5 downto 0); - type opclass_t is (special, regimm, opcode); - type op_t is ( nop, @@ -106,6 +104,10 @@ package mips_types is op_swl, op_sw, op_swr, + op_cop0, + op_cop1, + op_cop2, + op_cop3, op_mfc0, op_cfc0, op_mtc0,