diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-11-09 22:49:17 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-11-09 22:49:17 -0800 |
commit | 372a348c90eb3f13c2a366815d1406476a638c24 (patch) | |
tree | 1953198dcba51e0df0d5c65b2e6f00b35c09dcc0 /src/aig/gia/gia.h | |
parent | 153e8887942387aa005dc5be9fd4b93a7cf3b86a (diff) | |
download | abc-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.h | 7 |
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 ); |