diff options
Diffstat (limited to 'rtl/core/cp15/cp15.sv')
| -rw-r--r-- | rtl/core/cp15/cp15.sv | 27 |
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 |
