CN111983429B - 芯片验证系统、芯片验证方法、终端及存储介质 - Google Patents
芯片验证系统、芯片验证方法、终端及存储介质 Download PDFInfo
- Publication number
- CN111983429B CN111983429B CN202010838624.6A CN202010838624A CN111983429B CN 111983429 B CN111983429 B CN 111983429B CN 202010838624 A CN202010838624 A CN 202010838624A CN 111983429 B CN111983429 B CN 111983429B
- Authority
- CN
- China
- Prior art keywords
- module
- target
- excitation
- error information
- result
- 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
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
- G01R31/286—External aspects, e.g. related to chambers, contacting devices or handlers
- G01R31/2868—Complete testing stations; systems; procedures; software aspects
- G01R31/287—Procedures; Software aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种芯片验证系统、芯片验证方法、终端及存储介质,涉及芯片验证技术领域。该系统包括:激励生成模块,用于根据预设的功能场景生成相应的激励;待测模块,用于响应于激励生成输出结果,输出结果用于表示待测模块在预设的功能场景下的测试结果;比较模块,用于对输出结果和预测结果进行比较,并且响应于输出结果与预测结果不相符,生成错误信息集合,其中,错误信息集合包括至少一个错误信息,错误信息用于指示输出结果存在的错误;分类模块,用于基于错误信息集合中的各个错误信息的类别,生成与各个错误信息相对应的问题描述信息。申请实施例提升了芯片验证的效率。
Description
技术领域
本申请实施例涉及芯片验证技术领域,特别涉及一种芯片验证系统、芯片验证方法、终端及存储介质。
背景技术
随着集成电路的发展,芯片设计对验证的要求越来越高。
在相关技术中,通常基于UVM(Universal Vertification Methodology,通用验证方法学)来搭建验证平台。验证平台搭建完成之后,需要向被测模块发送各种场景的激励,被测模块对上述各种场景的激励进行处理之后,通常会暴露出被测模块的很多问题,例如,代码不正确、VIP(Verification IP,验证模型)使用错误等等。
发明内容
本申请实施例提供一种芯片验证系统、芯片验证方法、终端及存储介质。所述技术方案如下:
一方面,本申请实施例提供一种芯片验证系统,所述系统包括:
激励生成模块,用于根据预设的功能场景生成相应的激励;
待测模块,用于响应于所述激励生成输出结果,所述输出结果用于表示所述待测模块在所述预设的功能场景下的测试结果;
比较模块,用于对所述输出结果和预测结果进行比较,并且响应于所述输出结果与所述预测结果不相符,生成错误信息集合,其中,所述错误信息集合包括至少一个错误信息,所述错误信息用于指示所述输出结果存在的错误;
分类模块,用于基于所述错误信息集合中的各个错误信息的类别,生成与所述各个错误信息相对应的问题描述信息。
另一方面,本申请实施例提供一种芯片验证方法,应用于芯片验证系统中,所述方法包括:
根据预设的功能场景生成相应的激励;
响应于所述激励生成输出结果,所述输出结果用于表示所述芯片验证系统中的待测模块在所述预设的功能场景下的测试结果;
对所述输出结果和预测结果进行比较;
响应于所述输出结果与所述预测结果不相符,生成错误信息集合,其中,所述错误信息集合包括至少一个错误信息,所述错误信息用于指示所述输出结果存在的错误;
基于所述错误信息集合中的各个错误信息的类别,生成与所述各个错误信息相对应的问题描述信息。
另一方面,本申请实施例提供一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上述方面所述的芯片验证方法。
又一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上述方面所述的芯片验证方法。
又一方面,本申请实施例提供提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的芯片验证方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过分类模块对芯片验证过程中产生的错误信息进行分类,得到导致该错误信息的原因,本申请实施例可以实时的完成对错误信息的自动分类,使得技术人员可以根据错误信息对应的问题类型快速定位出芯片设计中出现的问题,极大的减少了Debug的时间,提升了芯片验证的效率。
附图说明
图1是本申请一个实施例提供的分类器的示意图;
图2是本申请一个实施例提供的芯片验证系统的示意图;
图3是本申请另一个实施例提供的芯片验证系统的示意图;
图4是本申请一个实施例提供的芯片验证方法的流程图;
图5是本申请一个实施例提供的分类器训练方法的流程图;
图6是本申请一个实施例提供的RBF的变化曲线图;
图7是本申请一个实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行介绍说明之前,首先对本申请中涉及的一些名词进行解释说明。
1、芯片验证:检测芯片上运行的程序是否存在bug(错误)的过程。芯片验证方法包括:动态功能验证、随机或定向功能验证、断言、混合功能验证、静态功能验证等。动态功能验证中的输入图形或激励信号是在一段时间(几个时钟周期)内生成并应用于设计的,相应结果会被用于与参考或黄金模型进行比较,以检验其与规范之间的一致性;随机功能验证是通过为设计提供随机激励信号来增加验证的测试空间;断言用来描述与设计相关联的假设及工作特性(包括暂时的特性),如果设计满足或未满足规范或假设,则断言将会在一个动态仿真过程中被触发,断言还可以在形式或静态功能验证环境中使用;混合功能验证通常执行动态仿真,仿真结果被用作静态验证的输入。在静态验证过程中,在设计中传播的是逻辑方程式/符号;在静态功能验证中,不向设计施加输入激励,而是将设计映射在一个图形结构中,用双择判决图(BDD,Binary Decision Digraph)或其他数学表示方法来描述所有时间周期内的设计功能。
2、分类器:分类器也可以称之为分类模型,是用于对数据进行分类的工具。分类器的边界向量用于区分第一类别和第二类别(第一类别和第二类别是两个不同的类别),如图1所示,在分类器的训练过程中,获取第一类别的数据和第二类别的数据(例如图1中黑色圆圈11代表第一类别的数据,白色圆圈12代表第二类别的数据),将上述第一类别的数据和第二类别的数据映射到更高维度的特征空间,并计算出一个边界向量(例如图1中的横条13表示边界向量),使得第一类别的数据和第二类别的数据分别位于边界向量的两侧。在分类过程中,待分类数据被映射到特征空间,并根据其位于分类器的哪一侧来确定分类结果。不同分类器的边界向量可能不同,其分类精度可能也不同。
3、SVM(Support Vector Machine,支持向量机):一种用于对数据进行分类的监督学习模型,具有广泛的应用场景。
4、激励:电源或信号源向电路输入的电压和电流起推动电路工作的作用。
5、UVM:UVM是一个以SystemVerilog类库为主体的验证平台开发框架,技术人员可以利用其可重构组件构建具有标准层次结构和接口的功能验证环境。
请参考图2,其示出了本申请一个实施例提供的芯片验证系统的示意图。该系统200可以包括:激励生成模块210、待测模块220、比较模块230、分类模块240。
激励生成模块210,用于根据预设的功能场景生成相应的激励。
激励是指待测模块220需要处理的信息,该信息可以是信号或数据等。激励生成模块210是指用于生成激励的模块。待测模块220可模拟实现待测芯片的功能,在可能的实现方式中,待测模块220包括多种功能,则激励生成模块210可分别生成上述不同功能各自对应的激励,并将其发送给待测模块220。
在可能的实现方式中,激励生成模块210中定义了各激励的约束条件,从而保证约束是有效的,激励生成模块210按照约束条件,根据预设的功能场景生成相应的激励。示例性地,预设的功能场景可以是待测模块220对应的所有功能场景,也可以是待测模块220对应的部分功能场景,还可以是待测模块220对应的任意一个功能场景,本申请实施例对此不作限定。
需要说明的是,在可能的实现方式中,本申请实施例中的激励还可以称之为激励信号、激励信息、测试指令、测试激励等,本申请实施例对此不作限定。
待测模块220,用于响应于激励生成输出结果。
待测模块220是指需要检测的模块,待测模块220接收到激励后,会响应于该激励,响应于该激励是指对激励进行处理,从而实现某一种功能。待测模块220收到激励后,对该激励进行处理,生成输出结果。输出结果用于表示待测模块在预设的功能场景下的测试结果。例如,待测模块220可以运行上述激励,从而生成输出结果。在一种可能的实现方式中,待测模块220可以实现多种功能;在另一种可能的实现方式中,待测模块220仅可以实现一种功能,本申请实施例对待测模块220可以实现的功能数量不作限定。当预设的功能场景包括待测模块220对应的多个功能场景时,待测模块220根据各个功能场景相应的激励生成各个功能场景对应的输出结果。
待测模块220生成输出结果后,将该输出结果发送给比较模块230。
比较模块230,用于对输出结果和预测结果进行比较;响应于输出结果与预测结果不相符,生成错误信息集合。
比较模块230是指对待测模块220的输出结果进行验证的模块。当待测模块220的输出结果与预测结果不相符时,表明待测模块220上运行的程序存在bug(错误),预测结果是指模拟待测模块220的行为从而生成的正确结果。此时,比较模块230生成错误信息集合,错误信息集合包括至少一个错误信息,该错误信息用于指示输出结果存在的错误;并将上述错误信息集合发送给分类模块240。
分类模块240,用于基于错误信息集合中的各个错误信息的类别,生成与各个错误信息相对应的问题描述信息。
分类模块240是指对错误信息进行分类的模块。问题描述信息用于指示问题类型,不同问题类型对应的问题描述信息不同。分类模块240接收到错误信息集合后,对该错误信息集合中的各个错误信息进行分类,从而得到与上述各个错误信息相对应的问题描述信息。上述与各个错误信息相对应的问题描述信息可能一致,也可能不一致,例如,错误信息集合中包括3个错误信息,与该3个错误信息相对应的问题描述信息都为问题描述信息1;或者,与该3个错误信息相对应的问题描述信息分别为问题描述信息1、问题描述信息2和问题描述信息3;又或者,该3个错误信息中存在2个错误信息与之相对应的问题描述信息都为问题描述信息1,与另一个错误信息相对应的问题描述信息为问题描述信息2,本申请实施例对此不作限定。
在可能的实现方式中,问题描述信息包括以下至少一项:代码错误、VIP使用错误、输出与参考模型不匹配、时钟错误、验证环境错误。VIP是一种验证模型和全面的测试环境,能够帮助设计者和验证者确认其设计功能的正确性。通常,VIP是基于标准协议的,例如:AMBA(Advanced Microcontroller Bus Architecture,片上总线)协议、PCIE协议、USB协议、以太网等。VIP中包括很多验证部件IP(Intellectual Property,知识产权)核,这些IP核都严格遵循上述标准协议。
分类模块240对错误信息进行分类后,可以得到导致该错误信息的原因。相较于相关技术中需要技术人员对每一个错误信息进行逐条定位出问题类型,本申请实施例提供的芯片验证系统200通过分类模块240对错误信息进行分类,当大量各种功能场景的激励输入到待测模块220时,可以实时的完成对错误信息的自动分类,使得技术人员可以根据错误信息对应的问题类型快速定位出芯片设计中出现的问题,极大的减少了Debug(程序除错)的时间,提升了效率,进而可以使得技术人员将精力主要集中在解决Debug的过程上,完善了芯片验证流程的高度自动化。分类模块240可以实现对大部分常见错误信息的分类,对于没有遇到过的错误信息,可以交由技术人员去定位出问题类型,因此,技术人员可以将更多的精力放在没有遇到过的错误信息上,减少了技术人员对常见错误信息对应的问题类型的定位时间,提升了芯片验证的效率,且提升了发现芯片设计中严重bug的效率。
在可能的实现方式中,分类模块240中设置有分类器。此时,该分类模块240,用于通过分类器基于错误信息集合中的各个错误信息的类别,生成与各个错误信息相对应的问题描述信息。可选地,本申请实施例中的分类器是用于二分类任务的分类器,如SVM。可选地,本申请实施例中的分类器还可以是用于多分类任务的分类器,此时,多分类的分类器可以对待分类数据(如,错误信息)进行多次二分类,得到最终的分类结果。将多类问题分解成k个二分类问题,为每一个类创建一个二分类问题,其中所有属于某一类别的样本都被看作正类,而其它样本都被看作负类。然后构建一个二分类器,将属于该某一类别的样本从其它的类中分离出来。
在可能的实现方式中,分类器根据训练数据训练得到,该训练数据包括至少一个训练错误信息以及该训练错误信息对应的标准问题描述信息。有关分类器的介绍说明可参见下文实施例,此处先不作介绍。
需要说明的是,本申请实施例提供的芯片验证系统对验证平台不作限定,例如,上述芯片验证系统可运行在UVM验证平台上,也可运行在Systemverilog验证平台上,当然,在其他可能的实现方式中,上述芯片验证系统还可运行在其他验证平台上,本申请实施例对此不作限定。
综上所述,本申请实施例提供的技术方案中,通过分类模块对芯片验证过程中产生的错误信息进行分类,得到导致该错误信息的原因,本申请实施例可以实时的完成对错误信息的自动分类,使得技术人员可以根据错误信息对应的问题类型快速定位出芯片设计中出现的问题,极大的减少了Debug的时间,提升了芯片验证的效率。
在可能的实现方式中,如图3所示,其示出了本申请另一个实施例提供的芯片验证系统的示意图。
在可能的实现方式中,比较模块230包括参考模型231。上述系统200还包括:驱动模块250、接口模块260、监视模块270。
激励生成模块210,用于将激励发送给驱动模块250。
驱动模块250,用于驱动接口模块260将激励发送给待测模块240。
在可能的实现方式中,驱动模块250,用于在每个时钟周期上升沿(非时钟周期开始)驱动接口模块260将激励发送给待测模块240。
当驱动模块250收到激励之后,会根据接口模块260的接口协议驱动接口模块260,从而实现将激励通过接口模块260发送给待测模块220。接口模块260的接口协议是待测模块220支持的协议,在可能的实现方式中,待测模块220支持PCIE(Peripheral ComponentInterconnect Express,总线和接口标准)协议、USB(Universal Serial Bus,通用串行总线)协议或其它协议等,则相应地,接口模块260的接口协议为PCIE协议、USB协议或其它协议等,本申请实施例对接口模块260的协议不作限定。
监视模块270,用于监视到接口模块260上存在激励,从接口模块260获取激励;将激励发送给参考模型231。
参考模型231,用于响应于激励生成预测结果。
参考模型231是指生成预测结果的模型,参考模型231可以模拟待测模块220的行为从而生成预测结果。参考模型231可以通过C语言、C++语言或其他程序设计语言编译实现。
在可能的实现方式中,当待测模块220生成输出结果后,待测模块220将生成输出结果发送给接口模块260。监视模块260监视到接口模块260上存在输出结果时,从接口模块260获取该输出结果,并将该输出结果发送给比较模块230。
在可能的实现方式中,激励生成模块210包括至少一个激励生成器211,待测模块220包括至少一个待测单元221。
激励生成器211,用于根据目标待测单元的目标功能场景生成目标激励;将目标激励发送给驱动模块250。
不同的功能场景对应的激励可能不同,当待测模块220包括多个功能场景时,每个功能场景对应有一个激励生成器211,激励生成器211根据待测模块220的目标功能场景(目标功能场景是目标待测单元的功能场景,是待测模块220包括的多个功能场景中的任意一个)生成目标激励,然后将该目标激励发送给驱动模块250。
驱动模块250,用于驱动接口模块260将目标激励发送给目标待测单元。
当待测模块220包括多个功能场景时,每个功能场景对应有一个待测单元,该待测单元可用于实现其对应功能场景的功能。
在可能的实现方式中,接口模块260包括至少一个接口单元,每个接口单元对应有各自的待测单元。驱动模块250将目标激励通过目标接口单元发送给目标待测单元。
目标待测单元,用于响应于目标激励生成目标输出结果,目标输出结果用于表示目标待测单元在目标功能场景下的测试结果。
此时,监视模块270监视到目标接口单元上存在目标激励,从目标接口单元中获取目标激励;将该目标激励发送给参考模型231。参考模型231对该目标激励进行处理,生成目标预测结果。比较模块230对目标输出结果和目标预测结果进行比较;响应于目标输出结果与目标预测结果不相符,生成该目标激励对应的目标错误信息集合;将该目标错误信息集合发送给分类模块240。分类模块240基于该目标错误信息集合中的各个目标错误信息的类别,得到各个目标错误信息对应的目标问题描述信息。
本申请实施例中通过设置多个激励生成器和多个待测单元,可以同时对多个功能场景进行验证,提高了验证的效率。
可选地,上述系统200还包括:仲裁模块280。
激励生成模块210,用于将至少一个激励生成器生成的至少一个激励发送给仲裁模块280。
仲裁模块280,用于确定上述至少一个激励的优先级;将该至少一个激励中优先级最高的激励发送给驱动模块250。
芯片的设计流程,始于客户需求,包括但不限于应用功能,面积大小,功耗以及处理速度。这些需求(功能场景)在前期概念规划阶段必须被安排相应的优先级。当然,在可能的实现方式中,功能场景的优先级也可以在芯片验证过程中再进行设置,本申请实施例对功能场景的优先级的设置时间不做限定。激励的优先级可通过其对应的功能场景的优先级确定,功能场景的优先级越高,其对应的激励的优先级也越高。
需要说明的是,上述实施例提供的系统在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
下述为本申请方法实施例,对于本申请方法实施例中未披露的细节,请参照本申请系统实施例。
请参考图4,其示出了本申请一个实施例提供的芯片验证方法的流程图。该芯片验证方法应用于上述实施例介绍的芯片验证系统中,该方法可以包括如下几个步骤。
步骤401,根据预设的功能场景生成相应的激励。
步骤401可以由芯片验证系统中的激励生成模块执行。
在可能的实现方式中,待测模块包括至少一个待测单元,上述预设的功能场景包括目标待测单元的目标功能场景。终端可以根据目标待测单元的目标功能场景生成目标激励。可选地,上述目标激励由芯片验证系统包括的激励生成模块生成。目标待测单元获得目标激励后,响应于目标激励生成目标输出结果,该目标输出结果用于表示目标待测单元在目标功能场景下的测试结果。
步骤402,响应于激励生成输出结果。
输出结果用于表示芯片验证系统中的待测模块在预设的功能场景下的测试结果。
步骤402可以由芯片验证系统中的待测模块执行。
在可能的实现方式中,终端根据待测模块的功能场景生成至少一个激励;然后确定至少一个激励的优先级;对上述至少一个激励中优先级最高的激励进行处理,生成输出结果。
步骤403,对输出结果和预测结果进行比较。
在可能的实现方式中,对输出结果和预测结果进行比较之前,先执行下述步骤:响应于激励生成预测结果。
可选地,预测结果由芯片验证系统包括的比较模块中的参考模型获得。
步骤404,响应于输出结果与所述预测结果不相符,生成错误信息集合,错误信息集合包括至少一个错误信息。
在本申请实施例中,错误信息用于指示输出结果存在的错误。
步骤403至步骤404可以由芯片验证系统中的比较模块执行。
步骤405,基于错误信息集合中的各个错误信息的类别,生成与各个错误信息相对应的问题描述信息。
步骤405可以由芯片验证系统中的分类模块执行。
综上所述,本申请实施例提供的技术方案中,通过对芯片验证过程中产生的错误信息进行分类,得到导致该错误信息的原因,本申请实施例可以实时的完成对错误信息的自动分类,使得技术人员可以根据错误信息对应的问题类型快速定位出芯片设计中出现的问题,极大的减少了Debug的时间,提升了芯片验证的效率。
在可能的实现方式中,通过分类器对错误信息集合中的各个错误信息进行分类,得到各个错误信息对应的问题类型。如图5所示,分类器可以通过如下方式进行训练得到:
步骤501,获取分类器的训练数据。
在本申请实施例中,训练数据包括至少一个训练错误信息和该训练错误信息对应的标准问题类型。
步骤502,确定训练数据的复杂度。若训练数据中的目标训练错误信息的复杂度不满足目标条件,则从步骤503开始执行;若训练数据中的目标训练错误信息的复杂度满足目标条件,则从步骤504开始执行。
目标条件可以由技术人员根据经验设定,当目标训练错误信息的复杂度不满足目标条件时,表明该目标训练错误信息的复杂度较高,需要降低其复杂度;当目标训练错误信息的复杂度满足目标条件时,表明该目标训练错误信息的复杂度较低,不需要降低其复杂度。
步骤503,对目标训练错误信息进行归一化。
在本申请实施例中,归一化后的目标训练错误信息的复杂度满足目标条件。
步骤504,基于核函数和训练数据,得到分类器。
在本申请实施例中,核函数可以选取RBF(Radial Basic Function,径向基函数)。RBF是一种沿径向对称的标量函数,如图6所示,其示出了RBF的变化曲线图,图6(a)示出了当σ=1,x’=0时的RBF(k(x,0))随x的二维变化曲线图;图6(b)示出了当σ=5,x’=0时的RBF(k(x,0))随x的二维变化曲线图;图6(c)示出了当σ=1,x’=0时的RBF(k(x,0))随x的三维变化示意图;图6(d)示出了当σ=5,x’=0时的RBF(k(x,0))随x的三维变化示意图。
RBF的数学定义可以通过如下公式表示:
其中,k(x,x’)是指RBF;x’是RBF的中心;||x-x′||2表示了两个特征向量之间的平方欧几里得距离;σ是RBF的宽度函数,其用于控制RBF的径向作用范围。
将RBF作为核函数,可以将分类器中需要优化的参数作为惩罚因子。由于训练数据是非线性不可分的,分类器需要先在低维空间完成计算,然后通过核函数将训练数据映射到高维特征空间,最终在高维空间构造出最优分离平面,从而实现训练数据的非线性分类。
步骤505,通过测试数据对训练后的分类器进行评估,得到测试结果。
步骤506,检测测试结果是否满足预设条件。若测试结果不满足预设条件,则执行步骤507;若测试结果满足预设条件,则执行步骤508。
预设结果可以是正确率大于预设阈值,该预设阈值可以由技术人员根据经验设置,例如,该预设阈值为90%。
步骤507,对训练后的分类器进行参数优化;并再次从步骤505开始执行,直至测试结果满足预设条件。
没有经过参数优化的分类器分类准确率较低,因此在参数选择时,可以利用PSO(Particle Swarm Optimization,粒子群优化算法)进行参数优化,从而提高分类器分类准确率。PSO是一种并行算法,PSO初始化为随机解,然后通过迭代找到最优解,其基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。
步骤508,输出分类器。
需要说明的是,上述实施例提供的方法与系统实施例属于同一构思,其具体实现过程可参见系统实施例,这里不再赘述。
请参考图7,其示出了本申请一个实施例提供的终端的结构框图。可选地,本申请实施例中的终端是PC(Personal Computer,个人计算机)、笔记本电脑、台式电脑、可穿戴智能设备等电子设备,本申请实施例对此不作限定。
本申请实施例中的终端可以包括一个或多个如下部件:处理器710和存储器720。
处理器710可以包括一个或者多个处理核心。处理器710利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器720内的指令、程序、代码集或指令集,以及调用存储在存储器720内的数据,执行终端的各种功能和处理数据。可选地,处理器710可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器710可集成中央处理器(CentralProcessing Unit,CPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统和应用程序等;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器710中,单独通过一块芯片进行实现。
可选地,处理器710执行存储器720中的程序指令时实现上述各个方法实施例提供的芯片验证方法。
存储器720可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器720包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器720可用于存储指令、程序、代码、代码集或指令集。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令、用于实现上述各个方法实施例的指令等;存储数据区可存储根据终端的使用所创建的数据等。
上述终端的结构仅是示意性的,在实际实现时,终端可以包括更多或更少的组件,比如:显示屏等,本实施例对此不作限定。
本领域技术人员可以理解,图7中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由计算机设备的处理器加载并执行以实现上述芯片验证方法实施例中的各个步骤。
在示例性实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如上述方面或上述方面的各种可选实现方式中提供的芯片验证方法。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种芯片验证系统,其特征在于,所述系统包括:
激励生成模块,用于根据预设的功能场景生成相应的激励;
待测模块,用于响应于所述激励生成输出结果,所述输出结果用于表示所述待测模块在所述预设的功能场景下的测试结果;
比较模块,用于对所述输出结果和预测结果进行比较,并且响应于所述输出结果与所述预测结果不相符,生成错误信息集合,其中,所述错误信息集合包括至少一个错误信息,所述错误信息用于指示所述输出结果存在的错误;
分类模块,用于获取分类器的训练数据,所述训练数据包括至少一个训练错误信息和所述训练错误信息对应的标准问题描述信息;确定所述训练数据的复杂度;响应于所述训练数据中的目标训练错误信息的复杂度不满足目标条件,对所述目标训练错误信息进行归一化,归一化后的所述目标训练错误信息的复杂度满足所述目标条件;基于核函数和所述训练数据,得到所述分类器;所述核函数用于将非线性不可分的所述训练数据映射至高维特征空间,实现所述训练数据的非线性分类;通过测试数据对训练后的所述分类器进行评估,得到测试结果;响应于所述测试结果不满足预设条件,对训练后的所述分类器进行参数优化;并再次从所述通过测试数据对训练后的所述分类器进行评估,得到测试结果的步骤开始执行,直至所述测试结果满足所述预设条件;基于所述错误信息集合中的各个错误信息的类别,生成与所述各个错误信息相对应的问题描述信息。
2.根据权利要求1所述的系统,其特征在于,所述比较模块包括参考模型;所述系统还包括:驱动模块、接口模块、监视模块;
所述激励生成模块,用于将所述激励发送给所述驱动模块;
所述驱动模块,用于驱动所述接口模块将所述激励发送给所述待测模块;
所述监视模块,用于监视到所述接口模块上存在所述激励,从所述接口模块获取所述激励;将所述激励发送给所述参考模型;
所述参考模型,用于响应于所述激励生成所述预测结果。
3.根据权利要求1所述的系统,其特征在于,所述激励生成模块包括至少一个激励生成器,所述待测模块包括至少一个待测单元;所述系统还包括:接口模块、驱动模块;
所述激励生成器,用于根据目标待测单元的目标功能场景生成目标激励;将所述目标激励发送给所述驱动模块;
所述驱动模块,用于驱动所述接口模块将所述目标激励发送给所述目标待测单元;
所述目标待测单元,用于响应于所述目标激励生成目标输出结果,所述目标输出结果用于表示所述目标待测单元在所述目标功能场景下的测试结果。
4.根据权利要求3所述的系统,其特征在于,所述系统还包括:仲裁模块;
所述激励生成模块,用于将所述至少一个激励生成器生成的至少一个激励发送给所述仲裁模块;
所述仲裁模块,用于确定所述至少一个激励的优先级;将所述至少一个激励中优先级最高的激励发送给所述驱动模块。
5.一种芯片验证方法,其特征在于,应用于芯片验证系统中,所述方法包括:
根据预设的功能场景生成相应的激励;
响应于所述激励生成输出结果,所述输出结果用于表示所述芯片验证系统中的待测模块在所述预设的功能场景下的测试结果;
对所述输出结果和预测结果进行比较;
响应于所述输出结果与所述预测结果不相符,生成错误信息集合,其中,所述错误信息集合包括至少一个错误信息,所述错误信息用于指示所述输出结果存在的错误;
获取分类器的训练数据,所述训练数据包括至少一个训练错误信息和所述训练错误信息对应的标准问题描述信息;确定所述训练数据的复杂度;响应于所述训练数据中的目标训练错误信息的复杂度不满足目标条件,对所述目标训练错误信息进行归一化,归一化后的所述目标训练错误信息的复杂度满足所述目标条件;基于核函数和所述训练数据,得到所述分类器;所述核函数用于将线性不可分的所述训练数据映射至高维特征空间,实现所述训练数据的非线性分类;通过测试数据对训练后的所述分类器进行评估,得到测试结果;响应于所述测试结果不满足预设条件,对训练后的所述分类器进行参数优化;并再次从所述通过测试数据对训练后的所述分类器进行评估,得到测试结果的步骤开始执行,直至所述测试结果满足所述预设条件;
通过所述分类器基于所述错误信息集合中的各个错误信息的类别,生成与所述各个错误信息相对应的问题描述信息。
6.根据权利要求5所述的方法,其特征在于,所述对所述输出结果和预测结果进行比较之前,还包括:
响应于所述激励生成所述预测结果。
7.根据权利要求5所述的方法,其特征在于,所述预设的功能场景包括目标待测单元的目标功能场景;
所述根据预设的功能场景生成相应的激励,包括:
根据所述目标待测单元的目标功能场景生成目标激励;
所述响应于所述激励生成输出结果,包括:
响应于所述目标激励生成目标输出结果,所述目标输出结果用于表示所述目标待测单元在所述目标功能场景下的测试结果。
8.根据权利要求7所述的方法,其特征在于,
所述根据预设的功能场景生成相应的激励,包括:
根据所述预设的功能场景生成至少一个激励;
所述响应于所述激励生成输出结果,包括:
确定所述至少一个激励的优先级;
响应于所述至少一个激励中优先级最高的激励,生成所述输出结果。
9.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求5至8任一项所述的芯片验证方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求5至8任一项所述的芯片验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838624.6A CN111983429B (zh) | 2020-08-19 | 2020-08-19 | 芯片验证系统、芯片验证方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838624.6A CN111983429B (zh) | 2020-08-19 | 2020-08-19 | 芯片验证系统、芯片验证方法、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111983429A CN111983429A (zh) | 2020-11-24 |
CN111983429B true CN111983429B (zh) | 2023-07-18 |
Family
ID=73434851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010838624.6A Active CN111983429B (zh) | 2020-08-19 | 2020-08-19 | 芯片验证系统、芯片验证方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111983429B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560393B (zh) * | 2020-12-17 | 2023-01-24 | 中科芯云微电子科技有限公司 | Eda软件工具的比对验证方法及装置 |
CN113220518A (zh) * | 2021-05-19 | 2021-08-06 | 北京奕斯伟计算技术有限公司 | 芯片验证系统、芯片验证方法 |
CN113407408B (zh) * | 2021-06-11 | 2024-01-26 | 海光信息技术股份有限公司 | 数据传输规则验证方法、装置、设备和存储介质 |
CN113312879B (zh) * | 2021-07-28 | 2021-11-09 | 北京燧原智能科技有限公司 | 芯片电路功能验证系统、方法、设备及存储介质 |
CN113704126A (zh) * | 2021-09-02 | 2021-11-26 | 西安紫光国芯半导体有限公司 | 验证方法及其装置、计算机存储介质以及处理器 |
CN115510782B (zh) * | 2022-08-31 | 2024-04-26 | 芯华章科技股份有限公司 | 定位验证错误的方法、电子设备和存储介质 |
CN117849595B (zh) * | 2024-03-07 | 2024-05-07 | 山海芯半导体科技(上海)有限公司 | 一种芯片兼容性验证方法、装置、系统及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289401A (zh) * | 2010-06-21 | 2011-12-21 | 北京中星微电子有限公司 | 一种芯片系统级验证的方法、装置及系统 |
CN108021767A (zh) * | 2017-12-21 | 2018-05-11 | 郑州云海信息技术有限公司 | 一种用于芯片仿真验证的信息记录方法及系统 |
CN109802864A (zh) * | 2017-11-16 | 2019-05-24 | 中兴通讯股份有限公司 | 芯片设计验证方法、装置及芯片测试器 |
CN110781637A (zh) * | 2019-10-14 | 2020-02-11 | 珠海泰芯半导体有限公司 | 一种芯片验证辅助环境以及芯片验证系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6982556B2 (en) * | 2003-06-06 | 2006-01-03 | Yieldboost Tech, Inc. | System and method for classifying defects in and identifying process problems for an electrical circuit |
CN104391784B (zh) * | 2014-08-27 | 2017-05-17 | 北京中电华大电子设计有限责任公司 | 一种基于仿真的故障注入攻击方法和装置 |
CN104601255B (zh) * | 2014-12-31 | 2017-07-07 | 曙光信息产业(北京)有限公司 | 线卡的测试方法和装置 |
CN104767692B (zh) * | 2015-04-15 | 2018-05-29 | 中国电力科学研究院 | 一种网络流量分类方法 |
CN106445800A (zh) * | 2015-08-05 | 2017-02-22 | 深圳市中兴微电子技术有限公司 | 一种芯片验证的方法和装置 |
CN106940428B (zh) * | 2016-01-04 | 2020-11-03 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN107038280B (zh) * | 2017-03-10 | 2020-09-15 | 烽火通信科技股份有限公司 | 一种软硬件协同仿真的验证系统及其方法 |
CN107370752B (zh) * | 2017-08-21 | 2020-09-25 | 北京工业大学 | 一种高效的远控木马检测方法 |
US11275975B2 (en) * | 2017-10-05 | 2022-03-15 | Applied Materials, Inc. | Fault detection classification |
CN108628741B (zh) * | 2018-04-10 | 2021-10-01 | 平安科技(深圳)有限公司 | 网页页面测试方法、装置、电子设备和介质 |
CN108763743B (zh) * | 2018-05-28 | 2022-08-05 | 天津芯海创科技有限公司 | 验证平台、方法及电子设备 |
CN109684672B (zh) * | 2018-11-30 | 2022-12-02 | 上海芯钛信息科技有限公司 | 一种soc芯片系统级验证系统及方法 |
CN110781303A (zh) * | 2019-10-28 | 2020-02-11 | 佰聆数据股份有限公司 | 一种短文本分类方法及系统 |
CN111027619B (zh) * | 2019-12-09 | 2022-03-15 | 华中科技大学 | 一种基于忆阻器阵列的K-means分类器及其分类方法 |
CN111079922B (zh) * | 2019-12-17 | 2023-04-18 | 深圳鲲云信息科技有限公司 | 基于axi-apb的神经网络交互系统、方法、服务器及存储介质 |
CN111190786A (zh) * | 2019-12-31 | 2020-05-22 | Oppo广东移动通信有限公司 | 基于uvm的测试构架、测试平台及测试方法 |
-
2020
- 2020-08-19 CN CN202010838624.6A patent/CN111983429B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289401A (zh) * | 2010-06-21 | 2011-12-21 | 北京中星微电子有限公司 | 一种芯片系统级验证的方法、装置及系统 |
CN109802864A (zh) * | 2017-11-16 | 2019-05-24 | 中兴通讯股份有限公司 | 芯片设计验证方法、装置及芯片测试器 |
CN108021767A (zh) * | 2017-12-21 | 2018-05-11 | 郑州云海信息技术有限公司 | 一种用于芯片仿真验证的信息记录方法及系统 |
CN110781637A (zh) * | 2019-10-14 | 2020-02-11 | 珠海泰芯半导体有限公司 | 一种芯片验证辅助环境以及芯片验证系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111983429A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111983429B (zh) | 芯片验证系统、芯片验证方法、终端及存储介质 | |
US8984496B2 (en) | Extensible internal representation of systems with parallel and sequential implementations | |
KR20210149045A (ko) | 인공 지능 칩 검증 | |
US11093683B2 (en) | Test pattern generation systems and methods | |
EP3432229A1 (en) | Ability imparting data generation device | |
US10970449B2 (en) | Learning framework for software-hardware model generation and verification | |
US20140201723A1 (en) | Systems and Methods for Evaluating Stability of Software Code for Control Systems | |
US6339837B1 (en) | Hybrid method for design verification | |
Reiter et al. | Reliability assessment of safety-relevant automotive systems in a model-based design flow | |
CN108984350B (zh) | 一种中断处理功能验证系统和方法 | |
US20130086538A1 (en) | Design Verification System and Method Using Constrained Random Test Parameter Selection | |
CN112731117A (zh) | 芯片的自动验证方法和系统,及存储介质 | |
US8065641B2 (en) | Automatically creating manufacturing test rules pertaining to an electronic component | |
US7447619B2 (en) | Apparatus and method for composite behavioral modeling for multiple-sourced integrated circuits | |
CN115562931A (zh) | 处理器调试模块验证方法、装置、电子设备和存储介质 | |
CN113434390B (zh) | 一种基于变异的fpga逻辑综合工具模糊测试方法 | |
US20210357811A1 (en) | Machine learning estimation method and information processing device | |
CN110988661B (zh) | 一种fpga原型验证开发板时分分析系统、方法、介质及终端 | |
US20130054218A1 (en) | Method and Software Tool for Automatically Testing a Circuit Design | |
US9495489B2 (en) | Correlation of test results and test coverage for an electronic device design | |
CN113590458A (zh) | 用于检查技术系统的方法和设备 | |
Filipovikj et al. | Specifying industrial system requirements using specification patterns: A case study of evaluation with practitioners | |
Igor et al. | Development of a Hardware Module for Programming Microcontrollers Based on the Cortex-M Architecture | |
Srijanto | Implementing Neural Network-Based Face Detection onto A Reconfigurable Computing System Using CHAMPION | |
Subero | Embedded systems overview |
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 |