From: Robert Jordens Date: Fri, 14 Oct 2016 07:43:09 +0000 (+0200) Subject: ElasticBuffer: infer reset X-Git-Tag: 24jan2021_ls180~1931 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=677243bd8c132113bdb59e4c7531134c5a469ee8;p=litex.git ElasticBuffer: infer reset --- diff --git a/litex/gen/genlib/cdc.py b/litex/gen/genlib/cdc.py index e9dd501d..7f72b471 100644 --- a/litex/gen/genlib/cdc.py +++ b/litex/gen/genlib/cdc.py @@ -144,21 +144,22 @@ class GrayCounter(Module): class ElasticBuffer(Module): def __init__(self, width, depth, idomain, odomain): - self.reset = Signal() self.din = Signal(width) self.dout = Signal(width) # # # + reset = Signal() cd_write = ClockDomain() cd_read = ClockDomain() self.comb += [ cd_write.clk.eq(ClockSignal(idomain)), - cd_read.clk.eq(ClockSignal(odomain)) + cd_read.clk.eq(ClockSignal(odomain)), + reset.eq(ResetSignal(idomain) | ResetSignal(odomain)) ] self.specials += [ - AsyncResetSynchronizer(cd_write, self.reset), - AsyncResetSynchronizer(cd_read, self.reset) + AsyncResetSynchronizer(cd_write, reset), + AsyncResetSynchronizer(cd_read, reset) ] self.clock_domains += cd_write, cd_read