UVM RAL 中的显示预测 uvm_reg_predictor
在之前简单介绍了uvm_reg_predic是怎么实现显示预测的,连上map,连上adapter,连上bus_in即可,下面我们要详细的解释原因
先解释uvm_reg_predict中重要变量的作用
uvm_reg_map map : 从bus总线上上采样到addr信息之后,有map根据addr寻找到RAL中相关寄存器句柄
uvm_reg_adapter adapter:从bus总线上上采样到addr信息之后,调用adapter.bust2reg实现transaction 转换
uvm_analysis_imp#(BUSTYPE,uvm_reg_predict#(BUSTYPE)) bus_in :TLM 端口
核心方法write(),下面总结了这个方法具体做的事情
(1) 判断adapter是否为null
(2) 应该增加判断map是否为null(虽然UVM源码中没有实现,严谨的角度应该判断)//注意这里挂载的map的必须是root_map。
(3) adapter.bus2reg// transaction转换
(4) map.get_reg_by_offset //获取RAL中reg句柄
(5) 获取reg所在local_map的map_info//获取reg的直连map的map_info信息
(6) 根据map_info信息调用uvm_reg::do_predict//实现预测,包的括多地址的处理情况
上面即为实现显示预测的全步骤
下面介绍一下当register 位宽大于bus_width的时候,uvm_reg_predict是如何处理的
这种情况比较特殊,具体看下面的流程。
(1)基本流程和上面相似,下面说一下不同之处
(2)比如register 位宽是64bit,bus_width是32bit,均以小端模式来说
(3)首先uvm_reg_prdictor采样到了monitor发送来的寄存器低地址(比如00),这个时候
将采样的地址暂时保存起来
(4)接着uvm_reg_prdictor采样到了monitor发送来的寄存器低地址(04)这个时候将
采样的数据也保存到同样的地方
(5)判断发现现在暂时的空间中已经有2个32bit的数据了,与之前map_info中存储的地址的个数一样,2个地址(mp_info中存放了该寄存器的低地址和高地址),这个时候才会调用
uvm_reg::do_predictor去update mirror value
所有不管是哪种模式,uvm_reg_predict必须采样到一个寄存器的的完整数据才会去做predict 工作。
同时在做predict的时候uvm_reg_predictor默认是打开寄存器的byte_en使能,所有的byte均可以update,因此我们在adapter中重载bus2reg时如果有相关方面的需求,是无法实现的,我们可以去重载uvm_reg_predictor::write方法来实现。
在uvm_reg_predict还有一个变量 uvm_analysis_port #(uvm_reg_item) reg_an
这个TLM 端口的作用是在进行预测完之后,将相关的uvm_reg_item transaction发送出去,有时候我们可能有这方面的需求,
总结:
(1)挂载的map必须是root_map,这样才能对全局所有寄存器可见
(2)挂载的adapter可以是local_adapter或者root_adapter
(3)byte_en默认是全打开的
(4)所有不管是哪种模式,uvm_reg_predict必须采样到一个寄存器的的完整数据才会去做predict 工作。
(5)根据需要可以对write方法进行重载
UVM RAL 中的显示预测 uvm_reg_predictor相关推荐
- Science Advances:社会和健康科学中用于描述、预测和因果推理的机器学习方法
社会和健康科学中使用的机器学习(ML)方法需要符合描述.预测或因果推理等预期研究目的.本文通过结合这些学科的统计分析的必要要求,为社会和健康科学中的研究问题与适当的ML方法进行了全面.系统的元映射.作 ...
- TransDecoder识别转录本中编码区并预测蛋白
TransDecoder可以识别转录本序列中的编码区域,如:Trinity从头组装.Tophat和Cufflinks将RNA-Seq比对到基因组转录本结果 TransDecoder 基于以下标准识别可 ...
- 3D图像重建中的颜色预测误差研究
目录 整体思路: 1.本课题的目的.意义 1. 描述图像 2. 标注图像 3.CNN 3D图像重建中的颜色预测误差研究 摘 要 1 绪 论 1.1背景与意义 1.2 课题研究内容 1.3 3D重建国内 ...
- 使用基于时间的关系加权标准来改善社交网络中的链接预测
使用基于时间的关系加权标准来改善社交网络中的链接预测 关键词:链接预测,社交网络,加权图. 摘要:近年来,对复杂网络中链路预测(LP)问题的研究引起了相当多的关注.此问题试图预测网络中两个未互连节点之 ...
- 【论文翻译】从进化和异质网络中表征和预测社区成员
从进化和异质网络中表征和预测社区成员 摘要 近年来,从web数据中挖掘不同类型的社区吸引了大量的研究工作.然而,现有的社区挖掘技术都没有考虑到web数据的动态性和异构性.在本文中,我们提出了从异构we ...
- python图像中如何显示中文
python图像中如何显示中文 在开头加入这两行即可 from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei']
- 脚本中echo显示内容带颜色显示
脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: echo -e ...
- html页面在ie上出现404怎么解决,如何解决自定义404页面在IE等浏览器中无法显示问题...
网站设置自定义404页面之后(如何在IIS下正确设置404页面?),如无法在浏览器中正常显示,可能是以下原因: 1.404页面文件权限设置错误 我们需要为404页面文件添加上用户everyone的可读 ...
- pandas使用set_table_attributes函数、display_html函数等在jupyter notebook中并排显示两个dataframe的内容(side by side)
pandas使用set_table_attributes函数.display_html函数等在jupyter notebook中并排显示两个dataframe的内容(side by side) 目录
最新文章
- Oracle宣布提供新的Java支持价格体系
- < Android数据存储> 任务二 应用程序数据文件夹里的文件读写
- MVC UpdateModel的未能更新XXXXX的类型模型
- td 首行缩进_工作中常用的CSS整理
- 解决SQL映射文件的警告提示
- Spring Cloud构建微服务架构(七)消息总线
- django-视图函数 00
- 关于快递鸟的顺丰电子面单打印
- simulink upd通信
- 硬石类山水盆景的制造技法
- 简单几步解决 svchost 占用资源过高的问题
- 微信支付 发起商家转账API 2022年v3 transfer batches
- ipa-server
- Learn OpenCV之Rotation Matrix To Euler Angles
- switch 求分段函数
- prism在java_Prism 框架应用-基础知识篇
- vue学习第五天(9月8号)
- SQL语句中,有了别名不能再用原名,需要使用别名
- 最新 955 不加班的公司名单
- 失落世界服务器国庆宝箱位置,烟雨江湖国庆宝箱在哪里 烟雨江湖中秋宝箱位置坐标大全...