System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 可动态配置的soc芯片验证平台、搭建方法、介质和设备技术_技高网

可动态配置的soc芯片验证平台、搭建方法、介质和设备技术

技术编号:40963026 阅读:2 留言:0更新日期:2024-04-18 20:42
本发明专利技术公开了一种可动态配置的soc芯片验证平台、搭建方法、介质和设备,该方法包括:设置test_env_cfg配置文件,确定所需VIP,将所需VIP的控制参数配置可用;在test中,通过override机制将原来的环境配置基类替换为case的配置类test_env_cfg;在test中,通过uvm_config_db将最新的test_env_cfg设置到soc_env中;在env中获取test_env_cfg的参数信息,当仿真运行到build_phase时,根据配置文件中的信息,新建本次的验证环境;运行测试序列,完成仿真。本发明专利技术通过test中的一个总配置,去动态控制环境中的所有VIP,case by case配置验证环境,生成只包含测试用例所需VIP env的验证环境。简化验证环境的层次结构,并提升仿真速度,提高验证平台的灵活性。动态配置soc验证平台中VIP的数量,提升验证平台的可重用性和移植性。

【技术实现步骤摘要】

本专利技术涉及芯片验证平台领域,尤其涉及一种可动态配置的soc芯片验证平台、搭建方法、介质和设备


技术介绍

1、随着芯片设计的规模不断提高,相应验证工作的难度和工作量也随之增加。在soc芯片中,包含了许多标准化的功能模块,比如usb,uart,spi,i2c等外设,或者标准总线协议axi,ahb,apb等。对于这些标准的模块和协议,验证人员一般会将对应的vip(verificationintellectual property)集成到soc验证环境中来进行该模块的验证。因为使用成熟可靠的vip可以加快验证平台的搭建速度,提升验证工作的效率。通常情况下,为了满足多种ip和复杂应用场景的验证需求,一个soc的验证平台中会有多个vip,但随着vip数目的增多,验证环境也变得非常复杂,不易维护,同时编译和仿真速度会变得很慢,这样会很浪费时间。

2、传统方法中,在soc验证环境中集成各种vip,来进行对应ip的验证,仿真过程中,所有vip env都会出现在验证环境中,验证平台的结构如图1所示。

3、例如对soc中的uart ip进行验证,验证过程中只需要使用ahb和uart vip发送和接收激励,和dut进行数据的交换,理想的验证环境结构如图2所示。环境中其余vip,如i2c、spi等vip均未用到,但这些vip依然会参与编译和仿真,会使整个验证环境复杂化,并使每次跑case的时间会变得很长。当debug时,需要多次运行测试用例,这样效率会非常低。

4、因此,结合上述存在的技术问题,有必要提供一种新的技术方案。


技术实现思路

1、为至少解决现有技术中存在的技术问题之一,本专利技术提供了一种可动态配置验证环境的方法、验证平台、介质和设备,每个测试用例都可以通过一个总的配置实现对整个验证环境中所有vip的控制。在仿真进行到build_phase时,只新建该测试用例所需要的vipenv(vip环境),从而使整个环境的复杂度降低,并达到提升仿真速度的效果。同时这种动态配置环境的方法,也使将更多的vip集成到验证环境中成为可能,提升了验证平台的可重用性和移植性。具体技术方案如下所述:

2、一方面,本专利技术提供一种搭建可动态配置的soc芯片验证平台的方法,包括:

3、s1:设置test_env_cfg配置文件,确定所需vip,将所需vip的控制参数配置可用;

4、s2:在test中,通过override机制将原来的环境配置基类替换为case的配置类test_env_cfg;

5、s3:在test中,通过uvm_config_db将最新的test_env_cfg设置到soc_env中;

6、s4:在env中获取test_env_cfg的参数信息,当仿真运行到build_phase时,根据配置文件中的信息,新建本次的验证环境;

7、s5:运行测试序列,完成仿真。

8、作为本专利技术的一种优选方案,soc_env是基于uvm的验证平台。

9、作为本专利技术的一种优选方案,步骤s1中,在搭建验证平台时,首先创建一个验证环境的配置基类base_env_cfg,并在factory中注册,其从uvm_object衍生。

10、作为本专利技术的一种优选方案,配置基类test_env_cfg包含了控制所有vip是否存在的参数、各vip子环境的配置类和各vip子环境内部基本参数的设置。

11、作为本专利技术的一种优选方案,将base_env_cfg基类作为验证平台基础库的一部分,之后的所有测试用例的test_env_cfg均由该基类衍生。

12、作为本专利技术的一种优选方案,步骤s2中,通过override机制将原来的环境配置基类替换为case的配置类test_env_cfg后,仿真执行的也是最新的配置类test_env_cfg。

13、作为本专利技术的一种优选方案,根据实际验证需求,在test_env_cfg配置文件中设置vip是否存在,实现对环境中vip个数动态配置的控制。

14、一方面,本专利技术提供一种可动态配置soc芯片的验证平台,根据上述技术方案方法搭建起来的验证平台。

15、一方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行上述搭建验证平台的方法。

16、一方面,本专利技术提供一种计算设备,包括:

17、存储器,用于存储程序指令;

18、处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如上述搭建验证平台的方法。

19、与现有技术相比,本专利技术至少具有如下有益效果:

20、本专利技术的技术方案,使得每个测试用例都可以通过总的配置实现对整个验证环境中所有vip的控制,提高验证平台的灵活性。动态配置soc验证平台中vip的数量,提升验证平台的可重用性和移植性。

21、本专利技术通过test中的一个总配置,去动态控制环境中的所有vip,case by case配置验证环境,生成只包含测试用例所需vip env的验证环境。简化验证环境的层次结构,并提升仿真速度。

22、本专利技术提供了一种可动态配置验证环境的方法,具体做法是,每个测试用例都可以通过一个总的配置实现对整个验证环境中所有vip的控制。在仿真进行到build_phase时,只新建该测试用例所需要的vip env(vip环境),从而使整个环境的复杂度降低,并达到提升仿真速度的效果。同时这种动态配置环境的方法,也使将更多的vip集成到验证环境中成为可能,提升了验证平台的可重用性和移植性。

23、本设计方案的soc验证环境是基于uvm的验证平台,可灵活运用uvm方法学的各种机制,如phase机制,config_db机制,factory机制等,提高验证平台的可重用性。

24、在搭建验证平台时,需创建一个验证环境的配置基类base_env_cfg并在factory中注册,其从uvm_object衍生。该配置基类包含了控制所有vip是否存在的参数(has_xx_vip)、各vip子环境的配置类和子环境内部中一些基本参数的设置。将base_env_cfg基类作为验证平台基础库的一部分,之后,所有测试用例的test_env_cfg均由该基类衍生。在仿真运行起来时,可通过override将原来环境中的基类文件替换为该case的配置类文件test_env_cfg,仿真执行的也是最新的test_env_cfg。这样就可根据实际验证需求,在test_env_cfg配置文件中设置vip是否存在,实现对环境中vip个数的控制,达到动态配置的效果。

25、本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。

本文档来自技高网...

【技术保护点】

1.一种搭建可动态配置的soc芯片验证平台的方法,其特征在于,包括:

2.根据权利要求1所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,soc_env是基于UVM的验证平台。

3.根据权利要求1所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,步骤S1中,在搭建验证平台时,首先创建一个验证环境的配置基类base_env_cfg,并在factory中注册,其从uvm_object衍生。

4.根据权利要求3所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,配置基类test_env_cfg包含了控制所有VIP是否存在的参数、各VIP子环境的配置类和各VIP子环境内部基本参数的设置。

5.根据权利要求4所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,将base_env_cfg基类作为验证平台基础库的一部分,之后的所有测试用例的test_env_cfg均由该基类衍生。

6.根据权利要求5所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,步骤S2中,通过override机制将原来的环境配置基类替换为case的配置类test_env_cfg后,仿真执行的也是最新的配置类test_env_cfg。

7.根据权利要求6所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,根据实际验证需求,在test_env_cfg配置文件中设置VIP是否存在,实现对环境中VIP个数动态配置的控制。

8.一种可动态配置的soc芯片验证平台,其特征在于,根据权利要求1-7任一项所述方法搭建起来的验证平台。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行如权利要求1-7中任一项所述的方法。

10.一种计算设备,其特征在于,包括:

...

【技术特征摘要】

1.一种搭建可动态配置的soc芯片验证平台的方法,其特征在于,包括:

2.根据权利要求1所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,soc_env是基于uvm的验证平台。

3.根据权利要求1所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,步骤s1中,在搭建验证平台时,首先创建一个验证环境的配置基类base_env_cfg,并在factory中注册,其从uvm_object衍生。

4.根据权利要求3所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,配置基类test_env_cfg包含了控制所有vip是否存在的参数、各vip子环境的配置类和各vip子环境内部基本参数的设置。

5.根据权利要求4所述的搭建可动态配置的soc芯片验证平台的方法,其特征在于,将base_env_cfg基类作为验证平台基础库的一部分,之后的所有测试用例的t...

【专利技术属性】
技术研发人员:刘珊珊
申请(专利权)人:上海芯联芯智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1