3

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.

Paebbels
  • 3,897
  • 2
  • 18
  • 43

3 Answers3

2

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.

Paebbels
  • 3,897
  • 2
  • 18
  • 43
1

Try these commands in the qsf file - set_global_assignment -name PRE_FLOW_SCRIPT_FILE quartus_sh:script_file.tcl

For an example checkout this page - The example script file is in the zip archive on that page.

shparekh
  • 147
  • 9
1

In Quartus Prime ver. 18.1 it is possible to do:

set_global_assignment -name SOURCE_TCL_SCRIPT_FILE pinout.tcl
EquipDev
  • 561
  • 5
  • 14