当前位置:首页 > > 芯片验证工程师
[导读]1.需要对原有架构、规格、关键电路非常熟悉。多次实践证明不清楚原有设计的情况下做出的方案,往往只会越改越烂。判断是否熟悉的标准是能够讲清楚整个模块代码->能够自己画出整个微架构->能够提出有效的PPA优化方案。其实这一条经验是并不特指高频设计,是做好设计的基本功,缺陷率高同学往往...

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.优先朝着根节点进行时序优化

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭