dcache: Ease timing on calculation of acks remaining
[microwatt.git] / decode_types.vhdl
index e847fcf3a54edfd824d05f182c1e7525a87335cb..9cd6d690d2b01516b924b29befb4df76430d307b 100644 (file)
@@ -3,26 +3,26 @@ use ieee.std_logic_1164.all;
 
 package decode_types is
     type insn_type_t is (OP_ILLEGAL, OP_NOP, OP_ADD,
-                        OP_ADDPCIS, OP_AND, OP_ATTN, OP_B, OP_BC, OP_BCREG,
-                        OP_BPERM, OP_CMP, OP_CMPB, OP_CMPEQB, OP_CMPL, OP_CMPRB,
-                        OP_CNTZ, OP_CRAND,
-                        OP_CRANDC, OP_CREQV, OP_CRNAND, OP_CRNOR, OP_CROR, OP_CRORC,
-                        OP_CRXOR, OP_DARN, OP_DCBF, OP_DCBST, OP_DCBT, OP_DCBTST,
-                        OP_DCBZ, OP_DIV, OP_EXTS,
+                        OP_AND, OP_ATTN, OP_B, OP_BC, OP_BCREG,
+                        OP_BPERM, OP_CMP, OP_CMPB, OP_CMPEQB, OP_CMPRB,
+                        OP_CNTZ, OP_CROP,
+                        OP_DARN, OP_DCBF, OP_DCBST, OP_DCBT, OP_DCBTST,
+                        OP_DCBZ, OP_DIV, OP_DIVE, OP_EXTS,
                         OP_EXTSWSLI, OP_ICBI, OP_ICBT, OP_ISEL, OP_ISYNC,
-                        OP_LOAD, OP_STORE, OP_MADDHD, OP_MADDHDU, OP_MADDLD, OP_MCRF,
-                        OP_MCRXR, OP_MCRXRX, OP_MFCR, OP_MFSPR, OP_MOD,
-                        OP_MTCRF, OP_MTSPR, OP_MUL_L64,
+                        OP_LOAD, OP_STORE, OP_MADDHD, OP_MADDHDU, OP_MADDLD,
+                        OP_MCRXR, OP_MCRXRX, OP_MFCR, OP_MFMSR, OP_MFSPR, OP_MOD,
+                        OP_MTCRF, OP_MTMSRD, OP_MTSPR, OP_MUL_L64,
                         OP_MUL_H64, OP_MUL_H32, OP_OR,
-                        OP_POPCNTB, OP_POPCNTD, OP_POPCNTW, OP_PRTYD,
-                        OP_PRTYW, OP_RLC, OP_RLCL, OP_RLCR, OP_SETB,
+                        OP_POPCNT, OP_PRTY, OP_RFID,
+                        OP_RLC, OP_RLCL, OP_RLCR, OP_SC, OP_SETB,
                         OP_SHL, OP_SHR,
-                        OP_SYNC, OP_TD, OP_TDI, OP_TW,
-                        OP_TWI, OP_XOR, OP_SIM_CONFIG
+                        OP_SYNC, OP_TLBIE, OP_TRAP,
+                        OP_XOR,
+                         OP_FETCH_FAILED
                         );
-
-    type input_reg_a_t is (NONE, RA, RA_OR_ZERO, SPR);
-    type input_reg_b_t is (NONE, RB, CONST_UI, CONST_SI, CONST_SI_HI, CONST_UI_HI, CONST_LI, CONST_BD, CONST_DS, CONST_M1, CONST_SH, CONST_SH32, SPR);
+    type input_reg_a_t is (NONE, RA, RA_OR_ZERO, SPR, CIA);
+    type input_reg_b_t is (NONE, RB, CONST_UI, CONST_SI, CONST_SI_HI, CONST_UI_HI, CONST_LI, CONST_BD,
+                           CONST_DXHI4, CONST_DS, CONST_M1, CONST_SH, CONST_SH32, SPR);
     type input_reg_c_t is (NONE, RS);
     type output_reg_a_t is (NONE, RT, RA, SPR);
     type rc_t is (NONE, ONE, RC);
@@ -46,7 +46,7 @@ package decode_types is
 
     constant TOO_OFFSET : integer := 0;
 
-    type unit_t is (NONE, ALU, LDST, MUL, DIV);
+    type unit_t is (NONE, ALU, LDST);
     type length_t is (NONE, is1B, is2B, is4B, is8B);
 
     type decode_rom_t is record