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

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

2.2. Hyper-Retiming (协助寄存器移动)

Fitter的Retime阶段可以通过将ALM寄存器重定时(移动)到布线架构中的Hyper-Registers来平衡寄存器链。Retime阶段也可以通过在组合逻辑中前后移动寄存器来执行顺序优化。通过平衡一系列寄存器钟每个阶段之间的传播延迟,重定时(retiming)可以缩短关键路径,降低时钟周期和增加操作频率。

然后,Retime阶段在Fitter期间运行,将寄存器移入理想的Hyper-Register位置。此Hyper-Retiming过程需要最少的工作量,同时又实现了1.1 – 1.3倍的性能提升。

在LUT之间移动寄存器中,左边的寄存器显示重定时前两个LUT的最坏情况延迟。右边的寄存器显示重定时后一个LUT的最坏情况延迟。

图 6. 在LUT之间移动寄存器

当Compiler不能重定时寄存器时,这是一种重定时限制,这种限制会限制设计的fMAX。在设计的性能关键部分中最小化重定时限制以实现最高性能。

有各种各样的限制性能的情况。限制关系到硬件特性,软件行为或者设计特性。使用下面的设计技巧来协助寄存器重定时和避免重定时限制:

  • 除非必要,否则要避免异步复位。请参考复位策略部分。
  • 避免同步清零。同步清零通常是不利于重定时器的广播信号。
  • 在时序约束和异常中使用通配符或名称。请参考时序约束考量部分。
  • 避免单周期(停止/启动)流程控制,例如时钟使能和FIFO full/empty信号。请考虑分别使用有效信号和almost full/empty。
  • 避免preserve寄存器属性。请参考重定时限制和解决方法部分。
  • 关于添加流水线寄存器的详细信息,请参考Hyper-Pipelining (添加流水线寄存器)部分。
  • 关于解决环路和重定时的其他RTL限制的详细信息,请参考Hyper-Optimization (优化RTL)部分。

以下部分提供了在特定设计情况下协助寄存器移动的设计技巧。