cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
zig
Observer
Observer
300 Views
Registered: ‎06-04-2018

Error while importing block design by tcl script

I am trying to import a block design by tcl script (2018.2 to 2020.2).

Script created by write_bd_tcl -force -no_ip_version [get_property DIRECTORY [current_project]]/bd.tcl

An error occurs during import:

Spoiler

ERROR: [IP_Flow 19-3461] Value '16' is out of the range for parameter 'FIFO Depth(C_FIFO_DEPTH)' for BD Cell 'TST_BLOCK/AXI_SPI_TST_DACF' . Valid values are - 0
INFO: [IP_Flow 19-3438] Customization errors found on 'TST_BLOCK/AXI_SPI_TST_DACF'. Restoring to previous valid configuration.
INFO: [Common 17-17] undo 'set_property'
ERROR: [Common 17-39] 'set_property' failed due to earlier errors.

while executing
"rdi::add_properties -dict {CONFIG.C_FIFO_DEPTH 16 CONFIG.C_NUM_TRANSFER_BITS 16 CONFIG.C_SCK_RATIO 8 CONFIG.C_USE_STARTUP 0 CONFIG.C_USE_STARTUP_INT 0..."
invoked from within
"set_property -dict [ list CONFIG.C_FIFO_DEPTH {16} CONFIG.C_NUM_TRANSFER_BITS {16} CONFIG.C_SCK_RATIO {8} CONFIG.C_USE_STARTUP {0} CONFIG.C_USE_S..."
(procedure "create_hier_cell_TST_BLOCK" line 51)
invoked from within
"create_hier_cell_TST_BLOCK [current_bd_instance .] TST_BLOCK"
(procedure "create_root_design" line 160)
invoked from within
"create_root_design """
(file "C:/temp/test_userIP/bd.tcl" line 3285)

But in imported script an instance of AXI_SPI_TST_DACF configurated without FIFO:

Spoiler
  # Create instance: AXI_SPI_TST_DACF, and set properties
  set AXI_SPI_TST_DACF [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_quad_spi AXI_SPI_TST_DACF ]
  set_property -dict [ list \
   CONFIG.C_FIFO_DEPTH {16} \
   CONFIG.C_NUM_TRANSFER_BITS {16\
   CONFIG.C_SCK_RATIO {8\
   CONFIG.C_USE_STARTUP {0\
   CONFIG.C_USE_STARTUP_INT {0\
   CONFIG.FIFO_INCLUDED {0} \
 ] $AXI_SPI_TST_DACF
Why vivado giving an error?

 

0 Kudos
6 Replies
amaccre
Moderator
Moderator
237 Views
Registered: ‎04-24-2013

Hi @zig ,

The most likely reason that you cannot run the 2018.2 block design tcl script in 2020.2 is that one or more of the IP has changed. Typically each version of Vivado is supplied with only one version of an IP and this version or the revision can change with each release.

The correct way to upgrade the block design is to open it in 2018.2 and save the project. Then open the project in 2020.2 and either update or save a new copy. Then open the block design and run Report IP Status, follow any instructions provided by the tools if needed.

You can then write out a new block design tcl file for 2020.2 if you wish.

Best Regards
Aidan

 

------------------------------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if this answered your question
Give Kudos to a post which you think is helpful and may help other users
------------------------------------------------------------------------------------------------------------------
0 Kudos
zig
Observer
Observer
213 Views
Registered: ‎06-04-2018

Hmm, I tried running the block design import in vivado 2018.2 and got the same error again!

0 Kudos
amaccre
Moderator
Moderator
201 Views
Registered: ‎04-24-2013

Hi @zig ,

I ran the script in 2018.2 and saw that there were errors relating to the CONFIG.C_FIFO_DEPTH in 3 IP:

AXI_SPI_DAC
AXI_SPI_TST_DACF
AXI_SPI_TST_DACF

I modified this to 0 and was able to get the script to run. It is always worth running validation on the Block Design prior to writing out the script in case there are any incompatibliities

You may wish to changes these settings to the correct versions for your design.

Attached is the 2020.2 tcl script that I generated.

Best Regards
Aidan

 

------------------------------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if this answered your question
Give Kudos to a post which you think is helpful and may help other users
------------------------------------------------------------------------------------------------------------------
0 Kudos
zig
Observer
Observer
180 Views
Registered: ‎06-04-2018

Thank you!
I have validated the block design before exporting to the tcl script. It successful.
But again in the script I see two parameters:

CONFIG.C_FIFO_DEPTH {16}

CONFIG.FIFO_INCLUDED {0}

Does vivado generate the tcl script incorrectly?

0 Kudos
amaccre
Moderator
Moderator
173 Views
Registered: ‎04-24-2013

Hi Zig,

Are you seeing any errors when you source the file? I reran it and saw none once I included the location of your IP so that it could run.

I have attached the log file and the resulting .bd file

Best Regards
Aidan

 

------------------------------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if this answered your question
Give Kudos to a post which you think is helpful and may help other users
------------------------------------------------------------------------------------------------------------------
0 Kudos
zig
Observer
Observer
163 Views
Registered: ‎06-04-2018

I mean my original block design. Validation is successful, but the tcl script contains a parameters (CONFIG.C_FIFO_DEPTH {16} / CONFIG.FIFO_INCLUDED {0}) that, when the script is executed, results in an error.

I generate tcl script and execute it in the same vivado 2018.2 (where I created the project).

0 Kudos