From 4fe890bb68d2214a085ee9c8c13cd4609b3a0a26 Mon Sep 17 00:00:00 2001 From: Robin Ole Heinemann Date: Sun, 3 Jan 2021 00:12:31 +0100 Subject: [PATCH] lib.fifo.AsyncFIFOBuffered: use FFSynchronizer instead of AsyncFFsynchronizer AsyncFFsynchronizer only synchronizes one edge --- nmigen/lib/fifo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nmigen/lib/fifo.py b/nmigen/lib/fifo.py index c78c964..98517d9 100644 --- a/nmigen/lib/fifo.py +++ b/nmigen/lib/fifo.py @@ -513,7 +513,7 @@ class AsyncFIFOBuffered(Elaboratable, FIFOInterface): m.d[self._r_domain] += self.r_level.eq(fifo.r_level + r_consume_buffered) w_consume_buffered = Signal() - m.submodules.consume_buffered_cdc = AsyncFFSynchronizer(r_consume_buffered, w_consume_buffered, o_domain=self._w_domain) + m.submodules.consume_buffered_cdc = FFSynchronizer(r_consume_buffered, w_consume_buffered, o_domain=self._w_domain) m.d.comb += self.w_level.eq(fifo.w_level + w_consume_buffered) with m.If(self.r_en | ~self.r_rdy): -- 2.30.2