Commit Graph

623 Commits

Author SHA1 Message Date
Hansung Kim
b1a37d0dda Streamline upstream flow with regards to CoalSourceGen
CoalescerSourceGen was prematurely reclaiming sourceIds in the presence
of coalResp backpressure, since it was not referring to coalResp.fire
and instead setting ready to always-true.  With this change
CoalSourceGen properly propagates both downstream and upstream
backpressure.
2024-01-18 18:15:18 -08:00
Hansung Kim
086b2a5398 Clean up uncoalescer -> respQueue doc 2024-01-18 18:12:49 -08:00
Hansung Kim
46f5e8b920 Disable force assert for RespQueue block 2024-01-18 18:10:33 -08:00
Hansung Kim
2b8ef4cb30 Create coalResp backpressure when response queues are full
... which causes the uncoalescer to lock up, so we shouldn't accept
further coalescer responses.
2024-01-18 01:09:28 -08:00
Hansung Kim
eeb92da8a1 Fix InFlightTable lookup assert 2024-01-18 01:07:49 -08:00
Hansung Kim
e96836c190 Fix inflightCounter debug counter 2024-01-18 01:06:28 -08:00
Hansung Kim
138e83b68a Assert coreWriteReqQueue is never full in VortexCache 2024-01-18 01:05:23 -08:00
Hansung Kim
7914607304 Bump vortex with IBUF/LSUQ size change 2024-01-16 23:54:39 -08:00
Hansung Kim
37d2af5478 Reflect upstream rocket-chip changes
* hartId -> tileId
* TileCrossingParamsLike -> HierarchicalElementCrossingParamsLike
* don't use bus_error_unit
2024-01-16 23:44:57 -08:00
Hansung Kim
cd1022c608 Remove use of HasTiles to reflect upstream change 2024-01-16 22:59:56 -08:00
Hansung Kim
132742ea88 Distinguish LSU lanes from SIMD lanes and elaborate tag width logic 2024-01-16 22:20:16 -08:00
Richard Yan
dea005a179 incorporate vortex2 2024-01-16 17:41:33 -08:00
Richard Yan
f9b7e9fbe4 restructure from rocket-chip to radiance 2024-01-16 16:21:50 -08:00
Richard Yan
c742a13c1e restructure: initial filter pass 2024-01-11 10:08:43 -08:00
Zekai Lin
ca57c8d6a3 TLFragmenter bug fix 2023-12-09 20:27:13 -08:00
Hansung Kim
0768a7abc9 More cleanup and doc 2023-11-10 18:49:11 -08:00
Hansung Kim
0bb8e6d705 Bump vortex with ibuffer size fix 2023-11-10 18:38:59 -08:00
Hansung Kim
ecfa18ce69 Rename to VortexBank 2023-11-10 17:46:04 -08:00
Hansung Kim
78e09160a2 Rename L1System -> VortexL1; do not expose bank Xbar from L1 2023-11-10 16:11:43 -08:00
Hansung Kim
257232dec8 Require MSHR size matches nSrcId to L2 2023-11-10 15:04:32 -08:00
Hansung Kim
5adf334af4 Scalafmt & rename & update doc 2023-11-10 14:58:16 -08:00
Hansung Kim
d51ce4cfa8 Reformat 2023-11-10 14:46:33 -08:00
Hansung Kim
17a39a369f Cleanup conditional L1 instantiation 2023-11-10 14:42:33 -08:00
Hansung Kim
a0c15b2cc3 Use separate {imem,dmem}SourceWidth to fix deadlock
imemSourceWidth cannot be larger than the ibuffer size.
2023-11-08 20:20:17 -08:00
Hansung Kim
2f205be702 Update docs 2023-11-08 14:03:14 -08:00
Hansung Kim
571d33a5de Remove unused MSB offset code from get getCoalescedDataChunk 2023-11-08 14:03:14 -08:00
Vamber Yang
61aad0315c L1 FatBank Integration, multi-bank working with 4 dcache banks, 1 icache bank
Merge remote-tracking branch 'remotes/origin/graphics' into local-graphics-dev
2023-11-06 21:56:11 -08:00
Vamber Yang
e958ede277 multi-bank working when nBanks=2, encountered a putPartial error, need to pull latest change 2023-11-06 20:51:23 -08:00
Vamber Yang
be5134cd8a L1 fatbank works with 2^5 source bits in SourceGen, failed with < 2^4 source bits in SourceGen 2023-11-01 23:48:24 -07:00
Hansung Kim
d2bfc31592 Fix store opcode assertion in AOpcodeIsStore
Now we support PutPartialData for narrow write requests that doesn't have all-1
mask.
2023-10-31 23:06:35 -07:00
Vamber Yang
75adb1dc66 Intergation of L1 Fatbank 2023-10-31 16:14:34 -07:00
Hansung Kim
635f4e42ff Add detailed doc on source allocation/filtering 2023-10-25 20:55:01 -07:00
Hansung Kim
6371cdc03c Use edge.hasData instead of TLUtils in adapter 2023-10-25 20:28:01 -07:00
Hansung Kim
1e8cc5ef90 Bump vortex 2023-10-25 20:07:20 -07:00
Hansung Kim
d70cbc8e58 Do matchingSources filtering using Vortex tag instead of TL source
Since we do source generation independently for each lane, if we use TL
source for filtering, it becomes possible that lane 0's source happens
to match lane 1/2/3's source even when they don't belong to the same
warp.  Since Vortex uses dcache req ID that is unique across
instructions, using that for filtering prevents this bug.  A better
solution would be to do source generation for all lanes at a time
though.
2023-10-25 19:48:21 -07:00
Hansung Kim
78e193db42 Add safety assert on sourceWidth
See commit 0d92eb65.
2023-10-25 18:17:03 -07:00
Hansung Kim
09f512fda7 Don't reply write requests from Vortex core 2023-10-25 13:08:18 -07:00
Hansung Kim
ba8bed6120 Set missing opcode field for uncoalesced requests 2023-10-25 13:07:54 -07:00
Hansung Kim
762e6dfd27 Rename queueDepth -> reqQueueDepth 2023-10-25 11:29:51 -07:00
Hansung Kim
f0a401d72b Add missing PutPartial mask handling for coalesced writes 2023-10-24 15:11:41 -07:00
Hansung Kim
3fc3e91831 Rename & doc 2023-10-24 14:04:00 -07:00
Hansung Kim
8affa755d0 Remove overly strict enq.ready assertion on respQueues
This used to make sense when we used MemTraceCores which never blocks
the response channel, but now that we're integrating with Vortex cores,
we cannot make the same assumption on the core's actual pipeline
behavior (although it is unclear why a core would ever block receiving
responses.)
2023-10-24 11:41:34 -07:00
Hansung Kim
e9c206dfa2 Properly handle upstream and downstream backpressure for respQueues 2023-10-24 11:36:18 -07:00
Hansung Kim
8e0904a1ad Fix matchingSources logic when all lanes are invalid
When all lanes are invalid so that arb.io.valid is 0, we should not
deassert d_ready.
2023-10-23 22:10:10 -07:00
Hansung Kim
a14d8b6814 Properly handle TL dataWidth mismatch for core-to-sbus configs
... using yet another TLWidthWidget
2023-10-23 20:33:41 -07:00
Hansung Kim
2e37d2ce3f Only check opcode validity when fire
... otherwise assertion goes off with garbage-value opcode during reset.
2023-10-23 20:31:00 -07:00
Hansung Kim
0f9896e001 Instantiate coalescer inside VortexTile
Currently runtime errors with unhandled D opcode inside coalescer.
2023-10-23 15:01:37 -07:00
Hansung Kim
2091ef686b Rename defaultConfig -> DefaultCoalescerConfig 2023-10-23 14:50:15 -07:00
Hansung Kim
105bb37421 Make VortexCoreParams; bring VortexTile into rocketchip.tile
Reduces duplicate declarations.  Need to properly split it out of
rocket-chip later.
2023-10-23 13:04:48 -07:00
Hansung Kim
f4553ffdb1 Remove done TODO 2023-10-23 11:33:38 -07:00