From 9df36040071174e6cb77217d795150df25724d5c Mon Sep 17 00:00:00 2001 From: Megan Wachs Date: Fri, 1 Dec 2017 17:07:28 -0800 Subject: [PATCH] emulator: No reason not to emit waveforms during reset --- csrc/emulator.cc | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/csrc/emulator.cc b/csrc/emulator.cc index f23f1b4c..ad84f16c 100644 --- a/csrc/emulator.cc +++ b/csrc/emulator.cc @@ -177,15 +177,26 @@ done_processing: signal(SIGTERM, handle_sigterm); + bool dump; // reset for several cycles to handle pipelined reset for (int i = 0; i < 10; i++) { tile->reset = 1; tile->clock = 0; tile->eval(); +#if VM_TRACE + dump = tfp && trace_count >= start; + if (dump) + tfp->dump(static_cast(trace_count * 2)); +#endif tile->clock = 1; tile->eval(); - tile->reset = 0; +#if VM_TRACE + if (dump) + tfp->dump(static_cast(trace_count * 2 + 1)); +#endif + trace_count ++; } + tile->reset = 0; done_reset = true; while (!dtm->done() && !jtag->done() && @@ -193,7 +204,7 @@ done_processing: tile->clock = 0; tile->eval(); #if VM_TRACE - bool dump = tfp && trace_count >= start; + dump = tfp && trace_count >= start; if (dump) tfp->dump(static_cast(trace_count * 2)); #endif