diff options
| author | Alejandro Soto <alejandro@34project.org> | 2022-11-01 23:00:52 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2022-11-01 23:04:24 -0600 |
| commit | ed42ddad4a09ef6919ac3c1ee54ad17f4e8b13bc (patch) | |
| tree | 8f7f523e8f1e5857769b9bb2f34931d3bb5cc9d0 /rtl/core/cp15/cp15.sv | |
| parent | 45efe8bf6148d9d1cd7127a5d245d5e3cd6b4647 (diff) | |
Add CPUID register
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 |
