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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2256|回复: 9

[求助] Synopsys ahb vip中ahb slave agent 中monitor抓到的transaction怎么送出来

[复制链接]
发表于 2022-1-20 19:50:35 | 显示全部楼层 |阅读模式

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

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

x
Synopsys ahb vip中ahb slave agent中有一段:"... After the AHB transaction on the bus is complete, the completed sequence item is provided to the analysis port of slave monitor in both active and passive mode, which can be used by the testbench. "
可是我在svt_ahb_slave_monitor中没有看到analysis port,在svt_monitor中发现了一个 svt_debug_opts_analysis_port#(REQ) item_observed_port; 使用的时候总是报while
  the type of the formal is 'class uvm_pkg::uvm_port_base#(class   uvm_pkg::uvm_tlm_if_base#(class svt_ahb_uvm_pkg::svt_ahb_transaction,class         svt_ahb_uvm_pkg::svt_ahb_transaction))'.  不确定是不是应该用这个端口?
svt_ahb_slave_agent中有uvm_tlm_b_initiator_socket#(uvm_tlm_generic_payload) resp_socket; 发出的是response transaction socket,请问这个response transaction socket 是不是就是monitor 抓到的the completed sequence item?从名字上看起来觉得不是,使用的时候会报错,没例化就先使用。
现在搞不清楚到底怎么才能把ahb_slave_monitor抓到的transaction传输出来?向大神求救!!万分感谢~~
发表于 2022-1-20 22:37:25 来自手机 | 显示全部楼层
callback啊
发表于 2022-1-20 23:01:10 来自手机 | 显示全部楼层
正常的vip写法都会让agent的tlm链接到monitor,并且你agent已经有你标粗的描述了,肯定就在这个agent里,但不是你说的第二个,你说的第二个应该是tlm2的接口
 楼主| 发表于 2022-1-21 09:50:32 | 显示全部楼层
本帖最后由 枫舞 于 2022-1-21 14:58 编辑


学习了一下call back的使用,使用call_back也可以解决了,非常感谢!
 楼主| 发表于 2022-1-21 09:54:29 | 显示全部楼层


eaglezhang01 发表于 2022-1-20 23:01
正常的vip写法都会让agent的tlm链接到monitor,并且你agent已经有你标粗的描述了,肯定就在这个agent里,但 ...


嗯嗯,使用tlm port的时候总是报端口类型不匹配,我也是按照analysis_port的方式连接的,不清楚自己哪里没弄对。
发表于 2022-1-21 10:26:42 | 显示全部楼层
就是用这个端口item_observed_port去获取完整的总线事务的,应该是你的用法有问题。这玩意本质上就是一个analysis_port,你使用imp可以直接连接的,看log提示应该是声明imp端口时候使用的类型不对,这个item_observed_port是用的svt_ahb_transaction类型来进行声明的,我猜你可能是使用的子类ahb_slave_transaction来声明的imp端口,所以就报错了
 楼主| 发表于 2022-1-21 14:23:12 | 显示全部楼层


dtyuzhou 发表于 2022-1-21 10:26
就是用这个端口item_observed_port去获取完整的总线事务的,应该是你的用法有问题。这玩意本质上就是一个an ...


我确实是使用ahb_slave_transaction来声明的imp端口,改为用svt_ahb_transaction类型来进行声明,就解决了。前面没有注意到item_observed_port的传输类型。非常感谢!
发表于 2022-1-21 15:24:39 | 显示全部楼层
首先,你要去看你VIP的文档,monitor中提供了接口,可能需要配置VIP的某个参数使能这个端口,然后在用到的地方实现对应的write方法
发表于 2022-1-21 15:27:12 | 显示全部楼层


fengzhiyong123 发表于 2022-1-21 15:24
首先,你要去看你VIP的文档,monitor中提供了接口,可能需要配置VIP的某个参数使能这个端口,然后在用到的 ...


transaction类型,文档肯定会告诉你使用哪个transaction,monitor广播我用PCIE VIP都实现了,你遇到的问题VIP文档里面基本都有。
 楼主| 发表于 2022-1-21 16:05:13 | 显示全部楼层


fengzhiyong123 发表于 2022-1-21 15:27
transaction类型,文档肯定会告诉你使用哪个transaction,monitor广播我用PCIE VIP都实现了,你遇到的问 ...


嗯嗯,我会好好看文档的。非常感谢指导!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-9-23 05:17 , Processed in 0.024531 second(s), 7 queries , Gzip On, Redis On.

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