For some local nets fix the local flag and file/line information
This commit is contained in:
parent
074f7a7a49
commit
228a3f123a
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999-2013 Stephen Williams (steve@icarus.com)
|
* Copyright (c) 1999-2015 Stephen Williams (steve@icarus.com)
|
||||||
*
|
*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
* and/or modify it in source code form under the terms of the GNU
|
* and/or modify it in source code form under the terms of the GNU
|
||||||
|
|
@ -1278,6 +1278,8 @@ NetNet* NetESignal::synthesize(Design*des, NetScope*scope, NetExpr*root)
|
||||||
net_->vector_width()-1, 0);
|
net_->vector_width()-1, 0);
|
||||||
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
||||||
NetNet::IMPLICIT, tmp_vec);
|
NetNet::IMPLICIT, tmp_vec);
|
||||||
|
tmp->set_line(*this);
|
||||||
|
tmp->local_flag(true);
|
||||||
verinum tmp_val ((uint64_t)scope->genvar_tmp_val, net_->vector_width());
|
verinum tmp_val ((uint64_t)scope->genvar_tmp_val, net_->vector_width());
|
||||||
NetConst*tmp_const = new NetConst(scope, scope->local_symbol(), tmp_val);
|
NetConst*tmp_const = new NetConst(scope, scope->local_symbol(), tmp_val);
|
||||||
tmp_const->set_line(*this);
|
tmp_const->set_line(*this);
|
||||||
|
|
|
||||||
14
synth2.cc
14
synth2.cc
|
|
@ -136,6 +136,7 @@ bool NetAssignBase::synth_async(Design*des, NetScope*scope,
|
||||||
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
||||||
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
||||||
tmp->local_flag(true);
|
tmp->local_flag(true);
|
||||||
|
tmp->set_line(*this);
|
||||||
|
|
||||||
NetPartSelect*ps = new NetPartSelect(tmp, base_off, lval_->lwidth(), NetPartSelect::PV);
|
NetPartSelect*ps = new NetPartSelect(tmp, base_off, lval_->lwidth(), NetPartSelect::PV);
|
||||||
ps->set_line(*this);
|
ps->set_line(*this);
|
||||||
|
|
@ -166,7 +167,8 @@ bool NetAssignBase::synth_async(Design*des, NetScope*scope,
|
||||||
|
|
||||||
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
||||||
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
||||||
//tmp->local_flag(true);
|
tmp->local_flag(true);
|
||||||
|
tmp->set_line(*this);
|
||||||
|
|
||||||
ivl_assert(*this, accumulated_nex_out.pin_count()==1);
|
ivl_assert(*this, accumulated_nex_out.pin_count()==1);
|
||||||
NetNet*use_lsig = lsig;
|
NetNet*use_lsig = lsig;
|
||||||
|
|
@ -835,6 +837,7 @@ bool NetCase::synth_async_casez_(Design*des, NetScope*scope,
|
||||||
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
||||||
NetNet::TRI, tmp_vec);
|
NetNet::TRI, tmp_vec);
|
||||||
tmp->local_flag(true);
|
tmp->local_flag(true);
|
||||||
|
tmp->set_line(*this);
|
||||||
ivl_assert(*this, tmp->vector_width() != 0);
|
ivl_assert(*this, tmp->vector_width() != 0);
|
||||||
connect(mux_cur->pin_Result(), tmp->pin(0));
|
connect(mux_cur->pin_Result(), tmp->pin(0));
|
||||||
|
|
||||||
|
|
@ -1111,6 +1114,7 @@ bool NetCondit::synth_async(Design*des, NetScope*scope,
|
||||||
NetNet*otmp = new NetNet(scope, scope->local_symbol(),
|
NetNet*otmp = new NetNet(scope, scope->local_symbol(),
|
||||||
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
||||||
otmp->local_flag(true);
|
otmp->local_flag(true);
|
||||||
|
otmp->set_line(*this);
|
||||||
connect(mux->pin_Result(),otmp->pin(0));
|
connect(mux->pin_Result(),otmp->pin(0));
|
||||||
|
|
||||||
connect(mux->pin_Sel(), ssig->pin(0));
|
connect(mux->pin_Sel(), ssig->pin(0));
|
||||||
|
|
@ -1121,6 +1125,8 @@ bool NetCondit::synth_async(Design*des, NetScope*scope,
|
||||||
tmp_type = new netvector_t(mux_data_type, mux_width-1,0);
|
tmp_type = new netvector_t(mux_data_type, mux_width-1,0);
|
||||||
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
||||||
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
||||||
|
tmp->local_flag(true);
|
||||||
|
tmp->set_line(*this);
|
||||||
connect(mux->pin_Data(1), tmp->pin(0));
|
connect(mux->pin_Data(1), tmp->pin(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1128,6 +1134,8 @@ bool NetCondit::synth_async(Design*des, NetScope*scope,
|
||||||
tmp_type = new netvector_t(mux_data_type, mux_width-1,0);
|
tmp_type = new netvector_t(mux_data_type, mux_width-1,0);
|
||||||
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
||||||
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
||||||
|
tmp->local_flag(true);
|
||||||
|
tmp->set_line(*this);
|
||||||
connect(mux->pin_Data(0), tmp->pin(0));
|
connect(mux->pin_Data(0), tmp->pin(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1138,6 +1146,8 @@ bool NetCondit::synth_async(Design*des, NetScope*scope,
|
||||||
tmp_type = new netvector_t(mux_data_type, mux_lwidth-1,0);
|
tmp_type = new netvector_t(mux_data_type, mux_lwidth-1,0);
|
||||||
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
NetNet*tmp = new NetNet(scope, scope->local_symbol(),
|
||||||
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
||||||
|
tmp->local_flag(true);
|
||||||
|
tmp->set_line(*this);
|
||||||
NetPartSelect*ps = new NetPartSelect(tmp, mux_off, mux_width, NetPartSelect::PV);
|
NetPartSelect*ps = new NetPartSelect(tmp, mux_off, mux_width, NetPartSelect::PV);
|
||||||
des->add_node(ps);
|
des->add_node(ps);
|
||||||
connect(ps->pin(0), otmp->pin(0));
|
connect(ps->pin(0), otmp->pin(0));
|
||||||
|
|
@ -1320,6 +1330,7 @@ bool NetProcTop::synth_async(Design*des)
|
||||||
NetNet*tmp_sig = new NetNet(scope(), scope()->local_symbol(),
|
NetNet*tmp_sig = new NetNet(scope(), scope()->local_symbol(),
|
||||||
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
NetNet::WIRE, NetNet::not_an_array, tmp_type);
|
||||||
tmp_sig->local_flag(true);
|
tmp_sig->local_flag(true);
|
||||||
|
tmp_sig->set_line(*this);
|
||||||
|
|
||||||
NetPartSelect*tmp = new NetPartSelect(tmp_sig, item.base,
|
NetPartSelect*tmp = new NetPartSelect(tmp_sig, item.base,
|
||||||
item.wid, NetPartSelect::PV);
|
item.wid, NetPartSelect::PV);
|
||||||
|
|
@ -1801,6 +1812,7 @@ bool NetProcTop::synth_sync(Design*des)
|
||||||
NetNet*clock = new NetNet(scope(), scope()->local_symbol(),
|
NetNet*clock = new NetNet(scope(), scope()->local_symbol(),
|
||||||
NetNet::TRI, &netvector_t::scalar_logic);
|
NetNet::TRI, &netvector_t::scalar_logic);
|
||||||
clock->local_flag(true);
|
clock->local_flag(true);
|
||||||
|
clock->set_line(*this);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
NetNet*ce = new NetNet(scope(), scope()->local_symbol(),
|
NetNet*ce = new NetNet(scope(), scope()->local_symbol(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue