Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15463 Discussions

How to report STA (Timing Analysis) just post-Synthesis but before P&R (Placement and Route)?

ldm_as
Novice
413 Views

Hi All,

 

How to report STA (Timing Analysis) just post-Synthesis but before P&R (Placement and Route)?

 

Is it possible to generate the STA report (e.g. setup violations) just after the Analysis and Synthesis stage? How to?

 

Is there a way to add a TCL script to Quartus Project, so it will be executed just after the Synthesis stage?

 

Thank you!

 

0 Kudos
11 Replies
Kenny_Tan
Moderator
232 Views

Hi Dmitry,

 

You cannot run STA timing analysis after the synthesis stage. Timing analysis need to take the delay for the routing in order to show out the timing result.

 

You may refer to https://www.youtube.com/watch?v=B73G4BuTpLo to get the understanding on how timing analyzer works,

 

Thanks,

Best regards,

Kenny

ldm_as
Novice
232 Views

Actually I don't want to proceed to the Fitting stage if there are setup violations presenting already after the Synthesis Stage. Is this possible?

Does not the tool perform any Timing Analysis during Synthesis stage?

sstrell
Honored Contributor III
232 Views

If you are using the Standard edition of Quartus, you can select to create the timing netlist in the Timing Analyzer based on the post-map netlist (Create Timing Netlist command). If you are using the Pro edition, you have to at least compile to the Plan (or Early Plan) snapshot, which is after synthesis but before the main stages of Place and Route. You can create the timing netlist based off the Plan or Early Plan snapshots.

 

#iwork4intel

Kenny_Tan
Moderator
232 Views

That is correct. You need the timing/post map netlist to provide you the timing analysis.

ldm_as
Novice
232 Views

How to add scripts, which would be executed after/before a certain stage of Design Compilation Flow?

Let's say I'd like the script_1.tcl would be executed after RTL Analysis & Synthesis, the script_2.tcl would be executed after Fitter stage, and the script_3.tcl would be executed after Timing Analysis stage.

How can I do so?

Kenny_Tan
Moderator
232 Views

Within the scripts, you can use source command to source the scripts out.

ldm_as
Novice
232 Views

You don't understand ... Please read again what I wrote:

Let's say I'd like the script_1.tcl would be executed after RTL Analysis & Synthesis, the script_2.tcl would be executed after Fitter stage, and the script_3.tcl would be executed after Timing Analysis stage. How can I do so?

So, the script_1.tcl, script_2.tcl, and script_3.tcl should be executed in the different stages of the flow. How to do so? In my guess, It should be some attributes in QSF, which would define at what stage each script should be executed.

 

Thank you!

Kenny_Tan
Moderator
232 Views

Here is the example that you can try:

 

load_package design

load_package flow

#project_open eight_bit_uc -revision snapshot_test

project_open eight_bit_uc -revision <quartus_project> -force

execute_module -tool syn

source scripts1.tcl

execute_module -tool fit

source scripts1.tc2

execute_module -tool sta

source scripts1.tc3

project_close

 

Run the scripts with quartus_sh -t <tcl_script>.tcl

 

Off course there are other method.

ldm_as
Novice
232 Views

I'm about how to integrate the scripts into the GUI/QSF.

 

Could the PRE_FLOW_SCRIPT_FILE, POST_MODULE_SCRIPT_FILE, POST_FLOW_SCRIPT_FILE attributes be used? How?

Kenny_Tan
Moderator
232 Views

Nope, you can refer to https://www.intel.com/content/www/us/en/programmable/support/support-resources/design-examples/desig...

 

It is actually the same like the example above by not using GUI. Any reason that you need to use gui to automate the process? Usually, the solution is not using GUI for scripting purposes.

 

 

 

 

Kenny_Tan
Moderator
232 Views

Any update?

Reply