From a02b0203568f4c20f50c81e26603c3a5ee4083eb Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Fri, 19 Sep 2014 19:06:01 -0700 Subject: Updating DSD balance to handle XOR gate as having the same delay as AND gate. --- src/map/if/ifCount.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/map/if/ifCount.h') diff --git a/src/map/if/ifCount.h b/src/map/if/ifCount.h index dcd3b63a..9bfc36d4 100644 --- a/src/map/if/ifCount.h +++ b/src/map/if/ifCount.h @@ -85,7 +85,7 @@ static inline int If_LogCreateAndXorMulti( Vec_Int_t * vAig, int * pFaninLits, i pFaninLits[i-1] = If_LogCreateAndXor( vAig, pFaninLits[i], pFaninLits[i-1], nSuppAll, fXor ); return pFaninLits[0]; } -static inline int If_LogCounterAddAig( int * pTimes, int * pnTimes, int * pFaninLits, int Num, int iLit, Vec_Int_t * vAig, int nSuppAll, int fXor ) +static inline int If_LogCounterAddAig( int * pTimes, int * pnTimes, int * pFaninLits, int Num, int iLit, Vec_Int_t * vAig, int nSuppAll, int fXor, int fXorFunc ) { int nTimes = *pnTimes; if ( vAig ) @@ -107,7 +107,7 @@ static inline int If_LogCounterAddAig( int * pTimes, int * pnTimes, int * pFanin } pTimes[k-1] += 1 + fXor; if ( vAig ) - pFaninLits[k-1] = If_LogCreateAndXor( vAig, pFaninLits[k], pFaninLits[k-1], nSuppAll, fXor ); + pFaninLits[k-1] = If_LogCreateAndXor( vAig, pFaninLits[k], pFaninLits[k-1], nSuppAll, fXorFunc ); for ( nTimes--, i = k; i < nTimes; i++ ) { pTimes[i] = pTimes[i+1]; -- cgit v1.2.3