cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
dylancob
Contributor
Contributor
355 Views
Registered: ‎07-22-2020

Vivado Block Diagram TCL Import - Backwards Compatibility (2020.2 to 2019.2)

Jump to solution

I am currently trying to create a project in 2019.2 based off a BD TCL file generated in 2020.2 (which was ironically generated from a 2019.2 block diagram TCL file), and keep running into errors when trying to import it. I changed the scripts_vivado_version line to 2019.2 to override any errors it gave me concerning version, but it doesn't recognize a lot of the commands the tcl file is using.

Why doesn't Vivado support this downgrade importation, and is there anything I can do to fix it? Seems kinda stupid that you can't import a block diagram on a earlier version that is so close together in years (2020.2 released in Nov 2020, 2019.2 released in Nov 2019)

0 Kudos
1 Solution

Accepted Solutions
florentw
Moderator
Moderator
294 Views
Registered: ‎11-09-2015

HI @dylancob 

A TCL file will work only in the version it was generated. So even a TCL generated in 2020.1 might not work in 2020.2. 

This is because the IPs from the IP catalogue might be changing. So the ports might be changing and the design will be broken. So for moving to a new version, the recommendation is to open the project in the new version and let the tool upgrade the project which will generate a report to let you know if there are parts you need to look at.

However when you have a project built, this is not backward compatible (you can only upgrade to a new version).

In general the recommendation is to use the latest version of the tools as there are issue fixed, new features, enhanced QoR etc... And also, only the last 2 major releases are supported. So for the moment 2019.x (2019.1, 2019.2,2019.3) and 2020.x (2020.1, 2020.2). But soon, when 2021.1 will be released, 2019.x will not be supported anymore.

With that said, there is still way to manually update the TCL to be used in a backward version. Most of the time, in addition of changing scripts_vivado_version, you only need to change the versions of all the IPs used in the project. But this might break the design as the IP definition might have a major change.


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

0 Kudos
3 Replies
florentw
Moderator
Moderator
295 Views
Registered: ‎11-09-2015

HI @dylancob 

A TCL file will work only in the version it was generated. So even a TCL generated in 2020.1 might not work in 2020.2. 

This is because the IPs from the IP catalogue might be changing. So the ports might be changing and the design will be broken. So for moving to a new version, the recommendation is to open the project in the new version and let the tool upgrade the project which will generate a report to let you know if there are parts you need to look at.

However when you have a project built, this is not backward compatible (you can only upgrade to a new version).

In general the recommendation is to use the latest version of the tools as there are issue fixed, new features, enhanced QoR etc... And also, only the last 2 major releases are supported. So for the moment 2019.x (2019.1, 2019.2,2019.3) and 2020.x (2020.1, 2020.2). But soon, when 2021.1 will be released, 2019.x will not be supported anymore.

With that said, there is still way to manually update the TCL to be used in a backward version. Most of the time, in addition of changing scripts_vivado_version, you only need to change the versions of all the IPs used in the project. But this might break the design as the IP definition might have a major change.


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

0 Kudos
dylancob
Contributor
Contributor
292 Views
Registered: ‎07-22-2020

Good to know, thank you @florentw 

I have been able to build projects in 2019.2 and move the TCL file to 2020.2 no problem, by editing that scripts_vivado_version parameter in the TCL file, but I just can't do the opposite way

0 Kudos
florentw
Moderator
Moderator
282 Views
Registered: ‎11-09-2015

HI @dylancob 

scripts_vivado_version (both upgrading and downgrading) only works if the IPs revisions (for the IPs you have in the design) are not changing and if no tcl command is changing. There is nothing specific to "block only" downgrading


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**