diff --git a/synth2.cc b/synth2.cc index da173a1c6..97cfa6735 100644 --- a/synth2.cc +++ b/synth2.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2016 Stephen Williams (steve@icarus.com) + * Copyright (c) 2002-2020 Stephen Williams (steve@icarus.com) * * This source code is free software; you can redistribute it * and/or modify it in source code form under the terms of the GNU @@ -72,6 +72,15 @@ bool NetAssignBase::synth_async(Design*des, NetScope*scope, NexusSet&nex_map, NetBus&nex_out, NetBus&accumulated_nex_out) { + if (dynamic_cast(this) || dynamic_cast(this) || + dynamic_cast(this) || dynamic_cast(this)) { + cerr << get_fileline() << ": sorry: Procedural continuous " + "assignment is not currently supported in synthesis." + << endl; + des->errors += 1; + return false; + } + /* If the lval is a concatenation, synthesise each part separately. */ if (lval_->more ) { @@ -100,6 +109,7 @@ bool NetAssignBase::synth_async(Design*des, NetScope*scope, return flag; } + assert(rval_); NetNet*rsig = rval_->synthesize(des, scope, rval_); assert(rsig);