// DESCRIPTION: Example pli file for vpassert program // This file ONLY is placed into the Public Domain, for any use, // without warranty, 2000-2012 by Wilson Snyder. `timescale 1ns/1ns module pli; // A module called PLI is required, to contain the error counts // This is required with the vpassert --nostop option, which this example uses // By default (--stop), this file isn't needed at all integer errors; initial errors = 0; integer warnings; initial warnings = 0; // Normally this would be 0 at startup, then become 1 after reset deasserts // This prevents false assertion checks during reset integer message_on; initial message_on = 1; always @ (errors or warnings) begin `ifdef OPTIONAL_EXIT_ON_WARNING if (errors!=0 || warnings!=0) begin $uinfo (0, "Errors/warnings found, exiting!\n"); $finish; end `else if (errors!=0) begin $uinfo (0, "Errors found, exiting!\n"); $finish; end else if (warnings!=0) begin $uinfo (0, {"Warnings found, ","consider stopping!\n"}); end `endif end endmodule