[发明专利]一种对覆盖率进行数据挖掘加速验证收敛的方法有效
申请号: | 201610005337.0 | 申请日: | 2016-01-05 |
公开(公告)号: | CN105677966B | 公开(公告)日: | 2018-10-19 |
发明(设计)人: | 耿介;姜凯;于治楼 | 申请(专利权)人: | 浪潮集团有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孟峣 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 覆盖率 进行 数据 挖掘 加速 验证 收敛 方法 | ||
本发明公开了一种对覆盖率进行数据挖掘加速验证收敛的方法,其实现过程为:通过对验证覆盖率的数据进行时域分析以及与激励相关性的分析,对激励产生机制进行优化调整,使激励能更有效命中验证点,加速验证的收敛。该对覆盖率进行数据挖掘加速验证收敛的方法与现有技术相比,通过对验证覆盖率的数据进行时域分析以及与激励相关性的分析,对激励产生机制进行优化调整,使激励能更有效命中验证点,加速验证的收敛。本方法能极大提高逻辑验证的效率,缩短芯片开发周期,实用性高,易于推广。
技术领域
本发明涉及芯片逻辑验证领域,具体地说是一种实用性强、对覆盖率进行数据挖掘加速验证收敛的方法。
背景技术
伴随芯片设计复杂度的增加,芯片验证的复杂度更是大幅度提高,传统的人工开发直接测试用例的方法,也被受控随机测试用例取代。受控随机测试根据输入的限定条件,在有限范围内自动产生各种随机组合,更容易发现逻辑设计的缺陷。大部分时候受控随机激励与人工编写的直接激励结合使用,能够大概验证覆盖率的目标。现有技术芯片逻辑验证过程中,首先确定受控随机测试的约束条件,在此条件下用多个随机数种子产生不同的激励,运行这些激励得到相应覆盖率信息,通过这些信息确认未被覆盖的测试漏洞,然后针对这些漏洞,调整约束条件,或者增加直接测试用例。经过多轮迭代最终达到覆盖率目标。
以上过程对于小规模设计,可能几个迭代就能完成,但是大规模设计可能很多轮迭代后,仍然会有验证漏洞的存在。这种迭代过程是一费时而且需要验证人员进行人工干预的过程,如何有效调整约束条件使验证尽快收敛,需要工程师对设计验证的内容相当熟悉,并且洞悉其中的各种规律。
为了有效的加速以上迭代过程,我们需要一种方法,对覆盖率以及激励产生机制进行数据分析,找出其中的相关规律,然后优化激励产生机制。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、对覆盖率进行数据挖掘加速验证收敛的方法。
一种对覆盖率进行数据挖掘加速验证收敛的方法,其实现过程为:通过对验证覆盖率的数据进行时域分析以及与激励相关性的分析,对激励产生机制进行优化调整,使激励能更有效命中验证点,加速验证的收敛。
其具体实现过程为:
步骤一、首先产生测试激励,所述测试激励由指令集中的各种指令自由组合生成,该指令集中的指令包括跳转指令、寄存器传输指令、运算指令三类;
步骤二、对覆盖率的时域行为进行分析,该覆盖率是指在仿真过程中不断被触发时的重复触发率,该步骤通过仿真软件记录每个验证点在仿真周期内的触发次数实现,所述验证点包括基本功能点、特殊情况功能点、错误处理功能点;
步骤三、对验证点与指令集子集的相关性进行分析,计算出指令集子集的权重与指定验证点被命中的线性相关性,得到指定验证点被触发对应的仿真时间的分布以及对应的备选指令的权重,并以此为依据进行优化,使得在更少的时间内,得到更大的验证覆盖率。
测试激励的产生过程为:每个指令都被归类在指令集的三种指令中,每次仿真时,都会产生一个随机数T来限定这次仿真所执行的指令的个数;每次产生三个随机数p1、p2、p3,指定这三类指令分别占总指令数的比重,同时指定每个指令占相应指令种类的比重,然后将所有抽取的指令随机排列,生成一个随机测试程序,让mcu去执行,形成测试激励。
所述mcu为8位mcu。
对覆盖率的时域行为进行分析的具体实现过程为:
通过仿真将仿真时间,即周期数内验证点被触发的次数记录下来,通过调整T的最大值来降低无用仿真周期,针对每个单独的验证点,分析它的时域分布特性。
对验证点与指令集子集的相关性进行分析的具体过程为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团有限公司,未经浪潮集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610005337.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置