全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210726959.8 (22)申请日 2022.06.24 (71)申请人 上海亿家芯集成电路 设计有限公司 地址 201306 上海市浦东 新区临港新片区 环湖西二路8 88号C楼 (72)发明人 张少荣  (74)专利代理 机构 杭州航璞专利代理有限公司 33498 专利代理师 周方建 (51)Int.Cl. G06F 40/157(2020.01) G06F 40/18(2020.01) G06F 40/205(2020.01) G06F 30/20(2020.01) G06F 9/30(2006.01) (54)发明名称 一种UVM寄存器模型 快速生成方法及系统 (57)摘要 本发明公开了一种UVM寄存器模 型快速生成 方法及系统, 所述UVM寄存器模型快速生成方法 包括: 所述方法包括: 将设定寄存器exc el表格转 换成UVMRAL模型信息; 根据转换得到的RAL模型 信息生成UVM验证环境需要的模型, 本发明揭示 的UVM寄存器模型快速生成方法及系统, 可解决 手动编写繁琐的UVM寄存器模型的低效率、 高错 误率、 不可复用的问题, 只需要一份设计人员提 供的模块excel格式的表格, 便可以立刻输出满 足需求的UVM寄存器模型, 高效可复用且保证了 UVM寄存器模型的正确率。 权利要求书2页 说明书5页 附图3页 CN 115017869 A 2022.09.06 CN 115017869 A 1.一种UVM寄存器模型快速生成方法及系 统, 所述UVM寄存器模型快速生成方法包括: 所述方法包括: 将设定寄存器excel表格转换成UVM  RAL模型信息; 根据转换 得到的RAL模型信息生成UVM验证环境需要的模型 其特征在于, 将设定寄存器excel表格转换成UVM  RAL模型信息步骤 包括: 步骤A: 通过pytho n脚本打开excel文档, 查看所有she et表单, 通过she et名获取表格; 步骤B: 通过python脚本获取表格的尺寸, 对每一行进行遍历, 搜索 出有效的单元格, 获 取有效单 元格的行列以及单 元格中的信息; 步骤C: 通过pytho n脚本将有效单 元格解析成文本格式的UVM  RAL模型信息; 步骤D: 根据解析得到的文本格式的UVM  RAL模型信息通过仿真工具自带脚本转换成验 证环境需要的文本信息 。 2.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统, 其特征在于: 所述 寄存器块由包含很多的寄存器(uvm_reg), 每个寄存器(uvm_reg)都由多个域(uvm_reg_ field)组成; 单个域(uvm_reg_fi led)包含多个bit位。 3.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统, 其特征在于: 所述 寄存器模型中每个寄存器的域中都有两个值: 镜像值(mirror  value)和期望值 (desiredvalue), 镜像值表式表式当前硬件的已知状态, 期望值表式是先利用寄存器模型 修改软件 对象值, 而后利用该值更新硬件值(actual  value)。 4.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统, 其特征在于: 所述 UVM RAL模型文本信息包 含四个层次的内容: system, bl ock, register, field; 通过python解析给定的excel, 获取到的sheet表单名为RAL中的system; 获取表单尺 寸, 对每一行, 每一列进行遍历, 根据坐标中的内容, 解析到b lock, 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寄存器模型快速生成方法及系统, 其特征在于: 所述 单域段的寄存器, 一个register下面包含一个 field; 多域段的寄存器, 一个register下面 会打印多个field, 每一个field下面包含了位宽, 读写清各类的属性, 以及复位值; 脚本会权 利 要 求 书 1/2 页 2 CN 115017869 A 2对这些信息进行判定, 截取, 大小写规范, 总位宽检测等处理, 最终会按预设形式打印到指 定的文本 。 7.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统, 其特征在于: 所述 block里面可以包含多个register, system可以包含多个block, 在 system中还可以改变寄 存器的偏移地址 。 8.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统, 其特征在于: 所述 模型还包括: 结合仿真工具自带脚本, 将脚本生成的寄存器模型解析成可以嵌入验证环境 的模块。 9.根据权利要求1所述的一种UVM寄存器模型快速生成方法及系统, 其特征在于: 所述 步骤D中, UVM  RAL模型信息通过仿真工具自带脚本转换成验证环境需要的文本信息, 需要 建立寄存器模型与总线的沟 通桥梁, 让寄存器模型 的操作和总线上 的操作可以相互转换, 而对寄存器模 型的操作, Dr iver是不能直接 “读懂的”, 同样地, Monitor采集的总线事务, 寄 存器模型也不认识, 寄存器就没办法做相应地更新和检查, 这时就需要一个adapter来完成 寄存器事务到总线事务的转换。 其中步骤 包括: 步骤一: 寄存器序列将带有目标寄存器的相关信息存放到uvm_reg_item实例(uvm_ reg_bus_op)中, 送往adapter; 步骤二: adapter在接收到uvm_reg_item(uvm_reg_bus_op)之后, 转换成总线可以 “认 识”的bus_seq_item总线事务类型, 再由a dapter将bus_seq_item送给sequenc er, 继而发给 Driver; 步骤三: 总线从bus_seq_item中获取地址、 数据、 操作模式等信息后, 发起总线的读写 访问; 步骤四: 如果总线上有反馈信号返回, 则该信号会成为一个b us_seq_item的总线事务, 由总线sequencer按照response  item的路径返回至 adapter, adapter对信号处理后, 生成 uvm_reg_bus_op, 最终作为返回值交给寄存器操作有关的方法。 10.根据权利要求1所述的一种 UVM寄存器模型快速生成方法及系统, 其特征在于: 所述 UVM RAL寄存器模型的adapter的集成方法步骤如下: 步骤1: 对于寄存器模型的集成, 一般倾向于从顶层传递的方式, 即最终从test层传入 寄存器模型句柄; 步骤2: 寄存器模型在创建之后, 要显式的调用build函数, 因为uvm_reg_block是 object类型, bui ld函数并不会自动执 行; 步骤3: 顶层环境的connect_phase阶段, 需要通过uvm_reg_map:set_sequencer 的方 式, 将寄存器模型的map组件与bus  sequencer和adapter连接, 这会将寄存器信 息map、 bus   sequencer总线侧激励驱动和adapter寄存器级别和硬件总线级别的桥接关联在一起, 只有 通过这一步, 才能完成adapter的桥接功能。权 利 要 求 书 2/2 页 3 CN 115017869 A 3

.PDF文档 专利 一种UVM寄存器模型快速生成方法及系统

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种UVM寄存器模型快速生成方法及系统 第 1 页 专利 一种UVM寄存器模型快速生成方法及系统 第 2 页 专利 一种UVM寄存器模型快速生成方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生 于 2024-02-07 20:36:37上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。