Approach to changing IO assignments in Qsys with script
I have a design where I need to change some pin assignments in Qsys between builds (an operational build and a backup build). Looking to fully automate the building of both designs. I have a working makefile that builds the design but requires manually changing IO assignments in Qsys. All I'm looking for is some guidance on how to approach this. I could keep 2 copies of qsys files and in I think in make I change the which qsys file I'm using but that's makes too qsys designs to support.
My gut says I would make sense to partition off the IOs that are changing into two different TCL scripts and then some how run make twice with each of the scripts included. This way there is only one base design and the additional TCL scripts create the different variations.
I guess begs a little bigger question, would it be better to run make from a bash script or run bash commands from within make?
Before I spend a bunch of time trying different approaches I was hoping someone more expert than myself (that would be most people) might shed a little light on the pluses/minuses to the different ways of doing this. Sorry if this is a bit vague but I just need to be pointed in a direction that makes sense.
Thanks
Ray
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.