diff options
Diffstat (limited to 'rtl')
| -rw-r--r-- | rtl/core/cp15/map.sv | 17 | ||||
| -rw-r--r-- | rtl/core/uarch.sv | 7 |
2 files changed, 21 insertions, 3 deletions
diff --git a/rtl/core/cp15/map.sv b/rtl/core/cp15/map.sv new file mode 100644 index 0000000..0c0add5 --- /dev/null +++ b/rtl/core/cp15/map.sv @@ -0,0 +1,17 @@ +`ifndef CORE_CP15_MAP_SV +`define CORE_CP15_MAP_SV + +`define CP15_CRN_CPUID 4'd0 +`define CP15_CRN_SYSCFG 4'd1 +`define CP15_CRN_TTBR 4'd2 +`define CP15_CRN_DOMAIN 4'd3 +`define CP15_CRN_FSR 4'd5 +`define CP15_CRN_FAR 4'd6 +`define CP15_CRN_CACHE 4'd7 +`define CP15_CRN_TLB 4'd8 +`define CP15_CRN_CACHE_LCK 4'd9 +`define CP15_CRN_TLB_LCK 4'd10 +`define CP15_CRN_DMA 4'd11 +`define CP15_CRN_PID 4'd13 + +`endif diff --git a/rtl/core/uarch.sv b/rtl/core/uarch.sv index 69c5edb..b6dfc76 100644 --- a/rtl/core/uarch.sv +++ b/rtl/core/uarch.sv @@ -5,6 +5,7 @@ `define NOP 32'd0 typedef logic[3:0] reg_num; +typedef logic[2:0] cp_opcode; typedef logic[15:0] reg_list; typedef logic[31:0] word; typedef logic[29:0] ptr; @@ -137,9 +138,9 @@ typedef struct packed typedef struct packed { - logic load; - logic[2:0] op1, op2; - reg_num crn, crm; + logic load; + cp_opcode op1, op2; + reg_num crn, crm; } coproc_decode; typedef enum |
