通常,我们优先解决建立时间违例。Setup slack与逻辑延迟、布线延迟、时钟歪斜和时钟不确定性有关。因此,首先要明确这几个因素中哪个因素对建立时间违例起关键作用。具体的衡量标准可由如下几个数值确定。这也是ug1292第三页的主题。
ug1292第三页也给出了建立时间违例分析流程,如下图所示。当逻辑延迟占比超过50%时,要着重降低逻辑延迟;当布线延迟占比超过50%时,要把焦点放在布线延迟上;同时,也要关注一下时钟歪斜和时钟不确定性。当时钟歪斜小于-0.5ns或时钟不确定性大于0.1ns时,两者将成为时钟违例的主要“贡献者”。
图片来源, page 3, ug1292
上述四个数值,无论是在timing report(通过report_timing_summary生成)还是design analysis report(通过report_design_analysis生成)中都有所体现。以timingreport为例,如下图所示,可清晰地显示上述四个数值。
图片来源, page 3, ug1292
注:上述数据只针对UltraScale系列芯片。