Intel® 高层次综合编译器专业版Pro版: 参考手册

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

2.4. Intel® HLS Compiler硬件模式

Intel® HLS Compiler尝试尽可能将更多功能流水线化。流水线的不同阶段可能会并行执行多个操作。

下图显示了一个由 Intel® HLS Compiler生成的流水线架构实例。右侧带编号的操作代表了图中左侧C++代码的流水线实现。图中右侧的每一个框格都是流水线中的一个操作。

图 1. 流水线架构实例


通过流水线的方式,组件的多个调用可以同时进行。例如,上述图示中显示组件的第一次调用可以在对组件的第四次调用的同时返回结果。

通常情况下,只有当前阶段的所有操作都完成后,才会从本次组件调用推进到其流水线中的下一个阶段。

某些操作可能会使流水线停顿。一个会使得流水线停顿的操作的常见实例是可变延迟操作,例如,存储器加载或存储操作。为了支持流水线停顿, Intel® HLS Compiler通过流水线将readyvalid信号传播给所有具有可变延迟的操作。

对于具有固定延迟的操作, Intel® HLS Compiler可以静态地调度操作之间的交互,并且 固定延迟操作的阶段之间不需要ready信号。在这些情况下,编译器会优化流水线以静态调度操作,从而显著减少实现流水线所需的逻辑。

请参阅 英特尔高层次综合编译器Pro版:最佳实践指南中的“FPGA概念”获得更多详细信息