Verilog中阻塞赋值和非阻塞赋值的正确使用
          
            时间:01-20 11:12 阅读:1173次
*温馨提示:点击图片可以放大观看高清大图
                
         
        
		  
               简介:文章主要介绍Verilog中阻塞赋值和非阻塞赋值的正确使用方法。
               
                        
          
            Verilog中有两种为变量赋值的方法。一种叫做连续赋值,另一种叫做过程赋值。
  过程赋值又分为阻塞赋值和非阻塞赋值。
 阻塞性赋值使用“=”为变量赋值,在赋值结束前不可以进行其他操作,在赋值结束之后继续后面的操作。这个过程就好像阻断了程序的运行。
 非阻塞赋值使用“<=”为变量赋值,在执行赋值语句时,仅仅对“<=”右边的值进行评估,但并不马上执行赋值,然后继续执行后面的操作。这个过程就好像没有阻断程序的运行。
 多条阻塞赋值语句是顺序执行的,而多条非阻塞赋值是并行进行的,这就是两者的区别。
  坚持做到以下列出的注意事项,就可以基本上避免使用阻塞赋值和非阻塞赋值不当引起的错误。
  1.在使用always块描述组合逻辑时,使用阻塞赋值;在使用always块描述时序逻辑时,使用费阻塞赋值。
  2.不要在同一个always块内同时使用阻塞赋值和非阻塞赋值。
  3.无论是使用阻塞赋值还是使用非阻塞赋值,不要再不同的always块内为同一个变量赋值。
  4.在程序中不要使用0延时。