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
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
Hansung Kim
fd0d09691b
Create separate Configs for synthesizable dummy testbenches
2023-05-08 17:51:24 -07:00
Hansung Kim
f6be54a122
Set up proper Config system for numLanes
...
TODO: tracefilename should not really be inside SIMTCoreParam.
2023-05-08 17:34:29 -07:00
Vamber Yang
25c0b6cfa5
CoalArbiter RTL written, verification WIP, merged changes from graphics
2023-05-08 16:57:26 -07:00
Vamber Yang
9c2a55ae79
CoalArbiter RTL implementation first draft, verification WIP
2023-05-08 16:52:45 -07:00
Hansung Kim
3fae0b2c7a
Use priority encoder for chooseLeaderIdx
2023-05-08 15:18:45 -07:00
Hansung Kim
2d4e28e862
Use WithoutTLMonitors to slightly speed up chiseltests
2023-05-08 14:38:15 -07:00
Hansung Kim
54a3e3cf72
Initiate memtrace DPI only when trace_read_ready
...
This is required because otherwise we might overwrite into
the Verilog registers that contain a valid trace line that
was missed by downstream when it was not ready. Basically
whenever trace_read_cycle stalls, we also want to stall
__in_* registers.
2023-05-08 14:34:52 -07:00
Hansung Kim
2e219ea15a
Connect CoalShiftQueue enq.ready to upstream TL.ready
...
Now CoalShiftQueue can properly stall memtrace driver.
2023-05-08 14:27:54 -07:00
Hansung Kim
8cdbc81bdd
Only write in MemTraceLogger when TL fire
...
Without this we log extraneous lines that were valid but not transacted with the
downstream as it was not ready, which affects validity of memtrace testing.
2023-05-08 14:26:05 -07:00
Hansung Kim
6755cb3eec
Lax traceReadCycle advancing logic
...
Trying to advance trace cycle while downstream is blocking
is tricky because DPI call is synchronous, and that gives
timing difference between the line we have fired to downstream
and the current cycle counter we maintain.
Just stall the counter whenever downstream is not ready
for now.
2023-05-08 00:49:30 -07:00
Hansung Kim
6b97b77572
Revert SimMemTrace.v to use posedge clock
...
Doing function calls inside @(*) causes lint errors. Instead, remove
staging registers to eliminate 1 cycle latency between DPI call and
when output is visible to Chisel.
2023-05-08 00:14:48 -07:00
Vamber Yang
99d1e45a49
CoalArbiter RTL outgoing side implementation
2023-05-08 00:05:16 -07:00
Hansung Kim
f7df5045d4
Respect downstream TL A ready in MemTraceDriver
2023-05-07 23:55:54 -07:00
Hansung Kim
ba600db7e4
Backport SimMemTrace fix
2023-05-07 23:54:49 -07:00
Hansung Kim
737a760fcd
Enable coverage tests for chiseltest
2023-05-07 22:58:20 -07:00
Hansung Kim
15889d7667
Take filename from Configs for easier trace testing
2023-05-07 19:09:25 -07:00
Hansung Kim
c75eaaf727
Backport SimMemTrace
2023-05-07 18:38:26 -07:00
Hansung Kim
a6dbfc3901
Fix config for unittest
2023-05-07 18:38:23 -07:00
Hansung Kim
5e073f2dec
Doc update
2023-05-07 18:36:29 -07:00
Richard Yan
d2e56be157
update unit tests for new timing behavior & config
2023-05-07 14:35:53 -07:00
Richard Yan
262a20c992
Merge branch 'graphics' of https://github.com/hansungk/rocket-chip into graphics
2023-05-07 02:34:11 -07:00
Richard Yan
86e7d3d60d
numerous coalescer bug fixes + working unit test
2023-05-07 02:31:28 -07:00
Hansung Kim
2d4cd542c1
Backport SimMemTrace: non-chronological trace error
2023-05-06 23:21:08 -07:00
Hansung Kim
e64cb7a282
Backport SimMemTrace: enable parsing source, report errors
2023-05-06 23:13:45 -07:00
Hansung Kim
afd8a0910a
Rename arbiter config and IO
2023-05-06 18:36:46 -07:00
Hansung Kim
caa5ebf943
Reformat MemTraceReader
2023-05-06 01:47:33 -07:00
Richard Yan
c783f147f9
Merge branch 'graphics' of https://github.com/hansungk/rocket-chip into graphics
2023-05-05 23:02:28 -07:00