CN113168364B 一种芯片验证方法和装置 (华为技术有限公司)_第1页
CN113168364B 一种芯片验证方法和装置 (华为技术有限公司)_第2页
CN113168364B 一种芯片验证方法和装置 (华为技术有限公司)_第3页
CN113168364B 一种芯片验证方法和装置 (华为技术有限公司)_第4页
CN113168364B 一种芯片验证方法和装置 (华为技术有限公司)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2021.06.02PCT/CN2018/1196132018.12.06WO2020/113526ZH2020.06.11解决现有技术中存在的验证芯片是否存在bug机数值选择指令序列和确定的控制参数生成实2遍历预设的控制参数集合中一个未被遍历过的控制参数,根据选择的所遍历得到的控制参数生成一个实际测试指令用次执行遍历所述预设的控制参数集合中一个未被遍历过的控制参基于该随机数值在所述测试模板中选择对应的指令序列,根据选择的3.如权利要求1或2所述的方法,其特征基于所述随机数值计算多个指令索引值,并基于计算得到的所述述测试模板中选择对应的指令序列。若在所述控制参数集合中遍历不到未被遍历的控制参数,确定所述M个测试覆盖率中存在至少N个测试覆盖率大于预设值;所述M和N均为正整使用读系统状态寄存器到通用寄存器MRS指令读取性能监控单元PMU寄存器得到测试使用MRS指令读取特殊寄存器得到测试覆盖率,作为所述第一芯片运行该实际测试指3使用装入指令读取所述第一芯片的内存得到测试覆盖率,作为基于一个未使用过的随机数值在测试模板中选择对应的指令序根据选择的所述指令序列和所述控制参数生成一个实际测试指获取第一芯片运行该实际测试指令用例时得到的测试覆盖执行基于一个未使用过的随机数值在测试模板中选择对应的指使用相应随机数值在测试模板中选择对应的指令序列,基于所述指基于一个未使用过的随机数值计算多个指令索引值,并基于计算确定所述M个测试覆盖率中存在至少N个测试覆盖率大于预设值;所述M和N均为正整使用读系统状态寄存器到通用寄存器MRS指令读取性能监控单元PMU寄存器得到测试使用MRS指令读取特殊寄存器得到测试覆盖率,作为所述第一芯片运行该实际测试指使用装入指令读取所述第一芯片的内存得到测试覆盖率,作为4所述处理器,用于执行所述存储器中存储的计算机程序,以使得所述装的控制参数,根据选择的所述指令序列和遍历得到的控制参数生成一个实际测试指令用次执行遍历所述预设的控制参数集合中一个未被遍历过的控制参基于该随机数值在所述测试模板中选择对应的指令序列,根据选择的基于所述随机数值计算多个指令索引值,并基于计算得到的所述述测试模板中选择对应的指令序列。若在所述控制参数集合中遍历不到未被遍历的控制参数,将生成的该随机数值作为确定的一个随机数值之前,获取所述第一确定所述M个测试覆盖率中存在至少N个测试覆盖率大于预设值;所述M和N均为正整所述处理器使用读系统状态寄存器到通用寄存器MRS指令读取性能监控单元PMU寄存所述处理器使用MRS指令读取特殊寄存器得到测试覆盖率,作为所述第一芯片运行该所述处理器使用装入指令读取所述第一芯片的内存得到测试覆盖率,作5所述处理器,用于执行所述存储器中存储的计算机程序,以使得所述装模板包括多个指令;根据选择的所述指令序列和所述控制参数生成一个实际测试指令用执行基于一个未使用过的随机数值在测试模版中选择对应的指令序使用相应随机数值在测试模板中选择对应的指令序列,基于所述指基于一个未使用过的随机数值计算多个指令索引值,并基于计算将选择的所述控制参数作为确定的一个控制参数之前,获取所述确定所述M个测试覆盖率中存在至少N个测试覆盖率大于预设值;所述M和N均为正整所述处理器使用读系统状态寄存器到通用寄存器MRS指令读取性能监控单元PMU寄存所述处理器使用MRS指令读取特殊寄存器得到测试覆盖率,作为所述第一芯片运行该所述处理器使用装入指令读取所述第一芯片的内存得到测试覆盖率,作6越来越大,比如验证片上系统(systemonchip,SOC)上的中央处理器(centralprocessingunit,CPU)的缓存和SOC中其他器件的缓存(cache)一致性就是验证芯片是否如增加指令集合中用于测试没有输出的功能值对应的功能的指令,进而提高测试覆盖率,历所述预设的控制参数集合中一个未被遍历7试覆盖率大于预设值时,可以进而控制该第一芯片继续运行该实际指令测试指令用例多[0011]由于第一芯片运行基于该随机数值得到的指令序列和默认控制参数组成的指令用例后得到的测试覆盖率大于预设值,所以可以确定该随机数值为一个较好的随机数值,[0014]在一种可能的设计中,若在所述控制参数集合中遍历不别得到M个测试覆盖率;当确定所述M个测试覆盖率中存在至少N个测试覆盖率大于预设值=N。数值存储到随机数集合中,可以使得在随机数集合中不断学习积累较为优良的随机数值,8[0022]使用读系统状态寄存器到通用寄存器MRS指令读取性能监控单元PMU寄存器得到[0023]使用MRS指令读取特殊寄存器得到测试覆盖率,作为所述第一芯片运行该实际测以使用基于同一控制参数和不同随机数值生成的不同实际测试指令用例对待验证芯片(即第一芯片)进行验证,且当第一芯片运行一个实际测试指令用例得到的测试覆盖率大于预[0028]由于第一芯片运行基于相应随机数值得到的指令序列和该控制参数生成的指令用例后得到的测试覆盖率大于预设值,所以可以确定该控制参数为一个较好的控制参数,所述多个指令索引值在所述测试模板中选择对应的指令序列。别得到的M个测试覆盖率;当确定所述M个测试覆盖率中存在至少N个测试覆盖率大于预设9参数存储至控制参数集合中,所述控制参数集合可以用于在验证第二芯片时提供控制参参数存储进控制参数集合,可以使得在控制参数集合中不断学习积累较为优良的控制参[0036]使用读系统状态寄存器到通用寄存器MRS指令读取性能监控单元PMU寄存器得到[0037]使用MRS指令读取特殊寄存器得到测试覆盖率,作为所述第一芯片运行该实际测[0047]图4为本申请实施例提供的一种根据随机数值选择对应的指令序列的过程示意用于测试待验证芯片的控制参数组成测试指令用例;所述指令约束中包含选取指令的约后续验证人员可以根据该文件中存储的测试覆盖率等信息修改或改进测试模板中的指令[0076]方式一、使用自适应专家系统控制器中的MRS(movetogeneralpurposeregisterfromsystemregister,读系统状态寄存器到通用寄存器)指令读取PMU适应指令发生器的测试模板中选择对应的指[0082]如图4所示,为本申请实施例提供的一种根据随机数值选择对应的指令序列的过继续运行该模拟测试指令用例M次,在得到的M个测试覆盖率中确定存在N个测试覆盖率均到的测试覆盖率为90%之后,则可以再控制该待验证芯片继续运行该模拟测试指令用例5次,得到的5个测试覆盖率为8588909179由于得到的5个测试覆盖率中有4个大于预设值80则就可以将生成该模拟测试指令用例的指令序列的随机数值作为一个[0086]步骤301、自适应专家系统控制器基于该随机数值在测试模板中选择对应的指令里基于随机数值在测试模板中选择对应的指令序列的过程和确定一个随机数值时基于随bug则结束,否则再次执行遍历该预设的控制参数集合中一个未被遍历过的控制参数的步[0090]这里的预设的控制参数集合中的不同控制参数可以根据待验证芯片的不同功能参数集合中存储针对待验证芯片B预先设置的一些[0096]基于上述图3所示的实施例,本申请实施例还提供了一种芯片验证的完整方法流[0099]步骤502,性能监控单元计数器获取目标芯片运行该模拟测试指令用例后输出的[0100]步骤503,性能监控单元计数器判断目标芯片运行该模拟测试指令用例后输出的控制器触发随机指令发生器随机选择其他X值后继续执行步骤500~步骤502;这里需要说[0101]判定一个模拟测试指令用例对于目标芯片验证时是否是一个好的模拟测试指令验证目标芯片时需要验证的功能该模拟测试指令用例只验证到了10如果用测试覆盖率拟测试指令用例是一个较好的模拟测试指令[0102]步骤504,自适应专家系统控制器继续控制目标芯片运行该模拟测试指令用例M监控单元计数器获取目标芯片运行该实际测试指令用例输[0109]步骤509,性能监控单元计数器判断目标芯片运行该实际测试指令用例后输出的[0110]步骤510,自适应专家系统控制器继续控制目标芯片运行该实际测试指令用例K[0112]上述执行完步骤504后,如果M个测试覆盖率结果中存在N个测试覆盖率结果均大[0115]在一种可选的实施方式中,首先自适应专家系统控制器用例时得到的测试覆盖率大于预设值时,将选择的所述控制参数作为步骤600中确定的控[0117]在一种可选的实施方式中,使用相应随机数值从测试模板中选择对应的指令序指令索引值在自适应指令发生器的测试模板中选择对应的[0119]这里获取待验证芯片运行该模拟测试指令用例后的测试覆盖率,与图3的方法中运行该模拟测试指令用例M次,在得到的M个测试覆盖率中确定存在N个测试覆盖率大于预[0122]在一种可选的实施方式中,基于一个未使用过的随机数并基于计算得到的所述多个指令索引值在所述测试模板中选择对应的指令[0125]步骤603、性能监控单元计数器获取目标芯片运行该实际测试指令用例时得到的令用例得到的测试覆盖率大于预设值后,控制待验证芯片运行该实际测试指令用例多次,[0128]基于上述图6所示的实施例,本申请实施例还提供了另一种芯片验证的完整方法[0129]步骤700、自适应专家系统控制器在预设的控制参数集合中随机选取一个控制参[0132]步骤703、性能监控单元计数器获取目标芯片运行该模拟测试指令用例后输出的[0133]步骤704、性能监控单元计数器判断目标芯片运行该模拟测试指令用例后输出的骤700中生成的随机数值X和随机选择的其他控制参数P生成模拟测试指令用例;这里需要[0134]步骤705、自适应专家系统控制器继续让目标芯片运行该性能监控单元计数器获取M次运行分别输出的M个测试覆与确定的良好的控制参数P结合生成实际测试指令用例,控制所述目标芯片运行该实际测[0138]步骤708、自适应专家系统控制器继续控制目标芯片运行该实际测试指令用例K[0142]上述执行完步骤706后,如果M个测试覆盖率结果中存在N个测试覆盖率结果均大合对应的地址集合中带有标记的存储地址,根据选择的存储地址获取到优良的控制参数,的步骤500至步骤511,或使得所述处理单元801可以执行如图6所示的步骤600至步骤603,[0148]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式括:处理器901,可选的,还包括存储器902,所述处理器901可以是中央处理器(central理器901还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammablelogic述存储器902通过总线903相互连接;所述总线903可以是外设部件互连标准(PeripheralComponentInterconnect,PCI)总线或扩展工业标准结构(ExtendedIndustryStandard[0151]图9所示的装置可以是图2中的自适应指令发生器,也可以是图2中自适应指令发生器中的一个控制部件或控制单元。上述图8中的处理单元801可以基于这里的处理器901现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定[0154]这些计算机程序指令也可存储在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论