From aa938a309dc069029f90b74bf2c80ad03cbd120a Mon Sep 17 00:00:00 2001 From: steve Date: Sat, 10 Jul 1999 03:00:05 +0000 Subject: [PATCH] Proper initialization of registers. --- elaborate.cc | 13 ++++++++++++- t-vvm.cc | 13 ++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/elaborate.cc b/elaborate.cc index 3e3f8d250..a9bcecf3a 100644 --- a/elaborate.cc +++ b/elaborate.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) -#ident "$Id: elaborate.cc,v 1.51 1999/07/10 02:19:26 steve Exp $" +#ident "$Id: elaborate.cc,v 1.52 1999/07/10 03:00:05 steve Exp $" #endif /* @@ -177,6 +177,14 @@ void PWire::elaborate(Design*des, const string&path) const sig->set_line(*this); sig->port_type(port_type_); sig->set_attributes(attributes); + + verinum::V iv = verinum::Vz; + if (wtype == NetNet::REG) + iv = verinum::Vx; + + for (unsigned idx = 0 ; idx < wid ; idx += 1) + sig->set_ival(idx, iv); + des->add_signal(sig); } } @@ -1715,6 +1723,9 @@ Design* elaborate(const map&modules, /* * $Log: elaborate.cc,v $ + * Revision 1.52 1999/07/10 03:00:05 steve + * Proper initialization of registers. + * * Revision 1.51 1999/07/10 02:19:26 steve * Support concatenate in l-values. * diff --git a/t-vvm.cc b/t-vvm.cc index 7a9a2d6f6..69c8035a1 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) -#ident "$Id: t-vvm.cc,v 1.29 1999/07/10 01:02:08 steve Exp $" +#ident "$Id: t-vvm.cc,v 1.30 1999/07/10 03:00:05 steve Exp $" #endif # include @@ -428,8 +428,12 @@ void target_vvm::signal(ostream&os, const NetNet*sig) if (sig->get_ival(idx) == verinum::Vz) continue; - for (const NetObj::Link*lnk = sig->pin(0).next_link() - ; (*lnk) != sig->pin(0) ; lnk = lnk->next_link()) { + for (const NetObj::Link*lnk = sig->pin(idx).next_link() + ; (*lnk) != sig->pin(idx) ; lnk = lnk->next_link()) { + + if (lnk->get_dir() == NetObj::Link::OUTPUT) + continue; + const NetNode*net; if ((net = dynamic_cast(lnk->get_obj()))) { init_code << " " << @@ -1263,6 +1267,9 @@ extern const struct target tgt_vvm = { }; /* * $Log: t-vvm.cc,v $ + * Revision 1.30 1999/07/10 03:00:05 steve + * Proper initialization of registers. + * * Revision 1.29 1999/07/10 01:02:08 steve * Handle number constants as parameters. *