summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rtl/core/cp15/cp15.sv2
-rw-r--r--rtl/core/cp15/far.sv2
-rw-r--r--rtl/core/cp15/fsr.sv2
-rw-r--r--rtl/core/cp15/syscfg.sv2
-rw-r--r--rtl/core/cp15/ttbr.sv2
-rwxr-xr-xsim/sim.py4
-rw-r--r--tb/top/conspiracion.cpp9
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
);
diff --git a/sim/sim.py b/sim/sim.py
index 448c39f..6ef0ed0 100755
--- a/sim/sim.py
+++ b/sim/sim.py
@@ -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);
};