芯片验证方法、终端设备、验证平台以及存储介质

文档序号:7395 发布日期:2021-09-17 浏览:28次 英文

芯片验证方法、终端设备、验证平台以及存储介质

技术领域

本发明涉及芯片验证

技术领域

,特别涉及一种芯片验证方法、终端设备、验证平台以及存储介质。

背景技术

利用FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)进行原型验证,是芯片验证中重要的一环,例如:利用FPGA做大流量的长时间的测试,利用FPGA与各种厂家的设备作对接测试。

现有的验证方法中,利用FPGA对待验证芯片进行验证,并由技术人员手动对验证过程中的参数进行记录,使得芯片验证过程操作复杂,芯片验证效率较低。

发明内容

本发明的主要目的是提供一种芯片验证方法、终端设备、验证平台以及存储介质,旨在解决现有技术中芯片验证过程操作复杂,芯片验证效率较低的技术问题。

为实现上述目的,本发明提出一种芯片验证方法,用于终端设备,所述方法包括以下步骤:

基于目标验证计划,创建目标测试用例;

将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,以获得测试数据;

从所述FPGA测试装置获取所述测试数据;

将所述测试数据发送至验证平台,以使所述验证平台,基于所述测试数据,获得所述待测试芯片的功能覆盖率;

基于接收到的所述验证平台返回的所述功能覆盖率,获得所述待测试芯片的验证结果。

可选的,所述将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,以获得测试数据的步骤,包括:

将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,并收集测试过程中的所述测试数据,以及利用测试数据,生成测试文件;

所述从所述FPGA测试装置获取所述测试数据的步骤,包括:

从所述FPGA测试装置获取所述测试文件,并从所述测试文件中提取所述测试数据。

可选的,所述从所述FPGA测试装置获取所述测试文件的步骤之前,所述方法还包括:

接收所述FPGA测试装置发送的反馈信息;

所述从所述FPGA测试装置获取所述测试数据的步骤,包括:

在所述反馈信息为所述待测试芯片测试成功时,从所述FPGA测试装置获取所述测试文件。

可选的,所述接收所述FPGA测试装置发送的反馈信息的步骤之后,所述方法还包括:

在所述反馈信息为所述待测试芯片测试失败时,从所述FPGA测试装置获取测试过程信息;

利用所述测试过程信息,对所述目标验证计划进行修改,以获得修改后的验证计划;

利用所述修改后的验证计划和所述目标测试用例,创建新目标测试用例;

利用所述新的目标测试用例更新所述目标测试用例,并返回执行所述将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置的步骤,直到所述反馈信息为所述待测试芯片测试成功时,继续执行所述从所述FPGA测试装置获取所述测试文件的步骤。

此外,为实现上述目的,本发明还提出了一种芯片验证方法,用于验证平台,所述方法包括以下步骤:

接收终端设备发送的测试数据,所述测试数据是终端设备从现场可编程逻辑门阵列FPGA测试装置获取的,所述测试数据是FPGA测试装置利用所述终端设备发送的目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试获得,所述目标测试用例是基于目标验证计划创建的;

基于所述测试数据,获得所述待测试芯片的功能覆盖率;

将所述功能覆盖率发送至所述终端设备,以使所述终端设备基于所述功能覆盖率,获得所述待测试芯片的验证结果。

可选的,所述验证平台为EDA验证平台;所述基于所述测试数据,获得所述待测试芯片的功能覆盖率的步骤之前,所述方法还包括:

基于所述目标验证计划,创建功能覆盖率模型;

所述基于所述测试数据,获得所述待测试芯片的功能覆盖率的步骤,包括:

基于所述测试数据和所述功能覆盖率模型,获得所述功能覆盖率。

可选的,所述基于所述测试数据和所述功能覆盖率模型,获得所述功能覆盖率的步骤,包括:

从所述测试数据中提取所述待检测芯片中真实覆盖点的值;

利用所述真实覆盖点的值,对所述功能覆盖率模型中的仿真覆盖点进行赋值;

利用目标函数对所述被赋值的仿真覆盖点进行采样,以获得所述功能覆盖率。

可选的,所述目标函数为EAD验证平台中的sample函数。

此外,为实现上述目的,本发明还提出了一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行芯片验证程序,所述芯片验证程序被所述处理器执行时实现如上述任一项所述的芯片验证方法的步骤。

此外,为实现上述目的,本发明还提出了一种验证平台,所述验证平台包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行芯片验证程序,所述芯片验证程序被所述处理器执行时实现如上述任一项所述的芯片验证方法的步骤。

此外,为实现上述目的,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有芯片验证程序,所述芯片验证程序被处理器执行时实现如上述任一项所述的芯片验证方法的步骤。

本发明技术方案提出了一种芯片验证方法,用于终端设备,所述方法包括以下步骤:基于目标验证计划,创建目标测试用例;将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,以获得测试数据;从所述FPGA测试装置获取所述测试数据;将所述测试数据发送至验证平台,以使所述验证平台,基于所述测试数据,获得所述待测试芯片的功能覆盖率;基于接收到的所述验证平台返回的所述功能覆盖率,获得所述待测试芯片的验证结果。

现有的验证方法中,FPGA测试装置无法获取到待测试芯片的功能覆盖率,需要技术人员手动对验证过程中的参数进行记录,并对记录的参数进行手动分析,以获得功能覆盖率,这使得芯片验证过程操作复杂,芯片验证效率较低。在本申请中,终端设备自动从FPGA测试装置获取测试数据,并由验证平台自动对测试数据进行分析,以获得功能覆盖率,不需要技术人员手动参与功能覆盖率的获得过程,使得芯片验证过程操作简单,芯片验证效率较高。所以,利用本发明的芯片验证方法,达到了提高芯片验证效率的技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;

图2为本发明实施例方案涉及的硬件运行环境的验证平台结构示意图

图3为本发明芯片验证方法第一实施例的流程示意图;

图4为本发明待测试芯片第一实施例结构示意图;

图5为本发明FPGA测试装置第一实施例结构示意图;

图6为本发明芯片验证方法第二实施例的流程示意图;

图7为本发明芯片验证装置第一实施例的结构框图;

图8为本发明芯片验证装置第二实施例的结构框图;。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。

通常,终端设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的芯片验证程序,所述芯片验证程序配置为实现如前所述的芯片验证方法的步骤。

处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关芯片验证方法操作,使得芯片验证方法模型可以自主训练学习,提高效率和准确度。

存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的芯片验证方法。

在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。

通信接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。

电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

参照图2,图2为本发明实施例方案涉及的硬件运行环境的验证平台结构示意图。

所述验证平台包括中央处理单元(CPU)401、包括随机存取存储器(RAM)402和只读存储器(ROM)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。所述验证平台还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。

所述基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中所述显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。所述基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备407通过连接到系统总线405的大容量存储控制器连接到中央处理单元401。所述大容量存储设备407及其相关联的计算机可读介质为验证平台提供非易失性存储。也就是说,所述大容量存储设备407可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。

上述的系统存储器404和大容量存储设备407可以统称为存储器。

根据本申请的各种实施例,所述验证平台还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即验证平台可以通过连接在所述系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有芯片验证程序,所述芯片验证程序被处理器执行时实现如上文所述的芯片验证方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个终端设备和一个验证平台上执行,或者在位于一个地点的多个终端设备和多个验证平台上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端设备和多个验证平台上执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。

基于上述硬件结构,提出本发明芯片验证方法的实施例。

参照图3,图3为本发明芯片验证方法第一实施例的流程示意图,所述方法用于终端设备,所述方法包括以下步骤:

步骤S11:基于目标验证计划,创建目标测试用例。

需要说明的是,本发明的执行主体是终端设备和验证平台,终端设备安装有对应的芯片验证程序,验证平台安装有对应的芯片验证程序。终端设备和验证平台分别执行对应的芯片验证程序时,实现本发明的芯片验证方法的步骤。

具体的,可以是根据用户设定的验证计划,即所述目标验证计划,创建出对待测试芯片进行验证的测试用例,即所述目标测试用例。验证计划不同,创建的测试用例也可能不同,用户可以基于需求设定对应的验证计划,以创建对应的测试用例。

步骤S12:将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,以获得测试数据。

需要说明的是,终端设备获得目标测试用例之后,需要将目标测试用例发送至FPGA测试装置,由FPGA测试装置执行目标测试用例,实现对待测试芯片的测试。

进一步的,所述将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,以获得测试数据的步骤,包括:将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,并收集测试过程中的所述测试数据,以及利用测试数据,生成测试文件。

在待测试芯片在被测试的过程中,待测试芯片从信号源头采样的信号即为所述测试数据,待测试芯片将信号(测试数据)以文件的方式存储到寄存器中。因为测试平台和FPGA测试装置无法直接对接,需要通过测试文件的来传递测试数据。

其中,从信号源头采集的信号有如下形式:

1、待测试芯片的寄存器的值,根据寄存器的值来检查某种配置情况下的测试点是否覆盖到。

2、芯片内或环境中激励报文结构中的某些域,比如采样以太网报文中的报文类型字段来检查ARP类型的报文是否覆盖到。

3、芯片内总线/模块的某些信号,比如采样AXI总线里面的ARBURST信号来判断是否覆盖到FIXED类型的读操作。

4、参考模型的里面的某些数据,比如以太网帧FCS校验结果是否正确。

在一实施例中,寄存器为待测试芯片的寄存器,待测试芯片的寄存器是静态配置的,即先配置好,再进行测试,在测试过程中不允许动态配置,否则功能会错误。

在另一实施例中,待测试芯片内部信号或需要动态配置的寄存器通过简单的读取寄存器的方法是不行的,因为内部信号随时可能会变化,读取一次寄存器只能得到一次值,另外要采样的信号可能不是寄存器。在待测试芯片为SOC芯片(系统级芯片)时,可以在待测试芯片中增加一个收集单元,其具体结构参照图4,图4为本发明待测试芯片第一实施例结构示意图。

在图4中,在DDR地址空间中划分出一部分空间来存储测试过程中的测试数据。把信号源源头单元连接到收集单元(虚线框为收集单元),收集单元在合适的时候采样信号,并按一定的格式把数据写入分配的DDR空间中。

基于上一实施例的结构,为了不影响芯片验证,在需要收集测试数据时打开收集单元的功能,不需要收集测试数据时,关闭收集单元的功能,避免对待测试芯片的验证产生影响。

另外,为了避免数据量太大很快把DDR写满,在收集单元中添加时间段的控制,例如,把前面的100万个cycle的数据写入DDR,更进一步采样的时段长度可以通过寄存器配置。也可以添加间隔控制,例如,每个1000个cycle写入一次数据,或者只有在信号发生变化的时候才写DDR。还可以添加分配空间写满时候的控制,即分配的空间写满后即停止功能覆盖率数据写DDR的动作以防止已写入的数据被覆盖。还可以根据测试数据的收集需求,收集信号转换序列相关的信息,例如,想确认某个信号是否出现过从1到3的这样一个转换。

在另一实施例中,待测试芯片设计本身不是SOC芯片,即芯片内部没有CPU,可以采用新的结构来设计测试装置,参照图5,图5为本发明FPGA测试装置第一实施例结构示意图。

在图5中,增加了收集单元组(虚线框内的部分)和一个专用的CPU(和上述实施例不同,该实施例中并没有把收集单元挂到芯片的原有总线上)。收集单元、DDR控制器和DDRPHY以及DDR颗粒的作用和上述实施例中的作用相同。这里添加了一个专用的CPU和专用CPU接口。当测试数据被写入DDR后,那么可以通过专用CPU发起读数据操作,CPU接口模块实现专用CPU时序和命令的解析,并把命令转换成DDR控制器的操作来读取DDR颗粒里面的数据。其它过程均相同。该方法对正常的测试没有影响,是一种较好的方法。

步骤S13:从所述FPGA测试装置获取所述测试数据。

步骤S14:将所述测试数据发送至验证平台,以使所述验证平台,基于所述测试数据,获得所述待测试芯片的覆盖率。

步骤S15:基于接收到的所述验证平台返回的所述功能覆盖率,获得所述待测试芯片的验证结果。

由于测试数据是以测试文件的方式传输的,所以所述从所述FPGA测试装置获取所述测试数据的步骤,包括:从所述FPGA测试装置获取所述测试文件,并从所述测试文件中提取所述测试数据。以将测试数据发送到所述测试平台。在另一实施例中,也可以是直接将测试文件发送给测试平台,由测试平台从测试文件中提取测试数据。

在上述多种实施例中,测试文件的存储格式可能不同,需要终端设备从FPGA测试装置的待测试芯片的寄存器中,获取所述测试文件。

进一步的,所述从所述FPGA测试装置获取所述测试数据的步骤之前,所述方法还包括:接收所述FPGA测试装置发送的反馈信息;所述从所述FPGA测试装置获取所述测试数据的步骤,包括:在所述反馈信息为所述待测试芯片测试成功时,从所述FPGA测试装置获取所述测试数据;或,

在所述反馈信息为所述待测试芯片测试失败时,从所述FPGA测试装置获取测试过程信息;利用所述测试过程信息,对所述目标验证计划进行修改,以获得修改后的验证计划;利用所述修改后的验证计划和所述目标测试用例,创建新目标测试用例;利用所述新的目标测试用例更新所述目标测试用例,并返回执行所述将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置的步骤,直到所述反馈信息为所述待测试芯片测试成功时,继续执行所述从所述FPGA测试装置获取所述测试数据的步骤。

终端设备需要确定待测试芯片的测试过程是否成功完成,即目标测试用例是否顺利执行完成,只有在目标测试用例顺利执行完成时(所述待测试芯片测试成功),获得的测试文件中的测试数据才有参考意义,若是目标测试用例未顺利执行完成,获得的测试文件中的测试数据并没有意义。可以通过接收FPGA测试装置的反馈信息,来基于反馈信息(反馈信息为所述待测试芯片测试失败或所述待测试芯片测试成功),确定目标测试用例是否顺利执行完成。在另一实施例中,也可以通过终端设备与FPGA测试装置发送简单的通信信号,以确定所述待测试芯片是否测试成功。

当目标测试用例未顺利执行完成时,即所述待测试芯片测试失败时,需要对所述目标验证计划进行修改,以获得修改后的验证计划;利用所述修改后的验证计划和所述目标测试用例,创建新目标测试用例,以利用所述新的目标测试用例更新所述目标测试用例,并返回执行所述将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置的步骤,直到所述反馈信息为所述待测试芯片测试成功时,才能获取到有意义的测试文件,进一步得到有意义的测试数据。

需要说明的是,测试过程信息,可以是在待测试芯片测试失败时,获取到的待测试芯片在测试过程中的信号,用于确定测试失败的具体原因。

在获得功能覆盖率之后,基于功能覆盖率,获得所述待测试芯片的验证结果。

本发明技术方案提出了一种芯片验证方法,用于终端设备,所述方法包括以下步骤:基于目标验证计划,创建目标测试用例;将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,以获得测试数据;从所述FPGA测试装置获取所述测试数据;将所述测试数据发送至验证平台,以使所述验证平台,基于所述测试数据,获得所述待测试芯片的功能覆盖率;基于接收到的所述验证平台返回的所述功能覆盖率,获得所述待测试芯片的验证结果。

现有的验证方法中,FPGA测试装置无法获取到待测试芯片的功能覆盖率,需要技术人员手动对验证过程中的参数进行记录,并对记录的参数进行手动分析,以获得功能覆盖率,这使得芯片验证过程操作复杂,芯片验证效率较低。在本申请中,终端设备自动从FPGA测试装置获取测试数据,并由验证平台自动对测试数据进行分析,以获得功能覆盖率,不需要技术人员手动参与功能覆盖率的获得过程,使得芯片验证过程操作简单,芯片验证效率较高。所以,利用本发明的芯片验证方法,达到了提高芯片验证效率的技术效果。

参照图6,图6为发明芯片验证方法第二实施例的流程示意图,所述方法用于验证平台,所述方法包括以下步骤:

步骤S21:接收终端设备发送的测试数据,所述测试数据是终端设备从现场可编程逻辑门阵列FPGA测试装置获取的,所述测试数据是FPGA测试装置利用所述终端设备发送的目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试获得,所述目标测试用例是基于目标验证计划创建的。

步骤S22:基于所述测试数据,获得所述待测试芯片的覆盖率。

步骤S23:将所述覆盖率发送至所述终端设备,以使所述终端设备基于所述功能覆盖率,获得所述待测试芯片的验证结果。

参照上文终端设备的描述,此处不再赘述。

进一步的,所述验证平台为EDA验证平台;所述基于所述测试数据,获得所述待测试芯片的覆盖率的步骤之前,所述方法还包括:基于所述目标验证计划,创建功能覆盖率模型;相应的,所述基于所述测试数据,获得所述待测试芯片的覆盖率的步骤,包括:基于所述测试数据和所述功能覆盖率模型,获得所述覆盖率。

需要说明的是,本申请的EDA验证平台是用SystemVerilog语言编写的,并且需要用VCS等仿真器来仿真,它的作用仅仅是用来获得所述覆盖率(功能覆盖率),而不需要做常规EDA验证平台中的参考模型、Driver、Monitor和Scoreboard等功能。功能覆盖率模型和常规的EDA验证平台中的完全一样的,只是本申请中,EDA验证平台获取的测试数据时终端设备从FPGA测试装置获取的。

具体的,所述基于所述测试数据和所述功能覆盖率模型,获得所述覆盖率的步骤,包括:从所述测试数据中提取所述待检测芯片中真实覆盖点的值;利用所述真实覆盖点的值,对所述功能覆盖率模型中的仿真覆盖点进行赋值;利用目标函数对所述被赋值的仿真覆盖点进行采样,以获得所述覆盖率。其中,仿真覆盖点是功能覆盖率模型中与真实覆盖点是具有相关关系的点。

目标函数可以是EDA验证平台中的sample函数,通过该函数,对被赋值的仿真覆盖点进行采样,以获得覆盖率。

参照图7,图7为本发明芯片验证装置第一实施例的结构框图,所述装置用于终端设备,装置包括:

创建模块10,用于基于目标验证计划,创建目标测试用例;

第一发送模块20,用于将所述目标测试用例发送到现场可编程逻辑门阵列FPGA测试装置,以使所述FPGA测试装置利用所述目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试,以获得测试数据;

获取模块30,用于从所述FPGA测试装置获取所述测试数据;

第二发送模块40,用于将所述测试数据发送至验证平台,以使所述验证平台,基于所述测试数据,获得所述待测试芯片的覆盖率;

第一接收模块50,用于基于接收到的所述验证平台返回的所述功能覆盖率,获得所述待测试芯片的验证结果。

参照图8,图8为本发明芯片验证装置第一实施例的结构框图,所述装置用于验证平台,装置包括:

第二接收模块60,用于接收终端设备发送的测试数据,所述测试数据是终端设备从现场可编程逻辑门阵列FPGA测试装置获取的,所述测试数据是FPGA测试装置利用所述终端设备发送的目标测试用例,对所述FPGA测试装置中的待测试芯片进行测试获得,所述目标测试用例是基于目标验证计划创建的;

获得模块70,用于基于所述测试数据,获得所述待测试芯片的覆盖率;

第三发送模块80,用于将所述覆盖率发送至所述终端设备,以使所述终端设备基于所述功能覆盖率,获得所述待测试芯片的验证结果。

以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种服务器RAS功能测试的方法、装置、设备和介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!