买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】待测器件验证装置及相关产品_中科寒武纪科技股份有限公司_201910499933.2 

申请/专利权人:中科寒武纪科技股份有限公司

申请日:2019-06-10

公开(公告)日:2021-09-21

公开(公告)号:CN110261758B

主分类号:G06F11/00(20060101)

分类号:G06F11/00(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.09.21#授权;2019.10.22#实质审查的生效;2019.09.20#公开

摘要:本申请提供了一种待测器件验证装置及相关产品,该待测器件验证装置用于进行机器状态验证,本申请实施例通过地址依赖树在指令序列中加入探针指令,根据探针指令的执行结果重新对指令序列进行验证,直到获得作导致错误的指令,从而,可准确、快速地对指令序列进行验证,确定导致错误的指令所在的位置,提高待测器件的验证速率。

主权项:1.一种待测器件验证装置,其特征在于,所述待测器件验证装置包括执行器和控制器,其中,所述执行器,用于运行指令序列;所述控制器,用于在根据所述指令序列的执行结果确定所述指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列;所述执行器,还用于对所述新的指令序列进行验证;所述控制器,还用于根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令。

全文数据:待测器件验证装置及相关产品技术领域本申请涉及芯片验证技术领域,具体涉及一种待测器件验证装置及相关产品。背景技术随着硅材料半导体工艺接近物理极限,在单位面积的硅材料芯片上集成更多的晶体管变得越来越困难。电子器件中集成电路集成的功能越来越多,处理器需要执行的指令数量也越来越多,这就使执行器中的指令集的验证越来越复杂,对验证技术提出了新的挑战,因此,在对待测器件进行验证时,如何准确、高效地对待测器件进行验证成为需要考虑的问题。发明内容本申请实施例提供了一种待测器件验证装置及相关产品,可针对集成指令数量较多的待检测器件,快速、准确地定位导致错误的指令所在的位置,提升待测器件验证效率。第一方面,提供一种待测器件验证装置,所述待测器件验证装置包括执行器和控制器,其中,所述执行器,用于运行指令序列;所述控制器,用于在根据所述指令序列的执行结果确定所述指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列;所述执行器,还用于对所述新的指令序列进行验证;所述控制器,还用于根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令。第二方面,本申请实施例提供了一种待测器件验证方法,应用于待测器件验证装置,所述待测器件验证装置包括执行器和控制器,所述方法包括:所述执行器运行指令序列;所述控制器在根据所述指令序列的执行结果确定所述指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列;所述执行器对所述新的指令序列进行验证;所述控制器根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令。可选地,所述在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列,包括:所述控制器在所述地址依赖树中每一节点的每一PC值对应的节点指令后面加入探针指令,得到所述新的指令序列。可选地,所述在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列,包括:所述控制器获取所述地址依赖树中节点的标记信息,所述标记信息用于确定所述节点中每一PC值对应的节点指令是否需要插入探针指令;根据所述地址依赖树中节点的标记信息,在标记为需要加入探针指令的节点的每一PC值对应的节点指令后面加入探针指令,得到所述新的指令序列。可选地,所述获取所述地址依赖树中节点的标记信息,包括:若当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果错误,则所述控制器将所述当前被访问的节点的子节点标记为需要加入探针指令;若所述当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果均正确,则所述控制器将所述当前被访问的节点的子节点标记为不需要加入探针指令,获得所述地址依赖树中节点的标记信息。可选地,所述获取所述地址依赖树中节点的标记信息,包括:若当前被访问的节点为根节点,则所述控制器将所述根节点标记为需要加入探针指令。可选地,所述方法还包括:所述控制器在所述执行器完成所述当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的验证后,消除所述当前被访问的节点中的探针指令。可选地,所述根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令,包括:若所述探针指令的执行结果错误,且所述探针指令之前的节点指令对应的PC值小于所述目标PC值,将所述目标PC值更新为所述探针指令之前的节点指令对应的PC值,直到所述目标PC值满足预设条件;当所述目标PC值满足预设条件时,将所述目标PC值对应的节点指令作为所述导致错误的指令;其中,当所述目标PC值为执行结果错误的探针指令前面的节点指令的PC值中的最小PC值时,所述控制器确定所述目标PC值满足预设条件。可选地,所述对所述新的指令序列进行验证,包括:所述执行器在当前被验证的探针指令与所述当前被验证的探针指令对应的节点指令之间加入同步指令;确定所述新的指令序列中与所述当前被验证的探针指令对应的节点指令最接近的目标同步指令,所述目标同步指令置于所述当前被验证的探针指令对应的节点指令之前;从所述目标同步指令执行所述新的指令序列至所述当前被验证的探针指令。可选地,所述装置还包括存储单元,所述存储单元包括RAM和寄存器,所述方法还包括:在所述执行器运行指令序列后,且所述指令序列的执行结果错误时,所述控制器根据所述指令序列的执行结果构建地址依赖树;其中,所述地址依赖树的根节点包含所述初始指令序列中输出错误结果的指令的输出结果所在的RAM地址区间或寄存器号;所述地址依赖树的下一层节点包含访问过所述上一层节点的中至少一个PC值对应的节点指令的操作数所在的RAM地址区间或寄存器号。第三方面,本申请实施例提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第二方面所述的方法步骤。第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如第二方面所述的方法步骤。第五方面,本申请实施例提供了一种芯片,该芯片包括上述第一方面所述待测器件验证装置。第六方面,本申请实施例提供了一种芯片封装结构,该芯片封装结构包括上述第五方面所述的芯片。可以看出,本申请实施例的待测器件验证装置,通过执行器运行指令序列,控制器在根据指令序列的执行结果确定指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列,执行器对新的指令序列进行验证,控制器根据探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令。本申请实施例通过地址依赖树在指令序列中加入探针指令,根据探针指令的执行结果重新对指令序列进行验证,直到获得导致错误的指令,从而可准确、快速地对指令序列进行验证,确定导致错误的指令所在的位置,提高待测器件的验证速率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种待测器件验证装置的结构示意图;图2A是本申请实施例提供的一种待测器件验证方法的流程示意图;图2B是本申请实施例提供的一种指令序列的演示示意图;图2C是本申请实施例提供的一种地址依赖树的演示示意图;图3是本申请实施例提供的一种组板卡的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。目前,为了应对集成功能复杂、数量庞大的指令集的待测器件DUT等较为复杂的验证场景,申请人着眼于提升待测器件的可观测性和可控制性。其中,待测器件的可观测性是指验证人员对待测器件内部的观测能力。验证人员可以通过仿真波形和环境打印观测仿真过程中待测器件的机器状态。对于存储空间较大的RAM,采用文件保存的形式会更为易于分析。待测器件的可控制性是指验证人员对待测器件机器状态的控制能力。例如,验证人员可以使用SystemVerilog中的force语句对待测器件中的信号进行强制赋值操作、或者通过改变待测器件接口信号来改变待测器件的运行状态、或者通过后门访问的方法为待测器件内部的存储器赋值等等。对于复杂的异构多核系统,提升待测器件的可观测性和可控制性,有利于验证人员分析问题。然而,在验证过程中,由于待测器件的设计和环境搭建方法等原因,并不是每一种激励的输出都能被比较。例如,一些指令的结果在写入RAM时可能存在乱序,使得验证人员在抓取输出信号时难以确定输出属于哪一个指令。又如,不同种类的指令可能共用同一个功能部件,由于功能部件中复杂的时序关系难以确定其输出属于哪一个指令。再如,比较每一种指令的输出可能导致验证环境过于复杂,不便于维护。这些原因可能导致在验证过程中的比对过程是不完全的,也就是说,当一段输入激励输入待测器件后若其输出结果与参考模型不一致,很可能不是激励序列中最后输入的激励所导致的,而可能是激励序列中间的激励所导致的。在激励序列中间定位导致待测器件运行出错的激励很可能是一个非常花费时间的过程。例如,在冗长的指令序列中有两条输入输出IO指令发生了数据竞争,导致待测器件和参考模型的模拟结果之间的比较结果不一致。由于发生数据竞争的位置可能被反复读写过,使得最后出错的位置离发生数据竞争的位置可能相距甚远,寻找出错的原因是一件非常耗费时间的事情。针对上述问题,可将待测器件中的指令集中的指令分为两种:可以实时检测结果的指令和不能实时检测结果的指令。其中,可以实时检测结果的指令是指在待测器件仿真过程中,指令执行完之后,验证环境能从待测器件中抓取某些信号取得其运行结果并进行比对的指令,也就是说环境能实时地知道指令执行的对错。不能实时检测结果的指令则是环境无法在待测器件仿真过程中抓取信号从而比对其结果的指令。对于不能实时比较结果的指令,若其在仿真过程中的运行发生错误,环境对该错误的检测会有延迟,如通过在指令运行完之后比较RAM中存留的数据发现。所以,对于可以实时检测结果的指令和不能实时检测结果的指令的混合序列,若在指令序列运行完之后发现RAM或寄存器中存留数据等最终机器状态不正确,而指令序列运行过程中未发现错误,那么就需要回溯是指令序列中哪个指令导致运行错误。即使是在运行过程中发现可以实时检测结果的指令运行错误,也有可能是因为可以实时检测结果的指令与其之间的不能实时检测结果的指令之间存在联系如数据相关等,由这些存在联系的不能实时检测结果的指令运行错误所导致。因此,为了能快速定位导致待测器件仿真结果出错的指令,本申请提出通过加入探针指令针对集成功能复杂、数量庞大的指令集的待测器件进行验证的方案。下面介绍本申请使用的待测器件验证装置。参阅图1,提供了一种待测器件验证装置,该待测器件验证装置包括处理器101和存储单元102,其中,处理器101包括执行器10和控制器11,所述存储单元102包括寄存器21和随机存取存储器RAM22。其中,所述执行器10用于运行指令序列;所述控制器11用于在根据所述指令序列的执行结果确定所述指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列;所述执行器10还用于对所述新的指令序列进行验证;所述控制器11还用于根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令。可选地,当目标PC值为加入的探针指令中执行结果错误的探针指令前面的节点指令的PC值中的最小PC值时,控制器可以认为该目标PC值满足预设条件。此时,该最小PC值对应的节点指令即为指令序列中导致错误的指令。其中,所述寄存器和所述RAM,用于存储待验证的指令序列,所述指令序列中包含n个指令,n为大于1的整数。在一个可能的实施例中,在所述在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列方面,所述控制器具体用于:在所述地址依赖树中每一节点的每一PC值对应的节点指令后面加入探针指令,得到所述新的指令序列。在一个可能的实施例中,在所述在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列方面,所述控制器具体用于:获取所述地址依赖树中节点的标记信息,所述标记信息用于确定所述节点中每一PC值对应的节点指令是否需要插入探针指令;根据所述地址依赖树中节点的标记信息,在标记为需要加入探针指令的节点的每一PC值对应的节点指令后面加入探针指令,得到所述新的指令序列。在一个可能的实施例中,在所述获取所述地址依赖树中节点的标记信息方面,所述控制器具体用于:若当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果错误,则将所述当前被访问的节点的子节点标记为需要加入探针指令;若所述当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果均正确,则将所述当前被访问的节点的子节点标记为不需要加入探针指令,获得所述地址依赖树中节点的标记信息。具体地,若当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果错误,则将所述当前被访问的节点的子节点标记为需要加入探针指令。若所述当前被访问的节点中所有PC值对应的节点指令后面的探针指令的执行结果均正确,则将所述当前被访问的节点的子节点标记为不需要加入探针指令,获得所述地址依赖树中节点的标记信息。在一个可能的实施例中,在所述获取所述地址依赖树中节点的标记信息方面,所述控制器具体用于:若当前被访问的节点为根节点,则将所述根节点标记为需要加入探针指令。在一个可能的实施例中,所述控制器还用于在所述执行器完成所述当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的验证后,消除所述当前被访问的节点中的探针指令。在一个可能的实施例中,在所述根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令方面,所述控制器具体用于:若所述探针指令的执行结果错误,且所述探针指令之前的节点指令对应的PC值小于所述目标PC值,将所述目标PC值更新为所述探针指令之前的节点指令对应的PC值,直到所述目标PC值满足预设条件;当所述目标PC值满足预设条件时,将所述目标PC值对应的节点指令作为所述导致错误的指令;其中,当所述目标PC值为执行结果错误的探针指令前面的节点指令的PC值中的最小PC值时,所述控制器确定所述目标PC值满足预设条件。在一个可能的实施例中,在所述对所述新的指令序列进行验证方面,所述执行器具体用于:在当前被验证的探针指令与所述当前被验证的探针指令对应的节点指令之间加入同步指令;确定所述新的指令序列中与所述当前被验证的探针指令对应的节点指令最接近的目标同步指令,所述目标同步指令置于所述当前被验证的探针指令对应的节点指令之前;从所述目标同步指令执行所述新的指令序列至所述当前被验证的探针指令。在一个可能的实施例中,所述控制器,还用于:在所述执行器运行指令序列后,且所述指令序列的执行结果错误时,根据所述指令序列的执行结果构建地址依赖树;其中,所述地址依赖树的根节点包含所述初始指令序列中输出错误结果的指令的输出结果所在的RAM地址区间或寄存器号;所述地址依赖树的下一层节点包含访问过所述上一层节点的中至少一个PC值对应的节点指令的操作数所在的RAM地址区间或寄存器号。如图2A所示,图2A为本申请实施例提供的一种待测器件验证方法的流程示意图,应用于待测器件验证装置,所述待测器件验证装置包括执行器和控制器。所述方法包括:201、执行器运行指令序列。本申请实施例中,执行器可以运行指令序列,得到指令序列的执行结果。202、控制器在根据所述指令序列的执行结果确定所述指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列。本申请实施例中,控制器可在指令序列的执行结果错误时,确定指令序列中存在导致错误的指令。请参阅图2B,图2B为本申请实施例提供的一种指令序列的演示示意图,如图2B所示,指令序列包含可以实时对比结果的指令以及不能实时对比结果的指令,其中,实时对比结果的指令,可以在指令序列执行过程中,实时地获知该指令的执行结果是否正确。不能实时对比结果的指令,即使在指令序列的执行过程中出错也不会报错。因此,若指令序列中输出错误结果的指令为不能实时比对结果的指令,需要找出导致指令序列执行过程中导致错误的指令所在的位置。本申请实施例中,可通过在地址依赖树的至少一个节点指令后面加入探针指令,得到加入探针指令后的新的指令序列,进而,可根据新的指令序列的执行结果重新定位导致错误的指令。可选地,在所述执行器运行指令序列后,且所述指令序列的执行结果错误时,控制器可根据所述指令序列的执行结果构建地址依赖树;其中,所述地址依赖树的根节点包含所述初始指令序列中输出错误结果的指令的输出结果所在的RAM地址区间或寄存器号;所述地址依赖树的下一层节点包含访问过所述上一层节点的中至少一个PC值对应的节点指令的操作数所在的RAM地址区间或寄存器号。其中,控制器可根据指令序列中输出错误结果的指令构建地址依赖树,该地址依赖树中各个PC值对应的节点指令可以是不能实时比对结果的指令。具体地,地址依赖树中的根节点包含指令序列中输出错误结果的指令的输出结果所在的RAM地址区间或寄存器号,地址依赖树中的子节点包含该根节点的输出结果对应的操作数所在的RAM地址区间或寄存器号。也就是说,按照地址依赖树从上到下的关系,所述地址依赖树的下一层节点为访问过上一层节点的地址信息的指令的操作数所在的RAM地址区间或寄存器号。其中,地址依赖树中包括多个节点,每一节点还包含访问对应地址区间的节点指令的PC值,PC值是一个可以唯一标记任何一个核的任意一条指令的标志量,表明当前执行的指令是哪个指令。地址依赖树中每一节点中每一PC值对应的节点指令为不能实时比较结果的指令。其中,探针指令是可以实时比对结果的简单指令,探针指令的操作数来自不能实时比对结果的指令本申请实施例中,探针指令的操作数来自其之前的节点指令,从而,如果不能实时比对结果的指令运行错误,也会导致探针指令错误。本申请实施例中,由于地址依赖树中各个PC值对应的至少一个节点指令均为不能实时比对结果的指令,因此,通过将探针指令加在不能实时比对结果的节点指令之后,从而可以通过探针指令的执行结果确定该探针指令之前的节点指令的执行结果是否正确,进而可较为迅速地发现哪条节点指令导致指令序列的执行结果错误。请参阅图2C,图2C为本申请提供的一种地址依赖树的演示示意图,其中,地址依赖树包括6个节点,每一节点的地址区间保存了至少一个PC值,每一PC值对应一个节点指令。第1节点,即根节点包含PC值a和PC值b,第1节点中的PC值a和b可以是该指令序列中输出错误结果的指令对应的PC值。第2节点和第3节点为第1节点的子节点,第2节点包含PC值c,该PC值c指向的节点指令的执行结果可以第1节点中PC值a和或b对应的节点指令的操作数。第3节点包含PC值d和PC值e,同理,该PC值d和e指向的节点指令的执行结果可以第1节点中PC值a和或b对应的节点指令的操作数。第4节点和第5节点为第2节点的子节点,第4节点包含PC值f和PC值g,该PC值f和g指向的节点指令的执行结果可以第2节点中PC值c对应的指令的操作数。第5节点包含PC值h,该PC值h指向的节点指令的执行结果可以第2节点中PC值c对应的节点指令的操作数。第6节点为第3节点的子节点,第6节点包含PC值i,该PC值i指向的节点指令的执行结果可以第3节点中PC值d和或e对应的节点指令的操作数。可选地,上述步骤202中,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列,可包括以下步骤:21、所述控制器在所述地址依赖树中每一节点的每一PC值对应的节点指令后面加入探针指令,得到所述新的指令序列。本申请实施例中,控制器可在地址依赖树中每一节点的每一PC值对应的节点指令后面加入探针指令,得到新的指令序列,从而,执行器可通过执行新的指令序列,验证地址依赖树中每一节点的每一PC值对应的节点指令是否为指令序列中导致错误的指令。例如,图2C所示的地址依赖树中包括6个节点,其中,PC值a至PC值i共9个PC值对应9个节点指令,可在9个节点指令中每一节点指令后面加入一个探针指令,得到新的指令序列。这样,由于探针指令为能够实时比对结果的指令,从而通过在地址依赖树的每个PC值对应的节点指令后面均加入探针指令,可以将该地址依赖树中各个不能实时比对结果的节点指令转换为可以实时比对结果的指令,从而可以快速找到指令序列中导致错误的指令。可选地,上述步骤202中,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列,可包括以下步骤:22、所述控制器获取所述地址依赖树中节点的标记信息,所述标记信息用于确定所述节点中每一PC值对应的节点指令是否需要插入探针指令;23、所述控制器根据所述地址依赖树中节点的标记信息,在标记为需要加入探针指令的节点的每一PC值对应的节点指令后面加入探针指令,得到所述新的指令序列。本申请实施例中,控制器可获取地址依赖树中节点的标记信息,其中,有些节点的标记信息为“需要加入探针指令”,有些节点的标记信息为“不需要加入探针指令”,因此,可在标记为需要加入探针指令的节点的每一PC值对应的节点指令后面加入探针指令,得到新的指令序列。这样,当执行器执行完所述节点指令之后,即可紧接着执行其后面的探针指令,由于探针指令是实时可比对结果的指令,从而可以通过该探针指令的执行结果确定其前的节点指令是否是导致出错的指令。可选地,若地址依赖树中每一节点的标记信息均为“需要加入探针指令”,则可获取各个节点的标记信息,在标记为需要加入探针指令的所有节点的每一PC值对应的指令后面加入探针指令,即在所有节点中每一节点的每一PC值对应的节点指令后面加入探针指令,得到新的指令序列。可选地,若地址依赖树中仅有部分节点的标记信息为“需要加入探针指令”,则可获取各个节点的标记信息,在标记为需要加入探针指令的所有节点的每一PC值对应的节点指令后面加入探针指令。其中,标记信息为“需要加入探针指令”的节点可以是地址依赖树中某一层的所有节点,或者,标记信息为“需要加入探针指令”的节点还可以是地址依赖树中某几层的所有节点。例如,若地址依赖树中,第一层的根节点的标记信息为“需要加入探针指令”,可在根节点的每一PC值对应的指令后面加入探针指令。如图2C所示的地址依赖树,即在PC值a对应的节点指令A和PC值b对应的节点指令B后面都加上探针指令。又例如,若地址依赖树中,第2层的每一节点标记为“需要插入探针指令”,可在第2层的每一节点每一PC值对应的节点指令后面加入探针指令。即在PC值c、d和e对应的节点指令C、D和E的后面都加上探针指令,得到新的指令序列。具体地,若地址依赖树中所有节点的PC值对应的节点指令的数量较多,则可通过多次加入探针指令,每一次在地址依赖树中某一层的节点的PC值对应的节点指令后面加入探针指令,如此,相比于一次性在地址依赖树中所有节点的PC值对应的节点指令后面加入探针指令的方案,分多次加入探针指令的方案中,加入探针指令后的新的指令序列中加入探针指令的数量会更少,有利于还原初始指令序列的运行过程,从而复现指令执行错误,进而可加快新的指令序列运行速率,提高待测器件验证效率。例如,若地址依赖树中,第一层的根节点的标记信息为“需要加入探针指令”,可在根节点的每一PC值对应的指令后面加入探针指令,如图2C所示的地址依赖树,即在PC值a对应的节点指令A和PC值b对应的节点指令B后面都加上探针指令,获得并运行新的指令序列。之后,根据该新的指令序列的运行结果,再确定是否需要在该第一层节点的子节点第二层节点中插入探针指令。如此,一层一层的逐个进行确定。本申请实施例中,在地址依赖树中逐层节点对应的节点指令依次加入探针指令的节点中插入探针指令,相较于针对地址依赖树中的全部节点对应的节点指令一次插入探针指令的方案,有利于还原初始指令序列的运行过程,从而复现错误,可简化验证过程,提高验证效率。可选地,上述步骤22中,获取所述地址依赖树中节点的标记信息,可包括以下步骤:A1、若当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果错误,则所述控制器将所述当前被访问的节点的子节点标记为需要加入探针指令;A2、若所述当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果均正确,则所述控制器将所述当前被访问的节点的子节点标记为不需要加入探针指令,获得所述地址依赖树中节点的标记信息。具体地,若所述当前被访问的节点中所有PC值对应的节点指令后面的探针指令的执行结果均正确,则所述控制器将所述当前被访问的节点的子节点标记为不需要加入探针指令。其中,当前被访问的节点可以为地址依赖树中的任一节点。若当前被访问的节点的地址空间包括一个PC值,则若该一个PC值的节点指令对应的探针指令的执行结果错误,则控制器可将当前被访问的节点的子节点标记为“需要加入探针指令”。若当前被访问的节点的地址空间包括多个PC值,则若该多个PC值中存在至少一个PC值的节点指令对应的探针指令的执行结果错误,则控制器可将当前节点的子节点标记为“需要加入探针指令”。具体地,若当前被访问的节点中所有PC值的所有节点指令对应的所有探针指令的执行结果均正确,则控制器可将当前节点的子节点标记为“不需要加入探针指令”。从而,可将地址依赖树中每一层的每一节点进行标记,得到各个节点的标记信息。本申请实施例中,在当前被访问的节点中所有PC值的所有节点指令对应的所有探针指令的执行结果均正确时,将当前节点的子节点标记为“不需要加入探针指令”,进而在执行过程中可以对当前节点的子节点的对应的节点指令不加入探针指令,从而,可减少指令序列中不必要的探针指令添加操作,减少新的指令序列的中不必要的探针指令,从而,提高探针指令的执行速率,提高待验证器件的验证效率。可选地,上述步骤22中,获取所述地址依赖树中节点的标记信息,可包括以下步骤:A3、若当前被访问的节点为根节点,则所述控制器将所述根节点标记为需要加入探针指令。具体实施中,根节点可以是默认需要加入探针指令的节点。其中,根节点指令序列中输出错误结果的指令所在的节点,其可以是地址依赖树中的第一个节点。进一步可将根节点的所有子节点标记为“需要加入探针指令”。即可将地址依赖树中第二层的每一节点标记为“需要加入探针指令”,并在该需要加入探针指令的节点PC值对应的每一节点指令后面加入探针指令,得到新的指令序列。若第二层中的当前被访问的节点中至少一个PC值的节点指令的探针指令的执行结果错误,则控制器将当前被访问的节点的子节点标记为“需要加入探针指令”,即将第三层中的节点标记为“需要加入探针指令”。若第二层中的当前被访问的节点中所有PC值的所有节点指令对应的所有探针指令的执行结果均正确,则控制器将该第二层中的当前被访问的节点的子节点标记为“不需要加入探针指令”,即将第三层中的节点标记为“不需要加入探针指令”。如此,可进一步对第三层的每一节点进行标记,得到获得标记信息。以此类推,针对地址依赖树中每一层的每一节点,均可根据每一节点的至少一个节点指令对应的至少一个探针指令的至少一个执行结果确定下一层的子节点的标记信息是“需要加入探针指令”还是“不需要加入探针指令”。举例说明,如图2C所示,第一层包括一个根节点,即第1节点。第二层包括2个节点:第2节点和第3节点。若第2节点内PC值c对应的节点指令后面的探针指令执行结果错误,则控制器将第2节点的子节点标记为需要加入探针指令,即将第4节点和第5节点标记为需要加入探针指令。进一步地,控制器可以在该4节点和第5节点的PC值f、g和h指向的节点指令后面分别加入探针指令。若PC值c对应的节点指令后面的探针指令执行结果正确,则控制器将第2节点的子节点标记为不需要加入探针指令,即将第4节点和第5节点标记为不需要加入探针指令,此时,无需在该4节点和第5节点的PC值f、g和h指向的节点指令后面分别加入探针指令。若第3节点内PC值d对应的节点指令后面的探针指令执行结果,和或PC值e对应的节点指令后面的探针指令执行结果错误,则控制器将第3节点的子节点标记为需要加入探针指令,即将第6节点标记为需要加入探针指令。进一步地,控制器可以在该PC值i指向地节点指令后面插入探针指令。若PC值d对应的节点指令后面的探针指令执行结果,和PC值e对应的节点指令后面的探针指令执行结果均正确,则控制器将第3节点的子节点标记为不需要加入探针指令,即将第6节点标记为不需要加入探针指令,此时,无需在该PC值i指向地节点指令后面插入探针指令。203、所述执行器对所述新的指令序列进行验证。本申请实施例中,执行器可对新的指令序列进行验证,具体地,执行器可执行新的指令序列,从而,可根据执行新的指令序列的执行结果定位导致错误的指令的位置。其中,执行器可对加入了至少一个探针指令的新的指令序列进行验证,得到新的指令序列中至少一个探针指令中每一探针指令的执行结果,并根据该探针指令的执行结果和地址依赖树,定位导致错误的指令。具体地,若当前被访问的节点内的中至少一个PC值对应的节点指令对应中的至少一个探针指令的执行结果错误,则控制器将当前被访问的节点的子节点标记为需要加入探针指令,进而,可根据当前被访问的节点的子节点的标记信息,重新在指令序列中插入探针指令,再次得到新的指令序列,并重复调用执行器对新的指令序列进行验证。其中,执行器确定探针指令是否执行错误,可获取探针指令的运行结果,将探针指令的运行结果与预设的正确运行结果进行比对,若运行结果与正确运行结果一致,则可确定探针指令执行正确,若运行结果与正确运行结果不一致,则可确定探针指令执行错误。可选地,该正确结果可以是通过模拟器referencemodel运行该新的指令序列获得的结果,本申请实施例中默认该模拟器获得的结果为正确结果。例如,控制器可将地址依赖树的根节点和第二层的每一节点即该根节点的所有子节点均标记为需要加入探针指令的节点,从而,控制器可获取地址依赖树中节点的标记信息,并根据标记信息将根节点和第二层的每一节点即该根节点的所有子节点中每一PC值对应的节点指令后面加入探针指令,得到新的指令序列。然后执行器执行新的指令序列,若第二层的节点中,一个节点中至少一个PC值的至少一个节点指令对应中的至少一个探针指令的执行结果错误,则控制器将该节点的子节点标记为“需要加入探针指令”。若第二层的节点中,另一个节点中所有PC值的所有节点指令对应的所有探针指令的执行结果正确,则控制器将该节点的子节点标记为“不需要加入探针指令”。从而,控制器可以根据第二层的节点中探针指令的执行结果确定第三层的节点对应的标记信息,即第三层中的哪些节点标记为需要加入探针指令,哪些节点不需要加入探针指令。进而,控制器可重新获取地址依赖树中节点的标记信息,并根据标记信息将第三层的节点中标记为需要加入探针指令的节点中每一PC值对应的节点指令后面加入探针指令,得到新的指令序列,并调用执行器对新的指令序列进行重新验证。举例说明,如图2C中的地址依赖树,控制器可将地址依赖树的根节点和第二层的每一节点标记为需要加入探针指令,从而,控制器可获取地址依赖树中各个节点的标记信息,并根据标记信息将根节点和第二层的第2节点和第3节点中每一PC值对应的节点指令后面加入探针指令,即在PC值c、PC值d、和PC值e分别对应的节点指令后面插入探针指令,得到新的指令序列。然后,调用执行器执行新的指令序列,得到PC值c的节点指令C对应的探针指令的第一执行结果、PC值d的节点指令D对应的探针指令的第二执行结果,以及PC值e的节点指令E对应的探针指令的第三执行结果。若第一执行结果错误,则可确定第2节点中至少一个PC值的至少一个节点指令对应的至少一个探针指令的执行结果错误,可将第2节点的子节点标记为需要加入探针指令,即将第4节点、第5节点标记为“需要加入探针指令”,并将第4节点、第5节点内的每一PC值对应的指令后面加入探针指令。若第二执行结果和第三执行结果均正确,则可确定第3节点中所有PC值的所有节点指令对应的所有探针指令的执行结果正确,因此,第3节点的子节点标记为不需要加入探针指令。从而,可重新获取标记信息,并根据标记信息将第三层的节点中,第4节点和第5节点的每一PC值对应的指令后面加入探针指令,得到新的指令序列,并调用执行器对新的指令序列进行验证。可见,在当前被访问的节点中所有PC值的所有节点指令对应的所有探针指令的执行结果均正确时,将当前节点的子节点标记为“不需要加入探针指令”,进而实现对当前节点的子节点的对应的节点指令不加入探针指令的效果,从而可减少指令序列中不必要的探针指令添加操作,减少新的指令序列的中不必要的探针指令,进而提高探针指令的执行速率,提高待验证器件的验证效率。可选地,上述步骤203中,所述执行器对所述新的指令序列进行验证,可包括以下步骤:所述执行器从所述新的指令序列的第一个指令执行至所述新的指令序列的终止指令。本申请实施例中,每一次执行新的指令序列,可从新的指令序列的第一个指令执行至新的指令序列的终止指令,具体地,从新的指令序列的第一个指令执行至新的指令序列的终止指令,可根据初始指令序列执行之前的初始状态执行新的指令序列,直到执行至新的指令序列的终止指令。可选地,上述步骤203中,所述执行器对所述新的指令序列进行验证,可包括以下步骤:31、所述执行器在当前被验证的探针指令与所述当前被验证的探针指令对应的节点指令之间加入同步指令;可选地,该当前被验证的探针指令可以是加入的探针指令中的一个或多个。进一步地,该当前被验证地探针指令可以是所有的探针指令,执行器可以在每一探针指令与该探针指令对应的节点指令之间加入同步指令。32、确定所述新的指令序列中与所述当前被验证的探针指令对应的节点指令最接近的目标同步指令,所述目标同步指令置于所述当前被验证的探针指令对应的节点指令之前;33、从所述目标同步指令执行所述新的指令序列至所述当前被验证的探针指令。本申请实施例中,若每次得到新的指令序列,执行新的指令序列都从指令序列的第一个指令开始执行,则会存在指令序列中很多指令重复执行多次的情况,因此,可在当前被验证的探针指令与所述当前被验证的探针指令对应的节点指令之间加入同步指令之间加入同步指令,同步指令能够保证在其之前的指令已经全部被执行完毕,从而,可在执行新的指令序列时,确定与新的指令序列所述当前被验证的探针指令对应的节点指令最接近的目标同步指令,所述目标同步指令置于所述当前被验证的探针指令对应的节点指令之前,然后从目标同步指令执行新的指令序列至新的指令序列的终止指令,如此,无需重复执行从第一个指令到目标同步点的指令,而直接从目标同步点开始执行指令序列至节点指令,从而,可加快指令序列的执行速率,提高验证速率。其中,执行器从所述目标同步指令执行所述新的指令序列至所述新的指令序列的终止指令,具体地,执行器可以将目标同步指令对应的机器状态快照作为初始状态,根据该初始状态执行新的指令序列至新的指令序列的终止指令。该新的指令序列中的终止指令可以是插入的探针指令。可选地,本申请实施例中,上述方法还可包括以下步骤:所述控制器在所述执行器完成所述当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的验证后,消除所述当前被访问的节点中的探针指令。本申请实施例中,可在当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的验证,消除所述当前节点中的探针指令。具体实施中,若当前节点包括根节点,根据根节点的标记信息加入至少一个探针指令,得到新的指令序列,在执行该新的指令序列后,可将根节点的每一PC值对应的节点指令后面加入的探针指令进行消除。并根据根节点的子节点,即第二层的子节点的标记信息,在第二层的所有节点的每一PC值对应的指令后面加入探针指令,得到新的指令序列。进一步地,执行器执行新的指令序列,得到新的指令序列中至少一个探针指令的执行结果,并根据执行结果确定第三层的每一节点的标记信息,并将第二层的所有节点的每一PC值对应的节点指令后面加入的探针指令进行消除,从而,根据第三层的每一节点的标记信息加入探针指令。依次类推,针对地址依赖树中每一层的所有节点,可以在每一层的每一节点中每一PC值对应的节点指令验证结束后,将该节点指令后面加入的探针指令,如此,在针对下一层中每一节点中每一PC值的节点指令进行验证时,新的指令序列中只包含下一层中每一节点中每一PC值的节点指令对应的探针指令,从而,每一次重新运行的新的指令序列中不会存在已经执行过的探针指令,进而,可减少新的指令序列中不必要的探针指令,减少新的指令序列中探针指令的数量,提高探针指令的执行速率,提高待验证器件的验证效率。204、所述控制器根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令。本申请实施例中,控制器根据探针指令的执行结果确定目标PC值,在执行新的指令序列后,可得到新的指令序列中至少一个探针指令中每一探针指令的执行结果。若探针指令的执行结果错误,则将执行结果错误的探针指令之前的节点指令的PC值作为目标PC值,每一次得到执行结果错误的探针指令,可以重新确定目标PC值。可选地,上述步骤204中,根据所述探针指令的执行结果确定目标PC值,直至获得所述导致错误的指令,可包括以下步骤:若所述探针指令的执行结果错误,且所述探针指令之前的节点指令对应的PC值小于所述目标PC值,将所述目标PC值更新为所述探针指令之前的节点指令对应的PC值,直到所述目标PC值满足预设条件。当所述目标PC值满足预设条件时,将所述目标PC值对应的节点指令作为所述导致错误的指令。其中,当所述目标PC值为执行结果错误的探针指令前面的节点指令的PC值中的最小PC值时,所述控制器确定所述目标PC值满足预设条件。本申请实施例中,当执行器执行新的指令序列后,得到执行结果错误的第一探针指令,可将第一探针指令之前的节点指令的第一PC值作为目标PC值,当执行新的指令序列后,得到执行结果错误的第二探针指令,若第二探针指令之前的节点指令的第二PC值小于当前确定的目标PC值,即第一PC值,则将第二PC值作为新的目标PC值,如此,目标PC值会逐渐变小,直到得到最小的目标PC值,从而,可将最小的目标PC值对应的指令作为导致错误的指令。举例说明,如图2C所示,首先,控制器可将地址依赖树的根节点标记为需要加入探针指令,根据该标记信息,可将根节点的每一PC值对应的节点指令后面加入探针指令,得到新的指令序列。执行器执行新的指令序列,得到PC值a对应的节点指令A后面的探针指令的执行结果错误。此时,控制器可以将根节点的子节点,即第二层的第2节点、第3节点标记为需要加入探针指令,将执行结果错误的探针指令之前的节点指令的PC值a作为目标PC值,即将目标PC值更新为a。之后,当完成该新的指令序列的执行后,消除根节点的每一PC值对应的节点指令后面加入探针指令。之后,控制器可以根据第二层的标记信息,将第2节点,第3节点的每一PC值对应的节点指令后面加入探针指令,得到新的指令序列。执行器执行新的指令序列,若PC值c对应的节点指令后面的探针指令执行结果错误,则控制器将第2节点的子节点标记为需要加入探针指令,即将第4节点和第5节点标记为需要加入探针指令;若PC值c小于当前确定的目标PC值a,则将PC值c作为新的目标PC值。若PC值d对应的节点指令后面的探针指令执行结果和PC值e对应的节点指令后面的探针指令执行结果均正确,则控制器将第3节点的子节点标记为不需要加入探针指令,即将第6节点标记为不需要加入探针指令,且此时不更新目标PC值,即目标PC值仍为PC值c。以此类推,遍历整个地址依赖树,直至目标PC值为执行结果错误的探针指令前面的节点指令的PC值中的最小PC值,从而可确定目标PC值对应的节点指令为导致错误的指令。可以看出,本申请提供的技术方案,通过执行器运行指令序列,控制器在根据指令序列的执行结果确定指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列,执行器对新的指令序列进行重新验证,控制器根据探针指令的执行结果确定目标PC值,直至获得所述导致错误的指令,本申请实施例通过地址依赖树在指令序列中加入探针指令,根据探针指令的执行结果重新对指令序列进行验证,直到获得作导致错误的指令,从而,可准确、快速地对指令序列进行验证,确定导致错误的指令所在的位置,提高待测器件的验证速率。本申请还揭露了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如图2A所示的待测器件验证方法的步骤。本申请还揭露了一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如图2A所示的待测器件验证方法的步骤。在一些实施例里,还公开了一种芯片,其包括了上述待测器件验证装置。在一些实施例里,公开了一种芯片封装结构,其包括了上述芯片。在一些实施例里,公开了一种板卡,其包括了上述芯片封装结构。请参阅图3,图3提供了一种板卡,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;所述存储器件390与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDRSDRAM英文:DoubleDataRateSDRAM,双倍速率同步动态随机存储器。DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒芯片。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MBs。在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备例如服务器或计算机之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE3.0X16接口传输时,理论带宽可达到16000MBs。在另一个实施例中,所述接口装置还可以是其他的接口,本申请并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备例如服务器。所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体的,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机MicroControllerUnit,MCU。如所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。在一些实施例里,申请了一种电子装置,其包括了上述芯片或者上述板卡。电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和或医疗设备。所述交通工具包括飞机、轮船和或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和或心电图仪。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备可为个人计算机、服务器或者网络设备等执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器ROM,Read-OnlyMemory、随机存取存储器RAM,RandomAccessMemory、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器英文:Read-OnlyMemory,简称:ROM、随机存取器英文:RandomAccessMemory,简称:RAM、磁盘或光盘等。以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

权利要求:1.一种待测器件验证装置,其特征在于,所述待测器件验证装置包括执行器和控制器,其中,所述执行器,用于运行指令序列;所述控制器,用于在根据所述指令序列的执行结果确定所述指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列;所述执行器,还用于对所述新的指令序列进行验证;所述控制器,还用于根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令。2.根据权利要求1所述的装置,其特征在于,在所述在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列方面,所述控制器具体用于:在所述地址依赖树中每一节点的每一PC值对应的节点指令后面加入探针指令,得到所述新的指令序列。3.根据权利要1所述的装置,其特征在于,在所述在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列方面,所述控制器具体用于:获取所述地址依赖树中节点的标记信息,所述标记信息用于确定所述节点中每一PC值对应的节点指令是否需要插入探针指令;根据所述地址依赖树中节点的标记信息,在标记为需要加入探针指令的节点的每一PC值对应的节点指令后面加入探针指令,得到所述新的指令序列。4.根据权利要求3所述的装置,其特征在于,在所述获取所述地址依赖树中节点的标记信息方面,所述控制器具体用于:若当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果错误,则将所述当前被访问的节点的子节点标记为需要加入探针指令;若所述当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的执行结果均正确,则将所述当前被访问的节点的子节点标记为不需要加入探针指令,获得所述地址依赖树中节点的标记信息。5.根据权利要求3所述的装置,其特征在于,在所述获取所述地址依赖树中节点的标记信息方面,所述控制器具体用于:若当前被访问的节点为根节点,则将所述根节点标记为需要加入探针指令。6.根据权利要求1-5任一项所述的装置,其特征在于,所述控制器还用于,在所述执行器完成所述当前被访问的节点中至少一个PC值对应的节点指令后面的探针指令的验证后,消除所述当前被访问的节点中的探针指令。7.根据权利要求1-5任一项所述的装置,其特征在于,在所述根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令方面,所述控制器具体用于:若所述探针指令的执行结果错误,且所述探针指令之前的节点指令对应的PC值小于所述目标PC值,将所述目标PC值更新为所述探针指令之前的节点指令对应的PC值,直到所述目标PC值满足预设条件;当所述目标PC值满足预设条件时,将所述目标PC值对应的节点指令作为所述导致错误的指令;其中,当所述目标PC值为执行结果错误的探针指令前面的节点指令的PC值中的最小PC值时,所述控制器确定所述目标PC值满足预设条件。8.根据权利要求1-5任一项所述的装置,其特征在于,在所述对所述新的指令序列进行验证方面,所述执行器具体用于:在当前被验证的探针指令与所述当前被验证的探针指令对应的节点指令之间加入同步指令;确定所述新的指令序列中与所述当前被验证的探针指令对应的节点指令最接近的目标同步指令,所述目标同步指令置于所述当前被验证的探针指令对应的节点指令之前;从所述目标同步指令执行所述新的指令序列至所述当前被验证的探针指令。9.根据权利要8所述的装置,其特征在于,所述装置还包括存储单元,所述存储单元包括RAM和寄存器,所述控制器还用于:在所述执行器运行指令序列后,且所述指令序列的执行结果错误时,则根据所述指令序列的执行结果构建地址依赖树;其中,所述地址依赖树的根节点包含所述初始指令序列中输出错误结果的指令的输出结果所在的RAM地址区间或寄存器号;所述地址依赖树的下一层节点包含访问过所述上一层节点的中至少一个PC值对应的节点指令的操作数所在的RAM地址区间或寄存器号。10.一种待测器件验证方法,其特征在于,应用于待测器件验证装置,所述待测器件验证装置包括执行器和控制器,所述方法包括:所述执行器运行指令序列;所述控制器在根据所述指令序列的执行结果确定所述指令序列中存在导致错误的指令时,在地址依赖树的至少一个节点指令后面加入探针指令,获得新的指令序列;所述执行器对所述新的指令序列进行验证;所述控制器根据所述探针指令的执行结果确定目标PC值,直至所述目标PC值满足预设条件,将满足预设条件的所述目标PC值对应的节点指令作为所述指令序列中导致错误的指令。

百度查询: 中科寒武纪科技股份有限公司 待测器件验证装置及相关产品

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。