Visible to Intel only — GUID: mmi1573327346836
Ixiasoft
Visible to Intel only — GUID: mmi1573327346836
Ixiasoft
3. Interface Best Practices
With the Intel® High Level Synthesis Compiler, your component can have a variety of interfaces: from basic wires to the Avalon Streaming and Avalon Memory-Mapped Master interfaces. Review the interface best practices to help you choose and configure the right interface for your component.
Each interface type supported by the Intel® HLS Compiler Standard Edition has different benefits. However, the system that surrounds your component might limit your choices. Keep your requirements in mind when determining the optimal interface for your component.
Demonstrating Interface Best Practices
The Intel® HLS Compiler comes with tutorials that give you working examples to review and run. They demonstrate good coding practices and illustrate important concepts.
Tutorial | Description |
---|---|
You can find these tutorials in the following location on your Intel® Quartus® Prime system: |
|
interfaces/ overview | Demonstrates the effects on quality-of-results (QoR) of choosing different component interfaces even when the component algorithm remains the same. |
best_practices/ parameter_aliasing | Demonstrates the use of the restrict keyword on component arguments. |
interfaces/ explicit_streams_buffer | Demonstrates how to use explicit stream_in and stream_out interfaces in the component and testbench. |
interfaces/explicit_streams_packets_ready_valid | Demonstrates how to use the usesPackets, usesValid, and usesReady stream template parameters. |
interfaces/ mm_master_testbench_operators | Demonstrates how to invoke a component at different indicies of an Avalon Memory Mapped (MM) Master (mm_master class) interface. |
interfaces/ mm_slaves | Demonstrates how to create Avalon-MM Slave interfaces (slave registers and slave memories). |
interfaces/ multiple_stream_call_sites | Demonstrates the tradeoffs of using multiple stream call sites. |
interfaces/ pointer_mm_master | Demonstrates how to create Avalon-MM Master interfaces and control their parameters. |
interfaces/ stable_arguments | Demonstrates how to use the stable attribute for unchanging arguments to improve resource utilization. |