diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2022-06-26 19:45:03 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2022-06-26 19:45:03 -0700 |
commit | adcc398bc38c91fa4cc8849aca9eb69c6fb61d21 (patch) | |
tree | 34b8b7b8102016f4e1584cdc0cdf742e4a79b472 /src/aig/miniaig | |
parent | 8cf3f54208b5cdda6a164db4a747a2e4bffcd93b (diff) | |
download | abc-adcc398bc38c91fa4cc8849aca9eb69c6fb61d21.tar.gz abc-adcc398bc38c91fa4cc8849aca9eb69c6fb61d21.tar.bz2 abc-adcc398bc38c91fa4cc8849aca9eb69c6fb61d21.zip |
Dumping equivalences after SAT sweeping.
Diffstat (limited to 'src/aig/miniaig')
-rw-r--r-- | src/aig/miniaig/miniaig.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/aig/miniaig/miniaig.h b/src/aig/miniaig/miniaig.h index c501d326..0365b946 100644 --- a/src/aig/miniaig/miniaig.h +++ b/src/aig/miniaig/miniaig.h @@ -368,6 +368,20 @@ static inline int Mini_AigTruth( Mini_Aig_t * p, int * pVarLits, int nVars, unsi Lit1 = Mini_AigTruth( p, pVarLits, Var, Mini_AigTt5Cofactor1(Truth, Var) ); return Mini_AigMuxProp( p, pVarLits[Var], Lit1, Lit0 ); } +static char * Mini_AigPhase( Mini_Aig_t * p ) +{ + char * pRes = MINI_AIG_CALLOC( char, Mini_AigNodeNum(p) ); + int i; + Mini_AigForEachAnd( p, i ) + { + int iFaninLit0 = Mini_AigNodeFanin0( p, i ); + int iFaninLit1 = Mini_AigNodeFanin1( p, i ); + int Phase0 = pRes[Mini_AigLit2Var(iFaninLit0)] ^ Mini_AigLitIsCompl(iFaninLit0); + int Phase1 = pRes[Mini_AigLit2Var(iFaninLit1)] ^ Mini_AigLitIsCompl(iFaninLit1); + pRes[i] = Phase0 & Phase1; + } + return pRes; +} // procedure to check the topological order during AIG construction static int Mini_AigCheck( Mini_Aig_t * p ) |