Hansung Kim
f7bf277e89
Fix unittest for CoalShiftQueue deq.valid change
2023-04-28 00:50:34 -07:00
Hansung Kim
ec5c6ce08b
Properly copy over queue data to inflight entry
2023-04-28 00:50:19 -07:00
Hansung Kim
16c8eb2ada
Fix old request not being invalidated; end-to-end flow working
2023-04-27 21:54:02 -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
7f821a66f5
First attempt at hooking up coalescer to uncoalescer
2023-04-27 21:19:56 -07:00
Hansung Kim
dfdd4f8342
Redundant call syntax
2023-04-27 20:36:04 -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
Hansung Kim
4c1ae1cb3d
More debug prints
2023-04-25 19:15:28 -07:00
Hansung Kim
ef25c8a3f0
Fix matchCount having bit width of 1 for spatial-only
2023-04-25 18:46:26 -07:00
Hansung Kim
2090b8703e
Rename params
2023-04-25 17:16:28 -07:00
Hansung Kim
33f7adb5eb
Make separate param for response depth queue
...
This is not necessarily the same as NUM_NEW_IDS, the latter determines
the inflight coalescing table size but not the response queues.
2023-04-25 17:09:46 -07:00
Hansung Kim
980c77a8fa
Renames
2023-04-25 16:55:59 -07:00
Hansung Kim
9000577f45
Add assertions for queue drift
2023-04-25 14:36:52 -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
Richard Yan
5d105b36c5
Merge branch 'richard-dev' into graphics
2023-04-23 21:34:52 -07:00
Richard Yan
a872856263
quick coalescer connection fix
2023-04-23 21:31:25 -07:00
Richard Yan
7663a03a8c
coalescer implementation passing compilation
2023-04-23 21:29:07 -07:00
Hansung Kim
c21a196907
scalafmt
2023-04-23 20:56:55 -07:00
Richard Yan
647d7b8628
WIP multi-coalescer
2023-04-23 20:31:54 -07:00
Richard Yan
bac8916ba1
mono coalescer implementation
2023-04-23 15:55:46 -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
4d16ec9b08
Allow trace driver to make double-word reqs
...
This is mostly for testing purposes.
2023-04-23 12:24:26 -07:00
Hansung Kim
a7baf57e49
Left out fix
2023-04-23 12:09:47 -07:00
Hansung Kim
a71c0aed73
Don't set default filename in class initializers
2023-04-23 12:07:52 -07:00
Hansung Kim
b6115cc394
Fix generating PutPartialData from toTLA
...
Including mask in the argument calls the method override that generates
PutPartialData.
2023-04-23 11:53:42 -07:00
Hansung Kim
0c0a8ec553
SimMemTraceLogger: store handle in class
2023-04-23 11:27:06 -07:00
Richard Yan
a84757f8f8
restructure parameters into config object && cleanup
2023-04-23 03:09:20 -07:00
Richard Yan
d28216182c
merge graphics
2023-04-23 00:54:24 -07:00
Richard Yan
684f732a9a
it compiles (& coal gen reorg)
2023-04-23 00:41:35 -07:00
Hansung Kim
2a82e8d119
Fix TL data mask stencil logic in MemTraceLogger
2023-04-23 00:39:59 -07:00
Hansung Kim
6cd27faed2
Respect old req size in uncoalescer
2023-04-22 23:04:47 -07:00
Richard Yan
85e3a6a940
somehow merged
2023-04-22 21:56:57 -07:00
Richard Yan
b895d304bb
pre-merge
2023-04-22 21:28:38 -07:00
Hansung Kim
90a797e71a
Make MemTraceDriver generate word-sized requests
...
Try to model the core's behavior which accesses cache in word granularity. This
also simplifies the coalescer design as coalescer no longer needs to uncoalesce
response data chunk into single bytes (and therefore fewer muxes).
2023-04-22 21:04:45 -07:00
Hansung Kim
c5d722112b
Make word size global object
2023-04-22 14:58:02 -07:00
Hansung Kim
8a7e6f1391
Replace hardcoded trace widths with proper params
2023-04-21 18:20:16 -07:00
Hansung Kim
bbe62a8583
Properly count per-lane req/resps
2023-04-21 17:24:43 -07:00
Hansung Kim
db06bda674
Count req/resp lines and bytes to coalescer and test match
...
Note total bytes in requests and responses (i.e. traffic) don't
need to match because of redundant requests to the same address may get
coalesced.
2023-04-21 16:49:19 -07:00