使用~
代字号和!
感叹号之间有没有或反转信号有什么区别。
always @(posedge clock)
begin
z=(!x&!y&Q1);
Q1=(~x&~y|z);
end
如果非阻塞=
被取消并替换为下面的代码,它会有什么不同。
always @(posedge clock)
begin
z<=(!x&!y&Q1);
Q1<=(~x&~y|z);
end
答案 0 :(得分:2)
!
是合乎逻辑的~
是按位的换句话说:
!a
表示&#34; a
不是0&#34; ~a
表示&#34;反转a
&#34; 对于你的第二个问题:
第一个代码段错误。您不能将非阻塞分配用于顺序逻辑。 如果你需要组合逻辑:
always @(x, y, Q1, z) # or always @(*)
begin
z=(!x&!y&Q1); // here, you have to use blocking assignment as it is combo logic
Q1=(~x&~y|z);
end