From 372a348c90eb3f13c2a366815d1406476a638c24 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sun, 9 Nov 2014 22:49:17 -0800 Subject: Detecting full-adder chains and putting them into white boxes. --- src/aig/gia/gia.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/aig/gia/gia.h') 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 ); -- cgit v1.2.3