Altera_Forum
Honored Contributor
19 years agoVersion control for Quartus/NIOS
Hi Everyone,
There have been a number of posts asking about which files need to be put under version control for Quartus/NIOS projects. After quite a bit of experimenting we've found a minimal set of files that does the job nicely, and hope that others may find this useful. Our development environment includes several programmers working from different sites, so it was important that the checked-in files operate within a standard Altera installation (no modified system files), and that there be no absolute path names in the repository (so that each developer can anchor their tree wherever they want). For Quartus/SOPC projects we store the following files: toplevel.v The toplevel verilog file for the project (instantiates the SOPC block) toplevel.qsf Pin assignments, timing constraints, etc toplevel.qpf Toplevel project container (for Quartus File->OpenProject) syscore.ptf The SOPC system description <others>.v The rest of your verilog code, user library references, etc The idea is that a new developer pulls the above files onto a new machine, then opens SOPC builder and does a GENERATE, then goes back to Quartus and does a BUILD. There are gobs of machine generated files that will be present in the end, but only a small number of original files need to be kept in the repository. For NIOS system libraries you only need to check-in the following files that are created by the File->New->Other->AlteraNiosII->SystemLibrary wizard: .cdtbuild .cdtproject .project system.stf For each Quartus build I like to keep the associated system library in a directory right next to it. This allows you to replace the absolute pathnames to the .PTF file (generated by the wizard in system.stf) with "..\quartus\syscore.ptf". Again, a new developer starts with the above files, then does an Import->ExistingProjectIntoWorkspace from the C/C++ panel of the NIOS IDE, then builds the system library. The entire library then appears automagically. Good Luck!