Forum Discussion
Hi Ric2,
Sorry for the late reply, I have consulted the team regarding the issue.
According to the compiler error: Compiler Error: The data type carried by _InStream exceeds the bits per symbol. You can either enable the sideband signal 'use empty' or increase the bits per symbol.
Try to set the sideband signal to empty as below will avoid the error:
false>; // disable the empty signal
to
true>; // enable the empty signal
Thanks.
Regards,
Aik Eu
Hi Aik,
thank you for providing feedback! And yes, the proposed change make the implementation of non power of 2 data width possible.
However I have two concerns:
1) Is this a workaround or intended behaviour?
From the Avalon ST specification I got
The empty signal is required on all packet interfaces whose data signal carries more than one symbol of data and have a variable length packet format. The size of the empty signal in bits is ceil[log2(<symbols per cycle>)].
From the tcl build script I see
set_interface_property avm_channel_id_acl_c_InStream_pipe_channel_read symbolsPerBeat 1
which I interprete to be a data signal that just carries one symbol of data. This in turn will NOT require the empty signal to be required.
2) The proposed solution will change the interface of a production design which was originally designed in i++ HLS. I need to be sure that this change is required and consistent.
May I ask you to elaborate the two concerns from above.
Thank you! Ric.