For some local nets fix the local flag and file/line information

This commit is contained in:
Cary R 2015-01-14 16:38:57 -08:00
parent 074f7a7a49
commit 228a3f123a
2 changed files with 16 additions and 2 deletions

View File

@ -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);

View File

@ -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(),