abc-master
|
Go to the source code of this file.
Data Structures | |
struct | Amap_Man_t_ |
struct | Amap_Lib_t_ |
struct | Amap_Pin_t_ |
struct | Amap_Gat_t_ |
struct | Amap_Set_t_ |
struct | Amap_Nod_t_ |
struct | Amap_Cut_t_ |
struct | Amap_Mat_t_ |
struct | Amap_Obj_t_ |
Macros | |
#define | AMAP_MAXINS 15 |
INCLUDES ///. More... | |
#define | AMAP_STRING_CONST0 "CONST0" |
#define | AMAP_STRING_CONST1 "CONST1" |
#define | Amap_ManForEachPi(p, pObj, i) Vec_PtrForEachEntry( Amap_Obj_t *, p->vPis, pObj, i ) |
MACRO DEFINITIONS ///. More... | |
#define | Amap_ManForEachPo(p, pObj, i) Vec_PtrForEachEntry( Amap_Obj_t *, p->vPos, pObj, i ) |
#define | Amap_ManForEachObj(p, pObj, i) Vec_PtrForEachEntry( Amap_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL ) {} else |
#define | Amap_ManForEachNode(p, pObj, i) Vec_PtrForEachEntry( Amap_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Amap_ObjIsNode(pObj) ) {} else |
#define | Amap_LibForEachGate(pLib, pGate, i) Vec_PtrForEachEntry( Amap_Gat_t *, pLib->vGates, pGate, i ) |
#define | Amap_GateForEachPin(pGate, pPin) for ( pPin = pGate->Pins; pPin < pGate->Pins + pGate->nPins; pPin++ ) |
#define | Amap_NodeForEachCut(pNode, pCut, i) |
#define | Amap_LibNodeForEachSet(pNod, pSet) for ( pSet = pNod->pSets; pSet; pSet = pSet->pNext ) |
#define | Amap_MatchForEachFaninCompl(p, pM, pFanin, fCompl, i) |
#define | Amap_MatchForEachFanin(p, pM, pFanin, i) |
Typedefs | |
typedef struct Amap_Pin_t_ | Amap_Pin_t |
BASIC TYPES ///. More... | |
typedef struct Amap_Gat_t_ | Amap_Gat_t |
typedef struct Amap_Nod_t_ | Amap_Nod_t |
typedef struct Amap_Set_t_ | Amap_Set_t |
typedef struct Amap_Man_t_ | Amap_Man_t |
typedef struct Amap_Obj_t_ | Amap_Obj_t |
typedef struct Amap_Cut_t_ | Amap_Cut_t |
typedef struct Amap_Mat_t_ | Amap_Mat_t |
Enumerations | |
enum | Amap_Type_t { AMAP_OBJ_NONE, AMAP_OBJ_CONST1, AMAP_OBJ_PI, AMAP_OBJ_PO, AMAP_OBJ_AND, AMAP_OBJ_XOR, AMAP_OBJ_MUX, AMAP_OBJ_VOID } |
#define Amap_GateForEachPin | ( | pGate, | |
pPin | |||
) | for ( pPin = pGate->Pins; pPin < pGate->Pins + pGate->nPins; pPin++ ) |
#define Amap_LibForEachGate | ( | pLib, | |
pGate, | |||
i | |||
) | Vec_PtrForEachEntry( Amap_Gat_t *, pLib->vGates, pGate, i ) |
#define Amap_LibNodeForEachSet | ( | pNod, | |
pSet | |||
) | for ( pSet = pNod->pSets; pSet; pSet = pSet->pNext ) |
#define Amap_ManForEachNode | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Amap_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL || !Amap_ObjIsNode(pObj) ) {} else |
#define Amap_ManForEachObj | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Amap_Obj_t *, p->vObjs, pObj, i ) if ( (pObj) == NULL ) {} else |
#define Amap_ManForEachPi | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Amap_Obj_t *, p->vPis, pObj, i ) |
#define Amap_ManForEachPo | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( Amap_Obj_t *, p->vPos, pObj, i ) |
#define Amap_MatchForEachFanin | ( | p, | |
pM, | |||
pFanin, | |||
i | |||
) |
#define Amap_MatchForEachFaninCompl | ( | p, | |
pM, | |||
pFanin, | |||
fCompl, | |||
i | |||
) |
#define AMAP_MAXINS 15 |
INCLUDES ///.
CFile****************************************************************
FileName [amapInt.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Technology mapper for standard cells.]
Synopsis [Internal declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]PARAMETERS ///
#define Amap_NodeForEachCut | ( | pNode, | |
pCut, | |||
i | |||
) |
typedef struct Amap_Cut_t_ Amap_Cut_t |
typedef struct Amap_Gat_t_ Amap_Gat_t |
typedef struct Amap_Man_t_ Amap_Man_t |
typedef struct Amap_Mat_t_ Amap_Mat_t |
typedef struct Amap_Nod_t_ Amap_Nod_t |
typedef struct Amap_Obj_t_ Amap_Obj_t |
typedef struct Amap_Pin_t_ Amap_Pin_t |
typedef struct Amap_Set_t_ Amap_Set_t |
enum Amap_Type_t |
Enumerator | |
---|---|
AMAP_OBJ_NONE | |
AMAP_OBJ_CONST1 | |
AMAP_OBJ_PI | |
AMAP_OBJ_PO | |
AMAP_OBJ_AND | |
AMAP_OBJ_XOR | |
AMAP_OBJ_MUX | |
AMAP_OBJ_VOID |
Definition at line 50 of file amapInt.h.
|
inlinestatic |
Amap_Lib_t* Amap_LibAlloc | ( | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [amapLib.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Technology mapper for standard cells.]
Synopsis [Standard-cell library.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Allocs a library.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file amapLib.c.
int Amap_LibCreateMux | ( | Amap_Lib_t * | p, |
int | iFan0, | ||
int | iFan1, | ||
int | iFan2 | ||
) |
Function*************************************************************
Synopsis [Creates a new node.]
Description []
SideEffects []
SeeAlso []
Definition at line 244 of file amapUniq.c.
int Amap_LibCreateNode | ( | Amap_Lib_t * | p, |
int | iFan0, | ||
int | iFan1, | ||
int | fXor | ||
) |
Function*************************************************************
Synopsis [Creates a new node.]
Description []
SideEffects []
SeeAlso []
Definition at line 189 of file amapUniq.c.
void Amap_LibCreateRules | ( | Amap_Lib_t * | pLib, |
int | fVeryVerbose | ||
) |
Function*************************************************************
Synopsis [Creates rules for the given gate]
Description []
SideEffects []
SeeAlso []
Definition at line 426 of file amapRule.c.
int Amap_LibCreateVar | ( | Amap_Lib_t * | p | ) |
Function*************************************************************
Synopsis [Creates a new node.]
Description []
SideEffects []
SeeAlso []
Definition at line 164 of file amapUniq.c.
int Amap_LibFindMux | ( | Amap_Lib_t * | p, |
int | iFan0, | ||
int | iFan1, | ||
int | iFan2 | ||
) |
Function*************************************************************
Synopsis [Checks if the three-argument rule exist.]
Description []
SideEffects []
SeeAlso []
Definition at line 109 of file amapUniq.c.
int Amap_LibFindNode | ( | Amap_Lib_t * | pLib, |
int | iFan0, | ||
int | iFan1, | ||
int | fXor | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 90 of file amapUniq.c.
|
inlinestatic |
Definition at line 263 of file amapInt.h.
int** Amap_LibLookupTableAlloc | ( | Vec_Ptr_t * | vVec, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Allocates triangular lookup table.]
Description []
SideEffects []
SeeAlso []
Definition at line 278 of file amapUniq.c.
|
inlinestatic |
int Amap_LibNumPinsMax | ( | Amap_Lib_t * | p | ) |
Function*************************************************************
Synopsis [Returns the largest gate size.]
Description []
SideEffects []
SeeAlso []
Definition at line 103 of file amapLib.c.
int Amap_LibParseEquations | ( | Amap_Lib_t * | p, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Parses equations for the gates.]
Description []
SideEffects []
SeeAlso []
Definition at line 392 of file amapParse.c.
Amap_Lib_t* Amap_LibReadBuffer | ( | char * | pBuffer, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Reads the library from the input file.]
Description []
SideEffects []
SeeAlso []
Definition at line 446 of file amapRead.c.
Amap_Lib_t* Amap_LibReadFile | ( | char * | pFileName, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Reads the library from the input file.]
Description []
SideEffects []
SeeAlso []
Definition at line 473 of file amapRead.c.
Vec_Ptr_t* Amap_LibSelectGates | ( | Amap_Lib_t * | p, |
int | fVerbose | ||
) |
Function*************************************************************
Synopsis [Selects gates useful for area-only mapping.]
Description []
SideEffects []
SeeAlso []
Definition at line 261 of file amapLib.c.
short* Amap_LibTableFindNode | ( | Amap_Lib_t * | p, |
int | iFan0, | ||
int | iFan1, | ||
int | fXor | ||
) |
void Amap_LibWrite | ( | FILE * | pFile, |
Amap_Lib_t * | pLib, | ||
int | fPrintDsd | ||
) |
Function*************************************************************
Synopsis [Writes library.]
Description []
SideEffects []
SeeAlso []
Definition at line 179 of file amapLib.c.
|
inlinestatic |
Definition at line 228 of file amapInt.h.
|
inlinestatic |
void Amap_ManCreate | ( | Amap_Man_t * | p, |
Aig_Man_t * | pAig | ||
) |
Function*************************************************************
Synopsis [Starts the AIG manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 323 of file amapGraph.c.
Amap_Obj_t* Amap_ManCreateAnd | ( | Amap_Man_t * | p, |
Amap_Obj_t * | pFan0, | ||
Amap_Obj_t * | pFan1 | ||
) |
Function*************************************************************
Synopsis [Create the new node assuming it does not exist.]
Description []
SideEffects []
SeeAlso []
Definition at line 137 of file amapGraph.c.
void Amap_ManCreateChoice | ( | Amap_Man_t * | p, |
Amap_Obj_t * | pObj | ||
) |
Function*************************************************************
Synopsis [Creates the choice node.]
Description [Should be called after the equivalence class nodes are linked.]
SideEffects []
SeeAlso []
Definition at line 222 of file amapGraph.c.
Amap_Obj_t* Amap_ManCreateMux | ( | Amap_Man_t * | p, |
Amap_Obj_t * | pFan0, | ||
Amap_Obj_t * | pFan1, | ||
Amap_Obj_t * | pFanC | ||
) |
Function*************************************************************
Synopsis [Create the new node assuming it does not exist.]
Description []
SideEffects []
SeeAlso []
Definition at line 192 of file amapGraph.c.
Amap_Obj_t* Amap_ManCreatePi | ( | Amap_Man_t * | p | ) |
FUNCTION DECLARATIONS ///.
Function*************************************************************
Synopsis [Creates primary input.]
Description []
SideEffects []
SeeAlso []
Definition at line 88 of file amapGraph.c.
Amap_Obj_t* Amap_ManCreatePo | ( | Amap_Man_t * | p, |
Amap_Obj_t * | pFan0 | ||
) |
Function*************************************************************
Synopsis [Creates primary output with the given driver.]
Description []
SideEffects []
SeeAlso []
Definition at line 110 of file amapGraph.c.
Amap_Obj_t* Amap_ManCreateXor | ( | Amap_Man_t * | p, |
Amap_Obj_t * | pFan0, | ||
Amap_Obj_t * | pFan1 | ||
) |
Function*************************************************************
Synopsis [Create the new node assuming it does not exist.]
Description []
SideEffects []
SeeAlso []
Definition at line 165 of file amapGraph.c.
|
inlinestatic |
Definition at line 267 of file amapInt.h.
|
inlinestatic |
Definition at line 270 of file amapInt.h.
void Amap_ManMap | ( | Amap_Man_t * | p | ) |
Function*************************************************************
Synopsis [Performs mapping.]
Description []
SideEffects []
SeeAlso []
Definition at line 593 of file amapMatch.c.
void Amap_ManMerge | ( | Amap_Man_t * | p | ) |
Function*************************************************************
Synopsis [Derives cuts for all nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 514 of file amapMerge.c.
|
inlinestatic |
Definition at line 230 of file amapInt.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 237 of file amapInt.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 235 of file amapInt.h.
|
inlinestatic |
Definition at line 226 of file amapInt.h.
|
inlinestatic |
Definition at line 236 of file amapInt.h.
|
inlinestatic |
Definition at line 227 of file amapInt.h.
Vec_Ptr_t* Amap_ManProduceMapped | ( | Amap_Man_t * | p | ) |
Function*************************************************************
Synopsis [Returns mapped network as an array of structures.]
Description []
SideEffects []
SeeAlso []
Definition at line 71 of file amapOutput.c.
Amap_Man_t* Amap_ManStart | ( | int | nNodes | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [amapMan.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Technology mapper for standard cells.]
Synopsis [Mapping manager.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Starts the AIG manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file amapMan.c.
void Amap_ManStop | ( | Amap_Man_t * | p | ) |
|
inlinestatic |
Definition at line 229 of file amapInt.h.
|
inlinestatic |
Definition at line 222 of file amapInt.h.
|
inlinestatic |
Definition at line 223 of file amapInt.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 242 of file amapInt.h.
|
inlinestatic |
Definition at line 239 of file amapInt.h.
|
inlinestatic |
Definition at line 244 of file amapInt.h.
|
inlinestatic |
Definition at line 245 of file amapInt.h.
|
inlinestatic |
Definition at line 240 of file amapInt.h.
|
inlinestatic |
Definition at line 241 of file amapInt.h.
|
inlinestatic |
Definition at line 243 of file amapInt.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 221 of file amapInt.h.
void Kit_DsdPrintFromTruth | ( | unsigned * | pTruth, |
int | nVars | ||
) |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 490 of file kitDsd.c.