在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3855|回复: 12

[求助] uvm driver怎么获得不同的包???求助

[复制链接]
发表于 2016-10-18 10:24:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在agent的connect phase,drv.seq_item_port.conect(sqr.seq_item_export),这里获得包的类型是不是在定义driver的时候就定好了,
如果driver需要发送不同类型的包,在定义driver的时候怎么定义,在agent里该怎么连接?
发表于 2016-10-18 10:33:39 | 显示全部楼层
回复 1# dyytx

class apb_master extends uvm_driver#(apb_rw);

看到后面的参数没,你改参数就行。
 楼主| 发表于 2016-10-18 10:39:31 | 显示全部楼层
回复 2# chensong0007

如果有多种类型的包呢?
发表于 2016-10-18 10:58:31 | 显示全部楼层
回复 3# dyytx


   你自己加几个通道就行,或者是一个通道,采用一个标志来区分。
 楼主| 发表于 2016-10-18 11:11:30 | 显示全部楼层
回复 4# chensong0007

1.那在定义driver的时候,参数里放上几种包的类型吗,class apb_master extends uvm_driver#(apb_rw,apb_rw2);???

2.连接的时候,怎么连呢?
drv.seq_item_port.conect(sqr.seq_item_export)连接的时候没指定这个通道是传递什么类型的包,还是driver拿什么类型的包是在get的时候指定就好了
发表于 2016-10-18 12:59:55 | 显示全部楼层
回复 5# dyytx

drever参数只能指定一种类型,如下:class uvm_driver #(type REQ=uvm_sequence_item,
                   type RSP=REQ) extends uvm_component;
第一个参数是传进去的类型,第二个是传回来的类型。如果只用第一个参数的话,就是传进去和传回来都是同一类型。

如果你只用它自带的一个通道。你可以再建立一个类,里面包含不同种类的各种传输类型就行了。或者是你自己在建立几个通道,传进去。
发表于 2016-10-18 13:10:13 | 显示全部楼层
回复 1# dyytx

Hi,
1. 如果是基于同一基类的不同包类型,只要指定 #(base_type)即可;
2. 如果是不同类型的包/协议,可以实现多个agent/driver,每个支持一种协议
 楼主| 发表于 2016-10-18 14:47:29 | 显示全部楼层
回复 6# chensong0007


    谢谢你的回答!
  怎么在一个driver里加通道?
 楼主| 发表于 2016-10-18 14:50:43 | 显示全部楼层
回复 7# glimmer


    谢谢!
   你的意思说,如果包的类型是从同一个基类扩展来的,只要把基类放在参数里就可以了吗?
  那在连接的时候,怎么连呢?基类和扩展类是放在同一个通道还是不同的通道?
发表于 2016-10-18 15:01:30 | 显示全部楼层
回复 9# dyytx

同一通道即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-13 17:20 , Processed in 0.026365 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表