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!

AR# 41974

PlanAhead - Running a Tcl script from the JOU file gives: "The Configuration must be implemented before it can be promoted"

Description

I create a Tcl script from the journal file (.jou) and then run it to recreate the results obtained through the PlanAhead tool GUI, but when the Tcl scriptis run,an error appears. The next example shows an error that is displayed for promoting a run in a Partial Reconfiguration flow:

# promote_run -run config_1 -partition_names {TOP PR0_inst PR1_inst PR2_inst}

Time (s): 10.770u 0.410s 34.940w. Memory (MB): 218.742p 156.129g

"ERROR: The Configuration is not implemented.The Configuration must be implemented before it can be promoted.

while executing

"promote_run -run config_1 -partition_names {TOP PR0_inst PR1_inst PR2_inst}"

(file "planAhead.tcl" line 42)"

The script was based on the following GUI command log:

create_run -name config_2 -flow {ISE 13} -strategy {ISE Defaults}
config_partition -run config_2 -import -preservation routing
config_partition -run config_2 -cell PR0_inst -reconfig_module module0 -implement
config_partition -run config_2 -cell PR1_inst -reconfig_module module1 -implement
config_partition -run config_2 -cell PR2_inst -reconfig_module module2 -implement
launch_runs config_1 -force
promote_run -run config_1 -partition_names {TOP PR0_inst PR1_inst PR2_inst}
launch_runs config_2

Solution

The problem is that the"promote_run" command starts before the launch_run execution completes.In the GUI, the handshaking is taken care of automatically.When creating a Tcl script, you must add a wait_on_run command to ensure that a run completes before a dependent run is executed.This applies to synthesis, implementation, and configuration runs executed in order.

The error in the example abovecan be avoided by using a"wait_on_run" command as shown below:

create_run -name config_2 -flow {ISE 13} -strategy {ISE Defaults}
config_partition -run config_2 -import -preservation routing
config_partition -run config_2 -cell PR0_inst -reconfig_module module0 -implement
config_partition -run config_2 -cell PR1_inst -reconfig_module module1 -implement
config_partition -run config_2 -cell PR2_inst -reconfig_module module2 -implement
launch_runs config_1 -force
wait_on_run config_1
promote_run -run config_1 -partition_names {TOP PR0_inst PR1_inst PR2_inst}

AR# 41974
Date Created 11/18/2011
Last Updated 12/15/2012
Status Active
Type General Article
Tools
  • PlanAhead - 12.1
  • PlanAhead - 13.1