CN112597717B - Ip核验证方法、装置及电子设备 - Google Patents
Ip核验证方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112597717B CN112597717B CN202011483623.0A CN202011483623A CN112597717B CN 112597717 B CN112597717 B CN 112597717B CN 202011483623 A CN202011483623 A CN 202011483623A CN 112597717 B CN112597717 B CN 112597717B
- Authority
- CN
- China
- Prior art keywords
- core
- target
- verified
- verification
- configurations
- 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
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
本申请涉及一种IP核验证方法、装置及电子设备。本申请实施例提供的IP核验证方法,包括:根据验证需求,确定出目标数量种待验证配置;从预设的多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,多个IP核模块为待验证IP核在被应用到多个芯片系统时对应的参数化描述对象;通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。本申请实施例提供的IP核验证方法、装置及电子设备能够减少可复用的IP核验证过程中大量重复的工作,降低了时间成本和人力成本,同时,也使得IP核的验证过程更具有可控性,最终,提高可复用的IP核的验证效率。
Description
技术领域
本申请涉及芯片设计制造技术领域,具体而言涉及一种IP核验证方法、装置及电子设备。
背景技术
随着半导体工艺特征尺寸的不断缩小,片上系统的规模越来越大,功能也日益复杂,片上系统验证的时间和资源开销也越来越大,因此,片上系统的验证流程也趋向于将IP核验证环境建立在由多个功能相关模块构成的子系统上,验证人员通过并行的完成多个子系统的功能验证,从而达到验证整个芯片功能的目的。
但是,在某些系统中,往往存在某些更小的IP核分别在不同子系统中被多次调用,这些IP核则属于可复用的IP核。这些IP核被调用时的配置不完全相同,例如,IP参数配置可能不相同,接口连接可能不相同,有效的功能特征也可能不相同。因此,在验证过程中,一方面,对于此类IP核需要对IP核本身进行功能的完整验证,另一方面,需要结合不同的应用场景进行验证,也即,将IP核应用到某个子系统或某个片上系统一起进行整体的验证。为了完成这些验证,验证人员需要分别在IP核验证系统、子系统验证系统和片上系统验证系统中分别把此类IP加入验证系统,并加入相关的测试用例。由于每个验证系统的设计相对独立,因此,会导致有大量重复的工作,耗费大量的时间成本和人力成本,从而降低验证效率。
发明内容
本申请的目的在于,提供一种IP核验证方法、装置及电子设备,以解决上述问题。
第一方面,本申请提供的IP核验证方法,包括:
根据验证需求,确定出目标数量种待验证配置;
从预设的多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象;
通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
结合第一方面,本申请实施例还提供了第一方面的第一种可选的实施方式,从预设的多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块之前,IP核验证方法还包括:
确定出待验证IP核在被应用到一个或多个芯片系统时需设定的配置,以获得多种待设定配置;
生成与多种待设定配置一一对应的多个IP核模块。
结合第一方面的第一种可选的实施方式,本申请实施例还提供了第一方面的第二种可选的实施方式,根据多种待设定配置,生成与多种待设定配置一一对应的多个IP核模块,包括:
分别确定出多种待设定配置中,每种待设定配置所对应的多个特征项;
针对多种待设定配置中的每种待设定配置,生成一条待验证IP核的参数化描述对象,且参数化描述对象中具有待设定配置对应的多个特征项;
将与多种待设定配置一一对应的多条参数化描述对象,作为多个IP核模块。
结合第一方面的第二种可选的实施方式,本申请实施例还提供了第一方面的第三种可选的实施方式,从预设的多个IP核模块中获取与目标数量种待验证配置一一对应的目标数量个目标IP核模块,包括:
获取模块配置列表,模块配置列表中包括多个IP核模块以及与多个IP核模块一一对应的多种待设定配置;
从模块配置列表中查找出与目标数量种待验证配置一一对应的目标数量种待设定配置;
将与目标数量种待设定配置一一对应的目标数量个IP核模块作为目标数量个目标IP核模块。
结合第一方面,本申请实施例还提供了第一方面的第四种可选的实施方式,通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果,包括:
分别将目标数量个目标IP核模块连接到对应的IP核验证环境中,以对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
结合第一方面的第四种可选的实施方式,本申请实施例还提供了第一方面的第五种可选的实施方式,分别将目标数量个目标IP核模块连接到对应的IP核验证环境中,包括:
在预设的IP核验证系统中,将目标数量个目标IP核模块设置为有效状态;
分别实例化目标数量个目标IP核模块对应的IP核验证环境,以将目标数量个目标IP核模块连接到对应的IP核验证环境中。
结合第一方面的第五种可选的实施方式,本申请实施例还提供了第一方面的第六种可选的实施方式,分别实例化目标数量个目标IP核模块对应的IP核验证环境,以将目标数量个目标IP核模块连接到对应的IP核验证环境中,包括:
针对目标数量个目标IP核模块中的每个目标IP核模块,遍历目标IP核模块中包括的多个特征项;
在遍历多个特征项的过程中,每遍历到一个特征项时,则控制特征项所表征的连接状态由无效连接状态转换为有效连接状态,以将目标IP核模块连接到对应的IP核验证环境中。
结合第一方面的第五种可选的实施方式,本申请实施例还提供了第一方面的第七种可选的实施方式,在预设的IP核验证系统中,将目标数量个目标IP核模块设置为有效状态之前,IP核验证方法还包括:
创建IP核验证平台;
将多个IP核模块添加到IP核验证平台中,生成IP核验证系统。
结合第一方面,本申请实施例还提供了第一方面的第八种可选的实施方式,通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果,包括:
分别将目标数量个目标IP核模块连接到对应的目标芯片系统中,以对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
第二方面,本申请实施例还提供了一种IP核验证装置,包括:
待验证配置确定模块,一一根据验证需求,确定出目标数量条待验证配置;
目标IP核获取模块,从预设的多个IP核模块中确定出与目标数量条待验证配置一一对应的目标数量个目标IP核模块,多个IP核模块为待验证IP核在被应用到多个芯片系统时对应的参数化描述对象;
验证模块,用于通过目标数量个目标IP核模块对待验证IP核进行验证。
第三方面,本申请实施例还提供了一种电子设备,包括处理器和存储器,存储器上存储有计算机程序,处理器用于执行计算机程序,以实现上述第一方面,或第一方面的任意一种可选的实施方式所提供的IP核验证方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现上述第一方面,或第一方面的任意一种可选的实施方式所提供的IP核验证方法。
本申请实施例提供的IP核验证方法能够在根据验证需求,确定出目标数量种待验证配置之后,从预设的多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象,此后,直接通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。在此过程中,由于多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象,因此,针对不同的验证需求,都能够灵活的根据实际确定出的目标数量种待验证配置,从多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,以便直接通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果,因此,相对于现有技术而言,本申请实施例提供的IP核验证方法、装置及电子设备能够减少可复用的IP核验证过程中大量重复的工作,降低了时间成本和人力成本,同时,也使得IP核的验证过程更具有可控性,最终,提高可复用的IP核的验证效率。
本申请实施例提供的IP核验证装置、电子设备及计算机可读存储介质具有与上述IP核验证方法相同的有益效果,此处不作赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的示意性结构框图。
图2为本申请实施例提供的一种IP核验证方法的步骤流程图。
图3为本申请实施例提供的一种IP核验证方法的辅助性说明图。
图4为本申请实施例提供的一种IP核验证装置的示意性结构框图。
附图标记:100-电子设备;110-处理器;120-存储器;200-IP核验证装置;210-待验证配置确定模块;220-目标IP核获取模块;230-验证模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。此外,应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1,为本申请实施例提供的一种电子设备100的示意性结构框图。本申请实施例中,电子设备100可以是终端设备,例如,电脑、个人数字助理(Personal DigitalAssistant,PAD)、移动上网设备(Mobile Internet Device,MID)等,还可以是服务器,本申请实施例对此不作具体限制。
在结构上,电子设备100可以包括处理器110和存储器120。
处理器110和存储器120直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。IP核验证装置包括至少一个可以以软件的形式存储在存储器120中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,IP核验证装置所包括的软件功能模块及计算机程序等,以实现IP核验证方法。
处理器110可以在接收到执行指令后,执行计算机程序。其中,处理器110可以是一种集成电路芯片,具有信号处理能力。处理器110也可以是通用处理器,例如,可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图,此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
应当理解,图1所示的结构仅为示意,本申请实施例提供的电子设备100还可以具有比图1更少或更多的组件,或是具有与图1所示不同的配置。此外,图1所示的各组件可以通过软件、硬件或其组合实现。
请参阅图2,为本申请实施例提供的IP核验证方法的流程示意图,该方法应用于图1所示的电子设备100。需要说明的是,本申请实施例提供的IP核验证方法不以图2及以下所示的顺序为限制,以下结合图2对IP核验证方法的具体流程及步骤进行描述。
步骤S100,根据验证需求,确定出目标数量种待验证配置。
本申请实施例中,验证需求可以用于表征需要验证待验证IP核在被应用到某一个目标芯片系统或多个目标芯片系统时的功能或可用性,也可以直接用于表征需要验证待验证IP核的哪种待验证配置或哪几种待验证配置,而每种待验证配置包括至少一条配置参数。若验证需求用于表征需要验证待验证IP核在被应用到某一个目标芯片系统或多个目标芯片系统时的功能或可用性,那么,可以在具体确定出验证需求指示出的至少一个个目标芯片系统之后,再确定出待验证IP核在被应用到至少一个目标芯片系统时需设定的目标数量种配置,作为目标数量种待验证配置。
基于以上描述,本申请实施例中,在获得验证需求之后,便可以直接根据验证需求,确定出目标数量种待验证配置。此外,本申请实施例中,目标数量的具体数值可以是任意大于等于1的整数,而IP核即为知识产权核或知识产权模块,也称,IntellectualProperty Core。
步骤S200,从预设的多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象。
本申请实施例中,多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象,基于此,可以理解的是,本申请实施例提供的IP核验证方法还可以包括步骤S001和步骤S002,用于在执行步骤S200之前,生成多个IP核模块。
步骤S001,确定出待验证IP核在被应用到一个或多个芯片系统时需设定的配置,以获得多条待设定配置。
本申请实施例中,芯片系统可以理解为可能会多次调用待验证IP核的子系统或片上系统(System on Chip,SOC),而多个芯片系统实际为多个不同的芯片系统。此外,本申请实施例中,待验证IP核在被应用到某个芯片系统时,需设定的配置可以理解为待验证IP核在被应用到该芯片系统时的IP参数配置、接口连接,以及有效的功能特征等。
步骤S002,生成与多种待设定配置一一对应的多个IP核模块。
本申请实施例中,生成与多种待设定配置一一对应的多个IP核模块实际为将待验证IP核的所有特征项,也即,IP参数配置、接口连接,以及有效的功能特征等定义为具体参数的过程。基于此,本申请实施例中,对于步骤S002,作为一种可选的实施方式,其可以包括步骤S0021、步骤S0022和步骤S0023。
步骤S0021,分别确定出多种待设定配置中,每种待设定配置所对应的多个特征项。
步骤S0022,针对多种待设定配置中的每种待设定配置,生成一条待验证IP核的参数化描述对象,且参数化描述对象中具有待设定配置对应的多个特征项。
步骤S0023,将与多种待设定配置一一对应的多条参数化描述对象,作为多个IP核模块。
假设,在执行步骤S001时,确定出待验证IP核在被应用到第一芯片系统时需设定的配置,并记作第一待设定配置,同时,确定出待验证IP核在被应用到第二芯片系统时需设定的配置,并记作第二待设定配置,若第一待设定配置包括第一特征项:clk_freq1,第二特征项:dut_connect1_1、dut_connect1_2和第三特征项:2,而第二待设定配置包括第一特征项:clk_freq2,第二特征项:dut_connect2_1、dut_connect2_2、dut_connect2_3和第三特征项:3,则最终生成的参数化描述对象文件可以包括:
"IP_inst1":{
"feature1":"clk_freq1",
"feature2":[
"dut_connect1_1",
"dut_connect1_2"
],
"feature3":2
}
"IP_inst2":{
"feature1":"clk_freq2",
"feature2":[
"dut_connect2_1",
"dut_connect2_2",
"dut_connect2_3"
],
"feature3":3
}
其中,IP_inst1即为与第一待设定配置对应的参数化描述对象,也即,与第一待设定配置对应的IP核模块,IP_inst2即为与第二待设定配置对应的参数化描述对象,也即,与第二待设定配置对应的IP核模块。
需要说明的是,在本申请实施例提供的IP核验证方法的具体实施过程中,对于某个待验证IP核,其最终生成的参数化描述对象文件中包括的参数化描述对象可以远大于两条。
在获得参数化描述对象文件之后,可以根据参数化描述对象文件生成模块配置列表,模块配置列表中包括多个IP核模块,以及与多个IP核模块一一对应的多种待设定配置。继续以上述参数化描述对象文件为例,其生成模块配置列表可以如表1所示。
表1
基于以上描述,对于步骤S200,本申请实施例中,作为一种可选的实施方式,其可以包括步骤S210、步骤S220和步骤S230。
步骤S210,获取模块配置列表,模块配置列表中包括多个IP核模块以及与多个IP核模块一一对应的多种待设定配置。
步骤S220,从模块配置列表中查找出与目标数量种待验证配置一一对应的目标数量种待设定配置。
步骤S230,将与目标数量种待设定配置一一对应的目标数量个IP核模块作为目标数量个目标IP核模块。
假设,目标数量的具体数值为2,且两条待验证配置分别为第一待验证配置和第二待验证配置。
第一待验证配置:
feature1:clk_freq1;
feature2:dut_connect1_1,dut_connect1_2;
feature3:2
第二待验证配置:
feature1:clk_freq2;
feature2:dut_connect2_1,dut_connect2_2,dut_connect2_3;
feature3:2
则执行步骤S220时,能够从模块配置列表中查找出第一待设定配置和第二待设定配置,在执行步骤S230时,将与第一待设定配置对应的IP核模块IP_inst1作为目标IP核模块,同时,将与第二待设定配置对应的IP核模块IP_inst2作为目标IP核模块。
步骤S300,通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
本申请实施例中,可以基于预设的IP核验证系统,提供与目标数量个目标IP核模块对应的IP核验证环境,以实现对待验证IP核进行验证的目的,也可以通过与目标数量个目标IP核模块对应的目标芯片系统,实现对待验证IP核进行验证的目的。
基于以上描述,本申请实施例中,对于步骤S300,作为第一种可选的实施方式,其可以包括步骤S310。
步骤S310,分别将目标数量个目标IP核模块连接到对应的IP核验证环境中,以对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
实际实施时,对于步骤S310,其又可以包括步骤S311和步骤S312。
步骤S311,在预设的IP核验证系统中,将目标数量个目标IP核模块设置为有效状态。
本申请实施例中,IP核验证系统需要预先创建,而其创建过程可以包括:创建IP核验证平台,将多个IP核模块添加到IP核验证平台中,生成IP核验证系统。
实际实施时,IP核验证平台可以通过通用验证方法学(Universal VerificationMethodology,UVM)框架创建,再通过Include指令将多个IP核模块添加到IP核验证平台,此后,可以通过在Ruby框架中定义数组(Array),以包含多个IP核模块的唯一标识,最终,生成包含多个IP核模块的IP核验证系统。
此外,本申请实施例中,在执行步骤S311时,可以通过宏定义开关,动态的在预设的IP核验证系统中,将目标数量个目标IP核模块设置为有效状态,也即,动态的从多个IP核模块中,选取出目标数量个目标IP核模块,以将其设置为有效状态,其具体过程可以表征为:
Submit vcs_run_cmd+宏定义开关=IP_inst name list
其中,IP_inst name list为与目标数量个目标IP核模块对应的唯一标识列表。
步骤S312,分别实例化目标数量个目标IP核模块对应的IP核验证环境,以将目标数量个目标IP核模块连接到对应的IP核验证环境中。
请结合图3,本申请实施例中,目标数量个目标IP核模块具有一一对应的目标数量个IP核验证环境,例如,目标IP核模块IP_inst1具有对应的IP核验证环境1,目标IP核模块IP_inst2具有对应的IP核验证环境2。
此外,对于步骤S312,本申请实施例中,作为一种可选的实施方式,其可以针对目标数量个目标IP核模块中的每个目标IP核模块,遍历目标IP核模块中包括的多个特征项,且在遍历多个特征项的过程中,每遍历到一个特征项时,则该控制特征项所表征的连接状态由无效连接状态转换为有效连接状态,以将目标IP核模块连接到对应的IP核验证环境中。其中,每遍历到一个特征项时,则控制该特征项所表征的连接状态由无效连接状态转换为有效连接状态的具体过程可以是:使用脚本语言,根据特征项,自动实例化所需要的全部UVM框架中的对应接口,并利用UVM框架的Bind功能,动态的提供待验证IP核与IP核验证平台中各个驱动(Driver)和监测器(Monitor)的连接。
例如,在遍历到目标IP核模块IP_inst1中包括的第一特征项时,控制特征项所表征的连接状态由无效连接状态转换为有效连接状态,以将目标IP核模块连接到对应的IP核验证环境中的操作可以通过以下代码实现:
需要说明的是,本申请实施例中,也可以分别将目标数量个目标IP核模块连接到对应的子系统验证环境或SOC验证环境中,以对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。若分别将目标数量个目标IP核模块连接到对应的子系统验证环境或SOC验证环境中,以对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果,则在实际实施过程中,需要关闭IP核验证平台中各个驱动(Driver),也即,断开IP核验证平台中所提供驱动接口的连接,从而分别将目标数量个目标IP核模块的接口提供给对应的子系统验证环境或SOC验证环境进行连接。如此,在子系统或SOC中也可以使用前述生成的目标数量个目标IP核模块,以及IP核验证环境中相关的监测器(Monitor)功能,这样,对于子系统验证环境或SOC验证环境来说,就不需要付出对待验证IP核的额外维护成本。
本申请实施例中,对于步骤S300,作为第二种可选的实施方式,其可以包括步骤S320。
步骤S320,分别将目标数量个目标IP核模块连接到对应的目标芯片系统中,以对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
总结来说,在本申请实施例提供的IP核验证方法的实施过程中,由于多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象,因此,针对不同的验证需求,都能够灵活的根据实际确定出的目标数量种待验证配置,从多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,以便直接通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果,因此,相对于现有技术而言,本申请实施例提供的IP核验证方法、装置及电子设备能够减少可复用的IP核验证过程中大量重复的工作,降低了时间成本和人力成本,同时,也使得IP核的验证过程更具有可控性,最终,提高可复用的IP核的验证效率。
基于与上述IP核验证方法同样的发明构思,本申请实施例还提供了一种IP核验证装置200。请参阅图4,本申请实施例提供的IP核验证装置200,包括待验证配置确定模块210、目标IP核获取模块220和验证模块230。
待验证配置确定模块210,用于根据验证需求,确定出目标数量种待验证配置。
目标IP核获取模块220,用于从预设的多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象。
验证模块230,用于通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
本申请实施例提供的IP核验证装置200还可以包括待设定配置获取模块和IP核参数化模块。
待设定配置获取模块,用于确定出待验证IP核在被应用到一个或多个芯片系统时需设定的配置,以获得多种待设定配置。
IP核参数化模块,用于生成与多种待设定配置一一对应的多个IP核模块。
本申请实施例提供的IP核参数化模块可以包括特征项确定单元、第一IP核参数化单元和第二IP核参数化单元。
特征项确定单元,用于分别确定出多种待设定配置中,每种待设定配置所对应的多个特征项。
第一IP核参数化单元,用于针对多种待设定配置中的每种待设定配置,生成一条待验证IP核的参数化描述对象,且参数化描述对象中具有待设定配置对应的多个特征项。
第二IP核参数化单元,用于将与多种待设定配置一一对应的多条参数化描述对象,作为多个IP核模块。
本申请实施例中,目标IP核获取模块220可以包括模块配置列表获取单元、待设定配置查找单元和目标IP核获取单元。
模块配置列表获取单元,用于获取模块配置列表,模块配置列表中包括多个IP核模块以及与多个IP核模块一一对应的多种待设定配置。
待设定配置查找单元,用于从模块配置列表中查找出与目标数量种待验证配置一一对应的目标数量种待设定配置。
目标IP核获取单元,用于将与目标数量种待设定配置一一对应的目标数量个IP核模块作为目标数量个目标IP核模块。
本申请实施例中,验证模块230可以包括第一验证单元。
第一验证单元,用于分别将目标数量个目标IP核模块连接到对应的IP核验证环境中,以对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
本申请实施例中,第一验证单元可以包括状态设置单元和验证操作单元。
状态设置单元,用于在预设的IP核验证系统中,将目标数量个目标IP核模块设置为有效状态。
验证操作单元,用于分别实例化目标数量个目标IP核模块对应的IP核验证环境,以将目标数量个目标IP核模块连接到对应的IP核验证环境中。
本申请实施例中,验证操作单元可以包括特征项遍历子单元和验证操作子单元。
特征项遍历子单元,用于针对目标数量个目标IP核模块中的每个目标IP核模块,遍历目标IP核模块中包括的多个特征项。
验证操作子单元,用于在遍历多个特征项的过程中,每遍历到一个特征项时,则控制特征项所表征的连接状态由无效连接状态转换为有效连接状态,以将目标IP核模块连接到对应的IP核验证环境中。
本申请实施例提供的IP核验证装置200还可以包括验证平台搭建模块和验证系统生成模块。
验证平台搭建模块,用于创建IP核验证平台。
验证系统生成模块,用于将多个IP核模块添加到IP核验证平台中,生成IP核验证系统。
本申请实施例中,验证模块230可以包括第二验证单元。
第二验证单元,用于分别将目标数量个目标IP核模块连接到对应的目标芯片系统中,以对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。
由于本申请实施例提供的IP核验证装置200是基于与上述IP核验证方法同样的发明构思实现的,因此,IP核验证装置200中,每个软件模块的具体描述,均可参见上述IP核验证方法实施例中对应步骤的相关描述,此处不作赘述。
此外,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现上述方法实施例所提供的IP核验证方法,具体可参见上述方法实施例,本申请实施例中对此不作赘述。
综上所述,本申请实施例提供的IP核验证方法能够在根据验证需求,确定出目标数量种待验证配置之后,从预设的多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象,此后,直接通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果。在此过程中,由于多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象,因此,针对不同的验证需求,都能够灵活的根据实际确定出的目标数量种待验证配置,从多个IP核模块中确定出与目标数量种待验证配置一一对应的目标数量个目标IP核模块,以便直接通过目标数量个目标IP核模块对待验证IP核进行验证,获得待验证IP核关于目标数量种待验证配置的验证结果,因此,相对于现有技术而言,本申请实施例提供的IP核验证方法、装置及电子设备能够减少可复用的IP核验证过程中大量重复的工作,降低了时间成本和人力成本,同时,也使得IP核的验证过程更具有可控性,最终,提高可复用的IP核的验证效率。
本申请实施例提供的IP核验证装置、电子设备及计算机可读存储介质具有与上述IP核验证方法相同的有益效果,此处不作赘述。
在本申请实施例所提供的几个实施方式中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,在本申请每个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是每个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
此外,所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请每个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
还需要说明的是,在本文中,诸如“第一”、“第二”、“第三”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
Claims (12)
1.一种IP核验证方法,其特征在于,包括:
根据验证需求,确定出目标数量种待验证配置;
从预设的多个IP核模块中确定出与所述目标数量种待验证配置一一对应的目标数量个目标IP核模块,所述多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象,所述待验证IP核为可复用的IP核;
通过所述目标数量个目标IP核模块对所述待验证IP核进行验证,获得所述待验证IP核关于所述目标数量种待验证配置的验证结果;
其中,所述预设的多个IP核模块的生成方式为:
确定出所述待验证IP核在被应用到一个或多个芯片系统时需设定的配置,以获得多种待设定配置;
生成与所述多种待设定配置一一对应的所述多个IP核模块。
2.根据权利要求1所述的IP核验证方法,其特征在于,所述从预设的多个IP核模块中确定出与所述目标数量种待验证配置一一对应的目标数量个目标IP核模块之前,所述IP核验证方法还包括:
确定出所述待验证IP核在被应用到一个或多个芯片系统时需设定的配置,以获得多种待设定配置;
生成与所述多种待设定配置一一对应的所述多个IP核模块。
3.根据权利要求2所述的IP核验证方法,其特征在于,所述根据所述多种待设定配置,生成与所述多种待设定配置一一对应的所述多个IP核模块,包括:
分别确定出所述多种待设定配置中,每种待设定配置所对应的多个特征项;
针对所述多种待设定配置中的每种待设定配置,生成一条所述待验证IP核的参数化描述对象,且所述参数化描述对象中具有所述待设定配置对应的多个特征项;
将与所述多种待设定配置一一对应的多条参数化描述对象,作为所述多个IP核模块。
4.根据权利要求3所述的IP核验证方法,其特征在于,所述从预设的多个IP核模块中获取与所述目标数量种待验证配置一一对应的目标数量个目标IP核模块,包括:
获取模块配置列表,所述模块配置列表中包括所述多个IP核模块以及与所述多个IP核模块一一对应的多种待设定配置;
从所述模块配置列表中查找出与所述目标数量种待验证配置一一对应的目标数量种待设定配置;
将与目标数量种待设定配置一一对应的目标数量个IP核模块作为所述目标数量个目标IP核模块。
5.根据权利要求1所述的IP核验证方法,其特征在于,所述通过所述目标数量个目标IP核模块对所述待验证IP核进行验证,获得所述待验证IP核关于所述目标数量种待验证配置的验证结果,包括:
分别将所述目标数量个目标IP核模块连接到对应的IP核验证环境中,以对所述待验证IP核进行验证,获得所述待验证IP核关于所述目标数量种待验证配置的验证结果。
6.根据权利要求5所述的IP核验证方法,其特征在于,所述分别将所述目标数量个目标IP核模块连接到对应的IP核验证环境中,包括:
在预设的IP核验证系统中,将所述目标数量个目标IP核模块设置为有效状态;
分别实例化所述目标数量个目标IP核模块对应的IP核验证环境,以将所述目标数量个目标IP核模块连接到对应的IP核验证环境中。
7.根据权利要求6所述的IP核验证方法,其特征在于,所述分别实例化所述目标数量个目标IP核模块对应的IP核验证环境,以将所述目标数量个目标IP核模块连接到对应的IP核验证环境中,包括:
针对所述目标数量个目标IP核模块中的每个目标IP核模块,遍历所述目标IP核模块中包括的多个特征项;
在遍历所述多个特征项的过程中,每遍历到一个特征项时,则控制所述特征项所表征的连接状态由无效连接状态转换为有效连接状态,以将所述目标IP核模块连接到对应的IP核验证环境中。
8.根据权利要求6所述的IP核验证方法,其特征在于,所述在预设的IP核验证系统中,将所述目标数量个目标IP核模块设置为有效状态之前,所述IP核验证方法还包括:
创建IP核验证平台;
将所述多个IP核模块添加到所述IP核验证平台中,生成所述IP核验证系统。
9.根据权利要求1所述的IP核验证方法,其特征在于,所述通过所述目标数量个目标IP核模块对所述待验证IP核进行验证,获得所述待验证IP核关于所述目标数量种待验证配置的验证结果,包括:
分别将所述目标数量个目标IP核模块连接到对应的目标芯片系统中,以对所述待验证IP核进行验证,获得所述待验证IP核关于所述目标数量种待验证配置的验证结果。
10.一种IP核验证装置,其特征在于,包括:
待验证配置确定模块,用于根据验证需求,确定出目标数量种待验证配置;
目标IP核获取模块,用于从预设的多个IP核模块中确定出与所述目标数量种待验证配置一一对应的目标数量个目标IP核模块,所述多个IP核模块为待验证IP核在被应用到一个或多个芯片系统时对应的参数化描述对象,所述待验证IP核为可复用的IP核;
验证模块,用于通过所述目标数量个目标IP核模块对所述待验证IP核进行验证,获得所述待验证IP核关于所述目标数量种待验证配置的验证结果;
其中,所述预设的多个IP核模块的生成方式为:
确定出所述待验证IP核在被应用到一个或多个芯片系统时需设定的配置,以获得多种待设定配置;
生成与所述多种待设定配置一一对应的所述多个IP核模块。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器上存储有计算机程序,所述处理器用于执行所述计算机程序,以实现权利要求1~9中任意一项所述的IP核验证方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时,实现权利要求1~9中任意一项所述的IP核验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483623.0A CN112597717B (zh) | 2020-12-15 | 2020-12-15 | Ip核验证方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483623.0A CN112597717B (zh) | 2020-12-15 | 2020-12-15 | Ip核验证方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597717A CN112597717A (zh) | 2021-04-02 |
CN112597717B true CN112597717B (zh) | 2023-03-21 |
Family
ID=75196430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011483623.0A Active CN112597717B (zh) | 2020-12-15 | 2020-12-15 | Ip核验证方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597717B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984412B1 (en) * | 2008-03-03 | 2011-07-19 | Xilinx, Inc. | IC design estimation using mid-level elements of IP cores |
US8645897B1 (en) * | 2013-01-07 | 2014-02-04 | Freescale Semiconductor, Inc. | Integrated circuit design verification system |
CN104268078B (zh) * | 2014-09-23 | 2017-03-15 | 北京控制工程研究所 | 一种基于参数化ip测试用例集合的芯片自动化验证方法 |
CN109857451B (zh) * | 2019-02-13 | 2020-08-25 | 广东高云半导体科技股份有限公司 | Ip核文件生成方法、装置、设备及介质 |
CN111858306B (zh) * | 2020-06-12 | 2023-10-27 | 海光信息技术股份有限公司 | 一种芯片验证方法、装置、芯片及存储介质 |
CN111832237A (zh) * | 2020-07-17 | 2020-10-27 | 北京昂瑞微电子技术有限公司 | 一种知识产权核验证方法及系统 |
-
2020
- 2020-12-15 CN CN202011483623.0A patent/CN112597717B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112597717A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131829A (zh) | 一种芯片寄存器的验证方法、系统及相关装置 | |
JP2022537620A (ja) | 人工知能チップ検証 | |
CN113434355B (zh) | 模块验证方法、uvm验证平台、电子设备及存储介质 | |
CN109739700B (zh) | 一种接口测试方法和装置 | |
CN110599341A (zh) | 交易调用方法及系统 | |
CN114676040A (zh) | 一种测试覆盖率验证方法、装置及存储介质 | |
CN112597717B (zh) | Ip核验证方法、装置及电子设备 | |
US10929584B1 (en) | Environmental modification testing for design correctness with formal verification | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN112199272A (zh) | 一种智能终端的测试方法、装置、终端设备及介质 | |
CN109902001B (zh) | 对未初始化变量的检测方法及终端设备 | |
CN112947907A (zh) | 一种创建代码分支的方法 | |
US20110022373A1 (en) | Model checking of liveness property in a phase abstracted model | |
CN115062571A (zh) | 应用于集成电路器件的数据区域动态选取方法、系统、设备和计算机可读存储介质 | |
CN115794690A (zh) | 一种基于服务器中外接设备的处理方法及装置 | |
CN115599401A (zh) | 自定义模型的发布方法、装置、设备及介质 | |
CN115033434A (zh) | 一种内核性能理论值计算方法、装置及存储介质 | |
US7962796B2 (en) | State testing device and methods thereof | |
CN111177014B (zh) | 软件自动测试方法、系统及存储介质 | |
CN109388564B (zh) | 一种测试方法、装置及电子设备 | |
CN114443375A (zh) | 测试方法及装置、电子装置及计算机可读存储介质 | |
CN112650679B (zh) | 一种测试校验方法、装置及计算机系统 | |
CN108628750B (zh) | 一种测试代码处理方法及装置 | |
CN112711247B (zh) | 一种界面显示方法、界面显示装置及电子设备 | |
JP6949440B2 (ja) | ベクタ生成装置及びベクタ生成用プログラム |
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 |