diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2017-11-06 16:43:32 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2017-11-06 16:43:32 -0800 |
commit | 716969190a4d6d944cfa24a085c9e7069d868dab (patch) | |
tree | 1a0a95bd9dfc505341c367752658c732900e55de /src/aig/gia/gia.h | |
parent | 94a575a5b3113d714b96ba3711124c5780151bee (diff) | |
download | abc-716969190a4d6d944cfa24a085c9e7069d868dab.tar.gz abc-716969190a4d6d944cfa24a085c9e7069d868dab.tar.bz2 abc-716969190a4d6d944cfa24a085c9e7069d868dab.zip |
Profiling quantification and other changes.
Diffstat (limited to 'src/aig/gia/gia.h')
-rw-r--r-- | src/aig/gia/gia.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h index 9acbbe48..920ebb06 100644 --- a/src/aig/gia/gia.h +++ b/src/aig/gia/gia.h @@ -198,6 +198,7 @@ struct Gia_Man_t_ int MappedArea; // area after mapping int MappedDelay; // delay after mapping // bit-parallel simulation + int fBuiltInSim; int iPatsPi; int nSimWords; Vec_Wrd_t * vSims; @@ -673,6 +674,11 @@ static inline int Gia_ManAppendAnd( Gia_Man_t * p, int iLit0, int iLit1 ) if ( pFan1->fMark0 ) pFan1->fMark1 = 1; else pFan1->fMark0 = 1; pObj->fPhase = (Gia_ObjPhase(pFan0) ^ Gia_ObjFaninC0(pObj)) & (Gia_ObjPhase(pFan1) ^ Gia_ObjFaninC1(pObj)); } + if ( p->fBuiltInSim ) + { + extern void Gia_ManBuiltInSimPerform( Gia_Man_t * p, int iObj ); + Gia_ManBuiltInSimPerform( p, Gia_ObjId( p, pObj ) ); + } return Gia_ObjId( p, pObj ) << 1; } static inline int Gia_ManAppendXorReal( Gia_Man_t * p, int iLit0, int iLit1 ) @@ -1469,6 +1475,10 @@ extern unsigned * Gia_SimDataCoExt( Gia_ManSim_t * p, int i ); extern void Gia_ManSimInfoInit( Gia_ManSim_t * p ); extern void Gia_ManSimInfoTransfer( Gia_ManSim_t * p ); extern void Gia_ManSimulateRound( Gia_ManSim_t * p ); +extern void Gia_ManBuiltInSimStart( Gia_Man_t * p, int nWords, int nObjs ); +extern void Gia_ManBuiltInSimPerform( Gia_Man_t * p, int iObj ); +extern int Gia_ManBuiltInSimCheck( Gia_Man_t * p, int iLit0, int iLit1 ); +extern int Gia_ManObjCheckOverlap( Gia_Man_t * p, int iLit0, int iLit1, Vec_Int_t * vObjs ); /*=== giaSpeedup.c ============================================================*/ extern float Gia_ManDelayTraceLut( Gia_Man_t * p ); extern float Gia_ManDelayTraceLutPrint( Gia_Man_t * p, int fVerbose ); @@ -1612,6 +1622,7 @@ extern void Gia_ManSwapPos( Gia_Man_t * p, int i ); extern Vec_Int_t * Gia_ManSaveValue( Gia_Man_t * p ); extern void Gia_ManLoadValue( Gia_Man_t * p, Vec_Int_t * vValues ); extern Vec_Int_t * Gia_ManFirstFanouts( Gia_Man_t * p ); +extern int Gia_ManCheckSuppOverlap( Gia_Man_t * p, int iNode1, int iNode2 ); /*=== giaCTas.c ===========================================================*/ typedef struct Tas_Man_t_ Tas_Man_t; |