CN113486625A - 芯片的验证方法与验证系统 - Google Patents
芯片的验证方法与验证系统 Download PDFInfo
- Publication number
- CN113486625A CN113486625A CN202110723686.7A CN202110723686A CN113486625A CN 113486625 A CN113486625 A CN 113486625A CN 202110723686 A CN202110723686 A CN 202110723686A CN 113486625 A CN113486625 A CN 113486625A
- Authority
- CN
- China
- Prior art keywords
- core circuit
- circuit group
- tested
- signal
- model module
- 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.)
- Granted
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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
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)
- Tests Of Electronic Circuits (AREA)
Abstract
本公开提供一种芯片的验证方法与验证系统,芯片包括多个内核电路组,方法包括:从多个内核电路组中选择第一待测内核电路组;从多个内核电路组中选择至少一个进行模拟,获取内核电路组模型模块;向第一待测内核电路组提供第一激励信号及向内核电路组模型模块提供第二激励信号;基于第一激励信号,获得第一执行结果;基于第二激励信号,获得第二执行结果;根据第一激励信号模拟得到第一期望结果及根据第二激励信号模拟得到第二期望结果;对比第一执行结果与第一期望结果及对比第二执行结果与第二期望结果,用以确定用于第一待测内核电路组和内核电路组模型模块的验证结果。本公开可以加速验证过程,大大减少仿真时间,还可完成更多场景的验证。
Description
技术领域
本公开的实施例涉及一种芯片的验证方法与验证系统。
背景技术
随着集成电路产业的快速发展,芯片复杂度大大增加,对CPU(CentralProcessingUnit,中央处理器)功能验证的要求越来越高,对迭代周期的要求越来越短,传统多核CPU互联的验证方法遇到巨大挑战,使用传统验证方法不仅在难度上大大增加,而且已经无法满足芯片的迭代周期。同时,采用传统的验证方法,对功能验证也有一定局限性,许多验证场景无法覆盖到。
现代CPU的集成度越来越高,例如一个服务器CPU芯片通常都是包括十个甚至几十个处理器核(Core,可简称内核或核),例如每一个Core所包含的寄存器传输级(RTL)电路十分复杂。单独验证一个Core的RTL电路就已经非常消耗时间,如果要验证整个CPU,需要的时间呈指数倍的增加。同时,多个DIE(可称为内核电路组)同时执行仿真对机器性能要求非常高、对内存的消耗也非常大,增加验证成本,通常地,多个内核电路组成一个DIE,多个DIE组成一个CPU的芯片。因此采用传统的验证方法,还加大了仿真时间的消耗,增加了验证的成本。
发明内容
本公开至少一实施例提供了一种芯片的验证方法,所述芯片包括多个内核电路组,所述验证方法包括:从所述多个内核电路组中选择第一待测内核电路组;从所述多个内核电路组中选择至少一个进行模拟,获取内核电路组模型模块,其中,所述内核电路组模型模块与所述第一待测内核电路组信号连接;向所述第一待测内核电路组提供第一激励信号,以及向所述内核电路组模型模块提供第二激励信号;基于所述第一激励信号,所述第一待测内核电路组执行用于所述第一待测内核电路组的第一功能性操作,以及执行第一请求信号的发送和来自于所述内核电路组模型模块的第一应答信号的接收,获得第一执行结果;基于所述第二激励信号,所述内核电路组模型模块执行第二请求信号的发送和来自于所述第一待测内核电路组的第二应答信号的接收,获得第二执行结果;根据所述第一激励信号模拟得到用于所述第一待测内核电路组的第一期望结果,以及根据所述第二激励信号模拟得到用于所述内核电路组模型模块的第二期望结果;对比所述第一执行结果与所述第一期望结果,以及对比所述第二执行结果与所述第二期望结果,用以确定用于所述第一待测内核电路组和所述内核电路组模型模块的验证结果。
例如,在本公开至少一实施例提供的一种验证方法中,从所述多个内核电路组中选择至少一个进行模拟,获取内核电路组模型模块,包括:对所述多个内核电路组中除去所述第一待测内核电路组之外的剩余内核电路组进行模拟,获取所述内核电路组模型模块。
例如,在本公开至少一实施例提供的一种验证方法中,所述剩余内核电路组包括两个以上所述内核电路组。
例如,在本公开至少一实施例提供的一种验证方法中,所述第一激励信号包括第一读访问信号和/或第一写访问信号,所述第一功能性操作包括第一读操作和/或第一写操作;所述第二激励信号包括第二读访问信号和/或第二写访问信号。
例如,在本公开至少一实施例提供的一种验证方法中,基于所述第一激励信号,所述第一待测内核电路组执行用于所述待测内核电路组的第一功能性操作,以及执行第一请求信号的发送和来自于所述内核电路组模型模块的第一应答信号的接收,获得第一执行结果,包括:基于所述第一激励信号,所述第一待测内核电路组执行用于所述第一待测内核电路组的所述第一功能性操作,得到第一操作结果;基于所述第一激励信号,所述第一待测内核电路组向所述内核电路组模型模块发送所述第一请求信号,所述内核电路组模型模块基于所述第一请求信号向所述第一待测内核电路组反馈对应的所述第一应答信号;所述第一执行结果包括所述第一操作结果和所述第一应答信号。
例如,在本公开至少一实施例提供的一种验证方法中,基于所述第二激励信号,所述内核电路组模型模块执行第二请求信号的发送和来自于所述第一待测内核电路组的第二应答信号的接收,获得第二执行结果,包括:基于所述第二激励信号,所述内核电路组模型模块向所述第一待测内核电路组发送所述第二请求信号,所述第一待测内核电路组基于所述第二请求信号向所述内核电路组模型模块反馈对应的所述第二应答信号;所述第二执行结果包括所述第二应答信号。
例如,本公开至少一实施例提供的一种验证方法还包括:从所述多个内核电路组中选择不同于所述第一待测内核电路组的第二待测内核电路组,将所述内核电路组模型模块与所述第二待测内核电路组进行信号连接;向所述第二待测内核电路组提供第三激励信号;基于所述第三激励信号,所述第二待测内核电路组执行用于所述待测内核电路组的第三功能性操作,以及执行第三请求信号的发送和来自于所述内核电路组模型模块的第三应答信号的接收,获得第三执行结果;基于所述第二激励信号,所述内核电路组模型模块执行第四请求信号的发送和来自于所述第二待测内核电路组的第四应答信号的接收,获得第四执行结果;根据所述第三激励信号,模拟得到用于所述第二待测内核电路组的第三期望结果;对比所述第三执行结果与所述第三期望结果,以及对比所述第四执行结果与所述第二期望结果,用以确定用于所述第二待测内核电路组和所述内核电路组模型模块的验证结果。
例如,本公开至少一实施例提供的一种验证方法还包括:将所述第二待测内核电路组与所述第一待测内核电路组进行信号连接;基于所述第一激励信号,所述第一待测内核电路组执行第五请求信号的发送和来自于所述第二待测内核电路组的第五应答信号的接收,获得第五执行结果;基于所述第三激励信号,所述第二待测内核电路组执行第六请求信号的发送和来自于所述第一待测内核电路组的第六应答信号的接收,获得第六执行结果;对比所述第五执行结果与所述第三期望结果,以及对比所述第六执行结果与所述第一期望结果,用以确定用于所述第二待测内核电路组和所述第一待测内核电路组的验证结果。
例如,在本公开至少一实施例提供的一种验证方法中,所述第三激励信号包括第三读访问信号和/或第三写访问信号,所述第三功能性操作包括第三读操作和/或第三写操作。
例如,在本公开至少一实施例提供的一种验证方法中,基于所述第三激励信号,所述第二待测内核电路组执行用于所述待测内核电路组的第三功能性操作,以及执行第三请求信号的发送和来自于所述内核电路组模型模块的第三应答信号的接收,获得第三执行结果,包括:基于所述第三激励信号,所述第二待测内核电路组执行用于所述第二待测内核电路组的所述第三功能性操作,得到第三操作结果;基于所述第三激励信号,所述第二待测内核电路组向所述内核电路组模型模块发送所述第三请求信号,所述内核电路组模型模块基于所述第三请求信号向所述第二待测内核电路组反馈对应的所述第三应答信号;所述第三执行结果包括所述第三操作结果和所述第三应答信号。
例如,在本公开至少一实施例提供的一种验证方法中,基于所述第二激励信号,所述内核电路组模型模块执行第四请求信号的发送和来自于所述第二待测内核电路组的第四应答信号的接收,获取第四执行结果,包括:基于所述第二激励信号,所述内核电路组模型模块向所述第二待测内核电路组发送所述第四请求信号,所述第二待测内核电路组基于所述第四请求信号向所述内核电路组模型模块反馈对应的所述第四应答信号;所述第四执行结果包括所述第四应答信号。
例如,本公开至少一实施例提供的一种验证方法还包括:在所述内核电路组模型模块中设置虚拟存储模型,以存储写入到所述内核电路组模型模块的数据;初始化所述虚拟存储模型,在所述虚拟存储模型中加载预设数据。
例如,在本公开至少一实施例提供的一种验证方法中,初始化所述虚拟存储模型,在所述虚拟存储模型中加载预设数据,包括:在所述虚拟存储模型中加载预存储数据,或者,在所述虚拟存储模型中加载带有预设错误的预存储数据。
本公开至少一实施例提供了一种用于验证芯片的验证系统,所述芯片包括多个内核电路组,所述多个内核电路组包括被选择的第一待测内核电路组,所述验证系统包括:内核电路组模型模块,配置为通过从所述多个内核电路组中选择至少一个并进行模拟得到,所述内核电路组模型模块与所述第一待测内核电路组信号连接;激励模块,配置为向所述第一待测内核电路组提供第一激励信号,以及向所述内核电路组模型模块提供第二激励信号,其中,所述第一待测内核电路组配置为基于所述第一激励信号,执行用于所述第一待测内核电路组的第一功能性操作,以及执行第一请求信号的发送和来自于所述内核电路组模型模块的第一应答信号的接收,获得第一执行结果,所述内核电路组模型模块配置为基于所述第二激励信号执行第二请求信号的发送和来自于所述第一待测内核电路组的第二应答信号的接收,获得第二执行结果;参考模型模块,配置为根据所述第一激励信号模拟得到用于所述第一待测内核电路组的第一期望结果,以及根据所述第二激励信号模拟得到用于所述内核电路组模型模块的第二期望结果;计分板,配置为对比所述第一执行结果与所述第一期望结果,以及对比所述第二执行结果与所述第二期望结果,用以确定用于所述第一待测内核电路组和所述内核电路组模型模块的验证结果。
例如,在本公开至少一实施例提供的一种验证系统中,所述内核电路组模型模块配置为通过对所述多个内核电路组中除去所述第一待测内核电路组之外的剩余内核电路组进行模拟得到,所述剩余内核电路组包括两个以上所述内核电路组。
例如,在本公开至少一实施例提供的一种验证系统中,所述第一激励信号包括第一读访问信号和/或第一写访问信号,所述第一功能性操作包括第一读操作和/或第一写操作;所述第二激励信号包括第二读访问信号和/或第二写访问信号。
例如,在本公开至少一实施例提供的一种验证系统中,所述第一待测内核电路组的主设备向所述内核电路组模型模块的从设备发送所述第一请求信号,所述内核电路组模型模块的主设备向所述第一待测内核电路组的从设备发送所述第二请求信号。
例如,本公开至少一实施例提供的一种验证系统,还包括:第一监视输出端口、第二监视输出端口、第一输出监视器、第二输出监视器,其中,所述第一监视输出端口配置为传输以下信号的一种或多种:所述第一执行结果包括的第一操作结果、所述第一请求信号、所述第二执行结果包括的第二应答信号,所述第一操作结果配置为由所述第一待测内核电路组基于所述第一激励信号执行用于所述第一待测内核电路组的第一功能性操作得到,所述第二应答信号配置为通过所述内核电路组模型模块基于所述第二激励信号向所述第一待测内核电路组发送所述第二请求信号且由所述第一待测内核电路组基于所述第二请求信号得到并被反馈至所述内核电路组模型模块;所述第二监视输出端口配置为传输以下信号的一种或多种:所述第二请求信号、所述第一执行结果包括的第一应答信号,所述第一应答信号配置为通过所述第一待测内核电路组基于所述第一激励信号向所述内核电路组模型模块发送所述第一请求信号且由所述内核电路组模型模块基于所述第一请求信号得到并被反馈至所述第一待测内核电路组;所述第一输出监视器与所述第一监视输出端口信号连接,所述第一输出监视器配置为获取所述第一监视输出端口传输的信号的一种或多种并发送至所述计分板,所述第二输出监视器与所述第二监视输出端口信号连接,所述第二输出监视器配置为获取所述第二监视输出端口传输的信号的一种或多种并发送至所述计分板。
例如,本公开至少一实施例提供的一种验证系统,还包括:第一输入监视器和第二输入监视器,其中,所述第一输入监视器配置为获取所述激励模块发送的所述第一激励信号并将所述第一激励信号发送至所述参考模型模块,所述第二输入监视器配置为获取所述激励模块发送的所述第二激励信号并将所述第二激励信号发送至所述参考模型模块。
例如,在本公开至少一实施例提供的一种验证系统中,所述多个内核电路组包括被选择的不同于所述第一待测内核电路组的第二待测内核电路组,所述内核电路组模型模块与所述第二待测内核电路组信号连接,所述激励模块还配置为向所述第二待测内核电路组提供第三激励信号,所述第二待测内核电路组配置为基于所述第三激励信号,执行用于所述第二待测内核电路组的第三功能性操作,以及执行第三请求信号的发送和来自于所述内核电路组模型模块的第三应答信号的接收,获得第三执行结果;所述内核电路组模型模块还配置为基于所述第二激励信号,执行第四请求信号的发送和来自于所述第二待测内核电路组的第四应答信号的接收,获得第四执行结果;所述参考模型模块还配置为根据所述第三激励信号模拟得到用于所述第二待测内核电路组的第三期望结果;所述计分板还配置为对比所述第三执行结果与所述第三期望结果,以及对比所述第四执行结果与所述第二期望结果,用以确定用于所述第二待测内核电路组和所述内核电路组模型模块的验证结果。
例如,在本公开至少一实施例提供的一种验证系统中,所述第二待测内核电路组与所述第一待测内核电路组信号连接,所述第一待测内核电路组还配置为基于所述第一激励信号,执行第五请求信号的发送和来自于所述第二待测内核电路组的第五应答信号的接收,获得第五执行结果;所述第二待测内核电路组还配置为基于所述第三激励信号,执行第六请求信号的发送和来自于所述第一待测内核电路组的第六应答信号的接收,获得第六执行结果;所述计分板还配置为对比所述第五执行结果与所述第三期望结果,以及对比所述第六执行结果与所述第一期望结果,用以确定用于所述第二待测内核电路组和所述第一待测内核电路组的验证结果。
例如,在本公开至少一实施例提供的一种验证系统中,所述第三激励信号包括第三读访问信号和/或第三写访问信号,所述第三功能性操作包括第三读操作和/或第三写操作。
例如,本公开至少一实施例提供的一种验证系统,还包括:第三监视输出端口、第四监视输出端口、第三输出监视器、第四输出监视器,其中,所述第三监视输出端口配置为传输以下信号的一种或多种:所述第三执行结果包括的第三操作结果、所述第三请求信号、所述第四执行结果包括的第四应答信号,所述第三操作结果配置为由所述第二待测内核电路组基于所述第三激励信号执行用于所述第二待测内核电路组的第三功能性操作得到,所述第四应答信号配置为通过所述内核电路组模型模块基于所述第二激励信号向所述第二待测内核电路组发送所述第四请求信号且由所述第二待测内核电路组基于所述第四请求信号得到并被反馈至所述内核电路组模型模块;所述第四监视输出端口配置为传输以下信号的一种或多种:所述第四请求信号、所述第三执行结果包括的第三应答信号,所述第三应答信号配置为通过所述第二待测内核电路组基于所述第三激励信号向所述内核电路组模型模块发送所述第三请求信号且由所述内核电路组模型模块基于所述第三请求信号得到并被反馈至所述第二待测内核电路组;所述第三输出监视器与所述第三监视输出端口信号连接,所述第三输出监视器配置为获取所述第三监视输出端口传输的信号的一种或多种并发送至所述计分板,所述第四输出监视器与所述第四监视输出端口信号连接,所述第四输出监视器配置为获取所述第四监视输出端口传输的信号的一种或多种并发送至所述计分板。
例如,本公开至少一实施例提供的一种验证系统,还包括:第五监视输出端口、第六监视输出端口、第五输出监视器、第六输出监视器,其中,所述第五监视输出端口配置为传输以下信号的一种或多种:所述第六执行结果包括的第六应答信号、所述第五请求信号,所述第六应答信号配置为通过所述第二待测内核电路组基于所述第二激励信号向所述第一待测内核电路组发送所述第六请求信号且由所述第一待测内核电路组基于所述第六请求信号得到并被反馈至所述第二待测内核电路组;所述第六监视输出端口配置为传输以下信号的一种或多种:所述第五执行结果包括的第五应答信号、所述第六请求信号,所述第五应答信号配置为通过所述第一待测内核电路组基于所述第一激励信号向所述第二待测内核电路组发送所述第五请求信号且由所述第二待测内核电路组基于所述第五请求信号得到并被反馈至所述第一待测内核电路组;所述第五输出监视器与所述第五监视输出端口信号连接,所述第五输出监视器配置为获取所述第五监视输出端口传输的信号的一种或多种并发送至所述计分板,所述第六输出监视器与所述第六监视输出端口信号连接,所述第六输出监视器配置为获取所述第六监视输出端口传输的信号的一种或多种并发送至所述计分板。
例如,本公开至少一实施例提供的一种验证系统还包括第三输入监视器,其中,所述第三输入监视器配置为获取所述激励模块发送的所述第三激励信号并将所述第三激励信号发送至所述参考模型模块。
例如,在本公开至少一实施例提供的一种验证系统中,所述第二待测内核电路组的主设备向所述内核电路组模型模块的从设备发送所述第三请求信号,所述内核电路组模型模块的主设备向所述第二待测内核电路组的从设备发送所述第四请求信号;所述第一待测内核电路组的主设备向所述第二待测内核电路组的从设备发送所述第五请求信号,所述第二待测内核电路组的主设备向所述第一待测内核电路组的从设备发送所述第六请求信号。
例如,在本公开至少一实施例提供的一种验证系统中,所述内核电路组模型模块设置有虚拟存储模型,其中,所述虚拟存储模型配置为存储写入到所述内核电路组模型模块的数据。
例如,在本公开至少一实施例提供的一种验证系统中,所述激励模块包括耦合性序列发生器,所述耦合性序列发生器配置为基于加载在所述虚拟存储模型中的预设数据产生与所述预设数据相耦合的所述第一激励信号和/或所述第二激励信号。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一些实施例提供的用于验证芯片的验证系统的框图;
图2为本公开一些实施例提供的待验证芯片的模块组成示意图;
图3为本公开另一些实施例提供的用于验证芯片的验证系统的框图;
图4为本公开一些实施例提供的芯片的验证方法的流程图;
图5为本公开一些实施例提供的步骤S4的流程图;
图6为本公开一些实施例提供的步骤S5的流程图;
图7为本公开一些实施例提供的验证方法包括步骤S61~步骤S66的流程图;
图8为本公开一些实施例提供的验证方法包括步骤S71~步骤S74的流程图;
图9为本公开一些实施例提供的步骤S63的流程图;以及
图10为本公开一些实施例提供的验证方法包括步骤S81和步骤S82的流程图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另有定义,本公开实施例使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非本公开实施例明确地这样定义。
本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
本公开实施例中使用了流程图用来说明根据本公开实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步。
目前采用验证方法学是芯片验证的趋势之一,通用验证方法学(UniversalVerification Methodology,简称UVM)是其中的典型代表。UVM是以SystemVerilog类为主的通用验证方法学,利用它的可重用组件,能够构建具有标准化层次结构和接口的功能验证环境,即UVM验证环境。UVM验证环境规定了UVM中的基本类(即可重用组件),例如,序列编辑器(Sequencer)、监视器(Monitor)等以及通信接口。验证人员可以在基本类的基础上扩展自己需要的类,然后用UVM标准的通信语句将各个类的通信接口连接起来。
当前验证芯片(例如CPU)是将芯片的真实的多个内核电路组(DIE)用真实的RTL电路互联,然后从各个DIE对应的接口上随机产生的激励信号发送到RTL电路中对应的电路中,实现例如CPU对动态随机存取存储器(DRAM)、输入/输出(IO)设备和电源管理的读写。这种实现方法需要消耗的仿真时间随着内核数量的增加呈指数倍增加。同时,这种实现方法对许多场景的验证有一定的局限性,例如缓存(Cache)状态的转换需要大量的激励,DRAM错误数据模拟需要大量随机等,这些无疑变相延长了验证周期。
据此,上述实现方法存在以下问题:(1)当一个DIE上的Core访问另一个DIE的上的设备时,要经过层层路由才能将请求发送到目的地,被访问设备产生的回应又要经过层层路由将应答以及相应的数据发送回来,这种长距离路由在RTL电路中十分消耗仿真时间;(2)具有一定局限性,很多特定场景难以验证,增加了测试难度,比如对CPU出错、对访问设备出错等的验证;(3)初始化时无法实现对Cache状态进行模拟且无法提前注入相应的状态,也即如果要随机产生特定某种状态,需要设计十分复杂的激励并进行大量的仿真;(4)可移植性差。
本公开至少一实施例提供了一种芯片的验证方法,芯片包括多个内核电路组,验证方法包括:从多个内核电路组中选择第一待测内核电路组;从多个内核电路组中选择至少一个进行模拟,获取内核电路组模型模块,其中,内核电路组模型模块与第一待测内核电路组信号连接;向第一待测内核电路组提供第一激励信号,以及向内核电路组模型模块提供第二激励信号;基于第一激励信号,第一待测内核电路组执行用于第一待测内核电路组的第一功能性操作,以及执行第一请求信号的发送和来自于内核电路组模型模块的第一应答信号的接收,获得第一执行结果;基于第二激励信号,内核电路组模型模块执行第二请求信号的发送和来自于第一待测内核电路组的第二应答信号的接收,获得第二执行结果;根据第一激励信号模拟得到用于第一待测内核电路组的第一期望结果,以及根据第二激励信号模拟得到用于内核电路组模型模块的第二期望结果;对比第一执行结果与第一期望结果,以及对比第二执行结果与第二期望结果,用以确定用于第一待测内核电路组和内核电路组模型模块的验证结果。
本公开至少一实施例还提供对应于上述验证方法的验证系统。
本公开上述实施例的验证方法或验证系统利用软件模型对芯片的部分内核电路组进行模拟以得到内核电路组模型模块且保留部分的真实内核电路组,以实现芯片验证。由于内核电路组模型模块是对真实的内核电路组的行为进行模拟,可完成例如请求的接收与应答发送以及请求的发送与应答的接收,从而加速了验证过程,大大减少仿真时间,实现高效验证。基于该软件模型实现的内核电路组模型模块,还可完成更多场景的验证,测试难度降低。
下面结合附图对本公开的实施例及其示例进行详细说明。
图1为本公开一些实施例提供的用于验证芯片的验证系统的框图。图2为本公开一些实施例提供的待验证芯片的模块组成示意图。
如图1所示,验证系统100包括内核电路组模型模块110、激励模块120、参考模型模块130和计分板140。
如图2所示,待验证的芯片200包括多个内核电路组(DIE),例如记为N个内核电路组,N为大于等于2的整数。每个真实的内核电路组集成了多个内核的RTL硬件电路。例如,芯片200包括的N个内核电路组中的每个内核电路组均相同。
例如,从芯片200的N个内核电路组中选择出第一待测内核电路组210(即具有真实硬件电路的真实内核电路组),内核电路组模型模块110配置为通过从N个内核电路组中选择至少一个并进行模拟得到,即内核电路组模型模块110也可称为FAKE DIE。内核电路组模型模块110与第一待测内核电路组210信号连接。
例如,在一些示例中,激励模块(Stimulus)120可通过随机产生大量的测试用例,用以向真实的待测内核电路组(例如第一待测内核电路组210)和内核电路组模型模块110发送激励信号。例如利用激励模块120可实现对待测内核电路组的正常读写任务。
例如,在一些示例中,参考模型模块(RefModel)130可获取激励模块120发出的各种激励信号,参考模型模块130用于模拟芯片200的所有内核电路组(即N个内核电路组)的行为,以获取对应激励信号下的预期执行结果并提供给计分板(Scoreboard)140进行数据的对比,以此来验证待测芯片200,例如检查验证芯片中的硬件电路的逻辑是否正确。
如图1所示,激励模块120配置为向第一待测内核电路组210提供第一激励信号A1以及向内核电路组模型模块110提供第二激励信号R2。
第一待测内核电路组210配置为基于第一激励信号A1,执行用于第一待测内核电路组210的第一功能性操作,以及执行第一请求信号B1的发送和来自于内核电路组模型模块110的第一应答信号C1的接收,获得第一执行结果。
例如,一些示例中,内核电路组模型模块110可以配置为基于第二激励信号A2,执行第二请求信号B2的发送和来自于第一待测内核电路组210的第二应答信号C2的接收,获得第二执行结果。需要说明的是,对于此实施例,由于芯片的所有的内核电路组可以都是相同,则保留真实的内核电路组以实现验证自身且还实现验证其与内核电路组模型模块110的交互,并且内核电路组模型模块110可以仅实现验证其与被保留的真实的内核电路组的交互。例如,另一些示例中,内核电路组模型模块110还可以配置为基于第二激励信号A2,执行用于内核电路组模型模块110的第二功能性操作,以及执行第二请求信号B2的发送和来自于第一待测内核电路组210的第二应答信号C2的接收,获得第二执行结果。
由此,本公开对内核电路组模型模块110的具体设计方式和操作内容不作限制,可以根据实际情况而定,只要最终的内核电路组模型模块110能够完成请求的发送和应答信号的接收以及请求的接收与应答信号的发送即可,至于其他方面的操作的情况,本公开对此不作限制和赘述。
参考模型模块130配置为根据第一激励信号A1模拟得到用于第一待测内核电路组210的第一期望结果,以及根据第二激励信号A2模拟得到用于内核电路组模型模块110的第二期望结果。
计分板140配置为对比第一执行结果与第一期望结果,以及对比第二执行结果与第二期望结果,用以确定用于第一待测内核电路组210和内核电路组模型模块110的验证结果。
由此,本公开至少一实施例的验证方法可以大大减少仿真时间,因为内核电路组模型模块通过对真实内核电路组的行为进行模拟,可以不需要考虑至少部分的内核电路组的路由和总线访问,明显地缩短了对芯片的多核环境的验证周期,加快了产品的迭代速度。
例如,在一些示例中,内核电路组模型模块110配置为通过对N个内核电路组中除去第一待测内核电路组210之外的剩余内核电路组进行模拟得到,也就是说,验证芯片时此示例仅保留了一个真实的内核电路组作为待测内核电路组且除去这个真实的内核电路组之外的其余内核电路组都用软件模型(即内核电路组模型模块)去实现并替换以进行验证。由此,芯片的多个内核电路组的仿真时间与一个内核电路组的仿真时间相差无几,因为使用内核电路组模型模块模拟真实的内核电路组的过程基本不会消耗仿真时间,从而大大地减少了仿真时间。
需要说明的是,内核电路组模型模块110还可配置为通过对N个内核电路组中除去上述真实的第一待测内核电路组210以及其他真实的待测内核电路组(例如下文提及的第二待测内核电路组)之外的剩余内核电路组进行模拟得到。因此,内核电路组模型模块110是通过对N个内核电路组中被选择作为真实待测内核电路的一个或多个内核电路之外的剩余内核电路组进行模拟得到,具体可以根据实际情况而定,这里不作赘述。
例如,在一些示例中,剩余内核电路组包括两个以上内核电路组。当然,此仅仅为示例性,并不为本公开的限制,即剩余内核电路组也可以为一个内核电路组,剩余内核电路组的实际数目取决于芯片的内核电路组总数和被选择作为真实的待测内核电路组的个数,这里不做穷举。
需要说明的是,内核电路组模型模块11对具有真实硬件电路的真实的一个或多个内核电路组进行全方位的模拟,即内核电路组模型模块11不限于上文所述的可实现的行为,例如还能完成一些硬件电路中真实内核电路组难以完成的验证任务,比如随机注入错误、预先加载数据和提前设置缓存状态等。
如图1所示,验证系统100还包括监视器M11(例如可称为第一输入监视器)和监视器M12(例如可称为第二输入监视器)。监视器M11配置为获取激励模块120发送的第一激励信号A1并将第一激励信号A1发送至参考模型模块130,监视器M12配置为获取激励模块120发送的第二激励信号A2并将第二激励信号A2发送至参考模型模块130。
例如,验证系统100还包括第一监视输出端口(未图示)、第二监视输出端口(未图示)、监视器M21(例如可称为第一输出监视器)和监视器M22(例如可称为第二输出监视器)。
例如,第一监视输出端口配置为传输以下信号的一种或多种:第一执行结果包括的第一操作结果P1、第一请求信号B1、第二执行结果包括的第二应答信号C2。第一操作结果P1配置为由第一待测内核电路组210基于第一激励信号A1执行用于第一待测内核电路组210的第一功能性操作得到。第一请求信号B1为第一待测内核电路组210基于第一激励信号A1向内核电路组模型模块110发送的请求信号。第二应答信号C2配置为通过内核电路组模型模块110基于第二激励信号A2向第一待测内核电路组210发送第二请求信号B2且由第一待测内核电路组210基于第二请求信号B2得到并被反馈至内核电路组模型模块110。
例如,监视器M21与第一监视输出端口信号连接,监视器M21配置为获取第一监视输出端口传输的信号的一种或多种并发送至计分板140。
与上文的内核电路组模型模块110的配置方式对应,例如,第二监视输出端口还可以配置为传输以下信号的一种或多种:第二请求信号B2、第一执行结果包括的第一应答信号C1。又例如,第二监视输出端口可以配置为传输以下信号的一种或多种:第二执行结果包括的第二操作结果P2、第二请求信号B2、第一执行结果包括的第一应答信号C1。第二操作结果P2配置为由内核电路组模型模块110基于第二激励信号A2执行用于内核电路组模型模块110的第二功能性操作得到。第一应答信号配置为通过第一待测内核电路组210基于第一激励信号A1向内核电路组模型模块110发送第一请求信号B1且由内核电路组模型模块110基于第一请求信号B1得到并被反馈至第一待测内核电路组210。
例如,监视器M22与第二监视输出端口信号连接,监视器M22配置为获取第二监视输出端口传输的信号的一种或多种并发送至计分板140。
例如,在一些示例中,第一监视输出端口和/或第二监视输出端口传输的信号是以发包的方式进行传送。当然,此仅仅为示例性,并不为本公开的限制。
如前所述,本公开一些实施例的计分板140接收参考模型模块130提供的预期执行结果并分别对应地与有关第一待测内核电路组210的第一执行结果以及有关内核电路组模型模块110的第二执行结果进行比较,获取验证结果,可以验证例如芯片的硬件电路的正确性,以完成芯片的验证。
例如,在一些示例中,计分板140进行数据比较时,将对应功能性操作的某项执行结果和某项期望结果进行比较以获取验证结果。
比如,关于第一功能性操作,计分板140将第一执行结果包括的第一操作结果P1与第一期望结果中对应的预期操作结果进行比较,以获取验证结果。又比如,关于内核电路组模型模块110与第一待测内核电路组210之间的访问,计分板140将第一执行结果包括的第一应答信号C2和第一期望中对应的预期应答信号进行比较,以获取验证结果。当然,此仅仅为示例性的,本公开对此不做赘述。
例如,在一些示例中,第一激励信号A1包括第一读访问信号和/或第一写访问信号,第一功能性操作包括第一读操作和/或第一写操作。当然,此仅仅为示例性,并不为本公开的限制,比如第一功能性操作还可包括计算操作等,这里不做穷举和赘述。示例地,本公开上文或下文涉及的任一读/写访问信号分别包括读/写指令、地址信号与需要读或写的数据。
例如,在一些示例中,第二激励信号A2包括第二读访问信号和/或第二写访问信号,第二功能性操作包括第二读操作和/或第二写操作。当然,此仅仅为示例性,并不为本公开的限制,比如第二功能性操作还可包括计算操作等,这里不做穷举和赘述。
需要说明的是,鉴于芯片验证过程中涉及的所有需要验证的功能性操作的类型等均不为本公开所要阐述的重点,为了本文的清楚与简洁,本公开的实施例主要是以读写为例进行说明,本文不做其他方面的赘述。
例如,在一些示例中,第一待测内核电路组210的主设备向内核电路组模型模块110的从设备发送第一请求信号B1,内核电路组模型模块110的主设备向第一待测内核电路组210的从设备发送第二请求信号B2。
例如,在一些示例中,第一请求信号B1与第一激励信号A1相对应。例如,当第一激励信号A1包括第一读访问信号和/或第一写访问信号时,第一请求信号B1是由第一激励信号A1经过中间协议转换之后得到的访问请求信号,该访问请求信号与第一读访问信号和/或第一写访问信号一致,用以完成从第一待测内核电路组210到内核电路组模型模块110的设备的读或写访问。
同样地,例如,在一些示例中,第二请求信号B2与第二激励信号A2相对应。例如,当第二激励信号A2包括第二读访问信号和/或第二写访问信号时,第二请求信号B2是由第二激励信号A2经过中间协议转换之后得到的访问请求信号,该访问请求信号与第二读访问信号和/或第二写访问信号一致,用以完成从内核电路组模型模块110到第一待测内核电路组210的设备的读或写访问。
如图1所示,内核电路组模型模块110设置有虚拟存储模型111,虚拟存储模型111配置为存储写入到内核电路组模型模块110的数据,也即虚拟存储模型111也是基于软件程序模拟得到。
由此,本公开一些实施例通过软件程序模拟得到虚拟存储模型111,可以基于设计需求进行虚拟存储模型的建立,而不必拘泥于工艺条件和实际的硬件限制。同时,基于软件模拟得到的虚拟存储模型,可以对存入的数据进行直接设置,而不会受到硬件中残余的信号或信号传输导致的误码的影响。并且虚拟存储模型111中的数据,还可以基于预设的规律进行相应的变化,从而适应测试过程中,对不同的数据的验证需求。
例如,在一些示例中,虚拟存储模型111可以为SRAM结构的存储模型,例如可以为Fake SRAM,也可以为其他类型结构的存储模型,本公开在此不做具体的限定。
例如,在一些示例中,可以初始化虚拟存储模型111,在虚拟存储模型111中加载预设数据,从而使后续步骤可以基于该预设数据进行相应的测试。例如,在激励模块120向虚拟存储模型111中加载预设数据后,可以生成大量的激励信号,从而实现对加载有预设数据的内核电路组模型模块110的验证,可以实现传统方案无法完成的验证维度,增强了产品可靠性。
例如,在一些示例中,在虚拟存储模型111中加载的预设数据可以为设定的预存储数据,例如,在仿真开始之前利用激励模块120通过加载预设数据以向缓存中填充一些特定的状态。
例如,另在一些示例中,加载的预设数据也可以为带有预设错误的预存储数据。例如,当利用激励模块120向虚拟存储模型111记载的预设数据为带有预设错误的预存储数据时,可以实现对错误场景的模拟,从而实现在错误场景下的验证工作。可以理解的是,在真实场景中,存储结构中不可避免的出现一定的误码、空码或信号的溢出等错误,由此,在本公开上述示例中,可以将预先设置的错误信息注入虚拟存储模型111中,从而测试该种场景下内核电路组的功能。
如上所述,激励模块120可以通过配合虚拟存储模型111完成上述所示的一些边缘场景的验证工作,可以覆盖几乎所有的测试场景,完善了验证的功能,降低了验证平台设计难度。
如图1所示,激励模块120包括耦合性序列发生器121(Sequence),耦合性序列发生器121配置为基于加载在虚拟存储模型111中的预设数据产生与预设数据相耦合的第一激励信号A1和/或第二激励信号A2。由此,对于激励模块120产生激励信号方面,本公开一些实施例通过耦合性序列发生器可以使得产生的每一个激励信号都是有效激励。
例如,在一些示例中,耦合性序列发生器121产生的激励与加载到虚拟存储模型111中的数据通过特定耦合算法进行耦合,使得例如正常读写任务发出的激励一定能与内核电路组模型模块110的虚拟存储模型111(例如Fake SRAM)的数据匹配上,产生有效的激励信号。例如,耦合算法包括但不限于地址耦合方式,本公开对此不作限制。
例如,对于地址耦合方式,也即填充虚拟存储模型111中的预设数据为加密数据时,采用的加密数据的值随着虚拟存储模型111地址的增加而增加,这些加密数据通过预先加载在初始化加载到虚拟存储模型111中。例如若要进行正常的读写任务时,根据要访问的虚拟存储模型111的地址,产生携带对应地址和根据该地址推算出来的数据的激励信号。通过这种方式,发出的访问虚拟存储模型111的请求一定能够命中虚拟存储模型111中的加密数据,即可使得后续的测试能够快速准确的产生能够命中预存储数据的激励信号,从而避免预存储数据的值的变化无法预知,使得只能随机产生的激励不易命中的问题。
需要说明的是,本公开对任一的激励信号不作限制,可以根据实际需要验证的内容进行自由调整,例如第一激励信号既要满足能够实现执行第一功能性操作,也要满足能够实现请求的发送和应答信号的接收等,鉴于此不为本公开所需阐述的重点,这里不做赘述。
图3为本公开另一些实施例提供的用于验证芯片的验证系统的框图。
如图3所示,芯片的N个内核电路组包括被选择的不同于第一待测内核电路组210的第二待测内核电路组220且内核电路组模型模块110与第二待测内核电路组220信号连接。
例如,激励模块120还配置为向第二待测内核电路组220提供第三激励信号A3。第二待测内核电路组220配置为基于第三激励信号A2,执行用于第二待测内核电路组220的第三功能性操作,以及执行第三请求信号B3的发送和来自于内核电路组模型模块110的第三应答信号C3的接收,获得第三执行结果。内核电路组模型模块110还配置为基于第二激励信号A2,执行第四请求信号B4的发送和来自于第二待测内核电路组220的第四应答信号C4的接收,获得第四执行结果。参考模型模块130还配置为根据第三激励信号A3模拟得到用于第二待测内核电路组220的第三期望结果。计分板140还配置为对比第三执行结果与第三期望结果,以及对比第四执行结果与第二期望结果,用以确定用于第二待测内核电路组220和内核电路组模型模块110的验证结果。
如图3所示,第二待测内核电路组220与第一待测内核电路组210信号连接。第一待测内核电路组210还配置为基于第一激励信号A1,执行第五请求信号B1的发送和来自于第二待测内核电路组220的第五应答信号C2的接收,获得第五执行结果。第二待测内核电路组220还配置为基于第三激励信号A3,执行第六请求信号B6的发送和来自于第一待测内核电路组210的第六应答信号C6的接收,获得第六执行结果。计分板140还配置为对比第五执行结果与第三期望结果,以及对比第六执行结果与第一期望结果,用以确定用于第二待测内核电路组220和第一待测内核电路组110的验证结果。
如图3所示,验证系统100还包括第三输入监视器M13(例如可称为第三输入监视器)。第三输入监视器M13配置为获取激励模块120发送的第三激励信号A3并将第三激励信号A3发送至参考模型模块130。
如图3所示,验证系统100还包括第三监视输出端口(未图示)、第四监视输出端口(未图示)、监视器M31(例如可称为第三输出监视器)和监视器M32(例如可称为第四输出监视器)。
例如,第三监视输出端口配置为传输以下信号的一种或多种:第三执行结果包括的第三操作结果P3、第三请求信号B3、第四执行结果包括的第四应答信号C4。第三操作结果P3配置为由第二待测内核电路组220基于第三激励信号A3执行用于第二待测内核电路组220的第三功能性操作得到。第三请求信号B3为第二待测内核电路组220基于第三激励信号A3向内核电路组模型模块110发送的请求信号。第四应答信号C4配置为通过内核电路组模型模块110基于第二激励信号A2向第二待测内核电路组220发送第四请求信号B4且由第二待测内核电路组220基于第四请求信号B4得到并被反馈至内核电路组模型模块110。
例如,监视器M31与第三监视输出端口信号连接,监视器M31配置为获取第三监视输出端口传输的信号的一种或多种并发送至计分板140。
例如,第四监视输出端口配置为传输以下信号的一种或多种:第四请求信号B4、第三执行结果包括的第三应答信号C3。第三应答信号C3配置为通过第二待测内核电路组220基于第三激励信号A3向内核电路组模型模块110发送第三请求信号B3且由内核电路组模型模块110基于第三请求信号B3得到并被反馈至第二待测内核电路组220。
例如,监视器M21与第四监视输出端口信号连接,监视器M32配置为获取第四监视输出端口传输的信号的一种或多种并发送至计分板140。
如图3所示,验证系统100还包括第五监视输出端口(未图示)、第六监视输出端口(未图示)、监视器M41(例如可称为第五输出监视器)和监视器M42(例如可称为第六输出监视器)。
例如,第五监视输出端口配置为传输以下信号的一种或多种:第六执行结果包括的第六应答信号C6、第五请求信号B5。第五请求信号B5为第一待测内核电路组210基于第一激励信号A1向第二待测内核电路组220发送的请求信号。第六应答信号C6配置为通过第二待测内核电路组220基于第二激励信号A2向第一待测内核电路组210发送第六请求信号B6且由第一待测内核电路组210基于第六请求信号B6得到并被反馈至第二待测内核电路组220。
例如,监视器M41与第五监视输出端口信号连接,监视器M41配置为获取第五监视输出端口传输的信号的一种或多种并发送至计分板140。
例如,第六监视输出端口配置为传输以下信号的一种或多种:第五执行结果包括的第五应答信号C5、第六请求信号B6。第五应答信号C5配置为通过第一待测内核电路组210基于第一激励信号A1向第二待测内核电路组220发送第五请求信号B5且由第二待测内核电路组220基于第五请求信号B5得到并被反馈至第一待测内核电路组210。
例如,监视器M42与第六监视输出端口信号连接,监视器M42配置为获取第六监视输出端口传输的信号的一种或多种并发送至计分板140。
例如,在一些示例中,第三监视输出端口和/或第四监视输出端口传输的信号是以发包的方式进行传送。例如,在一些示例中,第五监视输出端口和/或第六监视输出端口传输的信号是以发包的方式进行传送。当然,此仅仅为示例性,并不为本公开的限制。
例如,在一些示例中,第三激励信号A3包括第三读访问信号和/或第三写访问信号,第三功能性操作包括第三读操作和/或第三写操作。当然,此仅仅为示例性,并不为本公开的限制。
例如,在一些示例中,第二待测内核电路组220的主设备向内核电路组模型模块110的从设备发送第三请求信号B3,内核电路组模型模块110的主设备向第二待测内核电路组220的从设备发送第四请求信号B4。第一待测内核电路组210的主设备向第二待测内核电路组220的从设备发送第五请求信号B5,第二待测内核电路组220的主设备向第一待测内核电路组210的从设备发送第六请求信号B6。
需要说明的是,本公开的实施例的“第二待测内核电路组”和“第一待测内核电路组”旨在区分两个真实的待测内核电路组,而不是对两个待测内核电路组的限制。还需要说明的是,本公开对真实的待测内核电路组的数量不作限制,例如还可以包括似于上述的第一待测内核电路组、第二待测内核电路组的其他的待测内核电路组(例如第三待测内核电路组),只要真实的待测内核电路组的数目小于芯片的内核电路组的总数N即可,均在本公开的保护范围。
需要说明的是,对于第二待测内核电路组的功能性操作的验证以及其与内核电路组模型模块之间交互的验证等具体内容可参照上文有关第一待测内核电路组的描述,这里不做赘述。
需要注意的是,对于芯片包括N个真实的待测内核电路组,若与内核电路组模型模块110进行信号连接的真实的待测内核电路组的个数越少,芯片验证的仿真时间越少,验证周期更短,反之,仿真时间越多,验证周期更长。例如,为了本文描述清楚、简洁,与第一待测内核电路组相类似的第二待测内核电路组可以归纳为第K待测内核电路组且该K为大于等于1且小于N的整数。
例如,对于芯片包括N个真实的待测内核电路组,无论K的数值大小,芯片验证过程中都需要测试这K个待测内核电路组与内核电路组模型模块中的每个分别向其他发送请求信号和接收对应的应答信号。
需要说明的是,对于K大于2的示例的具体验证过程可以参照上文有关第一待测内核电路组、第二待测内核电路组以及内核电路组模型模块的验证验证方案,这里不做赘述。
例如,本公开至少一实施例的验证系统的可移植性好,不仅可以用在对CPU芯片的验证上,也可以用在其他多核芯片的验证,例如GPU、DCU等,本公开对此不限制。例如,可移植性好的体现还可在于只需要修改接口代码就可以完成验证系统的移植。
据前所述,本公开至少一实施例使用内核电路组模型模块模拟芯片的内核电路组以及使用参考模型模块模拟芯片的行为并与芯片定中真实的内核电路组交互的验证方式,搭建了一种路由少、高效、测试难度低、可移植性强的验证系统。
还需要说明的是,为表示清楚、简洁,本公开的实施例并没有给出验证系统和待测芯片的全部组成单元。为实现验证系统的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开对此不作限制。
图4为本公开一些实施例提供的芯片的验证方法的流程图。
如图4所示,本公开至少一实施例提供的芯片的验证方法包括步骤S1~步骤S7,其中,芯片包括多个内核电路组。
步骤S1、从多个内核电路组中选择第一待测内核电路组。
步骤S2、从多个内核电路组中选择至少一个进行模拟,获取内核电路组模型模块,其中,内核电路组模型模块与第一待测内核电路组信号连接。
步骤S3、向第一待测内核电路组提供第一激励信号,以及向内核电路组模型模块提供第二激励信号。
步骤S4、基于第一激励信号,第一待测内核电路组执行用于第一待测内核电路组的第一功能性操作,以及执行第一请求信号的发送和来自于内核电路组模型模块的第一应答信号的接收,获得第一执行结果。
步骤S5、基于第二激励信号,内核电路组模型模块执行第二请求信号的发送和来自于第一待测内核电路组的第二应答信号的接收,获得第二执行结果。
步骤S6、根据第一激励信号模拟得到用于第一待测内核电路组的第一期望结果,以及根据第二激励信号模拟得到用于内核电路组模型模块的第二期望结果。
步骤S7、对比第一执行结果与第一期望结果,以及对比第二执行结果与第二期望结果,用以确定用于第一待测内核电路组和内核电路组模型模块的验证结果。
需要说明的是,本公开对上述实施例的步骤S1~步骤S7的执行顺序不作限制。例如步骤S1与步骤S2可以同时进行,也可以步骤S2先于步骤S1进行,还可以步骤S1先于步骤S2进行。又例如,步骤S4与步骤S5可以同时进行,也可以步骤S5先于步骤S4进行,还可以步骤S4先于步骤S5进行,本公开对此不限制。同样地,对于下文任一实施例的步骤顺序,本公开也不作限制,可以根据实际情况进行自由调整,这里不做赘述。
例如,在一些示例中,步骤S2还包括:对多个内核电路组中除去第一待测内核电路组之外的剩余内核电路组进行模拟,获取内核电路组模型模块。
例如,在一些示例中,剩余内核电路组包括两个以上内核电路组。当然,此仅仅为示例性的,并不为本公开的限制。
例如,在一些示例中,第一激励信号包括第一读访问信号和/或第一写访问信号,第一功能性操作包括第一读操作和/或第一写操作。第二激励信号包括第二读访问信号和/或第二写访问信号,第二功能性操作包括第二读操作和/或第二写操作。当然,此仅仅为示例性的,并不为本公开的限制,可以根据实际情况而定,这里不做赘述。
图5为本公开一些实施例提供的步骤S4的流程图。
如图5所示,步骤S4还包括步骤S41和步骤S42。
步骤S41、基于第一激励信号,第一待测内核电路组执行用于第一待测内核电路组的第一功能性操作,得到第一操作结果。
步骤S41、基于第一激励信号,第一待测内核电路组向内核电路组模型模块发送第一请求信号,内核电路组模型模块基于第一请求信号向第一待测内核电路组反馈对应的第一应答信号,其中,第一执行结果包括第一操作结果和第一应答信号。
例如,一些示例中,对于步骤S5可包括以下:基于第二激励信号,内核电路组模型模块向第一待测内核电路组发送第二请求信号,第一待测内核电路组基于第二请求信号向内核电路组模型模块反馈对应的第二应答信号,其中,第二执行结果包括第二应答信号。
图6为本公开一些实施例提供的步骤S5的流程图。
另一些示例中,如图6所示,步骤S5还可包括步骤S51和步骤S52。
步骤S51、基于第二激励信号,内核电路组模型模块执行用于内核电路组模型模块的第二功能性操作,得到第二操作结果。
步骤S52、基于第二激励信号,内核电路组模型模块向第一待测内核电路组发送第二请求信号,第一待测内核电路组基于第二请求信号向内核电路组模型模块反馈对应的第二应答信号,其中,第二执行结果包括第二操作结果和第二应答信号。
图7为本公开一些实施例提供的验证方法包括步骤S61~步骤S66的流程图。
如图7所示,验证方法还包括步骤S61~步骤S66。
步骤S61、从多个内核电路组中选择不同于第一待测内核电路组的第二待测内核电路组,将内核电路组模型模块与第二待测内核电路组信号连接。
步骤S62、向第二待测内核电路组提供第三激励信号。
步骤S63、基于第三激励信号,第二待测内核电路组执行用于待测内核电路组的第三功能性操作,以及执行第三请求信号的发送和来自于内核电路组模型模块的第三应答信号的接收,获得第三执行结果。
步骤S64、基于第二激励信号,内核电路组模型模块执行第四请求信号的发送和来自于第二待测内核电路组的第四应答信号的接收,获得第四执行结果。
步骤S65、根据第三激励信号,模拟得到用于第二待测内核电路组的第三期望结果。
步骤S66、对比第三执行结果与第三期望结果,以及对比第四执行结果与第二期望结果,用以确定用于第二待测内核电路组和内核电路组模型模块的验证结果。
图8为本公开一些实施例提供的验证方法包括步骤S71~步骤S74的流程图。
如图8所示,验证方法还包括步骤S71~步骤S74。
步骤S71、将第二待测内核电路组与第一待测内核电路组进行信号连接。
步骤S72、基于第一激励信号,第一待测内核电路组执行第五请求信号的发送和来自于第二待测内核电路组的第五应答信号的接收,获得第五执行结果。
步骤S73、基于第三激励信号,第二待测内核电路组执行第六请求信号的发送和来自于第一待测内核电路组的第六应答信号的接收,获得第六执行结果。
步骤S74、对比第五执行结果与第三期望结果,以及对比第六执行结果与第一期望结果,用以确定用于第二待测内核电路组和第一待测内核电路组的验证结果。
例如,在一些示例中,第三激励信号包括第三读访问信号和/或第三写访问信号,第三功能性操作包括第三读操作和/或第三写操作。当然,此仅仅为示例性的,并不为本公开的限制,可以根据实际情况而定,这里不做赘述。
图9为本公开一些实施例提供的步骤S63的流程图。
如图9所示,步骤S63还包括步骤S631和步骤S632。
步骤S631、基于第三激励信号,第二待测内核电路组执行用于第二待测内核电路组的第三功能性操作,得到第三操作结果。
步骤S632、基于第三激励信号,第二待测内核电路组向内核电路组模型模块发送第三请求信号,内核电路组模型模块基于第三请求信号向第二待测内核电路组反馈对应的第三应答信号,其中,第三执行结果包括第三操作结果和第三应答信号。
例如,在一些示例中,步骤S64还包括以下:基于第二激励信号,内核电路组模型模块向第二待测内核电路组发送第四请求信号,第二待测内核电路组基于第四请求信号向内核电路组模型模块反馈对应的第四应答信号,第四执行结果包括第四应答信号。同样地,对于步骤S72和步骤S73,均可以参照该步骤S64的描述,这里不做赘述。
图10为本公开一些实施例提供的验证方法包括步骤S81和步骤S82的流程图。
如图10所示,验证方法还包括步骤S81和步骤S82。
步骤S81、在内核电路组模型模块中设置虚拟存储模型,以存储写入到内核电路组模型模块的数据。
步骤S82、初始化虚拟存储模型,在虚拟存储模型中加载预设数据。
例如,在一些示例中,步骤S82还包括:在虚拟存储模型中加载预存储数据,或者,在虚拟存储模型中加载带有预设错误的预存储数据。
需要说明的是,为表示清楚、简洁,本公开的实施例并没有给出验证方法的全部示例,对于验证方法的具体技术方案可以参照本公开上文实施例中有关验证系统的技术方案,这里不再赘述。同样地,关于不同实施例中的验证方法的技术效果可以参考本公开的实施例中提供的验证系统的技术效果,这里不再赘述。
有以下几点需要说明:
(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (28)
1.一种芯片的验证方法,所述芯片包括多个内核电路组,所述验证方法包括:
从所述多个内核电路组中选择第一待测内核电路组;
从所述多个内核电路组中选择至少一个进行模拟,获取内核电路组模型模块,其中,所述内核电路组模型模块与所述第一待测内核电路组信号连接;
向所述第一待测内核电路组提供第一激励信号,以及向所述内核电路组模型模块提供第二激励信号;
基于所述第一激励信号,所述第一待测内核电路组执行用于所述第一待测内核电路组的第一功能性操作,以及执行第一请求信号的发送和来自于所述内核电路组模型模块的第一应答信号的接收,获得第一执行结果;
基于所述第二激励信号,所述内核电路组模型模块执行第二请求信号的发送和来自于所述第一待测内核电路组的第二应答信号的接收,获得第二执行结果;
根据所述第一激励信号模拟得到用于所述第一待测内核电路组的第一期望结果,以及根据所述第二激励信号模拟得到用于所述内核电路组模型模块的第二期望结果;
对比所述第一执行结果与所述第一期望结果,以及对比所述第二执行结果与所述第二期望结果,用以确定用于所述第一待测内核电路组和所述内核电路组模型模块的验证结果。
2.如权利要求1所述的验证方法,其中,从所述多个内核电路组中选择至少一个进行模拟,获取内核电路组模型模块,包括:
对所述多个内核电路组中除去所述第一待测内核电路组之外的剩余内核电路组进行模拟,获取所述内核电路组模型模块。
3.如权利要求2所述的验证方法,其中,所述剩余内核电路组包括两个以上所述内核电路组。
4.如权利要求1所述的验证方法,其中,
所述第一激励信号包括第一读访问信号和/或第一写访问信号,所述第一功能性操作包括第一读操作和/或第一写操作;
所述第二激励信号包括第二读访问信号和/或第二写访问信号。
5.如权利要求1所述的验证方法,其中,基于所述第一激励信号,所述第一待测内核电路组执行用于所述待测内核电路组的第一功能性操作,以及执行第一请求信号的发送和来自于所述内核电路组模型模块的第一应答信号的接收,获得第一执行结果,包括:
基于所述第一激励信号,所述第一待测内核电路组执行用于所述第一待测内核电路组的所述第一功能性操作,得到第一操作结果;
基于所述第一激励信号,所述第一待测内核电路组向所述内核电路组模型模块发送所述第一请求信号,所述内核电路组模型模块基于所述第一请求信号向所述第一待测内核电路组反馈对应的所述第一应答信号;
所述第一执行结果包括所述第一操作结果和所述第一应答信号。
6.如权利要求1所述的验证方法,其中,基于所述第二激励信号,所述内核电路组模型模块执行第二请求信号的发送和来自于所述第一待测内核电路组的第二应答信号的接收,获得第二执行结果,包括:
基于所述第二激励信号,所述内核电路组模型模块向所述第一待测内核电路组发送所述第二请求信号,所述第一待测内核电路组基于所述第二请求信号向所述内核电路组模型模块反馈对应的所述第二应答信号;
所述第二执行结果包括所述第二应答信号。
7.如权利要求1所述的验证方法,还包括:
从所述多个内核电路组中选择不同于所述第一待测内核电路组的第二待测内核电路组,将所述内核电路组模型模块与所述第二待测内核电路组进行信号连接;
向所述第二待测内核电路组提供第三激励信号;
基于所述第三激励信号,所述第二待测内核电路组执行用于所述待测内核电路组的第三功能性操作,以及执行第三请求信号的发送和来自于所述内核电路组模型模块的第三应答信号的接收,获得第三执行结果;
基于所述第二激励信号,所述内核电路组模型模块执行第四请求信号的发送和来自于所述第二待测内核电路组的第四应答信号的接收,获得第四执行结果;
根据所述第三激励信号,模拟得到用于所述第二待测内核电路组的第三期望结果;
对比所述第三执行结果与所述第三期望结果,以及对比所述第四执行结果与所述第二期望结果,用以确定用于所述第二待测内核电路组和所述内核电路组模型模块的验证结果。
8.如权利要求7所述的验证方法,还包括:
将所述第二待测内核电路组与所述第一待测内核电路组进行信号连接;
基于所述第一激励信号,所述第一待测内核电路组执行第五请求信号的发送和来自于所述第二待测内核电路组的第五应答信号的接收,获得第五执行结果;
基于所述第三激励信号,所述第二待测内核电路组执行第六请求信号的发送和来自于所述第一待测内核电路组的第六应答信号的接收,获得第六执行结果;
对比所述第五执行结果与所述第三期望结果,以及对比所述第六执行结果与所述第一期望结果,用以确定用于所述第二待测内核电路组和所述第一待测内核电路组的验证结果。
9.如权利要求7所述的验证方法,其中,
所述第三激励信号包括第三读访问信号和/或第三写访问信号,所述第三功能性操作包括第三读操作和/或第三写操作。
10.如权利要求7所述的验证方法,其中,基于所述第三激励信号,所述第二待测内核电路组执行用于所述待测内核电路组的第三功能性操作,以及执行第三请求信号的发送和来自于所述内核电路组模型模块的第三应答信号的接收,获得第三执行结果,包括:
基于所述第三激励信号,所述第二待测内核电路组执行用于所述第二待测内核电路组的所述第三功能性操作,得到第三操作结果;
基于所述第三激励信号,所述第二待测内核电路组向所述内核电路组模型模块发送所述第三请求信号,所述内核电路组模型模块基于所述第三请求信号向所述第二待测内核电路组反馈对应的所述第三应答信号;
所述第三执行结果包括所述第三操作结果和所述第三应答信号。
11.如权利要求7所述的验证方法,其中,基于所述第二激励信号,所述内核电路组模型模块执行第四请求信号的发送和来自于所述第二待测内核电路组的第四应答信号的接收,获取第四执行结果,包括:
基于所述第二激励信号,所述内核电路组模型模块向所述第二待测内核电路组发送所述第四请求信号,所述第二待测内核电路组基于所述第四请求信号向所述内核电路组模型模块反馈对应的所述第四应答信号;
所述第四执行结果包括所述第四应答信号。
12.如权利要求1~11任一所述的验证方法,还包括:
在所述内核电路组模型模块中设置虚拟存储模型,以存储写入到所述内核电路组模型模块的数据;
初始化所述虚拟存储模型,在所述虚拟存储模型中加载预设数据。
13.如权利要求12所述的验证方法,其中,初始化所述虚拟存储模型,在所述虚拟存储模型中加载预设数据,包括:
在所述虚拟存储模型中加载预存储数据,或者,在所述虚拟存储模型中加载带有预设错误的预存储数据。
14.一种用于验证芯片的验证系统,所述芯片包括多个内核电路组,所述多个内核电路组包括被选择的第一待测内核电路组,所述验证系统包括:
内核电路组模型模块,配置为通过从所述多个内核电路组中选择至少一个并进行模拟得到,所述内核电路组模型模块与所述第一待测内核电路组信号连接;
激励模块,配置为向所述第一待测内核电路组提供第一激励信号,以及向所述内核电路组模型模块提供第二激励信号,其中,所述第一待测内核电路组配置为基于所述第一激励信号,执行用于所述第一待测内核电路组的第一功能性操作,以及执行第一请求信号的发送和来自于所述内核电路组模型模块的第一应答信号的接收,获得第一执行结果,所述内核电路组模型模块配置为基于所述第二激励信号,执行第二请求信号的发送和来自于所述第一待测内核电路组的第二应答信号的接收,获得第二执行结果;
参考模型模块,配置为根据所述第一激励信号模拟得到用于所述第一待测内核电路组的第一期望结果,以及根据所述第二激励信号模拟得到用于所述内核电路组模型模块的第二期望结果;
计分板,配置为对比所述第一执行结果与所述第一期望结果,以及对比所述第二执行结果与所述第二期望结果,用以确定用于所述第一待测内核电路组和所述内核电路组模型模块的验证结果。
15.如权利要求14所述的验证系统,其中,所述内核电路组模型模块配置为通过对所述多个内核电路组中除去所述第一待测内核电路组之外的剩余内核电路组进行模拟得到,所述剩余内核电路组包括两个以上所述内核电路组。
16.如权利要求14所述的验证系统,其中,
所述第一激励信号包括第一读访问信号和/或第一写访问信号,所述第一功能性操作包括第一读操作和/或第一写操作;
所述第二激励信号包括第二读访问信号和/或第二写访问信号。
17.如权利要求14所述的验证系统,其中,
所述第一待测内核电路组的主设备向所述内核电路组模型模块的从设备发送所述第一请求信号,所述内核电路组模型模块的主设备向所述第一待测内核电路组的从设备发送所述第二请求信号。
18.如权利要求14所述的验证系统,还包括:第一监视输出端口、第二监视输出端口、第一输出监视器、第二输出监视器,其中,
所述第一监视输出端口配置为传输以下信号的一种或多种:所述第一执行结果包括的第一操作结果、所述第一请求信号、所述第二执行结果包括的第二应答信号,所述第一操作结果配置为由所述第一待测内核电路组基于所述第一激励信号执行用于所述第一待测内核电路组的第一功能性操作得到,所述第二应答信号配置为通过所述内核电路组模型模块基于所述第二激励信号向所述第一待测内核电路组发送所述第二请求信号且由所述第一待测内核电路组基于所述第二请求信号得到并被反馈至所述内核电路组模型模块,
所述第二监视输出端口配置为传输以下信号的一种或多种:所述第二请求信号、所述第一执行结果包括的第一应答信号,所述第一应答信号配置为通过所述第一待测内核电路组基于所述第一激励信号向所述内核电路组模型模块发送所述第一请求信号且由所述内核电路组模型模块基于所述第一请求信号得到并被反馈至所述第一待测内核电路组,
所述第一输出监视器与所述第一监视输出端口信号连接,所述第一输出监视器配置为获取所述第一监视输出端口传输的信号的一种或多种并发送至所述计分板,所述第二输出监视器与所述第二监视输出端口信号连接,所述第二输出监视器配置为获取所述第二监视输出端口传输的信号的一种或多种并发送至所述计分板。
19.如权利要求14所述的验证系统,还包括:第一输入监视器和第二输入监视器,
其中,所述第一输入监视器配置为获取所述激励模块发送的所述第一激励信号并将所述第一激励信号发送至所述参考模型模块,所述第二输入监视器配置为获取所述激励模块发送的所述第二激励信号并将所述第二激励信号发送至所述参考模型模块。
20.如权利要求14所述的验证系统,其中,所述多个内核电路组包括被选择的不同于所述第一待测内核电路组的第二待测内核电路组,所述内核电路组模型模块与所述第二待测内核电路组信号连接,
所述激励模块还配置为向所述第二待测内核电路组提供第三激励信号,所述第二待测内核电路组配置为基于所述第三激励信号,执行用于所述第二待测内核电路组的第三功能性操作,以及执行第三请求信号的发送和来自于所述内核电路组模型模块的第三应答信号的接收,获得第三执行结果;
所述内核电路组模型模块还配置为基于所述第二激励信号,执行第四请求信号的发送和来自于所述第二待测内核电路组的第四应答信号的接收,获得第四执行结果;
所述参考模型模块还配置为根据所述第三激励信号模拟得到用于所述第二待测内核电路组的第三期望结果;
所述计分板还配置为对比所述第三执行结果与所述第三期望结果,以及对比所述第四执行结果与所述第二期望结果,用以确定用于所述第二待测内核电路组和所述内核电路组模型模块的验证结果。
21.如权利要求20所述的验证系统,其中,所述第二待测内核电路组与所述第一待测内核电路组信号连接,
所述第一待测内核电路组还配置为基于所述第一激励信号,执行第五请求信号的发送和来自于所述第二待测内核电路组的第五应答信号的接收,获得第五执行结果;
所述第二待测内核电路组还配置为基于所述第三激励信号,执行第六请求信号的发送和来自于所述第一待测内核电路组的第六应答信号的接收,获得第六执行结果;
所述计分板还配置为对比所述第五执行结果与所述第三期望结果,以及对比所述第六执行结果与所述第一期望结果,用以确定用于所述第二待测内核电路组和所述第一待测内核电路组的验证结果。
22.如权利要求20所述的验证系统,其中,
所述第三激励信号包括第三读访问信号和/或第三写访问信号,所述第三功能性操作包括第三读操作和/或第三写操作。
23.如权利要求20所述的验证系统,还包括:第三监视输出端口、第四监视输出端口、第三输出监视器、第四输出监视器,其中,
所述第三监视输出端口配置为传输以下信号的一种或多种:所述第三执行结果包括的第三操作结果、所述第三请求信号、所述第四执行结果包括的第四应答信号,所述第三操作结果配置为由所述第二待测内核电路组基于所述第三激励信号执行用于所述第二待测内核电路组的第三功能性操作得到,所述第四应答信号配置为通过所述内核电路组模型模块基于所述第二激励信号向所述第二待测内核电路组发送所述第四请求信号且由所述第二待测内核电路组基于所述第四请求信号得到并被反馈至所述内核电路组模型模块,
所述第四监视输出端口配置为传输以下信号的一种或多种:所述第四请求信号、所述第三执行结果包括的第三应答信号,所述第三应答信号配置为通过所述第二待测内核电路组基于所述第三激励信号向所述内核电路组模型模块发送所述第三请求信号且由所述内核电路组模型模块基于所述第三请求信号得到并被反馈至所述第二待测内核电路组,
所述第三输出监视器与所述第三监视输出端口信号连接,所述第三输出监视器配置为获取所述第三监视输出端口传输的信号的一种或多种并发送至所述计分板,所述第四输出监视器与所述第四监视输出端口信号连接,所述第四输出监视器配置为获取所述第四监视输出端口传输的信号的一种或多种并发送至所述计分板。
24.如权利要求21所述的验证系统,还包括:第五监视输出端口、第六监视输出端口、第五输出监视器、第六输出监视器,其中,
所述第五监视输出端口配置为传输以下信号的一种或多种:所述第六执行结果包括的第六应答信号、所述第五请求信号,所述第六应答信号配置为通过所述第二待测内核电路组基于所述第二激励信号向所述第一待测内核电路组发送所述第六请求信号且由所述第一待测内核电路组基于所述第六请求信号得到并被反馈至所述第二待测内核电路组,
所述第六监视输出端口配置为传输以下信号的一种或多种:所述第五执行结果包括的第五应答信号、所述第六请求信号,所述第五应答信号配置为通过所述第一待测内核电路组基于所述第一激励信号向所述第二待测内核电路组发送所述第五请求信号且由所述第二待测内核电路组基于所述第五请求信号得到并被反馈至所述第一待测内核电路组,
所述第五输出监视器与所述第五监视输出端口信号连接,所述第五输出监视器配置为获取所述第五监视输出端口传输的信号的一种或多种并发送至所述计分板,所述第六输出监视器与所述第六监视输出端口信号连接,所述第六输出监视器配置为获取所述第六监视输出端口传输的信号的一种或多种并发送至所述计分板。
25.如权利要求20所述的验证系统,还包括第三输入监视器,
其中,所述第三输入监视器配置为获取所述激励模块发送的所述第三激励信号并将所述第三激励信号发送至所述参考模型模块。
26.如权利要求21所述的验证系统,其中,
所述第二待测内核电路组的主设备向所述内核电路组模型模块的从设备发送所述第三请求信号,所述内核电路组模型模块的主设备向所述第二待测内核电路组的从设备发送所述第四请求信号;
所述第一待测内核电路组的主设备向所述第二待测内核电路组的从设备发送所述第五请求信号,所述第二待测内核电路组的主设备向所述第一待测内核电路组的从设备发送所述第六请求信号。
27.如权利要求14所述的验证系统,其中,
所述内核电路组模型模块设置有虚拟存储模型,其中,所述虚拟存储模型配置为存储写入到所述内核电路组模型模块的数据。
28.如权利要求14所述的验证系统,其中,
所述激励模块包括耦合性序列发生器,所述耦合性序列发生器配置为基于加载在所述虚拟存储模型中的预设数据产生与所述预设数据相耦合的所述第一激励信号和/或所述第二激励信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110723686.7A CN113486625B (zh) | 2021-06-29 | 2021-06-29 | 芯片的验证方法与验证系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110723686.7A CN113486625B (zh) | 2021-06-29 | 2021-06-29 | 芯片的验证方法与验证系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486625A true CN113486625A (zh) | 2021-10-08 |
CN113486625B CN113486625B (zh) | 2022-05-06 |
Family
ID=77936574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110723686.7A Active CN113486625B (zh) | 2021-06-29 | 2021-06-29 | 芯片的验证方法与验证系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486625B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721895A (zh) * | 2022-04-15 | 2022-07-08 | 北京百度网讯科技有限公司 | 待测设计的验证方法、平台、设备和介质 |
CN116781152A (zh) * | 2023-08-24 | 2023-09-19 | 珠海星云智联科技有限公司 | 一种光线路终端设计验证系统、方法、设备以及存储介质 |
CN116796673A (zh) * | 2023-08-22 | 2023-09-22 | 北京芯驰半导体科技有限公司 | 测试方法、测试装置、电子设备及存储介质 |
CN118035022A (zh) * | 2024-04-12 | 2024-05-14 | 北京壁仞科技开发有限公司 | 一种高速缓存验证方法、装置、设备、介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103149529A (zh) * | 2013-03-08 | 2013-06-12 | 龙芯中科技术有限公司 | 多核处理器及其测试方法和装置 |
US20140005992A1 (en) * | 2012-06-27 | 2014-01-02 | Michael Deindl | Accelerating functional verification of an integrated circuit |
US20150227117A1 (en) * | 2014-02-10 | 2015-08-13 | General Electric Company | System and method for verifying the configuration and installation of a monitoring and protection system |
CN110865971A (zh) * | 2019-10-30 | 2020-03-06 | 南京南瑞微电子技术有限公司 | Soc芯片的验证系统及其方法 |
CN112363877A (zh) * | 2020-11-10 | 2021-02-12 | 海光信息技术股份有限公司 | 芯片验证方法及平台 |
CN112559273A (zh) * | 2020-12-28 | 2021-03-26 | 杭州德旺信息技术有限公司 | 一种基于uvm的qspi验证系统及方法 |
CN112580295A (zh) * | 2020-11-24 | 2021-03-30 | 北京智芯微电子科技有限公司 | 多核SoC芯片的自动化验证方法、系统及装置 |
-
2021
- 2021-06-29 CN CN202110723686.7A patent/CN113486625B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140005992A1 (en) * | 2012-06-27 | 2014-01-02 | Michael Deindl | Accelerating functional verification of an integrated circuit |
CN103149529A (zh) * | 2013-03-08 | 2013-06-12 | 龙芯中科技术有限公司 | 多核处理器及其测试方法和装置 |
US20150227117A1 (en) * | 2014-02-10 | 2015-08-13 | General Electric Company | System and method for verifying the configuration and installation of a monitoring and protection system |
CN110865971A (zh) * | 2019-10-30 | 2020-03-06 | 南京南瑞微电子技术有限公司 | Soc芯片的验证系统及其方法 |
CN112363877A (zh) * | 2020-11-10 | 2021-02-12 | 海光信息技术股份有限公司 | 芯片验证方法及平台 |
CN112580295A (zh) * | 2020-11-24 | 2021-03-30 | 北京智芯微电子科技有限公司 | 多核SoC芯片的自动化验证方法、系统及装置 |
CN112559273A (zh) * | 2020-12-28 | 2021-03-26 | 杭州德旺信息技术有限公司 | 一种基于uvm的qspi验证系统及方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721895A (zh) * | 2022-04-15 | 2022-07-08 | 北京百度网讯科技有限公司 | 待测设计的验证方法、平台、设备和介质 |
CN114721895B (zh) * | 2022-04-15 | 2023-02-21 | 北京百度网讯科技有限公司 | 待测设计的验证方法、平台、设备和介质 |
CN116796673A (zh) * | 2023-08-22 | 2023-09-22 | 北京芯驰半导体科技有限公司 | 测试方法、测试装置、电子设备及存储介质 |
CN116796673B (zh) * | 2023-08-22 | 2023-11-28 | 北京芯驰半导体科技有限公司 | 测试方法、测试装置、电子设备及存储介质 |
CN116781152A (zh) * | 2023-08-24 | 2023-09-19 | 珠海星云智联科技有限公司 | 一种光线路终端设计验证系统、方法、设备以及存储介质 |
CN116781152B (zh) * | 2023-08-24 | 2023-11-17 | 珠海星云智联科技有限公司 | 一种光线路终端设计验证系统、方法、设备以及存储介质 |
CN118035022A (zh) * | 2024-04-12 | 2024-05-14 | 北京壁仞科技开发有限公司 | 一种高速缓存验证方法、装置、设备、介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN113486625B (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113486625B (zh) | 芯片的验证方法与验证系统 | |
CN115841089B (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
CN111931445B (zh) | 用于调试逻辑系统设计的方法、仿真器及存储介质 | |
CN105930242B (zh) | 一种支持精确访存检测的多核处理器随机验证方法及装置 | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
US6917998B1 (en) | Reusable complex multi-bus system hardware prototype system | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN110321260B (zh) | 一种基于uvm的axi总线接口读写数据比较方法和uvm验证平台 | |
CN113868987A (zh) | 一种系统级芯片的验证平台及其验证方法 | |
CN114707453A (zh) | 芯片功能的验证方法、装置、电子设备及存储介质 | |
CN112597719A (zh) | 数据网络设计验证方法、装置以及验证设备 | |
CN105654993A (zh) | 用于ddr3 sdram控制器的功能验证方法及平台 | |
CN114444422A (zh) | 芯片验证系统、方法及存储介质 | |
US20090144675A1 (en) | Transaction based verification of a system on chip on system level by translating transactions into machine code | |
CN112363877A (zh) | 芯片验证方法及平台 | |
CN114330176A (zh) | 芯片验证方法、装置、电子设备及存储介质 | |
CN111176926B (zh) | 一种基于双口sram的ip核仿真系统及仿真方法 | |
WO2021175099A1 (zh) | 一种有效的存储器电路随机故障注入方法 | |
US10162915B2 (en) | Method and system for emulation of multiple electronic designs in a single testbench environment | |
CN113760751B (zh) | 生成测试用例的方法、电子设备及存储介质 | |
CN107729601B (zh) | 仿真过程中配置ram的方法、装置及计算机存储介质 | |
Nangia et al. | Functional verification of I2C core using SystemVerilog | |
CN112861455B (zh) | Fpga建模验证系统及方法 | |
CN116048952A (zh) | 一种基于可裁剪ip的实例化模块仿真验证方法及装置 | |
Vutukuri et al. | Verification of SDRAM controller using systemverilog |
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 |