diff --git a/elab_net.cc b/elab_net.cc index 143674c6e..719173b69 100644 --- a/elab_net.cc +++ b/elab_net.cc @@ -179,7 +179,7 @@ NetNet* PEIdent::make_implicit_net_(Design*des, NetScope*scope) const assert(nettype != NetNet::NONE); NetNet*sig = new NetNet(scope, peek_tail_name(path_), - NetNet::IMPLICIT, 1); + nettype, 1); sig->set_line(*this); /* Implicit nets are always scalar logic. */ sig->data_type(IVL_VT_LOGIC); diff --git a/lexor.lex b/lexor.lex index 49c403405..1d991563e 100644 --- a/lexor.lex +++ b/lexor.lex @@ -485,13 +485,34 @@ S [afpnumkKMGT] if (strcmp(yytext,"wire") == 0) { net_type = NetNet::WIRE; + } else if (strcmp(yytext,"tri") == 0) { + net_type = NetNet::TRI; + + } else if (strcmp(yytext,"tri0") == 0) { + net_type = NetNet::TRI0; + + } else if (strcmp(yytext,"tri1") == 0) { + net_type = NetNet::TRI1; + + } else if (strcmp(yytext,"wand") == 0) { + net_type = NetNet::WAND; + + } else if (strcmp(yytext,"triand") == 0) { + net_type = NetNet::TRIAND; + + } else if (strcmp(yytext,"wor") == 0) { + net_type = NetNet::WOR; + + } else if (strcmp(yytext,"trior") == 0) { + net_type = NetNet::TRIOR; + } else if (strcmp(yytext,"none") == 0) { net_type = NetNet::NONE; } else { cerr << yylloc.text << ":" << yylloc.first_line << ": error: Net type " << yytext - << " is not a valid (and supported)" + << " is not a valid (or supported)" << " default net type." << endl; net_type = NetNet::WIRE; error_count += 1;