浅谈阻塞与非阻塞

阻塞赋值符号" = ",非阻塞赋值符号

  1. List item

" = ".
阻塞赋值时先计算等号右手方向(RHS)的值,这时候赋值语句不允许任何别的Verilog语句干扰,直到现行的赋值完成时刻,RHS赋给LHS(等号左手方向),它才允许别的赋值语句执行。

  1. List item

" <= ".
在赋值时刻开始时计算非阻塞赋值的RHS表达式,赋值操作结束时刻才更新LHS。而在计算RHS和更新LHS时,其他的Verilog语句,包括其他的Verilog语句都能同时计算RHS和更新LHS。总的来说可以看成两个步骤:
(1)在赋值开始时刻,计算非阻塞赋值RHS表达式
(2)在赋值结束时刻,更新非阻塞赋值LHS表达式

注意:非阻塞赋值只能用于对寄存器变量进行赋值,因此只能用在"initial"块和"always"块等过程块,而非阻塞赋值不允许用于连续赋值。

猜你喜欢

转载自blog.csdn.net/qq_41982581/article/details/82938050