diff options
| -rw-r--r-- | rtl/core/cp15/cp15.sv | 2 | ||||
| -rw-r--r-- | rtl/core/cp15/far.sv | 2 | ||||
| -rw-r--r-- | rtl/core/cp15/fsr.sv | 2 | ||||
| -rw-r--r-- | rtl/core/cp15/syscfg.sv | 2 | ||||
| -rw-r--r-- | rtl/core/cp15/ttbr.sv | 2 | ||||
| -rwxr-xr-x | sim/sim.py | 4 | ||||
| -rw-r--r-- | tb/top/conspiracion.cpp | 9 |
7 files changed, 18 insertions, 5 deletions
diff --git a/rtl/core/cp15/cp15.sv b/rtl/core/cp15/cp15.sv index f0391e8..0659cad 100644 --- a/rtl/core/cp15/cp15.sv +++ b/rtl/core/cp15/cp15.sv @@ -61,7 +61,7 @@ module core_cp15 .* ); - core_cp15_far far + core_cp15_far far_ ( .read(read_far), .transfer(transfer && crn == `CP15_CRN_FAR), diff --git a/rtl/core/cp15/far.sv b/rtl/core/cp15/far.sv index 9e1d95c..36e76db 100644 --- a/rtl/core/cp15/far.sv +++ b/rtl/core/cp15/far.sv @@ -13,7 +13,7 @@ module core_cp15_far input logic fault_register, input ptr fault_addr, - output word read + output word read /*verilator public*/ ); word far; diff --git a/rtl/core/cp15/fsr.sv b/rtl/core/cp15/fsr.sv index c42d16a..81b4992 100644 --- a/rtl/core/cp15/fsr.sv +++ b/rtl/core/cp15/fsr.sv @@ -16,7 +16,7 @@ module core_cp15_fsr input mmu_fault_type fault_type, input mmu_domain fault_domain, - output word read + output word read /*verilator public*/ ); logic fsr_page; diff --git a/rtl/core/cp15/syscfg.sv b/rtl/core/cp15/syscfg.sv index d75f7ac..f7fc1a5 100644 --- a/rtl/core/cp15/syscfg.sv +++ b/rtl/core/cp15/syscfg.sv @@ -11,7 +11,7 @@ module core_cp15_syscfg input cp_opcode op2, input word write, - output word read, + output word read /*verilator public*/, output logic high_vectors, mmu_enable ); diff --git a/rtl/core/cp15/ttbr.sv b/rtl/core/cp15/ttbr.sv index 5162edb..b462955 100644 --- a/rtl/core/cp15/ttbr.sv +++ b/rtl/core/cp15/ttbr.sv @@ -11,7 +11,7 @@ module core_cp15_ttbr transfer, input word write, - output word read, + output word read /*verilator public*/, output mmu_base mmu_ttbr ); @@ -68,6 +68,10 @@ all_regs = [ ('spsr_und', 'spsr_und'), ('spsr_irq', 'spsr_irq'), ('spsr_fiq', 'spsr_fiq'), + ('sysctrl', 'sysctrl'), + ('ttbr', 'ttbr'), + ('far', 'far'), + ('fsr', 'fsr'), ] regs = {} diff --git a/tb/top/conspiracion.cpp b/tb/top/conspiracion.cpp index 55798cc..bdda56c 100644 --- a/tb/top/conspiracion.cpp +++ b/tb/top/conspiracion.cpp @@ -17,6 +17,11 @@ #include "Vconspiracion_platform.h" #include "Vconspiracion_vga_domain.h" #include "Vconspiracion_core_control.h" +#include "Vconspiracion_core_cp15_far.h" +#include "Vconspiracion_core_cp15_fsr.h" +#include "Vconspiracion_core_cp15_syscfg.h" +#include "Vconspiracion_core_cp15_ttbr.h" +#include "Vconspiracion_core_cp15.h" #include "Vconspiracion_core_fetch.h" #include "Vconspiracion_core_mmu.h" #include "Vconspiracion_core_psr.h" @@ -427,6 +432,10 @@ int main(int argc, char **argv) std::fprintf(ctrl, "%08x spsr_und\n", core.psr->spsr_und_word); std::fprintf(ctrl, "%08x spsr_fiq\n", core.psr->spsr_fiq_word); std::fprintf(ctrl, "%08x spsr_irq\n", core.psr->spsr_irq_word); + std::fprintf(ctrl, "%08x sysctrl\n", core.cp15->syscfg->read); + std::fprintf(ctrl, "%08x ttbr\n", core.cp15->ttbr->read); + std::fprintf(ctrl, "%08x far\n", core.cp15->far_->read); + std::fprintf(ctrl, "%08x fsr\n", core.cp15->fsr->read); std::fputs("=== end-regs ===\n", ctrl); }; |
