一种UVM寄存器模型快速生成方法及系统技术方案

技术编号:34859973 阅读:28 留言:0更新日期:2022-09-08 08:02
本发明专利技术公开了一种UVM寄存器模型快速生成方法及系统,所述UVM寄存器模型快速生成方法包括:所述方法包括:将设定寄存器excel表格转换成UVMRAL模型信息;根据转换得到的RAL模型信息生成UVM验证环境需要的模型,本发明专利技术揭示的UVM寄存器模型快速生成方法及系统,可解决手动编写繁琐的UVM寄存器模型的低效率、高错误率、不可复用的问题,只需要一份设计人员提供的模块excel格式的表格,便可以立刻输出满足需求的UVM寄存器模型,高效可复用且保证了UVM寄存器模型的正确率。UVM寄存器模型的正确率。

【技术实现步骤摘要】
一种UVM寄存器模型快速生成方法及系统


[0001]本专利技术涉及一种UVM寄存器模型快速生成方法及系统,属于芯片验证


技术介绍

[0002]芯片验证阶段,首先就需要对待测模块进行寄存器的配置,配置不正确,直接导致验证的失败,由此可见寄存器配置对于芯片验证的重要性。
[0003]在以uvm为验证方法学的验证过程中,寄存器的配置过程依赖于寄存器模型,寄存器模型主要由uvm_reg_block、uvm_reg以及uvm_reg_field三种类组成,uvm_reg_block由uvm_reg组成,uvm_reg由uvm_reg_field组成。
[0004]当验证模块的寄存器比较多时,寄存器模型会存在成百上千的uvm_reg_block、uvm_reg以及uvm_reg_field类,而验证人员需要对照具体待测模块的寄存表格(excel),一个寄存器一个寄存器的手动敲出这些类,任务十分繁重,效率低下;且一旦寄存器表格有大的变动,就需要重新敲出这些类来,影响芯片验证的效率和进度。
[0005]有鉴于此,迫切需要设计一种新的芯片验证方式,以便克服上述效率低下,误码率高,不可复用等缺陷。

技术实现思路

[0006]本专利技术的目的在于提供一种UVM寄存器模型快速生成方法及系统,以解决上述
技术介绍
中提出的问题。
[0007]为实现上述目的,本专利技术提供如下技术方案:一种UVM寄存器模型快速生成方法及系统,所述UVM寄存器模型快速生成方法包括:所述方法包括:
[0008]将设定寄存器excel表格转换成UVM RAL模型信息;
[0009]根据转换得到的RAL模型信息生成UVM验证环境需要的模型
[0010],将设定寄存器excel表格转换成UVM RAL模型信息步骤包括:
[0011]步骤A:通过python脚本打开excel文档,查看所有sheet表单,通过sheet名获取表格;
[0012]步骤B:通过python脚本获取表格的尺寸,对每一行进行遍历,搜索出有效的单元格,获取有效单元格的行列以及单元格中的信息;
[0013]步骤C:通过python脚本将有效单元格解析成文本格式的UVM RAL模型信息;
[0014]步骤D:根据解析得到的文本格式的UVM RAL模型信息通过仿真工具自带脚本转换成验证环境需要的文本信息。
[0015]作为本专利技术的一种优选技术方案,所述UVM RAL模型文本信息包含四个层次的内容:system,block,register,field;
[0016]通过python解析给定的excel,获取到的sheet表单名为RAL中的system;获取表单尺寸,对每一行,每一列进行遍历,根据坐标中的内容,解析到block,register,field这三个层级中。
[0017]作为本专利技术的一种优选技术方案,所述寄存器块由包含很多的寄存器(uvm_reg),每个寄存器(uvm_reg)都由多个域(uvm_reg_field)组成;单个域(uvm_reg_filed)包含多个bit位。
[0018]作为本专利技术的一种优选技术方案,所述寄存器模型中每个寄存器的域中都有两个值:镜像值(mirror value)和期望值(desiredvalue),镜像值表式表式当前硬件的已知状态,期望值表式是先利用寄存器模型修改软件对象值,而后利用该值更新硬件值(actual value)。
[0019]作为本专利技术的一种优选技术方案,所述UVM RAL模型文本信息包含四个层次的内容:system,block,register,field;
[0020]通过python解析给定的excel,获取到的sheet表单名为RAL中的system;获取表单尺寸,对每一行,每一列进行遍历,根据坐标中的内容,解析到block,register,field这三个层级中。
[0021]作为本专利技术的一种优选技术方案,所述根据寄存器表格信息转化成UVM RAL模型文本信息步骤包括:
[0022]步骤a:首先对行nrows中的内容进行遍历,如果某一行前面没有任何信息或者含有无效信息,且对应的第一列不是我们给定的字符ADDR,则该行判定为无效行,直接跳过单元格解析;
[0023]步骤b:进入下一行的判定,直至解析到单元格内容为ADDR为止;识别到ADDR之后,该行不再解析,继续对后面的行遍历;
[0024]步骤c:如果第一列内容为address(0x00

0xxx),第二列为NAME里面的字符,且与相邻的上下列不同,第三列为MEMBER里面的字符,第四列为FIELD里面的字符,第五列为RESET_VALUE里面的字符,第六列为TYPE里面的字符,则可以通过截取该行的单元格完成一个register文本信息的生成;
[0025]步骤d:如果第二列中的字符存在与上一行或者下一行相同,则寻找出所有相同的相邻行,对这些相同行单元格进行操作,可完成一个多域段register文本信息的生成。
[0026]作为本专利技术的一种优选技术方案,所述单域段的寄存器,一个register下面包含一个field;多域段的寄存器,一个register下面会打印多个field,每一个field下面包含了位宽,读写清各类的属性,以及复位值;脚本会对这些信息进行判定,截取,大小写规范,总位宽检测等处理,最终会按预设形式打印到指定的文本。
[0027]作为本专利技术的一种优选技术方案,所述block里面可以包含多个register,system可以包含多个block,在system中还可以改变寄存器的偏移地址。
[0028]作为本专利技术的一种优选技术方案,所述模型还包括:结合仿真工具自带脚本,将脚本生成的寄存器模型解析成可以嵌入验证环境的模块。
[0029]作为本专利技术的一种优选技术方案,所述步骤D中,UVM RAL模型信息通过仿真工具自带脚本转换成验证环境需要的文本信息,需要建立寄存器模型与总线的沟通桥梁,让寄存器模型的操作和总线上的操作可以相互转换,而对寄存器模型的操作,Driver是不能直接“读懂的”,同样地,Monitor采集的总线事务,寄存器模型也不认识,寄存器就没办法做相应地更新和检查,这时就需要一个adapter来完成寄存器事务到总线事务的转换。其中步骤包括:
[0030]步骤一:寄存器序列将带有目标寄存器的相关信息存放到uvm_reg_item实例(uvm_reg_bus_op)中,送往adapter;
[0031]步骤二:adapter在接收到uvm_reg_item(uvm_reg_bus_op)之后,转换成总线可以“认识”的bus_seq_item总线事务类型,再由adapter将bus_seq_item送给sequencer,继而发给Driver;
[0032]步骤三:总线从bus_seq_item中获取地址、数据、操作模式等信息后,发起总线的读写访本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种UVM寄存器模型快速生成方法及系统,所述UVM寄存器模型快速生成方法包括:所述方法包括:将设定寄存器excel表格转换成UVM RAL模型信息;根据转换得到的RAL模型信息生成UVM验证环境需要的模型其特征在于,将设定寄存器excel表格转换成UVM RAL模型信息步骤包括:步骤A:通过python脚本打开excel文档,查看所有sheet表单,通过sheet名获取表格;步骤B:通过python脚本获取表格的尺寸,对每一行进行遍历,搜索出有效的单元格,获取有效单元格的行列以及单元格中的信息;步骤C:通过python脚本将有效单元格解析成文本格式的UVM RAL模型信息;步骤D:根据解析得到的文本格式的UVM RAL模型信息通过仿真工具自带脚本转换成验证环境需要的文本信息。2.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统,其特征在于:所述寄存器块由包含很多的寄存器(uvm_reg),每个寄存器(uvm_reg)都由多个域(uvm_reg_field)组成;单个域(uvm_reg_filed)包含多个bit位。3.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统,其特征在于:所述寄存器模型中每个寄存器的域中都有两个值:镜像值(mirror value)和期望值(desiredvalue),镜像值表式表式当前硬件的已知状态,期望值表式是先利用寄存器模型修改软件对象值,而后利用该值更新硬件值(actual value)。4.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统,其特征在于:所述UVM RAL模型文本信息包含四个层次的内容:system,block,register,field;通过python解析给定的excel,获取到的sheet表单名为RAL中的system;获取表单尺寸,对每一行,每一列进行遍历,根据坐标中的内容,解析到block,register,field这三个层级中。5.根据权利要求4所述的一种UVM寄存器模型快速生成方法及系统,其特征在于:所述根据寄存器表格信息转化成UVM RAL模型文本信息步骤包括:步骤a:首先对行nrows中的内容进行遍历,如果某一行前面没有任何信息或者含有无效信息,且对应的第一列不是我们给定的字符ADDR,则该行判定为无效行,直接跳过单元格解析;步骤b:进入下一行的判定,直至解析到单元格内容为ADDR为止;识别到ADDR之后,该行不再解析,继续对后面的行遍历;步骤c:如果第一列内容为address(0x00

0xxx),第二列为NAME里面的字符,且与相邻的上下列不同,第三列为MEMBER里面的字符,第四列为FIELD里面的字符,第五列为RESET_VALUE里面的字符,第六列为TYPE里面的字符,则可以通过截取该行的单元格完成一个register文本信息的生成;步骤d:如果第二列中的字符存在与上一行或者下一行相同,则寻找出所有相同的相邻行,对这些相同行单元格进行操作,可完成一个多域段register文本信息的生成。6.根据权利要求5所述的一种UVM寄存器模型快速生成方法及系统,其特...

【专利技术属性】
技术研发人员:张少荣
申请(专利权)人:上海亿家芯集成电路设计有限公司
类型:发明
国别省市:

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

1