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 | Aig_Obj_t_ |
struct | Aig_Man_t_ |
struct | Aig_Cut_t_ |
struct | Aig_ManCut_t_ |
Macros | |
#define | Aig_ObjForEachCut(p, pObj, pCut, i) for ( i = 0, pCut = Aig_ObjCuts(p, pObj); i < p->nCutsMax; i++, pCut = Aig_CutNext(pCut) ) |
#define | Aig_CutForEachLeaf(p, pCut, pLeaf, i) for ( i = 0; (i < (int)(pCut)->nFanins) && ((pLeaf) = Aig_ManObj(p, (pCut)->pFanins[i])); i++ ) |
#define | Aig_ManForEachCi(p, pObj, i) Vec_PtrForEachEntry( Aig_Obj_t *, p->vCis, pObj, i ) |
ITERATORS ///. More... | |
#define | Aig_ManForEachCiReverse(p, pObj, i) Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vCis, pObj, i ) |
#define | Aig_ManForEachCo(p, pObj, i) Vec_PtrForEachEntry( Aig_Obj_t *, p->vCos, pObj, i ) |
#define | Aig_ManForEachCoReverse(p, pObj, i) Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vCos, pObj, i ) |
#define | Aig_ManForEachObj(p, pObj, i) Vec_PtrForEachEntry( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL ) {} else |
#define | Aig_ManForEachObjReverse(p, pObj, i) Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL ) {} else |
#define | Aig_ManForEachObjVec(vIds, p, pObj, i) for ( i = 0; i < Vec_IntSize(vIds) && (((pObj) = Aig_ManObj(p, Vec_IntEntry(vIds,i))), 1); i++ ) |
#define | Aig_ManForEachObjVecReverse(vIds, p, pObj, i) for ( i = Vec_IntSize(vIds) - 1; i >= 0 && (((pObj) = Aig_ManObj(p, Vec_IntEntry(vIds,i))), 1); i-- ) |
#define | Aig_ManForEachNode(p, pObj, i) Vec_PtrForEachEntry( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Aig_ObjIsNode(pObj) ) {} else |
#define | Aig_ManForEachNodeReverse(p, pObj, i) Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Aig_ObjIsNode(pObj) ) {} else |
#define | Aig_ManForEachExor(p, pObj, i) Vec_PtrForEachEntry( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Aig_ObjIsExor(pObj) ) {} else |
#define | Aig_ManForEachExorReverse(p, pObj, i) Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Aig_ObjIsExor(pObj) ) {} else |
#define | Aig_ObjForEachFanout(p, pObj, pFanout, iFan, i) |
#define | Aig_ManForEachPiSeq(p, pObj, i) Vec_PtrForEachEntryStop( Aig_Obj_t *, p->vCis, pObj, i, Aig_ManCiNum(p)-Aig_ManRegNum(p) ) |
SEQUENTIAL ITERATORS ///. More... | |
#define | Aig_ManForEachLoSeq(p, pObj, i) Vec_PtrForEachEntryStart( Aig_Obj_t *, p->vCis, pObj, i, Aig_ManCiNum(p)-Aig_ManRegNum(p) ) |
#define | Aig_ManForEachPoSeq(p, pObj, i) Vec_PtrForEachEntryStop( Aig_Obj_t *, p->vCos, pObj, i, Aig_ManCoNum(p)-Aig_ManRegNum(p) ) |
#define | Aig_ManForEachLiSeq(p, pObj, i) Vec_PtrForEachEntryStart( Aig_Obj_t *, p->vCos, pObj, i, Aig_ManCoNum(p)-Aig_ManRegNum(p) ) |
#define | Aig_ManForEachLiLoSeq(p, pObjLi, pObjLo, k) |
Typedefs | |
typedef typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ | Aig_Man_t |
INCLUDES ///. More... | |
typedef struct Aig_Obj_t_ | Aig_Obj_t |
typedef struct Aig_MmFixed_t_ | Aig_MmFixed_t |
typedef struct Aig_MmFlex_t_ | Aig_MmFlex_t |
typedef struct Aig_MmStep_t_ | Aig_MmStep_t |
typedef struct Aig_ManCut_t_ | Aig_ManCut_t |
typedef struct Aig_Cut_t_ | Aig_Cut_t |
Enumerations | |
enum | Aig_Type_t { AIG_OBJ_NONE, AIG_OBJ_CONST1, AIG_OBJ_CI, AIG_OBJ_CO, AIG_OBJ_BUF, AIG_OBJ_AND, AIG_OBJ_EXOR, AIG_OBJ_VOID } |
#define Aig_CutForEachLeaf | ( | p, | |
pCut, | |||
pLeaf, | |||
i | |||
) | for ( i = 0; (i < (int)(pCut)->nFanins) && ((pLeaf) = Aig_ManObj(p, (pCut)->pFanins[i])); i++ ) |
#define Aig_ManForEachCi | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Aig_Obj_t *, p->vCis, pObj, i ) |
#define Aig_ManForEachCiReverse | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vCis, pObj, i ) |
#define Aig_ManForEachCo | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Aig_Obj_t *, p->vCos, pObj, i ) |
#define Aig_ManForEachCoReverse | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vCos, pObj, i ) |
#define Aig_ManForEachExor | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Aig_ObjIsExor(pObj) ) {} else |
#define Aig_ManForEachExorReverse | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Aig_ObjIsExor(pObj) ) {} else |
#define Aig_ManForEachLiLoSeq | ( | p, | |
pObjLi, | |||
pObjLo, | |||
k | |||
) |
#define Aig_ManForEachLiSeq | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStart( Aig_Obj_t *, p->vCos, pObj, i, Aig_ManCoNum(p)-Aig_ManRegNum(p) ) |
#define Aig_ManForEachLoSeq | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStart( Aig_Obj_t *, p->vCis, pObj, i, Aig_ManCiNum(p)-Aig_ManRegNum(p) ) |
#define Aig_ManForEachNode | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Aig_ObjIsNode(pObj) ) {} else |
#define Aig_ManForEachNodeReverse | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryReverse( Aig_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Aig_ObjIsNode(pObj) ) {} else |
#define Aig_ManForEachObjVec | ( | vIds, | |
p, | |||
pObj, | |||
i | |||
) | for ( i = 0; i < Vec_IntSize(vIds) && (((pObj) = Aig_ManObj(p, Vec_IntEntry(vIds,i))), 1); i++ ) |
#define Aig_ManForEachObjVecReverse | ( | vIds, | |
p, | |||
pObj, | |||
i | |||
) | for ( i = Vec_IntSize(vIds) - 1; i >= 0 && (((pObj) = Aig_ManObj(p, Vec_IntEntry(vIds,i))), 1); i-- ) |
#define Aig_ManForEachPiSeq | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStop( Aig_Obj_t *, p->vCis, pObj, i, Aig_ManCiNum(p)-Aig_ManRegNum(p) ) |
#define Aig_ManForEachPoSeq | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStop( Aig_Obj_t *, p->vCos, pObj, i, Aig_ManCoNum(p)-Aig_ManRegNum(p) ) |
#define Aig_ObjForEachCut | ( | p, | |
pObj, | |||
pCut, | |||
i | |||
) | for ( i = 0, pCut = Aig_ObjCuts(p, pObj); i < p->nCutsMax; i++, pCut = Aig_CutNext(pCut) ) |
#define Aig_ObjForEachFanout | ( | p, | |
pObj, | |||
pFanout, | |||
iFan, | |||
i | |||
) |
typedef struct Aig_Cut_t_ Aig_Cut_t |
typedef typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t |
INCLUDES ///.
CFile****************************************************************
FileName [aig.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [External declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]PARAMETERS ///BASIC TYPES ///
typedef struct Aig_ManCut_t_ Aig_ManCut_t |
typedef struct Aig_MmFixed_t_ Aig_MmFixed_t |
typedef struct Aig_MmFlex_t_ Aig_MmFlex_t |
typedef struct Aig_MmStep_t_ Aig_MmStep_t |
typedef struct Aig_Obj_t_ Aig_Obj_t |
enum Aig_Type_t |
Enumerator | |
---|---|
AIG_OBJ_NONE | |
AIG_OBJ_CONST1 | |
AIG_OBJ_CI | |
AIG_OBJ_CO | |
AIG_OBJ_BUF | |
AIG_OBJ_AND | |
AIG_OBJ_EXOR | |
AIG_OBJ_VOID |
Function*************************************************************
Synopsis [Performs canonicization step.]
Description [The argument nodes can be complemented.]
SideEffects []
SeeAlso []
Definition at line 104 of file aigOper.c.
Function*************************************************************
Synopsis [Composes the AIG (pRoot) with the function (pFunc) using PI var (iVar).]
Description []
SideEffects []
SeeAlso []
Definition at line 966 of file aigDfs.c.
Aig_ManCut_t* Aig_ComputeCuts | ( | Aig_Man_t * | pAig, |
int | nCutsMax, | ||
int | nLeafMax, | ||
int | fTruth, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Computes the cuts for all nodes in the static AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 631 of file aigCuts.c.
void Aig_ConeUnmark_rec | ( | Aig_Obj_t * | pObj | ) |
Function*************************************************************
Synopsis [Creates AND function with nVars inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 474 of file aigOper.c.
Function*************************************************************
Synopsis [Creates AND function with nVars inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 516 of file aigOper.c.
Function*************************************************************
Synopsis [Creates AND function with nVars inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 495 of file aigOper.c.
|
inlinestatic |
int Aig_DagSize | ( | Aig_Obj_t * | pObj | ) |
Function*************************************************************
Synopsis [Performs canonicization step.]
Description [The argument nodes can be complemented.]
SideEffects []
SeeAlso []
Definition at line 220 of file aigOper.c.
char* Aig_FileNameGenericAppend | ( | char * | pBase, |
char * | pSuffix | ||
) |
|
inlinestatic |
|
inlinestatic |
int Aig_ManAntiCleanup | ( | Aig_Man_t * | p | ) |
|
inlinestatic |
FUNCTION DECLARATIONS ///.
FUNCTION DECLARATIONS ///.
CFile****************************************************************
FileName [aigCheck.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [AIG checking procedures.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Checks the consistency of the AIG manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file aigCheck.c.
void Aig_ManCheckMarkA | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Checks if the markA is reset.]
Description []
SideEffects []
SeeAlso []
Definition at line 132 of file aigCheck.c.
void Aig_ManCheckPhase | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Checks the consistency of phase assignment.]
Description []
SideEffects []
SeeAlso []
Definition at line 151 of file aigCheck.c.
Function*************************************************************
Synopsis [Constructively accumulates choices.]
Description []
SideEffects []
SeeAlso []
Definition at line 1564 of file aigPart.c.
int Aig_ManChoiceLevel | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Computes levels for AIG with choices and white boxes.]
Description []
SideEffects []
SeeAlso []
Definition at line 581 of file aigDfs.c.
int Aig_ManChoiceNum | ( | Aig_Man_t * | p | ) |
Aig_Man_t* Aig_ManChoicePartitioned | ( | Vec_Ptr_t * | vAigs, |
int | nPartSize, | ||
int | nConfMax, | ||
int | nLevelMax, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Performs partitioned choice computation.]
Description [Assumes that each output in the second AIG cannot have more supp vars than the same output in the first AIG.]
SideEffects []
SeeAlso []
Definition at line 1247 of file aigPart.c.
int Aig_ManCiCleanup | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Removes PIs without fanouts.]
Description [Returns the number of PIs removed.]
SideEffects []
SeeAlso []
Definition at line 314 of file aigMan.c.
|
inlinestatic |
void Aig_ManCleanCioIds | ( | Aig_Man_t * | p | ) |
void Aig_ManCleanData | ( | Aig_Man_t * | p | ) |
void Aig_ManCleanMarkA | ( | Aig_Man_t * | p | ) |
void Aig_ManCleanMarkAB | ( | Aig_Man_t * | p | ) |
void Aig_ManCleanMarkB | ( | Aig_Man_t * | p | ) |
void Aig_ManCleanNext | ( | Aig_Man_t * | p | ) |
int Aig_ManCleanup | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Removes combinational logic that does not feed into POs.]
Description [Returns the number of dangling nodes removed.]
SideEffects []
SeeAlso []
Definition at line 265 of file aigMan.c.
int Aig_ManCoCleanup | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Removes POs with constant input.]
Description [Returns the number of POs removed.]
SideEffects []
SeeAlso []
Definition at line 345 of file aigMan.c.
void Aig_ManComputeSccs | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Computes strongly connected components of registers.]
Description []
SideEffects []
SeeAlso []
Definition at line 489 of file aigScl.c.
Aig_Man_t* Aig_ManConstReduce | ( | Aig_Man_t * | p, |
int | fUseMvSweep, | ||
int | nFramesSymb, | ||
int | nFramesSatur, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis [Reduces the circuit using ternary simulation.]
Description []
SideEffects []
SeeAlso []
Definition at line 498 of file aigTsim.c.
|
inlinestatic |
int Aig_ManCountMergeRegs | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns the number of dangling nodes removed.]
Description []
SideEffects []
SeeAlso []
Definition at line 310 of file aigScl.c.
int Aig_ManCountReprs | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Creates the miter of the two AIG managers.]
Description [Oper is the operation to perform on the outputs of the miter. Oper == 0 is XOR Oper == 1 is complemented implication (p1 => p2) Oper == 2 is OR Oper == 3 is AND ]
SideEffects []
SeeAlso []
Definition at line 1049 of file aigDup.c.
void Aig_ManCutStop | ( | Aig_ManCut_t * | p | ) |
unsigned* Aig_ManCutTruth | ( | Aig_Obj_t * | pRoot, |
Vec_Ptr_t * | vLeaves, | ||
Vec_Ptr_t * | vNodes, | ||
Vec_Ptr_t * | vTruthElem, | ||
Vec_Ptr_t * | vTruthStore | ||
) |
Function*************************************************************
Synopsis [Computes truth table of the cut.]
Description [The returned pointer should be used immediately.]
SideEffects []
SeeAlso []
Definition at line 80 of file aigTruth.c.
Function*************************************************************
Synopsis [Collects objects of the AIG in the DFS order.]
Description [Works with choice nodes.]
SideEffects []
SeeAlso []
Definition at line 145 of file aigDfs.c.
Function*************************************************************
Synopsis [Collects objects of the AIG in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 214 of file aigDfs.c.
Function*************************************************************
Synopsis [Collects internal nodes in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 391 of file aigDfs.c.
Function*************************************************************
Synopsis [Collects internal nodes and PIs in the DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 333 of file aigDfs.c.
Function*************************************************************
Synopsis [Collects objects of the AIG in the DFS order.]
Description [Works with choice nodes.]
SideEffects []
SeeAlso []
Definition at line 271 of file aigDfs.c.
Function*************************************************************
Synopsis [Collects internal nodes in the reverse DFS order.]
Description []
SideEffects []
SeeAlso []
Definition at line 458 of file aigDfs.c.
void Aig_ManDump | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Write speculative miter for one node.]
Description []
SideEffects []
SeeAlso []
Definition at line 712 of file aigUtil.c.
void Aig_ManDumpBlif | ( | Aig_Man_t * | p, |
char * | pFileName, | ||
Vec_Ptr_t * | vPiNames, | ||
Vec_Ptr_t * | vPoNames | ||
) |
Function*************************************************************
Synopsis [Writes the AIG into a BLIF file.]
Description []
SideEffects []
SeeAlso []
Definition at line 733 of file aigUtil.c.
void Aig_ManDumpVerilog | ( | Aig_Man_t * | p, |
char * | pFileName | ||
) |
Function*************************************************************
Synopsis [Writes the AIG into a Verilog file.]
Description []
SideEffects []
SeeAlso []
Definition at line 848 of file aigUtil.c.
Function*************************************************************
Synopsis [Duplicates AIG with only one primary output.]
Description []
SideEffects []
SeeAlso []
Definition at line 1255 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [Orders nodes as follows: PIs, ANDs, POs.]
SideEffects []
SeeAlso []
Definition at line 345 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [This duplicator works for AIGs with choices.]
SideEffects []
SeeAlso []
Definition at line 563 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [This duplicator works for AIGs with choices.]
SideEffects []
SeeAlso []
Definition at line 694 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager to have EXOR gates.]
Description [Assumes topological ordering of the nodes.]
SideEffects []
SeeAlso []
Definition at line 462 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [Assumes topological ordering of nodes.]
SideEffects []
SeeAlso []
Definition at line 871 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [This duplicator works for AIGs with choices.]
SideEffects []
SeeAlso []
Definition at line 763 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates AIG with only one primary output.]
Description []
SideEffects []
SeeAlso []
Definition at line 1302 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates AIG with only one primary output.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [Assumes topological ordering of the nodes.]
SideEffects []
SeeAlso []
Definition at line 277 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates AIG with only one primary output.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Duplicates AIG while substituting representatives.]
Description []
SideEffects []
SeeAlso []
Definition at line 267 of file aigRepr.c.
Function*************************************************************
Synopsis [Duplicates AIG with representatives without removing registers.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Duplicates AIG while substituting representatives.]
Description []
SideEffects []
SeeAlso []
Definition at line 920 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates AIG while substituting representatives.]
Description []
SideEffects []
SeeAlso []
Definition at line 995 of file aigDup.c.
DECLARATIONS ///.
CFile****************************************************************
FileName [aigDup.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [AIG duplication (re-strashing).]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [Orders nodes as follows: PIs, ANDs, POs.]
SideEffects []
SeeAlso []
Definition at line 46 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [Orders nodes as follows: PIs, ANDs, POs.]
SideEffects [This procedure assumes that buffers are not used during HAIG recording. This way, each HAIG node is in one-to-one correspondence with old HAIG node. There is no need to create new nodes, just reassign the pointers. If it were not the case, we would need to create HAIG nodes for each new node duplicated. ]
SeeAlso []
Definition at line 184 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager recursively.]
Description []
SideEffects []
SeeAlso []
Definition at line 157 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates part of the AIG manager.]
Description [Orders nodes as follows: PIs, ANDs, POs.]
SideEffects []
SeeAlso []
Definition at line 240 of file aigDup.c.
Function*************************************************************
Synopsis [Derives AIG with hints.]
Description []
SideEffects []
SeeAlso []
Definition at line 107 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [Assumes topological ordering of the nodes.]
SideEffects []
SeeAlso []
Definition at line 413 of file aigDup.c.
Function*************************************************************
Synopsis [Duplicates AIG with only one primary output.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [Assumes topological ordering of nodes.]
SideEffects []
SeeAlso []
Definition at line 835 of file aigDup.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Extracts the miter composed of XOR of the two nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 147 of file aigMan.c.
void Aig_ManFanoutStart | ( | Aig_Man_t * | p | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Create fanout for all objects in the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 56 of file aigFanout.c.
void Aig_ManFanoutStop | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Deletes fanout for all objects in the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 89 of file aigFanout.c.
void Aig_ManFindCut | ( | Aig_Obj_t * | pRoot, |
Vec_Ptr_t * | vFront, | ||
Vec_Ptr_t * | vVisited, | ||
int | nSizeLimit, | ||
int | nFanoutLimit | ||
) |
Function*************************************************************
Synopsis [Computes one sequential cut of the given size.]
Description []
SideEffects []
SeeAlso []
Definition at line 145 of file aigWin.c.
void Aig_ManFlipFirstPo | ( | Aig_Man_t * | p | ) |
Aig_Man_t* Aig_ManFraigPartitioned | ( | Aig_Man_t * | pAig, |
int | nPartSize, | ||
int | nConfMax, | ||
int | nLevelMax, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Performs partitioned choice computation.]
Description [Assumes that each output in the second AIG cannot have more supp vars than the same output in the first AIG.]
SideEffects []
SeeAlso []
Definition at line 1379 of file aigPart.c.
Aig_Man_t* Aig_ManFrames | ( | Aig_Man_t * | pAig, |
int | nFs, | ||
int | fInit, | ||
int | fOuts, | ||
int | fRegs, | ||
int | fEnlarge, | ||
Aig_Obj_t *** | ppObjMap | ||
) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Performs timeframe expansion of the AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 51 of file aigFrames.c.
|
inlinestatic |
int Aig_ManHasNoGaps | ( | Aig_Man_t * | p | ) |
void Aig_ManIncrementTravId | ( | Aig_Man_t * | p | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [aigUtil.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [Various procedures.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Increments the current traversal ID of the network.]
Description []
SideEffects []
SeeAlso []
Definition at line 44 of file aigUtil.c.
void Aig_ManInvertConstraints | ( | Aig_Man_t * | pAig | ) |
Function*************************************************************
Synopsis [Levelizes the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 307 of file aigDfs.c.
int Aig_ManLevelNum | ( | Aig_Man_t * | p | ) |
int Aig_ManLevels | ( | Aig_Man_t * | p | ) |
void Aig_ManMarkValidChoices | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Marks the nodes that are Creates choices.]
Description [The input AIG is assumed to have representatives assigned.]
SideEffects []
SeeAlso []
Definition at line 481 of file aigRepr.c.
Function*************************************************************
Synopsis [Create partitioned miter of the two AIGs.]
Description [Assumes that each output in the second AIG cannot have more supp vars than the same output in the first AIG.]
SideEffects []
SeeAlso []
Definition at line 1189 of file aigPart.c.
Function*************************************************************
Synopsis [Collects muxes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1460 of file aigUtil.c.
Function*************************************************************
Synopsis [Dereferences muxes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1483 of file aigUtil.c.
Function*************************************************************
Synopsis [References muxes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1513 of file aigUtil.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description [This duplicator works for AIGs with choices.]
SideEffects []
SeeAlso []
Definition at line 626 of file aigDup.c.
void Aig_ManOrderStart | ( | Aig_Man_t * | p | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [aigOrder.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [Dynamically updated topological order.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Initializes the order datastructure.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file aigOrder.c.
void Aig_ManOrderStop | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Deletes the order datastructure.]
Description []
SideEffects []
SeeAlso []
Definition at line 76 of file aigOrder.c.
Function*************************************************************
Synopsis [Divides a large partition into several ones.]
Description []
SideEffects []
SeeAlso []
Definition at line 513 of file aigPartReg.c.
Function*************************************************************
Synopsis [Perform the naive partitioning.]
Description []
SideEffects []
SeeAlso []
Definition at line 941 of file aigPart.c.
Vec_Ptr_t* Aig_ManPartitionSmart | ( | Aig_Man_t * | p, |
int | nSuppSizeLimit, | ||
int | fVerbose, | ||
Vec_Ptr_t ** | pvPartSupps | ||
) |
Function*************************************************************
Synopsis [Perform the smart partitioning.]
Description []
SideEffects []
SeeAlso []
Definition at line 686 of file aigPart.c.
Function*************************************************************
Synopsis [Perform the smart partitioning.]
Description []
SideEffects []
SeeAlso []
Definition at line 811 of file aigPart.c.
void Aig_ManPrintStats | ( | Aig_Man_t * | p | ) |
void Aig_ManPrintVerbose | ( | Aig_Man_t * | p, |
int | fHaig | ||
) |
Function*************************************************************
Synopsis [Prints node in HAIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 685 of file aigUtil.c.
unsigned Aig_ManRandom | ( | int | fReset | ) |
Function*************************************************************
Synopsis [Creates a sequence of random numbers.]
Description []
SideEffects []
SeeAlso [http://www.codeproject.com/KB/recipes/SimpleRNG.aspx]
Definition at line 1157 of file aigUtil.c.
word Aig_ManRandom64 | ( | int | fReset | ) |
void Aig_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 1200 of file aigUtil.c.
Definition at line 378 of file aig.h.
Function*************************************************************
Synopsis [Reduces the latches.]
Description []
SideEffects []
SeeAlso []
Definition at line 455 of file aigScl.c.
Aig_Man_t* Aig_ManRegCreatePart | ( | Aig_Man_t * | pAig, |
Vec_Int_t * | vPart, | ||
int * | pnCountPis, | ||
int * | pnCountRegs, | ||
int ** | ppMapBack | ||
) |
Function*************************************************************
Synopsis [Computes partitioning of registers.]
Description []
SideEffects []
SeeAlso []
Definition at line 308 of file aigPartReg.c.
Function*************************************************************
Synopsis [Computes partitioning of registers.]
Description []
SideEffects []
SeeAlso []
Definition at line 474 of file aigPartReg.c.
Function*************************************************************
Synopsis [Computes partitioning of registers.]
Description []
SideEffects []
SeeAlso []
Definition at line 413 of file aigPartReg.c.
Vec_Ptr_t* Aig_ManRegProjectOnehots | ( | Aig_Man_t * | pAig, |
Aig_Man_t * | pPart, | ||
Vec_Ptr_t * | vOnehots, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Creates projection of 1-hot registers onto the given partition.]
Description [Assumes that the relevant register outputs are labeled with the current traversal ID.]
SideEffects []
SeeAlso []
Definition at line 248 of file aigPartReg.c.
Function*************************************************************
Synopsis [Iteratively rehashes the AIG.]
Description [The input AIG is assumed to have representatives assigned.]
SideEffects []
SeeAlso []
Definition at line 454 of file aigRepr.c.
void* Aig_ManReleaseData | ( | Aig_Man_t * | p | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [aigScl.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [Sequential cleanup.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Remaps the manager.]
Description [Map in the array specifies for each CI node the node that should be used after remapping.]
SideEffects []
SeeAlso []
Definition at line 46 of file aigScl.c.
void Aig_ManReprStart | ( | Aig_Man_t * | p, |
int | nIdMax | ||
) |
DECLARATIONS ///.
CFile****************************************************************
FileName [aigRepr.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [Handing node representatives.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Starts the array of representatives.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file aigRepr.c.
void Aig_ManReprStop | ( | Aig_Man_t * | p | ) |
void Aig_ManResetRefs | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Performs forward retiming.]
Description []
SideEffects []
SeeAlso []
Definition at line 125 of file aigRetF.c.
Aig_Man_t* Aig_ManScl | ( | Aig_Man_t * | pAig, |
int | fLatchConst, | ||
int | fLatchEqual, | ||
int | fUseMvSweep, | ||
int | nFramesSymb, | ||
int | nFramesSatur, | ||
int | fVerbose, | ||
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis [Gives the current ABC network to AIG manager for processing.]
Description []
SideEffects []
SeeAlso []
Definition at line 650 of file aigScl.c.
int Aig_ManSeqCleanup | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns the number of dangling nodes removed.]
Description []
SideEffects []
SeeAlso []
Definition at line 158 of file aigScl.c.
int Aig_ManSeqCleanupBasic | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns the number of dangling nodes removed.]
Description [This cleanup procedure is different in that it removes logic but does not remove the dangling latches.]
SideEffects []
SeeAlso []
Definition at line 257 of file aigScl.c.
void Aig_ManSetCioIds | ( | Aig_Man_t * | p | ) |
void Aig_ManSetPhase | ( | Aig_Man_t * | pAig | ) |
void Aig_ManSetRegNum | ( | Aig_Man_t * | p, |
int | nRegs | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 340 of file aigShow.c.
Aig_Man_t* Aig_ManStart | ( | int | nNodesMax | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [aigMan.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [AIG manager.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Starts the AIG manager.]
Description [The argument of this procedure is a soft limit on the the number of nodes, or 0 if the limit is unknown.]
SideEffects []
SeeAlso []
Definition at line 47 of file aigMan.c.
Function*************************************************************
Synopsis [Duplicates the AIG manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 92 of file aigMan.c.
void Aig_ManStartMemory | ( | Aig_Man_t * | p | ) |
void Aig_ManStartReverseLevels | ( | Aig_Man_t * | p, |
int | nMaxLevelIncrease | ||
) |
Function*************************************************************
Synopsis [Prepares for the computation of required levels.]
Description [This procedure should be called before the required times are used. It starts internal data structures, which records the level from the COs of the network nodes in reverse topologogical order.]
SideEffects []
SeeAlso []
Definition at line 142 of file aigTiming.c.
void Aig_ManStop | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Stops the AIG manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 187 of file aigMan.c.
void Aig_ManStopMemory | ( | Aig_Man_t * | p | ) |
void Aig_ManStopP | ( | Aig_Man_t ** | p | ) |
void Aig_ManStopReverseLevels | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Cleans the data structures used to compute required levels.]
Description []
SideEffects []
SeeAlso []
Definition at line 175 of file aigTiming.c.
Function*************************************************************
Synopsis [Computes supports of the POs in the multi-output AIG.]
Description [Returns the array of integer arrays containing indices of the primary inputs for each primary output.]
SideEffects [Adds the integer PO number at end of each array.]
SeeAlso []
Definition at line 273 of file aigPart.c.
Function*************************************************************
Synopsis [Computes the set of outputs for each input.]
Description [Returns the array of integer arrays containing indices of the primary outputsf for each primary input.]
SideEffects []
SeeAlso []
Definition at line 385 of file aigPart.c.
Function*************************************************************
Synopsis [Returns the register dependency matrix.]
Description []
SideEffects []
SeeAlso []
Definition at line 418 of file aigPart.c.
Function*************************************************************
Synopsis [Duplicates AIG while substituting representatives.]
Description []
SideEffects []
SeeAlso []
Definition at line 211 of file aigRepr.c.
Function*************************************************************
Synopsis [Incrementally updates level of the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 195 of file aigTiming.c.
Function*************************************************************
Synopsis [Incrementally updates level of the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 247 of file aigTiming.c.
void Aig_ManVerifyLevel | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Verifies direct level of the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 307 of file aigTiming.c.
void Aig_ManVerifyReverseLevel | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Verifies reverse level of the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 334 of file aigTiming.c.
int Aig_ManVerifyTopoOrder | ( | Aig_Man_t * | p | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [aigDfs.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [DFS traversal procedures.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Verifies that the objects are in a topo order.]
Description []
SideEffects []
SeeAlso []
Definition at line 46 of file aigDfs.c.
Function*************************************************************
Synopsis [Implements the miter.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Implements the miter.]
Description []
SideEffects []
SeeAlso []
Definition at line 453 of file aigOper.c.
char* Aig_MmFixedEntryFetch | ( | Aig_MmFixed_t * | p | ) |
void Aig_MmFixedEntryRecycle | ( | Aig_MmFixed_t * | p, |
char * | pEntry | ||
) |
int Aig_MmFixedReadMaxEntriesUsed | ( | Aig_MmFixed_t * | p | ) |
int Aig_MmFixedReadMemUsage | ( | Aig_MmFixed_t * | p | ) |
void Aig_MmFixedRestart | ( | Aig_MmFixed_t * | p | ) |
Aig_MmFixed_t* Aig_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 aigMem.c.
void Aig_MmFixedStop | ( | Aig_MmFixed_t * | p, |
int | fVerbose | ||
) |
char* Aig_MmFlexEntryFetch | ( | Aig_MmFlex_t * | p, |
int | nBytes | ||
) |
int Aig_MmFlexReadMemUsage | ( | Aig_MmFlex_t * | p | ) |
void Aig_MmFlexRestart | ( | Aig_MmFlex_t * | p | ) |
Aig_MmFlex_t* Aig_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 aigMem.c.
void Aig_MmFlexStop | ( | Aig_MmFlex_t * | p, |
int | fVerbose | ||
) |
char* Aig_MmStepEntryFetch | ( | Aig_MmStep_t * | p, |
int | nBytes | ||
) |
void Aig_MmStepEntryRecycle | ( | Aig_MmStep_t * | p, |
char * | pEntry, | ||
int | nBytes | ||
) |
Function*************************************************************
Synopsis [Recycles the entry.]
Description []
SideEffects []
SeeAlso []
Definition at line 563 of file aigMem.c.
int Aig_MmStepReadMemUsage | ( | Aig_MmStep_t * | p | ) |
Aig_MmStep_t* Aig_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 aigMem.c.
void Aig_MmStepStop | ( | Aig_MmStep_t * | p, |
int | fVerbose | ||
) |
Aig_Obj_t* Aig_Multi | ( | Aig_Man_t * | p, |
Aig_Obj_t ** | pArgs, | ||
int | nArgs, | ||
Aig_Type_t | Type | ||
) |
Function*************************************************************
Synopsis [Old code.]
Description []
SideEffects []
SeeAlso []
Definition at line 413 of file aigOper.c.
Function*************************************************************
Synopsis [Implements ITE operation.]
Description []
SideEffects []
SeeAlso []
Definition at line 317 of file aigOper.c.
int Aig_NodeDeref_rec | ( | Aig_Obj_t * | pNode, |
unsigned | LevelMin, | ||
float * | pPower, | ||
float * | pProbs | ||
) |
DECLARATIONS ///.
CFile****************************************************************
FileName [aigMffc.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [Computation of MFFCs.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Dereferences the node's MFFC.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file aigMffc.c.
int Aig_NodeMffcExtendCut | ( | Aig_Man_t * | p, |
Aig_Obj_t * | pNode, | ||
Vec_Ptr_t * | vLeaves, | ||
Vec_Ptr_t * | vResult | ||
) |
Function*************************************************************
Synopsis [Expands the cut by adding the most closely related node.]
Description [Returns 1 if the cut exists.]
SideEffects []
SeeAlso []
Definition at line 265 of file aigMffc.c.
Function*************************************************************
Synopsis [Labels the nodes in the MFFC.]
Description [Returns the number of internal nodes in the MFFC.]
SideEffects []
SeeAlso []
Definition at line 211 of file aigMffc.c.
Function*************************************************************
Synopsis [Labels the nodes in the MFFC.]
Description [Returns the number of internal nodes in the MFFC.]
SideEffects []
SeeAlso []
Definition at line 236 of file aigMffc.c.
Function*************************************************************
Synopsis [Collects the support of depth-limited MFFC.]
Description [Returns the number of internal nodes in the MFFC.]
SideEffects []
SeeAlso []
Definition at line 179 of file aigMffc.c.
int Aig_NodeRef_rec | ( | Aig_Obj_t * | pNode, |
unsigned | LevelMin | ||
) |
Function*************************************************************
Synopsis [Adds fanout (pFanout) of node (pObj).]
Description []
SideEffects []
SeeAlso []
Definition at line 107 of file aigFanout.c.
Function*************************************************************
Synopsis [Returns 1 if pOld is in the TFI of pNew.]
Description []
SideEffects []
SeeAlso []
Definition at line 435 of file aigRepr.c.
Definition at line 312 of file aig.h.
|
inlinestatic |
Definition at line 314 of file aig.h.
Definition at line 313 of file aig.h.
|
inlinestatic |
Definition at line 315 of file aig.h.
|
inlinestatic |
void Aig_ObjCleanData_rec | ( | Aig_Obj_t * | pObj | ) |
|
inlinestatic |
Function*************************************************************
Synopsis [Resets reverse level of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 83 of file aigTiming.c.
Function*************************************************************
Synopsis [Computes the internal nodes of the cut.]
Description [Does not include the leaves of the cut.]
SideEffects []
SeeAlso []
Definition at line 1017 of file aigDfs.c.
Function*************************************************************
Synopsis [Detects multi-input gate rooted at this node.]
Description []
SideEffects []
SeeAlso []
Definition at line 289 of file aigUtil.c.
Function*************************************************************
Synopsis [Collects the nodes of the supergate.]
Description []
SideEffects []
SeeAlso []
Definition at line 1097 of file aigDfs.c.
Function*************************************************************
Synopsis [Procedure used for sorting the nodes in increasing order of IDs.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Connect the object to the fanin.]
Description []
SideEffects []
SeeAlso []
Definition at line 126 of file aigObj.c.
Function*************************************************************
Synopsis [Create the new node assuming it does not exist.]
Description []
SideEffects []
SeeAlso []
Definition at line 89 of file aigObj.c.
DECLARATIONS ///.
CFile****************************************************************
FileName [aigObj.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [AIG package.]
Synopsis [Adding/removing objects.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Creates primary input.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Creates primary output with the given driver.]
Description []
SideEffects []
SeeAlso []
Definition at line 66 of file aigObj.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Deletes the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 209 of file aigObj.c.
Function*************************************************************
Synopsis [Deletes the MFFC of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 232 of file aigObj.c.
Function*************************************************************
Synopsis [Deletes the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 261 of file aigObj.c.
Function*************************************************************
Synopsis [Disconnects the object from the fanins.]
Description []
SideEffects []
SeeAlso []
Definition at line 171 of file aigObj.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int Aig_ObjIsMuxType | ( | Aig_Obj_t * | pNode | ) |
Function*************************************************************
Synopsis [Returns 1 if the node is the root of MUX or EXOR/NEXOR.]
Description []
SideEffects []
SeeAlso []
Definition at line 307 of file aigUtil.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 281 of file aig.h.
|
inlinestatic |
Definition at line 324 of file aig.h.
void Aig_ObjOrderAdvance | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Advances the order forward.]
Description []
SideEffects []
SeeAlso []
Definition at line 162 of file aigOrder.c.
void Aig_ObjOrderInsert | ( | Aig_Man_t * | p, |
int | ObjId | ||
) |
Function*************************************************************
Synopsis [Inserts an entry before iNext.]
Description []
SideEffects []
SeeAlso []
Definition at line 95 of file aigOrder.c.
void Aig_ObjOrderRemove | ( | Aig_Man_t * | p, |
int | ObjId | ||
) |
Function*************************************************************
Synopsis [Removes the entry.]
Description [If iPrev is removed, it slides backward. If iNext is removed, it slides forward.]
SideEffects []
SeeAlso []
Definition at line 130 of file aigOrder.c.
Function*************************************************************
Synopsis [Replaces the first fanin of the node by the new fanin.]
Description []
SideEffects []
SeeAlso []
Definition at line 282 of file aigObj.c.
Function*************************************************************
Synopsis [Prints Eqn formula for the AIG rooted at this node.]
Description [The formula is in terms of PIs, which should have their names assigned in pObj->pData fields.]
SideEffects []
SeeAlso []
Definition at line 519 of file aigUtil.c.
void Aig_ObjPrintVerbose | ( | Aig_Obj_t * | pObj, |
int | fHaig | ||
) |
Function*************************************************************
Synopsis [Prints Verilog formula for the AIG rooted at this node.]
Description [The formula is in terms of PIs, which should have their names assigned in pObj->pData fields.]
SideEffects []
SeeAlso []
Definition at line 566 of file aigUtil.c.
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 387 of file aigUtil.c.
Function*************************************************************
Synopsis [Removes fanout (pFanout) of node (pObj).]
Description []
SideEffects []
SeeAlso []
Definition at line 154 of file aigFanout.c.
Function*************************************************************
Synopsis [Replaces one object by another.]
Description [The new object (pObjNew) should be used instead of the old object (pObjOld). If the new object is complemented or used, the buffer is added and the new object remains in the manager; otherwise, the new object is deleted.]
SideEffects []
SeeAlso []
Definition at line 467 of file aigObj.c.
Function*************************************************************
Synopsis [Returns required level of the node.]
Description [Converts the reverse levels of the node into its required level as follows: ReqLevel(Node) = MaxLevels(Ntk) + 1 - LevelR(Node).]
SideEffects []
SeeAlso []
Definition at line 100 of file aigTiming.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Aig_Obj_t* Aig_Oper | ( | Aig_Man_t * | p, |
Aig_Obj_t * | p0, | ||
Aig_Obj_t * | p1, | ||
Aig_Type_t | Type | ||
) |
Function*************************************************************
Synopsis [Implements Boolean OR.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Counts the support size of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 832 of file aigDfs.c.
Function*************************************************************
Synopsis [Counts the support size of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 854 of file aigDfs.c.
Function*************************************************************
Synopsis [Counts the support size of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 758 of file aigDfs.c.
void Aig_TableClear | ( | Aig_Man_t * | p | ) |
Function********************************************************************
Synopsis [Profiles the hash table.]
Description []
SideEffects []
SeeAlso []
Definition at line 265 of file aigTable.c.
int Aig_TableCountEntries | ( | Aig_Man_t * | p | ) |
Function*************************************************************
Synopsis [Count the number of nodes in the table.]
Description []
SideEffects []
SeeAlso []
Definition at line 218 of file aigTable.c.
Function*************************************************************
Synopsis [Deletes the node from the hash table.]
Description []
SideEffects []
SeeAlso []
Definition at line 196 of file aigTable.c.
Function*************************************************************
Synopsis [Adds the new node to the hash table.]
Description []
SideEffects []
SeeAlso []
Definition at line 173 of file aigTable.c.
Function*************************************************************
Synopsis [Checks if node with the given attributes is in the hash table.]
Description []
SideEffects []
SeeAlso []
Definition at line 116 of file aigTable.c.
Function*************************************************************
Synopsis [Checks if node with the given attributes is in the hash table.]
Description []
SideEffects []
SeeAlso []
Definition at line 146 of file aigTable.c.
void Aig_TableProfile | ( | Aig_Man_t * | p | ) |
Function********************************************************************
Synopsis [Profiles the hash table.]
Description []
SideEffects []
SeeAlso []
Definition at line 239 of file aigTable.c.
char* Aig_TimeStamp | ( | ) |
Function*************************************************************
Synopsis [Transfers the AIG from one manager into another.]
Description []
SideEffects []
SeeAlso []
Definition at line 904 of file aigDfs.c.
Function*************************************************************
Synopsis [Transfers the classes.]
Description []
SideEffects []
SeeAlso []
Definition at line 533 of file aigRepr.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Performs forward retiming with the given limit on depth.]
Description []
SideEffects []
SeeAlso []
Definition at line 834 of file aigRet.c.