System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于UVM寄存器模型的多维寄存器生成方法及系统技术方案_技高网

一种基于UVM寄存器模型的多维寄存器生成方法及系统技术方案

技术编号:40343256 阅读:7 留言:0更新日期:2024-02-09 14:30
本发明专利技术公开了一种基于UVM寄存器模型的多维寄存器生成方法,通过将寄存器排列在一个含有多个维度的数组中,可以实现二维、三维以及更高维度的寄存器结构,以便于对更多信息进行管理和操作,多维结构数组是一种强大且更加直观的数据管理方式,可以更好的定义、输入、管理复杂寄存器的结构、内容、关系,给存储、分析、统计多维寄存器数据带来了极大的方便,同时也使得使用者能够更加便利快捷操作和查询,可以更加灵活地根据具体的实际问题解决复杂的寄存器存储问题。

【技术实现步骤摘要】

本专利技术涉及芯片,具体涉及一种uvm_register中生成多维reg(register,寄存器)的方法及系统。


技术介绍

1、uvm(universal verification methodology,通用验证方法学)的寄存器模型是一组高级抽象的类,用来对dut(device under testing,被测器件)中具有地址映射的寄存器和存储器进行建模。uvm寄存器模型的出现,重新定义了验证平台与dut的寄存器接口,使验证人员能够更好的组织及配置寄存器,将复杂的流程简单化,减少工作量。

2、通过uvm的寄存器模型,可以简单高效的实现对dut的寄存器进行前门或后门操作。uvm平台支持对寄存器模型进行一维的实例化,这使得用户可以更加方便的操作和查询多个同类型的寄存器模型。但由于目前无法实现对寄存器的多维实例化,在对更复杂的寄存器结构进行管理时,仍然存在局限。

3、uvm寄存器模型在实例化时,可以通过在变量名后面指定维度的方式来创建多个相同类型的寄存器。通过这种方式,为寄存器模型的使用提供了更多便利,例如可以按照索引查询,定义简单,访问方便,查找容易等。

4、但由于uvm平台的限制,目前只能创建寄存器的一维数组,使得管理大量同类型寄存器还存在一些问题,无法很好的管理复杂的寄存器结构和内容。


技术实现思路

1、本申请的目的在于提供一种基于uvm寄存器模型的多维寄存器生成方法及系统,解决了现有技术中存在的问题。

2、本专利技术通过下述技术方案实现:

3、第一方面,本专利技术提供一种基于uvm寄存器模型的多维寄存器生成方法,包括:

4、构建一个uvm寄存器模型,并例化该uvm寄存器模型,得到寄存器模型reg_model,并获取寄存器的目标维度数,所述寄存器的目标维度数为预先存储于数据库中的数据或者人机交互输入的输入;

5、以所述寄存器模型reg_model以及目标维度数为基础,对寄存器进行实例化,以获取多个一维寄存器数组;

6、根据所述目标维度数,创建一个多维寄存器数组,并建立多个一维寄存器数组与多维寄存器数组之间的映射,完成多维reg的生成流程。

7、在一种可能的实施方式中,以所述寄存器模型reg_model以及目标维度数为基础,对寄存器进行实例化,以获取多个一维寄存器数组,包括:

8、将寄存器模型reg_model例化在一个新的uvm_reg_block容器中,并在uvm_reg_block派生的类reg_model_sys中,将寄存器模型reg_model实例化,得到一维寄存器数据,并重复获取多个一维寄存器数组。

9、在一种可能的实施方式中,根据所述目标维度数,创建一个多维寄存器数组,并建立多个一维寄存器数组与多维寄存器数组之间的映射,完成多维reg的生成流程,包括:

10、根据所述目标维度数,创建一个多维寄存器数组,所述多维寄存器数组的数据维度与一维寄存器数组的数量相同,所述多维寄存器数组中每一维度的数据量与一维寄存器数组的数据量相同;

11、将多个一维寄存器数组映射至多维寄存器数组中不同的维度中,并建立同步调度关系,以建立多个一维寄存器数组与多维寄存器数组之间的映射。

12、在一种可能的实施方式中,将多个一维寄存器数组映射至多维寄存器数组中不同的维度中,并建立同步调度关系,包括:

13、建立多维寄存器数组的多维指针,通过地址映射将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联,以建立同步调度关系,从而在调动多维指针的同时,一维指针也会被同步调动。

14、在一种可能的实施方式中,通过地址映射将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联,包括:

15、为多个一维寄存器数组以及多维寄存器数组分配不同的寄存器地址;

16、根据分配的寄存器地址,将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联。

17、第二方面,本专利技术提供一种基于uvm寄存器模型的多维寄存器生成系统,包括:预处理模块、寄存器获取模块以及多维寄存器管理模块;

18、所述预处理模块,用于构建一个uvm寄存器模型,并例化该uvm寄存器模型,得到寄存器模型reg_model,并获取寄存器的目标维度数,所述寄存器的目标维度数为预先存储于数据库中的数据或者人机交互输入的输入;

19、所述寄存器获取模块,用于以所述寄存器模型reg_model以及目标维度数为基础,对寄存器进行实例化,以获取多个一维寄存器数组;

20、所述多维寄存器管理模块,用于根据所述目标维度数,创建一个多维寄存器数组,并建立多个一维寄存器数组与多维寄存器数组之间的映射,完成多维reg的生成流程。

21、在一种可能的实施方式中,以所述寄存器模型reg_model以及目标维度数为基础,对寄存器进行实例化,以获取多个一维寄存器数组,包括:

22、将寄存器模型reg_model例化在一个新的uvm_reg_block容器中,并在uvm_reg_block派生的类reg_model_sys中,将寄存器模型reg_model实例化,得到一维寄存器数据,并重复获取多个一维寄存器数组。

23、在一种可能的实施方式中,所述多维寄存器管理模块包括构建单元以及映射单元;

24、所述构建单元,用于根据所述目标维度数,创建一个多维寄存器数组,所述多维寄存器数组的数据维度与一维寄存器数组的数量相同,所述多维寄存器数组中每一维度的数据量与一维寄存器数组的数据量相同;

25、所述映射单元,用于将多个一维寄存器数组映射至多维寄存器数组中不同的维度中,并建立同步调度关系,以建立多个一维寄存器数组与多维寄存器数组之间的映射。

26、在一种可能的实施方式中,将多个一维寄存器数组映射至多维寄存器数组中不同的维度中,并建立同步调度关系,包括:

27、建立多维寄存器数组的多维指针,通过地址映射将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联,以建立同步调度关系,从而在调动多维指针的同时,一维指针也会被同步调动。

28、在一种可能的实施方式中,通过地址映射将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联,包括:

29、为多个一维寄存器数组以及多维寄存器数组分配不同的寄存器地址;

30、根据分配的寄存器地址,将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联。

31、本专利技术提供了一种基于uvm寄存器模型的多维寄存器生成方法及系统,通过将寄存器排列在一个含有多个维度的数组中,可以实现二维、三维以及更高维度的寄存器结构,以便于对更多信息进行管理和操作,多维结构数组是一种强大且更加直观的数据管理方式,可以更好的定义、输入、管理复杂寄存器的结构、内容、关系,给存储、分析、统计多本文档来自技高网...

【技术保护点】

1.一种基于UVM寄存器模型的多维寄存器生成方法,其特征在于,包括:

2.根据权利要求1所述的基于UVM寄存器模型的多维寄存器生成方法,其特征在于,以所述寄存器模型reg_model以及目标维度数为基础,对寄存器进行实例化,以获取多个一维寄存器数组,包括:

3.根据权利要求1所述的基于UVM寄存器模型的多维寄存器生成方法,其特征在于,根据所述目标维度数,创建一个多维寄存器数组,并建立多个一维寄存器数组与多维寄存器数组之间的映射,完成多维reg的生成流程,包括:

4.根据权利要求3所述的基于UVM寄存器模型的多维寄存器生成方法,其特征在于,将多个一维寄存器数组映射至多维寄存器数组中不同的维度中,并建立同步调度关系,包括:

5.根据权利要求4所述的基于UVM寄存器模型的多维寄存器生成方法,其特征在于,通过地址映射将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联,包括:

6.一种基于UVM寄存器模型的多维寄存器生成系统,其特征在于,包括:预处理模块、寄存器获取模块以及多维寄存器管理模块;

7.根据权利要求6所述的基于UVM寄存器模型的多维寄存器生成系统,其特征在于,以所述寄存器模型reg_model以及目标维度数为基础,对寄存器进行实例化,以获取多个一维寄存器数组,包括:

8.根据权利要求6所述的基于UVM寄存器模型的多维寄存器生成系统,其特征在于,所述多维寄存器管理模块包括构建单元以及映射单元;

9.根据权利要求8所述的基于UVM寄存器模型的多维寄存器生成系统,其特征在于,将多个一维寄存器数组映射至多维寄存器数组中不同的维度中,并建立同步调度关系,包括:

10.根据权利要求9所述的基于UVM寄存器模型的多维寄存器生成系统,其特征在于,通过地址映射将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联,包括:

...

【技术特征摘要】

1.一种基于uvm寄存器模型的多维寄存器生成方法,其特征在于,包括:

2.根据权利要求1所述的基于uvm寄存器模型的多维寄存器生成方法,其特征在于,以所述寄存器模型reg_model以及目标维度数为基础,对寄存器进行实例化,以获取多个一维寄存器数组,包括:

3.根据权利要求1所述的基于uvm寄存器模型的多维寄存器生成方法,其特征在于,根据所述目标维度数,创建一个多维寄存器数组,并建立多个一维寄存器数组与多维寄存器数组之间的映射,完成多维reg的生成流程,包括:

4.根据权利要求3所述的基于uvm寄存器模型的多维寄存器生成方法,其特征在于,将多个一维寄存器数组映射至多维寄存器数组中不同的维度中,并建立同步调度关系,包括:

5.根据权利要求4所述的基于uvm寄存器模型的多维寄存器生成方法,其特征在于,通过地址映射将多个一维寄存器数组的指针与多维寄存器数组的多维指针一一对应关联,...

【专利技术属性】
技术研发人员:杨煜晖吴小林王万财杨成勇
申请(专利权)人:成都北中网芯科技有限公司
类型:发明
国别省市:

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

1