一种断言验证代码绑定方法及装置

文档序号:1205468 发布日期:2020-09-01 浏览:9次 >En<

阅读说明:本技术 一种断言验证代码绑定方法及装置 (Assertion verification code binding method and device ) 是由 刘建 刘列峰 崔明 于 2019-05-28 设计创作,主要内容包括:一种断言验证代码绑定方法及装置,该方法包括:确定芯片的多个模块对应的模块标识、位置信息和接口信息,在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找到目标模块对应的位置信息和接口信息,根据目标模块的位置信息和接口信息,将目标模块与对应的断言验证代码进行绑定。在接收到针对需要绑定断言验证代码的目标模块的查找指令时,自动查找目标模块对应的位置信息和接口信息,使得后续断言验证代码添加的位置不易出错,并根据目标模块的位置信息和接口信息,将目标模块与对应的断言验证代码进行绑定,减小因人为绑定断言验证代码与目标模块的工作量,提高了绑定的效率。(A binding method and a device for assertion verification codes are provided, the method comprises the following steps: determining module identifications, position information and interface information corresponding to a plurality of modules of the chip, when receiving a search instruction aiming at a target module, searching the position information and the interface information corresponding to the target module according to the module identification of the target module, and binding the target module and a corresponding assertion verification code according to the position information and the interface information of the target module. When a search instruction for a target module needing to bind the assertion verification code is received, the position information and the interface information corresponding to the target module are automatically searched, so that the position added by the subsequent assertion verification code is not easy to make mistakes, and the target module and the corresponding assertion verification code are bound according to the position information and the interface information of the target module, so that the workload of artificially binding the assertion verification code and the target module is reduced, and the binding efficiency is improved.)

一种断言验证代码绑定方法及装置

技术领域

本发明涉及计算机技术领域,特别是涉及一种断言验证代码绑定方法及装置。

背景技术

随着芯片设计流程的完善,验证环节在芯片设计流程中逐渐成为重要的一环,在芯片设计完成后,为了方便仿真时查看异常情况和检查某些场景是否被覆盖到,常常需要在芯片内部的模块中添加断言验证代码,将断言验证代码与目标模块绑定。

断言验证是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言验证而在部署时禁用断言验证。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言验证。

现有技术通过人为查找的方式获取每个需要绑定断言验证代码的模块的位置信息和接口信息,然后,根据位置信息在模块的相应位置处,人工编写断言验证代码,并基于接口信息实现断言验证代码与目标模块的绑定。

但是,芯片设计中同一模块可能会被多次例化,例化指的是具有相同功能的模块设置在芯片中的不同位置,例化后的模块的位置难以查找,因此,在添加断言验证代码时,断言验证代码添加的位置容易出错,且人工将不同的目标模块绑定不同的断言验证代码,工作量较大且工作效率低。

发明内容

为解决现有技术存在的技术问题,本发明实施例提出一种断言验证代码绑定方法及装置,以解决现有技术中断言验证代码添加的位置容易出错,且断言验证代码绑定的工作量大的问题。

第一方面,本发明实施例提供了一种断言验证代码绑定方法,包括:

确定芯片的多个模块对应的模块标识、位置信息和接口信息;

在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找到所述目标模块对应的位置信息和接口信息;

根据所述目标模块的位置信息和接口信息,将所述目标模块与对应的断言验证代码进行绑定。

第二方面,本发明实施例提供了一种断言验证代码绑定装置,包括:

模块信息确定模块,用于确定芯片的多个模块对应的模块标识、位置信息和接口信息;

模块信息查找模块,用于在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找到所述目标模块对应的位置信息和接口信息;

断言绑定模块,用于根据所述目标模块的位置信息和接口信息,将所述目标模块与对应的断言验证代码进行绑定。

第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的断言验证代码绑定方法

第四方面,本发明实施例另外提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,该程序指令被处理器运行时,用于执行上述的断言验证代码绑定方法。

在本发明实施例中,通过确定芯片的多个模块对应的模块标识、位置信息和接口信息,在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找到目标模块对应的位置信息和接口信息,根据目标模块的位置信息和接口信息,将目标模块与对应的断言验证代码进行绑定。在接收到针对需要绑定断言验证代码的目标模块的查找指令时,自动查找目标模块对应的位置信息和接口信息,使得后续断言验证代码添加的位置不易出错,并根据目标模块的位置信息和接口信息,将目标模块与对应的断言验证代码进行绑定,减小因人为绑定断言验证代码与目标模块的工作量,提高了绑定的效率。

附图说明

图1示出了本发明第一实施例的一种断言验证代码绑定方法的流程图;

图2示出了本发明第二实施例的一种断言验证代码绑定方法的流程图;

图3示出了本发明第三实施例的一种断言验证代码绑定装置的结构框图;

图4示出了本发明第三实施例的另一种断言验证代码绑定装置的结构框图。

具体实施例

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和

具体实施方式

对本发明作进一步详细的说明。

参照图1,示出了本发明第一实施例的一种断言验证代码绑定方法的流程图,具体可以包括如下步骤:

步骤S101,确定芯片的多个模块对应的模块标识、位置信息和接口信息。

芯片内部通常集成有多个模块,如FIFO(First Input First Output,先入先出)模块、RAM(Random Access Memory,随机存储器)模块、ARBITER(裁决器)模块和计算器模块等。

在芯片设计中,开发人员会将整个芯片设计中涉及的代码存储在芯片文件列表中,芯片文件列表中不仅包括芯片内部集成的每个模块的代码,还包括其他相关的代码,例如模块与模块之间的交互代码,具体的,每个模块的代码包括模块标识和模块的接口信息等,模块的接口信息包括模块的接口名称、接口的配置参数以及其他相关参数等,模块标识可以用模块名称来表示。

在芯片设计中,模块与模块之间具有一定的层级结构,通常是一个顶层模块包括多个子模块,而每个子模块又可以嵌套多个子模块,因此,模块的位置信息通常以模块的路径来表示。

例如,顶层模块为模块A,顶层模块包括多个子模块B1、B2和B3,子模块B1嵌套有子模块C1,因此,子模块C1的位置信息以路径“模块A-子模块B1-子模块C1”来表示。

确定芯片文件列表中芯片的多个模块对应的模块标识、位置信息和接口信息。

步骤S102,在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找到所述目标模块对应的位置信息和接口信息。

在实际应用中,并不是芯片的所有模块都需要绑定断言验证代码的,因此,可将芯片中的多个模块划分为两类,一类是目标模块,另一类是非目标模块。

需要说明的是,目标模块和非目标模块的划分标准,是根据开发人员根据芯片的设计需求进行设定的,各个芯片的划分标准可能相同也可能不同;目标模块指的是需要绑定断言验证代码的模块,非目标模块指的是不需要绑定断言验证代码的模块。

在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找目标模块对应的位置信息和接口信息。

自动查找目标模块对应的位置信息和接口信息,且不易出错,即使针对的是多次例化的目标模块,也可查找到例化后的目标模块的位置,使得后续在添加断言验证代码时,断言验证代码添加的位置不易出错。

其中,目标模块包括:FIFO模块、RAM模块、ARBITER模块、计数器模块其中至少一者。

步骤S103,根据所述目标模块的位置信息和接口信息,将所述目标模块与对应的断言验证代码进行绑定。

开发人员针对不同的模块,会编写模块对应的断言验证代码,断言验证代码包括断言代码和断言覆盖率代码,断言代码用于在芯片仿真时验证对应的目标模块是否有异常,当出现异常时,断言代码会报警,断言覆盖率代码用于在芯片仿真结束后,检测目标模块中需要验证的场景是否被覆盖到。

例如,目标模块为芯片中的计数器,计数器的计数值为1至100,在仿真时,当断言代码检测到计数值101时,确定计数器出现异常,在仿真结束后,断言覆盖率代码统计实际检测到的计数器的计数值,可确定出计数器的断言覆盖率,如果检测到的计数器的计数值1、10和100,则表示断言覆盖率为3%,根据断言覆盖率确定需要验证的场景是否被覆盖到。

获取目标模块对应的断言验证代码,根据目标模块的位置信息确定断言验证代码需要***的位置,根据目标模块的接口信息,将断言验证代码与目标模块的接口连接,从而实现断言验证代码与目标模块的绑定。

通过自动获取目标模块对应的断言验证代码,并将断言验证代码与目标模块进行绑定,减小因人为绑定断言验证代码与目标模块的工作量,提高了绑定的效率。

在对芯片中的模块仿真时,则可以利用与目标模块绑定的断言验证代码,实现对目标模块的验证。

根据上述可知,本发明实施例提出的断言验证代码绑定方法,至少具有如下技术效果:

在本发明实施例中,通过确定芯片的多个模块对应的模块标识、位置信息和接口信息,在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找到目标模块对应的位置信息和接口信息,根据目标模块的位置信息和接口信息,将目标模块与对应的断言验证代码进行绑定。在接收到针对需要绑定断言验证代码的目标模块的查找指令时,自动查找目标模块对应的位置信息和接口信息,使得后续断言验证代码添加的位置不易出错,并根据目标模块的位置信息和接口信息,将目标模块与对应的断言验证代码进行绑定,减小因人为绑定断言验证代码与目标模块的工作量,提高了绑定的效率。

参照图2,示出了本发明第二实施例的一种断言验证代码绑定方法的流程图,具体可以包括如下步骤:

步骤S201,提供断言代码库,所述断言代码库中存储了分别对应于所述多个模块的断言验证代码以及每个断言验证代码对应的断言标识。

开发人员针对不同的模块,会编写模块对应的断言验证代码,并将断言验证代码存储在断言代码库中,该断言代码库中存储了分别对应于多个模块的断言验证代码;当然,在编写断言验证代码时,可为每个断言验证代码设置一个具有唯一性的断言标识,也就是说,断言代码库中除了存储了分别对应于多个模块的断言验证代码外,还存储了每个断言验证代码对应的断言标识。

在将编写的断言验证代码与对应的断言标识存储在断言代码库后,可获取编写好的断言代码库。

需要说明的是,断言标识与目标模块的模块标识相对应,用于后续便于断言验证代码的调用;当然,可以理解的是,断言标识也可通过目标模块的模块名称来表示。

步骤S202,根据芯片的多个模块的模块标识,采用VERDI工具从芯片文件列表中查找所述多个模块的位置信息和接口信息。

通常,芯片中的每个模块的模块标识具有唯一性,且由于VERDI工具可以分析芯片文件列表,因此,可以将芯片的各个模块的模块标识依次输入VERDI工具,采用VERDI工具分析芯片文件列表,从芯片文件列表中查找到模块标识对应的模块的位置信息和接口信息,从而得到多个模块的位置信息和接口信息。

步骤S203,将所述多个模块的模块标识、位置信息和接口信息存储在目标文件中。

将查找到的多个模块的位置信息和接口信息存储在目标文件中,相应的,也将模块对应的模块标识存储在目标文件中。其中,目标文件可包括模块标识、模块的位置信息和模块的接口信息,该目标文件的格式可以为txt格式。

步骤S204,在接收到针对目标模块的查找指令时,根据目标模块的模块标识,从所述目标文件中读取对应的位置信息和接口信息。

在接收到针对目标模块的查找指令时,根据目标模块的模块标识,从目标文件中读取目标模块对应的位置信息和接口信息。

其中,目标模块包括:FIFO模块、RAM模块、ARBITER模块、计数器模块其中至少一者。

步骤S205,将所述目标模块的模块标识与所述断言代码库中的断言标识进行匹配。

将目标模块的模块标识与断言代码库中的各个断言标识进行匹配,确定匹配成功的断言标识对应的断言验证代码,即确定出目标模块需要绑定的断言验证代码。

例如,目标模块为FIFO(First Input First Output,先入先出)模块,其模块标识为FIFO,断言代码库中包括断言验证代码1、断言验证代码2和断言验证代码3,断言验证代码1用于对FIFO模块进行验证,断言验证代码2用于对RAM模块进行验证,断言验证代码3用于对ARBITER模块进行验证,且断言验证代码1的断言标识为0001、断言验证代码2的断言标识为0002,断言验证代码3的断言标识为0003,将目标模块的模块标识FIFO与断言代码库中的各个断言标识进行匹配,得到匹配后的断言标识为0001,则从断言代码库中确定出需要绑定的断言验证代码为断言验证代码1。

步骤S206,从断言代码库中调用匹配成功的断言标识对应的断言验证代码。

在确定出目标模块需要绑定的断言验证代码后,从断言代码库中调用匹配成功的断言标识对应的断言验证代码。

步骤S207,根据所述目标模块的位置信息和接口信息,将所述断言验证代码与所述目标模块的接口进行连接。

根据目标模块的位置信息确定断言验证代码需要***的位置,根据目标模块的接口信息,将断言验证代码与目标模块的接口进行连接,从而实现断言验证代码与目标模块的绑定;具体的,可以使用bind命令将断言验证代码与目标模块的接口连接。

虽然,断言代码库中的断言验证代码也为是人工编写的,但是在后续的应用中,当发现断言验证代码编写错误时,可人工进行改正,经过多个用户的多次验证使用后,断言代码库中的断言验证代码更准确,在调用断言代码库中的断言验证代码,并将断言验证代码与目标模块的接口进行连接时,断言验证代码是准确的,从而避免通过人工为目标模块添加断言验证代码时容易出错的问题,且当同一目标模块被例化时,也无需复制断言验证代码,直接调用断言代码库中的断言验证代码即可,避免复制过程中出现错误。

在本发明实施例中,提供断言代码库,根据芯片的多个模块的模块标识,采用VERDI工具从芯片文件列表中查找多个模块的位置信息和接口信息,将多个模块的模块标识、位置信息和接口信息存储在目标文件中,在接收到针对目标模块的查找指令时,根据目标模块的模块标识,从目标文件中读取对应的位置信息和接口信息,将目标模块的模块标识与断言代码库中的断言标识进行匹配,从断言代码库中调用匹配成功的断言标识对应的断言验证代码,根据目标模块的位置信息和接口信息,将断言验证代码与目标模块的接口进行连接。采用VERDI工具从芯片文件列表中查找到多个模块的位置信息和接口信息并将其储存至目标文件中,避免人为查找模块位置易出错的问题,且通过目标模块的模块标识从断言代码库中自动调用断言验证代码,并根据位置信息和接口信息,将断言验证代码与目标模块的接口进行连接,减小因人为绑定断言验证代码与目标模块的工作量,提高了绑定的效率;且当同一目标模块被例化时,也无需复制断言验证代码,直接调用断言代码库中的断言验证代码即可,避免复制过程中出现错误。

参照图3,示出了本发明第三实施例的一种断言验证代码绑定装置的结构框图,断言验证代码绑定装置300可以包括:

模块信息确定模块301,用于确定芯片的多个模块对应的模块标识、位置信息和接口信息;

模块信息查找模块302,用于在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找到所述目标模块对应的位置信息和接口信息;

断言绑定模块303,用于根据所述目标模块的位置信息和接口信息,将所述目标模块与对应的断言验证代码进行绑定。

参照图4,示出了本发明第三实施例的另一种断言验证代码绑定装置的结构框图。

在图3的基础上,可选的,所述断言验证代码绑定装置300还包括:

断言代码库提供模块304,用于提供断言代码库,所述断言代码库中存储了分别对应于所述多个模块的断言验证代码以及每个断言验证代码对应的断言标识。

可选的,所述断言绑定模块303,包括:

标识匹配子模块3031,用于将所述目标模块的模块标识与所述断言代码库中的断言标识进行匹配;

断言调用子模块3032,用于从断言代码库中调用匹配成功的断言标识对应的断言验证代码;

断言绑定子模块3033,用于根据所述目标模块的位置信息和接口信息,将所述断言验证代码与所述目标模块的接口进行连接。

可选的,所述模块信息确定模块301,包括:

模块信息查找子模块3011,用于根据芯片的多个模块的模块标识,采用VERDI工具从芯片文件列表中查找所述多个模块的位置信息和接口信息;

模块信息存储子模块3012,用于将所述多个模块的模块标识、位置信息和接口信息存储在目标文件中。

可选的,所述模块信息查找模块302,包括:

模块信息读取子模块3021,用于在接收到针对目标模块的查找指令时,根据目标模块的模块标识,从所述目标文件中读取对应的位置信息和接口信息。

可选的,所述目标模块包括:FIFO模块、RAM模块、ARBITER模块、计数器模块其中至少一者。

在本发明实施例中,通过确定芯片的多个模块对应的模块标识、位置信息和接口信息,在接收到针对目标模块的查找指令时,根据目标模块的模块标识,查找到目标模块对应的位置信息和接口信息,根据目标模块的位置信息和接口信息,将目标模块与对应的断言验证代码进行绑定。在接收到针对需要绑定断言验证代码的目标模块的查找指令时,自动查找目标模块对应的位置信息和接口信息,使得后续断言验证代码添加的位置不易出错,并根据目标模块的位置信息和接口信息,将目标模块与对应的断言验证代码进行绑定,减小因人为绑定断言验证代码与目标模块的工作量,提高了绑定的效率。

相应的,本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的断言验证代码绑定方法。

本发明实施例另外提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,该程序指令被处理器运行时,用于执行上述的断言验证代码绑定方法。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种断言验证代码绑定方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:区域融合

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!