feat(cv32e40p): add standalone platform and core config#74
Open
marpac3 wants to merge 6 commits into
Open
Conversation
Add the CV32E40P standalone platform to gvsoc-pulp: - cv32e40p-standalone.py target file - cv32e40p_exit_device.py Python wrapper - CV32E40P core config in pulp_cores.py (CSR semantics, FPU, ZFINX, num_hpm).
Companion change to the gvsoc-core removal: cv32e40p_exit is a target-specific device, so it lives in gvsoc-pulp. - New pulp/cv32e40p_exit/CMakeLists.txt registers the vp_model pulp.cv32e40p_exit.cv32e40p_exit_device. - pulp/CMakeLists.txt: add_subdirectory(cv32e40p_exit). - cv32e40p_exit_device.py: set_component() updated to the new component path.
Follow-up to the ISS source relocation: update add_sources() to the new src/cv32e40p/ paths. Behaviour-preserving.
Consistent Marco Paci / Fondazione Chips-it (https://chips-it.it) attribution across the CV32E40P-specific files: standalone platform, core config, exit device, pulp_cores patches.
mhartid is a CsrReg now and doesn't convert to int implicitly. Read the underlying value explicitly, like the other in-ISS consumers (e.g. lsu.cpp).
Cosmetic cleanup of inline comments in pulp_cores.py — remove internal prefix markers, keep the technical content.
3e7da68 to
d52f70c
Compare
Author
Branch refreshed — ready for review @haugougThe branch has been refactored and force-pushed. Head is now Commit history (linear, cleaned)Notes on
|
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
Add CV32E40P standalone platform definition and core configuration for GVSOC simulation.
What's included
cv32e40p-standalone.py: Standalone platform with correct memory map (RAM 4MB @ 0x0, STDOUT @ 0x10000000, EXIT @ 0x20000000), configurable FPU/PULP/ZFINX parameterscv32e40p_exit_device.py: Python model for memory-mapped exit devicepulp/cpu/iss/pulp_cores.py: CV32E40P core model with full CSR config (write masks, reset values, volatile flags for mcountinhibit, mstatus, tdata1, dcsr, etc.) andnum_mhpmcountersparametrizationValidation
Related PRs