58 p->pLibLut = pPars->
pLib;
60 p->nTruWords = pPars->
fUseTruth ? Abc_Truth6WordNum(
p->nLutSize) : 0;
63 assert( Mpm_CutWordNum(32) < 32 );
64 p->pManCuts = Mmr_StepStart( 13, Abc_Base2Log(Mpm_CutWordNum(
p->nLutSize) + 1) );
65 Vec_PtrGrow( &
p->vFreeUnits,
p->nNumCuts + 1 );
66 for ( i =
p->nNumCuts; i >= 0; i-- )
67 Vec_PtrPush( &
p->vFreeUnits,
p->pCutUnits + i );
68 p->vTemp = Vec_PtrAlloc( 1000 );
70 Vec_IntFill( &
p->vCutBests, Mig_ManObjNum(pMig), 0 );
71 Vec_IntFill( &
p->vCutLists, Mig_ManObjNum(pMig), 0 );
72 Vec_IntFill( &
p->vMigRefs, Mig_ManObjNum(pMig), 0 );
73 Vec_IntFill( &
p->vMapRefs, Mig_ManObjNum(pMig), 0 );
74 Vec_IntFill( &
p->vEstRefs, Mig_ManObjNum(pMig), 0 );
75 Vec_IntFill( &
p->vRequireds, Mig_ManObjNum(pMig),
ABC_INFINITY );
76 Vec_IntFill( &
p->vTimes, Mig_ManObjNum(pMig), 0 );
77 Vec_IntFill( &
p->vAreas, Mig_ManObjNum(pMig), 0 );
78 Vec_IntFill( &
p->vEdges, Mig_ManObjNum(pMig), 0 );
80 assert( !
p->pPars->fUseTruth || !
p->pPars->fUseDsd );
81 if (
p->pPars->fUseTruth )
83 p->vTtMem = Vec_MemAlloc(
p->nTruWords, 12 );
84 Vec_MemHashAlloc(
p->vTtMem, 10000 );
85 p->funcCst0 = Vec_MemHashInsert(
p->vTtMem,
p->Truth );
86 Abc_TtUnit(
p->Truth,
p->nTruWords, 0 );
87 p->funcVar0 = Vec_MemHashInsert(
p->vTtMem,
p->Truth );
89 else if (
p->pPars->fUseDsd )
95 p->timeTotal = Abc_Clock();