cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Anonymous
Not applicable
9,678 Views

Source control safe TCL scripting with PlanAhead

Jump to solution

I want to use TCL to to a script based build that is source
control safe.

 

 

This means that the source directory files can be read only,
and could be "checked out" automatically from the source control on a
machine that has the Xilinx tools installed, but no other setup. References to
source files need to be relative, as multiple runs might conflict on a single
file name.

 

 

 

Is anyone using PlanAhead TCL for this?

 

 

Or perhaps tried to use this and found issues?

 

 

Specifically:

 

How do you handle strategy files?

 

 

I can set a strategy file with something like this:

 

 

set_property strategy ParHighEffortMAPdetailed [get_runs imply_1]

 

 

 

However, this file seems to live someplace outside the
source directory, in the "home", which on Windows 7 seems to be
something like this:

 

 

C:\Users\<your name
here>\AppData\Roaming\Xilinx\PlanAhead\strategies

 

 

This is a real problem as this file would need to be set up
here, and multiple runs would conflict on this file.

 

 

I tried this:

 

 

set_property strategy "../src/ParHighEffortMapdetail" [get_runs imply_1]

 

 

And it fails.

 

 

Or am I limited to only the built in strategies for source control safe scripts? If so, is there a way to modify settings for implementation tools (MAP, PAR) etc.) outside the strategy file? Such as from the TCL script or from other files?

 

 

 

Phil Hays

 

0 Kudos
1 Solution

Accepted Solutions
woodsd
Xilinx Employee
Xilinx Employee
15,059 Views
Registered: ‎04-16-2008

You can use one of the default runs and then modify it:

   create_run impl_1 -srcset $i -constrset constrs_$i -flow {ISE 13} -strategy {ISE Defaults}   

   config_run impl_1 -program map -option -pr -value b   

   config_run impl_1 -program map -option -ignore_keep_hierarchy -value true   

   config_run impl_1 -program map -option -lc -value auto   

 

Also, when you select a strategy to use, it copies from the $HOME/.Xilinx/PlanAhead... to the projects "project_name.data/runs/impl_1.psg".

 

These strategy files are just inputs, and should not conflict.  

View solution in original post

0 Kudos
3 Replies
woodsd
Xilinx Employee
Xilinx Employee
15,060 Views
Registered: ‎04-16-2008

You can use one of the default runs and then modify it:

   create_run impl_1 -srcset $i -constrset constrs_$i -flow {ISE 13} -strategy {ISE Defaults}   

   config_run impl_1 -program map -option -pr -value b   

   config_run impl_1 -program map -option -ignore_keep_hierarchy -value true   

   config_run impl_1 -program map -option -lc -value auto   

 

Also, when you select a strategy to use, it copies from the $HOME/.Xilinx/PlanAhead... to the projects "project_name.data/runs/impl_1.psg".

 

These strategy files are just inputs, and should not conflict.  

View solution in original post

0 Kudos
Anonymous
Not applicable
9,653 Views

 

Default strategy files do not conflict.

 

Setting options directly in TCL does not conflict.

 

This provides the required functionality.

 

 

Custom strategy files do conflict.

 

To make custom strategy files more useful, they would need to be in a relative path, not an absolute path.

 

Enhancement request: Add some way of loading a strategy file from a relative path, so that it is source control safe.

 

 

Phil Hays

 

0 Kudos
mthek
Visitor
Visitor
9,502 Views
Registered: ‎02-15-2012

"Enhancement request: Add some way of loading a strategy file from a relative path, so that it is source control safe."

 

I absolutely vote for that!!!!

0 Kudos