Accept x in outputs of primitive. (PR#84)
This commit is contained in:
parent
189f55b894
commit
5144725b8f
11
elaborate.cc
11
elaborate.cc
|
|
@ -17,7 +17,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: elaborate.cc,v 1.201 2000/12/10 22:01:36 steve Exp $"
|
#ident "$Id: elaborate.cc,v 1.202 2000/12/15 01:24:17 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -606,7 +606,11 @@ void PGModule::elaborate_cudp_(Design*des, PUdp*udp, const string&path) const
|
||||||
for (unsigned idx = 0 ; idx < udp->tinput.count() ; idx += 1) {
|
for (unsigned idx = 0 ; idx < udp->tinput.count() ; idx += 1) {
|
||||||
string input = udp->tinput[idx];
|
string input = udp->tinput[idx];
|
||||||
|
|
||||||
net->set_table(input, udp->toutput[idx]);
|
bool flag = net->set_table(input, udp->toutput[idx]);
|
||||||
|
if (flag == false) {
|
||||||
|
cerr << get_line()<<": error: invalid table format." << endl;
|
||||||
|
des->errors += 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
net->cleanup_table();
|
net->cleanup_table();
|
||||||
|
|
@ -2354,6 +2358,9 @@ Design* elaborate(const map<string,Module*>&modules,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: elaborate.cc,v $
|
* $Log: elaborate.cc,v $
|
||||||
|
* Revision 1.202 2000/12/15 01:24:17 steve
|
||||||
|
* Accept x in outputs of primitive. (PR#84)
|
||||||
|
*
|
||||||
* Revision 1.201 2000/12/10 22:01:36 steve
|
* Revision 1.201 2000/12/10 22:01:36 steve
|
||||||
* Support decimal constants in behavioral delays.
|
* Support decimal constants in behavioral delays.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
10
net_udp.cc
10
net_udp.cc
|
|
@ -17,7 +17,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: net_udp.cc,v 1.2 2000/11/04 06:36:24 steve Exp $"
|
#ident "$Id: net_udp.cc,v 1.3 2000/12/15 01:24:17 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "netlist.h"
|
# include "netlist.h"
|
||||||
|
|
@ -150,9 +150,12 @@ NetUDP_COMB::NetUDP_COMB(const string&n, unsigned pins, bool sequ)
|
||||||
|
|
||||||
bool NetUDP_COMB::set_table(const string&input, char output)
|
bool NetUDP_COMB::set_table(const string&input, char output)
|
||||||
{
|
{
|
||||||
assert((output == '0') || (output == '1'));
|
if ((output != '0') && (output != '1') && (output != 'x'))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
assert((output == '0') || (output == '1') || (output == 'x'));
|
||||||
assert(input.length() == (pin_count()-1));
|
assert(input.length() == (pin_count()-1));
|
||||||
|
|
||||||
/* XXXX Need to check to make sure that the input vector
|
/* XXXX Need to check to make sure that the input vector
|
||||||
contains a legal combination of characters. In
|
contains a legal combination of characters. In
|
||||||
combinational UDPs, only 0, 1, x, and ? are allowed. */
|
combinational UDPs, only 0, 1, x, and ? are allowed. */
|
||||||
|
|
@ -191,6 +194,9 @@ bool NetUDP_COMB::next(string&inp, char&out) const
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: net_udp.cc,v $
|
* $Log: net_udp.cc,v $
|
||||||
|
* Revision 1.3 2000/12/15 01:24:17 steve
|
||||||
|
* Accept x in outputs of primitive. (PR#84)
|
||||||
|
*
|
||||||
* Revision 1.2 2000/11/04 06:36:24 steve
|
* Revision 1.2 2000/11/04 06:36:24 steve
|
||||||
* Apply sequential UDP rework from Stephan Boettcher (PR#39)
|
* Apply sequential UDP rework from Stephan Boettcher (PR#39)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue