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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3461|回复: 2

[讨论] UVM中ubus例子的一个问题

[复制链接]
发表于 2016-6-8 17:28:17 | 显示全部楼层 |阅读模式

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

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

x
UVM自带的ubus例子中,关于驱动ubus_if.rw有一点疑惑。

ubus_if中sig_data是双向信号,写操作时由master驱动,读操作时由slave驱动。为此,增加了两个信号,rw和sig_data_out。
assign sig_data = rw ? sig_data_out : 8'bz;
当rw为1时,表示sig_data作为输出使用;当rw为0时,表示sig_data作为输入使用。

但是,master和slave通过ubus_if连接,他们驱动rw是有冲突的。

写操作:master输出数据,rw驱动为1;slave输入数据,rw驱动为0;
读操作:master输入数据,rw驱动为0;slave输出数据,rw驱动为1;
那么在仿真时,驱动同一个信号到不同的值会有什么结果?不可预测吗?

关键是仿真结果是PASS的,不能理解。

希望大神指点一下。谢谢!
发表于 2016-6-10 10:52:02 | 显示全部楼层
驱动同一个信号到不同的值会有什么结果?
要看你的信号定义成什么类型的, WAND, WOR, WIRE, TRI1...
 楼主| 发表于 2016-6-12 18:34:07 | 显示全部楼层
回复 2# ue11


   在这个例子中,ubus_if.rw被定义成logic类型的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-25 04:46 , Processed in 0.016774 second(s), 8 queries , Gzip On, Redis On.

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