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!

AR# 47491

Vivado - Can I get a status of a specific run through checking one overall property?


Is there a way to determine whether a run needs to be started (this is, outdated, never started, or had an error last time or other reasons) or if it is "up to date" (has run and is still current) and as such does not need to be run?


There is no single status check that can be performed to accomplish this goal in a Tcl script. However, there are multiple checks which can be done to gain this information and determine what needs to be ran or not next from the Tcl script.

Customers can use the "get_property" command to get the values of the properties for a run something like the following:

STATUS [get_runs synth_1]e

XST Complete!

get_property PROGRESS [get_runs synth_1]


get_property NEEDS_REFRESH [get_runs synth_1]


It must be noted that the output of "launch_runs" will give a return code but simply the return value from the underlying tool is not sufficient in finding out if things are complete and up to date. Therefore to achieve the complete status a combination of thethree commands above is required.

set isAllOk false

set outputOfSynthRun [launch_runs synth_1]

set runStatus [get_property STATUS [get_runs synth_1]

set runProgress [get_property PROGRESS [get_runs synth_1]]

if { $outputOfSynthRun == 0 && $runStatus == "XST Complete!" && $runProgress == "100%"} {

set isAllOk true

} else {

set is AllOk false


AR# 47491
Date Created 10/19/2012
Last Updated 12/15/2012
Status Active
Type General Article
  • ISE Design Suite - 13.4
  • ISE Design Suite - 14.1