make sure correct addr_beat is sent for Get response by narrower/converter
This commit is contained in:
		| @@ -1426,6 +1426,7 @@ class ClientTileLinkIOUnwrapper(implicit p: Parameters) extends TLModule()(p) { | ||||
| } | ||||
|  | ||||
| class NastiIOTileLinkIOConverterInfo(implicit p: Parameters) extends TLBundle()(p) { | ||||
|   val addr_beat = UInt(width = tlBeatAddrBits) | ||||
|   val byteOff = UInt(width = tlByteAddrBits) | ||||
|   val subblock = Bool() | ||||
| } | ||||
| @@ -1488,6 +1489,7 @@ class NastiIOTileLinkIOConverter(implicit p: Parameters) extends TLModule()(p) | ||||
|  | ||||
|   roq.io.enq.valid := get_helper.fire(roq.io.enq.ready) | ||||
|   roq.io.enq.bits.tag := io.nasti.ar.bits.id | ||||
|   roq.io.enq.bits.data.addr_beat := io.tl.acquire.bits.addr_beat | ||||
|   roq.io.enq.bits.data.byteOff := io.tl.acquire.bits.addr_byte() | ||||
|   roq.io.enq.bits.data.subblock := is_subblock | ||||
|   roq.io.deq.valid := io.nasti.r.fire() && (nasti_wrap_out || roq.io.deq.data.subblock) | ||||
| @@ -1546,7 +1548,7 @@ class NastiIOTileLinkIOConverter(implicit p: Parameters) extends TLModule()(p) | ||||
|       Grant.getDataBeatType, Grant.getDataBlockType), | ||||
|     client_xact_id = io.nasti.r.bits.id, | ||||
|     manager_xact_id = UInt(0), | ||||
|     addr_beat = tl_cnt_in, | ||||
|     addr_beat = Mux(roq.io.deq.data.subblock, roq.io.deq.data.addr_beat, tl_cnt_in), | ||||
|     data = r_aligned_data) | ||||
|  | ||||
|   gnt_arb.io.in(1).valid := io.nasti.b.valid | ||||
| @@ -1749,7 +1751,7 @@ class TileLinkIONarrower(innerTLId: String, outerTLId: String) | ||||
|       g_type = Grant.getDataBeatType, | ||||
|       client_xact_id = ognt.client_xact_id, | ||||
|       manager_xact_id = ognt.manager_xact_id, | ||||
|       addr_beat = ognt.addr_beat, | ||||
|       addr_beat = ognt.addr_beat >> UInt(log2Up(factor)), | ||||
|       data = ognt.data << get_grant_shift)(innerConfig) | ||||
|  | ||||
|     io.in.grant.valid := sending_get || (io.out.grant.valid && !ognt_block) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user