Fix bug removing pairs of ones in XOR.
This commit is contained in:
parent
e95a902b3d
commit
b14a0b885a
10
cprop.cc
10
cprop.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: cprop.cc,v 1.32 2002/02/03 00:06:28 steve Exp $"
|
#ident "$Id: cprop.cc,v 1.33 2002/04/14 02:51:37 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
|
@ -631,6 +631,8 @@ void cprop_functor::lpm_logic(Design*des, NetLogic*obj)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Here we found two constant V1
|
||||||
|
inputs. Unlink both. */
|
||||||
obj->pin(idx).unlink();
|
obj->pin(idx).unlink();
|
||||||
top -= 1;
|
top -= 1;
|
||||||
if (idx < top) {
|
if (idx < top) {
|
||||||
|
|
@ -645,8 +647,11 @@ void cprop_functor::lpm_logic(Design*des, NetLogic*obj)
|
||||||
obj->pin(top).unlink();
|
obj->pin(top).unlink();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Reset ones counter and one index,
|
||||||
|
start looking for the next pair. */
|
||||||
assert(ones == 1);
|
assert(ones == 1);
|
||||||
ones = 0;
|
ones = 0;
|
||||||
|
one = 0;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -944,6 +949,9 @@ void cprop(Design*des)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: cprop.cc,v $
|
* $Log: cprop.cc,v $
|
||||||
|
* Revision 1.33 2002/04/14 02:51:37 steve
|
||||||
|
* Fix bug removing pairs of ones in XOR.
|
||||||
|
*
|
||||||
* Revision 1.32 2002/02/03 00:06:28 steve
|
* Revision 1.32 2002/02/03 00:06:28 steve
|
||||||
* Comments about xor evaluation.
|
* Comments about xor evaluation.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue