Intel®高层次综合编译器专业版: 最佳实践指南

ID 683152
日期 12/04/2023
Public
文档目录

4. 接口最佳实现

通过使用 Intel® High Level Synthesis Compiler,您的组件可以有多种接口:从基本线路到Avalon Streaming和Avalon Memory-Mapped Host接口。反复查看接口最佳实践有助于为组件选择并配置正确的接口。

Intel® HLS Compiler Pro Edition支持的每种接口类型都有不同用处。但是组件周围的系统可能会限制您的选择。在确定组件的最佳接口时,请牢记您的要求。

演示接口最佳实践

Intel® HLS Compiler Pro Edition提供的各教程说明重要的 Intel® HLS Compiler概念并演示良好的编码实践。

反复查看以下教程了解各种接口以及适用于您设计的最佳实践:
教程 说明
可在您英特尔 Quartus Prime系统的如下位置找到这些教程:
<quartus_installdir>/hls/examples/tutorials
interfaces/ overview 演示选择不同组件接口,即使组件算法保持相同,也会影响结果质量(QoR)。
best_practices/ const_global

演示使用符合const的全局变量改善性能和资源利用率。还演示了访问全局变量时创建的接口类型。

best_practices/ parameter_aliasing

演示在组件自变量中使用__restrict关键字

best_practices/ lsu_control 演示控制例化用于可变延迟 Avalon® Memory Mapped Host接口LSU类型的作用。
interfaces/ explicit_streams_buffer

演示如何使用组件和testbench中的显式stream_instream_out接口。

interfaces/ explicit_streams_packets_empty 演示如何使用usesPacketsusesEmpty,和firstSymbolInHighOrderBits流模板参数。
interfaces/explicit_streams_packets_ready_valid 演示如何使用usesPacketsusesValidusesReady流模板参数。
interfaces/ mm_host_testbench_operators 演示如何在Avalon Memory Mapped (MM) Host(mm_host级) 接口各个标记处调用组件。
interfaces/ mm_agents 演示如何创建Avalon-MM Agent接口(从寄存器和从存储器)。
interfaces/ mm_agents_csr_volatile 演示使用volatile关键字允许在组件运行的同时对从存储器访问的作用。
interfaces/ mm_agents_double_buffering 演示使用hls_readwrite_mode宏控制存储器如何访问从存储器的作用
interfaces/ multiple_stream_call_sites 演示使用多个流调用站点的权衡。
interfaces/ pointer_mm_host 演示如何创建Avalon-MM Host从接口和控制其参数。
interfaces/ stable_arguments 演示如何使用为更改自变量的stable属性提高资源利用率。