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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Advisor evgenis1
Advisor
5,266 Views
Registered: ‎12-03-2007

TCL command to determine which runs are out-of-context in the current design

Hi,

 

There is a TCL command "get_runs" that returns the list of runs, which can be synthesis, implementation, or out-of-context. 

I need to determine which of those runs are out-of-context. 

I cannot use -regexp option, because names are arbitrary.

Perhaps there is a way to use -filter, but I cannot find the right property.

Any other suggestions are appreciated.

 

Thanks,

Evgeni

Tags (1)
0 Kudos
4 Replies
Moderator
Moderator
5,260 Views
Registered: ‎09-15-2016

Re: TCL command to determine which runs are out-of-context in the current design

Hi @evgenis1

 

You can use below command which will return regular synthesis run and rest of the runs will be out-of-context runs(if set as out of context) before running synthesis.

get_runs -regexp -filter {IS_SYNTHESIS}

 

Hope this helps.

 

Regards

Rohit

----------------------------------------------------------------------------------------------
Kindly note- 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.
----------------------------------------------------------------------------------------------

Regards
Rohit
----------------------------------------------------------------------------------------------
Kindly note- 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.
----------------------------------------------------------------------------------------------

0 Kudos
Highlighted
Advisor evgenis1
Advisor
5,074 Views
Registered: ‎12-03-2007

Re: TCL command to determine which runs are out-of-context in the current design

Hi Rohit,

 

This approach doesn't work.

"get_runs -regexp -filter {IS_SYNTHESIS}" command returns all synthesis runs, including out-of-context.

 

I'm looking for a command to distinguish regular and out-of-context synthesis runs.

 

Edit:

Here is a kludge I'm currently using to solve this. To figure out which runs are out-of-context (OOC) within lists of synthesis and implementation runs, I read CONSTRSET, SRCSET, and NAME properties of the run using "get_property <property_name> <run_name>" command. Then I determine if CONSTRSET and SRCSET are substrings of NAME. For example, for ila_01 core, Vivado creates ila_01_synth_1 and ila_01_impl_1 runs.

 

Edit #2:

@thakurr , 

 

In XilinxTclStore, write_project_tcl.tcl file, I found "is_ip_run" function on line 1913.

This seems to be a proper way to determine if the run is IP/OOC or not.

 

 

Thanks,

Evgeni

Tags (2)
0 Kudos
Moderator
Moderator
5,019 Views
Registered: ‎09-15-2016

Re: TCL command to determine which runs are out-of-context in the current design

Hi @evgenis1

 

Thank you for your headway. This is really knowledgeable and helpful.

 

Regards'

Rohit

Regards
Rohit
----------------------------------------------------------------------------------------------
Kindly note- 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.
----------------------------------------------------------------------------------------------

0 Kudos
Moderator
Moderator
4,958 Views
Registered: ‎09-15-2016

Re: TCL command to determine which runs are out-of-context in the current design

Hi @evgenis1

 

I think you can try something like the below command to find out whether the run is ooc or not.

 

if { "BlockSrcs" == [get_property FILESET_TYPE [get_property SRCSET [get_runs <run_name>]]] } {
return ooc
} {
return not ooc

}

 

Hope this helps.

 

Regards

Rohit

Regards
Rohit
----------------------------------------------------------------------------------------------
Kindly note- 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.
----------------------------------------------------------------------------------------------

0 Kudos