Forum Discussion
Approach to changing IO assignments in Qsys with script
- 2 years ago
Just to close this item out here is what I ended up doing, best way? probably not.
I decided against using the revision feature because we use git version control using it would complicate things. If we didn't use git I would have definitely looked into using it.
So what I ended up with is a bash script that copies each of the uniquely named .qsys files to the soc_system.qsys file and runs a makefile which builds the fpga. Only the uniquely named .qsys files are checked into git, the soc_system.qsys is not. If the I/O ever needs to be modified the working pair of uniquely named .qsys files will need to be updated manually but that is very rare in our system (we are in production support mode).
Thanks for the different ideas.
I/O assignments are not stored in the Platform Designer file (.qsys). They are stored in the project settings file (.qsf) which is basically a Tcl script.
You could do complicated scripting to switch things, but it would be much easier to use the revisions feature of Quartus. Each revision of a Quartus project creates a new .qsf file that can start by being based off the original. You can make a new revision and edit the I/O assignments in the new revision. You can then simply switch back to the original revision when needed, either in the GUI or through scripting.
All this is in Project menu -> Revisions.