CN112433900B - 用于芯片验证的方法、系统、设备以及存储介质 - Google Patents
用于芯片验证的方法、系统、设备以及存储介质 Download PDFInfo
- Publication number
- CN112433900B CN112433900B CN202011407127.7A CN202011407127A CN112433900B CN 112433900 B CN112433900 B CN 112433900B CN 202011407127 A CN202011407127 A CN 202011407127A CN 112433900 B CN112433900 B CN 112433900B
- Authority
- CN
- China
- Prior art keywords
- chip
- modules
- attribute
- module
- verification
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种用于芯片验证的方法、系统、设备以及存储介质。用于芯片验证的方法包括:对片上网络进行节点验证,包括:将片上网络的所述多个功能节点进行第一例化操作,以得到多个属性,其中,多个属性分别与多个功能节点对应,从多个属性中选择要进行验证的属性,启动要进行验证的属性对应的功能节点,并通过输入激励并行运行要进行验证的属性对应的功能节点。该用于芯片验证的方法可以实现芯片验证的并行高效运行,缩短了仿真时间和迭代时间。
Description
技术领域
本公开的实施例涉及一种用于芯片验证的方法、系统、设备以及存储介质。
背景技术
随着芯片的电路系统越来越复杂,一些系统级芯片(SOC,system on chip)采用片上网络(NOC,net on chip)进行通信。片上网络是一个在单一硅芯片上为大型积体电路系统之间通讯时而出现的新兴模式,其又称为片上核交互通信网络芯片的分层堆栈方法设计。片上网络包括计算和通讯两类节点。计算节点(又称为资源,Resource)完成广义的计算任务;通讯节点(又称路由,router)负责计算节点之间的数据通讯。通讯节点及其之间的网络称为OCN(On-Chip Network),它借鉴了分布式计算机系统的通讯方式,用路由和分组交换技术替代传统的总线技术完成通讯任务。
发明内容
本公开的实施例提供一种用于芯片验证的方法、系统、设备以及存储介质。该用于芯片验证的方法可以实现芯片验证的并行高效运行,缩短了仿真时间和迭代时间。
本公开至少一个实施例提供了一种用于芯片验证的方法,所述芯片包括片上网络,所述片上网络包括多个功能节点,所述用于芯片验证的方法包括:对所述片上网络进行节点验证,包括:将所述片上网络的所述多个功能节点进行第一例化操作,以得到多个属性,其中,所述多个属性分别与所述多个功能节点对应,从所述多个属性中选择要进行验证的属性,启动所述要进行验证的属性对应的功能节点,并通过输入激励并行运行所述要进行验证的属性对应的功能节点。
例如,本公开至少一实施例提供的用于芯片验证的方法还包括:在运行所述要进行验证的属性对应的功能节点后,获取运行结果并进行结果校验。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,从所述多个属性中选择所述要进行验证的属性,包括:通过第一配置文件选择所述要进行验证的属性,并配置所述要进行验证的属性对应的功能节点。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,所述多个功能节点包括多个计算节点和至少一个第三模块,所述多个计算节点至少之一在第一场景下实现为至少一个第一模块,以及所述多个计算节点至少另一在第二场景下实现为至少一个第二模块,其中,所述至少一个第一模块工作来发起通信操作,所述至少一个第二模块工作来响应所述通信操作,所述至少一个第三模块工作来传输所述通信操作。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,所述多个属性包括第一属性、第二属性以及第三属性,将所述片上网络的所述多个功能节点进行所述第一例化操作,以得到所述多个属性,包括:在所述第一场景下,将所述至少一个第一模块和所述至少一个第三模块分别进行所述第一例化操作,以得到所述第一属性以及所述第三属性,在所述第二场景下,将所述至少一个第二模块和所述至少一个第三模块分别进行所述第一例化操作,以得到所述第二属性以及所述第三属性。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,当所述要进行验证的属性为所述第一属性时,从所述第一例化操作得到的所述第一属性对应的至少一个第一模块中,选择A个第一模块进行属性配置,并行运行所述A个第一模块;当所述要进行验证的属性为所述第二属性时,从所述第一例化操作得到的所述第二属性对应的至少一个第二模块中,选择B个第二模块进行属性配置,并行运行所述B个第二模块;当所述要进行验证的属性为所述第三属性时,从所述第一例化操作得到的所述第三属性对应的至少一个第三模块中,选择C个第三模块进行属性配置,并行运行所述C个第三模块;其中,A、B以及C为大于等于1的正整数。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,对所述第一属性进行属性配置时,通过分别与所述A个第一模块连接的第一输入端,向所述A个第一模块输入第一激励,以驱动所述A个第一模块并行运行,对所述第二属性进行属性配置时,通过分别与所述B个第二模块连接的第二输入端,向所述B个第二模块输入第二激励,以驱动所述B个第二模块并行运行,对所述第三属性进行属性配置时,通过分别与所述C个第三模块连接的第三输入端,向所述C个第三模块输入第三激励,以驱动所述C个第三模块并行运行。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,通过分别与所述A个第一模块连接的第一输出端,获取所述A个第一模块并行运行的第一运行结果,并对所述第一运行结果进行结果校验,通过分别与所述B个第二模块连接的第二输出端,获取所述B个第二模块并行运行的第二运行结果,并对所述第二运行结果进行结果校验,通过分别与所述C个第三模块连接的第三输出端,获取所述C个第三模块并行运行的第三运行结果,并对所述第三运行结果进行结果校验。
例如,本公开至少一实施例提供的用于芯片验证的方法还包括:对所述片上网络进行系统验证,包括:将所述片上网络整体进行第二例化操作,其中,所述第二例化操作后的片上网络的多个功能节点包括至少一个第四模块和至少一个第五模块,所述至少一个第四模块配置为用于输入,所述至少一个第五模块配置为用于输出,对所述第二例化操作后的片上网络进行所述系统验证。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,对所述第二例化操作后的片上网络进行所述系统验证,包括:从所述至少一个第四模块和所述至少一个第五模块中选择要进行验证的D个第四模块和E个第五模块,以对所述第二例化操作后的片上网络进行所述系统验证,其中,D和E为大于等于1的正整数。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,所述多个功能节点还包括至少一个第六模块,从所述至少一个第四模块和所述至少一个第五模块中选择要进行验证的D个第四模块和E个第五模块,以对所述第二例化操作后的片上网络进行所述系统验证,包括:通过第二配置文件从所述至少一个第四模块和所述至少一个第五模块中选择要进行验证的所述D个第四模块和所述E个第五模块,其中,所述D个第四模块和所述E个第五模块通过所述至少一个第六模块通信连接,向所述D个第四模块发送测试数据,所述测试数据在所述第二例化操作后的片上网络中运行,所述测试数据运行后的运行结果通过所述E个第五模块反馈。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,设置所述第二配置文件中的配置参数,所述配置参数用于从所述至少一个第四模块和所述至少一个第五模块中选择要进行验证的第四模块的数量和第五模块的数量。
例如,在本公开至少一实施例提供的用于芯片验证的方法中,所述配置参数为随机数。
本公开至少一个实施例还提供了一种用于芯片验证的系统,其中,所述芯片包括片上网络,所述片上网络包括多个功能节点,所述用于芯片验证的系统包括:节点验证单元,配置为对所述片上网络进行节点验证,所述节点验证单元包括:第一例化操作子单元、属性选择子单元以及节点运行子单元。第一例化操作子单元配置为将所述片上网络的所述多个功能节点进行第一例化操作,以得到多个属性,其中,所述多个属性分别与所述多个功能节点对应;属性选择子单元配置为从所述多个属性中选择要进行验证的属性;节点运行子单元配置为启动所述要进行验证的属性对应的功能节点,并通过输入激励并行运行所述要进行验证的属性对应的功能节点。
例如,本公开至少一实施例提供的用于芯片验证的系统还包括系统验证单元元,配置为对所述片上网络进行系统验证,所述系统验证单元包括:第二例化操作子单元和系统验证子单元。第二例化操作子单元配置为将所述片上网络整体进行第二例化操作,其中,所述第二例化操作后的片上网络的多个功能节点包括至少一个第四模块和至少一个第五模块,所述至少一个第四模块配置为用于输入,所述至少一个第五模块配置为用于输出;系统验证子单元配置为对所述第二例化操作后的片上网络进行所述系统验证。
本公开至少一个实施例还提供了一种用于芯片验证的设备,所述设备包括存储器和处理器,其中所述存储器中存有可执行代码,当利用所述处理器执行所述可执行代码时,使得所述处理器执行如前任一所述的用于芯片验证的方法。
本公开至少一个实施例还提供了一种计算机可读存储介质,其上存储有可执行代码,所述可执行代码在被处理器执行时,使得所述处理器执行如前任一所述的用于芯片验证的方法。
本公开至少一实施例提供的一种用于芯片验证的方法、系统、设备以及存储介质,该用于芯片验证的方法通过启动所述要进行验证的属性对应的功能节点,并通过输入激励并行运行所述要进行验证的属性对应的功能节点,可以实现芯片验证的并行高效运行,缩短了仿真时间和迭代时间。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为一种片上网络的结构示意图;
图2为本公开至少一实施例提供的一种用于芯片验证的方法的流程示意图;
图3为本公开至少一实施例提供的对片上网络进行节点验证的执行过程示意图;
图4为本公开至少另一实施例提供的一种用于芯片验证的方法的流程示意图;
图5为本公开至少另一实施例提供的一种用于芯片验证的方法的流程示意图;
图6为本公开至少一实施例提供的对片上网络进行系统验证的执行过程示意图;
图7为本公开至少再一实施例提供的一种用于芯片验证的方法的流程示意图;
图8为本公开至少一实施例提供的一种用于芯片验证的系统的节点验证单元的示意图;
图9为本公开至少一实施例提供的一种用于芯片验证的系统的系统验证单元的示意图;
图10为本公开至少一实施例提供的一种用于芯片验证的设备的结构示意图;以及
图11为本公开至少一实施例提供的一种存储介质的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
图1为一种片上网络的结构示意图。如图1所示,片上网络NOC例如包括多个计算节点(C01/C02/C03……/C0N)和多个路由模块(R01……/R0N),多个计算节点例如在请求数据或指令(request)时可以实现为多个源模块(initiator)(I01/I02/I03……/I0N),多个计算例如在接收数据或指令(response)时可以实现为多个目的模块(target)(T01/T02/T03……/T0N)。片上网络是由路由模块来连通多条点对点的数据链路交互构建而成,这种方式使得任意信息通过这些节点,能够从任何源模块(initiator)到任何目的模块(target)自由传输。
需要说明的是,这里N为大于1的正整数。N的具体数值可以根据系统级芯片设计的需要选择。
随着基于总线系统级芯片的复杂度增加,片上网络NOC从拓扑结构、路由算法、交换策略以及流控机制等难度也越来越大。因此,对于上网络NOC的功能验证来说,如何随机并充分的验证所有通路的正确性,并且能够高效可复用验证平台,成为验证成功的关键点。且对于复杂的系统级芯片来说,设计期间会根据功耗面积等因素不断地修改路由结构,这就对验证平台的灵活性提出了很大的挑战。
从片上网络NOC的功能验证来划分,主要可分为节点验证(IP)以及系统验证(SOC)。而现有的技术方案中,对于节点验证平台,通常并行性不高,使得数量庞大的节点模块耗费大量时间。而对于系统验证平台,通常不能很好的随机且保证所有通路覆盖到,且复用性不强。
一个片上网络是由交换机(或路由器)来连通多条点对点的数据链路交互构建而成,使得信息在交换机中可以从任何源模块通过不同的链路转发到任何目的模块。
本公开至少一实施例提供一种用于芯片验证的方法。芯片包括片上网络,片上网络包括多个功能节点,该用于芯片验证的方法包括:对片上网络进行节点验证,包括:将片上网络的多个功能节点进行第一例化操作,以得到多个属性,多个属性分别与多个功能节点对应,从多个属性中选择要进行验证的属性,启动要进行验证的属性对应的功能节点,并通过输入激励并行运行要进行验证的属性对应的功能节点。
对于上述实施例的芯片验证的方法,例如,还可以包括:对所述片上网络进行系统验证,包括:将所述片上网络整体进行第二例化操作,其中,所述第二例化操作后的片上网络的多个功能节点包括至少一个第四模块和至少一个第五模块,所述至少一个第四模块配置为用于输入,所述至少一个第五模块配置为用于输出,对所述第二例化操作后的片上网络进行所述系统验证。
本公开上述实施例提供的用于芯片验证的方法,通过启动所述要进行验证的属性对应的功能节点,并通过输入激励并行运行所述要进行验证的属性对应的功能节点,可以实现芯片验证的并行高效运行,缩短了仿真时间和迭代时间。
下面结合附图对本公开的实施例及其示例进行详细说明。
图2为本公开至少一实施例提供的一种用于芯片验证的方法的流程示意图。图3为本公开至少一实施例提供的对片上网络进行节点验证的执行过程示意图。
例如,在一些实施例中,结合图1所示,芯片(例如,系统级系统SOC)包括片上网络NOC。片上网络NOC包括多个功能节点。例如,多个功能节点包括多个计算节点NOD和至少一个第三模块(R_1/R_2……/R_N)(例如路由模块)(如图3所示)。计算节点和第三模块将在后续详细介绍。
在一个复杂的片上网络NOC中,往往包含多个功能节点(例如,后续介绍的计算节点和第三模块等)。而想要充分验证整个片上网络NOC保证其正确性,往往需要先从节点验证开始,确保整个片上网络NOC的各个节点及模块的功能正确性。
例如,在一些实施例中,本公开至少一实施例提供的用于芯片验证的方法包括对片上网络进行节点验证。
图2所示的本公开实施例提供的用于芯片验证的方法包括步骤S110-步骤S130。
步骤S110:将片上网络的多个功能节点进行第一例化操作,以得到多个属性,多个属性分别与多个功能节点对应。
例如,在一些实施例中,将片上网络的多个功能节点经过第一例化操作,对应得到多个属性。也就是说多个功能节点中的每一种与一种属性对应。通过第一例化操作将多个功能节点例化到对片上网络进行节点验证的环境中。如图3所示,功能节点的计算节点NOD实现为第一模块(I_1/I_2……/I_N)时,第一模块(I_1/I_2……/I_N)(例如源模块)对应一个属性;功能节点的计算节点NOD实现为第二模块(T_1/T_2……/T_N)时,第二模块T_1/T_2……/T_N)(例如目的模块)对应另一个属性;第三模块(R_1/R_2……/R_N)对应再一个属性。也就是说,通过设置属性的方式,将同种功能节点打包在一起,以为并行运行同种功能节点以缩短仿真时间做准备。
步骤S120:从多个属性中选择要进行验证的属性。
例如,在一些实施例中,从多个属性中选择该次要进行验证的属性,以对多个属性逐一进行验证。通过选择要进行验证的属性,可以对应获得要进行验证的功能节点。
例如,在一些实施例中,从多个属性中选择所述要进行验证的属性,包括:通过第一配置文件选择要进行验证的属性,并配置要进行验证的属性对应的功能节点。如图3所示,第一配置模块S1读取第一配置文件的内容,根据第一配置文件的内容选择要进行验证的属性。通过第一配置文件可分别将节点设置为第一模式(例如,源模块),第二模式(例如,目标模块)以及第三模式(例如,路由模块),即每次仿真只能仿一种模式。第一模式、第二模式以及第三模式分别与一个属性对应。例如,当第一配置文件选择第一模式时,第一配置模块S1向被选择要进行验证的属性(与第一模式对应的属性)会输入与之相关的激励,也就是向被选择的属性对应的功能节点输入激励,以驱动功能节点运行,并获取相应的运行结果。例如输入激励由相应的驱动器(driver)(包括图3中所示的第一驱动器、第二驱动器以及第三驱动器)完成,获取相应的运行结果由相应的监视器(monitor)(包括图3中所示的第一监视器、第二监视器以及第三监视器)完成。
需要说明的是,第一配置模块S1还为功能节点驱动器、监视器等配置各种运行参数,例如,时序、时钟频率等。
步骤S130:启动要进行验证的属性对应的功能节点,并通过输入激励并行运行要进行验证的属性对应的功能节点。例如,如图3所示,通过驱动器向要进行验证的功能节点输入激励(例如,第一激励DR1、第二激励DR2或第三激励DR3),以并行运行要进行验证的功能节点(例如计算节点NOD第三模块)。由此,可以实现芯片验证的并行高效运行,缩短了仿真时间和迭代时间,进而提高了验证效率并节约了开发成本。
例如,在一些实施例中,在运行要进行验证的属性对应的功能节点后,获取运行结果并进行结果校验。例如,图3所示的监视器获取运行结果,并对运行结果进行分析,根据运行结果中出错的内容定位功能节点中的问题。根据发现的问题对功能节点进行修正。
例如,在一些实施例中,多个功能节点包括多个计算节点和至少一个第三模块,多个计算节点至少之一在第一场景下实现为至少一个第一模块,以及多个计算节点至少另一在第二场景下实现为至少一个第二模块。至少一个第一模块工作来发起通信操作,至少一个第二模块工作来响应通信操作,至少一个第三模块工作来传输通信操作。如图3所示,在片上网络NOC工作的过程中,多个功能节点包括多个计算节点NOD和多个第三模块(R_1/R_2……/R_N)。多个计算节点在第一场景下实现为多个第一模块(I_1/I_2……/I_N)。例如,第一场景为发送数据或指令的工作模式,以从第一模块发送出去数据或指令。多个计算节点在第二场景下还可以实现为多个第二模块(T_1/T_2……/T_N)。例如,第二场景为接收数据或指令的工作模式,第二模块接收数据或指令。多个第一模块(I_1/I_2……/I_N)工作来发起通信操作(例如发送出去数据或指令),多个第二模块(T_1/T_2……/T_N)工作来相应通信操作(例如接收数据或指令),多个第三模块(R_1/R_2……/R_N)工作来传输所述通信操作,也就是说第三模块作为通信传输链。
需要说明的是,图3中以N表示第一模块、第二模块或第三模块的数量,即以第一模块、第二模块或第三模块的数量相同为例。但是在片上网络中,第一模块、第二模块或第三模块的数量可以不相等,本公开实施例不以此为限。
如图3所示,驱动器包括多个第一驱动器(ID_1/……/ID_N)、多个第二驱动器(TD_1/……/TD_N)、多个第三驱动器(RD_1/……/RD_N),监视器包括多个第一监视器(IM_1/……/IM_N)、多个第二监视器(TM_1/……/TM_N)、多个第三监视器(RM_1/……/RM_N)。每个第一模块的输入端与一个第一驱动器连接,每个第一模块的输出端与一个第一监视器连接。第一驱动器用于向第一模块输入第一激励DR1,第一监视器用于获取第一模块的第一运行结果RST1。每个第二模块的输入端与第一个第二驱动器连接,每个第二模块的输出端与一个第二监视器连接。第二驱动器用于向第二模块输入激励DR2,第二监视器用于获取第二模块的运行结果RST2。每个第三模块的输入端与第一个第三驱动器连接,每个第三模块的输出端与一个第三监视器连接。第三驱动器用于向第三模块输入激励DR3,第三监视器用于获取第三模块的运行结果RST3。
例如,在一些实施例中,多个属性包括第一属性、第二属性以及第三属性。例如,第一属性对应于图3中的多个第一模块(I_1/I_2……/I_N),第二属性对应图3中的多个第二模块(T_1/T_2……/T_N),第三属性对应图3中的多个第三模块(R_1/R_2……/R_N)。
图4为本公开至少另一实施例提供的一种用于芯片验证的方法的流程示意图。图4所示的本公开实施例提供的用于芯片验证的方法包括步骤S210至步骤S250。例如,将片上网络的多个功能节点进行第一例化操作,以得到多个属性包括图4所示的步骤S210至步骤S220。
步骤S210:在第一场景下,将至少一个第一模块和至少一个第三模块分别进行第一例化操作,以得到第一属性以及第三属性。例如,如图3所示,在片上网络NOC运行过程的第一场景下,将多个第一模块(I_1/I_2……/I_N)和多个第三模块(R_1/R_2……/R_N)经过第一例化操作分别得到第一属性以及第三属性。多个第一模块(I_1/I_2……/I_N)与第一属性对应,多个第三模块(R_1/R_2……/R_N)与第三属性对应。也就是说,通过设置第一属性将多个第一模块(I_1/I_2……/I_N)打包在一起,通过设置第三属性将多个第三模块(R_1/R_2……/R_N)打包在一起。
步骤S220:在第二场景下,将至少一个第二模块和至少一个第三模块分别进行第一例化操作,以得到第二属性以及第三属性。例如,如图3所示,在片上网络NOC运行过程的第二场景下,将多个第二模块(T_1/T_2……/T_N)和多个第三模块(R_1/R_2……/R_N)经过第一例化操作分别得到第二属性以及第三属性。多个第二模块(T_1/T_2……/T_N)与第二属性对应,多个第三模块(R_1/R_2……/R_N)与第三属性对应。也就是说,通过设置第二属性将多个第二模块(T_1/T_2……/T_N)打包在一起。
步骤S230:当要进行验证的属性为第一属性时,从第一例化操作得到的第一属性对应的至少一个第一模块中,选择A个第一模块进行属性配置,并行运行A个第一模块。例如,如图3所示,从第一属性对应的多个第一模块(I_1/I_2……/I_N)中,选择A个第一模块进行属性配置。即,图3中示出的第一模块并不是同时都进行验证,可以根据配置的参数随机选择A个第一模块进行属性配置,以对A个第一模块进行验证。A为大于等于1的正整数,A不大于多个第一模块的总数N。此时,可以随机选择验证的第一模块,增加了芯片验证的灵活性和自适应性。
步骤S240:当要进行验证的属性为第二属性时,从第一例化操作得到的第二属性对应的至少一个第二模块中,选择B个第二模块进行属性配置,并行运行B个第二模块。例如,如图3所示,从第二属性对应的多个第二模块(T_1/T_2……/T_N)中,选择B个第二模块进行属性配置。即,图3中示出的第二模块并不是同时都进行验证,可以根据配置的参数随机选择B个第二模块进行属性配置,以对B个第二模块进行验证。B为大于等于1的正整数,B不大于多个第二模块的总数N。此时,可以随机选择验证的第二模块,增加了芯片验证的灵活性和自适应性。
步骤S250:当所述要进行验证的属性为第三属性时,从第一例化操作得到的第三属性对应的至少一个第三模块中,选择C个第三模块进行属性配置,并行运行C个第三模块。例如,如图3所示,从第三属性对应的多个第三模块(R_1/R_2……/R_N)中,选择C个第三模块进行属性配置。即,图3中示出的第三模块并不是同时都进行验证,可以根据配置的参数随机选择C个第三模块进行属性配置,以对C个第三模块进行验证。C为大于等于1的正整数,C不大于多个第三模块的总数N。此时,可以随机选择验证的第三模块,增加了芯片验证的灵活性和自适应性。
例如,在一些实施例中,对第一属性进行属性配置时,通过分别与A个第一模块连接的第一输入端,向A个第一模块输入第一激励,以驱动A个第一模块并行运行。如图3所示,第一输入端实现为第一驱动器,通过分别与A个第一模块输入端连接的第一驱动器(ID_1/……/ID_A),向A个第一模块输入第一激励DR1,以驱动A个第一模块并行运行。由此,在并行运行A个第一模块的情况下,可以缩短迭代时间,提交验证效率。例如,第一激励DR1的内容可以由第一配置模块S1确定并发送至第一驱动器(ID_1/……/ID_A)。需要说明的是,向A个第一模块接收的第一激励DR1的内容可以是不同的,根据实际的工作情况配置每个第一激励DR1的内容,本公开不限于此。
例如,在一些实施例中,对第二属性进行属性配置时,通过分别与B个第二模块连接的第二输入端,向B个第二模块输入第二激励,以驱动B个第二模块并行运行。如图3所示,第二输入端实现为第二驱动器,通过分别与B个第二模块输入端连接的第二驱动器(TD_1/……/TD_B),向B个第二模块输入第二激励DR2,以驱动B个第二模块并行运行。由此,在并行运行B个第二模块的情况下,可以缩短迭代时间,提交验证效率。例如,第二激励DR2的内容可以由第一配置模块S1确定并发送至第二驱动器(TD_1/……/TD_B)。需要说明的是,向B个第二模块接收的第二激励DR1的内容可以是不同的,根据实际的工作情况配置每个第二激励DR1的内容,本公开不限于此。
例如,在一些实施例中,对第三属性进行属性配置时,通过分别与C个第三模块连接的第三输入端,向C个第三模块输入第三激励,以驱动C个第三模块并行运行。如图3所示,第二输入端实现为第二驱动器,通过分别与C个第三模块输入端连接的第三驱动器(RD_1/……/RD_C),向C个第三模块输入第三激励DR2,以驱动C个第三模块并行运行。由此,在并行运行C个第三模块的情况下,可以缩短迭代时间,提交验证效率。例如,第三激励DR2的内容可以由第一配置模块S1确定并发送至第三驱动器(RD_1/……/RD_C)。需要说明的是,向C个第三模块接收的第三激励DR1的内容可以是不同的,根据实际的工作情况配置每个第三激励DR1的内容,本公开不限于此。
例如,在一些实施例中,通过分别与A个第一模块连接的第一输出端,获取A个第一模块并行运行的第一运行结果,并对第一运行结果进行结果校验。例如,如图3所示,第一输出端实现为第一监视器,通过分别与A个第一模块输出端连接的第一监视器(IM_1/……/IM_A),获取A个第一模块运行的第一运行结果RST1,并对第一运行结果进行结果校验。通过对第一运行结果RST1进行分析,根据第一运行结果RST1中出错的内容定位A个第一模块中的问题。根据发现的问题对A个第一模块进行修正。
例如,在一些实施例中,通过分别与B个第二模块连接的第二输出端,获取B个第二模块并行运行的第二运行结果,并对第二运行结果进行结果校验。例如,如图3所示,第二输出端实现为第二监视器,通过分别与B个第二模块输出端连接的第二监视器(TM_1/……/TM_B),获取B个第二模块运行的第二运行结果RST2,并对第二运行结果RST2进行结果校验。通过对第二运行结果RST2进行分析,根据第二运行结果RST2中出错的内容定位B个第二模块中的问题。根据发现的问题对B个第二模块进行修正。
例如,在一些实施例中,通过分别与C个第三模块连接的第三输出端,获取C个第三模块并行运行的第三运行结果,并对第三运行结果进行结果校验。例如,如图3所示,第三输出端实现为第三监视器,通过分别与C个第三模块输出端连接的第三监视器(TM_1/……/TM_C),获取C个第三模块运行的第三运行结果RST3,并对第二运行结果RST3进行结果校验。通过对第三运行结果RST3进行分析,根据第三运行结果RST3中出错的内容定位C个第三模块中的问题。根据发现的问题对C个第三模块进行修正。
例如,在上述实施例中,通过将片上网络NOC中的功能节点分为三个属性,并在同一时刻并行运行一个属性对应的功能节点,相比于对功能节点的每一个模块单独进行仿真的方式,本公开实施例提供的用于芯片验证的方法可以将原本需要N*T(T表示一个模块运行的时间)的时间缩短为3*T,提高了验证效率并节约了开发成本。
例如,在一些实施例中,本公开实施例提供的用于芯片验证的方法还对片上网络进行系统验证。例如,在对片上网络进行节点验证后,通常情况下需要对片上网络NOC进行系统验证,以保证片上网络NOC中的任意一条数据链通畅正确。此外,根据芯片设计的需要也可以对片上网络NOC进行节点验证而不进行系统验证,本公开实施例不以此为限。
图5为本公开至少另一实施例提供的一种用于芯片验证的方法的流程示意图。图6为本公开至少一实施例提供的对片上网络进行系统验证的执行过程示意图。
如图5所示,对片上网络进行系统验证包括步骤S310至步骤S320。
步骤S310:将片上网络整体进行第二例化操作,第二例化操作后的片上网络的多个功能节点包括至少一个第四模块和至少一个第五模块。例如,如图6所示,第二例化操作后的片上网络NOC’的多个功能节点包括多个第四模块(Ia_1/Ia_2……/Ia_N)(例如源模块)和多个第五模块Ta_1/Ta_2……/Ta_N)(例如目的模块)。第四模块用于输入(例如发起通信操作,比如,发送数据或指令),第五模块用于输出(例如相应通信操作,比如,接收数据或指令)。再对第二例化操作后的片上网络NOC’进行验证的过程中,通过至少一个第四模块和至少一个第五模块进行测试数据输入和结果输出,在对输出结果进行校验。
例如,如图6所示,多个第四模块(Ia_1/Ia_2……/Ia_N)分别与多个数据发送端(MST_UVC_1/……/MST_UVC_N)连接。多个第五模块Ta_1/Ta_2……/Ta_N)分别与多个数据接收端(SLV_UVC_1/……/SLV_UVC_N)连接。通过数据发送端向第四模块发送测试数据,通过数据接收端接收第五模块的测试数据运行后的运行结果。
需要说明的是,第二例化操作和第一例化操作时通过不同代码实现的,例化所得到的仿真环境不同。片上网络NOC的第二例化操作和第一例化操作之间相互独立,没有关联。
步骤S320:对第二例化操作后的片上网络进行系统验证。例如,如图6所示,通过第二配置模块S2向数据发送端(MST_UVC_1/……/MST_UVC_N)发送测试数据。再通过数据发送端(MST_UVC_1/……/MST_UVC_N)将测试数据发送至第四模块,以运行第二例化操作后的片上网络NOC’,通过数据接收端(SLV_UVC_1/……/SLV_UVC_N)接收第五模块获得的测试数据运行后的运行结果对片上网络进行系统验证。由此,对片上网络进行系统验证的方法将片上网络整体例化,在对例化后的片上网络系统验证,可以自适应片上网络NOC的变化与修改,节省开发成本。
需要说明的是,N表示第四模块和第五模块的数量。在其它实施例中,第四模块和第五模块的数量也可以不同。
例如,在一些实施例中,对第二例化操作后的片上网络进行系统验证,包括:从至少一个第四模块和至少一个第五模块中选择要进行验证的D个第四模块和E个第五模块,以对第二例化操作后的片上网络进行系统验证。D和E为大于等于1的正整数。例如,如图6所示,可以随机从N个第四模块和N个第五模块中选择D个第四模块和E个第五模块,并基于所选择的D个第四模块和E个第五模块对第二例化操作后的片上网络NOC’进行验证。例如,一旦选择了要进行验证的D个第四模块和E个第五模块,数据发送端和数据输入端对应地与D个第四模块和E个第五模块分别通信连接,一对其进行数据输入和接收。由此,可以系统验证的仿真环境中随机指定要进行验证的第四模块和第五模块,能够保证片上网络的全部传输链得到充分的验证。
例如,在一些实施例中,D和E可以不相等。即,要进行验证的第四模块的数量和第五模块的数量可以不相等,以进一步保证片上网络的全部传输链得到充分的验证。
例如,多个功能节点还包括至少一个第六模块。如图6所示,第二例化操作后的片上网络NOC’的多个功能节点还包括多个第六模块(Ra_1/Ra_2……/Ra_N)(例如路由模块),多个第六模块(Ra_1/Ra_2……/Ra_N)之间相互信号连通,形成多个第四模块(Ia_1/Ia_2……/Ia_N)和多个第五模块Ta_1/Ta_2……/Ta_N)的信号通路(例如通信传输链)。
图7为本公开至少再一实施例提供的一种用于芯片验证的方法的流程示意图。图7所示实施例提供的用于芯片验证的方法包括步骤S410至步骤S420。
步骤S410:通过第二配置文件从至少一个第四模块和至少一个第五模块中选择要进行验证的D个第四模块和E个第五模块。D个第四模块和E个第五模块通过至少一个第六模块通信连接。
例如,如图6所示,第二配置模块S2读取第二配置文件的内容,第二配置模块S2根据第二配置文件的内容选择要进行验证的D个第四模块和E个第五模块。例如,在一些实施例中,设置第二配置文件中的配置参数。配置参数用于从至少一个第四模块和至少一个第五模块中选择要进行验证的第四模块的数量和第五模块的数量。例如,配置参数为随机数。由此,可以根据芯片设计需要来自动匹配变化的第四模块的数量和五模块的数量,以避免对仿真环境的大批量修改,使得对芯片进行系统验证的可复用性和自适应性得以提高,进而提高安全性和节省开发成本。
步骤S420:向D个第四模块发送测试数据,测试数据在第二例化操作后的片上网络中运行,测试数据运行后的运行结果通过E个第五模块反馈。例如,如图6所示,第二配置模块S2将测试数据发送至数据发送端,再通过数据发送端将测试数据发送至第四模块。测试数据在第二例化操作后的片上网络NOC’中运行,并通过多个第六模块形成的传输链将测试数据运行的结果发送至第五模块。通过数据接收端获取第五模块中测试数据运行后的运行结果。并对测试数据运行后的运行结果进行分析,根据测试数据运行后的运行结果中出错的内容定位传输链或功能节点中的问题。根据发现的问题对片上网络进行修正。
例如,本公开至少一实施例还提供一种用于芯片验证的系统。图8为本公开至少一实施例提供的一种用于芯片验证的系统的节点验证单元的示意图。
例如,在一些实施例中,如图8所示,用于芯片验证的系统包括节点验证单元200。节点验证单元200配置为对片上网络进行节点验证。节点验证单元200包括第一例化操作子单元210、属性选择子单元220以及节点运行子单元230。
例如,第一例化操作子单元210配置为将片上网络的所述多个功能节点进行第一例化操作,以得到多个属性。多个属性分别与多个功能节点对应。
例如,在一些实施例中,将片上网络的多个功能节点经过第一例化操作,对应得到多个属性。也就是说多个功能节点中的每一种与一种属性对应。通过第一例化操作将多个功能节点例化到对片上网络进行节点验证的环境中。如图3所示,功能节点的计算节点NOD实现为第一模块(I_1/I_2……/I_N)时,第一模块(I_1/I_2……/I_N)(例如源模块)对应一个属性;功能节点的计算节点NOD实现为第二模块(T_1/T_2……/T_N)时,第二模块T_1/T_2……/T_N)(例如目的模块)对应另一个属性;第三模块(R_1/R_2……/R_N)对应再一个属性。也就是说,通过设置属性的方式,将同种功能节点打包在一起,以为并行运行同种功能节点以缩短仿真时间做准备。
例如,属性选择子单元220配置为从多个属性中选择要进行验证的属性。
例如,在一些实施例中,从多个属性中选择所述要进行验证的属性,包括:通过第一配置文件选择要进行验证的属性,并配置要进行验证的属性对应的功能节点。如图3所示,第一配置模块S1读取第一配置文件的内容,根据第一配置文件的内容选择要进行验证的属性。例如,当第一配置文件选择一个属性时,第一配置模块S1向被选择要进行验证的属性会输入与之相关的激励,也就是向被属性对应的功能节点输入激励,以驱动功能节点运行,并获取相应的运行结果。例如输入激励由相应的驱动器(包括图3中所示的第一驱动器、第二驱动器以及第三驱动器)完成,获取相应的运行结果由相应的监视器(包括图3中所示的第一监视器、第二监视器以及第三监视器)完成。
例如,节点运行子单元230配置为启动要进行验证的属性对应的功能节点,并通过输入激励并行运行要进行验证的属性对应的功能节点。例如,如图3所示,通过驱动器向要进行验证的功能节点输入激励(例如,第一激励DR1、第二激励DR2或第三激励DR3),以并行运行要进行验证的功能节点(例如计算节点NOD第三模块)。由此,可以实现芯片验证的并行高效运行,缩短了仿真时间和迭代时间,进而提高了验证效率并节约了开发成本。
图9为本公开至少一实施例提供的一种用于芯片验证的系统的系统验证单元的示意图。例如,在一些实施例中,如图9所示,用于芯片验证的系统包括系统验证单元300。系统验证单元300配置为对片上网络进行系统验证。系统验证单元300包括第二例化操作子单元310以及系统验证子单元320。
例如,第二例化操作子单元310配置为将片上网络整体进行第二例化操作,第二例化操作后的片上网络的多个功能节点包括至少一个第四模块和至少一个第五模块。至少一个第四模块配置为用于输入,至少一个第五模块配置为用于输出。例如,如图6所示,第二例化操作后的片上网络NOC’的多个功能节点包括多个第四模块(Ia_1/Ia_2……/Ia_N)(例如源模块)和多个第五模块Ta_1/Ta_2……/Ta_N)(例如目的模块)。第四模块用于输入(例如发起通信操作,比如,发送数据或指令),第五模块用于输出(例如相应通信操作,比如,接收数据或指令)。在对第二例化操作后的片上网络NOC’进行验证的过程中,通过至少一个第四模块和至少一个第五模块进行测试数据输入和结果输出,再对输出结果进行校验。
例如,系统验证子单元320配置为对第二例化操作后的片上网络进行系统验证。例如,如图6所示,通过第二配置模块S2向数据发送端(MST_UVC_1/……/MST_UVC_N)发送测试数据。再通过数据发送端(MST_UVC_1/……/MST_UVC_N)将测试数据发送至第四模块,以运行第二例化操作后的片上网络NOC’,通过数据接收端(SLV_UVC_1/……/SLV_UVC_N)接收第五模块获得的测试数据运行后的运行结果对片上网络进行系统验证。由此,对片上网络进行系统验证的方法将片上网络整体例化,在对例化后的片上网络系统验证,可以自适应片上网络NOC的变化与修改,节省开发成本。
上述本公开实施例中,例如,第一例化操作子单元210、属性选择子单元220以及节点运行子单元230,或者第二例化操作子单元310以及系统验证子单元320,可以使用软件、固件或硬件的方式实现,本公开对此不作限制。
图10为本公开至少一实施例提供的一种用于芯片验证的设备的结构示意图。
图10所示的用于芯片验证的设备400例如适于用来实施本公开实施例提供的用于芯片验证的方法。用于芯片验证的设备400可以是个人电脑、笔记本电脑、平板电脑、移动电话等终端设备也可以是工作站、服务器、云服务等。需要注意的是,图10示出的用于芯片验证的设备400仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
如图10所示,用于芯片验证的设备400可以包括处理装置(例如中央处理器、图形处理器等)410,其可以根据存储在只读存储器(ROM)420中的程序或者从存储装置480加载到随机访问存储器(RAM)430中的程序而执行各种适当的动作和处理。在RAM 430中,还存储有用于芯片验证的设备400操作所需的各种程序和数据。处理装置410、ROM 420以及RAM430通过总线440彼此相连。输入/输出(I/O)接口450也连接至总线440。
通常,以下装置可以连接至I/O接口450:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置460;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置470;包括例如磁带、硬盘等的存储装置480;以及通信装置490。通信装置490可以允许用于芯片验证的设备400与其他电子设备进行无线或有线通信以交换数据。虽然图10示出了包括各种装置的用于芯片验证的设备400,但应理解的是,并不要求实施或具备所有示出的装置,用于芯片验证的设备400可以替代地实施或具备更多或更少的装置。
例如,根据本公开的实施例,上述用于芯片验证的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述用于芯片验证的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置490从网络上被下载和安装,或者从存储装置480安装,或者从ROM 420安装。在该计算机程序被处理装置410执行时,可以执行本公开实施例提供的用于芯片验证的方法中限定的功能。
本公开至少一个实施例还提供一种存储介质,用于存储非暂时性计算机程序可执行代码(例如计算机可执行指令),当该非暂时性计算机程序可执行代码由计算机执行时可以实现本公开任一实施例所述的用于芯片验证的方法;或者,当该非暂时性计算机程序可执行代码由计算机执行时可以实现本公开任一实施例所述的用于芯片验证的方法。
图11为本公开至少一实施例提供的一种存储介质的示意图。如图11所示,存储介质500非暂时性地存储有计算机程序可执行代码501。例如,当计算机程序可执行代码501由计算机执行时可以执行根据上文所述的用于芯片验证的方法中的一个或多个步骤。
例如,该存储介质500可以应用于上述用于芯片验证的设备400中。例如,存储介质500可以为图11所示的用于芯片验证的设备400中的存储器420。例如,关于存储介质500的相关说明可以参考图11所示的用于芯片验证的设备400中的存储器420的相应描述,此处不再赘述。
除了上述描述之外,有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种用于芯片验证的方法,其中,所述芯片包括片上网络,所述片上网络包括多个功能节点,
所述方法包括:
对所述片上网络进行节点验证,包括:
将所述片上网络的所述多个功能节点进行第一例化操作,以得到多个属性,其中,所述多个属性分别与所述多个功能节点对应,
从所述多个属性中选择要进行验证的属性,
启动所述要进行验证的属性对应的功能节点,并通过输入激励并行运行所述要进行验证的属性对应的功能节点。
2.根据权利要求1所述的用于芯片验证的方法,还包括:
在运行所述要进行验证的属性对应的功能节点后,获取运行结果并进行结果校验。
3.根据权利要求1所述的用于芯片验证的方法,其中,从所述多个属性中选择所述要进行验证的属性,包括:
通过第一配置文件选择所述要进行验证的属性,并配置所述要进行验证的属性对应的功能节点。
4.根据权利要求1所述的用于芯片验证的方法,其中,
所述多个功能节点包括多个计算节点和至少一个第三模块,所述多个计算节点至少之一在第一场景下实现为至少一个第一模块,以及所述多个计算节点至少另一在第二场景下实现为至少一个第二模块,
其中,所述至少一个第一模块工作来发起通信操作,所述至少一个第二模块工作来响应所述通信操作,所述至少一个第三模块工作来传输所述通信操作。
5.根据权利要求4所述的用于芯片验证的方法,其中,所述多个属性包括第一属性、第二属性以及第三属性,
将所述片上网络的所述多个功能节点进行所述第一例化操作,以得到所述多个属性,包括:
在所述第一场景下,将所述至少一个第一模块和所述至少一个第三模块分别进行所述第一例化操作,以得到所述第一属性以及所述第三属性,
在所述第二场景下,将所述至少一个第二模块和所述至少一个第三模块分别进行所述第一例化操作,以得到所述第二属性以及所述第三属性。
6.根据权利要求5所述的用于芯片验证的方法,其中,
当所述要进行验证的属性为所述第一属性时,从所述第一例化操作得到的所述第一属性对应的至少一个第一模块中,选择A个第一模块进行属性配置,并行运行所述A个第一模块;
当所述要进行验证的属性为所述第二属性时,从所述第一例化操作得到的所述第二属性对应的至少一个第二模块中,选择B个第二模块进行属性配置,并行运行所述B个第二模块;
当所述要进行验证的属性为所述第三属性时,从所述第一例化操作得到的所述第三属性对应的至少一个第三模块中,选择C个第三模块进行属性配置,并行运行所述C个第三模块;
其中,A、B以及C为大于等于1的正整数。
7.根据权利要求6所述的用于芯片验证的方法,其中,
对所述第一属性进行属性配置时,通过分别与所述A个第一模块连接的第一输入端,向所述A个第一模块输入第一激励,以驱动所述A个第一模块并行运行,
对所述第二属性进行属性配置时,通过分别与所述B个第二模块连接的第二输入端,向所述B个第二模块输入第二激励,以驱动所述B个第二模块并行运行,
对所述第三属性进行属性配置时,通过分别与所述C个第三模块连接的第三输入端,向所述C个第三模块输入第三激励,以驱动所述C个第三模块并行运行。
8.根据权利要求7所述的用于芯片验证的方法,其中,
通过分别与所述A个第一模块连接的第一输出端,获取所述A个第一模块并行运行的第一运行结果,并对所述第一运行结果进行结果校验,
通过分别与所述B个第二模块连接的第二输出端,获取所述B个第二模块并行运行的第二运行结果,并对所述第二运行结果进行结果校验,
通过分别与所述C个第三模块连接的第三输出端,获取所述C个第三模块并行运行的第三运行结果,并对所述第三运行结果进行结果校验。
9.根据权利要求1-6任一所述的用于芯片验证的方法,还包括:
对所述片上网络进行系统验证,包括:
将所述片上网络整体进行第二例化操作,其中,所述第二例化操作后的片上网络的多个功能节点包括至少一个第四模块和至少一个第五模块,所述至少一个第四模块配置为用于输入,所述至少一个第五模块配置为用于输出,
对所述第二例化操作后的片上网络进行所述系统验证。
10.根据权利要求9所述的用于芯片验证的方法,其中,对所述第二例化操作后的片上网络进行所述系统验证,包括:
从所述至少一个第四模块和所述至少一个第五模块中选择要进行验证的D个第四模块和E个第五模块,以对所述第二例化操作后的片上网络进行所述系统验证,
其中,D和E为大于等于1的正整数。
11.根据权利要求10所述的用于芯片验证的方法,其中,所述多个功能节点还包括至少一个第六模块,
从所述至少一个第四模块和所述至少一个第五模块中选择要进行验证的D个第四模块和E个第五模块,以对所述第二例化操作后的片上网络进行所述系统验证,包括:
通过第二配置文件从所述至少一个第四模块和所述至少一个第五模块中选择要进行验证的所述D个第四模块和所述E个第五模块,其中,所述D个第四模块和所述E个第五模块通过所述至少一个第六模块通信连接,
向所述D个第四模块发送测试数据,所述测试数据在所述第二例化操作后的片上网络中运行,所述测试数据运行后的运行结果通过所述E个第五模块反馈。
12.根据权利要求11所述的用于芯片验证的方法,其中,
设置所述第二配置文件中的配置参数,所述配置参数用于从所述至少一个第四模块和所述至少一个第五模块中选择要进行验证的第四模块的数量和第五模块的数量。
13.根据权利要求12所述的用于芯片验证的方法,其中,
所述配置参数为随机数。
14.一种用于芯片验证的系统,其中,所述芯片包括片上网络,所述片上网络包括多个功能节点,
所述系统包括:
节点验证单元,配置为对所述片上网络进行节点验证,所述节点验证单元包括:
第一例化操作子单元,配置为将所述片上网络的所述多个功能节点进行第一例化操作,以得到多个属性,其中,所述多个属性分别与所述多个功能节点对应,
属性选择子单元,配置为从所述多个属性中选择要进行验证的属性,
节点运行子单元,配置为启动所述要进行验证的属性对应的功能节点,并通过输入激励并行运行所述要进行验证的属性对应的功能节点。
15.根据权利要求14所述的用于芯片验证的系统,还包括:
系统验证单元,配置为对所述片上网络进行系统验证,所述系统验证单元包括:
第二例化操作子单元,配置为将所述片上网络整体进行第二例化操作,其中,所述第二例化操作后的片上网络的多个功能节点包括至少一个第四模块和至少一个第五模块,所述至少一个第四模块配置为用于输入,所述至少一个第五模块配置为用于输出,
系统验证子单元,配置为对所述第二例化操作后的片上网络进行所述系统验证。
16.一种用于芯片验证的设备,包括:
处理器;和
存储器,其中,存储器中存储有计算机可执行代码,计算机可执行代码当由处理器运行时,执行权利要求1-13任一所述的用于芯片验证的方法。
17.一种计算机可读存储介质,其上存储有可执行代码,可执行代码在被处理器执行时,使得处理器执行权利要求1-13任一所述的用于芯片验证的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011407127.7A CN112433900B (zh) | 2020-12-03 | 2020-12-03 | 用于芯片验证的方法、系统、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011407127.7A CN112433900B (zh) | 2020-12-03 | 2020-12-03 | 用于芯片验证的方法、系统、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112433900A CN112433900A (zh) | 2021-03-02 |
CN112433900B true CN112433900B (zh) | 2023-03-14 |
Family
ID=74692182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011407127.7A Active CN112433900B (zh) | 2020-12-03 | 2020-12-03 | 用于芯片验证的方法、系统、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433900B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117768356B (zh) * | 2024-02-21 | 2024-04-19 | 北京壁仞科技开发有限公司 | 预测方法及装置、电子设备与存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020590A1 (zh) * | 2015-08-05 | 2017-02-09 | 深圳市中兴微电子技术有限公司 | 一种芯片验证方法和装置、设备、存储介质 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
CN107704384A (zh) * | 2017-09-14 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种加速芯片功能验证收敛的方法及系统 |
CN111025134A (zh) * | 2019-12-30 | 2020-04-17 | 北京自动测试技术研究所 | 一种片上系统芯片的测试方法及系统 |
CN111858306A (zh) * | 2020-06-12 | 2020-10-30 | 海光信息技术有限公司 | 一种芯片验证方法、装置、芯片及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658633B2 (en) * | 2001-10-03 | 2003-12-02 | International Business Machines Corporation | Automated system-on-chip integrated circuit design verification system |
US10855541B2 (en) * | 2016-03-29 | 2020-12-01 | Nokia Solutions And Networks Oy | Methods and apparatuses for moving virtualized network function instances between network service instances |
CN108052769A (zh) * | 2017-12-28 | 2018-05-18 | 天津芯海创科技有限公司 | 网表仿真验证方法和装置 |
CN109547252A (zh) * | 2018-11-27 | 2019-03-29 | 新华三技术有限公司合肥分公司 | 实例化节点的方法、装置和服务器 |
CN109634256B (zh) * | 2018-11-28 | 2020-08-04 | 北京时代民芯科技有限公司 | 一种通用can控制器芯片的板级验证系统 |
CN110928534B (zh) * | 2019-10-14 | 2021-11-09 | 上海唯链信息科技有限公司 | 一种基于区块链的工作流节点认证方法及装置 |
CN111861463A (zh) * | 2020-07-20 | 2020-10-30 | 冯小庆 | 基于区块链和人工智能的信息智能识别方法及大数据平台 |
-
2020
- 2020-12-03 CN CN202011407127.7A patent/CN112433900B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020590A1 (zh) * | 2015-08-05 | 2017-02-09 | 深圳市中兴微电子技术有限公司 | 一种芯片验证方法和装置、设备、存储介质 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
CN107704384A (zh) * | 2017-09-14 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种加速芯片功能验证收敛的方法及系统 |
CN111025134A (zh) * | 2019-12-30 | 2020-04-17 | 北京自动测试技术研究所 | 一种片上系统芯片的测试方法及系统 |
CN111858306A (zh) * | 2020-06-12 | 2020-10-30 | 海光信息技术有限公司 | 一种芯片验证方法、装置、芯片及存储介质 |
Non-Patent Citations (1)
Title |
---|
ARINC659总线协议芯片的仿真验证;马宁等;《计算机技术与发展》;20100110(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112433900A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104471537A (zh) | 中介虚拟机任务管理 | |
CN113553257B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN108874677A (zh) | 一种安卓终端及其测试方法和系统 | |
CN105252533A (zh) | 机器人交互系统、云计算平台、用户终端和机器人 | |
US20170208637A1 (en) | Method and Apparatus for Interconnecting Smart Terminal and In-Vehicle Terminal | |
CN112433900B (zh) | 用于芯片验证的方法、系统、设备以及存储介质 | |
CN111400167A (zh) | Redfish服务合规性验证方法、装置及设备和介质 | |
CN109375956A (zh) | 一种重启操作系统的方法、逻辑设备以及控制设备 | |
CN110083466A (zh) | 一种小程序的数据传输方法和装置 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
CN103092676A (zh) | 虚拟机集群的模拟输入输出方法、装置及系统 | |
CN113867758A (zh) | 无人机自动升级方法、装置、无人机、遥控端及存储介质 | |
WO2024113767A1 (zh) | 智能网卡的上电方法及上电装置 | |
CN112003723A (zh) | Expander芯片的固件批量升级实现方法和系统 | |
CN110298670B (zh) | 涉及pbft的共识方法及其装置 | |
CN115269056A (zh) | 基于类加载器的加密模块插件化方法、装置及相关产品 | |
CN109725621A (zh) | 一种基于1553b总线和can总线的二级总线程序在线烧写方法 | |
CN105357243B (zh) | 一种与物联网设备远程交互的方法和装置 | |
CN114116497A (zh) | 测试方法与装置、服务器 | |
CN102801583B (zh) | 移动平台key的测试方法及系统 | |
CN105827400B (zh) | 一种设置验证码有效时间的方法、服务器及系统 | |
CN102799407A (zh) | 基于基板管理控制器进行显示的方法和装置 | |
CN109003031A (zh) | 一种生产调试产品的方法、设备以及存储介质 | |
CN112000381B (zh) | 一种资源加载方法、装置、电子设备和介质 | |
CN111367624B (zh) | 一种SONiC系统建立仿真平台的方法和设备 |
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 |