diff --git a/src/main/scala/uncore/tilelink2/Filter.scala b/src/main/scala/uncore/tilelink2/Filter.scala index c851f3f1..d22d56b7 100644 --- a/src/main/scala/uncore/tilelink2/Filter.scala +++ b/src/main/scala/uncore/tilelink2/Filter.scala @@ -14,7 +14,10 @@ class TLFilter(select: AddressSet) extends LazyModule managerFn = { case Seq(mp) => mp.copy(managers = mp.managers.map { m => val filtered = m.address.map(_.intersect(select)).flatten - val cap = TransferSizes(1, select.alignment.toInt) + val alignment = select.alignment /* alignment 0 means 'select' selected everything */ + val maxTransfer = 1 << 30 + val capTransfer = if (alignment == 0 || alignment > maxTransfer) maxTransfer else alignment.toInt + val cap = TransferSizes(1, capTransfer) if (filtered.isEmpty) { None } else { Some(m.copy( address = filtered,