tilelink2 Fragmenter: Mask low bits of D channel addr_lo
This fixes an issue where passing addr_lo through unchanged triggered unaligned address assertions in the Monitor.
This commit is contained in:
parent
cd96a66ba6
commit
d76b762657
@ -168,6 +168,7 @@ class TLFragmenter(minSize: Int, maxSize: Int, alwaysMin: Boolean = false) exten
|
|||||||
out.d.ready := in.d.ready || drop
|
out.d.ready := in.d.ready || drop
|
||||||
in.d.valid := out.d.valid && !drop
|
in.d.valid := out.d.valid && !drop
|
||||||
in.d.bits := out.d.bits // pass most stuff unchanged
|
in.d.bits := out.d.bits // pass most stuff unchanged
|
||||||
|
in.d.bits.addr_lo := out.d.bits.addr_lo & ~dsizeOH1
|
||||||
in.d.bits.source := out.d.bits.source >> fragmentBits
|
in.d.bits.source := out.d.bits.source >> fragmentBits
|
||||||
in.d.bits.size := Mux(dFirst, dFirst_size, dOrig)
|
in.d.bits.size := Mux(dFirst, dFirst_size, dOrig)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user