UVM RAL Adapter
作者:互联网
UVM Register Model Adapter
使用 UVM 寄存器模型,我们进行设计寄存器访问, 例如通过调用 RAL 方法写入设计寄存器或从设计寄存器读取。最后,这些事务必须放在设计总线上,这将由 RAL 组件适配器(Adapter)完成。
RAL 适配器充当 RAL 模型和接口之间的转换器。它将 RAL 方法的事务转换为接口/总线事务。
- 适配器在寄存器模型读取、写入方法和特定于接口的事务之间进行转换
- 事务适配器通过扩展 uvm_reg_adapter 类并实现 reg2bus() 和 bus2reg() 方法来实现
UVM RAL reg2bus
reg2bus 方法将 RAL 事务转换为接口(总线)事务
UVM RAL bus2reg
bus2reg 方法将接口(总线)事务转换为 RAL 事务
class tb_env extends uvm_env;
reg_model regmodel;
uvm_reg_predictor#(ahb_trans) ahb2reg_predictor;
reg2ahb_adapter reg_adapter;
ahb_agent ahb;
virtual function void build_phase(uvm_phase phase);
ahb2reg_predictor = new(“ahb2reg_predictor”, this);
endfunction
virtual function void connect_phase(uvm_phase phase);
if (regmodel.get_parent() == null) begin
reg_adapter = reg2ahb_adapter::type_id::create(“reg_adapter”,,get_full_name());
...
ahb2reg_predictor.map = regmodel.AHB;
ahb2reg_predictor.adapter = reg_adapter;
ahb.monitor.ap.connect(ahb2reg_predictor.bus_in);
end
...
endfunction
...
endclass
标签:reg,RAL,ahb2reg,adapter,predictor,UVM,phase,Adapter 来源: https://www.cnblogs.com/fuqiangblog/p/16686704.html