hw: added 2x VLSU bandwidth and TROOP optimizations for Spatz #50
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To add feature to support for double VLSU bandwidth to L1 scratchpad in Spatz cluster to accelerate memory-intensive workloads. This configuration can be enabled by setting
double_bwparameter in spatz configuration file and doubling the number ofspatz_nportsw.r.t number of functional units (assuming 64b granularity).Added
spatz_doublebw_vlsu.sv- To implement the load-store functionality to generatespatz_nportsparallel requests across 2 interfaces and commit each interface separately back to theVRF, synchronizing between them only at instruction completion.spatz.sv,spatz_controller.sv,spatz_vrf.svis enclosed with the pragmaDOUBLE_BW.spatz_tcdm_interconnect.svto misalign VLSU requests to avoid conflicts at the L1 for varyingLMULconfigurations.dp-fdotpanddp-faxpyfor higher performance configurable using a-DUNROLLcmake option.spatz_cluster.doublebw.dram.hjson- configuration with double bw support to the default spatz core configuration.