在connect_phase中,需要将转换器和bus_sequencer通过set_sequencer函数告知reg_model的default_map,并将default_map设置为自动预测状态 在验证平台中使用寄存器模型 寄存器模型被建立好后,可以在sequence和其他component中使用,以在参考模型中使用为例,需要在参考模型中有一个寄存器模型的指针 reg_model p_rm; 需要在env...
也就是说register model中的default_map里的set_sequencer方法实现了将三者的关联,传递的两个参数分别对应着实际的sequencer和adapter。 我们看看这个default_map的声明和类型定义 于是寄存器模型的default_map就把对应的sequencer和adapter存放在了default_map中的m_sequencer和m_adapter中。 下面在看看uvm_reg_adapter中re...
在connect_phase中,adapter将uvm_reg_map和sequencer连接,实际就是调用set_sequencer给uvm_reg_map中的成员变量m_sequencerm_adapter赋值: functionvoidbase_test::connect_phase(uvm_phase phase); super.connect_phase(phase); ... rm.default_map.set_sequencer(env.bus_agt.sqr, reg_sqr_adapter); rm.defaul...
寄存器模型的前门访问操作最终都将由 uvm_reg_map 完成,因此在 connect_phase 中,需要将转换器和 bus_sequencer 通过 set_sequencer 函数告知 reg_model 的 default_map,并将 default_map 设置为自动预测状态。 3.3 寄存器模型应用 寄存器模型定义好后,可以在 reference model 和 sequence,因为 uvm_...
3在basetest中实例化register model和adapter, 这一步骤要做两件事情,第一,对rm进行configure,build, lock, reset等操作,第二,然后对其中的default_map,进行set_sequencer.
virtualfunctionvoidconnect_phase(uvm_phase phase);super.connect_phase(phase);m_agent.m_mon.mon_ap.connect(m_reg_env.m_apb2reg_predictor.bus_in);m_reg_env.m_ral_model.default_map.set_sequencer(m_agent.m_seqr,m_reg_env.m_reg2apb);endfunction:connect_phase ...
4)local_model调用后,reg_model就不能再加入新的寄存器。 5)reset:如果不调用,默认都是0;调用后,都将变为复位值。 6)前门都是由uvm_reg_map完成,因此在connect_phase中,使用set_sequencer 将adapter 和bus_sequencer 告诉reg_model的 default_map。 7)将default_map 设置为自动预测状态。
然后在ral类的基础上创建ral适配器(adapter),接着在验证环境中实例化ral模型,使用regmodel.default_map.set_sequencer在验证环境中链接,寄存器只使用default_map作为接口,接着使用regmodel.default_map.set_ 9、auto_predict(1)作自动镜像预测,编写并运行ral的测试案例。通过模拟cpu在总线上发出指令来读写寄存器,这...
连接:将env中的adapter对象赋值给map中的adapter句柄,sequencer同理 如何将寄存器模型嵌入测试平台中 系统总线位宽,单位为字节(8bit) 偏移地址需要与基地址结合使用 lock:锁定,不能对该寄存器模型进行更改 寄存器模型的基本数据结构 uvm_block:寄存器模型的最高层从此类扩展,应包含dut中所有的寄存器存储器 uvm_map:不...
Step5: 将Address Map连接到Bus sequencer和Adapter 在test或env的connect phase中,调用default_map或其他用户自定义的address map对象中的set_sequencer方法, 并把前门操作的bus sequencer及adaptor作为参数传入。 virtual function void connect_phase(uvm_phase phase); ...