fox32-hw/simulation/sim_main.cpp
2024-01-12 13:44:33 +01:00

38 lines
786 B
C++

#include "Vrot.h"
#include "verilated.h"
#include "verilated_vcd_c.h"
int main(int argc, char** argv) {
VerilatedContext* contextp = new VerilatedContext;
contextp->commandArgs(argc, argv);
Vrot* rot = new Vrot{contextp};
Verilated::traceEverOn(true);
VerilatedVcdC* tracer = new VerilatedVcdC;
if (argc == 2) {
rot->trace(tracer, 10);
tracer->open(argv[1]);
}
while (!contextp->gotFinish() && contextp->time() < 100000) {
contextp->timeInc(1);
rot->clk = 1;
rot->eval();
tracer->dump(contextp->time());
contextp->timeInc(1);
rot->clk = 0;
rot->eval();
tracer->dump(contextp->time());
}
tracer->close();
delete rot;
delete contextp;
return 0;
}