|
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.