mirror of https://github.com/YosysHQ/yosys.git
48 lines
980 B
Verilog
48 lines
980 B
Verilog
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
|