Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)

Constraints entry

HLeam
Beginner
1,291 Views

Hello,

 

This is my first time using the Intel forums, so go easy :)

 

I have some experience with Quartus II but mainly older versions (9 and​ 13) but recently acquired a new license to 17.1.

 

I am working on a reasonably large prototype design where pin assignments, IO voltages, drive strength, etc. are likely to change over time as the overall design develops (both from an FPGA and PCB perspective).

 

Is it possible to generate a text file to create the placement constraints and read the file in when the project opens? I find the Pin Planner GUI a little clumsy.

 

I have tried creating a TCL based file (set_location_assignment, for example) but I am unsure of what file extension to give this file and then how to import it.

 

If I save the file as a .qsf and try to "Import Constraints" from the menu, I end up with only partial import and warnings in the console like

"39 non-global assignments were skipped because of entity name mismatch" and I'm not entirely sure what this means (entity meaning what in this context?).

 

I'm asking here because my feeble Google skills and trawling through the Quartus documentation has left me frustrated.

 

Thanks.

0 Kudos
5 Replies
Vicky1
Employee
500 Views

Hi,

"39 non-global assignments were skipped because of entity name mismatch" and I'm not entirely sure what this means (entity meaning what in this context?).

Entity name is nothing but the design top module name (project name).

Is it possible to generate a text file to create the placement constraints and read the file in when the project opens? I find the Pin Planner GUI a little clumsy.

Can you check the option "Exports Pin Assignment.." under the "Early Pin Planning" under "Tasks window" in Pin planner? check attachment: unable to attach excel file.

 

I am not sure but I hope this might help you.

csv Excelsheet.JPG

 

Let me know if this has helped resolve the issue you are facing or if you need any further assistance.

 

Best Regards

Vikas Jathar 

(This message was posted on behalf of Intel Corporation)

0 Kudos
HLeam
Beginner
500 Views

Thanks for your response.

 

Naturally, I'd have to go into the PIn Planner first to create the CSV. I don't consider the resultant CSV particularly easy to hand edit later, either. However, that is an option.

 

Perhaps I could clarify what I'm after. I'd like to be able to create a file of some format (we'll call it a text file for simplicity but it could take any format) that can be added as a source file under the Quartus project that is then read EVERY time the project opens or an Analysis/compilation and Fit is executed.

 

Similar to an SDC file that contains the timing constraints but this time with placement and other physical constraints (drive strength, slew, IO standard, etc.).​

 

As I wrote previously, I tried to use TCL commands in a secondary QSF file but this didn't quite have the effect that I wanted (e.g. having to import it and not having all constraints imported correctly).

 

0 Kudos
sstrell
Honored Contributor III
500 Views

You can create a .tcl file and source that .tcl file from the .qsf. When you say constraints were not imported correctly, what exactly happened (or are you talking about the warning you show here which doesn't seem I/O pin related)?

0 Kudos
HLeam
Beginner
500 Views

@sstrell​ 

Thanks for your reply. Sourcing the .tcl form the .qsf sounds like what I'm after​. Could you point me to references on how to do this or give a .qsf syntax example?

 

Aside from the warning given above, I have seen that the drive strength and slew rates that I have tried to set are not actually implemented. This may be because my own TCL syntax is incorrect or, as the design is in its early stages, that the logic that is driving these pins is being optimised away and therefore the constraints are no longer relevant. I'll need to investigate that a bit closer.

0 Kudos
sstrell
Honored Contributor III
500 Views

There's a number of ways to do this. You can simply open the .qsf file and copy, paste, and edit in a separate file. Then add "source <file name>" to the .qsf.

 

You can also go to the Project menu and select Generate Tcl File for Project.

 

See this training for details on Tcl in Quartus: https://www.intel.com/content/www/us/en/programmable/support/training/course/odsw1190.html

0 Kudos
Reply