1
0

tilelink2 WidthWidget: Gets must have their mask adjusted (#353)

The mask of a Get should also be converted.

This manifested as a bug when going from 32=>64 bits. A large Get
could end up with mask that was not full.
This commit is contained in:
Wesley W. Terpstra 2016-09-27 14:06:02 -07:00 committed by Henry Cook
parent 71a9c78e4b
commit 357d06ac9c

View File

@ -65,7 +65,8 @@ class TLWidthWidget(innerBeatBytes: Int) extends LazyModule
}
val dataOut = if (edgeIn.staticHasData(in.bits) == Some(false)) UInt(0) else dataMux(size)
val maskOut = maskMux(size) & edgeOut.mask(addr_lo, size)
val maskFull = edgeOut.mask(addr_lo, size)
val maskOut = Mux(hasData, maskMux(size) & maskFull, maskFull)
in.ready := out.ready || !last
out.valid := in.valid && last