Change the signal to a net when assignments go away.
This commit is contained in:
parent
5b5b31286b
commit
93bb4283b8
|
|
@ -17,7 +17,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: net_assign.cc,v 1.12 2002/06/08 23:42:46 steve Exp $"
|
#ident "$Id: net_assign.cc,v 1.13 2002/07/02 03:02:57 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -57,7 +57,12 @@ NetAssign_::NetAssign_(NetMemory*s)
|
||||||
|
|
||||||
NetAssign_::~NetAssign_()
|
NetAssign_::~NetAssign_()
|
||||||
{
|
{
|
||||||
if (sig_) sig_->decr_lref();
|
if (sig_) {
|
||||||
|
sig_->decr_lref();
|
||||||
|
if (sig_->peek_lref() == 0)
|
||||||
|
sig_->type(NetNet::WIRE);
|
||||||
|
}
|
||||||
|
|
||||||
assert( more == 0 );
|
assert( more == 0 );
|
||||||
if (bmux_) delete bmux_;
|
if (bmux_) delete bmux_;
|
||||||
}
|
}
|
||||||
|
|
@ -236,6 +241,9 @@ NetAssignNB::~NetAssignNB()
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: net_assign.cc,v $
|
* $Log: net_assign.cc,v $
|
||||||
|
* Revision 1.13 2002/07/02 03:02:57 steve
|
||||||
|
* Change the signal to a net when assignments go away.
|
||||||
|
*
|
||||||
* Revision 1.12 2002/06/08 23:42:46 steve
|
* Revision 1.12 2002/06/08 23:42:46 steve
|
||||||
* Add NetRamDq synthsesis from memory l-values.
|
* Add NetRamDq synthsesis from memory l-values.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
34
netlist.cc
34
netlist.cc
|
|
@ -17,7 +17,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: netlist.cc,v 1.192 2002/06/21 04:59:35 steve Exp $"
|
#ident "$Id: netlist.cc,v 1.193 2002/07/02 03:02:57 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -363,6 +363,35 @@ NetNet::Type NetNet::type() const
|
||||||
return type_;
|
return type_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NetNet::type(NetNet::Type t)
|
||||||
|
{
|
||||||
|
if (type_ == t)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Link::DIR dir = Link::PASSIVE;
|
||||||
|
switch (t) {
|
||||||
|
case REG:
|
||||||
|
case IMPLICIT_REG:
|
||||||
|
dir = Link::OUTPUT;
|
||||||
|
break;
|
||||||
|
case SUPPLY0:
|
||||||
|
dir = Link::OUTPUT;
|
||||||
|
break;
|
||||||
|
case SUPPLY1:
|
||||||
|
dir = Link::OUTPUT;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
type_ = t;
|
||||||
|
for (unsigned idx = 0 ; idx < pin_count() ; idx += 1) {
|
||||||
|
pin(idx).set_dir(dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
NetNet::PortType NetNet::port_type() const
|
NetNet::PortType NetNet::port_type() const
|
||||||
{
|
{
|
||||||
return port_type_;
|
return port_type_;
|
||||||
|
|
@ -2342,6 +2371,9 @@ const NetProc*NetTaskDef::proc() const
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: netlist.cc,v $
|
* $Log: netlist.cc,v $
|
||||||
|
* Revision 1.193 2002/07/02 03:02:57 steve
|
||||||
|
* Change the signal to a net when assignments go away.
|
||||||
|
*
|
||||||
* Revision 1.192 2002/06/21 04:59:35 steve
|
* Revision 1.192 2002/06/21 04:59:35 steve
|
||||||
* Carry integerness throughout the compilation.
|
* Carry integerness throughout the compilation.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: netlist.h,v 1.249 2002/07/01 00:54:21 steve Exp $"
|
#ident "$Id: netlist.h,v 1.250 2002/07/02 03:02:57 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -365,6 +365,7 @@ class NetNet : public NetObj, public LineInfo {
|
||||||
virtual ~NetNet();
|
virtual ~NetNet();
|
||||||
|
|
||||||
Type type() const;
|
Type type() const;
|
||||||
|
void type(Type t);
|
||||||
|
|
||||||
PortType port_type() const;
|
PortType port_type() const;
|
||||||
void port_type(PortType t);
|
void port_type(PortType t);
|
||||||
|
|
@ -2993,6 +2994,9 @@ extern ostream& operator << (ostream&, NetNet::Type);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: netlist.h,v $
|
* $Log: netlist.h,v $
|
||||||
|
* Revision 1.250 2002/07/02 03:02:57 steve
|
||||||
|
* Change the signal to a net when assignments go away.
|
||||||
|
*
|
||||||
* Revision 1.249 2002/07/01 00:54:21 steve
|
* Revision 1.249 2002/07/01 00:54:21 steve
|
||||||
* synth_asych of if/else requires redirecting the target
|
* synth_asych of if/else requires redirecting the target
|
||||||
* if sub-statements. Use NetNet objects to manage the
|
* if sub-statements. Use NetNet objects to manage the
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue