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

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

8.2.3. 解决短路径

彼此临近的重定时寄存器可能会在更高速度上触发保持违规。下图显示了一条短路径是如何限制重定时的。

图 147. 短路径限制重定时在此实例中,向前重定时推动一个寄存器到两条路径上,但一条路径有用于重定时的寄存器,而另一个路径没有。

在左侧电路中,如果寄存器#1将被向前重定时,那么上面路径有一个可用的slot。然而,下面路径不能接受重定时的寄存器。重定时的寄存器与一个正在使用中的相邻寄存器太近,从而导致保持时间违规。 Compiler检测到这些短路径,并将寄存器布线到更长的路径,如右侧电路所示。这种方法确保了有足够的slot用于重定时。

下面两个实例解决了短路径问题:

案例1: 一个设计在400 MHz上运行,Fast Forward compile报告建议添加一个流水线阶段以达到500 MHz,并添加第二个流水线阶段以实现600 MHz性能。

限制原因是短路径/长路径。添加Compiler建议的两阶段流水线(two-stage pipelining)来实现600 MHz的性能。如果限制原因还是短路径/长路径,那么这意味着Router已经达到尝试修复设计中的短路径的极限。此时您可能已经达到目标性能,或者这不再是关键路径。

案例2: 一个设计在400 MHz上运行,Fast Forward compile报告没有建议添加流水线阶段。

如果短路径/长路径是重定时的直接限制原因,那么这意味着Router已经达到尝试修复短路径的极限。将流水线阶段添加到报告的路径中是没有帮助的。您必须优化设计。

彼此临近的重定时寄存器可能会在更高速度上触发保持违规。Compiler在Path Info下的重定时报告中报告此情况。如果没有足够的Hyper-Registers,Compiler也会报告短路径。当节点包括短路径以及长路径时,将流水线寄存器添加到这两条路径将有助于时序。