NetMux needs a scope. (PR#115)

This commit is contained in:
steve 2001-01-18 03:16:35 +00:00
parent 6479319fea
commit 145ac49233
5 changed files with 29 additions and 11 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
#ident "$Id: design_dump.cc,v 1.109 2001/01/13 22:20:08 steve Exp $"
#ident "$Id: design_dump.cc,v 1.110 2001/01/18 03:16:35 steve Exp $"
#endif
/*
@ -213,7 +213,8 @@ void NetMult::dump_node(ostream&o, unsigned ind) const
void NetMux::dump_node(ostream&o, unsigned ind) const
{
o << setw(ind) << "" << "Multiplexer (NetMux): " << name() << endl;
o << setw(ind) << "" << "Multiplexer (NetMux): " << name()
<< " scope=" << scope()->name() << endl;
dump_node_pins(o, ind+4);
dump_obj_attr(o, ind+4);
}
@ -999,6 +1000,9 @@ void Design::dump(ostream&o) const
/*
* $Log: design_dump.cc,v $
* Revision 1.110 2001/01/18 03:16:35 steve
* NetMux needs a scope. (PR#115)
*
* Revision 1.109 2001/01/13 22:20:08 steve
* Parse parameters within nested scopes.
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
#ident "$Id: elab_net.cc,v 1.58 2001/01/16 04:51:52 steve Exp $"
#ident "$Id: elab_net.cc,v 1.59 2001/01/18 03:16:35 steve Exp $"
#endif
# include "PExpr.h"
@ -1627,7 +1627,7 @@ NetNet* PETernary::elaborate_net(Design*des, const string&path,
The inputs are the 0 (false) connected to fal_sig and 1
(true) connected to tru_sig. */
NetMux*mux = new NetMux(des->local_symbol(path), dwidth, 2, 1);
NetMux*mux = new NetMux(scope, des->local_symbol(path), dwidth, 2, 1);
connect(mux->pin_Sel(0), expr_sig->pin(0));
for (unsigned idx = 0 ; idx < dwidth ; idx += 1) {
@ -1797,6 +1797,9 @@ NetNet* PEUnary::elaborate_net(Design*des, const string&path,
/*
* $Log: elab_net.cc,v $
* Revision 1.59 2001/01/18 03:16:35 steve
* NetMux needs a scope. (PR#115)
*
* Revision 1.58 2001/01/16 04:51:52 steve
* Fix out-of-bound pins for comparator (PR#108)
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
#ident "$Id: expr_synth.cc,v 1.18 2000/11/29 23:16:18 steve Exp $"
#ident "$Id: expr_synth.cc,v 1.19 2001/01/18 03:16:35 steve Exp $"
#endif
# include "netlist.h"
@ -425,7 +425,7 @@ NetNet* NetETernary::synthesize(Design *des)
osig->local_flag(true);
string oname = des->local_symbol(path);
NetMux *mux = new NetMux(oname, width, 2, 1);
NetMux *mux = new NetMux(csig->scope(), oname, width, 2, 1);
for (unsigned idx = 0 ; idx < width; idx += 1) {
connect(tsig->pin(idx), mux->pin_Data(idx, 1));
connect(fsig->pin(idx), mux->pin_Data(idx, 0));
@ -444,6 +444,9 @@ NetNet* NetESignal::synthesize(Design*des)
/*
* $Log: expr_synth.cc,v $
* Revision 1.19 2001/01/18 03:16:35 steve
* NetMux needs a scope. (PR#115)
*
* Revision 1.18 2000/11/29 23:16:18 steve
* Do not delete synthesized signals used in expressions.
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
#ident "$Id: netlist.cc,v 1.153 2001/01/06 06:31:58 steve Exp $"
#ident "$Id: netlist.cc,v 1.154 2001/01/18 03:16:35 steve Exp $"
#endif
# include <cassert>
@ -1141,8 +1141,9 @@ const Link& NetMult::pin_Sum(unsigned idx) const
* 2+N -- Result[N]
*/
NetMux::NetMux(const string&n, unsigned wi, unsigned si, unsigned sw)
: NetNode(n, 2+wi+sw+wi*si), width_(wi), size_(si), swidth_(sw)
NetMux::NetMux(NetScope*s, const string&n,
unsigned wi, unsigned si, unsigned sw)
: NetNode(s, n, 2+wi+sw+wi*si), width_(wi), size_(si), swidth_(sw)
{
pin(0).set_dir(Link::INPUT); pin(0).set_name("Aclr", 0);
pin(1).set_dir(Link::INPUT); pin(1).set_name("Clock", 0);
@ -2472,6 +2473,9 @@ bool NetUDP::sequ_glob_(string input, char output)
/*
* $Log: netlist.cc,v $
* Revision 1.154 2001/01/18 03:16:35 steve
* NetMux needs a scope. (PR#115)
*
* Revision 1.153 2001/01/06 06:31:58 steve
* declaration initialization for time variables.
*

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
#ident "$Id: netlist.h,v 1.194 2001/01/16 02:44:18 steve Exp $"
#ident "$Id: netlist.h,v 1.195 2001/01/18 03:16:35 steve Exp $"
#endif
/*
@ -726,7 +726,8 @@ class NetMult : public NetNode {
class NetMux : public NetNode {
public:
NetMux(const string&n, unsigned width, unsigned size, unsigned selw);
NetMux(NetScope*scope, const string&n,
unsigned width, unsigned size, unsigned selw);
~NetMux();
unsigned width() const;
@ -2851,6 +2852,9 @@ extern ostream& operator << (ostream&, NetNet::Type);
/*
* $Log: netlist.h,v $
* Revision 1.195 2001/01/18 03:16:35 steve
* NetMux needs a scope. (PR#115)
*
* Revision 1.194 2001/01/16 02:44:18 steve
* Use the iosfwd header if available.
*