Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21585 Discussions

Reporting path delays from quartus flow into timequest report

Altera_Forum
Honored Contributor II
1,457 Views

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, 

 

Kimberley
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
674 Views

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)
0 Kudos
Altera_Forum
Honored Contributor II
674 Views

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.

0 Kudos
Altera_Forum
Honored Contributor II
674 Views

 

--- 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.
0 Kudos
Altera_Forum
Honored Contributor II
674 Views

Could you clarify what you did? (I do what I suggested quite a bit, so it should work).

0 Kudos
Altera_Forum
Honored Contributor II
674 Views

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) 

 

report_path -from -to -npaths 1 -panel_name {Report Path} 

 

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, 

Kimberley
0 Kudos
Altera_Forum
Honored Contributor II
674 Views

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.

0 Kudos
Altera_Forum
Honored Contributor II
674 Views

 

--- 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: 

set_global_assignment -name TIMEQUEST_REPORT_SCRIPT my_paths.tcl 

 

In my_paths.tcl I have my timequest tcl scripts 

 

Thanks again
0 Kudos
Reply