mirror of https://github.com/YosysHQ/abc.git
Integrating synthesis into the new BMC engine.
This commit is contained in:
parent
4aac586cae
commit
b1b85e0e6a
|
|
@ -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 )
|
||||||
{
|
{
|
||||||
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 )
|
||||||
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)) );
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue