diff --git a/src/main/scala/uncore/tilelink2/Splitter.scala b/src/main/scala/uncore/tilelink2/Splitter.scala index 7043c461..96e600b7 100644 --- a/src/main/scala/uncore/tilelink2/Splitter.scala +++ b/src/main/scala/uncore/tilelink2/Splitter.scala @@ -42,7 +42,9 @@ class TLSplitter(policy: TLArbiter.Policy = TLArbiter.roundRobin)(implicit p: Pa def group[T](x: Seq[T]) = if (x.isEmpty) Nil else x.grouped(node.edgesIn.size).toList.transpose - ((node.edgesIn zip io.in) zip (group(node.edgesOut) zip group(io.out))) foreach { + if (node.edgesIn.size <= 1) { + io.out <> io.in + } else ((node.edgesIn zip io.in) zip (group(node.edgesOut) zip group(io.out))) foreach { case ((edgeIn, io_in), (edgesOut, io_out)) => // Grab the port ID mapping