Remove old fixmes and todos

This commit is contained in:
Hansung Kim
2023-05-28 22:59:18 -07:00
parent 74a8a81f82
commit bcb11ee0fb

View File

@@ -811,11 +811,6 @@ class CoalescingUnitImp(outer: CoalescingUnit, config: CoalescerConfig)
req.address := tlIn.a.bits.address req.address := tlIn.a.bits.address
req.data := tlIn.a.bits.data req.data := tlIn.a.bits.data
req.size := tlIn.a.bits.size req.size := tlIn.a.bits.size
// FIXME: req.data is still containing TL-aligned data. This is fine if
// we're simply passing through this data out the other end, but not if
// the outgoing TL edge (tlOut) has different data width from the incoming
// edge (tlIn). Possible TODO to only store the relevant portion of the
// data, at the cost of re-aligning at the outgoing end.
req.mask := tlIn.a.bits.mask req.mask := tlIn.a.bits.mask
val enq = reqQueues.io.queue.enq(lane) val enq = reqQueues.io.queue.enq(lane)
@@ -1077,12 +1072,13 @@ class Uncoalescer(
val ioEnq = ioEnqs(depth) val ioEnq = ioEnqs(depth)
// TODO: rather than crashing, deassert tlOut.d.ready to stall downtream // TODO: rather than crashing, deassert tlOut.d.ready to stall downtream
// cache. This should ideally not happen though. // cache. This should ideally not happen though (and hasn't happened yet
// in testing.)
assert( assert(
ioEnq.ready, ioEnq.ready,
s"respQueue: enq port for ${depth}-th uncoalesced response is blocked for lane ${lane}" s"respQueue: enq port for ${depth}-th uncoalesced response is blocked for lane ${lane}"
) )
// TODO: spatial-only coalescing: only looking at 0th srcId entry // spatial-only coalescing: only looking at 0th srcId entry
ioEnq.valid := false.B ioEnq.valid := false.B
ioEnq.bits := DontCare ioEnq.bits := DontCare
// debug // debug
@@ -1228,7 +1224,6 @@ class InFlightTable(
val enqFire = enqReady && io.inCoalReq.valid && io.outCoalReq.ready val enqFire = enqReady && io.inCoalReq.valid && io.outCoalReq.ready
val enqSource = io.inCoalReq.bits.source val enqSource = io.inCoalReq.bits.source
when(enqFire) { when(enqFire) {
// TODO: handle enqueueing and looking up the same entry in the same cycle?
val entryToWrite = table(enqSource) val entryToWrite = table(enqSource)
assert( assert(
!entryToWrite.valid, !entryToWrite.valid,
@@ -1346,7 +1341,7 @@ trait HasTraceLine {
class TraceLine extends Bundle with HasTraceLine { class TraceLine extends Bundle with HasTraceLine {
val valid = Bool() val valid = Bool()
val source = UInt(32.W) val source = UInt(32.W)
val address = UInt(64.W) // FIXME: in Verilog this is the same as data width val address = UInt(64.W)
val is_store = Bool() val is_store = Bool()
val size = UInt(8.W) // this is log2(bytesize) as in TL A bundle val size = UInt(8.W) // this is log2(bytesize) as in TL A bundle
val data = UInt(64.W) val data = UInt(64.W)
@@ -2030,11 +2025,12 @@ class TLRAMCoalescerLoggerTest(filename: String, timeout: Int = 500000)(implicit
// tracedriver --> coalescer --> tlram // tracedriver --> coalescer --> tlram
class TLRAMCoalescer(implicit p: Parameters) extends LazyModule { class TLRAMCoalescer(implicit p: Parameters) extends LazyModule {
// TODO: use parameters for numLanes val numLanes = p(SIMTCoreKey).get.nLanes
val numLanes = 4 val config = defaultConfig.copy(numLanes = numLanes)
val filename = "vecadd.core1.thread4.trace" val filename = "vecadd.core1.thread4.trace"
val coal = LazyModule(new CoalescingUnit(defaultConfig)) val coal = LazyModule(new CoalescingUnit(config))
val driver = LazyModule(new MemTraceDriver(defaultConfig, filename)) val driver = LazyModule(new MemTraceDriver(config, filename))
val rams = Seq.fill(numLanes + 1)( // +1 for coalesced edge val rams = Seq.fill(numLanes + 1)( // +1 for coalesced edge
LazyModule( LazyModule(
// NOTE: beatBytes here sets the data bitwidth of the upstream TileLink // NOTE: beatBytes here sets the data bitwidth of the upstream TileLink
@@ -2042,7 +2038,7 @@ class TLRAMCoalescer(implicit p: Parameters) extends LazyModule {
// parameters to the upstream nodes. // parameters to the upstream nodes.
new TLRAM( new TLRAM(
address = AddressSet(0x0000, 0xffffff), address = AddressSet(0x0000, 0xffffff),
beatBytes = (1 << defaultConfig.dataBusWidth) beatBytes = (1 << config.dataBusWidth)
) )
) )
) )