story · 2021年06月07日

针对设计人员和验证人员添加systemverilog assertion(SVA)的建议

相比Verilog HLD,数字IC设计(RTL开发)人员会觉得SVA学习起来比较复杂。如果一个设计人员不得不书写超过3行的SVA代码,这个工作肯定会迅速转到验证工程师身上

所以,我们需要搞清楚2个问题:

1、什么样的断言由设计人员添加,什么样的断言由验证人员添加?

2、设计人员和设计人员应通过什么样的方式添加断言?

一个比较建议的做法是,设计人员直接在RTL内部添加low‐level and simple 断言、由验证人员通过bind方式添加higher‐level and complex 断言。验证人员通过bind方式添加断言的方式能够避免修改RTL带来的风险

对于书写的断言,最好能够遵循下列几个建议:

1、当断言比较复杂,或者比较多的时候,书写在单独的SV文件中。避免像下面这样头重脚轻,无法快速分析需要综合的RTL代码。

640.png

2、 尽量使用并发断言,因为现在大部分的电路都是同步设计,并发断言能够减少采样次数,提高仿真效率。

3、 使用一个宏文件定义assert property。因为就像前文提到的“如果一个设计人员不得不书写超过3行的SVA代码,这个工作肯定会迅速转到验证工程师身上”。正确的做法应该如下图所示:

640-1.png

通过上述这个宏定义,就可以将断言

640-2.png

书写成

640-3.png

看似小小的改变,实际上能够减少我们很多书写3对“()”的编译错误,提高编译调试效率。

原文链接:https://mp.weixin.qq.com/s/9bkR8WNTOdXa9-p6xSC7iQ
授权转自数字芯片实验室公众号,请勿二次转载。

推荐阅读

更多数字IC设计技术干货等请关注数字芯片实验室专栏。
推荐阅读
关注数
12320
内容数
221
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息