// Verilated -*- C++ -*- // DESCRIPTION: main() calling loop, created with Verilator --main #include "verilated.h" #include "Vtb.h" //====================== int main(int argc, char** argv, char**) { // Setup context, defaults, and parse command line Verilated::debug(0); const std::unique_ptr contextp{new VerilatedContext}; contextp->commandArgs(argc, argv); // Construct the Verilated model, from Vtop.h generated from Verilating const std::unique_ptr topp{new Vtb{contextp.get()}}; // Simulate until $finish while (!contextp->gotFinish()) { // Evaluate model topp->eval(); // Advance time if (!topp->eventsPending()) break; contextp->time(topp->nextTimeSlot()); } if (!contextp->gotFinish()) { VL_DEBUG_IF(VL_PRINTF("+ Exiting without $finish; no events left\n");); } // Final model cleanup topp->final(); return 0; }