Merge branch 'master' of github.com:steveicarus/iverilog
This commit is contained in:
commit
96414af721
10
syn-rules.y
10
syn-rules.y
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
12
synth2.cc
12
synth2.cc
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue