Intel® High Level Synthesis Compiler Pro Edition: Reference Manual
Visible to Intel only — GUID: iwj1553390309012
Ixiasoft
Visible to Intel only — GUID: iwj1553390309012
Ixiasoft
14.13.1. ihc::stream Class
Template Object or Parameter | Description |
---|---|
ihc::stream | Streaming interface to the component or task function. |
ihc::buffer | Specifies the capacity (in words) of the FIFO buffer on the input data that associates with the stream. |
ihc::usesPackets | Exposes the startofpacket and endofpacket sideband signals on the stream interface. |
ihc::stream Template Object
- Syntax
- ihc::stream<datatype, template arguments >
- Valid Values
- Any trivially copyable C++ data type.
- Default Value
- N/A
- Description
-
Streaming interface to the component or task.
The width of the stream data bus is equal to a width of sizeof(datatype).
ihc::buffer Template Parameter
- Syntax
- ihc::buffer<value>
- Valid Values
- Non-negative integer value.
- Default Value
- 0
- Description
- The capacity, in words, of the FIFO buffer on the input data that associates with the stream.
ihc::usesPackets Template Parameter
- Syntax
- ihc::usesPackets<value>
- Valid Values
- true or false
- Default Value
- false
- Description
- Exposes the startofpacket and endofpacket sideband signals on the stream interface, which can be accessed by the packet based reads/writes.
Intel® HLS Compiler System of Tasks Streaming Interface stream Function APIs
Function API | Description |
---|---|
T read() | Blocking read call to be used from within the component or task |
T read(bool& sop, bool& eop) | Available only if usesPackets<true> is set. Blocking read with out-of-band startofpacket and endofpacket signals. |
T tryRead(bool &success) | Non-blocking read call to be used from within the component or task. The success bool is set to true if the read was valid. |
T tryRead(bool& success, bool& sop, bool& eop) | Available only if usesPackets<true> is set. Non-blocking read with out-of-band startofpacket and endofpacket signals. |
void write(T data) | Blocking write call from the component or task. |
void write(T data, bool sop, bool eop) | Available only if usesPackets<true> is set. Blocking write with out-of-band startofpacket and endofpacket signals. |
bool tryWrite(T data) | Non-blocking write call from the component or task. The return value represents whether the write was successful. |
bool tryWrite(T data, bool sop, bool eop) | Available only if usesPackets<true> is set. Non-blocking write with out-of-band startofpacket and endofpacket signals.The return value represents whether the write was successful. |