12-19-2016 10:57 AM
When I try to run updatemem either from within Vivado or from the shell, it crashes with the following error:
****** updatemem v2016.2 (64-bit) **** SW Build 1577090 on Thu Jun 2 16:32:35 MDT 2016 **** IP Build 1577682 on Fri Jun 3 12:00:54 MDT 2016 ** Copyright 1986-2016 Xilinx, Inc. All Rights Reserved. Sourcing tcl script '/mnt/xilinx/Vivado/2016.2/scripts/init.tcl' invalid command name "enable_beta_device" while executing "enable_beta_device" (file "/mnt/xilinx/Vivado/2016.2/scripts/init.tcl" line 1) INFO: [Common 17-206] Exiting updatemem at Mon Dec 19 19:49:37 2016... child process exited abnormally
init.tcl contains only the following two lines
enable_beta_device if {[regexp {^2016\.[12].*} [version -short]]} { set_param bitgen.maxThreads 1 }
When I comment the commands within init.tcl out, everything works fine.
Any ideas?
12-20-2016 10:38 PM
@so-lli1 The root cause is updatemem utility source the init.tcl and fails as enable_beta_device is not a valid command for updatemem.
I will file a CR on this.
There is no other workaround other than the already proposed ones.
12-19-2016 11:11 AM
"Have you checked if the license for ES1 has expired? The early batch of ES1 licenses have an expiration of Sep-30. You may need to generate a new set ES1 licenses."
Already answered in an earlier thread, this may be your issue?
12-19-2016 01:08 PM
I seen this too before. To WA I disabled the enable_beta_device in the init.tcl. Also, if I called the updatemem.bat (on windows) from the SDK install with the exec command, this worked for me too:
12-19-2016 10:19 PM
@austin: I do not have a separate license called ES1 in the license manager, only parts with this suffix, and they are not the ones which I try to run updatemem at. Could there still be a connection?
@stephenm: The problem is, that disabling the init.tcl commands is not an option for me, since we use multiple build machines. I need the root cause fixed. I also tried exec before, but with the exact same result.
Btw, it is not related to enable_beta_device. When I comment out this line, updatemem is complaining about the next line...
I will try to run the command on another working station today.
Is there a way to verify that the updatemem command worked?
12-19-2016 11:05 PM
@so-lli1 Can you add the tcl catch statement for enable beta device? Catch would work for your flow and you don't need manually remove it.
12-20-2016 06:44 AM
@pratham: If I understand you correct, then I would have to add this catch instruction within every init.tcl on all build machines. This is not really an option. Is there no way around this issue?
Tried it on another working machine, the error is reproducible.
12-20-2016 10:38 PM
@so-lli1 The root cause is updatemem utility source the init.tcl and fails as enable_beta_device is not a valid command for updatemem.
I will file a CR on this.
There is no other workaround other than the already proposed ones.
12-21-2016 01:11 AM
@pratham: Thats what I thought. So I will have to live with the bugfix for now and hopefully this will be fixed in a future release.
Anyway, thank you.
04-13-2017 05:22 AM