Add message that L-value concatenation is not supported in synthesis

This commit is contained in:
Cary R 2014-08-07 16:24:32 -07:00
parent d2ad7a4d28
commit f4c88b4a01
2 changed files with 18 additions and 4 deletions

View File

@ -1,7 +1,7 @@
%{
/*
* Copyright (c) 2000-2010 Stephen Williams (steve@icarus.com)
* Copyright (c) 2000-2014 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
@ -100,7 +100,13 @@ static void hookup_DFF_CE(NetFF*ff, NetESignal*d, NetEvProbe*pclk,
NetNet*ce, NetAssign_*a, unsigned rval_pinoffset)
{
assert(rval_pinoffset == 0);
if (rval_pinoffset != 0) {
cerr << a->get_fileline() << ": sorry: "
<< "unable to hook up an R-value with offset "
<< rval_pinoffset << " to signal " << a->name()
<< "." << endl;
return;
}
// a->sig() is a *NetNet, which doesn't have the loff_ and
// lwid_ context. Add the correction for loff_ ourselves.

View File

@ -82,7 +82,15 @@ bool NetAssignBase::synth_async(Design*des, NetScope*scope,
des->errors += 1;
return false;
}
assert(lval_->more == 0);
if (lval_->more) {
cerr << get_fileline() << ": sorry: "
<< "NetAssignBase::synth_async does not support an "
<< "L-value concatenation ";
dump_lval(cerr);
cerr << endl;
des->errors += 1;
return false;
}
if (debug_synth2) {
cerr << get_fileline() << ": NetAssignBase::synth_async: "
@ -1308,7 +1316,7 @@ bool NetCondit::synth_sync(Design*des, NetScope*scope,
NetBus tmp_out(scope, nex_out.pin_count());
NetBus accumulated_tmp_out(scope, nex_out.pin_count());
flag = if_->synth_async(des, scope, nex_map, tmp_out, accumulated_tmp_out);
ivl_assert(*this, flag);
if (! flag) return false;
ivl_assert(*this, tmp_out.pin_count() == ff_aclr.pin_count());
ivl_assert(*this, tmp_out.pin_count() == ff_aset.pin_count());