diff --git a/litex/soc/interconnect/stream.py b/litex/soc/interconnect/stream.py index c7d521221..2a95d9baa 100644 --- a/litex/soc/interconnect/stream.py +++ b/litex/soc/interconnect/stream.py @@ -254,8 +254,16 @@ class ClockDomainCrossing(LiteXModule, DUID): # Same Clk Domains. if cd_from == cd_to: - # No adaptation. - self.comb += self.sink.connect(self.source) + if buffered: + # Add Buffer. + self.buffer = ClockDomainsRenamer(cd_from)(Buffer(layout)) + self.comb += [ + self.sink.connect(self.buffer.sink), + self.buffer.source.connect(self.source), + ] + else: + # No adaptation. + self.comb += self.sink.connect(self.source) # Different Clk Domains. else: if with_common_rst: