仅对英特尔可见 — GUID: zrr1485904598771
Ixiasoft
仅对英特尔可见 — GUID: zrr1485904598771
Ixiasoft
3. 编译 Intel® Hyperflex™ 体系结构设计
Hyper-Aware设计流程
使用Hyper-Aware设计流程可以缩短设计周期并优化性能。Hyper-Aware设计流程将自动寄存器重定时与目标时序收敛建议(Fast Forward编译)的实现相结合,以最大限度地使用用Hyper-Register,并显示 Intel® Hyperflex™ 体系结构FPGA的最高性能。
寄存器重定时
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分析显示了此优化的潜在性能优势。
Fast-Forward编译识别添加流水线阶段(Hyper-Pipelining)的最佳位置,以及每种情况下预期的性能优势。修改RTL将流水线阶段布置在每个时钟域边界后, Retime阶段会自动将时钟域内的寄存器放置在最佳位置,以最大限度地提高性能。在RTL中实施此建议来获得类似的结果。进行任何更改后,重新运行Retime阶段,直到结果符合性能和时序要求。Fast Forward编译不会作为完整编译的一部分自动运行。使能或运行Compilation Dashboard中的Fast Forward compilation。
优化步骤 | 技术 | 说明 |
---|---|---|
步骤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
Intel® Quartus® Prime软件包含Design Assistant设计规则检查工具,用于验证 Intel® Hyperflex™ 体系结构的设计RTL的适合性。这些规则包括Hyper-Retimer Readiness Rules (HRR),专门用于 Intel® Hyperflex™ FPGA体系结构设计。