#include #include #include "verilated.h" #include "verilated_vcd_c.h" #include "Vtop.h" void tick(int tickcount, Vtop *tb, VerilatedVcdC* tfp) { tb->eval(); if (tfp) tfp->dump(tickcount * 10 - 2); tb->i_clk = 1; tb->eval(); if (tfp) tfp->dump(tickcount * 10); tb->i_clk = 0; tb->eval(); if (tfp) { tfp->dump(tickcount * 10 + 5); tfp->flush(); } } int main(int argc, char **argv) { // Call commandArgs first! Verilated::commandArgs(argc, argv); // Instantiate our design Vtop *tb = new Vtop; Verilated::traceEverOn(true); VerilatedVcdC* tfp = new VerilatedVcdC; tb->trace(tfp, 00); tfp->open("build/waveform.vcd"); unsigned tickcount = 0; for (int k = 0; k < (1<<18); k++) tick(++tickcount, tb, tfp); }