From 1f9bf656ed9768722f454db2610b0ce94ca9225e Mon Sep 17 00:00:00 2001 From: Henry Wong Date: Sun, 16 Oct 2016 22:01:26 -0400 Subject: [PATCH] Adding implementation of NetEvWait::nex_input to handle event controls inside always@(*) blocks --- net_nex_input.cc | 10 ++++++++++ netlist.h | 1 + 2 files changed, 11 insertions(+) diff --git a/net_nex_input.cc b/net_nex_input.cc index 4cb91fc24..a43066d51 100644 --- a/net_nex_input.cc +++ b/net_nex_input.cc @@ -404,6 +404,16 @@ NexusSet* NetDoWhile::nex_input(bool rem_out) return result; } +NexusSet* NetEvWait::nex_input(bool rem_out) +{ + NexusSet*result; + if (statement_) + result = statement_->nex_input(rem_out); + else + result = new NexusSet; + return result; +} + NexusSet* NetForce::nex_input(bool) { cerr << get_fileline() << ": internal warning: NetForce::nex_input()" diff --git a/netlist.h b/netlist.h index f28d18b51..57acafd64 100644 --- a/netlist.h +++ b/netlist.h @@ -3406,6 +3406,7 @@ class NetEvWait : public NetProc { // process? This method checks. virtual bool is_synchronous(); + virtual NexusSet* nex_input(bool rem_out = true); virtual void nex_output(NexusSet&out); virtual bool synth_async(Design*des, NetScope*scope,