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

ID 683152
日期 6/22/2020
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

3. 接口最佳实现

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

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

演示接口最佳实践

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

反复查看以下教程了解各种接口以及适用于您设计的最佳实践:
教程 说明
可在您 Intel® 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 Master接口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_master_testbench_operators 演示如何在Avalon Memory Mapped (MM) Master (mm_master级) 接口各个标记处调用组件。
interfaces/ mm_slaves 演示如何创建Avalon-MM Slave接口(从寄存器和从存储器)。
interfaces/ mm_slaves_csr_volatile 演示使用volatile关键字允许在组件运行的同时对从存储器访问的作用。
interfaces/ mm_slaves_double_buffering 演示使用hls_readwrite_mode宏控制存储器如何访问从存储器的作用
interfaces/ multiple_stream_call_sites 演示使用多个流调用站点的权衡。
interfaces/ pointer_mm_master 演示如何创建Avalon-MM Master从接口和控制其参数。
interfaces/ stable_arguments 演示如何使用为更改自变量的stable属性提高资源利用率。