1、uvm寄存器 2、uvm_do系列宏3、m_sequencer和p_sequencer4、reg_intf reg_if(.*)

1、uvm寄存器相关的一些操作

mcdf_rgm模块包括寄存器模块和map

另外包括独立的adapter

二者共同是寄存器相关的,与总线UVC进行事务传递。

BUS_agent代码:

(总线UVC的实现)在漫游红皮书P410页中

关于寄存器块:

后门访问时要确保寄存器模型在建立时将各个寄存器映射到了DUT一侧的HDL路径。

Adapter的实现:

Adapter的集成(在env中):
关于predictor在顶层环境中的集成:

uvm白皮书reg_predictor:

2、uvm_do系列宏

系列宏主要完成三个步骤:

  • sequence或item的创建;
  • sequence或item的随机化;
  • sequence或item的传送;

3、m_sequencer和p_sequencer的区别

        m_sequencer是sequence或sequence item的成员变量,即sequence、sequence item一旦“挂载”到某个sequencer上,那么该sequencer的句柄即被赋值给 m_sequencer (uvm_sequencer_base类)。

        p_sequencer通常需要在定义sequence类时,通过宏 `uvm_declare_p_sequencer(SEQUENCER)进行声明(间接定义p_sequencer的变量)。

        m_sequencer和p_sequencer均指向同一个挂载的sequencer实例,前者是父类句柄类型,后者是子类句柄类型。

4、reg_intf reg_if(.*)含义

这是一个SystemVerilog中的接口声明语句,其中reg_intf是接口类型的名称,reg_if是接口实例的名称。".*"表示将所有信号连接到接口上,即将所有信号与接口的端口一一对应连接起来。这个语句的作用是将信号与接口进行绑定,使得信号可以在接口中传输。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值