From: Luke Kenneth Casson Leighton Date: Sun, 20 Feb 2022 23:38:13 +0000 (+0000) Subject: put LDST go-store on a 1-clock delay to help with combinatorial chains X-Git-Url: https://git.libre-soc.org/?p=soc.git;a=commitdiff_plain;h=40fd5c0dd27fd8b586a14531eaa1bd7414132cf1 put LDST go-store on a 1-clock delay to help with combinatorial chains --- diff --git a/src/soc/simple/issuer.py b/src/soc/simple/issuer.py index 06bfcdf3..379c373e 100644 --- a/src/soc/simple/issuer.py +++ b/src/soc/simple/issuer.py @@ -462,12 +462,13 @@ class TestIssuerBase(Elaboratable): comb += pdecode2.dec.bigendian.eq(self.core_bigendian_i) # temporary hack: says "go" immediately for both address gen and ST + # XXX: st.go_i is set to 1 cycle delay to reduce combinatorial chains l0 = core.l0 ldst = core.fus.fus['ldst0'] st_go_edge = rising_edge(m, ldst.st.rel_o) # link addr-go direct to rel m.d.comb += ldst.ad.go_i.eq(ldst.ad.rel_o) - m.d.comb += ldst.st.go_i.eq(st_go_edge) # link store-go to rising rel + m.d.sync += ldst.st.go_i.eq(st_go_edge) # link store-go to rising rel def do_dmi(self, m, dbg): """deals with DMI debug requests