diff --git a/src/main/scala/subsystem/PeripheryBus.scala b/src/main/scala/subsystem/PeripheryBus.scala index ee8ccec015..4a7a9b1d1b 100644 --- a/src/main/scala/subsystem/PeripheryBus.scala +++ b/src/main/scala/subsystem/PeripheryBus.scala @@ -63,7 +63,11 @@ class PeripheryBus(params: PeripheryBusParams, name: String)(implicit p: Paramet TLWidthWidget(w) :*= TLAtomicAutomata(arithmetic = pa.arithmetic, nameSuffix = Some(name)) } .getOrElse { TLAtomicAutomata(arithmetic = pa.arithmetic, nameSuffix = Some(name)) }) :*= in_xbar.node) - } .getOrElse { TLXbar() :*= fixer.node } + } .getOrElse { + val in_xbar = LazyModule(new TLXbar(nameSuffix = Some(s"${name}_in"))) + val out_xbar = LazyModule(new TLXbar(nameSuffix = Some(s"${name}_out"))) + (out_xbar.node :*= fixer.node :*= in_xbar.node) + } def inwardNode: TLInwardNode = node def outwardNode: TLOutwardNode = node