在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3517|回复: 14

[原创] 有哪些RTL时序优化迭代的技巧?

[复制链接]
发表于 2021-3-27 09:49:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
回看自己15年刚起步设计的一个帖子,http://bbs.eetop.cn/thread-583449-1-1.html。那时候需要将一个模块从800M提升到1.6G,那时候毫无经验和头绪,所以在EETOP发了个帖子,还有几个好心人回复了,感动。
现在我已经成功转身设计架构师,多个模块提频到1.6GHz,甚至上一年刚刚把一个核心算法模块提频到了2.5GHz。
那么我有什么通用的经验可以反馈给大家呢?
1.需要对原有架构、规格、关键电路非常熟悉。
多次实践证明不清楚原有设计的情况下做出的方案,往往只会越改越烂。判断是否熟悉的标准是能够讲清楚整个模块代码->能够自己画出整个微架构->能够提出有效的PPA优化方案。其实指一条经验是并不特指高频设计,是做好设计的基本功,缺陷率高同学往往问题就出现在这里。
2.建立把代码通过人脑转化成电路的能力。
verilog描述的就是电路,时序优化也是在电路上进行精简。这个技能我认为掌握了本科的数字电路课程就可以做到,加法器、锁存器、比较器、多路选择器、布尔表达式化解等。另外对for循环展开、if esle分支、按位运算等常见写法进行电路转换。写代码时需要能感知Critical path,并算出其大概的逻辑级数。
3.可以考虑关键微架构打散重构
时序优化不动微架构可能走不太远。
4.对多级Pipeline进行调整和规划。
流水线上每一级的逻辑都要均匀和紧凑,遇到关键路径是要往前和往后看是否有余量可以借用。下面是一种向前借余量的范例,我们内部俗称追拍。
5.在性能与时序之间trade off
在时序优化过程中常用的一种手段就是牺牲部分非关键场景的性能,敢于牺牲一些边缘场景的性能。
6.时钟Gating专项优化,时序与门控精度的trade off
我优化的模块的一个典型的特点是低功耗要求很高,几乎所有Always块都会有综合自动生成的时钟门控。由于时钟树长差异和Setup要求更严,时钟门控的E端时序要求比D端时序更加恶劣。所以写Always块的时钟门控时,对时序的考虑需要更加精细,E端的逻辑级数要求比D端少8级左右。
7.优先朝着根节点进行时序优化

每一次优化都尽可能找到路径靠近起始位置去优化,让一次优化影响面更广,优化收益更大。

本来有一些图的,但由于涉密不能发上来,有兴趣的私聊交流。



发表于 2021-3-27 15:31:41 | 显示全部楼层
学习打卡
 楼主| 发表于 2021-3-29 09:34:11 | 显示全部楼层
发表于 2021-4-9 20:35:14 | 显示全部楼层
受益了~
发表于 2021-4-14 08:59:42 | 显示全部楼层
mark 下, 学习学习
发表于 2021-4-14 17:51:42 | 显示全部楼层
受教了  谢谢~
发表于 2021-9-19 23:10:34 | 显示全部楼层
确实,最终就是一句话:时序是设计出来的
发表于 2021-10-9 17:02:39 | 显示全部楼层
学习了
发表于 2021-10-11 16:38:00 | 显示全部楼层
楼主我想转载到我的公众号 摸鱼范式 可以吗?
发表于 2021-10-20 14:54:45 | 显示全部楼层
本帖最后由 innovation 于 2021-10-20 14:56 编辑

一万个赞。。。
就这贴,楼主位随便挑一句话的含金量足以盖过这两条时常被顶到顶的帖子的总和:

image.png

相信楼主是思考给别人多少起薪的人。

理解到楼主第2条建议的人,VHDL?Verilog,重要吗?我还是去思考我这个功能用什么样的电路来实现更好吧。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 09:10 , Processed in 0.031916 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表