[发明专利]一种芯片验证中确定回归测试版本异常源头的方法有效
申请号: | 201610020369.8 | 申请日: | 2016-01-13 |
公开(公告)号: | CN105677996B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 耿介;姜凯;于治楼 | 申请(专利权)人: | 浪潮集团有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孟峣 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 芯片 验证 确定 回归 测试 版本 异常 源头 方法 | ||
本发明公开了一种芯片验证中确定回归测试版本异常源头的方法,其实现过程为:对回归测试中出现错误的原因进行分析,自动检测错误原因,通过确定出错源头的方式,使得错误原因能被明确显示,帮助设计人员及时修正错误。该芯片验证中确定回归测试版本异常源头的方法与现有技术相比,极大提高逻辑验证的效率,缩短芯片开发周期,实用性高,易于推广。
技术领域
本发明涉及芯片逻辑验证领域,具体地说是一种实用性强、芯片验证中确定回归测试版本异常源头的方法。
背景技术
伴随芯片设计复杂度的增加,芯片逻辑设计验证很大程度上借鉴了软件开发的模式以及项目管理理念。版本管理,回归测试,持续集成等方法也获得了广泛应用。这些方法能获得应用,是因为逻辑设计验证与软件开发有诸多共同点,比如源代码都是文本文件,大项目需要多人多地并行开发。但是逻辑设计验证又有自己的特点,使得普通软件项目管理的方法在这个领域需要进行相应调整。
逻辑设计验证与软件开发最大的不同之处在于,芯片逻辑设计必须保证交付前完全无缺陷,否则重新更改设计成本极大。这就导致对验证的要求很高,致使验证部分所需工作量极大,验证本身需要占用大量的开发时间和计算资源。软件开发基本可以每修改一次设计,进行一下回归测试,保证提交的版本是正确的。但是复杂的逻辑设计每次进行回归测试,可能需要几个小时甚至几天的时间。而这段时间内可能会有新的代码版本被提交,这就导致不是所有被提交的版本都是干净的。这样会引起一连串复杂的问题。另外芯片验证普遍使用受控随机测试来辅助传统的人工开发直接测试用例的方法,。受控随机测试根据输入的限定条件,在有限范围内自动产生各种随机组合,更容易发现逻辑设计的缺陷。这种方法不同于人工开发的直接测试用例,它在代码有修改后可能导致错误无法重现。这些都会导致提交的代码版本如果出现测试错误,则错误来源是不明确的。
为了有效的解决以上问题,我们需要对这些问题进行详细分析,并找出对应方法,确定真正的错误源头,方便对其作出修改。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、芯片验证中确定回归测试版本异常源头的方法。
一种芯片验证中确定回归测试版本异常源头的方法,其具体实现过程为:对回归测试中出现错误的原因进行分析,自动检测错误原因,通过确定出错源头的方式,使得错误原因能被明确显示,帮助设计人员及时修正错误。
自动检测回归测试中的错误原因采用以下方式进行:
对待检测版本的产品进行冒烟测试,测试通过后将其提交到版本库;
对冒烟测试未通过的产品进行修改,修改后的产品采用并行版本测试方法,即与可通过测试的版本合并的方式进行测试,通过测试后则将其提交到版本库。
上述测试在逻辑验证平台中进行,该逻辑验证平台包括仿真用的计算集群、仿真器软件、版本管理系统、被测对象的RTL代码、验证平台与测试激励,回归测试中的错误则是由上述逻辑验证平台中的各部分出问题产生的。
所述回归测试中的错误具体分为以下三类:
一、由于硬件与网络错误、版本冲突、仿真器许可缺失导致的验证平台基本功能故障;
二、由于验证平台与测试激励的bug导致的回归测试的错误;
三、由于被测对象的RTL代码的bug导致的回归测试的错误。
所述冒烟检测所需的测试用例从总的回归测试用例集合中人工挑选出来,该挑选出的测试用例为测试产品的基本功能;
每当有需要提交的版本时,逻辑验证平台对待提交版本运行一次冒烟测试,如果测试通过,则将此版本正式提交进版本库;如果测试失败,则通知提交者修改错误,而不进行提交。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团有限公司,未经浪潮集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610020369.8/2.html,转载请声明来源钻瓜专利网。