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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4382|回复: 17

[求助] 关于tb中force signal的问题

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

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

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

x
假如在tb中有如下instantiation,wire b;
module_a module_a(
.a_in(b);
);
然后
force module_a.a_in = 0;
这样的话, b的值会不会也被force为0啊?
发表于 2014-10-24 08:45:36 | 显示全部楼层
若a_in是输module_a的输入,b不会被force
是输出则会一同被force
发表于 2014-10-24 08:48:26 | 显示全部楼层
打酱油。。。。
 楼主| 发表于 2014-10-24 09:33:04 | 显示全部楼层
回复 2# chengroc

我也这样觉得的,但是虽然a_in是input,我的simulation结果是b也同时被force了,觉得很奇怪
发表于 2014-10-24 10:32:16 | 显示全部楼层
当然会了,因为你是force net,所以与之相连的线网都会被强制赋值的,不过该输入信号的输出源头不受影响
比如:
module xx_top();
wire b;
initial
  force block1.in = 0;
block0 block0 (
  .out(b), //output port
);
block1 block1 (
  .in(b), //input port
);
endmodule
那么,结果就是:
xxx_top.b, xxx_top.block1.in被强制赋值为0;而xxx_top.block0.out仍然保持原值
发表于 2014-10-24 10:39:49 | 显示全部楼层
sorry,我错了
仿真是对的,不管端口是输入还是输出,force的是一条net,b只是该net的另外一个名字。所以b也会被force

回复 4# MohanGrace
发表于 2014-10-24 10:40:36 | 显示全部楼层
涨知识了
发表于 2014-10-24 15:41:12 | 显示全部楼层
长知识了,多谢
 楼主| 发表于 2014-10-24 15:52:19 | 显示全部楼层
回复 5# jun_dahai

谢谢回复啊,懂了!那如果是在同一个module里的应该也是会被force为0的对吧?
比如
module xx_top();
wire b;
initial
  force block1.in_1 = 0;
block0 block0 (
  .out(b), //output port
);
block1 block1 (
  .in_1(b), //input port
  .in_2(b),//input port
);
endmodule
那么,结果就是:
xxx_top.b, xxx_top.block1.in_1, xxx_top.block1.in_2被强制赋值为0;而xxx_top.block0.out仍然保持原值

对吧?
发表于 2014-10-24 18:16:58 | 显示全部楼层
谢谢哦学
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 19:01 , Processed in 0.032668 second(s), 9 queries , Gzip On, Redis On.

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