Commit Graph
320 Commits
Author SHA1 Message Date
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
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
Vamber Yang 0d96d81968 Make numOldSrcIds and numNewSrcIds parameters of SoC 2023-05-19 17:47:18 -07:00