Commit Graph

278 Commits

Author SHA1 Message Date
Hansung Kim
da3cfa9bd9 Minor doc 2023-05-21 11:21:51 -07:00
Hansung Kim
5491491a6b Fix newSrcId truncation in InFlightTableEntry 2023-05-21 02:50:04 -07:00
Hansung Kim
1d6d35233f Move multi-beat warning to inside param class
This really means mis-configuration, which makes sense to handle inside
the param class.
2023-05-20 00:44:56 -07:00
Hansung Kim
7c7752a5a2 Disable uncoalescer unit test temporarily 2023-05-20 00:23:18 -07:00
Hansung Kim
1243fd75a2 Fix old param name in XBarUnitTest 2023-05-20 00:22:40 -07:00
Hansung Kim
2a0fd24d17 Make SourceGenerator do CAM search for lowest-index free slot
Reduces unnecessary stalls waiting for the next round-robin index to be
reclaimed.
2023-05-19 23:52:35 -07:00
Vamber Yang
9ecace676c Add useful error msg 2023-05-19 17:47:40 -07:00
Vamber Yang
0d96d81968 Make numOldSrcIds and numNewSrcIds parameters of SoC 2023-05-19 17:47:18 -07:00
Vamber Yang
ab3ce82aff Fixed MemTracerDriverImpr to generate the last request when SimMemTrace outputs finished signal 2023-05-19 05:03:24 -07:00
Vamber Yang
d88a734aee Fixed MemTracerDriverImp to only terminate when all outstanding reqs are reclaimed
This is for slightly more accurate perf numbers.
2023-05-19 03:50:39 -07:00
Vamber Yang
d234b8c09a Add RTL for Coalescer Priority XBar and relevant keys&configs for SoC Integration 2023-05-16 20:32:04 -07:00
Vamber Yang
ebf81babc1 Modified WithCoalescer to dynamically configure databusWidth and MaxCoalSize according to underlying SoC setting,
This makes running perf numbers easier
2023-05-16 05:59:41 -07:00
Hansung Kim
148e2550fa Propagate sourceGen backpressure into MultiCoalescer 2023-05-16 00:24:26 -07:00
Hansung Kim
3549f62e55 Fix sourcegen update logic for coalReq 2023-05-15 23:13:45 -07:00
Hansung Kim
869c6c9f9c Fix backpressure for coalReq not being respected
... due to coalReq.ready being set at the wrong place;
needs to be set at the output of CoalSourceGen, instead of
MultiCoalescer or Uncoalescer.
2023-05-15 22:22:52 -07:00
Hansung Kim
7b5ea31cdf Fix wrong uncoalescer valid 2023-05-15 21:16:14 -07:00
Hansung Kim
d8cd2eae75 Fix size truncation in CoalescedRequest 2023-05-15 20:42:59 -07:00
Hansung Kim
6660775956 Synchronize requests across lanes from MemTraceDriver
Otherwise memtrace driver might send single-warp requests split into
multiple cycles, and coalescer (CoalShiftQueue) thinks they belong to
different warps.
2023-05-14 22:02:23 -07:00
Hansung Kim
64de77d350 Enable memtrace logger in SoC config 2023-05-14 19:21:08 -07:00
Hansung Kim
e7b3455127 Disable coverage policy for easier eval 2023-05-14 19:20:36 -07:00
Hansung Kim
9fd507fe46 Connect to response queue internally in Uncoalescer
Cleaner IO at toplevel.  Breaks unit tests though.
2023-05-14 16:26:39 -07:00
Hansung Kim
d8e9dab329 Separate sourcegen for coalesced req for clearer dataflow
Fixes 'same lookup and enq source ID' error in uncoalescer.
2023-05-14 16:10:01 -07:00
Hansung Kim
e02e4ca500 Handle backpressure from CoalescerNode
Now do proper sourcegen for the tlCoal edge that's coming out
of the coalescer manager node.  This also prevents inflight table from
being full.

This means we move setting source ID of coalReq to outside the
coalescer, because sourceGen needs looking into response bits as well,
which is easier to do outside coalescer at the toplevel.

FIXME: coalescer unit test is still broken.
2023-05-12 01:15:28 -07:00
Hansung Kim
7e6ebb9e35 Create SoC-integrated Config for Coalescer
This requires config.addressWidth to be increased to 32.
FIXME: This breaks CoalescerUnitTest with unsatisfied requirement
`Link's max transfer (8) < List<...>'s beatBytes (32)`.
2023-05-12 01:15:28 -07:00
Richard Yan
80ffc6cc73 write striping across banks 2023-05-12 00:31:28 -07:00
Richard Yan
4e4b993287 Merge branch 'graphics' of https://github.com/hansungk/rocket-chip into graphics 2023-05-11 21:50:42 -07:00
Hansung Kim
9b7080a852 Delete old inflight table unittest 2023-05-11 18:50:47 -07:00
Hansung Kim
226e1d2d84 Fix uncoalescer unittest even more 2023-05-11 18:36:09 -07:00
Hansung Kim
b95b59cce0 Fix uncoalescer unittest 2023-05-11 18:30:15 -07:00
Hansung Kim
df68bfec84 Remove module dependency for uncoalescer instantiation
for easier unittesting. now builds.
2023-05-11 18:20:19 -07:00
Richard Yan
f0a7fd852a WIP bank striping 2023-05-11 18:12:25 -07:00
Hansung Kim
0df3192882 Revamp uncoalescer IO
Connect coalescer output directly to the uncoalescer at the toplevel, and do
table entry construction entirely inside the module.
WIP: unittest is very broken as a result of this.
2023-05-11 17:31:51 -07:00
Hansung Kim
772deda9c2 Fix ChiselEnum experimental warning 2023-05-11 16:20:01 -07:00
Hansung Kim
0c8909cb43 scalafmt 2023-05-11 16:11:39 -07:00
Hansung Kim
7fa6be4a8b Use case class for noncoal/coal bundles
don't know what they really do, but they look fancy
2023-05-11 15:56:30 -07:00
Hansung Kim
406f90b633 De-duplicate equivalent Request bundles using NonCoal/Coal variants 2023-05-11 15:55:15 -07:00
Hansung Kim
5fed3ef823 Generalize Req/RespQueueEntry into Response/Request bundle 2023-05-11 15:42:23 -07:00
Hansung Kim
300eff4f9a Fix misleading maxSize param in Req/RespQueueEntry 2023-05-10 23:25:57 -07:00
Vamber Yang
4f31cad513 Merge remote-tracking branch 'origin/graphics' into local-dev-branch 2023-05-10 19:02:16 -07:00
Vamber Yang
1633371f6f Coalescer XBar, a design overhaul from CoalArbiter, the best way to implement the 'arbiter' functionality is to implement as a TLXbar with different arbitration policy (RR + PO) 2023-05-10 18:59:36 -07:00
Hansung Kim
b48ab70e67 Fix assertion falsely firing on invalid 2023-05-10 00:26:25 -07:00
Hansung Kim
19d378dc3a Fix sourceGen unasserted firrtl error 2023-05-10 00:13:04 -07:00
Hansung Kim
6032d79ead Implement proper source gen 2023-05-09 23:46:11 -07:00
Hansung Kim
1886aefcc1 Parameterize tracefile has_source from Config 2023-05-09 22:22:27 -07:00
Hansung Kim
89398cdc3d Fix CanHaveMemtraceCore not setting numLane 2023-05-09 19:02:03 -07:00
Hansung Kim
2ade624343 Fix backpressure handling in MemTraceDriver when attached to SoC 2023-05-09 17:54:39 -07:00
Hansung Kim
f52492c56b Create separate config for memtrace core 2023-05-09 13:07:45 -07:00
Richard Yan
7bd9fd43f8 Merge branch 'graphics' of https://github.com/hansungk/rocket-chip into graphics 2023-05-09 09:37:59 -07:00
Richard Yan
bce2c6230f more test fixes 2023-05-09 09:36:29 -07:00
Hansung Kim
9059d1e436 Misc doc 2023-05-08 20:35:40 -07:00