I have the array_axis_vcs VUNIT example running. Now I want to customize the example to my needs, a.o. increasing the data_width size (32 bit in the example).
Doing this, the error below appears. It seems there is a limitation to 32 bit for the AXIS data width in the packages.
Is there a fundamental reason why this is? Maybe a workaround?
Actually I want to transmit 32 signed(9 downto 0) values per clock cycle, which I would then map to std_logic_vector(319 downto 0). I would expect the AXIS code just treat this payload as std_logic_vector, but somewhere it tries to convert it to signed.
# Stack trace result from 'tb' command
# /usr/lib/python2.7/site-packages/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd 220 return [address 0x7feff05dbae7] Subprogram set_word_size
# called from /usr/lib/python2.7/site-packages/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd 273 return [address 0x7feff05d8215] Subprogram new_3d
# called from /usr/lib/python2.7/site-packages/vunit/vhdl/array/src/array_pkg.vhd 210 return [address 0x7feff0b9a75b] Subprogram array_t.init_3d
# called from /usr/lib/python2.7/site-packages/vunit/vhdl/array/src/array_pkg.vhd 196 return [address 0x7feff0b9a642] Subprogram array_t.init_2d
# called from /hsdtlvob/impala/design_sources/dpu_common/axis_buffer/src/test/tb_axis_loop.vhd 122 return [address 0x7feff0ba5ddb] Process save
#
#
# Surrounding code from 'see' command
# 215 : procedure set_word_size(variable arr : inout integer_array_t;
# 216 : bit_width : natural := 32;
# 217 : is_signed : boolean := true) is
# 218 : begin
# 219 : assert (1 <= bit_width and bit_width < 32) or (bit_width = 32 and is_signed)
# ->220 : report "Unsupported combination of bit_width and is_signed";
# 221 : arr.bit_width := bit_width;
# 222 : arr.is_signed := is_signed;
# 223 :
# 224 : if arr.is_signed then