UVM学习整理——UVM通信(component类)

三、UVM通信(component类)UVM验证平台的特点是验证环境整体基于面向对象的开发方式,组件之间的通信也是基于TLM通信方式,但在driver与硬件的接口之间,需要将TLM抽象事务降解到基于时钟的信号驱动级别。3.1UVM TLM基本概念TLM是一个基于事务(transaction)的通信方式,TLM通信两个对象根据通信动作分为initiator object(通信请求动作发起方)和target object(通信的响应方);根据事务传输方向分为produ...
摘要由CSDN通过智能技术生成

目录

三、UVM通信(component类)

3.1UVM TLM基本概念

3.2TLM通信端口

3.2.1单向通信端口

3.2.2双向通信端口

3.2.3多同名端口通信

3.2.4分析端口——Analysis port(一对多传输、最常用)

3.3TLM FIFO

3.3.1两种TLM FIFO

3.3.2TLM FIFO自带的方法


三、UVM通信(component类)

        UVM验证平台的特点是验证环境整体基于面向对象的开发方式,组件之间的通信也是基于TLM通信方式,但在driver与硬件的接口之间,需要将TLM抽象事务降解到基于时钟的信号驱动级别。

3.1UVM TLM基本概念

        TLM是一个基于事务(transaction)的通信方式,TLM通信两个对象根据通信动作分为initiator object(通信请求动作发起方)和target object(通信的响应方);根据事务传输方向分为producer(数据产生方)和consumer(数据接收方)。TLM通信端口按照类型可以划分为port(常作为initiator的发起端,凭借port,initiator才可以访问target中实现的TLM通信方法)、export(作为initiator和target中间层次的端口)、imp(只能作为target接收request的末端)。

        initiator与target的关系同producer与consumer的关系,不是固定的。但是TLM的通信方法是在target一端中实现,initiator将来作为发起方可调用target内的通信方法,实现数据传输。

TLM通信的步骤可以分解为:

        1)分辨出initiator和target,producer和consumer。

        2)在target中实现TLM通信方法。

        3)在两个对象中创建TLM端口。

        4)在更高的层次中将两个对象的端口进行连接。

TLM通信中的三种端口:Port,Export,IMP

        1.控制流优先级:Port > Export > IMP

        2.Port始终是传输动作的发起者,Export和IMP只能作为动作的接受者。

        3.使用connect()建立连接关系时,只有优先级高的才能调用connect()做连接。

        4.三种端口使用new()函数在build_phase中创建。(注意:不能用create创建,端口不属于UVM树的一部分)。

        5.在有Port,Export,IMP连接的data path中,只能且必须以IMP作为终点。

        6.Port,Export相当于一道门,没用存储作用,因而必须以IMP(tlm implement port class)作为终点。

        7.IMP在声明时相较于Port/Export多了一个类型参数IMP:

                uvm_blocking_put_export#(T)

                uvm_blocking_put_imp#(T, IMP);//第一个参数T是这个IMP传输的数据类型。第二个参数IMP为实现该IMP的componen

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Like_ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值