Commit b1b85e0e by Alan Mishchenko

Integrating synthesis into the new BMC engine.

parent 4aac586c
...@@ -129,9 +129,9 @@ void Gia_ManSuperCollectXor_rec( Gia_Man_t * p, Gia_Obj_t * pObj ) ...@@ -129,9 +129,9 @@ void Gia_ManSuperCollectXor_rec( Gia_Man_t * p, Gia_Obj_t * pObj )
{ {
assert( !Gia_IsComplement(pObj) ); assert( !Gia_IsComplement(pObj) );
if ( !Gia_ObjIsXor(pObj) || if ( !Gia_ObjIsXor(pObj) ||
Gia_ObjRefNum(p, pObj) > 1 || // Gia_ObjRefNum(p, pObj) > 1 ||
// Gia_ObjRefNum(p, pObj) > 2 || Gia_ObjRefNum(p, pObj) > 2 ||
// (Gia_ObjRefNum(p, pObj) == 2 && (Gia_ObjRefNum(p, Gia_ObjFanin0(pObj)) == 1 || Gia_ObjRefNum(p, Gia_ObjFanin1(pObj)) == 1)) || (Gia_ObjRefNum(p, pObj) == 2 && (Gia_ObjRefNum(p, Gia_ObjFanin0(pObj)) == 1 || Gia_ObjRefNum(p, Gia_ObjFanin1(pObj)) == 1)) ||
Vec_IntSize(p->vSuper) > 100 ) Vec_IntSize(p->vSuper) > 100 )
{ {
Vec_IntPush( p->vSuper, Gia_ObjToLit(p, pObj) ); Vec_IntPush( p->vSuper, Gia_ObjToLit(p, pObj) );
...@@ -145,9 +145,9 @@ void Gia_ManSuperCollectAnd_rec( Gia_Man_t * p, Gia_Obj_t * pObj ) ...@@ -145,9 +145,9 @@ void Gia_ManSuperCollectAnd_rec( Gia_Man_t * p, Gia_Obj_t * pObj )
{ {
if ( Gia_IsComplement(pObj) || if ( Gia_IsComplement(pObj) ||
!Gia_ObjIsAndReal(p, pObj) || !Gia_ObjIsAndReal(p, pObj) ||
Gia_ObjRefNum(p, pObj) > 1 || // Gia_ObjRefNum(p, pObj) > 1 ||
// Gia_ObjRefNum(p, pObj) > 2 || Gia_ObjRefNum(p, pObj) > 2 ||
// (Gia_ObjRefNum(p, pObj) == 2 && (Gia_ObjRefNum(p, Gia_ObjFanin0(pObj)) == 1 || Gia_ObjRefNum(p, Gia_ObjFanin1(pObj)) == 1)) || (Gia_ObjRefNum(p, pObj) == 2 && (Gia_ObjRefNum(p, Gia_ObjFanin0(pObj)) == 1 || Gia_ObjRefNum(p, Gia_ObjFanin1(pObj)) == 1)) ||
Vec_IntSize(p->vSuper) > 100 ) Vec_IntSize(p->vSuper) > 100 )
{ {
Vec_IntPush( p->vSuper, Gia_ObjToLit(p, pObj) ); Vec_IntPush( p->vSuper, Gia_ObjToLit(p, pObj) );
......
...@@ -63,7 +63,7 @@ Gia_Man_t * Gia_ManDupMuxes( Gia_Man_t * p ) ...@@ -63,7 +63,7 @@ Gia_Man_t * Gia_ManDupMuxes( Gia_Man_t * p )
Gia_ManHashStart( pNew ); Gia_ManHashStart( pNew );
Gia_ManForEachAnd( p, pObj, i ) Gia_ManForEachAnd( p, pObj, i )
{ {
if ( !Gia_ObjIsMuxType(pObj) || (Gia_ObjRefNum(p, Gia_ObjFanin0(pObj)) > 1 && Gia_ObjRefNum(p, Gia_ObjFanin1(pObj)) > 1) ) if ( !Gia_ObjIsMuxType(pObj) || (Gia_ObjRefNum(p, Gia_ObjFanin0(pObj)) > 1 || Gia_ObjRefNum(p, Gia_ObjFanin1(pObj)) > 1) )
pObj->Value = Gia_ManHashAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) ); pObj->Value = Gia_ManHashAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) );
else if ( Gia_ObjRecognizeExor(pObj, &pFan0, &pFan1) ) else if ( Gia_ObjRecognizeExor(pObj, &pFan0, &pFan1) )
pObj->Value = Gia_ManHashXorReal( pNew, Gia_ObjLitCopy(p, Gia_ObjToLit(p, pFan0)), Gia_ObjLitCopy(p, Gia_ObjToLit(p, pFan1)) ); pObj->Value = Gia_ManHashXorReal( pNew, Gia_ObjLitCopy(p, Gia_ObjToLit(p, pFan0)), Gia_ObjLitCopy(p, Gia_ObjToLit(p, pFan1)) );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment