CN116136950B - 芯片验证方法、装置、***、电子设备及存储介质 - Google Patents
芯片验证方法、装置、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116136950B CN116136950B CN202310396013.4A CN202310396013A CN116136950B CN 116136950 B CN116136950 B CN 116136950B CN 202310396013 A CN202310396013 A CN 202310396013A CN 116136950 B CN116136950 B CN 116136950B
- Authority
- CN
- China
- Prior art keywords
- coverage
- functional
- coverage rate
- function
- point
- 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.)
- Active
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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
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)
Abstract
本申请实施例公开了一种芯片验证方法、装置、***及存储介质。该方法包括:获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;基于映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;利用所有测试用例,对各功能覆盖点进行测试,并利用功能覆盖率代码实时确定功能覆盖率代码输出的覆盖率;实时检测覆盖率是否大于等于预设阈值,并在大于等于预设阈值的情况下,确定对所有功能覆盖点完成验证。本申请运行所有测试用例,即可覆盖所有的功能覆盖点,避免了重复抽取的情况,从而在提高验证效率的前提下,还能提高覆盖率。
Description
技术领域
本申请实施例涉及芯片设计技术领域,尤其涉及一种芯片验证方法、装置、***、电子设备及存储介质。
背景技术
在芯片设计过程中,为了提高芯片的稳定性,需要对芯片的功能进行验证,随着芯片的复杂程度越来越高,对芯片验证的完备性和全面性的要求也越来越高。
通常,在芯片验证过程中,会通过对芯片设计功能验证的覆盖率来衡量验证是否完备,覆盖率达标则证明验证完备。一般,会对芯片设计功能进行随机验证的方式来逐步使覆盖率达标。
在设计功能规模大、复杂度高、交叉验证空间巨大的情况下,随机验证的方式可能会对相同的功能点进行多次重复的验证,造成验证资源的浪费,延长覆盖率收敛(达标)的时间,另一方面,随机验证的方式还可能会出现部分功能点无法被覆盖到的问题。
发明内容
本申请实施例提供一种芯片验证方法、装置、***、电子设备及存储介质,以提高芯片验证推荐的效率和功能点覆盖率。
第一方面,本申请实施例提供了一种芯片验证方法,所述方法包括:
获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;
基于所述映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;
利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率;
实时检测所述覆盖率是否大于等于预设阈值,并在大于等于所述预设阈值的情况下,确定对所有功能覆盖点完成验证。
第二方面,本申请实施例提供了一种芯片验证装置,所述装置包括:
获取模块,用于获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;
生成模块,用于基于所述映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;
测试模块,用于利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率;
验证完成判断模块,用于实时检测所述覆盖率是否大于等于预设阈值,并在大于等于所述预设阈值的情况下,确定对所有功能覆盖点完成验证。
第三方面,本申请实施例还提供了一种芯片验证***,所述***包括:
自动化子***和UVM验证子***;
所述自动化子***用于生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;
所述自动化子***与所述UVM验证子***通信连接,用于将测试用例和功能覆盖率代码发送给所述UVM验证子***,以使所述UVM验证子***利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率
第四方面,本申请实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请任一实施例提供的芯片验证方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请任一实施例提供的芯片验证方法。
本申请实施例的技术方案,获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;基于所述映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率;实时检测所述覆盖率是否大于等于预设阈值,并在大于等于所述预设阈值的情况下,确定对所有功能覆盖点完成验证。基于此,本申请能够对于所有的功能覆盖点都生成一个对应的测试用例,运行所有测试用例,即可覆盖所有的功能覆盖点,不再需要随机抽取功能覆盖点,避免了重复抽取的情况,从而在提高验证效率的前提下,还能提高覆盖率。
附图说明
图1为本申请实施例一提供的芯片验证方法的流程示意图;
图2为本申请实施例二提供的一种芯片验证装置的结构示意图;
图3为本申请的实施例三提供的一种芯片验证***的结构示意图;
图4为本申请实施例四提供的一种***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的芯片验证方法的流程示意图,本实施例从第一平台端进行说明,方法可适用于芯片验证的场景。该方法可以由芯片验证装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在具有数据运算能力的计算机等***中,具体包括如下步骤:
步骤101、获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系。
本步骤中,功能覆盖点指的是被测芯片在设计过程中,设计人员为被测芯片设计的功能点。本步骤在获取各功能覆盖点与输入激励之间的映射关系时,可以从预先设置的功能覆盖率计划书中获取。
具体的,可以先获取被测芯片的预设功能覆盖率计划书,提取功能覆盖率计划书中的所有功能覆盖点以及各功能覆盖点对应的输入激励;然后对于任一功能覆盖点,将功能覆盖点与输入激励进行映射,得到功能覆盖点与输入激励的映射关系。
其中,功能覆盖率计划书可以是验证人员根据芯片设计人员提供的芯片的设计说明书,制定出来的。制定时,可以先根据设计说明书分析并整理出设计特性列表,然后根据设计特性列表制定功能覆盖率计划书。
需要说明的是,设计特性列表中的项可以为体现芯片功能的特性,比如该芯片具有“异或”运算的特性,那么该特性可以体现芯片的功能为“异或”运算功能。
基于该设计特性列表,便可以将其中的每个项制定为一个功能覆盖点,然后为每个功能覆盖点制定相应的输入激励,从而得到该功能覆盖率计划书。
另外,本步骤所指的功能覆盖点,同样包含了交叉覆盖点,其中,涉及两个或两个以上的单一功能覆盖点或交叉覆盖点,成为交叉覆盖点。
步骤102、基于映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码。
本步骤中,测试用例模板为验证人员预先编写的,由于芯片验证过程中,需要的通常是限定输入激励,即限定输入值和输入接口,因此,测试用例模板的基础架构可以采用相同的架构,然后设置待填充项,供后续生成测试用例时进行填充即可。
具体的,对于任一功能覆盖点,基于映射关系确定功能覆盖点对应的输入激励,并从约束文件中提取输入激励的约束信息;基于约束信息对测试用例模板中输入激励对应的待填充项进行填充,得到功能覆盖点对应的测试用例;基于所有测试用例生成功能覆盖率代码。
需要说明的是,在生成任一功能覆盖点对应的测试用例时,先确定该功能覆盖点所需的输入激励,输入激励即为所需输入的激励信号种类以及相应的输入接口,然后再从约束文件中提取出该输入激励的约束信息。
其中,该约束信息能够按照激励信号的种类不同,指示激励信号可行的具体内容,因此,本步骤便可以基于约束信息对测试用例模板中输入激励对应的待填充项进行填充。
在一个具体的实施例中,激励信号的种类为数值种类时,约束文件约束了数值取值范围,可以在该数值取值范围内随机生成多项数值,作为激励信号的具体内容。
另外,本步骤在生成功能覆盖率代码时,可以根据所有测试用例生成,由于测试用例中会有各功能覆盖点的不同值的输入激励,而且不同功能覆盖点的输入激励是不同的,因此,可以先确定不同值输入激励的数量,然后将该数量填充到功能覆盖率代码模板中即可。
需要说明的是,功能覆盖率代码模板可以是一个计数代码模板,其可以为输入进行计数,在根据其中的总数计算出相应的进度值,比如总数为1000,在完成100个输入的时候,该代码输出的进度值则为10%。
其中,本步骤确定不同值输入激励的数量,就是填充到功能覆盖率代码模板中的总数中,得到功能覆盖率代码。
步骤103、利用所有测试用例,对各功能覆盖点进行测试,并利用功能覆盖率代码实时确定功能覆盖率代码输出的覆盖率。
本步骤中,在对各功能覆盖点进行测试时,可以先获取所有测试用例,将所有测试用例加入到预设集合中,得到测试序列集合;然后基于测试序列集合,确定每个测试用例各自对应的被测芯片接口的输入信息;最后将输入信息输入到被测芯片的输入端,以完成对被测芯片的测试。
需要说明的是,本步骤所指的被测芯片的输入信息即为根据前述步骤中激励信息生成的信号信息,该输入信息可以指示向被测芯片的相应接口输入相应的信号。
另外,在确定覆盖率时,可以监测被测芯片输入端的输入信号;然后将输入信号作为功能覆盖率代码入参,运行功能覆盖率代码,得到功能覆盖率代码实时输出的覆盖率。
其中,功能覆盖率代码每次接收到一个输入信号,计数便累加1,然后实时计算计数值与总数的比值,该比值即为覆盖率。
为了保证验证过程能够顺利进行,本实施例还设置了故障报警体系,具体的,可以检测被测芯片输入端的输入信号和输出端的输出信号;然后利用预设的结果预测组件,根据输入信号对输出进行预测,得到预测输出信息;最后比对预测输出信息与输出信息是否匹配,并在不匹配的情况下进行错误告警。
需要说明的是,结果预测组件具体的预测方式可以为通过提前训练的预测模型进行预测,预测模型的具体训练过程和工作原理可以参考相关技术,此处不再赘述。
另外,比对预测输出信息与输出信息是否匹配时,可以为相同则匹配,不同则不匹配。
步骤104、实时检测覆盖率是否大于等于预设阈值,并在大于等于预设阈值的情况下,确定对所有功能覆盖点完成验证。
本步骤中,预设阈值可以为100%,由于本申请是对所有的功能覆盖点进行了验证,因此,覆盖率可以达到100%,本步骤中覆盖率达到100%,即表示验证完成。
本实施例中,获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;基于映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;利用所有测试用例,对各功能覆盖点进行测试,并利用功能覆盖率代码实时确定功能覆盖率代码输出的覆盖率;实时检测覆盖率是否大于等于预设阈值,并在大于等于预设阈值的情况下,确定对所有功能覆盖点完成验证。基于此,本申请能够对于所有的功能覆盖点都生成一个对应的测试用例,运行所有测试用例,即可覆盖所有的功能覆盖点,不再需要随机抽取功能覆盖点,避免了重复抽取的情况,从而在提高验证效率的前提下,还能提高覆盖率。
实施例二
图2为本申请实施例二提供的一种芯片验证装置的结构示意图。本申请实施例所提供的芯片验证装置可执行本申请任意实施例所提供的芯片验证方法,具备执行方法相应的功能模块和有益效果。该装置可采用软件和/或硬件的方式实现,如图2所示,芯片验证装置具体包括:获取模块201、生成模块202、测试模块203、验证完成判断模块204。
其中,获取模块,用于获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;
生成模块,用于基于映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;
测试模块,用于利用所有测试用例,对各功能覆盖点进行测试,并利用功能覆盖率代码实时确定功能覆盖率代码输出的覆盖率;
验证完成判断模块,用于实时检测覆盖率是否大于等于预设阈值,并在大于等于预设阈值的情况下,确定对所有功能覆盖点完成验证。
进一步地,获取模块包括:
获取单元,用于获取被测芯片的预设功能覆盖率计划书,提取功能覆盖率计划书中的所有功能覆盖点以及各功能覆盖点对应的输入激励;
映射单元,用于对于任一功能覆盖点,将功能覆盖点与输入激励进行映射,得到功能覆盖点与输入激励的映射关系。
进一步地,生成模块包括:
确定单元,用于对于任一功能覆盖点,基于映射关系确定功能覆盖点对应的输入激励,并从约束文件中提取输入激励的约束信息;
填充单元,用于基于约束信息对测试用例模板中输入激励对应的待填充项进行填充,得到功能覆盖点对应的测试用例;
生成单元,用于基于所有测试用例生成功能覆盖率代码。
进一步地,测试模块包括:
集合确定单元,用于获取所有测试用例,将所有测试用例加入到预设集合中,得到测试序列集合;
输入信息确定单元,用于基于测试序列集合,确定每个测试用例各自对应的被测芯片接口的输入信息;
信息输入单元,用于将输入信息输入到被测芯片的输入端,以完成对被测芯片的测试。
进一步地,测试模块包括:
第一监测单元,用于监测被测芯片输入端的输入信号;
覆盖率确定单元,用于将输入信号作为功能覆盖率代码入参,运行功能覆盖率代码,得到功能覆盖率代码实时输出的覆盖率。
进一步地,装置还包括:
第二监测单元,用于检测被测芯片输入端的输入信号和输出端的输出信号;
预测单元,用于利用预设的结果预测组件,根据输入信号对输出进行预测,得到预测输出信息;
比对单元,用于比对预测输出信息与输出信息是否匹配,并在不匹配的情况下进行错误告警。
实施例三
图3为本申请的实施例三提供的一种芯片验证***的结构示意图,如图3所示,该***包括自动化子***301和UVM验证子***302;
其中,自动化子***用于生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;
自动化子***与UVM验证子***通信连接,用于将测试用例和功能覆盖率代码发送给UVM验证子***,以使UVM验证子***利用所有测试用例,对各功能覆盖点进行测试,并利用功能覆盖率代码实时确定功能覆盖率代码输出的覆盖率。
实施例四
图4为本申请实施例四提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;电子设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的芯片验证方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的芯片验证方法:
获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;基于所述映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率;实时检测所述覆盖率是否大于等于预设阈值,并在大于等于所述预设阈值的情况下,确定对所有功能覆盖点完成验证。
基于此,本申请能够对于所有的功能覆盖点都生成一个对应的测试用例,运行所有测试用例,即可覆盖所有的功能覆盖点,不再需要随机抽取功能覆盖点,避免了重复抽取的情况,从而在提高验证效率的前提下,还能提高覆盖率。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作电子设备、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种芯片验证方法,该方法包括:
获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;基于所述映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率;实时检测所述覆盖率是否大于等于预设阈值,并在大于等于所述预设阈值的情况下,确定对所有功能覆盖点完成验证。
基于此,本申请能够对于所有的功能覆盖点都生成一个对应的测试用例,运行所有测试用例,即可覆盖所有的功能覆盖点,不再需要随机抽取功能覆盖点,避免了重复抽取的情况,从而在提高验证效率的前提下,还能提高覆盖率。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本申请任意实施例所提供的芯片验证方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (9)
1.一种芯片验证方法,其特征在于,所述方法包括:
获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;
基于所述映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;
利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率;
实时检测所述覆盖率是否大于等于预设阈值,并在大于等于所述预设阈值的情况下,确定对所有功能覆盖点完成验证;
所述基于所述映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码,包括:
对于任一功能覆盖点,基于所述映射关系确定所述功能覆盖点对应的输入激励,并从所述约束文件中提取所述输入激励的约束信息;
基于所述约束信息对测试用例模板中所述输入激励对应的待填充项进行填充,得到所述功能覆盖点对应的测试用例;
基于所有所述测试用例生成功能覆盖率代码。
2.根据权利要求1所述的方法,其特征在于,所述获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系,包括:
获取被测芯片的预设功能覆盖率计划书,提取所述功能覆盖率计划书中的所有功能覆盖点以及各功能覆盖点对应的输入激励;
对于任一功能覆盖点,将所述功能覆盖点与所述输入激励进行映射,得到所述功能覆盖点与所述输入激励的映射关系。
3.根据权利要求1所述的方法,其特征在于,所述利用所有所述测试用例,对各功能覆盖点进行测试,包括:
获取所有所述测试用例,将所有所述测试用例加入到预设集合中,得到测试序列集合;
基于所述测试序列集合,确定每个测试用例各自对应的被测芯片接口的输入信息;
将所述输入信息输入到被测芯片的输入端,以完成对所述被测芯片的测试。
4.根据权利要求1所述的方法,其特征在于,所述利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率,包括:
监测所述被测芯片输入端的输入信号;
将所述输入信号作为所述功能覆盖率代码入参,运行所述功能覆盖率代码,得到所述功能覆盖率代码实时输出的覆盖率。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述被测芯片输入端的输入信号和输出端的输出信号;
利用预设的结果预测组件,根据所述输入信号对输出进行预测,得到预测输出信息;
比对所述预测输出信息与所述输出信息是否匹配,并在不匹配的情况下进行错误告警。
6.一种芯片验证装置,其特征在于,所述装置包括:
获取模块,用于获取被测芯片的所有功能覆盖点中各功能覆盖点与输入激励之间的映射关系;
生成模块,用于基于所述映射关系、预先编写的测试用例模板和输入激励的约束文件,生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;
测试模块,用于利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率;
验证完成判断模块,用于实时检测所述覆盖率是否大于等于预设阈值,并在大于等于所述预设阈值的情况下,确定对所有功能覆盖点完成验证;
所述生成模块具体用于:
对于任一功能覆盖点,基于所述映射关系确定所述功能覆盖点对应的输入激励,并从所述约束文件中提取所述输入激励的约束信息;
基于所述约束信息对测试用例模板中所述输入激励对应的待填充项进行填充,得到所述功能覆盖点对应的测试用例;
基于所有所述测试用例生成功能覆盖率代码。
7.一种芯片验证***,其特征在于,包括:
自动化子***和UVM验证子***;
所述自动化子***用于生成每个功能覆盖点各自对应的测试用例以及用于确定覆盖率的功能覆盖率代码;
所述自动化子***与所述UVM验证子***通信连接,用于将测试用例和功能覆盖率代码发送给所述UVM验证子***,以使所述UVM验证子***利用所有所述测试用例,对各功能覆盖点进行测试,并利用所述功能覆盖率代码实时确定所述功能覆盖率代码输出的覆盖率;
所述自动化子***具体用于:
对于任一功能覆盖点,基于映射关系确定所述功能覆盖点对应的输入激励,并从约束文件中提取所述输入激励的约束信息;
基于所述约束信息对测试用例模板中所述输入激励对应的待填充项进行填充,得到所述功能覆盖点对应的测试用例;
基于所有所述测试用例生成功能覆盖率代码。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的芯片验证方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的芯片验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310396013.4A CN116136950B (zh) | 2023-04-14 | 2023-04-14 | 芯片验证方法、装置、***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310396013.4A CN116136950B (zh) | 2023-04-14 | 2023-04-14 | 芯片验证方法、装置、***、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116136950A CN116136950A (zh) | 2023-05-19 |
CN116136950B true CN116136950B (zh) | 2023-06-30 |
Family
ID=86334583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310396013.4A Active CN116136950B (zh) | 2023-04-14 | 2023-04-14 | 芯片验证方法、装置、***、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116136950B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719747B (zh) * | 2023-08-07 | 2023-11-03 | 上海类比半导体技术有限公司 | 一种芯片多版本的验证方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461813B (zh) * | 2014-12-18 | 2017-06-30 | 浪潮集团有限公司 | 利用功能覆盖率负反馈加速uvm验证收敛的方法 |
CN106133537B (zh) * | 2014-12-30 | 2019-03-05 | 京微雅格(北京)科技有限公司 | 一种fpga功能模块仿真验证方法及其*** |
CN105260534B (zh) * | 2015-10-10 | 2019-06-18 | 浪潮(北京)电子信息产业有限公司 | 用于超大规模芯片验证的回归测试用例维护方法及*** |
CN106599498A (zh) * | 2016-12-20 | 2017-04-26 | 盛科网络(苏州)有限公司 | 基于树回溯算法提高芯片验证覆盖率的方法 |
CN107704384A (zh) * | 2017-09-14 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种加速芯片功能验证收敛的方法及*** |
CN108897724B (zh) * | 2018-07-03 | 2022-11-15 | 天津芯海创科技有限公司 | 功能完成进度确定方法及装置 |
CN113868061B (zh) * | 2021-09-29 | 2024-05-28 | 深圳大普微电子科技有限公司 | 芯片验证方法、装置及服务器 |
US11709982B2 (en) * | 2021-09-30 | 2023-07-25 | Kioxia Corporation | Enhanced coverage convergence and test status during simulation runtime |
CN115357494A (zh) * | 2022-08-19 | 2022-11-18 | 摩尔线程智能科技(北京)有限责任公司 | 功能覆盖率代码的自动生成方法及装置 |
CN115563019A (zh) * | 2022-12-05 | 2023-01-03 | 天津哈威克科技有限公司 | 一种uvm与c联合验证方法和*** |
-
2023
- 2023-04-14 CN CN202310396013.4A patent/CN116136950B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116136950A (zh) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532168B (zh) | 全链路接口压测方法、装置、计算机设备及存储介质 | |
CN110704304B (zh) | 一种应用程序测试方法、装置、存储介质和服务器 | |
CN111309539A (zh) | 一种异常监测方法、装置和电子设备 | |
CN110474900B (zh) | 一种游戏协议测试方法及装置 | |
CN116136950B (zh) | 芯片验证方法、装置、***、电子设备及存储介质 | |
CN111240876B (zh) | 微服务的故障定位方法、装置、存储介质及终端 | |
CN111897724A (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN111181805B (zh) | 一种基于测试用例的微服务测试挡板生成方法及*** | |
CN115659335A (zh) | 基于混合模糊测试的区块链智能合约漏洞检测方法及装置 | |
CN115391230A (zh) | 一种测试脚本生成、渗透测试方法、装置、设备及介质 | |
CN112506757A (zh) | 自动测试方法、***、计算机设备及其介质 | |
CN115098292A (zh) | 应用程序崩溃根原因识别方法、装置及电子设备 | |
CN110287700A (zh) | 一种iOS应用安全分析方法及装置 | |
CN112817843B (zh) | 项目管理方法和*** | |
CN116827765B (zh) | 一种根因定位方法、装置、设备及存储介质 | |
CN112416800A (zh) | 智能合约的测试方法、装置、设备及存储介质 | |
CN110968518A (zh) | 自动化测试日志文件的分析方法及装置 | |
CN116738091A (zh) | 页面监控方法、装置、电子设备及存储介质 | |
CN115576831A (zh) | 一种测试案例推荐方法、装置、设备及存储介质 | |
CN114579809A (zh) | 事件分析方法、装置、电子设备及存储介质 | |
CN111190813A (zh) | 基于自动化测试的安卓应用网络行为信息提取***及方法 | |
CN116401113B (zh) | 一种异构众核架构加速卡的环境验证方法、装置及介质 | |
CN116915463B (zh) | 一种调用链数据安全分析方法、装置、设备及存储介质 | |
CN112612882B (zh) | 检阅报告生成方法、装置、设备和存储介质 | |
CN111026610B (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 |