Predictor,是保持寄存器模型“实时”复刻RTL寄存器值的关键组件。Predictor翻译过来叫预测器,可能反而不是很好理解,对其功能比较好的描述我觉得应该是“monitor and update the RAL Model”。根据是否使用外部predictor,有两种应用方式:Implicit Prediction和Explicit Prediction。 隐式预测(Implicit Prediction):用户使用寄存器模...
使用显式预测,用户必须创建uvm_reg_predictor类的句柄,该类是RAL模型的基类。该预测器类需要与监视器类相连。监视器对发生在接口上的寄存器写/读操作进行采样,并将捕捉到的事务传递给预测器。Predictor类借助适配器将总线事务转换为寄存器事务,然后调用该寄存器的predict方法。 在编码方面,利用三个基本步骤可以实现显式...
使用显式预测,用户必须创建uvm_reg_predictor类的句柄,该类是RAL模型的基类。该预测器类需要与监视器类相连。监视器对发生在接口上的寄存器写/读操作进行采样,并将捕捉到的事务传递给预测器。Predictor类借助适配器将总线事务转换为寄存器事务,然后调用该寄存器的predict方法。 在编码方面,利用三个基本步骤可以实现显式...
(3)SystemVerilo | UVM | 精讲RAL寄存器模型基础 (qq.com) 1.简介及uvm_reg_predictor源码 (1) uvm_predictor派生于uvm_subscriber(属于uvm_component组件类),并且是一个参数化的类,其参数类型为target bus analysis transaction; (2) 使用uvm_predictor时,不需要对其进行派生出新类,只需要传递正确的参数类型; ...
The emulator may include a verification component and a register abstraction layer (RAL), wherein the verification component is configured to implement the DUT and the RAL is configured to implement one or more communication interfaces of the DUT. A traffic predictor in communication with the at ...
首先是整个工程在加入了RAL之后,结构变成了下面这个样子: 这个图的下半部分与之前的工程比较像,主要是多出了上半部分的reg_block,reg_model, reg _map这么几个部件。 (一)寄存器定义在uvm_reg_block中 整个reg_block其实就相当于是对旧有的sequence _item的替代,里面的组成部分是 reg _model ,reg _map是做...
uvm_reg_predictor继承自uvm_component,这个组件也存在于UVM的树形结构中,其实也可以理解,他的作用也无...
引入reg_predictor的原因:配置寄存器的总线存在多个master时,可能存在不通过寄存器模型访问总线来配置DUT中寄存器的情况,这时寄存器模型 就不能检查到 DUT中寄存器的变化,所以需要引入reg_predictor,通过monitor检测总线,将采集到的tr发送给uvm_reg_perdictor。如下图, ...
根节点是uvm_root,实例化时命名为uvm_top,uvm自动完成 这种结构称之为逻辑层次结构 uvm phase 如上图,调用master的build phase之后,调用其子对象的build phase build phase自顶向下执行,同一层的执行顺序不定,如driver、monitor,取决于uvm内部算法 其余phase均为自底向上 不同组件相同的task phase是并行执行的,如...
uvm_reg_predictor 源代码:在whole path env中我们是用cpu(注意此时并不会用RAL)来下IP的register,...