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.
Sorry for my lack of detail. This is for a CycloneV part and for a single board design.
We are supporting have 2 slightly different product variations each product version requires dual boot with a different loaner I/O configuration. Once changes are make to the common code base we need a simple way to build the 2 systems each with dual boot. Up to now we have been running through the GUI to make all of the changes for the 4 different builds (**bleep** load of steps including building and incorporating the HPS boot code into the image).
I was tasked with creating some kind of script to automate the build of the 2 systems (each with 2 images). This is my first dealing with Altera (besides the Max Plus stuff +30 years ago) so it's been a steep learning curve. I have managed to cobble together a bash build script that swaps out 2 different .qsys files which set the loaner IOs and 4 different verilog include files to set the IOs and system type. A bit of a brute force but it fits the requirement of minimum divergence of the main code base for the different systems.
Thanks for responding to my post. There is still much for me to learn.
Ray
If you have multiple complete system designs (.qsys files), then you can use the revisions feature. Just set which .qsys to use for each revision. Revisions work with anything that can be changed in the .qsf file. That includes which files make up the project.
- RayHaynes12 years ago
Occasional Contributor
I guess my question would be how would I change the revision setting with a bash script? Currently running Quartus 16 and I trying to bring the design forward but many issues with the bootloader and other things. And I'm not currently running any TCL (haven't figured out how to mix bash scripting and TCL yet) so I think I'm ok with my current approach as kludgy as it is for now. Lots of other stuff to do.
But thanks again for responding. Just a small rant. I have been working with FPGA for decades now and they are the worse environment to do design in. I need to know bash, TCL, c, and others that escape me right now, all outside of the HDL which is the real meat of the project and I think my approach is cobbled together? The whole FPGA build environment is far worse. rant over.
Ray