Files
gps/hardware/generated/genesys2-soc-verilog/PlusArgTimeout.sv
T
2026-08-06 22:14:52 +03:00

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