From 565fed200dde2fbd0c8584c0a439d1a51d861c01 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Mon, 29 Nov 2021 13:19:45 +0000 Subject: [PATCH] add MMU and SPR to list of FUs that must report "busy" i.e. block --- src/soc/simple/core.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/soc/simple/core.py b/src/soc/simple/core.py index f8c3c245..de7c5324 100644 --- a/src/soc/simple/core.py +++ b/src/soc/simple/core.py @@ -427,11 +427,15 @@ class NonProductionCore(ControlBase): # and resolved with m.If(self.issue_conflict): comb += busy_o.eq(1) - # make sure that LDST, Branch and Trap all say "busy" - # and do not allow overlap + # make sure that LDST, SPR, MMU, Branch and Trap all say "busy" + # and do not allow overlap. these are all the ones that + # are non-forward-progressing: exceptions etc. that otherwise + # change CoreState for some reason (MSR, PC, SVSTATE) for funame, fu in fus.items(): if (funame.lower().startswith('ldst') or funame.lower().startswith('branch') or + funame.lower().startswith('mmu') or + funame.lower().startswith('spr') or funame.lower().startswith('trap')): with m.If(fu.busy_o): comb += busy_o.eq(1) -- 2.30.2