一种芯片验证中确定回归测试版本异常源头的方法技术

技术编号:14845492 阅读:105 留言:0更新日期:2017-03-17 11:59
本发明专利技术公开了一种芯片验证中确定回归测试版本异常源头的方法,其实现过程为:对回归测试中出现错误的原因进行分析,自动检测错误原因,通过确定出错源头的方式,使得错误原因能被明确显示,帮助设计人员及时修正错误。该芯片验证中确定回归测试版本异常源头的方法与现有技术相比,极大提高逻辑验证的效率,缩短芯片开发周期,实用性高,易于推广。

【技术实现步骤摘要】

本专利技术涉及芯片逻辑验证领域,具体地说是一种实用性强、芯片验证中确定回归测试版本异常源头的方法
技术介绍
伴随芯片设计复杂度的增加,芯片逻辑设计验证很大程度上借鉴了软件开发的模式以及项目管理理念。版本管理,回归测试,持续集成等方法也获得了广泛应用。这些方法能获得应用,是因为逻辑设计验证与软件开发有诸多共同点,比如源代码都是文本文件,大项目需要多人多地并行开发。但是逻辑设计验证又有自己的特点,使得普通软件项目管理的方法在这个领域需要进行相应调整。逻辑设计验证与软件开发最大的不同之处在于,芯片逻辑设计必须保证交付前完全无缺陷,否则重新更改设计成本极大。这就导致对验证的要求很高,致使验证部分所需工作量极大,验证本身需要占用大量的开发时间和计算资源。软件开发基本可以每修改一次设计,进行一下回归测试,保证提交的版本是正确的。但是复杂的逻辑设计每次进行回归测试,可能需要几个小时甚至几天的时间。而这段时间内可能会有新的代码版本被提交,这就导致不是所有被提交的版本都是干净的。这样会引起一连串复杂的问题。另外芯片验证普遍使用受控随机测试来辅助传统的人工开发直接测试用例的方法,。受控随机测试根据输入的限定条件,在有限范围内自动产生各种随机组合,更容易发现逻辑设计的缺陷。这种方法不同于人工开发的直接测试用例,它在代码有修改后可能导致错误无法重现。这些都会导致提交的代码版本如果出现测试错误,则错误来源是不明确的。为了有效的解决以上问题,我们需要对这些问题进行详细分析,并找出对应方法,确定真正的错误源头,方便对其作出修改。专利技术内容本专利技术的技术任务是针对以上不足之处,提供一种实用性强、芯片验证中确定回归测试版本异常源头的方法。一种芯片验证中确定回归测试版本异常源头的方法,其具体实现过程为:对回归测试中出现错误的原因进行分析,自动检测错误原因,通过确定出错源头的方式,使得错误原因能被明确显示,帮助设计人员及时修正错误。自动检测回归测试中的错误原因采用以下方式进行:对待检测版本的产品进行冒烟测试,测试通过后将其提交到版本库;对冒烟测试未通过的产品进行修改,修改后的产品采用并行版本测试方法,即与可通过测试的版本合并的方式进行测试,通过测试后则将其提交到版本库。上述测试在逻辑验证平台中进行,该逻辑验证平台包括仿真用的计算集群、仿真器软件、版本管理系统、被测对象的RTL代码、验证平台与测试激励,回归测试中的错误则是由上述逻辑验证平台中的各部分出问题产生的。所述回归测试中的错误具体分为以下三类:一、由于硬件与网络错误、版本冲突、仿真器许可缺失导致的验证平台基本功能故障;二、由于验证平台与测试激励的bug导致的回归测试的错误;三、由于被测对象的RTL代码的bug导致的回归测试的错误。所述冒烟检测所需的测试用例从总的回归测试用例集合中人工挑选出来,该挑选出的测试用例为测试产品的基本功能;每当有需要提交的版本时,逻辑验证平台对待提交版本运行一次冒烟测试,如果测试通过,则将此版本正式提交进版本库;如果测试失败,则通知提交者修改错误,而不进行提交。将所有修改后的版本通过运行递归测试,即顺序测试的方式判断哪个版本通过测试,并将最后一个通过测试的版本提交到版本库。上述递归测试的具体实现过程为:将第一个修改后的产品与能通过测试的主版本产品进行合并,测试是否能通过;当测试通过后,再将合并后版本的产品与下一个版本的产品进行合并,测试是否能通过;重复步骤二,直至测试完全通过或测试无法通过;当测试完全通过时,提交最后的合并版本到版本库;当测试无法通过时,提交最后测试通过时的合并版本到版本库。本专利技术的一种芯片验证中确定回归测试版本异常源头的方法,具有以下优点:本专利技术通过对回归测试中出现错误的原因进行归纳分析,设定特定机制自动检测错误原因,使得错误原因能被明确显示,帮助设计人员及时修正错误,极大提高逻辑验证的效率,缩短芯片开发周期,实用性高,易于推广。附图说明附图1为本专利技术实施例中的错误示意图。附图2为并行版本测试示意图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明。回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。本专利技术提供一种芯片验证中确定回归测试版本异常源头的方法,其具体实现过程为:对回归测试中出现错误的原因进行分析,自动检测错误原因,通过确定出错源头的方式,使得错误原因能被明确显示,帮助设计人员及时修正错误。自动检测回归测试中的错误原因采用以下方式进行:对待检测版本的产品进行冒烟测试,测试通过后将其提交到版本库;对冒烟测试未通过的产品进行修改,修改后的产品采用并行版本测试方法,即与可通过测试的版本合并的方式进行测试,通过测试后则将其提交到版本库。上述测试在逻辑验证平台中进行,该逻辑验证平台包括仿真用的计算集群、仿真器软件、版本管理系统、被测对象的RTL代码、验证平台与测试激励,回归测试中的错误则是由上述逻辑验证平台中的各部分出问题产生的。所述回归测试中的错误具体分为以下三类:一、由于硬件与网络错误、版本冲突、仿真器许可缺失导致的验证平台基本功能故障;二、由于验证平台与测试激励的bug导致的回归测试的错误;三、由于被测对象的RTL代码的bug导致的回归测试的错误。以上几类错误中第二种和第三种发生的几率最大,是逻辑设计与验证人员要面对和解决的问题。所述冒烟检测所需的测试用例从总的回归测试用例集合中人工挑选出来,该挑选出的测试用例为测试产品的基本功能;每当有需要提交的版本时,逻辑验证平台对待提交版本运行一次冒烟测试,如果测试通过,则将此版本正式提交进版本库;如果测试失败,则通知提交者修改错误,而不进行提交。将所有修改后的版本通过运行递归测试,即顺序测试的方式判断哪个版本通过测试,并将最后一个通过测试的版本提交到版本库。上述递归测试的具体实现过程为:将第一个修改后的产品与能通过测试的主版本产品进行合并,测试是否能通过;当测试通过后,再将合并后版本的产品与下一个版本的产品进行合并,测试是否能通过;重复步骤二,直至测试完全通过或测试无法通过;当测试完全通过时,提交最后的合并版本到版本库;当测试无法通过时,提交最后测试通过时的合并版本到版本库。对于某些中小型的工程,由于回归测试时间短,而且版本提交的频率低,可以做到每个版本都进行回归测试,本文档来自技高网...

【技术保护点】
一种芯片验证中确定回归测试版本异常源头的方法,其特征在于,其具体实现过程为:对回归测试中出现错误的原因进行分析,自动检测错误原因,通过确定出错源头的方式,使得错误原因能被明确显示,帮助设计人员及时修正错误。

【技术特征摘要】
1.一种芯片验证中确定回归测试版本异常源头的方法,其特征在于,其具体实现过程为:对回归测试中出现错误的原因进行分析,自动检测错误原因,通过确定出错源头的方式,使得错误原因能被明确显示,帮助设计人员及时修正错误。
2.根据权利要求1所述的一种芯片验证中确定回归测试版本异常源头的方法,其特征在于,自动检测回归测试中的错误原因采用以下方式进行:
对待检测版本的产品进行冒烟测试,测试通过后将其提交到版本库;
对冒烟测试未通过的产品进行修改,修改后的产品采用并行版本测试方法,即与可通过测试的版本合并的方式进行测试,通过测试后则将其提交到版本库。
3.根据权利要求2所述的一种芯片验证中确定回归测试版本异常源头的方法,其特征在于,上述测试在逻辑验证平台中进行,该逻辑验证平台包括仿真用的计算集群、仿真器软件、版本管理系统、被测对象的RTL代码、验证平台与测试激励,回归测试中的错误则是由上述逻辑验证平台中的各部分出问题产生的。
4.根据权利要求3所述的一种芯片验证中确定回归测试版本异常源头的方法,其特征在于,所述回归测试中的错误具体分为以下三类:
一、由于硬件与网络错误、版本冲突、仿真器许可缺失导致的验证平台基本功能故障;
二、由于验证平台与测试激励的bug导致的回...

【专利技术属性】
技术研发人员:耿介姜凯于治楼
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1