下冰雹 · 2022年07月01日

博客推荐:静态时序优化策略“三十六计”

作者:mervin_li  
博客地址:https://blog.eetop.cn/1582944
链接:https://blog.eetop.cn/blog-1582944-6945745.html

变则通,通则久。事物都有其运行的规律,把握好规律,就能更好的实现人的目的。

在数字后端设计中,时序优化一直是关键问题,尤其追求高频高性能的设计中,时许问题常常贯穿始终。大大小小二十几个项目模块后端工作干下来,发现方法总比困难多,有一种太极生两仪,两仪生四象,四象生八卦,八卦生万物的赶脚。借用三十六计来总结,一点也不夸张。怎么说呢?时序的本质就是delay的控制,控制在setup和hold都满足的区间内即可。而影响时序的因素又有很多,每一个元素的优化都可以对时许产生好的帮助,铺陈开来,时序优化的方法就千变万化。本质就是控制cell和net的delay。

下面开始头脑风暴:

  1. module guide的使用,经过几次迭代,可以看出critical的path的分布,有针对性的使用guide可以整体改善(效果因design 而异)
  2. ndr aware opt,对关键路径设ndr属性,通过高层,宽线来减小net delay,达到优化目的;
  3. useful skew,让工具适当借用skew来解关键路径的时序;
  4. early clock flow,早期时钟树的使用可以优先控制clock cell的位置,占领有利位置;
  5. H-tree,自然是为了时时钟树做的更平来改善时序;
  6. overconstraint,早期阶段设uncertainty过约时序,可以减少后期的degrate,更快达到收敛;
  7. rc factor,与overconstrait类似,但是更针对net,具体用法灵活多变;
  8. path group分优先级,重点修reg2reg,提前占领有利资源;
  9. multi bit cell的merge和split,利用cell的结构优化达到减少delay的目的;
  10. mix buffer tree,invert和buffer混用得到一个更优的时钟树;
  11. hight effort opt cell,设置高速cell的使用减少关键路径的延时;
  12. extreme flow,利用工具自身的优化策略力度,加大力度;
  13. slack adjustment,类似overconstraint,只是设置更精确,针对具体的group;
  14. timing borrow之手改common path,increment修前后级;
  15. incremental opt,利用工具进一步优化(效果不一定);
  16. skew clock,利用工具进一步借skew(前提是有余量);
  17. track opt,利用工具进一步优化走线(效果不一定);
  18. psp flow,利用工具refineplace,来加少detour;
  19. 分层次绕线,对不同的path分优先级绕线;
  20. swap vt/ size cell多争取setup余量,修hold(setup&hold互卡的时候);
  21. target opt,针对某些关键violation的path单独修;
  22. detour net修hold,借助net delay弥补小量的hold违例;
  23. viapillar的使用;
  24. memory的重新编译,选择更快的memory;
  25. 综合restructor,结合floorplan 物理信息优化;
  26. 调整cell的位置,控制net长度的占比(效果不一定);
  27. 控制finout的大小;
  28. 加shielding,防si的影响;
  29. 控制max net length;
  30. cretical path的prePlace等
  31. TDDR, TGDR 。。。。。。

方法千千万,抓住本质,因地制宜,知己知彼,灵活运用,方能百战百胜!

作者:mervin_li
原文链接:EETOP

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
19633
内容数
1303
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息