Hansung Kim
630d76461c
Do proper TL sourceId allocation for Vortex dmem requests
...
This fixes sourceId collision that occurs when naively re-using tag bit
of a Vortex dmem request as TL source, which happens because Vortex core
does not allocate a new LSU entry for writes.
`VortexSourceGen` module acts as a Vortax tag <-> new TL source ID
converter, where it allocates a new ID for every new Vortex request, and
restores its original tag bits from the metadata embedded in the
SourceGenerator module.
TODO:
- Decouple sourceWidth of downstream TL nodes from Vortex's tag bit
width; they are set to be the same for convenience as of now
- Apply this to imem requests as well
2023-10-16 01:19:55 -07:00
Hansung Kim
c34853447b
Implement metadata retrieval in SourceGenerator
2023-10-16 01:11:50 -07:00
Hansung Kim
5b356b735c
Fix unused warning in Coalescing
2023-10-15 23:24:32 -07:00
Hansung Kim
78012800e7
Clarify confusing in/outResp naming in SourceGenerator
2023-10-15 23:17:01 -07:00
Hansung Kim
cbd32b78a9
add metadata field in SourceGenerator table
...
This enables using SourceGenerator as a sourceId converter/restorer.
2023-10-15 22:56:07 -07:00
Hansung Kim
ff4fc66c56
Reformat
2023-10-15 13:36:55 -07:00
Richard Yan
dd194ca61d
bump vortex
2023-10-13 15:25:49 -07:00
Richard Yan
8d479438b1
Merge branch 'graphics' of https://github.com/hansungk/rocket-chip into graphics
2023-10-13 14:04:20 -07:00
Richard Yan
dfae96ec9d
add wait register
2023-10-13 13:31:14 -07:00
Hansung Kim
b7a7a7a0a7
Bump vortex
2023-10-11 20:32:08 -07:00
Hansung Kim
dab1d907d6
Comment out hartid and fpu from VortexBundle
...
These are mostly copied from Rocket and we're not sure they're necessary
for Vortex.
2023-10-11 20:29:15 -07:00
Hansung Kim
acc66e413a
Set Vortex CORE_ID parameter using Tile hartId
2023-10-11 20:28:04 -07:00
joshua
127d7613e1
add vortex fat bank + test (not compiling atm)
2023-10-09 14:49:57 -07:00
Hansung Kim
c368e92ddb
Bump vortex
2023-10-06 21:31:22 -07:00
Hansung Kim
1de8a4ffa8
Update doc comments
2023-10-05 16:38:12 -07:00
Hansung Kim
e7a008ec74
Rename #define constants in SimMemTrace
...
... to prevent collision with constants of the same name in other
verilog sources.
2023-10-01 20:58:49 -07:00
Hansung Kim
5bf068306f
Fix too large bitwidth error in Verilator
2023-10-01 20:57:46 -07:00
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