Feat: integrate Vortex v2.2 into ESP#319
Open
ShinyMiraidon wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
This PR integrates Vortex v2.2 into ESP as a third-party accelerator and adds the ESP-side infrastructure needed to configure it, build it, simulate it, synthesize it, and run it through both baremetal and Linux flows.
The integration is split across two layers:
accelerators/third-party/GT_VORTEXcontains the Vortex RTL, ESP wrapper logic, packaging metadata, and Vortex-side runtime/backend supportaccelerators/rtl/gt_vortex_rtlacts as a lightweight ESP accelerator shim so Vortex can plug into ESP’s existing Linux driver and application flowThis split allows Vortex to reuse ESP’s normal software and staging infrastructure even though Vortex does not natively follow the standard ESP accelerator software structure.
In addition to the accelerator integration itself, this PR includes the ESP platform changes needed to support Vortex in-system, including initial AXI
WSTRBhandling for partial writes, GT_VORTEX-specific SoC generation/configuration plumbing, and new optional Vivado timing-closure controls for larger SoCs.Primary Changes
Added
GT_VORTEXas a third-party accelerator underaccelerators/third-party, including:Added GT_VORTEX-specific SoC generation and configuration support:
NUM_CORES,NUM_WARPS,NUM_THREADS,L2, andL3Added the ESP wrapper/control path for Vortex:
m_axi_wstrbAdded Linux support for Vortex through
gt_vortex_rtl:libvortex.so,libvortex-esp.so, regression executables, kernel.vxbinfiles, and avortex-regressionlauncherAdded Vortex software collateral and tests:
systolic_transformerregression testAdded rudimentary AXI
WSTRBsupport in ESP:Added optional Vivado timing-closure controls for
make vivado-syn:GT_VORTEX_ENABLE_MARK_DEBUGso wrapper debug preservation is opt-in instead of always-on