| module assert_dff(input clk, input test, input pat); | |
| always @(posedge clk) | |
| begin | |
| #1; | |
| if (test != pat) | |
| begin | |
| $display("ERROR: ASSERTION FAILED in %m:",$time); | |
| $stop; | |
| end | |
| end | |
| endmodule | |
| module assert_tri(input en, input A, input B); | |
| always @(posedge en) | |
| begin | |
| #1; | |
| if (A !== B) | |
| begin | |
| $display("ERROR: ASSERTION FAILED in %m:",$time," ",A," ",B); | |
| $stop; | |
| end | |
| end | |
| endmodule | |
| module assert_Z(input clk, input A); | |
| always @(posedge clk) | |
| begin | |
| #1; | |
| if (A === 1'bZ) | |
| begin | |
| $display("ERROR: ASSERTION FAILED in %m:",$time," ",A); | |
| $stop; | |
| end | |
| end | |
| endmodule | |
| module assert_comb(input A, input B); | |
| always @(*) | |
| begin | |
| #1; | |
| if (A !== B) | |
| begin | |
| $display("ERROR: ASSERTION FAILED in %m:",$time," ",A," ",B); | |
| $stop; | |
| end | |
| end | |
| endmodule |