if 不能这么用,一般的情况下必须写在一个过程赋值模块中。比如:reg b; always@(a) begin if(a==0) b = 1; else b =0; end或者用一个连续赋值比如:wire b; assign b = (a)?0:1;这两种方法都可以满足你要的逻辑