Commit Graph

65 Commits

Author SHA1 Message Date
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
406f90b633 De-duplicate equivalent Request bundles using NonCoal/Coal variants 2023-05-11 15:55:15 -07:00
Hansung Kim
300eff4f9a Fix misleading maxSize param in Req/RespQueueEntry 2023-05-10 23:25:57 -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
2d4e28e862 Use WithoutTLMonitors to slightly speed up chiseltests 2023-05-08 14:38:15 -07:00
Hansung Kim
737a760fcd Enable coverage tests for chiseltest 2023-05-07 22:58:20 -07:00
Hansung Kim
a6dbfc3901 Fix config for unittest 2023-05-07 18:38:23 -07:00
Richard Yan
d2e56be157 update unit tests for new timing behavior & config 2023-05-07 14:35:53 -07:00
Richard Yan
86e7d3d60d numerous coalescer bug fixes + working unit test 2023-05-07 02:31:28 -07:00
Hansung Kim
42b03edbf7 Update import path to cde to reflect upstream changes 2023-05-05 14:51:13 -07:00
Hansung Kim
1fa2e36740 Add global enable to coalescer config 2023-05-04 16:38:38 -07:00
Richard Yan
ebd6c54d67 tl graph changes, coalescer bug fixes & coalescer unit test 2023-05-03 17:58:25 -07:00
Richard Yan
459c14bb62 add testing infrastructure for coalescing unit 2023-05-02 17:38:49 -07:00
Richard Yan
997b421c42 active byte lane implementation for multi coalescer & add one shift queue test 2023-05-02 00:07:45 -07:00
Richard Yan
6757ea1bbd shift queue bug fixes + new unit test 2023-05-01 00:51:31 -07:00
Richard Yan
55b2f7c33f reworked shift queue 2023-04-30 17:59:10 -07:00
Richard Yan
12d2912368 Merge branch 'graphics' of https://github.com/hansungk/rocket-chip into graphics 2023-04-28 20:51:08 -07:00
Richard Yan
c655874470 width widget in DummyCoalescingUnitTB 2023-04-28 20:47:47 -07:00
Hansung Kim
fec788d648 Invalidate head when dequeued but allowShift was false 2023-04-28 15:46:45 -07:00
Hansung Kim
a49931ae60 Add invalidate/enq test case for depth=1 CoalShiftQueue 2023-04-28 15:08:39 -07:00
Hansung Kim
44d3c09b6d Fix used bit logic when invalidating but not dequeueing 2023-04-28 14:58:47 -07:00
Hansung Kim
2622bf04d3 Add allowShift to CoalShiftQueue IO to synchronize shifting 2023-04-28 14:12:51 -07:00
Hansung Kim
f7bf277e89 Fix unittest for CoalShiftQueue deq.valid change 2023-04-28 00:50:34 -07:00
Hansung Kim
b5b1a7da66 Add uncoalescer test case for all-lane-same-offset case 2023-04-27 21:53:36 -07:00
Hansung Kim
edc05d51e6 Fix not respecting invalidate.valid from coalescer 2023-04-27 21:35:26 -07:00
Hansung Kim
699520073e Make maxSize accessor function 2023-04-27 20:34:20 -07:00
Hansung Kim
ba2bc3020b Fix truncation bug in matchCount 2023-04-27 20:24:15 -07:00
Hansung Kim
84ac332637 Add chiseltest for stride = 0 2023-04-27 19:51:17 -07:00
Hansung Kim
7780250c7a More comments & renames 2023-04-27 19:17:07 -07:00
Richard Yan
900f5adb20 running coalescing flow 2023-04-26 01:23:21 -07:00
Richard Yan
99348e1e40 mostly running coalescing test 2023-04-25 02:50:14 -07:00
Richard Yan
3a0fdb2c67 WIP diplomacy set up for coal unit test 2023-04-25 02:26:13 -07:00
Richard Yan
be40c77d06 merge graphics 2023-04-25 00:10:51 -07:00
Richard Yan
37620400db WIP coalescing flow test 2023-04-25 00:09:23 -07:00
Hansung Kim
31e04e9402 Fix CoalShiftQueue invalidate logic
IO type change to Valid[UInt] was not reflected in the valid bit logic.
2023-04-24 14:01:39 -07:00
Hansung Kim
7539c39c45 Store SizeEnum in entry instead of UInt 2023-04-23 22:34:19 -07:00
Hansung Kim
0f2e4ee8aa Store UInt instead of ChiselEnum in entry; pass tests
Scala isn't happy with storing ChiselEnum type for some reason
2023-04-23 15:28:12 -07:00
Hansung Kim
8cee61a591 Uncoalesce using table size enum 2023-04-23 14:42:10 -07:00
Hansung Kim
ccf9b95fb5 Create custom response bundle to decouple from TileLink
... and easier unit testing.
2023-04-23 13:37:10 -07:00
Hansung Kim
6ae08b6541 Add missing sizeWidth to uncoalescer test 2023-04-21 11:24:57 -07:00
Hansung Kim
de6d6eee1a Fix request shift queue not enqueuing when empty
The queue was enabling shifting of the registers whenever deq.ready
was 1, even when the queue was empty.  This caused `wen` to disable
writing enq.bits to any of the entries in the queue.  Fixed by setting
`shift` to 0 when queue is empty.
2023-04-20 21:12:19 -07:00
Hansung Kim
abecd30b2b Store sourceId for every old req entry in table 2023-04-07 14:50:40 -07:00
Hansung Kim
d62732fb89 Invalidate outgoing per-lane requests that got coalesced
Now the response queue no longer blocks the flow!
2023-04-01 14:33:46 -07:00