您的位置:首页 > 其它

数字逻辑综合工具实践-DC-08——静态时序分析(STA)

2020-01-11 14:50 1411 查看

数字逻辑综合工具-DC-08
时序分析

综合结束之后,如何确定这个网表能不能用。

【Timing Reports】
report_timing


Incremental 信息包含了Net 和 Cell一起的delay
(这两个延迟也可以分别报告)

【report_timing的一些选项】

-input_pins选项 将线延时和单元延时的信息分别汇报出来
-nets选项 用来报告连线上所挂载的负载个数
-significant_digits number 显示小数点个数(最多13)

report_timing -max_paths 2(看两条路径)(上图的情况,会报-0.3和-0.15)
只能看到两个终点不同的路径。看到的并不是最差的路径,有可能最差的两条路径的终点是相同的。
report_timing -nworst 2 -max_paths 2(-0.3,-0.25)

【report_constraint -all_violations】

面积违规和hold time违规不是很重要,可以修掉或者不在乎
更关注的是delay上的违规

这里的violation并不一定是真正的violation。比如,在设置input delay的时候约束加的太紧了,

例子:左边的外部延迟太紧了

有可能由于左边的时序不满足要求,导致了右边的电路不能够得到优化。
可以采取一些措施:group分组,设置一个critical_range、-weight提高权重

【【一点点STA】】
DC的内建的静态时序分析工具

1、 把所有的电路结构分成timing paths
2、 全部算一遍
3、 判断跟期望的是不是符合


路径分组:终点的D输入端属于哪个clock 就是哪个组

单元延迟:输入信号的转换时间和输出的负载
线延迟:线负载模型,还根据拓扑结构算


上升沿和下降沿的时间是不一样的。DC会把两个都算一遍。

【演示】
report_timing

这里的r表示上升延迟,f表示下降延迟

report_timing -input_pins

report_timing -max_paths 2

report_timing -max_paths 2 -nworst 2

(这时报出来了两条终点不一样的路径)

report_timing -significant_digits 4

如果发现某些路径有violation,但是并不是很大,在约束里面分组

(用remove_design 清除,然后可以修改约束再source -v -e …)

report_timing -loops
检查有没有写出组合逻辑环,这将会生成latch

  • 点赞
  • 收藏
  • 分享
  • 文章举报
万里独行田伯光大侠 发布了18 篇原创文章 · 获赞 4 · 访问量 652 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: