Go to the source code of this file.
|
static ABC_NAMESPACE_IMPL_START int | Hop_ObjIsExorType (Hop_Obj_t *p0, Hop_Obj_t *p1, Hop_Obj_t **ppFan0, Hop_Obj_t **ppFan1) |
| DECLARATIONS ///. More...
|
|
Hop_Obj_t * | Hop_IthVar (Hop_Man_t *p, int i) |
| FUNCTION DEFINITIONS ///. More...
|
|
Hop_Obj_t * | Hop_Oper (Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1, Hop_Type_t Type) |
|
Hop_Obj_t * | Hop_And (Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1) |
|
Hop_Obj_t * | Hop_Exor (Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1) |
|
Hop_Obj_t * | Hop_Or (Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1) |
|
Hop_Obj_t * | Hop_Mux (Hop_Man_t *p, Hop_Obj_t *pC, Hop_Obj_t *p1, Hop_Obj_t *p0) |
|
Hop_Obj_t * | Hop_Maj (Hop_Man_t *p, Hop_Obj_t *pA, Hop_Obj_t *pB, Hop_Obj_t *pC) |
|
Hop_Obj_t * | Hop_Multi_rec (Hop_Man_t *p, Hop_Obj_t **ppObjs, int nObjs, Hop_Type_t Type) |
|
Hop_Obj_t * | Hop_Multi (Hop_Man_t *p, Hop_Obj_t **pArgs, int nArgs, Hop_Type_t Type) |
|
Hop_Obj_t * | Hop_Miter (Hop_Man_t *p, Vec_Ptr_t *vPairs) |
|
Hop_Obj_t * | Hop_CreateAnd (Hop_Man_t *p, int nVars) |
|
Hop_Obj_t * | Hop_CreateOr (Hop_Man_t *p, int nVars) |
|
Hop_Obj_t * | Hop_CreateExor (Hop_Man_t *p, int nVars) |
|
Function*************************************************************
Synopsis [Performs canonicization step.]
Description [The argument nodes can be complemented.]
SideEffects []
SeeAlso []
Definition at line 104 of file hopOper.c.
114 return p0 ==
p->pConst1 ? p1 :
Hop_Not(
p->pConst1);
116 return p1 ==
p->pConst1 ? p0 :
Hop_Not(
p->pConst1);
Hop_Obj_t * Hop_ObjCreate(Hop_Man_t *p, Hop_Obj_t *pGhost)
static Hop_Obj_t * Hop_Not(Hop_Obj_t *p)
static Hop_Obj_t * Hop_Regular(Hop_Obj_t *p)
static Hop_Obj_t * Hop_ObjCreateGhost(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1, Hop_Type_t Type)
Hop_Obj_t * Hop_TableLookup(Hop_Man_t *p, Hop_Obj_t *pGhost)
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Creates AND function with nVars inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 320 of file hopOper.c.
325 for ( i = 0; i < nVars; i++ )
static Hop_Obj_t * Hop_ManConst1(Hop_Man_t *p)
Hop_Obj_t * Hop_IthVar(Hop_Man_t *p, int i)
FUNCTION DEFINITIONS ///.
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Function*************************************************************
Synopsis [Creates AND function with nVars inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 362 of file hopOper.c.
367 for ( i = 0; i < nVars; i++ )
Hop_Obj_t * Hop_Exor(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Hop_Obj_t * Hop_IthVar(Hop_Man_t *p, int i)
FUNCTION DEFINITIONS ///.
static Hop_Obj_t * Hop_ManConst0(Hop_Man_t *p)
Function*************************************************************
Synopsis [Creates AND function with nVars inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 341 of file hopOper.c.
346 for ( i = 0; i < nVars; i++ )
Hop_Obj_t * Hop_Or(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Hop_Obj_t * Hop_IthVar(Hop_Man_t *p, int i)
FUNCTION DEFINITIONS ///.
static Hop_Obj_t * Hop_ManConst0(Hop_Man_t *p)
Function*************************************************************
Synopsis [Performs canonicization step.]
Description [The argument nodes can be complemented.]
SideEffects []
SeeAlso []
Definition at line 138 of file hopOper.c.
Hop_Obj_t * Hop_Or(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
static Hop_Obj_t * Hop_Not(Hop_Obj_t *p)
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Returns i-th elementary variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 63 of file hopOper.c.
static int Vec_PtrSize(Vec_Ptr_t *p)
static Hop_Obj_t * Hop_ManPi(Hop_Man_t *p, int i)
Hop_Obj_t * Hop_ObjCreatePi(Hop_Man_t *p)
DECLARATIONS ///.
static int Hop_ManPiNum(Hop_Man_t *p)
Function*************************************************************
Synopsis [Implements ITE operation.]
Description []
SideEffects []
SeeAlso []
Definition at line 242 of file hopOper.c.
244 return Hop_Or(
p,
Hop_Or(
p,
Hop_And(
p, pA, pB),
Hop_And(
p, pA, pC)),
Hop_And(
p, pB, pC) );
Hop_Obj_t * Hop_Or(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Function*************************************************************
Synopsis [Implements the miter.]
Description []
SideEffects []
SeeAlso []
Definition at line 297 of file hopOper.c.
300 assert( vPairs->nSize > 0 );
301 assert( vPairs->nSize % 2 == 0 );
303 for ( i = 0; i < vPairs->nSize; i += 2 )
305 vPairs->nSize = vPairs->nSize/2;
Hop_Obj_t * Hop_Exor(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Hop_Obj_t * Hop_Multi_rec(Hop_Man_t *p, Hop_Obj_t **ppObjs, int nObjs, Hop_Type_t Type)
static Hop_Obj_t * Hop_Not(Hop_Obj_t *p)
Function*************************************************************
Synopsis [Old code.]
Description []
SideEffects []
SeeAlso []
Definition at line 279 of file hopOper.c.
Hop_Obj_t * Hop_Multi_rec(Hop_Man_t *p, Hop_Obj_t **ppObjs, int nObjs, Hop_Type_t Type)
Function*************************************************************
Synopsis [Constructs the well-balanced tree of gates.]
Description [Disregards levels and possible logic sharing.]
SideEffects []
SeeAlso []
Definition at line 258 of file hopOper.c.
264 pObj2 =
Hop_Multi_rec(
p, ppObjs + nObjs/2, nObjs - nObjs/2, Type );
265 return Hop_Oper(
p, pObj1, pObj2, Type );
Hop_Obj_t * Hop_Multi_rec(Hop_Man_t *p, Hop_Obj_t **ppObjs, int nObjs, Hop_Type_t Type)
Hop_Obj_t * Hop_Oper(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1, Hop_Type_t Type)
Function*************************************************************
Synopsis [Implements ITE operation.]
Description []
SideEffects []
SeeAlso []
Definition at line 187 of file hopOper.c.
Hop_Obj_t * Hop_Or(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
static Hop_Obj_t * Hop_Not(Hop_Obj_t *p)
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
DECLARATIONS ///.
CFile****************************************************************
FileName [hopOper.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Minimalistic And-Inverter Graph package.]
Synopsis [AIG operations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - May 11, 2006.]
Revision [
- Id:
- hopOper.c,v 1.00 2006/05/11 00:00:00 alanmi Exp
]
Definition at line 31 of file hopOper.c.
static Hop_Obj_t * Hop_ObjChild0(Hop_Obj_t *pObj)
static Hop_Obj_t * Hop_ObjFanin1(Hop_Obj_t *pObj)
static int Hop_ObjFaninC1(Hop_Obj_t *pObj)
static int Hop_ObjIsAnd(Hop_Obj_t *pObj)
static Hop_Obj_t * Hop_ObjChild1(Hop_Obj_t *pObj)
static int Hop_IsComplement(Hop_Obj_t *p)
static Hop_Obj_t * Hop_ObjFanin0(Hop_Obj_t *pObj)
static int Hop_ObjFaninC0(Hop_Obj_t *pObj)
static Hop_Obj_t * Hop_Regular(Hop_Obj_t *p)
Function*************************************************************
Synopsis [Perform one operation.]
Description [The argument nodes can be complemented.]
SideEffects []
SeeAlso []
Definition at line 83 of file hopOper.c.
Hop_Obj_t * Hop_Exor(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Function*************************************************************
Synopsis [Implements Boolean OR.]
Description []
SideEffects []
SeeAlso []
Definition at line 171 of file hopOper.c.
static Hop_Obj_t * Hop_Not(Hop_Obj_t *p)
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)