Merge branch 'master' of github.com:steveicarus/iverilog

This commit is contained in:
Stephen Williams 2014-08-09 08:04:46 -07:00
commit 96414af721
4 changed files with 18 additions and 11 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());

View File

@ -307,12 +307,6 @@ ExpReal::~ExpReal()
{
}
bool ExpReal::evaluate(ScopeBase*, double&val) const
{
val = value_;
return true;
}
ExpLogical::ExpLogical(ExpLogical::fun_t ty, Expression*op1, Expression*op2)
: ExpBinary(op1, op2), fun_(ty)
{

View File

@ -519,7 +519,6 @@ class ExpReal : public Expression {
int emit(ostream&out, Entity*ent, Architecture*arc);
int emit_package(std::ostream&out);
bool is_primary(void) const;
bool evaluate(ScopeBase*scope, double&val) const;
void dump(ostream&out, int indent = 0) const;
virtual ostream& dump_inline(ostream&out) const;