/**Function************************************************************* Synopsis [Deriving the functionality of the gates.] Description [] SideEffects [] SeeAlso [] ***********************************************************************/ int Mio_LibraryParseFormulas( Mio_Library_t * pLib ) { Mio_Gate_t * pGate; // count the gates pLib->nGates = 0; Mio_LibraryForEachGate( pLib, pGate ) pLib->nGates++; // for each gate, derive its function Mio_LibraryForEachGate( pLib, pGate ) if ( Mio_GateParseFormula( pGate ) ) return 1; return 0; }
/**Function************************************************************* Synopsis [Deriving the functionality of the gates.] Description [] SideEffects [] SeeAlso [] ***********************************************************************/ int Mio_LibraryParseFormulas( Mio_Library_t * pLib ) { Mio_Gate_t * pGate; // count the gates pLib->nGates = 0; Mio_LibraryForEachGate( pLib, pGate ) pLib->nGates++; // start a temporary BDD manager pLib->dd = Cudd_Init( 20, 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0 ); // introduce ZDD variables Cudd_zddVarsFromBddVars( pLib->dd, 2 ); // for each gate, derive its function Mio_LibraryForEachGate( pLib, pGate ) if ( Mio_GateParseFormula( pGate ) ) return 1; return 0; }