Allow task ports to be given real types.

This commit is contained in:
steve 2001-02-17 05:15:33 +00:00
parent 410a93b52c
commit 84c7795d16
2 changed files with 18 additions and 4 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: elab_sig.cc,v 1.11 2001/02/10 20:29:39 steve Exp $"
#ident "$Id: elab_sig.cc,v 1.12 2001/02/17 05:15:33 steve Exp $"
#endif
# include "Module.h"
@ -311,6 +311,7 @@ void PWire::elaborate_sig(Design*des, NetScope*scope) const
unsigned wid = 1;
long lsb = 0, msb = 0;
assert(msb_.count() == lsb_.count());
if (msb_.count()) {
svector<long>mnum (msb_.count());
svector<long>lnum (msb_.count());
@ -413,6 +414,9 @@ void PWire::elaborate_sig(Design*des, NetScope*scope) const
/*
* $Log: elab_sig.cc,v $
* Revision 1.12 2001/02/17 05:15:33 steve
* Allow task ports to be given real types.
*
* Revision 1.11 2001/02/10 20:29:39 steve
* In the context of range declarations, use elab_and_eval instead
* of the less robust eval_const methods.

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: pform.cc,v 1.73 2001/01/15 00:47:01 steve Exp $"
#ident "$Id: pform.cc,v 1.74 2001/02/17 05:15:33 steve Exp $"
#endif
# include "compiler.h"
@ -645,14 +645,21 @@ void pform_makewire(const vlltype&li, const string&nm,
const string name = scoped_name(nm);
PWire*cur = pform_cur_module->get_wire(name);
if (cur) {
if (cur->get_wire_type() != NetNet::IMPLICIT) {
if ((cur->get_wire_type() != NetNet::IMPLICIT)
&& (cur->get_wire_type() != NetNet::IMPLICIT_REG)) {
strstream msg;
msg << name << " previously defined at " <<
cur->get_line() << "." << ends;
VLerror(msg.str());
} else {
bool rc = cur->set_wire_type(type);
assert(rc);
if (rc == false) {
strstream msg;
msg << name << " definition conflicts with "
<< "definition at " << cur->get_line()
<< "." << ends;
VLerror(msg.str());
}
}
return;
}
@ -1003,6 +1010,9 @@ int pform_parse(const char*path, map<string,Module*>&modules,
/*
* $Log: pform.cc,v $
* Revision 1.74 2001/02/17 05:15:33 steve
* Allow task ports to be given real types.
*
* Revision 1.73 2001/01/15 00:47:01 steve
* Pass scope type information to the target module.
*