Update docs

This commit is contained in:
Hansung Kim
2023-11-08 14:02:25 -08:00
parent 571d33a5de
commit 2f205be702

View File

@@ -274,11 +274,12 @@ class SourceGenerator[T <: Data](
val gen = Input(Bool()) val gen = Input(Bool())
val reclaim = Input(Valid(UInt(sourceWidth.W))) val reclaim = Input(Valid(UInt(sourceWidth.W)))
val id = Output(Valid(UInt(sourceWidth.W))) val id = Output(Valid(UInt(sourceWidth.W)))
// below are used only when metadata is not None // Below are used only when metadata is not None
//
// `meta` is used as input when a request succeeds id generation to store // `meta` is used as input when a request succeeds id generation to store
// its value to the table. // its value to the table.
// `peek` is the retrieved metadata saved for the request when corresponding // `peek` is the retrieved metadata saved for the request when
// request has come back, setting `reclaim`. // corresponding request has come back, setting `reclaim`.
// Although these do not use ValidIO, it is safe because any in-flight // Although these do not use ValidIO, it is safe because any in-flight
// response coming back should have allocated a valid entry in the table // response coming back should have allocated a valid entry in the table
// when it went out. // when it went out.
@@ -390,7 +391,7 @@ class CoalShiftQueue[T <: Data](gen: T, entries: Int, config: CoalescerConfig)
} }
.reduce(_ || _) .reduce(_ || _)
val syncedEnqValid = io.queue.enq.map(_.valid).reduce(_ || _) val syncedEnqValid = io.queue.enq.map(_.valid).reduce(_ || _)
// valid && !fire means we enable enqueueing to a full queue, provided the // valid && !ready means we enable enqueueing to a full queue, provided the
// arbiter is taking away all remaining valid queue heads in the next cycle so // arbiter is taking away all remaining valid queue heads in the next cycle so
// that we make space for the entire next warp. // that we make space for the entire next warp.
val syncedDeqValidNextCycle = val syncedDeqValidNextCycle =
@@ -1113,6 +1114,7 @@ class Uncoalescer(
val inflightLookup = Flipped(Decoupled(inflightEntryT)) val inflightLookup = Flipped(Decoupled(inflightEntryT))
val coalResp = Flipped(Decoupled(new CoalescedResponse(config))) val coalResp = Flipped(Decoupled(new CoalescedResponse(config)))
val respQueueIO = Vec(config.numLanes, val respQueueIO = Vec(config.numLanes,
// FIXME: does this have to be respQueueDepth?
Vec(config.reqQueueDepth, Decoupled(new NonCoalescedResponse(config))) Vec(config.reqQueueDepth, Decoupled(new NonCoalescedResponse(config)))
) )
}) })
@@ -1178,11 +1180,11 @@ class Uncoalescer(
} }
} }
// InflightCoalReqTable is a table structure that records // InflightCoalReqTable is a table structure that records for each unanswered
// for each unanswered coalesced request which lanes the request originated // coalesced request which lanes the request originated from, what their
// from, what their original TileLink sourceId were, etc. We use this info to // original TileLink sourceId were, etc. We use this info to split the
// split the coalesced response back to individual per-lane responses with the // coalesced response back to individual per-lane responses with the right
// right metadata. // metadata.
class InFlightTable( class InFlightTable(
config: CoalescerConfig, config: CoalescerConfig,
nonCoalReqT: NonCoalescedRequest, nonCoalReqT: NonCoalescedRequest,