CN111611767A - 验证方法和装置 - Google Patents
验证方法和装置 Download PDFInfo
- Publication number
- CN111611767A CN111611767A CN202010436314.1A CN202010436314A CN111611767A CN 111611767 A CN111611767 A CN 111611767A CN 202010436314 A CN202010436314 A CN 202010436314A CN 111611767 A CN111611767 A CN 111611767A
- Authority
- CN
- China
- Prior art keywords
- sequence
- verification
- sequences
- uvm
- constraint information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及芯片验证技术领域,公开了验证方法和装置:响应于检测到运行验证实例的指令,获取与验证实例对应的通用验证方法学UVM序列库,UVM序列库包括配置有执行关系约束信息的验证序列;根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行。该实施方式提高了抽取的目标验证序列的有效性,进而提高了IC设计验证的收敛速度,同时提高了IC设计验证的覆盖率。
Description
技术领域
本申请涉及电子技术领域,具体涉及芯片验证技术领域,尤其涉及一种验证方法和装置。
背景技术
目前IC(Integrated Circuit,集成电路)设计的前端验证过程中,随机验证序列的抽取方法是:首先基于UVM(Universal Verification Methodology,通用验证方法学)验证平台,将验证序列(典型场景)封装成一个个独立的uvm sequence;然后将得到的uvmsequence加入特定的uvm sequence library;最后在运行test case的时候,指定运行某一个uvm sequence library,然后由UVM平台,自动在指定的uvm sequence library中随机抽取uvm sequence运行,当前uvm sequence运行结束后,再随机抽取下一个uvm sequence运行,直到抽取的sequence个数满足用户要求为止。
发明内容
本申请实施例提供了一种验证方法、装置、设备以及存储介质。
第一方面,本申请实施例提供了一种验证方法,该方法包括:响应于检测到运行验证实例的指令,获取与验证实例对应的通用验证方法学UVM序列库,UVM序列库包括配置有执行关系约束信息的验证序列;根据验证序列之间的执行关系约束信息,依次从所述UVM序列库中抽取出目标验证序列并执行。
第二方面,本申请实施例提供了一种验证装置,该装置包括:获取模块,被配置成响应于检测到运行验证实例的指令,获取与验证实例对应的通用验证方法学UVM序列库,UVM序列库包括配置有执行关系约束信息的验证序列;抽取模块,被配置成根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被该一个或多个处理器执行,使得一个或多个处理器实现如第一方面的任一实施例的验证方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面的任一实施例的验证方法。
本申请通过响应于检测到运行验证实例的指令,获取与验证实例对应的通用验证方法学UVM序列库,UVM序列库包括配置有执行关系约束信息的验证序列;根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行,实现了根据验证序列的执行关系约束信息进行抽取,避免了产生一些不合理的目标验证序列组合,提高了抽取的目标验证序列的有效性,进而提高了IC设计验证的收敛速度,同时提高了IC设计验证的覆盖率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的说明书而变得容易理解。
附图说明
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的验证方法的一个实施例的流程图;
图3是根据本申请的验证方法的一个应用场景的示意图;
图4是根据本申请的验证方法的又一个实施例的流程图;
图5是根据本申请的验证装置的一个实施例的示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的验证方法的实施例的UVM验证平台的系统架构100。
如图1所示,UVM验证平台的系统架构100可以包括被测器件DUT(Device UnderTest,被测器件)101、环境主体102、虚拟序列器103、记分牌104。
其中,环境主体102中可以包括多个实体1021、1022,每个实体中包括驱动器Driver10211、10212,序列器Squencer10213、10214,检测器Monitor10215、10216。每个实体通过一个接口跟被测器件DUT101连接。序列器Squencer10211、10212负责产生测试序列,即验证序列,驱动器Driver10213、10214负责把测试序列转变为信号上面的数据流,并加载到被测器件DUT101,检测器负责把信号上面的数据流转换为序列。
虚拟序列器103会安排各个子序列器按一定顺序执行。
记分牌104会对每个实体收集到的报文进行记录比较。
为了实现本申请的验证方法,将多个测试序列即验证序列注册在UVM序列库中,UVM序列库可以包括多个。其中,验证序列配置有执行关系约束信息。UVM验证平台在接收到运行验证实例的指令后,指定一个与验证实例对应的UVM序列库,根据验证序列之间的执行关系约束信息,在指定的UVM序列库中依次抽取出目标验证序列并执行以对被测对象进行验证。
图2示出了可以应用于本申请的验证方法的实施例的流程示意图200。验证方法包括以下步骤:
步骤201,响应于检测到运行验证实例的指令,获取与验证实例对应的通用验证方法学UVM序列库。
在本实施例中,执行主体(如图1中所示的UVM验证平台100)在接收到运行验证实例的指令后,获取与验证实例相对应的通用验证方法学UVM序列库,其中,UVM序列库包括配置有执行关系约束信息的验证序列。
这里,执行关系约束信息用于表征验证序列执行顺序的约束信息,例如,当前验证序列能否第一个执行、当前验证序列之后必须执行哪些序列等等,本申请对此不作限定。
在一些可选的方式中,验证序列的执行关系约束信息包括:第一约束信息,用于指示必须在当前验证序列之前执行的验证序列所组成的第一序列集合;第二约束信息,用于指示禁止在当前验证序列之前执行的验证序列所组成的第二序列集合;第三约束信息,用于指示必须在当前验证序列之后执行的验证序列所组成的第三序列集合;第四约束信息,用于指示禁止在当前验证序列之后执行的验证序列所组成的第四序列结合。
在本实现方式中,第一序列集合、第二序列集合、第三序列集合、第四序列集合分别可以为空,也可以不为空,本申请对此不作限定。
其中,若当前验证序列的第一序列集合为空,则表明当前验证序列对在当前验证序列之前必须执行的序列无要求,即当前验证序列可以作为验证序列组合中的第一个验证序列。
若当前验证序列的第二序列集合为空,则表明当前验证序列对禁止在当前序列之前执行的验证序列无要求,即UVM序列库中除当前验证序列之外的其余任一验证序列均可以在当前验证序列之前执行。
若当前验证序列的第三序列集合为空,则表明当前验证序列对必须在当前验证序列之后执行的验证序列无要求,即UVM序列库中除当前验证序列之外任一验证序列均可以在当前验证序列之后执行,并且当前序列也可以作为依次抽取的序列组合中的最后一个组合。
若当前验证序列的第三序列集合为空,则表明当前验证序列对禁止在当前序列之后执行的验证序列无要求,即UVM序列库中除当前验证序列之外任一验证序列均可以在当前验证序列之后执行。
本实现方式中的验证序列的执行关系约束信息包括第一约束信息、第二约束信息、第三约束信息和第四约束信息,明确了验证序列的前后验证序列之间的执行关系信息,避免了产生一些不合理的目标验证序列组合,有助于进一步提高抽取到的目标验证序列的有效性。
步骤202,根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行。
在本实施例中,执行主体可以根据验证序列之间的执行关系约束信息,首先在UVM序列库中抽取一个验证序列作为目标验证序列并执行,然后,进一步根据目标验证序列的执行关系约束信息,在UVM序列库中进行抽取得到新的目标验证序列,再依据新的目标验证序列的执行关系约束信息继续在UVM序列库中进行抽取,如此循环。
需要指出的是,执行主体可以在抽取并执行的目标验证序列的数目等于预设数目时停止抽取操作。
在一个具体的示例中,UVM序列库中共包括:验证序列A、验证序列B、验证序列C,执行关系约束信息为当前验证序列之后必须要执行的序列,例如,验证序列A配置的执行关系约束信息为验证序列C,即验证序列A之后必须执行的验证序列包括验证序列C;验证序列C配置的执行关系约束信息包括验证序列B,即验证序列C之后必须执行的验证序列包括验证序列B;验证序列B配置的执行关系约束信息为空,即验证序列B对之后必须执行验证序列无要求。执行主体首先在UVM序列库中,抽取验证序列A作为目标验证序列并执行,进一步地,由于验证序列A配置的执行关系约束信息为B,故执行主体可直接抽取验证序列B作为新的目标验证序列并执行。
需要指出的是,若结束目标验证序列抽取的抽取并执行的目标验证序列的预设数目为2,则执行主体可在抽取并执行验证序列B之后直接结束抽取;若结束目标验证序列抽取的抽取并执行的目标验证序列的预设数目为3,则执行主体可进一步地根据验证序列B配置的执行关系约束信息,进一步抽取目标验证序列C并执行。
在一些可选的方式中,在根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行之前,该方法还包括:响应于UVM序列库中存在执行关系约束信息存在冲突的验证序列,对所述执行关系约束信息存在冲突的验证序列进行校正。
在本实现方式中,若UVM序列库中存在验证序列的执行关系约束信息存在逻辑冲突的验证序列,则执行主体可对执行关系约束信息存在冲突的验证序列进行校正。
其中,具体的校正过程可以是对执行关系约束信息存在冲突的验正序列配置的执行关系约束信息进行修正,也可以是直接将存在执行关系约束信息冲突的验正序列从UVM序列库中筛除,本申请对此不作限定。
在一个具体的示例中,若UVM序列库中包括验证序列D,其中,验证序列D配置的执行关系约束信息为当前验证序列之后必须执行的验证序列,具体为验证序列B或验证序列C,以及当前验证序列之后禁止执行的验证序列,具体为验证序列E或验证序列C。其中,验证序列D之后必须执行的验证序列和禁止执行的验证序列均包括验证序列C,即验证序列D的执行关系约束信息存在冲突,则执行主体可对验证序列D配置的执行关系约束信息进行修正。
此外,若验证序列的执行关系约束信息包括第一约束信息、第二约束信息、第三约束信息和第四约束信息,则UVM序列库中的验证序列之间存在冲突具体可以包括以下至少一项:
(1)当前UVM序列库中的任一验证序列的第一序列集合中的任一验证序列的第四序列集合中包括当前验证序列;
(2)当前UVM序列库中的任一验证序列的第四序列集合中的任一验证序列的第一序列集合中包括当前验证序列;
(3)当前UVM序列库中的任一验证序列的第一序列集合中的任一验证序列的第一序列集合中包括当前验证序列;
(4)当前UVM序列库中的任一验证序列的第二序列集合中的任一验证序列的第三序列集合中包括当前验证序列;
(5)当前UVM序列库中的任一验证序列的第三序列集合中的任一验证序列的第二序列集合中包括当前验证序列;
(6)当前UVM序列库中的任一验证序列的第三序列集合中的任一验证序列的第三序列集合中包括当前验证序列;
(7)当前UVM序列库中的任一验证序列的第三序列集合和第四序列集合存在交集;
(8)当前UVM序列库中的任一验证序列的第一序列集合和第二序列集合存在交集。
本实现方式通过在UVM序列库中抽取目标验证序列之前,检测UVM序列库中是否存在执行关系约束信息相冲突的验证序列,并在检测到存在执行关系约束信息相冲的验证序列后,对所述执行关系约束信息存在冲突的验证序列进行校正,避免了无效验证序列组合的产生,进而提高了验证序列抽取的有效性和可靠性。
在一些可选的方式中,该方法还包括:响应于依次从UVM序列库中抽取出目标验证序列并执行的时长等于预设时长,停止目标验证序列抽取。
在本实现方式中,执行主体可以在抽取出目标验证序列并执行的时长等于预设时长时,停止目标验证序列抽取,克服了现有技术中仅通过抽取目标验证序列的数目达到预设数目结束抽取的局限性,使得停止目标验证序列抽取的方式更加灵活。
在一些可选的方式中,该方法还包括:响应于依次从UVM序列库中抽取出目标验证序列并执行的时长小于预设时长,且抽取出的目标验证序列的数目等于预设数目,则继续根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行。
在本实现方式中,当执行主体抽取出目标验证序列并执行的时长小于预设时长,但抽取出的目标验证序列的数目等于预设数目时,执行主体可继续根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行,直到从UVM序列库中抽取出目标验证序列并执行的时长等于预设时长,结束抽取。
该实现方式通过在执行主体已抽取预设数目的目标验证序列但未达到预设时长时,继续从UVM序列库中开始抽取目标验证序列,避免了系统空转,提高了有限时间内目标验证序列抽取的数目,进而有助于提升IC涉及验证的收敛速度。
在一些可选的方式中,根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行包括:基于验证序列之间的执行关系约束信息以及参数接口接收的传递参数,依次从UVM序列库中抽取出目标验证序列并执行。
在本实现方式中,验证序列包括参数接口,参数接口用于接收传参数。这里,传递参数用于指示序列的运行策略信息,例如,当前验证序列要对哪个处理器执行验证、如何执行等信息。
在一个具体的示例中,执行主体在UVM序列库中依次抽取目标验证序列A和目标验证序列B,其中,目标验证序列A的接口的传递参数为指示当前验证序列由处理器A核执行,目标验证序列B的接口的传递参数为指示当前验证序列由处理器B核执行,则执行主体可将目标验证序列A分配至处理器A核执行,将目标验证序列B分配至处理器B核执行。
该实现方式通过基于验证序列之间的执行关系约束信息以及参数接口接收的传递参数,依次从所述UVM序列库中抽取出目标验证序列并执行,提高对抽取的目标验证序列验证执行的灵活性。
继续参见图3,图3是根据本实施例的验证方法的应用场景的一个示意图。
在图3的应用场景中,在一个具体的示例中,执行主体在检测到运行验证实例的指令后,获取与验证实例对应的UVM序列库。UVM序列库中共包括:验证序列A、验证序列B、验证序列C,执行关系约束信息为当前验证序列之前必须要执行的序列,例如,验证序列A配置的执行关系约束信息为验证序列C,即验证序列A之前必须执行验证序列C;验证序列C配置的执行关系约束信息为验证序列B,即验证序列C之前必须执行验证序列B,验证序列B配置的执行关系约束信息为空,即验证序列B对在其之前必须执行验证序列无要求。执行主体首先在UVM序列库中随机抽取验证序列301,例如,验证序列A,并将验证序列作为目标验证序列。根据目标验证序列即当前验证序列的执行关系约束信息,判断当前验证序列之前是否必须执行其他验证序列302,若当前验证序列之前必须执行其他验证序列,则执行主体需先执行当前验证序列之前必须执行的验证序列303,然后再执行当前验证序列304,例如,由当前验证序列A配置的执行关系约束信息可知,验证序列A之前必须执行验证C,则执行主体需先执行抽取并执行验证序列C,然后再执行验证序列A。若当前验证序列之前不需要必须执行其他验证序列,则执行主体可直接执行当前验证序列305。
进一步地,执行主体在执行完当前验证序列C之后可继续抽取验证序列,若抽取到的当前验证序列为验证序列B,由于验证序列B配置的执行关系约束信息空,故执行主体可直接执行验证序列B。
此外,执行主体还可根据当前验证序列生成当前验证序列集合306以进行记录。
本公开的实施例提供的验证方法,通过响应于检测到运行验证实例的指令,获取与验证实例对应的通用验证方法学UVM序列库,UVM序列库包括配置有执行关系约束信息的验证序列;根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行,提高了抽取的目标验证序列的有效性,进而提高了IC设计验证的收敛速度,同时提高了IC设计验证的覆盖率。
进一步参考图4,其示出了验证方法的又一个实施例的流程400。在本实施例中,验证序列的执行关系约束信息包括:第一约束信息、第二约束信息本实施例的验证方法的流程400,可包括以下步骤:
步骤401,响应于检测到运行验证实例的指令,获取与验证实例对应的通用验证方法学UVM序列库。
在本实施例中,步骤401的实现细节和技术效果,可以参考对步骤201的描述,在此不再赘述。
步骤402,在UVM序列库中,获取第一序列集合为空的序列组成初次筛选序列集合。
在本实施例中,在UVM序列库中,执行主体获取第一约束信息的第一序列集合为空的验证序列组成初次筛选序列集合。
其中,第一序列集合为空的验证序列,即验证序列对在其之前必须执行的序列无要求。
步骤403,在初次筛选序列集合中,随机抽取一个验证序列作为第一目标验证序列并执行。
在本实施例中,执行主体在初次筛选序列集合中,随机抽取一个验证序列作为第一目标验证序列,且由于第一目标验证序列的第一序列集合为空,执行主体可直接执行第一目标验证序列。
步骤404,执行抽取操作。
在本实施例中,执行主体继续执行抽取操作。其中,抽取操作包括:若第三序列集合不为空,即必须在第一目标验证序列之后执行的验证序列所组成的集合不为空,则执行主体可首先在UVM序列库中获取第三序列集合,并在第三序列集合中随机抽取一个验证序列作为第二目标验证序列并执行,将第二目标验证序列作为新的第一目标验证序列继续执行抽取操作。
执行主体可在抽取出的目标验证序列的数目等于预设数目时结束验证序列抽取。
在一个具体的示例中,UVM序列库中共包括:验证序列A、验证序列B、验证序列C、验证序列D,其中,验证序列A和验证序列D的第一序列集合为空。执行主体在由验证序列A和验证序列D组成的初次筛选序列集合中随机抽取一个验证序列,例如,验证序列A,作为第一目标验证序列并执行。进一步地,执行主体继续执行抽取操作,根据第一目标验证序列的第三约束信息,即第三序列集合,例如,第三序列集合包括验证序列B和验证序列C,在UVM序列库中随机抽取验证序列B或验证序列C,作为第二目标验证序列并执行,然后将第二目标验证序列作为新的第一目标验证序列继续执行抽取操作。
此外,需要指出的是,若第一目标验证序列的第三序列集合为空,则执行主体可在去除第一目标验证序列、第一目标验证序列的第四序列集合中的验证序列、验证序列的第二序列集合中包括第一目标验证序列的验证序列以及验证序列的第一序列集合中不包括第一目标验证序列的验证序列的UVM序列库中随机抽取一个验证序列作为第二目标验证序列并执行。
在一个具体的示例中,UVM序列库中包括验证序列A,其执行关系约束信息为:第二序列集合包括验证序列B,其余为空,即验证序列A之前禁止执行验证序列B;验证序列B,其执行关系约束信息为:第四序列集合包括验证序列E,其余为空,即验证序列B之后禁止执行验证序列E;验证序列C,其执行关系约束信息为:第三序列集合包括验证序列E和验证序列F,其余为空,即验证序列C之前必须执行验证序列E或验证序列F;验证序列D,其执行关系约束信息为:全部为空;验证序列E,其执行关系约束信息为:全部为空;验证序列D,其执行关系约束信息为:全部为空。执行主体在抽取验证序列B之后,继续进行抽取验证序列时,只能在验证序列D验证序列F中进行随机抽取。
本申请的上述实施例,通过在UVM序列库中,获取第一序列集合为空的验证序列组成初次筛选序列集合;在初次筛选序列集合中,随机抽取一个验证序列作为第一目标验证序列并执行并执行抽取操作,抽取操作包括:基于第一目标验证序列的第三约束信息,在UVM序列库中随机抽取一个验证序列作为第二目标验证序列并执行,将第二目标验证序列作为新的第一目标验证序列并执行抽取操作,在充分考虑第一约束信息、第二约束信息、第三约束信息、第四约束信息的条件下对验证序列进行抽取,在保障了抽取的目标验证序列的有效性的同时,提高了抽取效率。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种验证装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的验证装置500包括:获取模块501、抽取模块502。
其中,获取模块501,可被配置成响应于检测到运行验证实例的指令,获取与验证实例对应的通用验证方法学UVM序列库,UVM序列库包括配置有执行关系约束信息的验证序列。
抽取模块502,可被配置成根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行。
在本实施例的一些可选的方式中,抽取模块进一步包括:第一获取单元,被配置成在UVM序列库中,获取第一序列集合为空的验证序列组成初次筛选序列集合;第一抽取单元,被配置成在初次筛选序列集合中,随机抽取一个验证序列作为第一目标验证序列并执行;第一执行单元,被配置成执行抽取操作,抽取操作包括:基于第一目标验证序列的执行关系约束信息,在UVM序列库中随机抽取一个验证序列作为第二目标验证序列并执行,将第二目标验证序列作为新的第一目标验证序列并执行抽取操作。
在本实施例的一些可选的方式中,该装置还包括:停止模块,被配置成响应于依次从UVM序列库中抽取出目标验证序列并执行的时长等于预设时长,停止目标验证序列抽取。
在本实施例的一些可选的方式中,该装置还包括:执行模块,被配置成响应于依次从UVM序列库中抽取出目标验证序列并执行的时长小于预设时长,且抽取出的目标验证序列的数目等于预设数目,则继续根据验证序列之间的执行关系约束信息,依次从UVM序列库中抽取出目标验证序列并执行。
在本实施例的一些可选的方式中,在抽取模块之前,该装置还包括:校正模块,被配置成响应于所述UVM序列库中存在执行关系约束信息存在冲突的验证序列,对所述执行关系约束信息存在冲突的验证序列进行校正。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的验证方法的电子设备的框图。
600是根据本申请实施例的验证方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的验证方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的验证方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的验证方法对应的程序指令/模块(例如,附图5所示的更新模块501、确定模块502和获取模块503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的验证方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储验证的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至验证的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
验证方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与直播视频流的质量监控的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,抽取的目标验证序列的有效性,进而提高了IC设计验证的收敛速度,同时提高了IC设计验证的覆盖率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种验证方法,所述方法包括:
响应于检测到运行验证实例的指令,获取与所述验证实例对应的通用验证方法学UVM序列库,所述UVM序列库包括配置有执行关系约束信息的验证序列;
根据所述验证序列之间的执行关系约束信息,依次从所述UVM序列库中抽取出目标验证序列并执行。
2.根据权利要求1所述的方法,其中,所述验证序列的执行关系约束信息包括:
第一约束信息,用于指示必须在当前验证序列之前执行的验证序列所组成的第一序列集合;
第二约束信息,用于指示禁止在当前验证序列之前执行的验证序列所组成的第二序列集合;
第三约束信息,用于指示必须在当前验证序列之后执行的验证序列所组成的第三序列集合;
第四约束信息,用于指示禁止在当前验证序列之后执行的验证序列所组成的第四序列集合。
3.根据权利要求2所述的方法,其中,所述根据所述验证序列之间的执行关系约束信息,依次从所述UVM序列库中抽取出目标验证序列并执行包括:
在所述UVM序列库中,获取第一序列集合为空的验证序列组成初次筛选序列集合;
在所述初次筛选序列集合中,随机抽取一个验证序列作为第一目标验证序列并执行;
执行抽取操作,所述抽取操作包括:基于所述第一目标验证序列的执行关系约束信息,在UVM序列库中随机抽取一个验证序列作为第二目标验证序列并执行,将所述第二目标验证序列作为新的第一目标验证序列并执行所述抽取操作。
4.根据权利要求1所述的方法,所述方法还包括:
响应于依次从所述UVM序列库中抽取出目标验证序列并执行的时长等于预设时长,停止目标验证序列抽取。
5.根据权利要求1所述的方法,所述方法还包括:
响应于依次从所述UVM序列库中抽取出目标验证序列并执行的时长小于预设时长,且抽取出的目标验证序列的数目等于预设数目,则继续根据所述验证序列之间的执行关系约束信息,依次从所述UVM序列库中抽取出目标验证序列并执行。
6.根据权利要求1或2所述的方法,其中,在所述根据所述验证序列之间的执行关系约束信息,依次从所述UVM序列库中抽取出目标验证序列并执行之前,所述方法还包括:
响应于所述UVM序列库中存在执行关系约束信息存在冲突的验证序列,对所述执行关系约束信息存在冲突的验证序列进行校正。
7.根据权利要求1所述的方法,其中,所述根据所述验证序列之间的执行关系约束信息,依次从所述UVM序列库中抽取出目标验证序列并执行包括:
基于所述验证序列之间的执行关系约束信息以及参数接口接收的传递参数,依次从所述UVM序列库中抽取出目标验证序列并执行,所述传递参数用于指示序列的运行策略信息。
8.一种验证装置,所述装置包括:
获取模块,被配置成响应于检测到运行验证实例的指令,获取与所述验证实例对应的通用验证方法学UVM序列库,所述UVM序列库包括配置有执行关系约束信息的验证序列;
抽取模块,被配置成根据所述验证序列之间的执行关系约束信息,依次从所述UVM序列库中抽取出目标验证序列并执行。
9.根据权利要求8所述的装置,其中,所述验证序列的执行关系约束信息包括:
第一约束信息,用于指示必须在当前验证序列之前执行的验证序列所组成的第一序列集合;
第二约束信息,用于指示禁止在当前验证序列之前执行的验证序列所组成的第二序列集合;
第三约束信息,用于指示必须在当前验证序列之后执行的验证序列所组成的第三序列集合;
第四约束信息,用于指示禁止在当前验证序列之后执行的验证序列所组成的第四序列集合。
10.根据权利要求9所述的装置,所述抽取模块进一步包括:
第一获取单元,被配置成在所述UVM序列库中,获取第一序列集合为空的验证序列组成初次筛选序列集合;
第一抽取单元,被配置成在所述初次筛选序列集合中,随机抽取一个验证序列作为第一目标验证序列并执行;
第一执行单元,被配置成执行抽取操作,所述抽取操作包括:基于所述第一目标验证序列的执行关系约束信息,在UVM序列库中随机抽取一个验证序列作为第二目标验证序列并执行,将所述第二目标验证序列作为新的第一目标验证序列并执行所述抽取操作。
11.根据权利要求8所述的装置,所述装置还包括:
停止模块,被配置成响应于依次从所述UVM序列库中抽取出目标验证序列并执行的时长等于预设时长,停止目标验证序列抽取。
12.根据权利要求8所述的装置,所述装置还包括:
执行模块,被配置成响应于依次从所述UVM序列库中抽取出目标验证序列并执行的时长小于预设时长,且抽取出的目标验证序列的数目等于预设数目,则继续根据所述验证序列之间的执行关系约束信息,依次从所述UVM序列库中抽取出目标验证序列并执行。
13.根据权利要求8或9所述的装置,在所述抽取模块之前,所述装置还包括:
校正模块,被配置成响应于所述UVM序列库中存在执行关系约束信息存在冲突的验证序列,对所述执行关系约束信息存在冲突的验证序列进行校正。
14.根据权利要求8所述的装置,其中,所述抽取模块进一步被配置成:
基于所述验证序列之间的执行关系约束信息以及参数接口接收的传递参数,依次从所述UVM序列库中抽取出目标验证序列并执行,所述传递参数用于指示序列的运行策略信息。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436314.1A CN111611767B (zh) | 2020-05-21 | 2020-05-21 | 验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436314.1A CN111611767B (zh) | 2020-05-21 | 2020-05-21 | 验证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611767A true CN111611767A (zh) | 2020-09-01 |
CN111611767B CN111611767B (zh) | 2023-04-25 |
Family
ID=72199878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010436314.1A Active CN111611767B (zh) | 2020-05-21 | 2020-05-21 | 验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611767B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783706A (zh) * | 2021-01-22 | 2021-05-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种序列生成方法、系统、设备及计算机可读存储介质 |
CN113191114A (zh) * | 2021-04-30 | 2021-07-30 | 北京百度网讯科技有限公司 | 用于验证系统的方法和装置 |
CN113297071A (zh) * | 2021-05-14 | 2021-08-24 | 山东云海国创云计算装备产业创新中心有限公司 | 基于uvm功能覆盖率驱动的验证方法、装置及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310139A (zh) * | 2013-05-10 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 一种输入验证方法和输入验证装置 |
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
US20150310159A1 (en) * | 2014-03-05 | 2015-10-29 | Vayavya Labs Private. Limited | Computer-implemented verification system for performing a functional verification of an integrated circuit |
US20160267209A1 (en) * | 2015-03-12 | 2016-09-15 | Cavium, Inc. | Design and verification of a multichip coherence protocol |
WO2017020590A1 (zh) * | 2015-08-05 | 2017-02-09 | 深圳市中兴微电子技术有限公司 | 一种芯片验证方法和装置、设备、存储介质 |
CN106845209A (zh) * | 2017-02-20 | 2017-06-13 | 百度在线网络技术(北京)有限公司 | 安全验证方法和装置 |
CN108763915A (zh) * | 2018-05-18 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 建立验证码生成模型以及生成验证码的方法、装置 |
CN109684681A (zh) * | 2018-12-06 | 2019-04-26 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 应用uvm验证平台的高层次化验证方法 |
CN110046387A (zh) * | 2019-03-14 | 2019-07-23 | 广东工业大学 | 一种基于uvm的sm2模块验证平台及验证方法 |
US20190251243A1 (en) * | 2016-12-08 | 2019-08-15 | Alibaba Group Holding Limited | Verification code generation to improve recognition accuracy by a person and recognition difficulty by a computer program |
CN110532220A (zh) * | 2019-08-02 | 2019-12-03 | 广州粒子微电子有限公司 | 基于uvm验证方法学的aes验证装置 |
-
2020
- 2020-05-21 CN CN202010436314.1A patent/CN111611767B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310139A (zh) * | 2013-05-10 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 一种输入验证方法和输入验证装置 |
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
US20150310159A1 (en) * | 2014-03-05 | 2015-10-29 | Vayavya Labs Private. Limited | Computer-implemented verification system for performing a functional verification of an integrated circuit |
US20160267209A1 (en) * | 2015-03-12 | 2016-09-15 | Cavium, Inc. | Design and verification of a multichip coherence protocol |
WO2017020590A1 (zh) * | 2015-08-05 | 2017-02-09 | 深圳市中兴微电子技术有限公司 | 一种芯片验证方法和装置、设备、存储介质 |
US20190251243A1 (en) * | 2016-12-08 | 2019-08-15 | Alibaba Group Holding Limited | Verification code generation to improve recognition accuracy by a person and recognition difficulty by a computer program |
CN106845209A (zh) * | 2017-02-20 | 2017-06-13 | 百度在线网络技术(北京)有限公司 | 安全验证方法和装置 |
CN108763915A (zh) * | 2018-05-18 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 建立验证码生成模型以及生成验证码的方法、装置 |
CN109684681A (zh) * | 2018-12-06 | 2019-04-26 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 应用uvm验证平台的高层次化验证方法 |
CN110046387A (zh) * | 2019-03-14 | 2019-07-23 | 广东工业大学 | 一种基于uvm的sm2模块验证平台及验证方法 |
CN110532220A (zh) * | 2019-08-02 | 2019-12-03 | 广州粒子微电子有限公司 | 基于uvm验证方法学的aes验证装置 |
Non-Patent Citations (4)
Title |
---|
PICCOLBONI, L.等: "Simplified stimuli generation for scenario and assertion based verification" * |
曹阳;胡越黎;: "基于UVM的存储控制器功能验证" * |
熊涛;蒋见花;: "基于UVM的CAN模块自验证方法" * |
鞠志敏: "基于UVM的FPGA代码功能验证技术研究" * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783706A (zh) * | 2021-01-22 | 2021-05-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种序列生成方法、系统、设备及计算机可读存储介质 |
CN113191114A (zh) * | 2021-04-30 | 2021-07-30 | 北京百度网讯科技有限公司 | 用于验证系统的方法和装置 |
CN113191114B (zh) * | 2021-04-30 | 2023-11-10 | 北京百度网讯科技有限公司 | 用于验证系统的方法和装置 |
CN113297071A (zh) * | 2021-05-14 | 2021-08-24 | 山东云海国创云计算装备产业创新中心有限公司 | 基于uvm功能覆盖率驱动的验证方法、装置及设备 |
CN113297071B (zh) * | 2021-05-14 | 2022-08-19 | 山东云海国创云计算装备产业创新中心有限公司 | 基于uvm功能覆盖率驱动的验证方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111611767B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111611767B (zh) | 验证方法和装置 | |
CN109951547B (zh) | 事务请求并行处理方法、装置、设备和介质 | |
JP7110415B2 (ja) | 故障注入方法、装置、電子設備、記憶媒体、及びプログラム | |
CN111984476B (zh) | 测试方法和装置 | |
US9300520B2 (en) | Mobile network application test | |
US9497095B2 (en) | Dynamic control over tracing of messages received by a message broker | |
CN111752843A (zh) | 用于确定影响面的方法、装置、电子设备及可读存储介质 | |
JP7132999B2 (ja) | アプリケーションの動作状態を検証する方法および装置 | |
CN111935502A (zh) | 视频处理方法、装置、电子设备以及存储介质 | |
CN112346947A (zh) | 性能检测方法、装置、电子设备和计算机可读介质 | |
CN112487973A (zh) | 用户图像识别模型的更新方法和装置 | |
CN111339187A (zh) | 基于智能合约的数据处理方法、装置、设备和存储介质 | |
US20230153229A1 (en) | Method of testing performance, electronic device, and computer-readable medium | |
CN109240928A (zh) | 一种测试方法、装置、设备及存储介质 | |
CN112532483A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN111767149A (zh) | 调度方法、装置、设备及存储设备 | |
CN107168776B (zh) | 一种事件统计方法、装置、设备及存储介质 | |
CN115481594B (zh) | 计分板实现方法、计分板、电子设备及存储介质 | |
CN112735601B (zh) | 利用蓝牙确定传染病密接人群的测试方法、装置及设备 | |
CN111611768B (zh) | 用于监控时钟信号的方法和装置 | |
CN112667795A (zh) | 对话树构建方法和装置、对话树运行方法、装置以及系统 | |
CN111782445A (zh) | 设备调试环境的配置方法和装置 | |
CN113377638B (zh) | 性能测试工具的生成方法和装置 | |
CN111737534A (zh) | 文件处理方法、装置及设备 | |
CN111639116A (zh) | 数据访问连接会话保护方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |