cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
laurencebarker
Participant
Participant
1,306 Views
Registered: ‎05-27-2018

error reconstructing a block design created by write_bd_tcl

Jump to solution

I've created the tcl scripts in vivado 2018.3 to recreate block designs by using write_bd_tcl. For 4 of my block designs I've been able to reconstruct the block design into a new project; for the fifth, it failed with an error.

The error related to reconstructing an axi stream broadcaster.  The block has "auto" selected for master and slave bus widths. The error was: the two output stream tdata remap strings tdata[31:0] can't fit the data width (which it has set to 8 bits). (Sorry - I closed vivado before writing this so I can't copy the exact error message).

 

I have other axi stream broadcasters which reconstruct OK; looking at them, they all have the master and slave bus widths set manually, and the relevant parameters are in the .TCL file.

I have been able to work around this by manually editing the TCL file to add parameters for the bus widths: the edited .TCL file works OK. Snippets below to show what I did.

Is this some kind of bug - I can't see why my use of the block (with auto selection of bus widths) was incorrect?

 

 

ORIGINAL .TCL snippet:

  # Create instance: axis_broadcaster_0, and set properties
  set axis_broadcaster_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axis_broadcaster:1.1 axis_broadcaster_0 ]
  set_property -dict [ list \
   CONFIG.HAS_TREADY {0} \
   CONFIG.M00_TDATA_REMAP {tdata[31:0]} \
   CONFIG.M01_TDATA_REMAP {tdata[31:0]} \
 ] $axis_broadcaster_0

 

 

MODIFIED .TCL snippet:

  # Create instance: axis_broadcaster_0, and set properties
  set axis_broadcaster_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axis_broadcaster:1.1 axis_broadcaster_0 ]
  set_property -dict [ list \
   CONFIG.HAS_TREADY {0} \
   CONFIG.M00_TDATA_REMAP {tdata[31:0]} \
   CONFIG.M01_TDATA_REMAP {tdata[31:0]} \
   CONFIG.M_TDATA_NUM_BYTES {4} \
   CONFIG.S_TDATA_NUM_BYTES {4} \
 ] $axis_broadcaster_0

 

 

 

0 Kudos
1 Solution

Accepted Solutions
dm78
Adventurer
Adventurer
1,223 Views
Registered: ‎03-15-2012

I think too, that this is a bug. The reason is, that in auto-mode, no TDATA_NUM_BYTES are set, but without it, the bus sizes are not set properly (at this moment) so setting REMAP fails.

I read that xilinx is aware of it, but claims it as no failure because the scripts are "only" for help how to write tcl-files and have to be revised. They are not bullet-proof.

see https://forums.xilinx.com/t5/Embedded-Processor-System-Design/problem-with-TDATA-widths-in-AXI4-Stream-Broadcaster/td-p/499092

View solution in original post

0 Kudos
1 Reply
dm78
Adventurer
Adventurer
1,224 Views
Registered: ‎03-15-2012

I think too, that this is a bug. The reason is, that in auto-mode, no TDATA_NUM_BYTES are set, but without it, the bus sizes are not set properly (at this moment) so setting REMAP fails.

I read that xilinx is aware of it, but claims it as no failure because the scripts are "only" for help how to write tcl-files and have to be revised. They are not bullet-proof.

see https://forums.xilinx.com/t5/Embedded-Processor-System-Design/problem-with-TDATA-widths-in-AXI4-Stream-Broadcaster/td-p/499092

View solution in original post

0 Kudos