
- module top_module (
- input clk,
- input x,
- output z
- );
-
- reg [2:0] Q;
- always@(posedge clk)
- begin
- Q[0] <= Q[0] ^ x;
- Q[1] <= (~Q[1]) & x;
- Q[2] <= (~Q[2]) | x;
- z <= ~(| Q[2:0]); //错误!!!!
- end
-
- endmodule
正确答案:
- module top_module (
- input clk,
- input x,
- output z
- );
-
- reg [2:0] Q;
- assign z = ~(| Q[2:0]);
- always@(posedge clk)
- begin
- Q[0] <= Q[0] ^ x;
- Q[1] <= (~Q[1]) & x;
- Q[2] <= (~Q[2]) | x;
- end
-
- endmodule