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.sv144
1 files changed, 0 insertions, 144 deletions
diff --git a/rtl/core/cp15/cp15.sv b/rtl/core/cp15/cp15.sv
deleted file mode 100644
index 5a482d4..0000000
--- a/rtl/core/cp15/cp15.sv
+++ /dev/null
@@ -1,144 +0,0 @@
-`include "core/cp15/map.sv"
-`include "core/mmu/format.sv"
-`include "core/uarch.sv"
-
-module core_cp15
-(
- input logic clk,
- rst_n,
- transfer,
- input coproc_decode dec,
- input word write,
-
- input logic halt,
- fault_register,
- fault_page,
- input ptr fault_addr,
- input mmu_fault_type fault_type,
- input mmu_domain fault_domain,
-
- output word read,
- mmu_dac,
- output logic high_vectors,
- mmu_enable,
- output mmu_base mmu_ttbr
-);
-
- logic load;
- reg_num crn, crm;
- cp_opcode op1, op2;
-
- assign {crn, crm} = {dec.crn, dec.crm};
- assign {op1, op2} = {dec.op1, dec.op2};
- assign load = dec.load;
-
- word read_cpuid, read_syscfg, read_ttbr, read_domain, read_far,
- read_fsr, read_cache_lockdown, read_tlb_lockdown, read_cyclecnt;
-
- core_cp15_cpuid cpuid
- (
- .read(read_cpuid),
- .*
- );
-
- core_cp15_syscfg syscfg
- (
- .read(read_syscfg),
- .transfer(transfer && crn == `CP15_CRN_SYSCFG),
- .*
- );
-
- core_cp15_ttbr ttbr
- (
- .read(read_ttbr),
- .transfer(transfer && crn == `CP15_CRN_TTBR),
- .*
- );
-
- core_cp15_domain domain
- (
- .read(read_domain),
- .transfer(transfer && crn == `CP15_CRN_DOMAIN),
- .*
- );
-
- core_cp15_far far_
- (
- .read(read_far),
- .transfer(transfer && crn == `CP15_CRN_FAR),
- .*
- );
-
- core_cp15_fsr fsr
- (
- .read(read_fsr),
- .transfer(transfer && crn == `CP15_CRN_FSR),
- .*
- );
-
- core_cp15_cache cache
- (
- .transfer(transfer && crn == `CP15_CRN_CACHE),
- .*
- );
-
- core_cp15_tlb tlb
- (
- .transfer(transfer && crn == `CP15_CRN_TLB),
- .*
- );
-
- core_cp15_cache_lockdown cache_lockdown
- (
- .read(read_cache_lockdown),
- .transfer(transfer && crn == `CP15_CRN_CACHE_LCK),
- .*
- );
-
- core_cp15_tlb_lockdown tlb_lockdown
- (
- .read(read_tlb_lockdown),
- .transfer(transfer && crn == `CP15_CRN_TLB_LCK),
- .*
- );
-
- core_cp15_cyclecnt cyclecnt
- (
- .read(read_cyclecnt),
- .*
- );
-
- always_comb
- unique case(crn)
- `CP15_CRN_CPUID:
- read = read_cpuid;
-
- `CP15_CRN_SYSCFG:
- read = read_syscfg;
-
- `CP15_CRN_TTBR:
- read = read_ttbr;
-
- `CP15_CRN_DOMAIN:
- read = read_domain;
-
- `CP15_CRN_FAR:
- read = read_far;
-
- `CP15_CRN_FSR:
- read = read_fsr;
-
- `CP15_CRN_CACHE_LCK:
- read = read_cache_lockdown;
-
- `CP15_CRN_TLB_LCK:
- read = read_tlb_lockdown;
-
- `CP15_CRN_CYCLECNT:
- read = read_cyclecnt;
-
- default:
- read = {$bits(read){1'bx}};
- endcase
-
-endmodule