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: 
Highlighted
Observer redted
Observer
505 Views
Registered: ‎04-04-2013

TCL yielding inconsistent behaviour

Vivado 18.3 crashes or yields unexpected results on trivial tcl commands, i.e. below

set b1
SLICE_X8Y133/GFF2 SLICE_X8Y133/GFF
select_objects [lindex $b1 0]
INFO: [Coretcl 2-12] 'SLICE_X8Y8/FFF2' selected.
select_objects [lindex $b1 1]
INFO: [Coretcl 2-12] 'SLICE_X6Y50/BFF2' selected.

In no way is it apparent to me why the last command would select slice X6Y50/BFF2, considering the first line.

Since Vivado crashes as well (randomly) when combining commands like the above with `get_tiles` (i.e. sometimes i can "select_objects [get_tiles -of_objects $b1]", and sometimes Vivado errors and leaves an error log like such.

I am on Centos 6and not amused as this is not the first inconsistent behaviour encountered with Vivado.

0 Kudos
4 Replies
Moderator
Moderator
464 Views
Registered: ‎03-16-2017

Re: TCL yielding inconsistent behaviour

Hi @redted,

Can you share the script and source files to reproduce this Vivado crash at our end? 

If yes, i will send you the ezmove ftp test package to send the necessary file to reproduce this crash.

Meanwhile also make sure you are using supported version of CentOS for Vivado 2018.3 which are  CentOS 6.7, 6.8, and 6.9 (64-bit), CentOS 7.2, 7.3, 7.4, and 7.5 (64-bit)

 

Regards,
hemangd

Don't forget to give kudos and mark it as accepted solution if your issue gets resolved.
0 Kudos
Observer redted
Observer
454 Views
Registered: ‎04-04-2013

Re: TCL yielding inconsistent behaviour

I am running on CentOS Linux release 7.6.1810, which is not in the 7.5 line officially supported, however, in accordance with this serverfault post this should not be an issue / Iam not inclined to downgrade to 7.5.

 

Furthermore, I attempted some further investigation, and here are my findings so far:

 

  1. There seems to be an issue with running commands on bel objects, i.e. (Project for xczu3eg-sfva625-1-i):
    #b was poulated using set b [get_selected_objects]
    set b SLICE_X18Y48/H6LUT SLICE_X18Y48/G6LUT lindex $b 0 SLICE_X18Y48/H6LUT select_objects [lindex $b 0] INFO: [Coretcl 2-12] 'SLICE_X0Y179/BOOTMODE_0' selected. lindex $b 1 SLICE_X18Y48/G6LUT select_objects [lindex $b 1] INFO: [Coretcl 2-12] 'SLICE_X15Y178/BOOTMODE_0' selected.
    The info indicates clearly that something wrong is selected, this is also shown when running `select_objects [get_tiles -of $b]`, which will select the tiles of the slices containing the BOOTMODE_0 bels.
  2. Vivado crashes way to frequently on simple commands, I had several crashes on Vivado 18.3 with commands like the above which would run sometimes, and sometimes crash the system. To rule out an issue with the Vivado install I also tested on Vivado 17.4 on Centos 7.6, and 18.2 on Ubuntu 16LT, both crashed when trying to run the last command in the following sequence:
    #select to LUT6 Bels (same slice) in a designcheckpoint (For Vivado 17.4 this was a Virtex7 checkpoint, In all other cases a Zynq Ultrascale checkpoint)
    set b [get_selected_objects]
    get_tiles -of $b
    select_objects [get_tiles -of $b]
  3. It seems do be independent of the checkpoint, i.e.  I currently dont see the need to supply a design (however i can check if we can release a dcp)
  4. The crashes are not consistent, i.e. sometimes I can run the code shown in 2. completely, and 

 

Attached are the logs of the Vivado 17.4 (pid25303) and the 18.2 crash. Furthermore, all log files I could find for the pid25303 crash are attached. Further testing obliterated the journal and log files of the 17.4 crash, i attached files for a 18.3 crash including log and journal (pid 12123). At this point I will have to focus on my actual work. If it helps the message when vivado crashes reads: Abnormal program termination (11). I am not sure about the significance of the (11).

As the frequent (not always) crashing of vivado with above command sequence is frustrating, I stopped my investigation at this point.

You could test on a Vivado 18.3 instance that the above commands run fine several times. you could send me the ezmove test package preemptively if it also helps for non deterministic crashes.

 

In short, could you kindly check, that

 

0 Kudos
Observer redted
Observer
452 Views
Registered: ‎04-04-2013

Re: TCL yielding inconsistent behaviour

your forum protested the str file and the jou, so here they are (I was afraid that the forum would time out on me again)

0 Kudos
Observer redted
Observer
403 Views
Registered: ‎04-04-2013

Re: TCL yielding inconsistent behaviour

@hemangd

I investigated a bit further, there seems to be a difference between how a collection is built, i.e.:

 

set b [get_selected_objects ]
SLICE_X14Y43/HFF2 SLICE_X14Y43/HFF
set c [get_bels {SLICE_X14Y43/HFF2 SLICE_X14Y43/HFF}]
SLICE_X14Y43/HFF SLICE_X14Y43/HFF2
lindex $b 1
SLICE_X14Y43/HFF
select_objects [lindex $b 0]
INFO: [Coretcl 2-12] 'SLICE_X6Y56/EFF' selected.
select_objects [lindex $b 1]
INFO: [Coretcl 2-12] 'SLICE_X8Y10/GFF2' selected.
select_objects [lindex $c 0]
INFO: [Coretcl 2-12] 'SLICE_X14Y43/HFF' selected.
select_objects [lindex $c 1]
INFO: [Coretcl 2-12] 'SLICE_X14Y43/HFF2' selected.

Note: While variables b and c look similar, the combination of select_objects and lindex shown gives odd results, if the (presumably) collection was built via get_selected_objects.

Could you please let me know if you:

  • a) can reproduce this kind of behaviour (I tired in Vivado 18.3 for part xczu3eg-sfva625-1-i),
  • b) if so, can it be fixed and what would the timeline be?

 

Kind regards,

Malte

0 Kudos