diff --git a/csrc/emulator.cc b/csrc/emulator.cc index db914704..af6e0ac0 100644 --- a/csrc/emulator.cc +++ b/csrc/emulator.cc @@ -65,7 +65,7 @@ int main(int argc, char** argv) srand48(random_seed); Verilated::randReset(2); - VTestHarness *tile = new VTestHarness; + MODEL *tile = new MODEL; #if VM_TRACE Verilated::traceEverOn(true); // Verilator must compute traced signals diff --git a/emulator/Makefrag-verilator b/emulator/Makefrag-verilator index 2cf13f33..2e4435cb 100644 --- a/emulator/Makefrag-verilator +++ b/emulator/Makefrag-verilator @@ -54,7 +54,7 @@ VERILATOR_FLAGS := --top-module $(MODEL) \ +define+STOP_COND=\$$c\(\"done_reset\"\) --assert \ -Wno-STMTDLY --x-assign unique \ -I$(base_dir)/vsrc \ - -O3 -CFLAGS "$(CXXFLAGS) -DVERILATOR -include $(base_dir)/csrc/verilator.h" + -O3 -CFLAGS "$(CXXFLAGS) -DVERILATOR -include $(base_dir)/csrc/verilator.h -DMODEL=V$(MODEL)" cppfiles = $(addprefix $(base_dir)/csrc/, $(addsuffix .cc, $(CXXSRCS))) headers = $(wildcard $(base_dir)/csrc/*.h) diff --git a/vsim/Makefrag b/vsim/Makefrag index 31ee449b..ba537d85 100644 --- a/vsim/Makefrag +++ b/vsim/Makefrag @@ -51,6 +51,7 @@ VCS_OPTS = -notice -line +lint=all,noVCDE,noONGS,noUI -error=PCWM-L -timescale=1 $(RISCV)/lib/libfesvr.so \ -sverilog \ +incdir+$(generated_dir) \ + +define+MODEL=$(MODEL) \ +define+CLOCK_PERIOD=1.0 $(sim_vsrcs) $(sim_csrcs) \ +define+PRINTF_COND=$(TB).printf_cond \ +define+STOP_COND=!$(TB).reset \ diff --git a/vsrc/TestDriver.v b/vsrc/TestDriver.v index 4d5bd632..305593c0 100644 --- a/vsrc/TestDriver.v +++ b/vsrc/TestDriver.v @@ -87,7 +87,7 @@ module TestDriver; end end - TestHarness testHarness( + `MODEL testHarness( .clk(clk), .reset(reset), .io_success(success)