From 677243bd8c132113bdb59e4c7531134c5a469ee8 Mon Sep 17 00:00:00 2001 From: Robert Jordens Date: Fri, 14 Oct 2016 09:43:09 +0200 Subject: [PATCH] ElasticBuffer: infer reset --- litex/gen/genlib/cdc.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/litex/gen/genlib/cdc.py b/litex/gen/genlib/cdc.py index e9dd501d5..7f72b4719 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