[发明专利]使用软约束提高UVM验证平台可复用性的方法有效
申请号: | 201410795037.8 | 申请日: | 2014-12-19 |
公开(公告)号: | CN104462707B | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 耿介;于治楼;毕研山 | 申请(专利权)人: | 浪潮集团有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 约束 提高 uvm 验证 平台 可复用性 方法 | ||
技术领域
本发明涉及芯片逻辑验证领域,具体地说是一种使用软约束提高UVM验证平台可复用性的方法。
背景技术
UVM是芯片验证业界最新研发的一种验证方法学。工程师用它可创建坚实、可重用、具互操作性的验证组件和验证平台。UVM提供基于SystemVerilog语言开发的一套库函数,工程师通过调用库可以省去自己从零开始开发验证环境的麻烦。
UVM库使用的SystemVerilog语言在原有Verilog语言的基础上发展起来的,它在兼容原有语法的同时,增加了约束随机激励,功能覆盖率检查,面向对象编程,断言等属性,能够更好的满足复杂电路验证的需求。其中对于产生测试激励最重要的机制就是对随机激励的约束。受约束的随机激励不同于以往验证测试所用的特定激励。特定激励是由人工指定的一串特定的序列,而受约束的随机激励是一串满足某种要求的序列的集合中任意挑选出的序列。比如我们要发送一个长度为2字节的数据包,其中数据是0x1、0x2,这就是一个特定激励。如果要发送长度在2到5中间,每个数据都不为0的数据包,那么这个包就有很多中可能,这就是一个受控随机激励。通过发送受控随机激励给被测对象,能够测到很多通过特定激励无法覆盖到的情况,增加错误被检测出的概率。
对激励的约束,可以在验证组件的各个层次进行添加,比如在uvm_sequece_item, 各级sequence,virtual sequence,以及各个配置体config中。在不同层次添加对激励的约束,方便了验证单元在不同项目中,以及在同一项目的不同验证阶段中进行复用,但是这也产生了一些问题。最明显的问题就是这些激励可能是由不同人员添加,相互直接可能是矛盾的,导致激励无法正确产生。
为了解决这个问题,通常有两种做法。第一种做法是通过重载机制重新定义同名的约束模块,另一种方法是用constraint mode开关对已有的约束进行关闭。
以上方法固然是可行的,但是需要为此完全理解与一个激励产生相关的所有约束,并分析如何操作,这对于复杂的验证平台可能是耗费很多时间的,而且我们这样做出的激励,基本没有复用性可言。因此我们需要开发另外一种机制,能完成同样的任务,但是复用性与便捷性能够得到一些提高。
发明内容
本发明的技术任务是提供一种使用软约束提高UVM验证平台可复用性的方法。
本发明的技术任务是按以下方式实现的,该方法步骤如下:
首先对测试空间进行划分,划分成可执行空间、合法空间和典型空间三部分,可执行空间是整个测试空间的一部分,只有在可执行空间中的测试用例,才能有效的被施加给被测对象,并得到响应,但响应可能是错误响应;合法空间内的被测对象能得到正确响应;典型空间为被测对象的工作区域;
定义可执行空间的约束为硬约束;定义合法空间和典型空间的约束时,可能在被调用时被违反的约束改变为软约束,不可能被违反的约束保持硬约束。
所述的软约束有多个共同存在时,若他们能同时被满足,则同时使用他们;若每一条都不能被满足,则全部丢弃不用。
所述的软约束设置有优先级原则,若一条优先级低的软约束导致另一条优先级高的软约束无法满足,则丢弃那条优先级低的软约束。
所述的软约束的优先级原则如下:
1)写在类中后边的约束优先级高于前面;
2)定义在结构外的约束优先级高于里面;
3)派生类中约束优先级高于父类;
4)后例化的实体中约束优先级高于前面。
本发明的使用软约束提高UVM验证平台可复用性的方法,对于复杂的验证环境,在编写最后的corner测试中无需知道底层验证部件中的具体约束,就能直接成功发出想要激励,会大大缩短阅读验证部件文档代码的时间以及编写激励的时间,极大的提高验证效率,也方便其他人员使用构造的验证用例。
具体实施方式
实施例1:
首先对测试空间进行划分,划分成可执行空间、合法空间和典型空间三部分,可执行空间是整个测试空间的一部分,只有在可执行空间中的测试用例,才能有效的被施加给被测对象,并得到响应,但响应可能是错误响应;合法空间内的被测对象能得到正确响应;典型空间为被测对象的工作区域。
定义可执行空间的约束为硬约束;定义合法空间和典型空间的约束时,可能在被调用时被违反的约束改变为软约束,不可能被违反的约束保持硬约束。软约束有多个共同存在时,若他们能同时被满足,则同时使用他们;若每一条都不能被满足,则全部丢弃不用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团有限公司,未经浪潮集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410795037.8/2.html,转载请声明来源钻瓜专利网。