CN111859832B - 一种芯片仿真验证方法、装置及相关设备 - Google Patents
一种芯片仿真验证方法、装置及相关设备 Download PDFInfo
- Publication number
- CN111859832B CN111859832B CN202010686252.XA CN202010686252A CN111859832B CN 111859832 B CN111859832 B CN 111859832B CN 202010686252 A CN202010686252 A CN 202010686252A CN 111859832 B CN111859832 B CN 111859832B
- Authority
- CN
- China
- Prior art keywords
- functional module
- information
- chip
- module
- resource
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/08—HW-SW co-design, e.g. HW-SW partitioning
Abstract
本申请公开了一种芯片仿真验证方法,包括资源管理中心接收待测芯片中各功能模块发送的注册请求;根据所述注册请求获得各功能模块信息,并根据所述功能模块信息对各所述功能模块进行注册;接收各所述功能模块发送的查询请求;根据所述查询请求向所述功能模块反馈目标功能模块信息,以使各所述功能模块根据所述目标功能模块信息与目标功能模块建立连接,生成拓扑网络;基于所述拓扑网络对各所述功能模块进行仿真验证;该芯片仿真验证方法可以更为有效地缩短芯片开发周期,提高芯片开发效率。本申请还公开了一种芯片仿真验证装置、设备以及计算机可读存储介质,均具有上述有益效果。
Description
技术领域
本申请涉及硬件技术领域,特别涉及一种芯片仿真验证方法,还涉及一种芯片仿真验证装置、设备以及计算机可读存储介质。
背景技术
随着芯片的功能复杂性不断增加,芯片设计中的任何缺陷都会导致整个芯片的设计失败,因此,在流片前,必须对芯片的系统功能进行验证,其中,软硬件协同验证技术越来越受到重视。所谓软硬件协同验证是指在硬件的物理原型生产之前,通过系统模型运行软件,以检查硬件设计中的错误、软件中的缺陷以及软/硬件接口中的错误,其主要目的是验证系统级芯片软/硬件设计的正确性,以及在芯片流片之前开发验证应用软件。
目前,软硬件协同验证都是在FPGA(Field-Programmable Gate Array,现场可编程门阵列)原型验证阶段进行,使用FPGA来模拟仿真真实的硬件行为,系统软件运行在FPGA仿真的平台之上。但是,在FPGA原型验证之前,需要经过硬件设计、前端验证、综合等多个关键步骤,然后还需要将硬件设计移植到FPGA平台中,并验证移植的正确性,可见,其前期准备工作量较大,价格成本较高,而且,FPGA原型验证处于整个芯片开发阶段的后期,若此时发现设计问题,之前的工作就需要重新进行,又会造成额外的时间浪费。
因此,如何更为有效地缩短芯片开发周期,提高芯片开发效率是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种芯片仿真验证方法,该芯片仿真验证方法可以更为有效地缩短芯片开发周期,提高芯片开发效率;本申请的另一目的是提供一种芯片仿真验证装置、设备以及计算机可读存储介质,也具有上述有益效果。
第一方面,本申请提供了一种芯片仿真验证方法,包括:
资源管理中心接收待测芯片中各功能模块发送的注册请求;
根据所述注册请求获得各功能模块信息,并根据所述功能模块信息对各所述功能模块进行注册;
接收各所述功能模块发送的查询请求;
根据所述查询请求向所述功能模块反馈目标功能模块信息,以使各所述功能模块根据所述目标功能模块信息与目标功能模块建立连接,生成拓扑网络;
基于所述拓扑网络对各所述功能模块进行仿真验证。
优选的,所述根据所述功能模块信息对各所述功能模块进行注册,包括:
将各所述功能模块信息存储至资源链表;其中,所述功能模块信息包括所述功能模块的IP信息、端口信息以及资源数据。
优选的,所述根据所述查询请求向所述功能模块反馈目标功能模块信息,包括:
根据所述查询请求确定目标资源数据;
根据所述目标资源数据确定所述目标功能模块的IP信息和端口信息;
将所述目标功能模块的IP信息和端口信息反馈至所述功能模块。
优选的,所述根据所述功能模块信息对各所述功能模块进行注册之后,还包括:
向各所述功能模块反馈注册结果,以使各所述功能模块根据所述注册结果向所述资源管理中心发送所述查询请求。
优选的,所述基于所述拓扑网络对各所述功能模块进行仿真验证,包括:
所述功能模块向所述目标功能模块发送资源访问请求,以确定是否接收到所述目标功能模块反馈的请求响应信息;其中,所述资源访问请求为数据读取请求和/或数据写入请求。
优选的,所述功能模块向所述目标功能模块发送资源访问请求,包括:
所述功能模块通过TCP协议向所述目标功能模块发送资源访问请求。
优选的,所述芯片仿真验证方法还包括:
当所述目标功能模块中的资源数据发生变化时,将资源变化信息发送至所述功能模块。
第二方面,本申请还公开了一种芯片仿真验证装置,包括:
注册请求接收单元,用于资源管理中心接收待测芯片中各功能模块发送的注册请求;
功能模块注册单元,用于根据所述注册请求获得各功能模块信息,并根据所述功能模块信息对各所述功能模块进行注册;
查询请求接收单元,用于接收各所述功能模块发送的查询请求;
拓扑网络生成单元,用于根据所述查询请求向所述功能模块反馈目标功能模块信息,以使各所述功能模块根据所述目标功能模块信息与目标功能模块建立连接,生成拓扑网络;
芯片验证单元,用于基于所述拓扑网络对各所述功能模块进行仿真验证。
第三方面,本申请还公开了一种芯片仿真验证设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上所述的任一种芯片仿真验证方法的步骤。
第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种芯片仿真验证方法的步骤。
本申请所提供的一种芯片仿真验证方法,包括资源管理中心接收待测芯片中各功能模块发送的注册请求;根据所述注册请求获得各功能模块信息,并根据所述功能模块信息对各所述功能模块进行注册;接收各所述功能模块发送的查询请求;根据所述查询请求向所述功能模块反馈目标功能模块信息,以使各所述功能模块根据所述目标功能模块信息与目标功能模块建立连接,生成拓扑网络;基于所述拓扑网络对各所述功能模块进行仿真验证。
可见,本申请所提供的芯片仿真验证方法,对于待测芯片中的各个功能模块,通过向资源管理中心进行注册和查询的方式完成网络拓扑,使得各个功能模块之间可建立连接进行直接通信,无需经过资源管理中心代为转发,有效的提高了系统效率,而且,通过构建拓扑网络使得其中的各个功能模块可以在各自平台中完成验证,无需移植到同一平台,大大减少了在同一平台搭建配置不同环境的时间开销,同时,采用该种验证方法使得软件人员在芯片开发前中期便可介入到验证过程,实现了软硬件协同验证和其他工作的并行执行,更为有效地缩短了芯片开发周期,提高了芯片开发效率。
本申请所提供的一种芯片仿真验证装置、设备以及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请所提供的一种芯片仿真验证方法的流程示意图;
图2为本申请所提供的一种芯片仿真验证平台的框架图;
图3为本申请所提供的一种资源信息注册流程图;
图4为本申请所提供的一种拓扑网络构建流程图;
图5为本申请所提供的一种芯片仿真验证装置的结构示意图;
图6为本申请所提供的一种芯片仿真验证设备的结构示意图。
具体实施方式
本申请的核心是提供一种芯片仿真验证方法,该芯片仿真验证方法可以更为有效地缩短芯片开发周期,提高芯片开发效率;本申请的另一核心是提供一种芯片仿真验证装置、设备以及计算机可读存储介质,也具有上述有益效果。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请所提供的一种芯片仿真验证方法的流程示意图,该芯片仿真验证方法可包括:
S101:资源管理中心接收待测芯片中各功能模块发送的注册请求;
本申请所提供的芯片仿真验证方法,基于软硬件协同验证技术实现,在芯片的物理原型生产之前,通过系统模型运行软件,以检查硬件设计中的错误,软件中的缺陷,以及软/硬件接口中的错误。
具体而言,对芯片功能的验证即为对芯片中各个功能模块的验证,也就是将芯片划分为多个功能模块,进而分别对每个功能模块进行功能验证,该验证过程由资源管理中心实现,该资源管理中心相当于主控模块,具体可以是由QEMU(一个由法布里斯·贝拉开发的通用开源的计算机仿真器和虚拟器,可用来模拟多种架构的处理器)虚拟的CPU,当然,待测芯片中的各个功能模块同样也可以由虚拟CPU实现。进一步,在进行芯片仿真验证之前,可先将各个功能模块建立相应的连接关系,生成各功能模块可直接进行数据交互的拓扑网络,由此,即可在拓扑网络中完成对待测芯片中各个功能模块的验证。其中,网络拓扑的构建由各个功能模块向资源管理中心进行注册和资源查询的方式实现,而在本步骤中,则旨在实现注册请求的接收,即待测芯片中的各个功能模块向资源管理中心发送注册请求,以实现各个功能模块在资源管理中心的注册。
S102:根据注册请求获得各功能模块信息,并根据功能模块信息对各功能模块进行注册;
本步骤旨在实现各功能模块在资源管理中心的注册,具体的,当各个功能模块向资源管理中心发送注册请求时,可将自身的相关信息,即上述功能模块信息附加在该注册请求中,由此,资源管理中心即可根据该功能模块信息完成对相应功能模块的注册。其中,该注册过程相当于功能模块信息的存储过程,只向资源管理中心发送注册请求而不提供功能模块信息的功能模块将无法完成注册,亦无法接入最终构建而成的拓扑网络。
作为一种优选实施例,上述根据功能模块信息对各功能模块进行注册,可以包括:将各功能模块信息存储至资源链表;其中,功能模块信息包括功能模块的IP信息、端口信息以及资源数据。
本优选实施例提供了一种较为具体的功能模块的注册方法,具体的,资源管理中心可维护一个资源链表,供各个功能模块进行注册,在模块注册之前,该资源链表为空,当资源管理中心接收到注册请求时,即可依次将其中的功能模块信息存储至该资源链表中。其中,上述功能模块信息具体可包括对应功能模块的IP信息、端口信息以及资源数据,端口信息具体可以为端口号,资源数据则为对应功能模块对外提供的资源信息。
S103:接收各功能模块发送的查询请求;
S104:根据查询请求向功能模块反馈目标功能模块信息,以使各功能模块根据目标功能模块信息与目标功能模块建立连接,生成拓扑网络;
以上步骤旨在实现拓扑网络的生成,当各个功能模块完成注册后,即可通过查询资源管理中心的方式建立相应的连接关系,生成完整的拓扑网络。具体而言,各个功能模块根据自身需求向资源管理中心发送查询请求,以获取资源管理中心反馈的目标功能模块信息,进而与目标功能模块建立连接,其中,目标功能模块信息即为发出查询请求的功能模块需要建立连接关系的功能模块的信息,也就是说,各个功能模块可以是发出查询请求的模块,也可以成为其他功能模块的目标功能模块,至此,拓扑网络构建完成,在该拓扑网络中,具有连接关系的两个功能模块之间可直接进行数据交互。
作为一种优选实施例,上述根据查询请求向功能模块反馈目标功能模块信息,可以包括:根据查询请求确定目标资源数据;根据目标资源数据确定目标功能模块的IP信息和端口信息;将目标功能模块的IP信息和端口信息反馈至功能模块。
本优选实施例提供了一种较为具体的目标功能模块信息的反馈方法,首先,各个功能模块可将自身所需的资源数据的相关信息,即上述目标资源数据添加于查询请求中,由此,资源管理中心即可根据该目标资源数据从资源链表中查询确定提供该目标资源数据的目标功能模块的IP信息和端口信息,进一步,将目标功能模块的IP信息和端口信息反馈至功能模块,功能模块即可根据IP信息和端口信息与相应的目标功能模块建立连接关系。
作为一种优选实施例,上述根据功能模块信息对各功能模块进行注册之后,还可以包括:向各功能模块反馈注册结果,以使各功能模块根据注册结果向资源管理中心发送查询请求。
本优选实施例旨在实现注册反馈,针对每个功能模块发起的注册请求,在完成注册后,可向其反馈相应的注册结果,以告知功能模块注册成功或注册失败,只有注册成功的功能模块才可向资源管理中心发送查询请求以建立拓扑网络,注册失败的功能模块则需要重新进行注册,以有效保证每个功能模块的可用性。
S105:基于拓扑网络对各功能模块进行仿真验证。
本步骤旨在实现待测芯片中各个功能模块的仿真验证,在完成拓扑网络的构建后,各个功能模块即可根据实际需求和与其具有连接关系的目标功能模块直接进行数据交互,以完成仿真验证。拓扑网络的构建保证了各个功能模块之间可直接进行数据交互,无需资源管理中心进行数据转发,有效地提高了芯片验证效率。
作为一种优选实施例,上述基于拓扑网络对各功能模块进行仿真验证,可以包括:功能模块向目标功能模块发送资源访问请求,以确定是否接收到目标功能模块反馈的请求响应信息;其中,资源访问请求为数据读取请求和/或数据写入请求。
本优选实施例对拓扑网络中各个功能模块的验证过程进行了更为具体的介绍,各个功能模块在完成连接关系的建立后,即可向自身对应的目标功能模块发送资源访问请求,以确定是否能够接收到其对应的响应信息。其中,资源访问请求具体可以为数据读写请求,对于数据读取请求,当功能模块接收到目标功能模块反馈的数据包且数据包为有效数据包时,响应成功;对于数据写入请求,当接收到目标功能模块反馈的写入成功的信息时,响应成功。
作为一种优选实施例,上述功能模块向目标功能模块发送资源访问请求,可以包括:功能模块通过TCP协议(Transmission Control Protocol,传输控制协议)向目标功能模块发送资源访问请求。
本优选实施例提供了一种较为具体的数据交互方法,即基于TCP协议实现,具有较高的可靠性,可实现不同网络之间各个功能模块的连接,避免了将各个功能模块移植到同一网络平台进行验证时所造成的时间浪费。当然,以上传输协议的选择仅为本优选实施例所提供的一种实现方式,并不唯一,可实现不同网络之间各个功能模块的连接即可,本申请对此不做限定。
作为一种优选实施例,该芯片仿真验证方法还可以包括:当目标功能模块中的资源数据发生变化时,将资源变化信息发送至功能模块。
具体的,对于对外提供的资源数据发生变化的功能模块,可将相应的资源变化信息实时反馈至与其连接的功能模块,以便实现资源数据的实时更新,保证功能模块访问到的资源数据为有效数据,进一步保证芯片验证的顺利进行。
可见,本申请所提供的芯片仿真验证方法,对于待测芯片中的各个功能模块,通过向资源管理中心进行注册和查询的方式完成网络拓扑,使得各个功能模块之间可建立连接进行直接通信,无需经过资源管理中心代为转发,有效的提高了系统效率,而且,通过构建拓扑网络使得其中的各个功能模块可以在各自平台中完成验证,无需移植到同一平台,大大减少了在同一平台搭建配置不同环境的时间开销,同时,采用该种验证方法使得软件人员在芯片开发前中期便可介入到验证过程,实现了软硬件协同验证和其他工作的并行执行,更为有效地缩短了芯片开发周期,提高了芯片开发效率。
在上述各实施例的基础上,本优选实施例提供了一种更为具体的芯片仿真验证方法。
首先,请参考图2,图2为本申请所提供的一种芯片仿真验证平台的框架图,其中,系统资源管理服务即为上述资源管理中心,QEMU Cortext-A53、算法IP核、串口IP核以及QEMU Cortext-M3即为待测芯片中的各个功能模块,各个功能模块均可通过QEMU虚拟的CPU实现,并使用SystemC(一种计算机语言)、SystemVerilog(一种计算机语言)等实现transaction(总线事务)。而且,各个功能模块之间通过TCP实现数据通信,更为具体的,对于系统中的每个功能模块,均包含一个TCP通信子模块,其作用在于将功能模块对资源的访问请求转为TCP通信发送给对应的功能模块,对应的功能模块的TCP通信子模块解析该请求并将该请求传递给自身内部以供处理,采用该种通信方式,可以使各个功能模块运行在自己的环境中,实现分布式工作,不需要在同一台电脑上搭建运行不同的环境。
进一步,为了使各个功能模块之间的通信更灵活,可通过向系统资源管理服务进行注册和查询的方式完成网络拓扑,在完成网络拓扑后,各个功能模块会和对应模块建立连接直接通信,不需要经过系统资源管理模块转发,提高了系统效率。其中,数据通信具体为功能模块发送和接收读写请求,对于功能模块发送读写请求,基于QEMU和SystemC实现的功能模块在需要读写时,可直接调用C语言来进行TCP数据包发送,SystemVerilog则可通过DPI接口(Direct Programming Interface,直接编程接口)调用C语言来进行TCP数据包发送;对于功能模块接收读写请求,基于QEMU和SystemC实现的功能模块启动定时器,定时接收TCP数据包,如果数据包有效,则对数据包进行响应;SystemVerilog则可在AXI(AdvancedeXtensible Interface,一种片内总线协议),AHB/APB(Advanced High Performance Bus,高级高性能总线)或者PCIe总线(Peripheral Component Interconnect express,一种高速串行计算机扩展总线标准)时钟上升沿通过DPI接口调用数据接收函数,并对有效数据包进行处理。
进一步,基于上述芯片仿真验证平台框架,对本申请实施例所提供的芯片仿真验证过程进行具体介绍。为了实现系统的灵活性,系统并没有对功能模块的IP地址进行规定,因此,在开始仿真验证之前,功能模块并不知道自己需要的其他功能模块的资源在哪台电脑上运行,所以需要先建立拓扑网络,建立拓扑网络包括模块资源的注册和查询两部分,详细步骤如下:
请参考图3,图3为本申请所提供的一种资源信息注册流程图,首先,启动系统资源管理服务,并设置本次仿真验证需要的功能模块个数,系统资源管理服务作为TCP server供各功能模块连接,然后维护一个资源链表,供各功能模块注册,初始资源链表为空;进一步,各个功能模块连接系统资源管理服务的TCP server,并通过TCP通信向系统资源管理服务进行资源注册,同时启动TCP server供其他功能模块连接以及进行资源访问,如果该功能模块不向其他功能模块提供可访问资源,则不向系统进行资源注册,也不启动TCPserver,如图3中的模块1和模块4;最后,当系统资源管理服务检测到本次仿真所需的功能模块注册完毕后,向各功能模块发送资源准备完毕通知。请参考图4,图4为本申请所提供的一种拓扑网络构建流程图,各功能模块收到系统资源管理服务发送的资源准备完毕通知后,向系统资源管理服务查询自己所需资源对应的功能模块的IP地址及端口,并与之建立TCP连接,完成网络拓扑。
在拓扑网络中,向系统提供资源的功能模块为资源提供者,使用系统中其他功能模块资源的模块为资源使用者,资源使用者可以读写这些存储空间,资源提供者可以根据自身内部的工作逻辑,修改这些存储空间内容,或根据存储空间的值进行对应的动作,还可以根据实际情况向资源使用者发送通知以告知资源使用者相关资源数据有所变化。
更进一步的,对于上述TCP通信协议,本申请实施例进行了更为具体的定义,该TCP通信协议定义了系统从拓扑网络建立到资源访问中通信所需的命令及响应,为了方便协议扩充,采用了变长数据帧,数据帧包括帧头、命令、数据长度、数据、帧尾,具体如表1所示:
表1通信协议定义表
域名 | 帧头 | 命令 | 数据长度 | 数据 | 帧尾 |
长度(字节) | 2 | 4 | 2 | N(N和数据长度域数值相等) | 2 |
帧头:TCP基于字节流的通信协议,所以需要帧头来进行帧同步;
命令:该数据帧的具体作用,详见表2,可根据需要进行扩充;
数据长度:代表该帧中数据的长度,具体取值和命令有关,详见表2;
数据:该数据帧命令所传递的数据,具体取值和命令有关,详见表2;
帧尾:同帧头。
请参考表2,表2为表1中通信协议的命令及数据定义:
表2通信协议中的命令以及数据定义表
可见,本申请实施例所提供的芯片仿真验证方法,对于待测芯片中的各个功能模块,通过向资源管理中心进行注册和查询的方式完成网络拓扑,使得各个功能模块之间可建立连接进行直接通信,无需经过资源管理中心代为转发,有效的提高了系统效率,而且,通过构建拓扑网络使得其中的各个功能模块可以在各自平台中完成验证,无需移植到同一平台,大大减少了在同一平台搭建配置不同环境的时间开销,同时,采用该种验证方法使得软件人员在芯片开发前中期便可介入到验证过程,实现了软硬件协同验证和其他工作的并行执行,更为有效地缩短了芯片开发周期,提高了芯片开发效率。
为解决上述技术问题,本申请还提供了一种芯片仿真验证装置,请参考图5,图5为本申请所提供的一种芯片仿真验证装置的结构示意图,该芯片仿真验证装置可包括:
注册请求接收单元1,用于资源管理中心接收待测芯片中各功能模块发送的注册请求;
功能模块注册单元2,用于根据注册请求获得各功能模块信息,并根据功能模块信息对各功能模块进行注册;
查询请求接收单元3,用于接收各功能模块发送的查询请求;
拓扑网络生成单元4,用于根据查询请求向功能模块反馈目标功能模块信息,以使各功能模块根据目标功能模块信息与目标功能模块建立连接,生成拓扑网络;
芯片验证单元5,用于基于拓扑网络对各功能模块进行仿真验证。
可见,本申请实施例所提供的芯片仿真验证装置,对于待测芯片中的各个功能模块,通过向资源管理中心进行注册和查询的方式完成网络拓扑,使得各个功能模块之间可建立连接进行直接通信,无需经过资源管理中心代为转发,有效的提高了系统效率,而且,通过构建拓扑网络使得其中的各个功能模块可以在各自平台中完成验证,无需移植到同一平台,大大减少了在同一平台搭建配置不同环境的时间开销,同时,采用该种验证方法使得软件人员在芯片开发前中期便可介入到验证过程,实现了软硬件协同验证和其他工作的并行执行,更为有效地缩短了芯片开发周期,提高了芯片开发效率。
对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述技术问题,本申请还提供了一种芯片仿真验证设备,请参考图6,图6为本申请所提供的一种芯片仿真验证设备的结构示意图,该芯片仿真验证设备可包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序时可实现如上述任意一种芯片仿真验证方法的步骤。
对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种芯片仿真验证方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (9)
1.一种芯片仿真验证方法,其特征在于,包括:
资源管理中心接收待测芯片中各功能模块发送的注册请求;
根据所述注册请求获得各功能模块信息,并将各所述功能模块信息存储至资源链表;其中,所述功能模块信息包括所述功能模块的IP信息、端口信息以及资源数据;
接收各所述功能模块发送的查询请求;
根据所述查询请求向所述功能模块反馈目标功能模块信息,以使各所述功能模块根据所述目标功能模块信息与目标功能模块建立连接,生成拓扑网络;
基于所述拓扑网络对各所述功能模块进行仿真验证。
2.根据权利要求1所述的芯片仿真验证方法,其特征在于,所述根据所述查询请求向所述功能模块反馈目标功能模块信息,包括:
根据所述查询请求确定目标资源数据;
根据所述目标资源数据确定所述目标功能模块的IP信息和端口信息;
将所述目标功能模块的IP信息和端口信息反馈至所述功能模块。
3.根据权利要求1所述的芯片仿真验证方法,其特征在于,所述根据所述功能模块信息对各所述功能模块进行注册之后,还包括:
向各所述功能模块反馈注册结果,以使各所述功能模块根据所述注册结果向所述资源管理中心发送所述查询请求。
4.根据权利要求1至3任意一项所述的芯片仿真验证方法,其特征在于,所述基于所述拓扑网络对各所述功能模块进行仿真验证,包括:
所述功能模块向所述目标功能模块发送资源访问请求,以确定是否接收到所述目标功能模块反馈的请求响应信息;其中,所述资源访问请求为数据读取请求和/或数据写入请求。
5.根据权利要求4所述的芯片仿真验证方法,其特征在于,所述功能模块向所述目标功能模块发送资源访问请求,包括:
所述功能模块通过TCP协议向所述目标功能模块发送资源访问请求。
6.根据权利要求4所述的芯片仿真验证方法,其特征在于,还包括:
当所述目标功能模块中的资源数据发生变化时,将资源变化信息发送至所述功能模块。
7.一种芯片仿真验证装置,其特征在于,包括:
注册请求接收单元,用于资源管理中心接收待测芯片中各功能模块发送的注册请求;
功能模块注册单元,用于根据所述注册请求获得各功能模块信息,并将各所述功能模块信息存储至资源链表;其中,所述功能模块信息包括所述功能模块的IP信息、端口信息以及资源数据;
查询请求接收单元,用于接收各所述功能模块发送的查询请求;
拓扑网络生成单元,用于根据所述查询请求向所述功能模块反馈目标功能模块信息,以使各所述功能模块根据所述目标功能模块信息与目标功能模块建立连接,生成拓扑网络;
芯片验证单元,用于基于所述拓扑网络对各所述功能模块进行仿真验证。
8.一种芯片仿真验证设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的芯片仿真验证方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1至6任一项所述的芯片仿真验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010686252.XA CN111859832B (zh) | 2020-07-16 | 2020-07-16 | 一种芯片仿真验证方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010686252.XA CN111859832B (zh) | 2020-07-16 | 2020-07-16 | 一种芯片仿真验证方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859832A CN111859832A (zh) | 2020-10-30 |
CN111859832B true CN111859832B (zh) | 2022-07-08 |
Family
ID=72983622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010686252.XA Active CN111859832B (zh) | 2020-07-16 | 2020-07-16 | 一种芯片仿真验证方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859832B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733490A (zh) * | 2021-01-07 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种芯片的系统级验证方法、系统及相关装置 |
CN113591422B (zh) * | 2021-08-03 | 2024-01-30 | 眸芯科技(上海)有限公司 | 芯片验证中测试案例流程信息的生成系统及应用 |
CN114025005B (zh) * | 2021-09-30 | 2023-06-16 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据通讯方法、系统、电子设备及存储介质 |
CN114330178B (zh) * | 2021-12-28 | 2023-03-14 | 杭州朗迅科技有限公司 | 一种嵌入式硬件电路调试验证的驱动系统 |
CN117556754B (zh) * | 2024-01-11 | 2024-03-19 | 北京数渡信息科技有限公司 | PCIe交换机芯片硅前仿真系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678645B1 (en) * | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
CN101051332A (zh) * | 2007-05-23 | 2007-10-10 | 中兴通讯股份有限公司 | 一种soc芯片系统级验证系统及方法 |
CN101377793A (zh) * | 2008-09-22 | 2009-03-04 | 浪潮电子信息产业股份有限公司 | 一种服务器安全监控管理用soc芯片逻辑验证方法 |
CN101377795A (zh) * | 2008-09-22 | 2009-03-04 | 浪潮电子信息产业股份有限公司 | 一种工业便携式终端专用soc芯片逻辑验证方法 |
US7571284B1 (en) * | 2004-06-30 | 2009-08-04 | Sun Microsystems, Inc. | Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor |
CN103036734A (zh) * | 2011-10-10 | 2013-04-10 | 盛科网络(苏州)有限公司 | 网络芯片逻辑验证方法及系统 |
CN103439648A (zh) * | 2013-08-08 | 2013-12-11 | 北京华大信安科技有限公司 | 一种验证方法、装置及芯片 |
CN104572384A (zh) * | 2014-12-25 | 2015-04-29 | 记忆科技(深圳)有限公司 | 一种芯片多fpga验证方法及系统 |
JP2015096997A (ja) * | 2013-11-15 | 2015-05-21 | 株式会社メガチップス | 論理検証方法 |
CN105158681A (zh) * | 2015-08-07 | 2015-12-16 | 广州中大微电子有限公司 | 一种射频识别读写器芯片的验证方法及系统 |
CN105512418A (zh) * | 2015-12-18 | 2016-04-20 | 山东海量信息技术研究院 | 一种通过复用系统级模型验证环境实现模块级验证的方法 |
CN106133537A (zh) * | 2014-12-30 | 2016-11-16 | 京微雅格(北京)科技有限公司 | 一种fpga功能模块仿真验证方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8997034B2 (en) * | 2012-07-30 | 2015-03-31 | Synopsys, Inc. | Emulation-based functional qualification |
-
2020
- 2020-07-16 CN CN202010686252.XA patent/CN111859832B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678645B1 (en) * | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
US7571284B1 (en) * | 2004-06-30 | 2009-08-04 | Sun Microsystems, Inc. | Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor |
CN101051332A (zh) * | 2007-05-23 | 2007-10-10 | 中兴通讯股份有限公司 | 一种soc芯片系统级验证系统及方法 |
CN101377793A (zh) * | 2008-09-22 | 2009-03-04 | 浪潮电子信息产业股份有限公司 | 一种服务器安全监控管理用soc芯片逻辑验证方法 |
CN101377795A (zh) * | 2008-09-22 | 2009-03-04 | 浪潮电子信息产业股份有限公司 | 一种工业便携式终端专用soc芯片逻辑验证方法 |
CN103036734A (zh) * | 2011-10-10 | 2013-04-10 | 盛科网络(苏州)有限公司 | 网络芯片逻辑验证方法及系统 |
CN103439648A (zh) * | 2013-08-08 | 2013-12-11 | 北京华大信安科技有限公司 | 一种验证方法、装置及芯片 |
JP2015096997A (ja) * | 2013-11-15 | 2015-05-21 | 株式会社メガチップス | 論理検証方法 |
CN104572384A (zh) * | 2014-12-25 | 2015-04-29 | 记忆科技(深圳)有限公司 | 一种芯片多fpga验证方法及系统 |
CN106133537A (zh) * | 2014-12-30 | 2016-11-16 | 京微雅格(北京)科技有限公司 | 一种fpga功能模块仿真验证方法及其系统 |
CN105158681A (zh) * | 2015-08-07 | 2015-12-16 | 广州中大微电子有限公司 | 一种射频识别读写器芯片的验证方法及系统 |
CN105512418A (zh) * | 2015-12-18 | 2016-04-20 | 山东海量信息技术研究院 | 一种通过复用系统级模型验证环境实现模块级验证的方法 |
Non-Patent Citations (3)
Title |
---|
AFDX-ES SoC虚拟仿真平台的构建与应用;田靖 等;《计算机技术与发展》;20100810;第20卷(第08期);第192-194、198页 * |
VHDL-AMS modelling of multi-chip SiC power modules;Olufisayo Olanrewaju 等;《2016 IEEE 4th Workshop on Wide Bandgap Power Devices and Applications (WiPDA)》;20161231;第347-352页 * |
基于FPGA的接口芯片逻辑设计及仿真;张皓月 等;《软件导刊》;20111031;第10卷(第10期);第45-46页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111859832A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111859832B (zh) | 一种芯片仿真验证方法、装置及相关设备 | |
CN104580519B (zh) | 一种快速部署openstack云计算平台的方法 | |
WO2016197768A1 (zh) | 芯片验证方法、装置及系统 | |
CN108170612B (zh) | 一种自动化测试方法、装置及服务器 | |
CN102404381A (zh) | 一种云计算环境下基于工作流的软件部署系统及部署方法 | |
WO2022148305A1 (zh) | 一种芯片的系统级验证方法、系统及相关装置 | |
CN107749807B (zh) | 一种面向nfv的网络功能验证方法及验证系统 | |
CN112527647B (zh) | 基于NS-3的Raft共识算法测试系统 | |
CN108111364B (zh) | 一种业务系统的测试方法及装置 | |
CN116028292B (zh) | 用于远程直接内存访问仿真验证的仿真验证系统及方法 | |
CN114422010B (zh) | 一种基于网络虚拟化的卫星通信仿真平台的协议测试方法 | |
CN113806037A (zh) | 服务的调用方法、装置、存储介质及电子设备 | |
CN112860375A (zh) | 基于Kubernetes的容器化应用请求复制方法、系统、介质和设备 | |
CN114189553A (zh) | 一种流量回放方法、系统及计算设备 | |
CN114513404A (zh) | 时间敏感网络的配置方法、装置及计算机可读存储介质 | |
CN112433812A (zh) | 一种虚拟机跨集群迁移方法、系统、设备及计算机介质 | |
CN101969442B (zh) | 基于进程运行环境感知与迁移的网络模拟框架实现方法 | |
CN117041111A (zh) | 车云功能测试方法、装置、电子设备及存储介质 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
CN114024871B (zh) | 一种芯片验证方法、系统、计算机设备及可读存储介质 | |
CN114466000B (zh) | 一种cdn网关回源方法及装置 | |
CN109286692A (zh) | 一种配置服务器ipmi静态ip地址的方法 | |
CN111708568B (zh) | 一种组件化开发解耦方法及终端 | |
CN113792522A (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 |