Add experimental Z01x support to sync with in-tree OpenTitan DVSim#143
Draft
AlexJones0 wants to merge 2 commits intolowRISC:masterfrom
Draft
Add experimental Z01x support to sync with in-tree OpenTitan DVSim#143AlexJones0 wants to merge 2 commits intolowRISC:masterfrom
AlexJones0 wants to merge 2 commits intolowRISC:masterfrom
Conversation
DVSim enables running commands after building has finished with the `post_build_cmds` option, but does not provide a mechanism for passing additional options to this post build command. Introduce this mechanism via `post_build_opts`, defined in the HJSON configs. Co-authored-by: Pascal Nasahl <nasahlpa@lowrisc.org> Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
Add support for the VC Z01X simulation tool, which is a fault simulation
& injection tool layered on top of the VCS engine.
A new method is introduced to the SimTool protocol to allow mutating the
attributes of the Deploy objects after all attributes have been
initialized & expanded. Then, when the tool is configured as Z01X, the
RunTest job is changed to use two different run options:
- run_opts_fi_sim: the runtime options needed for Z01X.
- run_opts: Z01X itself starts the simulation using simv. Those
run_opts parameters are then passed by Z01X to simv.
Co-authored-by: Pascal Nasahl <nasahlpa@lowrisc.org>
Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
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.
Since DVSim was pulled out and separated from OpenTitan, one additional PR has been made that has modified the operation of DVSim: lowRISC/opentitan#28782
This PR aims to replicate the changes from that PR, refactored to fit out-of-tree DVSim:
Deploytests passing.RunTestis changed to now instead addZ01Xas a separate simulation tool plugin. This way, we can inherit all of the relevant plugin functionality of VCS, whilst decoupling the Z01X-specific logic from the Deploy core itself. To do this, a generic mechanism is introduced to allow tools to mutate deploy objects after all initialization and expansion.Note: this PR is a draft for now since I do not have the ability to test OpenTitan Z01X flows locally. This PR can be merged after it has been confirmed that these changes work properly and allow Z01X to be used.