"
在设计RTL上加assertion一般和什么有关呢?芯片类型?设计人员素质?项目需求?还是其他因素呢
"
很多规范都可以做出成功的芯片,甚至有些公司根本就没有什么规范,开发人员根本不按规范做也能做出成功的芯片。作为工程人员,用不用规范、怎么规范不仅仅是看能不能做出成功的芯片,更要考虑投入和产出,要考虑怎么样用最短的时间、最少的人力做出符合使用要求的芯片产品。这是一个做事方法的问题。说到底,规范就是辅助提高团队沟通和合作效率、快速收敛问题的工具。
我认为加不加断言跟设计人员素质是有关的,但更重要的是取决于整个团队的素质水平。高效的断言依赖前期需求规格稳定明确,毕竟开发断言需要时间,如果规格需求在代码实现阶段频繁变动,断言的优势就不明显,断言开发工作也就显得鸡肋了。
有多少人懂断言?很多追求时髦,把uvm作为所谓标配,其实也就是噱头,该验的水还是水,不管你用什么方法学。国内很多设计变来变去,设计改来改去一直不稳定,还有时间写断言?内部信号之间的时序关系是要很清楚明白定义出来写成文档,然后才好写断言!设计人员连写文档的时间都没有还写毛断言。设计代码很随意,代码一更改断言全报废,直接assert off掉,省得仿真器吐出不干净的东西,整个世界都清净了。非常希望设计人员能够在代码内部加断言来检查自己觉得容易出错的地方,甚至可以加上功能覆盖点来测试验证人员是否验证到了这个点。但是这无疑会给设计人员带来工作量。
这个东西的核心不是规范,而是设计和验证对于电路本身的理解,哪些地方是容易出错,传统验证方法覆盖不了的,需要内部检查。功能覆盖率收集不了,需要通过SVA的Cover来补充,检查验证完备性。这个就跟电路设计一样,核心是对业务的理解和逻辑时序设计,所以规范不是芯片开发核心要素,不同公司都有不同规范,大家都能作出成功的芯片。
SVA要设计有效落地,一是设计人员的能力要提升,要懂得设计的可验证性,甚至验证方法学,二是要给设计人员时间。
快节奏,强工作量的开发模式,设计人员很难有时间去琢磨SVA的添加。最终的效果就是形式上看到一些部分强制的要求加了很多毫无价值的水SVA,最后看不到什么效果。以SVA发现问题的数量来看,少之又少。
作者:验证哥布林
原文链接:https://mp.weixin.qq.com/s/sLc3cATfgK0WBHBeMQBR8Q
微信公众号:
推荐阅读
更多IC设计技术干货请关注IC设计技术专栏