workaround for Chisel3 name-aliasing issue
This commit is contained in:
parent
8e7f18084b
commit
3d990bdbef
@ -625,9 +625,9 @@ class L2AcquireTracker(trackerId: Int)(implicit p: Parameters) extends L2XactTra
|
|||||||
val xact_op_code = Reg{ UInt() }
|
val xact_op_code = Reg{ UInt() }
|
||||||
val xact_addr_byte = Reg{ UInt() }
|
val xact_addr_byte = Reg{ UInt() }
|
||||||
val xact_op_size = Reg{ UInt() }
|
val xact_op_size = Reg{ UInt() }
|
||||||
val xact_vol_irel_r_type = Reg{ io.irel().r_type }
|
val xact_vol_ir_r_type = Reg{ io.irel().r_type }
|
||||||
val xact_vol_irel_src = Reg{ io.irel().client_id }
|
val xact_vol_ir_src = Reg{ io.irel().client_id }
|
||||||
val xact_vol_irel_client_xact_id = Reg{ io.irel().client_xact_id }
|
val xact_vol_ir_client_xact_id = Reg{ io.irel().client_xact_id }
|
||||||
|
|
||||||
// Miss queue holds transaction metadata used to make grants
|
// Miss queue holds transaction metadata used to make grants
|
||||||
val ignt_q = Module(new Queue(
|
val ignt_q = Module(new Queue(
|
||||||
@ -639,10 +639,10 @@ class L2AcquireTracker(trackerId: Int)(implicit p: Parameters) extends L2XactTra
|
|||||||
val xact_addr_idx = xact_addr_block(idxMSB,idxLSB)
|
val xact_addr_idx = xact_addr_block(idxMSB,idxLSB)
|
||||||
val xact_addr_tag = xact_addr_block >> UInt(tagLSB)
|
val xact_addr_tag = xact_addr_block >> UInt(tagLSB)
|
||||||
val xact_vol_irel = Release(
|
val xact_vol_irel = Release(
|
||||||
src = xact_vol_irel_src,
|
src = xact_vol_ir_src,
|
||||||
voluntary = Bool(true),
|
voluntary = Bool(true),
|
||||||
r_type = xact_vol_irel_r_type,
|
r_type = xact_vol_ir_r_type,
|
||||||
client_xact_id = xact_vol_irel_client_xact_id,
|
client_xact_id = xact_vol_ir_client_xact_id,
|
||||||
addr_block = xact_addr_block)
|
addr_block = xact_addr_block)
|
||||||
(p.alterPartial({ case TLId => p(InnerTLId) }))
|
(p.alterPartial({ case TLId => p(InnerTLId) }))
|
||||||
|
|
||||||
@ -876,9 +876,9 @@ class L2AcquireTracker(trackerId: Int)(implicit p: Parameters) extends L2XactTra
|
|||||||
updatePendingCohWhen(io.inner.release.fire(), pending_coh_on_irel)
|
updatePendingCohWhen(io.inner.release.fire(), pending_coh_on_irel)
|
||||||
mergeDataInner(io.inner.release)
|
mergeDataInner(io.inner.release)
|
||||||
when(io.inner.release.fire() && irel_can_merge) {
|
when(io.inner.release.fire() && irel_can_merge) {
|
||||||
xact_vol_irel_r_type := io.irel().r_type
|
xact_vol_ir_r_type := io.irel().r_type
|
||||||
xact_vol_irel_src := io.irel().client_id
|
xact_vol_ir_src := io.irel().client_id
|
||||||
xact_vol_irel_client_xact_id := io.irel().client_xact_id
|
xact_vol_ir_client_xact_id := io.irel().client_xact_id
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle misses or coherence permission upgrades by initiating a new transaction in the outer memory:
|
// Handle misses or coherence permission upgrades by initiating a new transaction in the outer memory:
|
||||||
@ -1112,19 +1112,19 @@ class L2WritebackUnit(trackerId: Int)(implicit p: Parameters) extends L2XactTrac
|
|||||||
|
|
||||||
val xact = Reg(new L2WritebackReq)
|
val xact = Reg(new L2WritebackReq)
|
||||||
val data_buffer = Reg(init=Vec.fill(innerDataBeats)(UInt(0, width = innerDataBits)))
|
val data_buffer = Reg(init=Vec.fill(innerDataBeats)(UInt(0, width = innerDataBits)))
|
||||||
val xact_vol_irel_r_type = Reg{ io.irel().r_type }
|
val xact_vol_ir_r_type = Reg{ io.irel().r_type }
|
||||||
val xact_vol_irel_src = Reg{ io.irel().client_id }
|
val xact_vol_ir_src = Reg{ io.irel().client_id }
|
||||||
val xact_vol_irel_client_xact_id = Reg{ io.irel().client_xact_id }
|
val xact_vol_ir_client_xact_id = Reg{ io.irel().client_xact_id }
|
||||||
|
|
||||||
val xact_addr_block = if (cacheIdBits == 0)
|
val xact_addr_block = if (cacheIdBits == 0)
|
||||||
Cat(xact.tag, xact.idx)
|
Cat(xact.tag, xact.idx)
|
||||||
else
|
else
|
||||||
Cat(xact.tag, xact.idx, UInt(cacheId, cacheIdBits))
|
Cat(xact.tag, xact.idx, UInt(cacheId, cacheIdBits))
|
||||||
val xact_vol_irel = Release(
|
val xact_vol_irel = Release(
|
||||||
src = xact_vol_irel_src,
|
src = xact_vol_ir_src,
|
||||||
voluntary = Bool(true),
|
voluntary = Bool(true),
|
||||||
r_type = xact_vol_irel_r_type,
|
r_type = xact_vol_ir_r_type,
|
||||||
client_xact_id = xact_vol_irel_client_xact_id,
|
client_xact_id = xact_vol_ir_client_xact_id,
|
||||||
addr_block = xact_addr_block)
|
addr_block = xact_addr_block)
|
||||||
|
|
||||||
val pending_irels = connectTwoWayBeatCounter(
|
val pending_irels = connectTwoWayBeatCounter(
|
||||||
@ -1189,9 +1189,9 @@ class L2WritebackUnit(trackerId: Int)(implicit p: Parameters) extends L2XactTrac
|
|||||||
xact.coh := pending_coh_on_irel
|
xact.coh := pending_coh_on_irel
|
||||||
when(io.irel().hasData()) { data_buffer(io.irel().addr_beat) := io.irel().data }
|
when(io.irel().hasData()) { data_buffer(io.irel().addr_beat) := io.irel().data }
|
||||||
when(irel_can_merge) {
|
when(irel_can_merge) {
|
||||||
xact_vol_irel_r_type := io.irel().r_type
|
xact_vol_ir_r_type := io.irel().r_type
|
||||||
xact_vol_irel_src := io.irel().client_id
|
xact_vol_ir_src := io.irel().client_id
|
||||||
xact_vol_irel_client_xact_id := io.irel().client_xact_id
|
xact_vol_ir_client_xact_id := io.irel().client_xact_id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user