summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/map/if/ifMap.c2
-rw-r--r--src/opt/lpk/lpkMux.c34
2 files changed, 36 insertions, 0 deletions
diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c
index afeba005..bd8ebed7 100644
--- a/src/map/if/ifMap.c
+++ b/src/map/if/ifMap.c
@@ -633,6 +633,8 @@ int If_ManPerformMappingRound( If_Man_t * p, int nCutsUsed, int Mode, int fPrepr
}
else if ( If_ObjIsConst1(pObj) )
{
+ arrTime = -IF_INFINITY;
+ If_ObjSetArrTime( pObj, arrTime );
}
else
assert( 0 );
diff --git a/src/opt/lpk/lpkMux.c b/src/opt/lpk/lpkMux.c
index 01c28c8c..60184f61 100644
--- a/src/opt/lpk/lpkMux.c
+++ b/src/opt/lpk/lpkMux.c
@@ -243,6 +243,40 @@ If_Obj_t * Lpk_MapSuppRedDec_rec( Lpk_Man_t * p, unsigned * pTruth, int nVars, I
return pObjNew;
}
+/**Function*************************************************************
+
+ Synopsis [Evaluates 4-LUT decompositions of larger functions.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+void Lpk_TryDec( word * pTruth, int nVars )
+{
+ extern word If_Dec6Perform( word t, int fDerive );
+ extern void If_Dec6Verify( word t, word z );
+ int nWords = Abc_Truth6WordNum( nVars );
+ assert( nVars == 8 );
+ printf( "%d", If_Dec6Perform(pTruth[0], 1) > 0 );
+ printf( "%d", If_Dec6Perform(pTruth[1], 1) > 0 );
+ printf( "%d", If_Dec6Perform(pTruth[2], 1) > 0 );
+ printf( "%d", If_Dec6Perform(pTruth[3], 1) > 0 );
+ printf( "\n" );
+}
+void Lpk_TryDecTest()
+{
+ word t0 = ABC_CONST(0x4f1ead396f247a04);
+ word t1 = ABC_CONST(0x10bdb210c006eab5);
+ word t2 = ABC_CONST(0x68ab4bfa8acb7a13);
+ word t3 = ABC_CONST(0xb14ede67096c6eed);
+ word Truth[4] = {t0, t1, t2, t3};
+ Lpk_TryDec( Truth, 8 );
+
+}
+
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
////////////////////////////////////////////////////////////////////////