From: Luke Kenneth Casson Leighton Date: Mon, 29 Nov 2021 13:19:45 +0000 (+0000) Subject: add MMU and SPR to list of FUs that must report "busy" i.e. block X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=565fed200dde2fbd0c8584c0a439d1a51d861c01;p=soc.git add MMU and SPR to list of FUs that must report "busy" i.e. block --- 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)