Visible to Intel only — GUID: omh1572910002891
Ixiasoft
Visible to Intel only — GUID: omh1572910002891
Ixiasoft
10.10. Intel® HLS Compiler Standard Edition Component Invocation Interface Arguments
Invocation Argument | Description |
---|---|
hls_avalon_streaming_component | This is the default component invocation interface. The component uses start, busy, stall, and done signals for handshaking. |
hls_avalon_slave_component | The start, done, and returndata (if applicable) signals are registered in the component slave memory map. |
hls_always_run_component | The start signal is tied to 1 internally in the component. There is no done signal output. |
hls_stall_free_return | If the downstream component never stalls, the stall signal is removed by internally setting it to 0. |
hls_avalon_streaming_component Argument
- Description
-
This is the default component invocation interface.
This attribute follows the Avalon®-ST protocol for both the function call and the return streams. The component consumes the unstable arguments when the start signal is asserted and the busy signal is deasserted. The component produces the return data when the done signal is asserted.
- Top-level module ports
-
- Function call:
- start
- busy
- Function return:
- done
- stall
- Function call:
- Example
-
component hls_avalon_streaming_component void foo(/*component arguments*/)
hls_avalon_slave_component Argument
- Description
-
The start, done, and returndata (if applicable) signals are registered in the component slave memory map.
These component must take either slave, stream, or stable arguments. If you do not specify these types of arguments, the compiler generates an error message when you compile this component.
To learn more, review the tutorial: <quartus_installdir>/hls/examples/tutorials/interfaces/mm_slaves.
- Top-level module ports
-
- Avalon-MM slave interface
- irq_done signal
- Example
-
component hls_avalon_slave_component void foo(/*component arguments*/)
hls_always_run_component Argument
- Description
-
The start signal is tied to 1 internally in the component. There is no done signal output. The control logic is optimized away when Intel® Quartus® Prime compiles the generated RTL for your FPGA.
Use this protocol when the component datapath relies only on explicit streams for data input and output.
IP verification does not support components with this component invocation protocol.
- Top-level module ports
- None
- Example
-
component hls_always_run_component void foo(/*component arguments*/)
hls_stall_free_return Argument
- Description
-
If the downstream component never stalls, the stall signal is removed by internally setting it to 0.
This feature can be used with the hls_avalon_streaming_component, hls_avalon_slave_component, and hls_always_run_component arguments. This attribute can be used to specify that the downstream component is stall free.
- Top-level module ports
- N/A
- Example
-
component hls_stall_free_return int dut(int a, int b) { return a * b;}