rgm的常规方法
- 关于reg的三个值
- mirrored value镜像值:由模型预测给出,即在前门访问时通过观察总线、在后门访问时通过自动预测等方式给出
- desired value期望值:先利用rgm修改软件对象值,然后利用该值更新硬件值,mv是表示当前硬件的已知状态值
- actual value硬件的真实值:
- uvm两种跟踪寄存器值的方式
- 自动预测auto prediction:调用uvm_reg_map::set_auto_predict()
- 具体地,user没有在env中集成独立的predictor,而是利用reg的操作来自动记录每一次reg的读写数值,并在后台自动调用predict()方法,此为ap
- 缺点:若seq直接在总线层面对reg进行操作,跳过了reg级别的读写,或者通过其他总线来访问reg,ap就无法获得mv和dv
- 显式预测explicit:预测的更准确,具体地,这是在物理总线上通过monitor来捕捉总线事务,然后传递给外部例化的predictor(由uvm参数化类uvm_reg_predictor例化并集成在顶层环境)
- 集成时需要将adapter与map的句柄一起传递给predictor,同时将monitor采集到的事务通过analysis port接入到predictor。
- monitor拿到trans→adapter转换→更新到map
- 默认情况采用显式预测
class mcdf_bus_env extends uvm_env;
mcdf_bus_age