标签:RAL 总线 Agent predictor UVM 寄存器 adapter reg uvm
Integrating RAL to Agent
在 RAL 实例化之后,RAL 必须与 Bus Agent 连接。本节介绍将 RAL 与总线的sequencer和monitor连接。
Integrating Bus Sequencers
所有集成方法都需要为寄存器模型配置一个或多个总线sequencers。
寄存器模型成为 执行的 uvm_reg_sequence 子类型的属性
如果只有一个总线接口提供对 DUT 寄存器的访问,直接在总线sequencer上
作为一个virtual sequence,如果有一个或多个总线接口提供对 DUT 寄存器的访问;
作为一个寄存器 sequence 运行
将寄存器模型与总线monitor集成
默认情况下,寄存器模型隐式更新其寄存器值的镜像副本。每次通过寄存器模型读取或写入寄存器时,都会更新其镜像值。
如果总线接口上的其他agent在寄存器模型的上下文之外执行读写事务,寄存器模型必须了解这些总线操作以相应地更新其镜像。
- 通过首先实例化一个 uvm_reg_predictor 组件来完成集成
- 然后将 uvm_reg_predictor 组件连接到总线monitor 的analysis port
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
标签:RAL,总线,Agent,predictor,UVM,寄存器,adapter,reg,uvm 来源: https://www.cnblogs.com/fuqiangblog/p/16687012.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。