编译时会根据语句出现的位置自动识别是逻辑运算还是赋值运算。
在“表达式”(expression)中,"<="作为逻辑比较运算符;在“语句”(statement)中,"<="作为非阻塞赋值的一部分。
verilog中,一个语法结构不可能同时允许“表达式”和“语句”,
如果某处可以出现表达式,那么就不允许出现语句;
如果某处可以出现语句,那么一个单独的表达式就不能出现在那里。
如果预期出现的是表达式,那么其中的 <= 就解释成逻辑比较运算符;
如果预期出现的是语句,那么其中的 <= 就解释成非阻塞赋值的一部分,整个语句就是非阻塞赋值。