For most designs using streaming data, the default RTL FIFO depth of 2 is sufficient. Streaming data is generally processed one sample at a time.
For multirate designs in which the implementation requires a FIFO with a depth greater than 2, you must determine (and set using the STREAM directive) the depth necessary for the RTL simulation to complete. If the FIFO depth is insufficient, RTL co-simulation stalls.
Because stream objects cannot be viewed in the GUI directives pane, the STREAM directive cannot be applied directly in that pane.
Right-click the function in which an hls::stream<>
object is declared (or is used, or exists in the argument list) to:
- Select the STREAM directive.
- Populate the
variable
field manually with name of the stream variable.
Alternatively, you can:
- Specify the STREAM directive manually in the
directives.tcl
file, or - Add it as a pragma in
source
.