diff --git a/uncore/src/main/scala/tilelink2/Bases.scala b/uncore/src/main/scala/tilelink2/Bases.scala index 3f1f59c3..c9333886 100644 --- a/uncore/src/main/scala/tilelink2/Bases.scala +++ b/uncore/src/main/scala/tilelink2/Bases.scala @@ -31,6 +31,10 @@ abstract class TLFactory bindings.foreach { case (x, i, y, j, s) => TLMonitor.legalize(y.bundleOut(j), y.edgesOut(j), x.bundleIn(i), x.edgesIn(i), s) x.bundleIn(i).<>(y.bundleOut(j))(s) + val mask = ~UInt(x.edgesIn(i).manager.beatBytes - 1) + x.bundleIn (i).a.bits.address.:=(mask & y.bundleOut(j).a.bits.address)(s) + y.bundleOut(j).b.bits.address.:=(mask & x.bundleIn (i).b.bits.address)(s) + x.bundleIn (i).c.bits.address.:=(mask & y.bundleOut(j).c.bits.address)(s) } } }