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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 24865|回复: 10

[求助] verilog HDL 里pullup.pulldown怎么用的?

[复制链接]
发表于 2015-3-10 13:43:46 | 显示全部楼层 |阅读模式

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

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

x
假如  module top;

       wire a;

       pullup x1(a);

       endmodule

这时a的值不应该是1嘛?为什么是X?
我不会用 = =
发表于 2015-3-10 20:50:00 | 显示全部楼层
呃,所谓上下拉应该是对当前无驱动的线才会有作用,若有驱动应该按照驱动信号来决定!
也就是‘Z’可以变成‘1’或‘0’,而不是‘0’能变‘1’(‘1’变‘0’),否则就跟你设计想法不一样了。
至于为什么会是‘X’,我觉得是你的设计问题,看一下是多驱动问题还是X态传播问题。
 楼主| 发表于 2015-3-11 09:08:08 | 显示全部楼层
回复 2# cutfor


    = = 我懂了,呵呵。 其实是我 display查看时的时序有问题,所以看不出上拉的1..
发表于 2015-3-11 10:22:09 | 显示全部楼层
学习了,呵呵
发表于 2015-3-12 15:53:28 | 显示全部楼层
仿真看看应该是1
发表于 2015-5-4 11:25:12 | 显示全部楼层
回复 3# jimmy817


    楼主,我也遇到同样的问题,请问你是怎么怎么解决的啊?
发表于 2015-10-9 13:56:24 | 显示全部楼层




  1. `timescale 1ns/1ps
  2. module test();
  3. reg a;
  4. reg d;
  5. wire b;
  6. wire c;
  7. wire e;
  8. reg clk;

  9. always #10 clk = ~clk;


  10. initial begin
  11.   clk =1'b0;
  12. d = 1'bx;
  13. #100;
  14. a = 1'b1;
  15. #100;
  16. a = 1'b0;
  17. #100;
  18. d = 1'bz;
  19. #100;
  20. $finish;
  21. end
  22. pulldown(b);
  23. pulldown(c);
  24. pulldown(e);
  25. assign b = a;
  26. assign e = d;

  27. always@(posedge clk) begin
  28.   $display("@%0t   a = %b  b = %b  c= %b  d = %b  e = %b  ",$realtime,a,b,c,d,e);
  29. end
  30. endmodule



复制代码




仿真的输出结果为:





  1. @10000   a = x  b = x  c= 0  d = x  e = x  
  2. @30000   a = x  b = x  c= 0  d = x  e = x  
  3. @50000   a = x  b = x  c= 0  d = x  e = x  
  4. @70000   a = x  b = x  c= 0  d = x  e = x  
  5. @90000   a = x  b = x  c= 0  d = x  e = x  
  6. @110000   a = 1  b = 1  c= 0  d = x  e = x  
  7. @130000   a = 1  b = 1  c= 0  d = x  e = x  
  8. @150000   a = 1  b = 1  c= 0  d = x  e = x  
  9. @170000   a = 1  b = 1  c= 0  d = x  e = x  
  10. @190000   a = 1  b = 1  c= 0  d = x  e = x  
  11. @210000   a = 0  b = 0  c= 0  d = x  e = x  
  12. @230000   a = 0  b = 0  c= 0  d = x  e = x  
  13. @250000   a = 0  b = 0  c= 0  d = x  e = x  
  14. @270000   a = 0  b = 0  c= 0  d = x  e = x  
  15. @290000   a = 0  b = 0  c= 0  d = x  e = x  
  16. @310000   a = 0  b = 0  c= 0  d = z  e = 0  
  17. @330000   a = 0  b = 0  c= 0  d = z  e = 0  
  18. @350000   a = 0  b = 0  c= 0  d = z  e = 0  
  19. @370000   a = 0  b = 0  c= 0  d = z  e = 0  
  20. @390000   a = 0  b = 0  c= 0  d = z  e = 0


复制代码
发表于 2017-11-16 17:01:51 | 显示全部楼层
看看
发表于 2017-11-17 17:51:48 | 显示全部楼层
看看,学习下
发表于 2017-11-19 14:38:23 | 显示全部楼层
看看,学习下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-29 09:54 , Processed in 0.030650 second(s), 9 queries , Gzip On, Redis On.

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