Forum Discussion
Altera_Forum
Honored Contributor
12 years agoReporting path delays from quartus flow into timequest report
Hi,
I'm struggeling with the tcl syntax of quartus. I learned just today that every tool has it's own packages. I'm using Quartus 13 I want to run quartus, and after quartus has compiled the complete design I want a timing report of a certain pin to two certain registers. Just for clarification, I don't want to run timequest by hand, I want the report after running quartus. To give an example, I have an rx pin, and I want to know the path delay from this rx pin to flipflop output sig_x and also from sig_y. See drawing below. It should show 4 square blocks representing a design. How to constrain that? And how to constrain that this, only appears in the TimeQuest Timing Analysis phase? In other words, how to use the Timequest package so that Analysis and Synthesis, and Fitter, don't start complaining that they don't understand this syntax.
+---------------------------------------------------------+
|TOP |
rx --->| |
| +-----------------------------------------------+ |
| |framehandler | |
| | | |
| | | |
| | | |
| | +----------------------------------------+ | |
| | |header_register | | |
| | | | | |
| | | | | |
| | | +-----------------------------------+ | | |
| | | |module_c | | | |
| | | | | | | |
| | | | +---+ | | | |
| | | | | |->sig_x | | | |
| | | | |> | | | | |
| | | | +---+ | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | +---+ | | | |
| | | | | |->sig_y | | | |
| | | | |> | | | | |
| | | | +---+ | | | |
| | | | | | | |
| | | +-----------------------------------+ | | |
| | | | | |
| | +----------------------------------------+ | |
| | | |
| +-----------------------------------------------+ |
| |
+---------------------------------------------------------+
Rgds, Kimberley7 Replies
- Altera_Forum
Honored Contributor
Create a .tcl file(I always call it TQ_analysis.tcl) and put in a line:
report_timing -setup -npaths 20 -detail path_only -from [get_ports rx] -panel_name "s: rx -> *" -file "./TQ/rx_to_core.txt" Manually run TimeQuest and source this file from the Script pull-down to make sure it works. Change the options as appropriate and look at the output file in the TQ directory. If it's what you want, then in Quartus go to Assignments -> Settings -> TimeQuest and add the file. It will run automatically for the slow cold timing model. One other trick I sometimes do is add the following: set seed [get_global_assignment -name SEED] This just gets the seed setting, and I put it into the output file name: -file "./TQ/rx_to_core_seed$seed\.txt" You can then run a seed sweep and this path will be reported for each one. (I'm doing this on a design right now, which is why I mention it) - Altera_Forum
Honored Contributor
As a side note - TimeQuest outputs every command you set up in the TCL command prompt - so if you run something in the GUI you want to script up, you can just copy/paste it into your TCL file.
- Altera_Forum
Honored Contributor
--- Quote Start --- As a side note - TimeQuest outputs every command you set up in the TCL command prompt - so if you run something in the GUI you want to script up, you can just copy/paste it into your TCL file. --- Quote End --- That's what I did, but then quartus complains that the project settings are not correct. TimeQuest tcl from the gui uses a different packages then quartus_sta and quartus_fit. So the syntax is different?!?! between the two tooling. - Altera_Forum
Honored Contributor
Could you clarify what you did? (I do what I suggested quite a bit, so it should work).
- Altera_Forum
Honored Contributor
Hi,
I did the following: I can get my path in gui-version of TimeQuest Gui This also gives me the tcl command in one of the fields. (I have modified the path, because my real design is different then I described. I just need the syntax correctly)
When I copy this into a tcl file which I source my qsf, quartus gives an error saying theresomething wrong in the settings. Then I thought, maybe the ~input is the problem, so I changed it into a wildcard.report_path -from -to -npaths 1 -panel_name {Report Path}
But that also doesn’t work. Rgds, Kimberleyreport_path -from -to -npaths 1 -panel_name {Report Path} - Altera_Forum
Honored Contributor
It can't be sourced by the .qsf file, as it's not a setting. Follow the instructions above to add it to Assignments -> Settings -> TimeQuest. What you have will then show up in the TimeQuest compilation report, or you can add a -file field to the report_timing to put the report into a text report too.
- Altera_Forum
Honored Contributor
--- Quote Start --- It can't be sourced by the .qsf file, as it's not a setting. Follow the instructions above to add it to Assignments -> Settings -> TimeQuest. What you have will then show up in the TimeQuest compilation report, or you can add a -file field to the report_timing to put the report into a text report too. --- Quote End --- Thanks. It works now. In my qsf I now have a statement:
In my_paths.tcl I have my timequest tcl scripts Thanks againset_global_assignment -name TIMEQUEST_REPORT_SCRIPT my_paths.tcl