37 lines
1.1 KiB
Systemverilog
37 lines
1.1 KiB
Systemverilog
// Generated by CIRCT firtool-1.151.0
|
|
|
|
// Users can define 'PRINTF_COND' to add an extra gate to prints.
|
|
`ifndef PRINTF_COND_
|
|
`ifdef PRINTF_COND
|
|
`define PRINTF_COND_ (`PRINTF_COND)
|
|
`else // PRINTF_COND
|
|
`define PRINTF_COND_ 1
|
|
`endif // PRINTF_COND
|
|
`endif // not def PRINTF_COND_
|
|
module PlusArgTimeout(
|
|
input clock,
|
|
reset,
|
|
input [31:0] io_count
|
|
);
|
|
|
|
wire [31:0] _plusarg_reader_out;
|
|
wire _GEN = (|_plusarg_reader_out) & ~reset;
|
|
`ifndef SYNTHESIS
|
|
always @(posedge clock) begin
|
|
if ((`PRINTF_COND_) & _GEN & io_count >= _plusarg_reader_out)
|
|
$fwrite(32'h80000002,
|
|
"Assertion failed: Timeout exceeded: Kill the emulation after INT rdtime cycles. Off if 0.\n at PlusArg.scala:64 assert (io.count < max, s\"Timeout exceeded: $docstring\")\n");
|
|
end // always @(posedge)
|
|
`endif // not def SYNTHESIS
|
|
always @(posedge clock) begin
|
|
end // always @(posedge)
|
|
plusarg_reader #(
|
|
.DEFAULT(0),
|
|
.FORMAT("max_core_cycles=%d"),
|
|
.WIDTH(32)
|
|
) plusarg_reader (
|
|
.out (_plusarg_reader_out)
|
|
);
|
|
endmodule
|
|
|