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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: christsong

[求助] verilog阻塞赋值问题

[复制链接]
 楼主| 发表于 2014-9-15 16:25:57 | 显示全部楼层
回复 9# 成长中的原始人


   是的,只运行一次
 楼主| 发表于 2014-9-15 16:27:42 | 显示全部楼层
回复 7# cutfor


   #10时刻执行clk = 0;执行的是阻塞赋值,为什么还会触发always模块呢?要是这样的话,阻塞和非阻塞还有什么区别?
发表于 2014-9-15 20:32:19 | 显示全部楼层
我感觉阻塞赋值不是这么理解的。
阻塞赋值只对同一个begin end块内有阻塞效果,例如
a=b;
c=a;
那么肯定会等a=b完成了再执行c=a
不同的inial、always块是并行执行的,不会阻塞
发表于 2014-9-16 13:20:23 | 显示全部楼层
回复 10# christsong

结果没有错,理解好并行还有初始化
发表于 2014-9-16 15:06:10 | 显示全部楼层
8楼是对的
发表于 2014-9-16 15:59:50 | 显示全部楼层
回复 8# orlye


    reg默认初始值应该是x吧。。。。
发表于 2014-9-16 19:50:48 | 显示全部楼层
回复 12# christsong

这。。。我竟然无言语对!不知道你的仿真激励文件是怎么写的。。。
触发Always模块的是事件!
发表于 2014-9-19 14:29:18 | 显示全部楼层
自己驱动自己。。
发表于 2014-9-20 01:53:51 | 显示全部楼层
Do you understand what is the blocking and none-blocking assignment?

none-blocking example: That is the register element.

always @(posedge CLK or negedge RESETN)
  if(~RESETN)
     A <= 1'b0;
  else
     A <= B;

blocking assignment: That is the combination circuit

always @*
   if(~RESETN)
      A = 1'b0;
   else if(signal_c | singal_d)
      A = B;
发表于 2014-9-20 15:16:26 | 显示全部楼层
看到这么写,有点蛋疼。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 14:10 , Processed in 0.021444 second(s), 9 queries , Gzip On, Redis On.

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