1 /* Copyright (C) 2017 LambdaConcept */
10 #include "verilated_fst_c.h"
12 #include "verilated_vcd_c.h"
22 uint64_t main_time
= 0;
24 extern "C" void litex_sim_eval(void *vsim
)
26 Vsim
*sim
= (Vsim
*)vsim
;
30 extern "C" uint64_t litex_sim_increment_time(unsigned long dt_ps
) {
35 extern "C" void litex_sim_init_cmdargs(int argc
, char *argv
[])
37 Verilated::commandArgs(argc
, argv
);
40 extern "C" void litex_sim_init_tracer(void *vsim
, long start
, long end
)
42 Vsim
*sim
= (Vsim
*)vsim
;
44 tfp_end
= end
>= 0 ? end
: UINT64_MAX
;
45 Verilated::traceEverOn(true);
47 tfp
= new VerilatedFstC
;
51 tfp
= new VerilatedVcdC
;
55 tfp
->set_time_unit("1ps");
56 tfp
->set_time_resolution("1ps");
59 extern "C" void litex_sim_tracer_dump()
61 if (tfp_start
<= main_time
&& main_time
<= tfp_end
) {
66 extern "C" int litex_sim_got_finish()
68 return Verilated::gotFinish();
72 extern "C" void litex_sim_coverage_dump()
74 VerilatedCov::write("sim.cov");
78 double sc_time_stamp()