Intel® Hyperflex™ 体系结构高性能设计手册

ID 683353
日期 10/04/2021
Public
文档目录

3. 编译 Intel® Hyperflex™ 体系结构设计

英特尔® Quartus® Prime Pro Edition Compiler经过优化可充分利用 Intel® Hyperflex™ 体系结构。 英特尔® Quartus® Prime Pro Edition Compiler支持Hyper-Aware设计流程,在此流程中Compiler自动对到Hyper-Registers的寄存器重定时(retiming)进行最大化。

Hyper-Aware设计流程

使用Hyper-Aware设计流程可以缩短设计周期并优化性能。Hyper-Aware设计流程将自动寄存器重定时与目标时序收敛建议(Fast Forward编译)的实现相结合,以最大限度地使用用Hyper-Register,并显示 Intel® Hyperflex™ 体系结构FPGA的最高性能。

图 81. Hyper-Aware设计流程

寄存器重定时

Intel® Hyperflex™ 体系结构的一个关键创新是在布线段和模块输入上添加了多个Hyper-Register。最大限度地使用Hyper-Register可以提高设计性能。Hyper-Register的普及改善了寄存器之间的时间延迟平衡,并减轻了关键路径延迟。Compiler的Retime阶段将寄存器从ALM中移出,然后将它们重定时到Hyper-Register中。寄存器重定时在Fitter期间自动运行,需要最小工作量,但能够产生显著的性能提升。重定时后,Finalize阶段对具有保持违规的连接进行更正。

快进编译(Fast Forward Compilation)

如果您需要优化而不是简单的寄存器重定时,那么需要运行Fast Forward编译来生成时序收敛建议,这些建议可以打破关键性能瓶颈,阻止进一步移入Hyper-Registers。例如,Fast Forward建议删除特定的重定时限制,以防止进一步重定时到Hyper-Registers。Fast Forward编译能够准确显示RTL更改对哪些方面产生最大影响,并报告通过消除限制并重定时到Hyper-Registers (Hyper-Retiming)来获得预测性能优势。Fitter不会自动重新对RAM和DSP模块进行寄存器重定时。但是,Fast Forward分析显示了此优化的潜在性能优势。

图 82. Hyper-Register体系结构

Fast-Forward编译识别添加流水线阶段(Hyper-Pipelining)的最佳位置,以及每种情况下预期的性能优势。修改RTL将流水线阶段布置在每个时钟域边界后, Retime阶段会自动将时钟域内的寄存器放置在最佳位置,以最大限度地提高性能。在RTL中实施此建议来获得类似的结果。进行任何更改后,重新运行Retime阶段,直到结果符合性能和时序要求。Fast Forward编译不会作为完整编译的一部分自动运行。使能或运行Compilation Dashboard中的Fast Forward compilation

表 7.  优化步骤
优化步骤 技术 说明
步骤1 寄存器重定时 Retime阶段执行寄存器重定时并将现有的寄存器移入Hyper-Registers中,从而通过消除重定时限制和去除关键路径来提高性能。
步骤2 快进编译(Fast Forward Compile) Compiler生成设计特定的时序收敛建议,并预测性能改进,同时消除所有Hyper-Registers (Hyper-Retiming)的障碍。
步骤3 Hyper-Pipelining 使用Fast Forward编译来识别RTL中添加新的寄存器和流水线阶段的位置。
步骤4 Hyper-Optimization Hyper-Retiming和Hyper-Pipelining之外的设计优化,例如:重构回路,消除控制逻辑限制以及减少长路径上的延迟。

验证设计RTL

英特尔® Quartus® Prime软件包含Design Assistant设计规则检查工具,用于验证 Intel® Hyperflex™ 体系结构的设计RTL的适合性。这些规则包括Hyper-Retimer Readiness Rules (HRR),专门用于 Intel® Hyperflex™ FPGA体系结构设计。