Hansung Kim
5ee4154f26
Fix C/verilog argument size mismatch on Verilator
2023-10-01 12:12:11 -07:00
joshua
a98ec2758e
bump vortex
2023-09-29 00:52:23 -07:00
joshua
3566159c12
Merge remote-tracking branch 'origin/graphics' into vx_cache
2023-09-28 11:38:05 -07:00
Richard Yan
f0f395661d
bump vortex
2023-09-27 10:53:38 -07:00
joshua
c403156127
fix merge errors (?)
2023-09-25 23:40:29 -07:00
Richard Yan
0f47ae078e
add operand roms, bump vortex
2023-09-25 21:27:13 -07:00
joshua
c5bfb66ee5
it works
2023-09-24 17:43:00 -07:00
joshua
6a6f7fcaf0
still not working
2023-09-24 13:28:29 -07:00
joshua
63aee46908
still not sure what error is
2023-09-23 17:52:02 -07:00
joshua
e3f85da12c
add vortex cache temporarily
2023-09-23 13:03:53 -07:00
Richard Yan
7c5281cd0e
multilane support, args.bin ROM, verilog sources cleanup and vortex bump
2023-09-15 11:16:55 -07:00
Richard Yan
d392d76608
bump vortex and increase source ids
2023-09-11 14:06:08 -07:00
Richard Yan
43f95175f1
bump verilog sources, remove files and mem changes
2023-09-09 01:55:02 -07:00
Richard Yan
8cef2ae135
integrate vortex as tile
2023-09-08 14:25:37 -07:00
Hansung Kim
a424f92b55
Make MemTraceDriver no longer be UnitTestModule
...
This makes it trickier to hook the driver up to sbus since we need to
assert its io.start. We still need io.finished coming out of it to tell
when the trace finished.
2023-08-23 19:02:43 -07:00
Hansung Kim
af9205ce85
Add missing io.finished to fix elaboration
2023-08-23 17:56:51 -07:00
Hansung Kim
0fa14b7661
Use cf-interpolator for simulation-time string
...
sizeInBits is a sim-time variable.
2023-08-23 17:45:18 -07:00
Hansung Kim
218e3cad92
Rename TracerSystemMem -> CanHaveMemtraceCore
2023-07-22 16:27:47 -07:00
Hansung Kim
f8a1a28c6c
Pretty-print CoalescingUnit configs at elaboration time
2023-07-22 16:18:02 -07:00
Hansung Kim
a2bddfe8a8
Fix connecting to sbus to use updated BusWrapper API
...
fromPort() is deprecated in TLBusWrapper, use coupleFrom() instead.
2023-07-22 15:13:42 -07:00
Hansung Kim
2f6da70af9
Add TODO-to-move to TracerSystemMem
2023-07-22 12:57:19 -07:00
Hansung Kim
bcb11ee0fb
Remove old fixmes and todos
2023-05-28 22:59:18 -07:00
Hansung Kim
74a8a81f82
Revert to respQueueDepth = 4
2023-05-28 22:38:01 -07:00
Hansung Kim
e40b7f0b8b
Support receiving trace filename from VPI for loggers
...
Useful for testing with different memtraces without having to recompile
design. This worked before for the trace driver but not for trace
logger.
Usage: make CONFIG=MemtraceCoreConfig run-binary-debug BINARY=none \
EXTRA_SIM_FLAGS="+memtracefile=nvbit.vecadd.n100000.filter_sm0.lane4.broken.trace"
2023-05-28 22:15:32 -07:00
Hansung Kim
af01e39b5a
Revamp dataflow between uncoalescer and inflight table
...
Now uncoalescer no longer handles constructing and enqueueing entries
to the inflight table; it simply queries the table and works with the
found row. Enqueueing / looking-up of the table is clearly split
between request and response flow.
TODO: delegate sourceId gen to inflight table and remove CoalSourceGen
2023-05-27 13:59:25 -07:00
Hansung Kim
aada78da33
Fix writing to inflight table when valid not fire
...
This fixes the hang in simulation when newSrcId = 4, oldSrcId = 8.
2023-05-27 13:02:00 -07:00
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