本文由知乎
赵俊军
授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19
5.4 压摆合并
当多个压摆到达一个公共点时(例如在多输入单元的情况下)会发生什么呢?这种公共点称为压摆合并点(slew merge point)。 选择哪个压摆在压摆合并点处继续向下传播呢?考虑图5-10所示的2输入单元:
![图5-10](https://img-blog.csdnimg.cn/img_convert/14edef5640ab904022de86fff09929bf.png)
由于引脚A上的信号改变,引脚Z上的压摆到达较早,但上升缓慢(压摆较小);由于引脚B上的信号改变,引脚Z上的压摆到达较晚,但上升很快(压摆较大)。在压摆合并点(例如引脚Z),应选择哪个压摆进一步传播呢?取决于所执行的时序分析的类型(最大或最小时序路径分析),这些压摆值中的任何一个都可能是正确的。
进行最大时序路径分析时有两种可能性:
- 最差的压摆传播(Worst slew propagation):此模式选择要在合并点传播最坏的压摆,这将是图5-10(a)中的压摆。对于通过引脚A-> Z的时序路径,此选择是准确的,但对于通过引脚B-> Z的任何时序路径都是悲观的。
- 最差的到达时间传播(Worst arrival propagation):此模式选择要在合并点传播最差的到达时间,这对应于图5-10(b)中的压摆。在这种情况下选择的压摆对于通过引脚B-> Z的时序路径是准确的,但对于通过引脚A-> Z的时序路径是乐观的。
同样,进行最小时序路径分析时也有两种可能性:
- 最佳的压摆传播(Best slew propagation):此模式选择要在合并点传播最佳的压摆,这就是图5-10(b)中的压摆。对于通过引脚B-> Z的时序路径,此选择是准确的,但对于通过引脚A> Z的任何时序路径,该选择的压摆值较小。对于经过A-> Z的路径,路径延迟小于实际值,因此对于最小时序路径分析是悲观的。
- 最佳的到达时间传播(Best arrival propagation):此模式选择要在合并点传播最佳的到达时间,这对应于图5 10(a)中的压摆。在这种情况下,选择的压摆对于通过引脚A-> Z的时序路径是准确的,但大于通过引脚B-> Z的时序路径的实际值。对于经过B-> Z的路径,路径延迟大于实际值,因此对于最小时序路径分析是乐观的。
设计人员可以在静态时序分析环境之外执行延迟计算,以生成SDF文件。在这种情况下,延迟计算工具通常使用最差的压摆传播。生成的SDF文件足以用于最大时序路径分析,但对于最小时序路径分析可能是过于乐观的。
大多数静态时序分析工具均使用最差和最佳的压摆传播作为默认设置,因为它会保守地限制分析。但是,在分析