summaryrefslogtreecommitdiff
path: root/rtl/core/cp15/cp15.sv
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/core/cp15/cp15.sv')
-rw-r--r--rtl/core/cp15/cp15.sv27
1 files changed, 27 insertions, 0 deletions
diff --git a/rtl/core/cp15/cp15.sv b/rtl/core/cp15/cp15.sv
index b31ccb7..3855e13 100644
--- a/rtl/core/cp15/cp15.sv
+++ b/rtl/core/cp15/cp15.sv
@@ -1,4 +1,5 @@
`include "core/uarch.sv"
+`include "core/cp15/map.sv"
module core_cp15
(
@@ -10,4 +11,30 @@ module core_cp15
output word read
);
+ logic load;
+ reg_num crm;
+ cp_opcode op1, op2;
+
+ assign load = dec.load;
+ assign crm = dec.crm;
+ assign op1 = dec.op1;
+ assign op2 = dec.op2;
+
+ word read_cpuid;
+
+ core_cp15_cpuid cpuid
+ (
+ .read(read_cpuid),
+ .*
+ );
+
+ always_comb
+ unique case(dec.crn)
+ `CP15_CRN_CPUID:
+ read = read_cpuid;
+
+ default:
+ read = {$bits(read){1'bx}};
+ endcase
+
endmodule