Altera_Forum
Honored Contributor
11 years agoWorking with Multiple QSF files
I'm developing a board suppport package that I can use for multiple applications that are built for the same part. I currently have two applications that use common top-level RTL, but they have individual Quartus files (qpf, qsf, sdc,...). The pin mappings, constraints, assignments, and even RTL are still in flux for the board support portion of the design, which means that I'm copying project settings between the two projects regularly, and it stinks.
Of course, a good design practice would to put common settings and constraints into separate qsf/sdc/tcl files that can be pulled in by each of the application projects. I moved some assignments that were common to application1.qsf and appplication2.qsf into a new file called common.qsf. I followed altera's example (http://quartushelp.altera.com/13.0/mergedprojects/reference/glossary/def_qsf.htm) (source common.qsf from application1.qsf), and it's functional, but three unfortunate things happen. For one, all the assignments from common1.qsf get copied into application1.qsf during sythesis, which is the exact opposite of what altera's documentation (http://quartushelp.altera.com/13.0/mergedprojects/reference/glossary/def_qsf.htm) (same link) says will happen. Even more, if all the assignments aren't already in application1.qsf, then Quartus gives me an error message box saying the settings file has been modified by hand, and it has an error. Finally, if I remove one of the assignments from common.qsf, it is NOT removed from application1.qsf as a consequence of it copying all the assignments to application1.qsf. What gives? I'm building for an Arria V using Quartus 13.1 if that matters. I'm looking at a Cyclone III Development Board example from Altera, and it uses multiple qsf files, but the data from each one appears to be copied into the main qsf....which again appears to contradict Altera's documentation.