UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Reply

Making timing violations fatal to the Vivado build

Accepted Solution Solved
Contributor
Posts: 44
Registered: ‎09-12-2007
Accepted Solution

Making timing violations fatal to the Vivado build

I have been looking in the Vivado user guides and GUI menus for a way to escalate any timing violation from a warning to a fatal error. I need a way to know that any BIT file generated by my build TCL script has met timing constraints with zero violations. Is there a property for setting the implementation to never generate a BIT file when a timing violation exists after implementation in a build?

 

Thanks in advance for your help!

jlevieux

 


Accepted Solutions
Moderator
Posts: 687
Registered: ‎05-07-2015

Re: Making timing violations fatal to the Vivado build

rHI @jlevieux

 

If your design after place and route, does not meet timing requirements, the following critical warning message will be generated at the end of implementation.

Critical warning message - [Route 35-39] The design did not meet timing requirements. Please run report_timing_summary for detailed reports.

All you need to do is to promote this critical warning message to an ERROR at the start of build script itself, with the following tcl command.(refer AR65179)

set_msg_config -id {Route 35-39} -new_severity {ERROR}

 This way the run will error out at the end of implementation without proceeding to write_bitstream.

Thanks
Bharath
--------------------------------------------------​--------------------------------------------
Please mark the Answer as "Accept as solution" if information provided addresses your query/concern.
Give Kudos to a post which you think is helpful.
--------------------------------------------------​-------------------------------------------

View solution in original post


All Replies
Moderator
Posts: 1,498
Registered: ‎01-16-2013

Re: Making timing violations fatal to the Vivado build

Hi,

 

There is no specific way of stopping tool by adding Fatal error.

The one can use the  TCL script to decide providing the conditions.

 

Thanks,
Yash

Moderator
Posts: 8,649
Registered: ‎02-27-2008

Re: Making timing violations fatal to the Vivado build

report_clock_interaction

 

combined with other TCL commands, like close_project could be used to shut things down, I believe.

 

The TCL command reference (UG835) is worth reviewing.  TCL can be very effective in customizing your flow.

 

You may also define your own design rule checks, (DRC) too.

 

 

Austin Lesea
Principal Engineer
Xilinx San Jose
Moderator
Posts: 5,300
Registered: ‎08-01-2008

Re: Making timing violations fatal to the Vivado build

the other way to make sure design meet timing depends upon your target device selection with speed grade .

Check the characteristic report of target device and resources. the Chances are there you will meet timing
Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
Teacher
Posts: 5,146
Registered: ‎03-31-2012

Re: Making timing violations fatal to the Vivado build

you can run a post implementation script and check negative timing with

 

[get_property SLACK [get_timing_paths]] < 0

 

then you can take any action you want based on it.

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
Moderator
Posts: 687
Registered: ‎05-07-2015

Re: Making timing violations fatal to the Vivado build

rHI @jlevieux

 

If your design after place and route, does not meet timing requirements, the following critical warning message will be generated at the end of implementation.

Critical warning message - [Route 35-39] The design did not meet timing requirements. Please run report_timing_summary for detailed reports.

All you need to do is to promote this critical warning message to an ERROR at the start of build script itself, with the following tcl command.(refer AR65179)

set_msg_config -id {Route 35-39} -new_severity {ERROR}

 This way the run will error out at the end of implementation without proceeding to write_bitstream.

Thanks
Bharath
--------------------------------------------------​--------------------------------------------
Please mark the Answer as "Accept as solution" if information provided addresses your query/concern.
Give Kudos to a post which you think is helpful.
--------------------------------------------------​-------------------------------------------
Visitor
Posts: 6
Registered: ‎04-06-2012

Re: Making timing violations fatal to the Vivado build

Hi All,

 

I have tried the tcl commands as given, but no luck. The build still passes with only critical warnings. I will have to write a script that searches the timing summary file looking for the string "Slack (VIOLATED)" and have it cause an error instead. But thanks for the info.

 

J.B.

Highlighted
Teacher
Posts: 5,146
Registered: ‎03-31-2012

Re: Making timing violations fatal to the Vivado build

@queue1114 as I mention above, you don't have to search the log file but can check the timing slack directly from a script which you add as the last stage

[get_property SLACK [get_timing_paths]] 

 

This gives you a value and you can take any action on it within the build script if it's less than 0 (ie timing failed). I have a script which runs iterative optimizations a couple of times to see if it can be improved: http://blog.dspia.com/2016/04/30/how-to-find-all-the-cells-in-a-timing-path-in-xilinx-vivado/

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.