abc-master
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "misc/vec/vec.h"
#include "misc/util/utilCex.h"
Go to the source code of this file.
Data Structures | |
struct | Gia_Rpr_t_ |
struct | Gia_Plc_t_ |
struct | Gia_Obj_t_ |
struct | Gia_Man_t_ |
struct | Gps_Par_t_ |
struct | Emb_Par_t_ |
struct | Gia_ParFra_t_ |
struct | Gia_ParSim_t_ |
struct | Gia_ManSim_t_ |
struct | Jf_Par_t_ |
Macros | |
#define | GIA_NONE 0x1FFFFFFF |
INCLUDES ///. More... | |
#define | GIA_VOID 0x0FFFFFFF |
#define | GIA_ZER 1 |
#define | GIA_ONE 2 |
#define | GIA_UND 3 |
#define | Gia_ManForEachConst(p, i) for ( i = 1; i < Gia_ManObjNum(p); i++ ) if ( !Gia_ObjIsConst(p, i) ) {} else |
#define | Gia_ManForEachClass(p, i) for ( i = 1; i < Gia_ManObjNum(p); i++ ) if ( !Gia_ObjIsHead(p, i) ) {} else |
#define | Gia_ManForEachClassReverse(p, i) for ( i = Gia_ManObjNum(p) - 1; i > 0; i-- ) if ( !Gia_ObjIsHead(p, i) ) {} else |
#define | Gia_ClassForEachObj(p, i, iObj) for ( assert(Gia_ObjIsHead(p, i)), iObj = i; iObj; iObj = Gia_ObjNext(p, iObj) ) |
#define | Gia_ClassForEachObj1(p, i, iObj) for ( assert(Gia_ObjIsHead(p, i)), iObj = Gia_ObjNext(p, i); iObj; iObj = Gia_ObjNext(p, iObj) ) |
#define | Gia_ObjForEachFanoutStatic(p, pObj, pFanout, i) for ( i = 0; (i < Gia_ObjFanoutNum(p, pObj)) && (((pFanout) = Gia_ObjFanout(p, pObj, i)), 1); i++ ) |
#define | Gia_ObjForEachFanoutStaticId(p, Id, FanId, i) for ( i = 0; (i < Gia_ObjFanoutNumId(p, Id)) && (((FanId) = Gia_ObjFanoutId(p, Id, i)), 1); i++ ) |
#define | Gia_ManForEachLut(p, i) for ( i = 1; i < Gia_ManObjNum(p); i++ ) if ( !Gia_ObjIsLut(p, i) ) {} else |
#define | Gia_LutForEachFanin(p, i, iFan, k) for ( k = 0; k < Gia_ObjLutSize(p,i) && ((iFan = Gia_ObjLutFanins(p,i)[k]),1); k++ ) |
#define | Gia_LutForEachFaninObj(p, i, pFanin, k) for ( k = 0; k < Gia_ObjLutSize(p,i) && ((pFanin = Gia_ManObj(p, Gia_ObjLutFanins(p,i)[k])),1); k++ ) |
#define | Gia_ManForEachCell(p, i) for ( i = 2; i < 2*Gia_ManObjNum(p); i++ ) if ( !Gia_ObjIsCell(p, i) ) {} else |
#define | Gia_CellForEachFanin(p, i, iFanLit, k) for ( k = 0; k < Gia_ObjCellSize(p,i) && ((iFanLit = Gia_ObjCellFanins(p,i)[k]),1); k++ ) |
#define | Gia_ManForEachObj(p, pObj, i) for ( i = 0; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) |
MACRO DEFINITIONS ///. More... | |
#define | Gia_ManForEachObj1(p, pObj, i) for ( i = 1; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) |
#define | Gia_ManForEachObjVec(vVec, p, pObj, i) for ( i = 0; (i < Vec_IntSize(vVec)) && ((pObj) = Gia_ManObj(p, Vec_IntEntry(vVec,i))); i++ ) |
#define | Gia_ManForEachObjVecReverse(vVec, p, pObj, i) for ( i = Vec_IntSize(vVec) - 1; (i >= 0) && ((pObj) = Gia_ManObj(p, Vec_IntEntry(vVec,i))); i-- ) |
#define | Gia_ManForEachObjVecLit(vVec, p, pObj, fCompl, i) for ( i = 0; (i < Vec_IntSize(vVec)) && ((pObj) = Gia_ManObj(p, Abc_Lit2Var(Vec_IntEntry(vVec,i)))) && (((fCompl) = Abc_LitIsCompl(Vec_IntEntry(vVec,i))),1); i++ ) |
#define | Gia_ManForEachObjReverse(p, pObj, i) for ( i = p->nObjs - 1; (i >= 0) && ((pObj) = Gia_ManObj(p, i)); i-- ) |
#define | Gia_ManForEachObjReverse1(p, pObj, i) for ( i = p->nObjs - 1; (i > 0) && ((pObj) = Gia_ManObj(p, i)); i-- ) |
#define | Gia_ManForEachBuf(p, pObj, i) for ( i = Gia_ManBufNum(p) ? 0 : p->nObjs; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) if ( !Gia_ObjIsBuf(pObj) ) {} else |
#define | Gia_ManForEachBufId(p, i) for ( i = 0; (i < p->nObjs); i++ ) if ( !Gia_ObjIsBuf(Gia_ManObj(p, i)) ) {} else |
#define | Gia_ManForEachAnd(p, pObj, i) for ( i = 0; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) if ( !Gia_ObjIsAnd(pObj) ) {} else |
#define | Gia_ManForEachAndId(p, i) for ( i = 0; (i < p->nObjs); i++ ) if ( !Gia_ObjIsAnd(Gia_ManObj(p, i)) ) {} else |
#define | Gia_ManForEachMuxId(p, i) for ( i = 0; (i < p->nObjs); i++ ) if ( !Gia_ObjIsMuxId(p, i) ) {} else |
#define | Gia_ManForEachCand(p, pObj, i) for ( i = 0; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) if ( !Gia_ObjIsCand(pObj) ) {} else |
#define | Gia_ManForEachAndReverse(p, pObj, i) for ( i = p->nObjs - 1; (i > 0) && ((pObj) = Gia_ManObj(p, i)); i-- ) if ( !Gia_ObjIsAnd(pObj) ) {} else |
#define | Gia_ManForEachAndReverseId(p, i) for ( i = p->nObjs - 1; (i > 0); i-- ) if ( !Gia_ObjIsAnd(Gia_ManObj(p, i)) ) {} else |
#define | Gia_ManForEachMux(p, pObj, i) for ( i = 0; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) if ( !Gia_ObjIsMuxId(p, i) ) {} else |
#define | Gia_ManForEachCi(p, pObj, i) for ( i = 0; (i < Vec_IntSize(p->vCis)) && ((pObj) = Gia_ManCi(p, i)); i++ ) |
#define | Gia_ManForEachCiId(p, Id, i) for ( i = 0; (i < Vec_IntSize(p->vCis)) && ((Id) = Gia_ObjId(p, Gia_ManCi(p, i))); i++ ) |
#define | Gia_ManForEachCiReverse(p, pObj, i) for ( i = Vec_IntSize(p->vCis) - 1; (i >= 0) && ((pObj) = Gia_ManCi(p, i)); i-- ) |
#define | Gia_ManForEachCo(p, pObj, i) for ( i = 0; (i < Vec_IntSize(p->vCos)) && ((pObj) = Gia_ManCo(p, i)); i++ ) |
#define | Gia_ManForEachCoVec(vVec, p, pObj, i) for ( i = 0; (i < Vec_IntSize(vVec)) && ((pObj) = Gia_ManCo(p, Vec_IntEntry(vVec,i))); i++ ) |
#define | Gia_ManForEachCoId(p, Id, i) for ( i = 0; (i < Vec_IntSize(p->vCos)) && ((Id) = Gia_ObjId(p, Gia_ManCo(p, i))); i++ ) |
#define | Gia_ManForEachCoReverse(p, pObj, i) for ( i = Vec_IntSize(p->vCos) - 1; (i >= 0) && ((pObj) = Gia_ManCo(p, i)); i-- ) |
#define | Gia_ManForEachCoDriver(p, pObj, i) for ( i = 0; (i < Vec_IntSize(p->vCos)) && ((pObj) = Gia_ObjFanin0(Gia_ManCo(p, i))); i++ ) |
#define | Gia_ManForEachCoDriverId(p, DriverId, i) for ( i = 0; (i < Vec_IntSize(p->vCos)) && (((DriverId) = Gia_ObjFaninId0p(p, Gia_ManCo(p, i))), 1); i++ ) |
#define | Gia_ManForEachPi(p, pObj, i) for ( i = 0; (i < Gia_ManPiNum(p)) && ((pObj) = Gia_ManCi(p, i)); i++ ) |
#define | Gia_ManForEachPo(p, pObj, i) for ( i = 0; (i < Gia_ManPoNum(p)) && ((pObj) = Gia_ManCo(p, i)); i++ ) |
#define | Gia_ManForEachRo(p, pObj, i) for ( i = 0; (i < Gia_ManRegNum(p)) && ((pObj) = Gia_ManCi(p, Gia_ManPiNum(p)+i)); i++ ) |
#define | Gia_ManForEachRi(p, pObj, i) for ( i = 0; (i < Gia_ManRegNum(p)) && ((pObj) = Gia_ManCo(p, Gia_ManPoNum(p)+i)); i++ ) |
#define | Gia_ManForEachRiRo(p, pObjRi, pObjRo, i) for ( i = 0; (i < Gia_ManRegNum(p)) && ((pObjRi) = Gia_ManCo(p, Gia_ManPoNum(p)+i)) && ((pObjRo) = Gia_ManCi(p, Gia_ManPiNum(p)+i)); i++ ) |
Typedefs | |
typedef struct Gia_MmFixed_t_ | Gia_MmFixed_t |
BASIC TYPES ///. More... | |
typedef struct Gia_MmFlex_t_ | Gia_MmFlex_t |
typedef struct Gia_MmStep_t_ | Gia_MmStep_t |
typedef struct Gia_Rpr_t_ | Gia_Rpr_t |
typedef struct Gia_Plc_t_ | Gia_Plc_t |
typedef struct Gia_Obj_t_ | Gia_Obj_t |
typedef struct Gia_Man_t_ | Gia_Man_t |
typedef struct Gps_Par_t_ | Gps_Par_t |
typedef struct Emb_Par_t_ | Emb_Par_t |
typedef struct Gia_ParFra_t_ | Gia_ParFra_t |
typedef struct Gia_ParSim_t_ | Gia_ParSim_t |
typedef struct Gia_ManSim_t_ | Gia_ManSim_t |
typedef struct Jf_Par_t_ | Jf_Par_t |
typedef struct Tas_Man_t_ | Tas_Man_t |
#define Gia_CellForEachFanin | ( | p, | |
i, | |||
iFanLit, | |||
k | |||
) | for ( k = 0; k < Gia_ObjCellSize(p,i) && ((iFanLit = Gia_ObjCellFanins(p,i)[k]),1); k++ ) |
#define Gia_ClassForEachObj | ( | p, | |
i, | |||
iObj | |||
) | for ( assert(Gia_ObjIsHead(p, i)), iObj = i; iObj; iObj = Gia_ObjNext(p, iObj) ) |
#define Gia_ClassForEachObj1 | ( | p, | |
i, | |||
iObj | |||
) | for ( assert(Gia_ObjIsHead(p, i)), iObj = Gia_ObjNext(p, i); iObj; iObj = Gia_ObjNext(p, iObj) ) |
#define Gia_LutForEachFanin | ( | p, | |
i, | |||
iFan, | |||
k | |||
) | for ( k = 0; k < Gia_ObjLutSize(p,i) && ((iFan = Gia_ObjLutFanins(p,i)[k]),1); k++ ) |
#define Gia_LutForEachFaninObj | ( | p, | |
i, | |||
pFanin, | |||
k | |||
) | for ( k = 0; k < Gia_ObjLutSize(p,i) && ((pFanin = Gia_ManObj(p, Gia_ObjLutFanins(p,i)[k])),1); k++ ) |
#define Gia_ManForEachAnd | ( | p, | |
pObj, | |||
i | |||
) | for ( i = 0; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) if ( !Gia_ObjIsAnd(pObj) ) {} else |
#define Gia_ManForEachAndId | ( | p, | |
i | |||
) | for ( i = 0; (i < p->nObjs); i++ ) if ( !Gia_ObjIsAnd(Gia_ManObj(p, i)) ) {} else |
#define Gia_ManForEachAndReverse | ( | p, | |
pObj, | |||
i | |||
) | for ( i = p->nObjs - 1; (i > 0) && ((pObj) = Gia_ManObj(p, i)); i-- ) if ( !Gia_ObjIsAnd(pObj) ) {} else |
#define Gia_ManForEachAndReverseId | ( | p, | |
i | |||
) | for ( i = p->nObjs - 1; (i > 0); i-- ) if ( !Gia_ObjIsAnd(Gia_ManObj(p, i)) ) {} else |
#define Gia_ManForEachBuf | ( | p, | |
pObj, | |||
i | |||
) | for ( i = Gia_ManBufNum(p) ? 0 : p->nObjs; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) if ( !Gia_ObjIsBuf(pObj) ) {} else |
#define Gia_ManForEachBufId | ( | p, | |
i | |||
) | for ( i = 0; (i < p->nObjs); i++ ) if ( !Gia_ObjIsBuf(Gia_ManObj(p, i)) ) {} else |
#define Gia_ManForEachCand | ( | p, | |
pObj, | |||
i | |||
) | for ( i = 0; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) if ( !Gia_ObjIsCand(pObj) ) {} else |
#define Gia_ManForEachCell | ( | p, | |
i | |||
) | for ( i = 2; i < 2*Gia_ManObjNum(p); i++ ) if ( !Gia_ObjIsCell(p, i) ) {} else |
#define Gia_ManForEachClass | ( | p, | |
i | |||
) | for ( i = 1; i < Gia_ManObjNum(p); i++ ) if ( !Gia_ObjIsHead(p, i) ) {} else |
#define Gia_ManForEachClassReverse | ( | p, | |
i | |||
) | for ( i = Gia_ManObjNum(p) - 1; i > 0; i-- ) if ( !Gia_ObjIsHead(p, i) ) {} else |
#define Gia_ManForEachCoDriver | ( | p, | |
pObj, | |||
i | |||
) | for ( i = 0; (i < Vec_IntSize(p->vCos)) && ((pObj) = Gia_ObjFanin0(Gia_ManCo(p, i))); i++ ) |
#define Gia_ManForEachCoDriverId | ( | p, | |
DriverId, | |||
i | |||
) | for ( i = 0; (i < Vec_IntSize(p->vCos)) && (((DriverId) = Gia_ObjFaninId0p(p, Gia_ManCo(p, i))), 1); i++ ) |
#define Gia_ManForEachConst | ( | p, | |
i | |||
) | for ( i = 1; i < Gia_ManObjNum(p); i++ ) if ( !Gia_ObjIsConst(p, i) ) {} else |
#define Gia_ManForEachCoVec | ( | vVec, | |
p, | |||
pObj, | |||
i | |||
) | for ( i = 0; (i < Vec_IntSize(vVec)) && ((pObj) = Gia_ManCo(p, Vec_IntEntry(vVec,i))); i++ ) |
#define Gia_ManForEachLut | ( | p, | |
i | |||
) | for ( i = 1; i < Gia_ManObjNum(p); i++ ) if ( !Gia_ObjIsLut(p, i) ) {} else |
#define Gia_ManForEachMux | ( | p, | |
pObj, | |||
i | |||
) | for ( i = 0; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) if ( !Gia_ObjIsMuxId(p, i) ) {} else |
#define Gia_ManForEachObj | ( | p, | |
pObj, | |||
i | |||
) | for ( i = 0; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) |
#define Gia_ManForEachObj1 | ( | p, | |
pObj, | |||
i | |||
) | for ( i = 1; (i < p->nObjs) && ((pObj) = Gia_ManObj(p, i)); i++ ) |
#define Gia_ManForEachObjReverse | ( | p, | |
pObj, | |||
i | |||
) | for ( i = p->nObjs - 1; (i >= 0) && ((pObj) = Gia_ManObj(p, i)); i-- ) |
#define Gia_ManForEachObjReverse1 | ( | p, | |
pObj, | |||
i | |||
) | for ( i = p->nObjs - 1; (i > 0) && ((pObj) = Gia_ManObj(p, i)); i-- ) |
#define Gia_ManForEachObjVec | ( | vVec, | |
p, | |||
pObj, | |||
i | |||
) | for ( i = 0; (i < Vec_IntSize(vVec)) && ((pObj) = Gia_ManObj(p, Vec_IntEntry(vVec,i))); i++ ) |
#define Gia_ManForEachObjVecLit | ( | vVec, | |
p, | |||
pObj, | |||
fCompl, | |||
i | |||
) | for ( i = 0; (i < Vec_IntSize(vVec)) && ((pObj) = Gia_ManObj(p, Abc_Lit2Var(Vec_IntEntry(vVec,i)))) && (((fCompl) = Abc_LitIsCompl(Vec_IntEntry(vVec,i))),1); i++ ) |
#define Gia_ManForEachObjVecReverse | ( | vVec, | |
p, | |||
pObj, | |||
i | |||
) | for ( i = Vec_IntSize(vVec) - 1; (i >= 0) && ((pObj) = Gia_ManObj(p, Vec_IntEntry(vVec,i))); i-- ) |
#define Gia_ManForEachRi | ( | p, | |
pObj, | |||
i | |||
) | for ( i = 0; (i < Gia_ManRegNum(p)) && ((pObj) = Gia_ManCo(p, Gia_ManPoNum(p)+i)); i++ ) |
#define Gia_ManForEachRiRo | ( | p, | |
pObjRi, | |||
pObjRo, | |||
i | |||
) | for ( i = 0; (i < Gia_ManRegNum(p)) && ((pObjRi) = Gia_ManCo(p, Gia_ManPoNum(p)+i)) && ((pObjRo) = Gia_ManCi(p, Gia_ManPiNum(p)+i)); i++ ) |
#define Gia_ManForEachRo | ( | p, | |
pObj, | |||
i | |||
) | for ( i = 0; (i < Gia_ManRegNum(p)) && ((pObj) = Gia_ManCi(p, Gia_ManPiNum(p)+i)); i++ ) |
#define GIA_NONE 0x1FFFFFFF |
INCLUDES ///.
CFile****************************************************************
FileName [gia.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [External declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]PARAMETERS ///
#define Gia_ObjForEachFanoutStatic | ( | p, | |
pObj, | |||
pFanout, | |||
i | |||
) | for ( i = 0; (i < Gia_ObjFanoutNum(p, pObj)) && (((pFanout) = Gia_ObjFanout(p, pObj, i)), 1); i++ ) |
#define Gia_ObjForEachFanoutStaticId | ( | p, | |
Id, | |||
FanId, | |||
i | |||
) | for ( i = 0; (i < Gia_ObjFanoutNumId(p, Id)) && (((FanId) = Gia_ObjFanoutId(p, Id, i)), 1); i++ ) |
typedef struct Emb_Par_t_ Emb_Par_t |
typedef struct Gia_Man_t_ Gia_Man_t |
typedef struct Gia_ManSim_t_ Gia_ManSim_t |
typedef struct Gia_MmFixed_t_ Gia_MmFixed_t |
typedef struct Gia_MmFlex_t_ Gia_MmFlex_t |
typedef struct Gia_MmStep_t_ Gia_MmStep_t |
typedef struct Gia_Obj_t_ Gia_Obj_t |
typedef struct Gia_ParFra_t_ Gia_ParFra_t |
typedef struct Gia_ParSim_t_ Gia_ParSim_t |
typedef struct Gia_Plc_t_ Gia_Plc_t |
typedef struct Gia_Rpr_t_ Gia_Rpr_t |
typedef struct Gps_Par_t_ Gps_Par_t |
typedef struct Tas_Man_t_ Tas_Man_t |
Function*************************************************************
Synopsis [Procedure to test the new SAT solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 708 of file giaCSatOld.c.
Vec_Int_t* Cbs_ManSolveMiterNc | ( | Gia_Man_t * | pAig, |
int | nConfs, | ||
Vec_Str_t ** | pvStatus, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Procedure to test the new SAT solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 998 of file giaCSat.c.
void For_ManExperiment | ( | Gia_Man_t * | pGia, |
int | nIters, | ||
int | fClustered, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Experiment with the FORCE algorithm.]
Description []
SideEffects []
SeeAlso []
Definition at line 1039 of file giaForce.c.
Gia_Man_t* Gia_AigerRead | ( | char * | pFileName, |
int | fSkipStrash, | ||
int | fCheck | ||
) |
Function*************************************************************
Synopsis [Reads the AIG in the binary AIGER format.]
Description []
SideEffects []
SeeAlso []
Definition at line 821 of file giaAiger.c.
Gia_Man_t* Gia_AigerReadFromMemory | ( | char * | pContents, |
int | nFileSize, | ||
int | fSkipStrash, | ||
int | fCheck | ||
) |
Function*************************************************************
Synopsis [Reads the AIG in the binary AIGER format.]
Description []
SideEffects []
SeeAlso []
Definition at line 176 of file giaAiger.c.
|
inlinestatic |
|
inlinestatic |
void Gia_AigerWrite | ( | Gia_Man_t * | pInit, |
char * | pFileName, | ||
int | fWriteSymbols, | ||
int | fCompact | ||
) |
Function*************************************************************
Synopsis [Writes the AIG in the binary AIGER format.]
Description []
SideEffects []
SeeAlso []
Definition at line 1024 of file giaAiger.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Writes the AIG in into the memory buffer.]
Description [The resulting buffer constains the AIG in AIGER format. The resulting buffer should be deallocated by the user.]
SideEffects []
SeeAlso []
Definition at line 866 of file giaAiger.c.
Vec_Str_t* Gia_AigerWriteIntoMemoryStrPart | ( | Gia_Man_t * | p, |
Vec_Int_t * | vCis, | ||
Vec_Int_t * | vAnds, | ||
Vec_Int_t * | vCos, | ||
int | nRegs | ||
) |
Function*************************************************************
Synopsis [Writes the AIG in into the memory buffer.]
Description [The resulting buffer constains the AIG in AIGER format. The CI/CO/AND nodes are assumed to be ordered according to some rule. The resulting buffer should be deallocated by the user.]
SideEffects [Note that in vCos, PIs are order first, followed by latches!]
SeeAlso []
Definition at line 940 of file giaAiger.c.
void Gia_AigerWriteSimple | ( | Gia_Man_t * | pInit, |
char * | pFileName | ||
) |
Function*************************************************************
Synopsis [Writes the AIG in the binary AIGER format.]
Description []
SideEffects []
SeeAlso []
Definition at line 1361 of file giaAiger.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 922 of file gia.h.
|
inlinestatic |
Definition at line 923 of file gia.h.
void Gia_DumpAiger | ( | Gia_Man_t * | p, |
char * | pFilePrefix, | ||
int | iFileNum, | ||
int | nFileNumDigits | ||
) |
Function*************************************************************
Synopsis [Writes the AIG in the binary AIGER format.]
Description []
SideEffects []
SeeAlso []
Definition at line 1343 of file giaAiger.c.
char* Gia_FileNameGenericAppend | ( | char * | pBase, |
char * | pSuffix | ||
) |
int Gia_FileSize | ( | char * | pFileName | ) |
|
inlinestatic |
Gia_Man_t* Gia_ManAigSyn2 | ( | Gia_Man_t * | pInit, |
int | fOldAlgo, | ||
int | fCoarsen, | ||
int | fCutMin, | ||
int | nRelaxRatio, | ||
int | fDelayMin, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis [Synthesis script.]
Description []
SideEffects []
SeeAlso []
Definition at line 69 of file giaScript.c.
Definition at line 152 of file giaScript.c.
Definition at line 184 of file giaScript.c.
|
inlinestatic |
Definition at line 592 of file gia.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 703 of file gia.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Gia_Man_t* Gia_ManAreaBalance | ( | Gia_Man_t * | p, |
int | fSimpleAnd, | ||
int | nNewNodesMax, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Definition at line 968 of file giaBalAig.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 365 of file giaBalAig.c.
int Gia_ManBoxCoNum | ( | Gia_Man_t * | p | ) |
int Gia_ManBoxNum | ( | Gia_Man_t * | p | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [giaTim.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [Procedures with hierarchy/timing manager.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Returns the number of boxes in the AIG with boxes.]
Description []
SideEffects []
SeeAlso []
Definition at line 49 of file giaTim.c.
Function*************************************************************
Synopsis [Returns CEX containing all object valuess for each timeframe.]
Description []
SideEffects []
SeeAlso []
Definition at line 349 of file giaCex.c.
Function*************************************************************
Synopsis [Returns CEX containing PI+CS values for each timeframe.]
Description []
SideEffects []
SeeAlso []
Definition at line 302 of file giaCex.c.
int Gia_ManCheckCoPhase | ( | Gia_Man_t * | p | ) |
void Gia_ManCheckIntegrityWithBoxes | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Checks integriting of complex flops and carry-chains.]
Description []
SideEffects []
SeeAlso []
Definition at line 406 of file giaSweep.c.
void Gia_ManCheckMark0 | ( | Gia_Man_t * | p | ) |
void Gia_ManCheckMark1 | ( | Gia_Man_t * | p | ) |
int Gia_ManCheckTopoOrder | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns 0 if AIG is not in the required topo order.]
Description [AIG should be in such an order that the representative is always traversed before the node.]
SideEffects []
SeeAlso []
Definition at line 73 of file giaEquiv.c.
Function*************************************************************
Synopsis [Derives the miter of several AIGs for choice computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 2574 of file giaDup.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void Gia_ManCleanLevels | ( | Gia_Man_t * | p, |
int | Size | ||
) |
Function*************************************************************
Synopsis [Prepares copies for the model.]
Description []
SideEffects []
SeeAlso []
Definition at line 470 of file giaUtil.c.
void Gia_ManCleanMark0 | ( | Gia_Man_t * | p | ) |
void Gia_ManCleanMark01 | ( | Gia_Man_t * | p | ) |
void Gia_ManCleanMark1 | ( | Gia_Man_t * | p | ) |
void Gia_ManCleanPhase | ( | Gia_Man_t * | p | ) |
void Gia_ManCleanTruth | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Prepares copies for the model.]
Description []
SideEffects []
SeeAlso []
Definition at line 487 of file giaUtil.c.
void Gia_ManCleanValue | ( | Gia_Man_t * | p | ) |
|
inlinestatic |
Function*************************************************************
Synopsis [Collects support nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 123 of file giaDfs.c.
Function*************************************************************
Synopsis [Collects support nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 71 of file giaDfs.c.
Function*************************************************************
Synopsis [Collects support nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 178 of file giaDfs.c.
Function*************************************************************
Synopsis [Collects PO Ids into one array.]
Description []
SideEffects []
SeeAlso []
Definition at line 863 of file giaUtil.c.
int Gia_ManCombMarkUsed | ( | Gia_Man_t * | p | ) |
Definition at line 60 of file giaScl.c.
float Gia_ManComputeSwitching | ( | Gia_Man_t * | p, |
int | nFrames, | ||
int | nPref, | ||
int | fProbOne | ||
) |
Function*************************************************************
Synopsis [Computes probability of switching (or of being 1).]
Description []
SideEffects []
SeeAlso []
Definition at line 781 of file giaSwitch.c.
Function*************************************************************
Synopsis [Computes probability of switching (or of being 1).]
Description []
SideEffects []
SeeAlso []
Definition at line 658 of file giaSwitch.c.
int Gia_ManConeSize | ( | Gia_Man_t * | p, |
int * | pNodes, | ||
int | nNodes | ||
) |
|
inlinestatic |
|
inlinestatic |
unsigned* Gia_ManConvertAigToTruth | ( | Gia_Man_t * | p, |
Gia_Obj_t * | pRoot, | ||
Vec_Int_t * | vLeaves, | ||
Vec_Int_t * | vTruth, | ||
Vec_Int_t * | vVisited | ||
) |
Function*************************************************************
Synopsis [Computes truth table of the node.]
Description [Assumes that the structural support is no more than 8 inputs. Uses array vTruth to store temporary truth tables. The returned pointer should be used immediately.]
SideEffects []
SeeAlso []
Definition at line 90 of file giaBidec.c.
int Gia_ManCountChoiceNodes | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Counts the number of choice nodes]
Description []
SideEffects []
SeeAlso []
Definition at line 1686 of file giaEquiv.c.
int Gia_ManCountChoices | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Counts the number of choices]
Description []
SideEffects []
SeeAlso []
Definition at line 1708 of file giaEquiv.c.
int Gia_ManCounterExampleValueLookup | ( | Gia_Man_t * | pGia, |
int | Id, | ||
int | iFrame | ||
) |
Function*************************************************************
Synopsis [Returns the value of the given object in the given timeframe.]
Description [Should be called to probe the value of an object with the given ID (iFrame is a 0-based number of a time frame - should not exceed the number of timeframes in the original counter-example).]
SideEffects []
SeeAlso []
Definition at line 262 of file giaCex.c.
Function*************************************************************
Synopsis [Starts the process of returning values for internal nodes.]
Description [Should be called when pCex is available, before probing any object for its value using Gia_ManCounterExampleValueLookup().]
SideEffects []
SeeAlso []
Definition at line 184 of file giaCex.c.
void Gia_ManCounterExampleValueStop | ( | Gia_Man_t * | pGia | ) |
void Gia_ManCountMuxXor | ( | Gia_Man_t * | p, |
int * | pnMuxes, | ||
int * | pnXors | ||
) |
DECLARATIONS ///.
CFile****************************************************************
FileName [giaMuxes.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [Multiplexer profiling algorithm.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Counts XORs and MUXes.]
Description []
SideEffects []
SeeAlso []
Definition at line 47 of file giaMuxes.c.
int* Gia_ManCreateMuxRefs | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Assigns references.]
Description []
SideEffects []
SeeAlso []
Definition at line 746 of file giaUtil.c.
void Gia_ManCreateRefs | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Assigns references.]
Description []
SideEffects []
SeeAlso []
void Gia_ManCreateValueRefs | ( | Gia_Man_t * | p | ) |
int Gia_ManCrossCut | ( | Gia_Man_t * | p, |
int | fReverse | ||
) |
Definition at line 820 of file giaUtil.c.
float Gia_ManDelayTraceLut | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Computes the delay trace of the given network.]
Description []
SideEffects []
SeeAlso []
Definition at line 230 of file giaSpeedup.c.
float Gia_ManDelayTraceLutPrint | ( | Gia_Man_t * | p, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Prints the delay trace for the given network.]
Description []
SideEffects []
SeeAlso []
Definition at line 443 of file giaSpeedup.c.
int* Gia_ManDeriveNexts | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Given representatives, derives pointers to the next objects.]
Description []
SideEffects []
SeeAlso []
Definition at line 97 of file giaEquiv.c.
void Gia_ManDeriveReprs | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Given points to the next objects, derives representatives.]
Description []
SideEffects []
SeeAlso []
Definition at line 129 of file giaEquiv.c.
void Gia_ManDetectSeqSignals | ( | Gia_Man_t * | p, |
int | fSetReset, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 130 of file giaEnable.c.
Function*************************************************************
Synopsis [Duplicates AIG without any changes.]
Description []
SideEffects []
SeeAlso []
Definition at line 552 of file giaDup.c.
Function*************************************************************
Synopsis [Appends second AIG without any changes.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Cofactors w.r.t. an internal node.]
Description []
SideEffects []
SeeAlso []
Definition at line 1319 of file giaDup.c.
Definition at line 1281 of file giaDup.c.
Function*************************************************************
Synopsis [Cofactors all variables whose fanout is higher than this.]
Description []
SideEffects []
SeeAlso []
Definition at line 987 of file giaCof.c.
Function*************************************************************
Synopsis [Cofactors selected variables (should be in reverse topo order).]
Description []
SideEffects []
SeeAlso []
Definition at line 936 of file giaCof.c.
Definition at line 748 of file giaTim.c.
Definition at line 2691 of file giaDup.c.
Definition at line 523 of file giaDup.c.
Definition at line 1238 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 1890 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 1940 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG in the DFS order while putting CIs first.]
Description []
SideEffects []
SeeAlso []
Definition at line 1484 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG in the DFS order while putting CIs first.]
Description []
SideEffects []
SeeAlso []
Definition at line 1553 of file giaDup.c.
Definition at line 1528 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG in the DFS order while putting CIs first.]
Description []
SideEffects []
SeeAlso []
Definition at line 1454 of file giaDup.c.
Function*************************************************************
Synopsis [Existentially quantified given variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 1360 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while complementing the flops.]
Description [The array of initial state contains the init state for each state bit of the flops in the design.]
SideEffects []
SeeAlso []
Definition at line 460 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates while adding self-loops to the registers.]
Description []
SideEffects []
SeeAlso []
Gia_Man_t* Gia_ManDupFromVecs | ( | Gia_Man_t * | p, |
Vec_Int_t * | vCis, | ||
Vec_Int_t * | vAnds, | ||
Vec_Int_t * | vCos, | ||
int | nRegs | ||
) |
Function*************************************************************
Synopsis [Duplicates AIG while putting first PIs, then nodes, then POs.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Duplicates the AIG with nodes ordered by level.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Duplicates AIG without any changes.]
Description []
SideEffects []
SeeAlso []
Definition at line 975 of file giaDup.c.
Function*************************************************************
Synopsis [Derives GIA with MUXes.]
Description [Create MUX if the sum of fanin references does not exceed limit.]
SideEffects []
SeeAlso []
Definition at line 96 of file giaMuxes.c.
Function*************************************************************
Synopsis [Derives GIA without MUXes.]
Description []
SideEffects []
SeeAlso []
Definition at line 159 of file giaMuxes.c.
Function*************************************************************
Synopsis [Duplicates AIG in the DFS order while putting CIs first.]
Description []
SideEffects []
SeeAlso []
Definition at line 134 of file giaTim.c.
Definition at line 2785 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while putting first PIs, then nodes, then POs.]
Description []
SideEffects []
SeeAlso []
Definition at line 397 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while putting objects in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 170 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while putting objects in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 328 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while putting objects in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 363 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while putting objects in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 203 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while putting objects in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 232 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG without any changes.]
Description []
SideEffects []
SeeAlso []
Definition at line 663 of file giaDup.c.
Definition at line 725 of file giaDup.c.
DECLARATIONS ///.
CFile****************************************************************
FileName [giaDup.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [Duplication procedures.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Removes pointers to the unmarked nodes..]
Description []
SideEffects []
SeeAlso []
Definition at line 46 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while putting objects in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 266 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates while adding self-loops to the registers.]
Description []
SideEffects []
SeeAlso []
Definition at line 890 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while creating "parallel" copies.]
Description []
SideEffects []
SeeAlso []
Definition at line 1078 of file giaDup.c.
Function*************************************************************
Synopsis [Detect topmost gate.]
Description []
SideEffects []
SeeAlso []
Definition at line 2075 of file giaDup.c.
Gia_Man_t* Gia_ManDupTrimmed | ( | Gia_Man_t * | p, |
int | fTrimCis, | ||
int | fTrimCos, | ||
int | fDualOut, | ||
int | OutValue | ||
) |
Function*************************************************************
Synopsis [Duplicates AIG in the DFS order while putting CIs first.]
Description []
SideEffects []
SeeAlso []
Definition at line 1638 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG according to the timing manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 373 of file giaTim.c.
Function*************************************************************
Synopsis [Reorders flops for sequential AIGs with boxes.]
Description []
SideEffects []
SeeAlso []
Definition at line 194 of file giaTim.c.
Definition at line 583 of file giaDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while putting first PIs, then nodes, then POs.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Performs 'zero' and 'undc' operation.]
Description [The init string specifies 0/1/X for each flop.]
SideEffects []
SeeAlso []
Definition at line 2390 of file giaDup.c.
int Gia_ManEquivCountClasses | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 179 of file giaEquiv.c.
int Gia_ManEquivCountLits | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 253 of file giaEquiv.c.
int Gia_ManEquivCountLitsAll | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 160 of file giaEquiv.c.
void Gia_ManEquivFixOutputPairs | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 480 of file giaEquiv.c.
void Gia_ManEquivImprove | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Transforms equiv classes by setting a good representative.]
Description []
SideEffects []
SeeAlso []
Definition at line 1375 of file giaEquiv.c.
void Gia_ManEquivPrintClasses | ( | Gia_Man_t * | p, |
int | fVerbose, | ||
float | Mem | ||
) |
Definition at line 304 of file giaEquiv.c.
void Gia_ManEquivPrintOne | ( | Gia_Man_t * | p, |
int | i, | ||
int | Counter | ||
) |
Definition at line 292 of file giaEquiv.c.
Gia_Man_t* Gia_ManEquivReduce | ( | Gia_Man_t * | p, |
int | fUseAll, | ||
int | fDualOut, | ||
int | fSkipPhase, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 417 of file giaEquiv.c.
Function*************************************************************
Synopsis [Reduces AIG while remapping equivalence classes.]
Description [Drops the pairs of outputs if they are proved equivalent.]
SideEffects []
SeeAlso []
Definition at line 638 of file giaEquiv.c.
int Gia_ManEquivSetColors | ( | Gia_Man_t * | p, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Marks CIs/COs/ANDs unreachable from POs.]
Description []
SideEffects []
SeeAlso []
Definition at line 692 of file giaEquiv.c.
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1629 of file giaEquiv.c.
void Gia_ManEquivTransform | ( | Gia_Man_t * | p, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Transforms equiv classes by removing the AB nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1114 of file giaEquiv.c.
float Gia_ManEvaluateSwitching | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Computes probability of switching (or of being 1).]
Description []
SideEffects []
SeeAlso []
Definition at line 719 of file giaSwitch.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 236 of file giaBalMap.c.
void Gia_ManFanoutStart | ( | Gia_Man_t * | p | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Create fanout for all objects in the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 66 of file giaFanout.c.
void Gia_ManFanoutStop | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Deletes fanout for all objects in the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 98 of file giaFanout.c.
void Gia_ManFillValue | ( | Gia_Man_t * | p | ) |
int Gia_ManFilterEquivsForSpeculation | ( | Gia_Man_t * | pGia, |
char * | pName1, | ||
char * | pName2, | ||
int | fLatchA, | ||
int | fLatchB | ||
) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1862 of file giaEquiv.c.
void Gia_ManFilterEquivsUsingLatches | ( | Gia_Man_t * | pGia, |
int | fFlopsOnly, | ||
int | fFlopsWith, | ||
int | fUseRiDrivers | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2147 of file giaEquiv.c.
int Gia_ManFilterEquivsUsingParts | ( | Gia_Man_t * | pGia, |
char * | pName1, | ||
char * | pName2 | ||
) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1999 of file giaEquiv.c.
Function*************************************************************
Synopsis [Returns the array containing the first fanout of each object.]
Description []
SideEffects []
SeeAlso []
Definition at line 1635 of file giaUtil.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 556 of file giaSweep.c.
Gia_Man_t* Gia_ManFrames | ( | Gia_Man_t * | pAig, |
Gia_ParFra_t * | pPars | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 840 of file giaFrames.c.
Function*************************************************************
Synopsis [Perform init unrolling as long as PO(s) are constant 0.]
Description []
SideEffects []
SeeAlso []
Definition at line 941 of file giaFrames.c.
void Gia_ManFraSetDefaultParams | ( | Gia_ParFra_t * | p | ) |
Function*************************************************************
Synopsis [This procedure sets default parameters.]
Description []
SideEffects []
SeeAlso []
Definition at line 631 of file giaFrames.c.
Function*************************************************************
Synopsis [Determine the frontier.]
Description []
SideEffects []
SeeAlso []
Definition at line 147 of file giaFront.c.
void Gia_ManFrontTest | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 262 of file giaFront.c.
Function*************************************************************
Synopsis [Assigns levels using CI level information.]
Description []
SideEffects []
SeeAlso []
Definition at line 546 of file giaUtil.c.
Function*************************************************************
Synopsis [Returns 1 if AIG has dangling nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1224 of file giaUtil.c.
|
inlinestatic |
int Gia_ManHasDangling | ( | Gia_Man_t * | p | ) |
void Gia_ManHashAlloc | ( | Gia_Man_t * | p | ) |
int Gia_ManHashAnd | ( | Gia_Man_t * | p, |
int | iLit0, | ||
int | iLit1 | ||
) |
Function*************************************************************
Synopsis [Hashes AND gate.]
Description []
SideEffects []
SeeAlso []
Definition at line 572 of file giaHash.c.
Function*************************************************************
Synopsis [Creates well-balanced AND gate.]
Description []
SideEffects []
SeeAlso []
Definition at line 763 of file giaHash.c.
int Gia_ManHashAndTry | ( | Gia_Man_t * | p, |
int | iLit0, | ||
int | iLit1 | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 627 of file giaHash.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 79 of file giaHash.c.
int Gia_ManHashMaj | ( | Gia_Man_t * | p, |
int | iData0, | ||
int | iData1, | ||
int | iData2 | ||
) |
int Gia_ManHashMux | ( | Gia_Man_t * | p, |
int | iCtrl, | ||
int | iData1, | ||
int | iData0 | ||
) |
int Gia_ManHashMuxReal | ( | Gia_Man_t * | p, |
int | iLitC, | ||
int | iLit1, | ||
int | iLit0 | ||
) |
Function*************************************************************
Synopsis [Hashes MUX gate.]
Description []
SideEffects []
SeeAlso []
Definition at line 517 of file giaHash.c.
void Gia_ManHashProfile | ( | Gia_Man_t * | p | ) |
void Gia_ManHashStart | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Starts the hash table.]
Description []
SideEffects []
SeeAlso []
Definition at line 117 of file giaHash.c.
void Gia_ManHashStop | ( | Gia_Man_t * | p | ) |
int Gia_ManHashXor | ( | Gia_Man_t * | p, |
int | iLit0, | ||
int | iLit1 | ||
) |
int Gia_ManHashXorReal | ( | Gia_Man_t * | p, |
int | iLit0, | ||
int | iLit1 | ||
) |
Function*************************************************************
Synopsis [Hashes XOR gate.]
Description []
SideEffects []
SeeAlso []
Definition at line 465 of file giaHash.c.
|
inlinestatic |
void Gia_ManIncrementTravId | ( | Gia_Man_t * | p | ) |
void Gia_ManInvertConstraints | ( | Gia_Man_t * | pAig | ) |
void Gia_ManInvertPos | ( | Gia_Man_t * | pAig | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int Gia_ManIsNormalized | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 958 of file giaIso.c.
Gia_Man_t* Gia_ManIsoReduce | ( | Gia_Man_t * | pInit, |
Vec_Ptr_t ** | pvPosEquivs, | ||
Vec_Ptr_t ** | pvPiPerms, | ||
int | fEstimate, | ||
int | fDualOut, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1075 of file giaIso.c.
Gia_Man_t* Gia_ManIsoReduce2 | ( | Gia_Man_t * | pGia, |
Vec_Ptr_t ** | pvPosEquivs, | ||
Vec_Ptr_t ** | pvPiPerms, | ||
int | fEstimate, | ||
int | fBetterQual, | ||
int | fDualOut, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 718 of file giaIso2.c.
int Gia_ManIsSeqWithBoxes | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns one if this is a seq AIG with non-trivial boxes.]
Description []
SideEffects []
SeeAlso []
Definition at line 93 of file giaTim.c.
Function*************************************************************
Synopsis [Levelizes the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 379 of file giaDfs.c.
int Gia_ManLevelNum | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Assigns levels.]
Description []
SideEffects []
SeeAlso []
int Gia_ManLevelWithBoxes | ( | Gia_Man_t * | p | ) |
Definition at line 469 of file giaTim.c.
int Gia_ManLutFaninCount | ( | Gia_Man_t * | p | ) |
int Gia_ManLutLevel | ( | Gia_Man_t * | p | ) |
int Gia_ManLutLevelWithBoxes | ( | Gia_Man_t * | p | ) |
Definition at line 572 of file giaTim.c.
int Gia_ManLutNum | ( | Gia_Man_t * | p | ) |
void Gia_ManLutParams | ( | Gia_Man_t * | p, |
int * | pnCurLuts, | ||
int * | pnCurEdges, | ||
int * | pnCurLevels | ||
) |
Function*************************************************************
Synopsis [Prints mapping statistics.]
Description []
SideEffects []
SeeAlso []
int Gia_ManLutSizeMax | ( | Gia_Man_t * | p | ) |
void Gia_ManMappingVerify | ( | Gia_Man_t * | p | ) |
Definition at line 1807 of file giaIf.c.
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Performs AIG shrinking using the current mapping.]
Description []
SideEffects []
SeeAlso []
Definition at line 49 of file giaShrink.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 401 of file giaShrink6.c.
int Gia_ManMarkDangling | ( | Gia_Man_t * | p | ) |
void Gia_ManMarkFanoutDrivers | ( | Gia_Man_t * | p | ) |
double Gia_ManMemory | ( | Gia_Man_t * | p | ) |
Gia_Man_t* Gia_ManMiter | ( | Gia_Man_t * | p0, |
Gia_Man_t * | p1, | ||
int | nInsDup, | ||
int | fDualOut, | ||
int | fSeq, | ||
int | fImplic, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Creates miter of two designs.]
Description []
SideEffects []
SeeAlso []
Definition at line 2128 of file giaDup.c.
Function*************************************************************
Synopsis [Creates miter of two designs.]
Description []
SideEffects []
SeeAlso []
Definition at line 2462 of file giaDup.c.
int Gia_ManNonRegBoxNum | ( | Gia_Man_t * | p | ) |
Definition at line 57 of file giaTim.c.
Function*************************************************************
Synopsis [Computes reverse topological order.]
Description [Assumes that levels are already assigned. The levels of CO nodes may not be assigned.]
SideEffects []
SeeAlso []
Definition at line 407 of file giaDfs.c.
|
inlinestatic |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 233 of file giaBidec.c.
Gia_Man_t* Gia_ManPerformDsdBalance | ( | Gia_Man_t * | p, |
int | nLutSize, | ||
int | nCutNum, | ||
int | nRelaxRatio, | ||
int | fVerbose | ||
) |
Definition at line 2058 of file giaIf.c.
Gia_Man_t* Gia_ManPerformDsdBalanceWin | ( | Gia_Man_t * | p, |
int | LevelMax, | ||
int | nTimeWindow, | ||
int | nLutSize, | ||
int | nCutNum, | ||
int | nRelaxRatio, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 298 of file giaBalMap.c.
Gia_Man_t* Gia_ManPerformFx | ( | Gia_Man_t * | p, |
int | nNewNodesMax, | ||
int | LitCountMax, | ||
int | fReverse, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis [Performs classical fast_extract on logic functions.]
Description []
SideEffects [Sorts the fanins of each cut in the increasing order.]
SeeAlso []
Definition at line 451 of file giaFx.c.
Function*************************************************************
Synopsis [Interface of LUT mapping package.]
Description []
SideEffects []
SeeAlso []
Definition at line 2243 of file giaLf.c.
Definition at line 1986 of file giaIf.c.
Function*************************************************************
Synopsis [Interface of other mapping-based procedures.]
Description []
SideEffects []
SeeAlso []
Definition at line 2031 of file giaIf.c.
Gia_Man_t* Gia_ManPerformSopBalanceWin | ( | Gia_Man_t * | p, |
int | LevelMax, | ||
int | nTimeWindow, | ||
int | nCutNum, | ||
int | nRelaxRatio, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 265 of file giaBalMap.c.
|
inlinestatic |
|
inlinestatic |
void Gia_ManPrintCone | ( | Gia_Man_t * | p, |
Gia_Obj_t * | pObj, | ||
int * | pLeaves, | ||
int | nLeaves, | ||
Vec_Int_t * | vNodes | ||
) |
Definition at line 1368 of file giaUtil.c.
Definition at line 1392 of file giaUtil.c.
void Gia_ManPrintFanio | ( | Gia_Man_t * | pGia, |
int | nNodes | ||
) |
Function*************************************************************
Synopsis [Returns sorted array of node handles with largest fanout.]
Description []
SideEffects []
SeeAlso []
Definition at line 746 of file giaCof.c.
void Gia_ManPrintLutStats | ( | Gia_Man_t * | p | ) |
Definition at line 613 of file giaIf.c.
void Gia_ManPrintMappingStats | ( | Gia_Man_t * | p, |
char * | pDumpFile | ||
) |
Definition at line 423 of file giaIf.c.
void Gia_ManPrintMiterStatus | ( | Gia_Man_t * | p | ) |
void Gia_ManPrintMuxStats | ( | Gia_Man_t * | p | ) |
Definition at line 61 of file giaMuxes.c.
void Gia_ManPrintNpnClasses | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Prints NPN class statistics.]
Description []
SideEffects []
SeeAlso []
Definition at line 668 of file giaMan.c.
Function*************************************************************
Synopsis [Determine probability of being 1 at the outputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 813 of file giaSwitch.c.
void Gia_ManPrintPackingStats | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Prints mapping statistics.]
Description []
SideEffects []
SeeAlso []
Definition at line 553 of file giaIf.c.
Function*************************************************************
Synopsis [Prints stats for the AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 389 of file giaMan.c.
void Gia_ManPrintStatsMiter | ( | Gia_Man_t * | p, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Statistics of the miter.]
Description []
SideEffects []
SeeAlso []
Definition at line 594 of file giaMan.c.
void Gia_ManPrintStatsShort | ( | Gia_Man_t * | p | ) |
unsigned Gia_ManRandom | ( | int | fReset | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Creates a sequence or random numbers.]
Description []
SideEffects []
SeeAlso [http://www.codeproject.com/KB/recipes/SimpleRNG.aspx]
Definition at line 49 of file giaUtil.c.
void Gia_ManRandomInfo | ( | Vec_Ptr_t * | vInfo, |
int | iInputStart, | ||
int | iWordStart, | ||
int | iWordStop | ||
) |
Function*************************************************************
Synopsis [Creates random info for the primary inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 80 of file giaUtil.c.
Gia_Man_t* Gia_ManReadMiniAig | ( | char * | pFileName | ) |
Function*************************************************************
Synopsis [Procedures to read/write GIA to/from MiniAIG file.]
Description []
SideEffects []
SeeAlso []
Definition at line 167 of file giaMini.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 737 of file giaTsim.c.
Function*************************************************************
Synopsis [Transform seq circuits with enables by removing enables.]
Description []
SideEffects []
SeeAlso []
Definition at line 514 of file giaEnable.c.
Function*************************************************************
Synopsis [Compute required levels.]
Description []
SideEffects []
SeeAlso []
Definition at line 639 of file giaUtil.c.
Function*************************************************************
Synopsis [Derives the cut for forward retiming.]
Description [Assumes topological ordering of the nodes.]
SideEffects []
SeeAlso []
Definition at line 267 of file giaRetime.c.
Function*************************************************************
Synopsis [Compute reverse levels.]
Description []
SideEffects []
SeeAlso []
Definition at line 595 of file giaUtil.c.
Function*************************************************************
Synopsis [Save/load value from file.]
Description []
SideEffects []
SeeAlso []
Definition at line 1605 of file giaUtil.c.
int Gia_ManSeqMarkUsed | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Marks CIs/COs/ANDs unreachable from POs.]
Description []
SideEffects []
SeeAlso []
Definition at line 156 of file giaScl.c.
Function*************************************************************
Synopsis [Performs sequential cleanup.]
Description []
SideEffects []
SeeAlso []
Definition at line 258 of file giaScl.c.
void Gia_ManSetIfParsDefault | ( | void * | pp | ) |
void Gia_ManSetMark0 | ( | Gia_Man_t * | p | ) |
void Gia_ManSetMark1 | ( | Gia_Man_t * | p | ) |
void Gia_ManSetPhase | ( | Gia_Man_t * | p | ) |
void Gia_ManSetPhase1 | ( | Gia_Man_t * | p | ) |
void Gia_ManSetRefsMapped | ( | Gia_Man_t * | p | ) |
void Gia_ManSetRegNum | ( | Gia_Man_t * | p, |
int | nRegs | ||
) |
void Gia_ManSimInfoInit | ( | Gia_ManSim_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 429 of file giaSim.c.
void Gia_ManSimInfoTransfer | ( | Gia_ManSim_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 452 of file giaSim.c.
void Gia_ManSimSetDefaultParams | ( | Gia_ParSim_t * | p | ) |
int Gia_ManSimSimulate | ( | Gia_Man_t * | pAig, |
Gia_ParSim_t * | pPars | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 598 of file giaSim.c.
void Gia_ManSimulateRound | ( | Gia_ManSim_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 475 of file giaSim.c.
Function*************************************************************
Synopsis [Computes dimentions of the graph.]
Description []
SideEffects []
SeeAlso []
Definition at line 1791 of file giaEmbed.c.
Gia_Man_t* Gia_ManSpecReduce | ( | Gia_Man_t * | p, |
int | fDualOut, | ||
int | fSynthesis, | ||
int | fSpeculate, | ||
int | fSkipSome, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Reduces AIG using equivalence classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 848 of file giaEquiv.c.
Function*************************************************************
Synopsis [Creates initialized SRM with the given number of frames.]
Description []
SideEffects []
SeeAlso []
Definition at line 985 of file giaEquiv.c.
Gia_Man_t* Gia_ManSpecReduceInitFrames | ( | Gia_Man_t * | p, |
Abc_Cex_t * | pInit, | ||
int | nFramesMax, | ||
int * | pnFrames, | ||
int | fDualOut, | ||
int | nMinOutputs | ||
) |
Function*************************************************************
Synopsis [Creates initialized SRM with the given number of frames.]
Description [Uses as many frames as needed to create the number of output not less than the number of equivalence literals.]
SideEffects []
SeeAlso []
Definition at line 1075 of file giaEquiv.c.
Gia_Man_t* Gia_ManSpeedup | ( | Gia_Man_t * | p, |
int | Percentage, | ||
int | Degree, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis [Adds choices to speed up the network by the given percentage.]
Description []
SideEffects []
SeeAlso []
Definition at line 628 of file giaSpeedup.c.
Gia_Man_t* Gia_ManStart | ( | int | nObjsMax | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [giaMan.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [Package manager.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Creates AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 52 of file giaMan.c.
void Gia_ManStaticFanoutStart | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Allocates static fanout.]
Description []
SideEffects []
SeeAlso []
Definition at line 238 of file giaFanout.c.
void Gia_ManStaticFanoutStop | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis [Deallocates static fanout.]
Description []
SideEffects []
SeeAlso []
Definition at line 290 of file giaFanout.c.
void Gia_ManStgPrint | ( | FILE * | pFile, |
Vec_Int_t * | vLines, | ||
int | nIns, | ||
int | nOuts, | ||
int | nStates | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 407 of file giaStg.c.
Gia_Man_t* Gia_ManStgRead | ( | char * | pFileName, |
int | kHot, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 508 of file giaStg.c.
void Gia_ManStop | ( | Gia_Man_t * | p | ) |
void Gia_ManStopP | ( | Gia_Man_t ** | p | ) |
int Gia_ManSuppSize | ( | Gia_Man_t * | p, |
int * | pNodes, | ||
int | nNodes | ||
) |
void Gia_ManSwapPos | ( | Gia_Man_t * | p, |
int | i | ||
) |
Gia_Man_t* Gia_ManSweepWithBoxes | ( | Gia_Man_t * | p, |
void * | pParsC, | ||
void * | pParsS, | ||
int | fConst, | ||
int | fEquiv, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Reduces root model with scorr.]
Description []
SideEffects []
SeeAlso []
Definition at line 683 of file giaSweep.c.
void Gia_ManTestDistance | ( | Gia_Man_t * | pGia | ) |
Function*************************************************************
Synopsis [Returns sorted array of node handles with largest fanout.]
Description []
SideEffects []
SeeAlso []
Definition at line 904 of file giaEmbed.c.
|
inlinestatic |
Definition at line 538 of file gia.h.
|
inlinestatic |
Definition at line 539 of file gia.h.
Function*************************************************************
Synopsis [Transfers mapping from hie GIA to normalized GIA.]
Description [Hie GIA (pGia) points to normalized GIA (p).]
SideEffects []
SeeAlso []
Definition at line 1855 of file giaIf.c.
Definition at line 1878 of file giaIf.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Duplicates AIG for unrolling.]
Description []
SideEffects []
SeeAlso []
Definition at line 155 of file giaFrames.c.
void* Gia_ManUnrollAdd | ( | void * | pMan, |
int | fMax | ||
) |
Function*************************************************************
Synopsis [Computes init/non-init unrolling without flops.]
Description []
SideEffects []
SeeAlso []
Definition at line 437 of file giaFrames.c.
Function*************************************************************
Synopsis [Unrolls initialized timeframes while cofactoring some vars.]
Description []
SideEffects []
SeeAlso []
Definition at line 403 of file giaEnable.c.
Function*************************************************************
Synopsis [Duplicates AIG for unrolling.]
Description []
SideEffects []
SeeAlso []
Definition at line 107 of file giaFrames.c.
int Gia_ManUnrollLastLit | ( | void * | pMan | ) |
Function*************************************************************
Synopsis [Read the last literal.]
Description []
SideEffects []
SeeAlso []
Definition at line 490 of file giaFrames.c.
void* Gia_ManUnrollStart | ( | Gia_Man_t * | pAig, |
Gia_ParFra_t * | pPars | ||
) |
Function*************************************************************
Synopsis [Computes init/non-init unrolling without flops.]
Description []
SideEffects []
SeeAlso []
Definition at line 402 of file giaFrames.c.
void Gia_ManUnrollStop | ( | void * | pMan | ) |
Function*************************************************************
Synopsis [Deletes manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 310 of file giaFrames.c.
Function*************************************************************
Synopsis [Update AIG of the holes.]
Description []
SideEffects []
SeeAlso []
Definition at line 683 of file giaTim.c.
Definition at line 702 of file giaTim.c.
Definition at line 664 of file giaTim.c.
DECLARATIONS ///.
CFile****************************************************************
FileName [giaAbs.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [Counter-example-guided abstraction refinement.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Resimulates the counter-example.]
Description []
SideEffects []
SeeAlso []
Definition at line 44 of file giaCex.c.
int Gia_ManVerifyWithBoxes | ( | Gia_Man_t * | pGia, |
int | nBTLimit, | ||
int | nTimeLim, | ||
int | fSeq, | ||
int | fVerbose, | ||
char * | pFileSpec | ||
) |
Function*************************************************************
Synopsis [Verify XAIG against its spec.]
Description []
SideEffects []
SeeAlso []
Definition at line 859 of file giaTim.c.
void Gia_ManWriteMiniAig | ( | Gia_Man_t * | pGia, |
char * | pFileName | ||
) |
Definition at line 176 of file giaMini.c.
char* Gia_MmFixedEntryFetch | ( | Gia_MmFixed_t * | p | ) |
void Gia_MmFixedEntryRecycle | ( | Gia_MmFixed_t * | p, |
char * | pEntry | ||
) |
int Gia_MmFixedReadMaxEntriesUsed | ( | Gia_MmFixed_t * | p | ) |
int Gia_MmFixedReadMemUsage | ( | Gia_MmFixed_t * | p | ) |
void Gia_MmFixedRestart | ( | Gia_MmFixed_t * | p | ) |
Gia_MmFixed_t* Gia_MmFixedStart | ( | int | nEntrySize, |
int | nEntriesMax | ||
) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Allocates memory pieces of fixed size.]
Description [The size of the chunk is computed as the minimum of 1024 entries and 64K. Can only work with entry size at least 4 byte long.]
SideEffects []
SeeAlso []
Definition at line 96 of file giaMem.c.
void Gia_MmFixedStop | ( | Gia_MmFixed_t * | p, |
int | fVerbose | ||
) |
char* Gia_MmFlexEntryFetch | ( | Gia_MmFlex_t * | p, |
int | nBytes | ||
) |
int Gia_MmFlexReadMemUsage | ( | Gia_MmFlex_t * | p | ) |
void Gia_MmFlexRestart | ( | Gia_MmFlex_t * | p | ) |
Gia_MmFlex_t* Gia_MmFlexStart | ( | ) |
Function*************************************************************
Synopsis [Allocates entries of flexible size.]
Description [Can only work with entry size at least 4 byte long.]
SideEffects []
SeeAlso []
Definition at line 305 of file giaMem.c.
void Gia_MmFlexStop | ( | Gia_MmFlex_t * | p, |
int | fVerbose | ||
) |
char* Gia_MmStepEntryFetch | ( | Gia_MmStep_t * | p, |
int | nBytes | ||
) |
void Gia_MmStepEntryRecycle | ( | Gia_MmStep_t * | p, |
char * | pEntry, | ||
int | nBytes | ||
) |
Function*************************************************************
Synopsis [Recycles the entry.]
Description []
SideEffects []
SeeAlso []
Definition at line 563 of file giaMem.c.
int Gia_MmStepReadMemUsage | ( | Gia_MmStep_t * | p | ) |
Gia_MmStep_t* Gia_MmStepStart | ( | int | nSteps | ) |
Function*************************************************************
Synopsis [Starts the hierarchical memory manager.]
Description [This manager can allocate entries of any size. Iternally they are mapped into the entries with the number of bytes equal to the power of 2. The smallest entry size is 8 bytes. The next one is 16 bytes etc. So, if the user requests 6 bytes, he gets 8 byte entry. If we asks for 25 bytes, he gets 32 byte entry etc. The input parameters "nSteps" says how many fixed memory managers are employed internally. Calling this procedure with nSteps equal to 10 results in 10 hierarchically arranged internal memory managers, which can allocate up to 4096 (1Kb) entries. Requests for larger entries are handed over to malloc() and then ABC_FREE()ed.]
SideEffects []
SeeAlso []
Definition at line 468 of file giaMem.c.
void Gia_MmStepStop | ( | Gia_MmStep_t * | p, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Adds fanout (pFanout) of node (pObj).]
Description []
SideEffects []
SeeAlso []
Definition at line 116 of file giaFanout.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 159 of file giaTruth.c.
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Computing the truth table for GIA object.]
Description [The truth table should be used by the calling application (or saved into the user's storage) before this procedure is called again.]
SideEffects []
SeeAlso []
Definition at line 177 of file giaTruth.c.
word Gia_ObjComputeTruthTable6 | ( | Gia_Man_t * | p, |
Gia_Obj_t * | pObj, | ||
Vec_Int_t * | vSupp, | ||
Vec_Wrd_t * | vTruths | ||
) |
Definition at line 116 of file giaTruth.c.
Definition at line 76 of file giaTruth.c.
Function*************************************************************
Synopsis [Computes the truth table of pRoot in terms of leaves.]
Description [The root cannot be one of the leaves.]
SideEffects []
SeeAlso []
Definition at line 351 of file giaTruth.c.
void Gia_ObjComputeTruthTableStart | ( | Gia_Man_t * | p, |
int | nVarsMax | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 282 of file giaTruth.c.
void Gia_ObjComputeTruthTableStop | ( | Gia_Man_t * | p | ) |
Definition at line 293 of file giaTruth.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 920 of file gia.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 919 of file gia.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int Gia_ObjIsMuxType | ( | Gia_Obj_t * | pNode | ) |
Function*************************************************************
Synopsis [Returns 1 if the node is the root of MUX or EXOR/NEXOR.]
Description []
SideEffects []
SeeAlso []
Definition at line 885 of file giaUtil.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 918 of file gia.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Verbose printing of the AIG node.]
Description []
SideEffects []
SeeAlso []
Definition at line 1258 of file giaUtil.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Recognizes what nodes are control and data inputs of a MUX.]
Description [If the node is a MUX, returns the control variable C. Assigns nodes T and E to be the then and else variables of the MUX. Node C is never complemented. Nodes T and E can be complemented. This function also recognizes EXOR/NEXOR gates as MUXes.]
SideEffects []
SeeAlso []
Definition at line 959 of file giaUtil.c.
Definition at line 1036 of file giaUtil.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Removes fanout (pFanout) of node (pObj).]
Description []
SideEffects []
SeeAlso []
Definition at line 163 of file giaFanout.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 516 of file gia.h.
Definition at line 447 of file gia.h.
Definition at line 446 of file gia.h.
Definition at line 506 of file gia.h.
Definition at line 505 of file gia.h.
|
inlinestatic |
Definition at line 504 of file gia.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 488 of file gia.h.
Definition at line 486 of file gia.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 944 of file gia.h.
Definition at line 509 of file gia.h.
|
inlinestatic |
Definition at line 508 of file gia.h.
|
inlinestatic |
Definition at line 515 of file gia.h.
|
inlinestatic |
Definition at line 514 of file gia.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 547 of file gia.h.
|
inlinestatic |
Definition at line 548 of file gia.h.
|
inlinestatic |
Definition at line 549 of file gia.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 507 of file gia.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 779 of file gia.h.
|
inlinestatic |
Definition at line 782 of file gia.h.
|
inlinestatic |
Definition at line 780 of file gia.h.
|
inlinestatic |
Definition at line 783 of file gia.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void Gia_SatVerifyPattern | ( | Gia_Man_t * | p, |
Gia_Obj_t * | pRoot, | ||
Vec_Int_t * | vCex, | ||
Vec_Int_t * | vVisit | ||
) |
Function*************************************************************
Synopsis [Checks if the counter-examples asserts the output.]
Description [Assumes that fMark0 and fMark1 are clean. Leaves them clean.]
SideEffects []
SeeAlso []
Definition at line 93 of file giaPat.c.
unsigned* Gia_SimDataCiExt | ( | Gia_ManSim_t * | p, |
int | i | ||
) |
unsigned* Gia_SimDataCoExt | ( | Gia_ManSim_t * | p, |
int | i | ||
) |
unsigned* Gia_SimDataExt | ( | Gia_ManSim_t * | p, |
int | i | ||
) |
Definition at line 34 of file giaSim.c.
int* Gia_SortFloats | ( | float * | pArray, |
int * | pPerm, | ||
int | nSize | ||
) |
int Gia_SweeperCheckEquiv | ( | Gia_Man_t * | pGia, |
int | Probe1, | ||
int | Probe2 | ||
) |
Function*************************************************************
Synopsis [Runs equivalence test for probes.]
Description []
SideEffects []
SeeAlso []
Definition at line 789 of file giaSweeper.c.
Function*************************************************************
Synopsis [Sweeper cleanup.]
Description [Returns new GIA with sweeper defined, which is the same as the original sweeper, with all the dangling logic removed and SAT solver restarted. The probe IDs are guaranteed to have the same logic functions as in the original manager.]
SideEffects [The input manager is deleted inside this procedure.]
SeeAlso []
Definition at line 461 of file giaSweeper.c.
Function*************************************************************
Synopsis [This procedure returns indexes of all currently defined valid probes.]
Description []
SideEffects []
SeeAlso []
Definition at line 295 of file giaSweeper.c.
int Gia_SweeperCondCheckUnsat | ( | Gia_Man_t * | pGia | ) |
Function*************************************************************
Synopsis [Returns 1 if the set of conditions is UNSAT (0 if SAT; -1 if undecided).]
Description []
SideEffects []
SeeAlso []
Definition at line 924 of file giaSweeper.c.
int Gia_SweeperCondPop | ( | Gia_Man_t * | p | ) |
Definition at line 324 of file giaSweeper.c.
void Gia_SweeperCondPush | ( | Gia_Man_t * | p, |
int | ProbeId | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 319 of file giaSweeper.c.
Definition at line 329 of file giaSweeper.c.
Gia_Man_t* Gia_SweeperExtractUserLogic | ( | Gia_Man_t * | p, |
Vec_Int_t * | vProbeIds, | ||
Vec_Ptr_t * | vInNames, | ||
Vec_Ptr_t * | vOutNames | ||
) |
Definition at line 358 of file giaSweeper.c.
int Gia_SweeperFraig | ( | Gia_Man_t * | p, |
Vec_Int_t * | vProbeIds, | ||
char * | pCommLime, | ||
int | nWords, | ||
int | nConfs, | ||
int | fVerify, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Procedure to perform conditional fraig sweeping on separate logic cones.]
Description [The procedure takes GIA with the sweeper defined. The sweeper is assumed to have some conditions currently pushed, which will be used as constraints for fraig sweeping. The second argument (vProbes) contains the array of probe IDs pointing to the user's logic cones to be SAT swept. Finally, the optional command line (pCommLine) is an ABC command line to be applied to the resulting GIA after SAT sweeping before it is grafted back into the original GIA manager. The return value is the status (success/failure) and the array of original probes possibly pointing to the new literals in the original GIA manager, corresponding to the user's logic cones after sweeping, synthesis and grafting.]
SideEffects []
SeeAlso []
Definition at line 1064 of file giaSweeper.c.
Definition at line 230 of file giaSweeper.c.
Function*************************************************************
Synopsis [Performs grafting from another manager.]
Description [Returns the array of resulting literals in the destination manager.]
SideEffects []
SeeAlso []
Definition at line 985 of file giaSweeper.c.
int Gia_SweeperIsRunning | ( | Gia_Man_t * | p | ) |
Definition at line 164 of file giaSweeper.c.
void Gia_SweeperLogicDump | ( | Gia_Man_t * | p, |
Vec_Int_t * | vProbeIds, | ||
int | fDumpConds, | ||
char * | pFileName | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 428 of file giaSweeper.c.
void Gia_SweeperPrintStats | ( | Gia_Man_t * | p | ) |
Definition at line 181 of file giaSweeper.c.
int Gia_SweeperProbeCreate | ( | Gia_Man_t * | p, |
int | iLit | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 249 of file giaSweeper.c.
int Gia_SweeperProbeDelete | ( | Gia_Man_t * | p, |
int | ProbeId | ||
) |
Definition at line 258 of file giaSweeper.c.
int Gia_SweeperProbeLit | ( | Gia_Man_t * | p, |
int | ProbeId | ||
) |
Definition at line 276 of file giaSweeper.c.
int Gia_SweeperProbeUpdate | ( | Gia_Man_t * | p, |
int | ProbeId, | ||
int | iLitNew | ||
) |
Definition at line 267 of file giaSweeper.c.
Function*************************************************************
Synopsis [Executes given command line for the logic defined by the probes.]
Description [ ]
SideEffects []
SeeAlso []
Definition at line 1106 of file giaSweeper.c.
void Gia_SweeperSetConflictLimit | ( | Gia_Man_t * | p, |
int | nConfMax | ||
) |
Function*************************************************************
Synopsis [Setting resource limits.]
Description []
SideEffects []
SeeAlso []
Definition at line 220 of file giaSweeper.c.
void Gia_SweeperSetRuntimeLimit | ( | Gia_Man_t * | p, |
int | nSeconds | ||
) |
Definition at line 225 of file giaSweeper.c.
Definition at line 145 of file giaSweeper.c.
void Gia_SweeperStop | ( | Gia_Man_t * | p | ) |
Definition at line 157 of file giaSweeper.c.
char* Gia_TimeStamp | ( | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 1746 of file giaJf.c.
Definition at line 1712 of file giaJf.c.
void Jf_ManSetDefaultPars | ( | Jf_Par_t * | pPars | ) |
Definition at line 2193 of file giaLf.c.
void Lf_ManSetDefaultPars | ( | Jf_Par_t * | pPars | ) |
Definition at line 1575 of file giaMf.c.
void Mf_ManSetDefaultPars | ( | Jf_Par_t * | pPars | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 187 of file giaCTas.c.
void Tas_ManSatPrintStats | ( | Tas_Man_t * | p | ) |
Function*************************************************************
Synopsis [Prints statistics of the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 1487 of file giaCTas.c.
Function*************************************************************
Synopsis [Looking for a satisfying assignment of the node.]
Description [Assumes that each node has flag pObj->fMark0 set to 0. Returns 1 if unsatisfiable, 0 if satisfiable, and -1 if undecided. The node may be complemented. ]
SideEffects []
SeeAlso []
Definition at line 1366 of file giaCTas.c.
Function*************************************************************
Synopsis [Looking for a satisfying assignment of the node.]
Description [Assumes that each node has flag pObj->fMark0 set to 0. Returns 1 if unsatisfiable, 0 if satisfiable, and -1 if undecided. The node may be complemented. ]
SideEffects []
SeeAlso []
Definition at line 1423 of file giaCTas.c.
Vec_Int_t* Tas_ManSolveMiterNc | ( | Gia_Man_t * | pAig, |
int | nConfs, | ||
Vec_Str_t ** | pvStatus, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Procedure to test the new SAT solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 1517 of file giaCTas.c.
void Tas_ManStop | ( | Tas_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns satisfying assignment.]
Description []
SideEffects []
SeeAlso []