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.
What are the reasons/motivation for this change?
File lists (a verific feature) will often make use of environment variables in file paths, e.g. this example from the CV32E40P core. This provides a way to set these variables from within a yosys script.
Explain how this is achieved.
Add a
setenv
command that simply passes its arguments to thesetenv()
POSIX function.If applicable, please suggest to reviewers how they can test the change.
There's a testcase included that can be used with verific.
In the absence of verific, it's possible to use this to set any other environment variable that yosys checks (although there aren't too many - you can change HOME or PATH and see what mayhem you can cause...) It would also be possible to use TCL to check that the value was updated correctly.
Unlike the TCL implementation, this is not thread-safe, but neither is most of the rest of yosys.
TODO: