admin管理员组

文章数量:1530021

文章目录

  • 关键路径概述及优化方法
    • 1. 组合逻辑中插入寄存器(插入流水线)
    • 2. 寄存器平衡(重定时Retiming)
    • 3. 操作符平衡(加法树、乘法树)
    • 4. 消除代码优先级(case代替if…else)
    • 5. 逻辑复制
    • 6. 关键信号后移
  • 扩展:如果关键路径setup time和hold time violation(违例)了怎么办?
    • 一道时序违例真题
  • 参考

关键路径概述及优化方法

关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径(这里我认为还需要加上布线的延迟),也就是说关键路径是对设计性能起决定性影响的时序路径

对关键路径进行时序优化,可以直接提高设计性能。对同步逻辑来说,常用的时序优化方法包括Pipeline、Retiming、逻辑复制、加法/乘法树、关键信号后移、消除优先级等解决。

静态时序分析能够找出逻辑电路的关键路径。通过查看静态时序分析报告,可以确定关键路径。在Vivado工具中,可以通过report_timing_summary 等来查看,如下图所示,WNS(Worst Nagative Slack)对应最大延迟分析的所有时序路径的最差裕量(Setup),显示的Slack为时序裕量,Levels为该条路径上源逻辑驱动的级数,HignFanout为高扇出的值,源和目的,总的延时=逻辑延时+布线延时,这里,使用100MHz的时钟,对应周期10ns,逻辑延时最大0.535ns,布线延时1.950ns。

本文标签: 组合时序路径逻辑速度