【技术实现步骤摘要】
生成验证用例的方法及装置
[0001]本公开涉及处理器验证领域,更具体地,涉及一种生成验证用例的方法、装置、设备、计算机程序产品和存储介质。
技术介绍
[0002]处理器作为计算机系统的运算和控制核心,负责读取指令、对指令译码并执行指令,是信息处理、程序运行的最终执行单元。处理器自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。处理器架构设计的迭代更新以及集成电路工艺的不断提升促使其不断发展完善。
[0003]在设计处理器的全生命周期中,处理器验证占据着至关重要的地位。一方面,处理器制造商需要对自己的产品进行验证,另一方面,处理器的用户有时将自己集成在芯片中的功能用拓展指令去控制,因此会对处理器进行改动,因此,进行处理器验证的需求日益增多。通常,处理器验证的主要步骤包括:根据设计需求、功能需求编写验证计划;设计验证环境构架、搭建验证环境;根据验证计划设计验证用例;运行验证用例,收集验证结果,等。
[0004]在设计验证用例的过程中,完全随机生成的原始验证用例难免包含会导致执行结果出现异常的验证指令 ...
【技术保护点】
【技术特征摘要】
1.一种生成验证用例的方法,包括:对于多个通用寄存器中的每个通用寄存器,利用第一加载指令为所述通用寄存器加载随机值;在指令库中随机地每次获取一条指令作为验证指令,执行所述验证指令,并根据所述验证指令的执行结果判断所述验证指令是否适合用于所述验证用例;根据适合用于所述验证用例的验证指令的执行结果,选择所述第一加载指令中的至少一部分加载指令;以及利用所述至少一部分加载指令以及所述适合用于验证用例的验证指令,构造所述验证用例。2.根据权利要求1所述的方法,其中,在指令库中随机地每次获取一条指令作为验证指令,直至判断满足验证用例结束条件,其中被判断为适合用于所述验证用例的验证指令的数量为第一数量,所述验证用例结束条件包括:所述第一数量达到阈值。3.根据权利要求2所述的方法,其中,所述判断所述验证指令是否适合用于所述验证用例,包括:对于所述验证指令,判断所述验证指令的执行结果是否出现异常;在所述验证指令的执行结果出现异常的情况下,判断所述异常是否是可消除的;在所述验证指令的执行结果出现异常且所述异常是不可消除的情况下,判断所述验证指令不适合用于所述验证用例。4.根据权利要求3所述的方法,其中,所述判断所述异常是否是可消除的,包括:判断所述验证指令涉及的源操作数所对应的源操作寄存器是否未被更新过,其中,所述源操作寄存器为所述多个通用寄存器之一;在所述源操作寄存器未被更新过的情况下,则判断所述异常能够被消除;以及在所述源操作寄存器已被更新过的情况下,则判断所述异常不能被消除。5.根据权利要求4所述的方法,还包括:在判断所述异常能够被消除的情况下,利用第二加载指令为所述源操作寄存器所对应的通用寄存器加载指定值,其中,所述指定值代表执行任何指令时都不导致异常的值,其中,所述利用所述至少一部分加载指令以及所述适合用于验证用例的验证指令,构造所述验证用例,包括:利用所述至少一部分加载指令、所述第二加载指令以及所述适合用于验证用例的验证指令,构造所述验证用例。6.根据权利要求4或5所述的方法,还包括:在判断所述异常能够被消除的情况下或者在所述验证指令的执行结果未出现异常的情况下,判断所述多个通用寄存器是否均被更新过;以及在判断所述多个通用寄存器均被更新过的情况下,并且在所述第一数量尚未达到阈值的情况下,对于多个通用寄存器的每个通用寄存器,利用第一加载指令为所述通用寄存器加载随机值。7.根据权利要求6所述的方法,其中,判断所述多个通用寄存器是否均被更新过包括以下情况中的至少一种:判断所述通用寄存器是否已经作为目的操作寄存器被执行结果未出现异常的验证指
令更新过;或者判断所述通用寄存器是否已经作为源操作寄存器被加载过非随机值。8.根据权利要求3所述的方法,还包括:在执行每次获取到的所述验证指令之前,保存所述多个通用寄存器的寄存器状态;以及对于每次随机获取的验证指令,将其依序包括在所述验证用例中,并且所述方法还包括:在判断所述异常是可...
【专利技术属性】
技术研发人员:王林吉,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。