From 265c6ea8ac681d82d4d12f26389d26beb5060f9b Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Sun, 20 Feb 2022 23:28:50 +0000 Subject: [PATCH] name core_stop and terminated_o synchronous to potentially help cut down on combinatorial chains --- src/soc/debug/dmi.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/soc/debug/dmi.py b/src/soc/debug/dmi.py index e8349182..03bd8dc8 100644 --- a/src/soc/debug/dmi.py +++ b/src/soc/debug/dmi.py @@ -292,10 +292,13 @@ class CoreDebug(Elaboratable): comb += d_fast.addr.eq(fast_index) # Core control signals generated by the debug module - comb += self.core_stop_o.eq((stopping & ~do_step) | self.terminate_i) + # Note: make stop and terminated synchronous, to help with timing + # however this *may* interfere with some of the DMI-based unit tests + # so has to be kept an eye on + sync += self.core_stop_o.eq((stopping & ~do_step) | self.terminate_i) + sync += self.terminated_o.eq(terminated | self.terminate_i) comb += self.core_rst_o.eq(do_reset) comb += self.icache_rst_o.eq(do_icreset) - comb += self.terminated_o.eq(terminated | self.terminate_i) # Logging RAM (none) -- 2.30.2