Electronic – Quartus II – Can I include other files into a *.qsf file

intel-fpgaquartusquartus-iitclxdc

An Altera Quartus II project consists of one *.qpf and one or more *.qsf files. The qsf seems to be a TCL script like other EDA related settings and config files (e.g. xdc, sdc, …).

Is is possible to include other TCL scripts into the qsf?

I don't like the idea of storing all design settings in one file (source files, pin assignments, …). Like in ISE or Vivado, I would like to store e.g. pin assignments in seperate files and included them.

Excurse ISE:

ISE uses UCF files to store constraints for pins, placement and timings. It's possible to add multiple ucf files to one project. E.g. a GPIO.LED.ucf or a Clock.SystemClock.ucf.

Excurse Vivado :

Vivado stores constraints in xdc files (Xilinx Design Constraints – a Xilinx extended version of SDC files – Synopsys Design Constraints). XDC/SDC files are TCL scripts. Quartus also uses SDC files.

Best Answer

Tested with Quartus II 15.0

Its possible to add lines like these to the *.qsf file:

set LoadPinConstraints 1
source ../../constraints/DE4/GPIO.Button.Reset.sdc
source ../../constraints/DE4/GPIO.Buttons.sdc
source ../../constraints/DE4/GPIO.SlideSwitches.sdc
source ../../constraints/DE4/GPIO.LEDs.sdc

(These *.sdc files include pin assignments, I/O settings (voltage, standard, ...) and pin timings.)

But, Quartus will report a bad formatted *.qsf file with unsupported commands. After that, Quartus inlines all external pin assignments into the *.qsf file.

So yes it's possible, but the goal of modularization is gone.