Distinguish between simulation tools with defines #381
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.
Structure changes
I modified the folders under
sw/device/target
. Now they are as followInside each file, the new defines and messages are:
This way conditional compilation can be achieved by differentiating between method (
SIM
/FPGA
) or tool (VERILATOR
,PYNQ_Z2
,...)Application changes
Applications used to have a warning if the target was
TARGET_SIM
when the limitation only applied toverilator
. Now I have added a forcedonly if the target is
TARGET_VERILATOR
.Additionally, the define
TARGET_PYNQ_Z2
was changed forTARGET_FPGA
except for those situations where the conditional was placed to decide on pynq-z2 specific details (like pins).Now, the
make app
command needs to take the simulation tool, not onlyTARGET=sim
.The default tool is
verilator
. Other options arequestasim
,vcs
andpynq-z2
.