summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/gia.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-11-09 22:49:17 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2014-11-09 22:49:17 -0800
commit372a348c90eb3f13c2a366815d1406476a638c24 (patch)
tree1953198dcba51e0df0d5c65b2e6f00b35c09dcc0 /src/aig/gia/gia.h
parent153e8887942387aa005dc5be9fd4b93a7cf3b86a (diff)
downloadabc-372a348c90eb3f13c2a366815d1406476a638c24.tar.gz
abc-372a348c90eb3f13c2a366815d1406476a638c24.tar.bz2
abc-372a348c90eb3f13c2a366815d1406476a638c24.zip
Detecting full-adder chains and putting them into white boxes.
Diffstat (limited to 'src/aig/gia/gia.h')
-rw-r--r--src/aig/gia/gia.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h
index 683c868a..ad65fcdc 100644
--- a/src/aig/gia/gia.h
+++ b/src/aig/gia/gia.h
@@ -719,6 +719,13 @@ static inline int Gia_ManAppendMux( Gia_Man_t * p, int iCtrl, int iData1, int iD
int iTemp1 = Gia_ManAppendAnd( p, iCtrl, iData1 );
return Abc_LitNotCond( Gia_ManAppendAnd( p, Abc_LitNot(iTemp0), Abc_LitNot(iTemp1) ), 1 );
}
+static inline int Gia_ManAppendMaj( Gia_Man_t * p, int iData0, int iData1, int iData2 )
+{
+ int iTemp0 = Gia_ManAppendOr( p, iData1, iData2 );
+ int iTemp1 = Gia_ManAppendAnd( p, iData0, iTemp0 );
+ int iTemp2 = Gia_ManAppendAnd( p, iData1, iData2 );
+ return Gia_ManAppendOr( p, iTemp1, iTemp2 );
+}
static inline int Gia_ManAppendXor( Gia_Man_t * p, int iLit0, int iLit1 )
{
return Gia_ManAppendMux( p, iLit0, Abc_LitNot(iLit1), iLit1 );