From 6733abd72ef24ebb8e3732a2acd61195510e8fa7 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sun, 21 Dec 2014 01:04:39 -0800 Subject: Exprimental features in tech-mapping. --- src/map/if/ifMap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/map/if/ifMap.c') diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c index 32e3ce15..89e94804 100644 --- a/src/map/if/ifMap.c +++ b/src/map/if/ifMap.c @@ -275,12 +275,13 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep if ( p->pPars->fUseAndVars ) { int iDecMask = -1, truthId = Abc_Lit2Var(pCut->iCutFunc); + assert( p->pPars->nLutSize <= 13 ); if ( truthId >= Vec_IntSize(p->vTtDecs[pCut->nLeaves]) || Vec_IntEntry(p->vTtDecs[pCut->nLeaves], truthId) == -1 ) { while ( truthId >= Vec_IntSize(p->vTtDecs[pCut->nLeaves]) ) Vec_IntPush( p->vTtDecs[pCut->nLeaves], -1 ); - if ( (int)pCut->nLeaves > p->pPars->nLutSize / 2 ) - iDecMask = Abc_TtProcessBiDec( If_CutTruthW(p, pCut), (int)pCut->nLeaves, p->pPars->nLutSize / 2 ); + if ( (int)pCut->nLeaves > p->pPars->nLutSize / 2 && (int)pCut->nLeaves <= 2 * (p->pPars->nLutSize / 2) ) + iDecMask = Abc_TtProcessBiDec( If_CutTruthWR(p, pCut), (int)pCut->nLeaves, p->pPars->nLutSize / 2 ); else iDecMask = 0; Vec_IntWriteEntry( p->vTtDecs[pCut->nLeaves], truthId, iDecMask ); -- cgit v1.2.3