diff --git a/elab_net.cc b/elab_net.cc index 91f064752..6d5126539 100644 --- a/elab_net.cc +++ b/elab_net.cc @@ -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.34 2000/05/07 04:37:56 steve Exp $" +#ident "$Id: elab_net.cc,v 1.35 2000/05/07 19:40:26 steve Exp $" #endif # include "PExpr.h" @@ -789,8 +789,10 @@ NetNet* PEBinary::elaborate_net_shift_(Design*des, const string&path, connect(rsig->pin(idx), gate->pin_Distance(idx)); if (op_ == 'r') { + NetTmp*tmp = new NetTmp(scope, des->local_symbol(path)); NetConst*dir = new NetConst(des->local_symbol(path), verinum::V1); connect(dir->pin(0), gate->pin_Direction()); + connect(tmp->pin(0), gate->pin_Direction()); des->add_node(dir); } @@ -1462,6 +1464,11 @@ NetNet* PEUnary::elaborate_net(Design*des, const string&path, /* * $Log: elab_net.cc,v $ + * Revision 1.35 2000/05/07 19:40:26 steve + * Fix connection of Direction of LMP_CLSHIFT + * to constant values. Remember to add a signal + * to the nexus and connect the receiver in vvm. + * * Revision 1.34 2000/05/07 04:37:56 steve * Carry strength values from Verilog source to the * pform and netlist for gates. diff --git a/nexus_from_link.cc b/nexus_from_link.cc index 678dc8251..1ea48efb5 100644 --- a/nexus_from_link.cc +++ b/nexus_from_link.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: nexus_from_link.cc,v 1.3 2000/05/07 04:37:56 steve Exp $" +#ident "$Id: nexus_from_link.cc,v 1.4 2000/05/07 19:40:26 steve Exp $" #endif # include "netmisc.h" @@ -69,6 +69,7 @@ string nexus_from_link(const Link*lnk) obj->name() << " pin " << pin << "(" << lnk->get_name() << "<" << lnk->get_inst() << ">)" " type=" << typeid(*obj).name() << "?" << endl; + } assert(sig); ostrstream tmp; @@ -82,6 +83,11 @@ string nexus_from_link(const Link*lnk) /* * $Log: nexus_from_link.cc,v $ + * Revision 1.4 2000/05/07 19:40:26 steve + * Fix connection of Direction of LMP_CLSHIFT + * to constant values. Remember to add a signal + * to the nexus and connect the receiver in vvm. + * * Revision 1.3 2000/05/07 04:37:56 steve * Carry strength values from Verilog source to the * pform and netlist for gates. diff --git a/t-vvm.cc b/t-vvm.cc index 9cffc78f9..ca48ea1a7 100644 --- a/t-vvm.cc +++ b/t-vvm.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: t-vvm.cc,v 1.145 2000/05/07 18:20:07 steve Exp $" +#ident "$Id: t-vvm.cc,v 1.146 2000/05/07 19:40:26 steve Exp $" #endif # include @@ -1262,6 +1262,16 @@ void target_vvm::lpm_clshift(ostream&os, const NetCLShift*gate) << ".key_Distance(" << idx << "));" << endl; } + /* Connect the Direction pin... */ + if (gate->pin_Direction().is_linked()) { + string nexus = nexus_from_link(&gate->pin_Direction()); + unsigned ncode = nexus_wire_map[nexus]; + + init_code << " nexus_wire_table["<width() ; idx += 1) { string nexus = nexus_from_link(&gate->pin_Result(idx)); @@ -2792,6 +2802,11 @@ extern const struct target tgt_vvm = { }; /* * $Log: t-vvm.cc,v $ + * Revision 1.146 2000/05/07 19:40:26 steve + * Fix connection of Direction of LMP_CLSHIFT + * to constant values. Remember to add a signal + * to the nexus and connect the receiver in vvm. + * * Revision 1.145 2000/05/07 18:20:07 steve * Import MCD support from Stephen Tell, and add * system function parameter support to the IVL core.