目录
参考:
(1)华为:静态时序分析与逻辑设计
(2)王敏志:FPGA设计实战演练(高级技巧篇)
【文末】获取两个资料。
关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径(这里我认为还需要加上布线的延迟),也就是说关键路径是对设计性能起决定性影响的时序路径。
对关键路径进行时序优化,可以直接提高设计性能。对同步逻辑来说,常用的时序优化方法包括Pipeline、Retiming、逻辑复制、加法/乘法树、关键信号后移、消除优先级等解决。
静态时序分析能够找出逻辑电路的关键路径。通过查看静态时序分析报告,可以确定关键路径。在Vivado工具中,可以通过report_timing_summary 等来查看,如下图所示,WNS(Worst Nagative Slack)对应最大延迟分析的所有时序路径的最差裕量(Setup),显示的Slack为时序裕量,Levels为该条路径上源逻辑驱动的级数,HignFanout为高扇出的值,源和目的,总的延时=逻辑延时+布线延时,这里,使用100MHz的时钟,对应周期10ns,逻辑延时最大0.535ns,布线延时1.950ns。
1. 组合逻辑中插入寄存器(插入流水线)
组合逻辑的延时过长,就会成为关键路径,这时可以考虑在该路径上插入额外的寄存器,这种方法也称为插入流水线,多用于高度流水的设计中。
因为这种设计中额外插入寄存器增加的时钟周期延时并不会违反整个设计的规范要求,从而不会影响设计的总体功能性实现,也即额外插入的寄存器在保持吞吐量不变的情况下改善了设计的时序性能。
当然,其不可避免地会带来部分面积的增加,如图6-11所示。
在插入寄存器时,要在组合逻辑中选择合适的位置进行插入,使得