

Go to the source code of this file.
Classes | |
| struct | Lpk_Cut_t_ |
| struct | Lpk_Man_t_ |
| struct | Lpk_Fun_t_ |
| struct | Lpk_Res_t_ |
Macros | |
| #define | LPK_SIZE_MAX 100 |
| INCLUDES ///. | |
| #define | LPK_CUTS_MAX 10000 |
| #define | Lpk_CutForEachLeaf(pNtk, pCut, pObj, i) |
| MACRO DEFINITIONS ///. | |
| #define | Lpk_CutForEachNode(pNtk, pCut, pObj, i) |
| #define | Lpk_CutForEachNodeReverse(pNtk, pCut, pObj, i) |
| #define | Lpk_SuppForEachVar(Supp, Var) |
Typedefs | |
| typedef struct Lpk_Man_t_ | Lpk_Man_t |
| typedef struct Lpk_Cut_t_ | Lpk_Cut_t |
| typedef struct Lpk_Fun_t_ | Lpk_Fun_t |
| typedef struct Lpk_Res_t_ | Lpk_Res_t |
Functions | |
| Abc_Obj_t * | Lpk_Decompose (Lpk_Man_t *pMan, Abc_Ntk_t *pNtk, Vec_Ptr_t *vLeaves, unsigned *pTruth, unsigned *puSupps, int nLutK, int AreaLim, int DelayLim) |
| FUNCTION DECLARATIONS ///. | |
| Lpk_Res_t * | Lpk_DsdAnalize (Lpk_Man_t *pMan, Lpk_Fun_t *p, int nShared) |
| Lpk_Fun_t * | Lpk_DsdSplit (Lpk_Man_t *pMan, Lpk_Fun_t *p, char *pCofVars, int nCofVars, unsigned uBoundSet) |
| Lpk_Res_t * | Lpk_MuxAnalize (Lpk_Man_t *pMan, Lpk_Fun_t *p) |
| DECLARATIONS ///. | |
| Lpk_Fun_t * | Lpk_MuxSplit (Lpk_Man_t *pMan, Lpk_Fun_t *p, int Var, int Pol) |
| Lpk_Fun_t * | Lpk_FunAlloc (int nVars) |
| DECLARATIONS ///. | |
| void | Lpk_FunFree (Lpk_Fun_t *p) |
| Lpk_Fun_t * | Lpk_FunCreate (Abc_Ntk_t *pNtk, Vec_Ptr_t *vLeaves, unsigned *pTruth, int nLutK, int AreaLim, int DelayLim) |
| Lpk_Fun_t * | Lpk_FunDup (Lpk_Fun_t *p, unsigned *pTruth) |
| int | Lpk_FunSuppMinimize (Lpk_Fun_t *p) |
| void | Lpk_FunComputeCofSupps (Lpk_Fun_t *p) |
| int | Lpk_SuppDelay (unsigned uSupp, int *pDelays) |
| int | Lpk_SuppToVars (unsigned uBoundSet, char *pVars) |
| unsigned * | Lpk_CutTruth (Lpk_Man_t *p, Lpk_Cut_t *pCut, int fInv) |
| int | Lpk_NodeCuts (Lpk_Man_t *p) |
| Lpk_Man_t * | Lpk_ManStart (Lpk_Par_t *pPars) |
| DECLARATIONS ///. | |
| void | Lpk_ManStop (Lpk_Man_t *p) |
| If_Obj_t * | Lpk_MapPrime (Lpk_Man_t *p, unsigned *pTruth, int nVars, If_Obj_t **ppLeaves) |
| If_Obj_t * | Lpk_MapTree_rec (Lpk_Man_t *p, Kit_DsdNtk_t *pNtk, If_Obj_t **ppLeaves, int iLit, If_Obj_t *pResult) |
| If_Obj_t * | Lpk_MapTreeMulti (Lpk_Man_t *p, unsigned *pTruth, int nLeaves, If_Obj_t **ppLeaves) |
| If_Obj_t * | Lpk_MapTreeMux_rec (Lpk_Man_t *p, unsigned *pTruth, int nVars, If_Obj_t **ppLeaves) |
| If_Obj_t * | Lpk_MapSuppRedDec_rec (Lpk_Man_t *p, unsigned *pTruth, int nVars, If_Obj_t **ppLeaves) |
| unsigned | Lpk_MapSuppRedDecSelect (Lpk_Man_t *p, unsigned *pTruth, int nVars, int *piVar, int *piVarReused) |
| #define Lpk_CutForEachLeaf | ( | pNtk, | |
| pCut, | |||
| pObj, | |||
| i ) |
MACRO DEFINITIONS ///.
ITERATORS ///
Definition at line 190 of file lpkInt.h.
| #define Lpk_CutForEachNode | ( | pNtk, | |
| pCut, | |||
| pObj, | |||
| i ) |
Definition at line 192 of file lpkInt.h.
| #define Lpk_CutForEachNodeReverse | ( | pNtk, | |
| pCut, | |||
| pObj, | |||
| i ) |
Definition at line 194 of file lpkInt.h.
| #define LPK_SIZE_MAX 100 |
INCLUDES ///.
CFile****************************************************************
FileName [lpkInt.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Fast Boolean matching for LUT structures.]
Synopsis [Internal declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
] PARAMETERS /// BASIC TYPES ///
| #define Lpk_SuppForEachVar | ( | Supp, | |
| Var ) |
| typedef struct Lpk_Cut_t_ Lpk_Cut_t |
| typedef struct Lpk_Fun_t_ Lpk_Fun_t |
| typedef struct Lpk_Man_t_ Lpk_Man_t |
| typedef struct Lpk_Res_t_ Lpk_Res_t |
Function*************************************************************
Synopsis [Computes the truth able of one cut.]
Description []
SideEffects []
SeeAlso []
Definition at line 175 of file lpkCut.c.


|
extern |
FUNCTION DECLARATIONS ///.
Function*************************************************************
Synopsis [Decomposes the function using recursive MUX decomposition.]
Description []
SideEffects []
SeeAlso []
Definition at line 258 of file lpkAbcDec.c.


Function*************************************************************
Synopsis [Performs DSD-based decomposition of the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 452 of file lpkAbcDsd.c.


|
extern |
Function*************************************************************
Synopsis [Splits the function into two subfunctions using DSD.]
Description []
SideEffects []
SeeAlso []
Definition at line 564 of file lpkAbcDsd.c.


|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [lpkAbcUtil.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Fast Boolean matching for LUT structures.]
Synopsis [Procedures working on decomposed functions.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Allocates the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file lpkAbcUtil.c.


|
extern |
Function*************************************************************
Synopsis [Computes cofactors w.r.t. each variable.]
Description []
SideEffects []
SeeAlso []
Definition at line 186 of file lpkAbcUtil.c.


|
extern |
Function*************************************************************
Synopsis [Creates the starting function.]
Description []
SideEffects []
SeeAlso []
Definition at line 80 of file lpkAbcUtil.c.


Function*************************************************************
Synopsis [Creates the new function with the given truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 114 of file lpkAbcUtil.c.


|
extern |
Function*************************************************************
Synopsis [Deletes the function]
Description []
SideEffects []
SeeAlso []
Definition at line 64 of file lpkAbcUtil.c.

|
extern |
Function*************************************************************
Synopsis [Minimizes support of the function.]
Description []
SideEffects []
SeeAlso []
Definition at line 143 of file lpkAbcUtil.c.


DECLARATIONS ///.
CFile****************************************************************
FileName [lpkMan.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Fast Boolean matching for LUT structures.]
Synopsis []
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file lpkMan.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 95 of file lpkMan.c.


|
extern |
Function*************************************************************
Synopsis [Strashes one logic node using its SOP.]
Description []
SideEffects []
SeeAlso []
Definition at line 79 of file lpkMap.c.


|
extern |
Function*************************************************************
Synopsis [Implements support-reducing decomposition.]
Description []
SideEffects []
SeeAlso []
Definition at line 133 of file lpkMux.c.


|
extern |
Function*************************************************************
Synopsis [Evaluates the cofactors.]
Description []
SideEffects []
SeeAlso []
Definition at line 323 of file lpkSets.c.


|
extern |
Function*************************************************************
Synopsis [Prepares the mapping manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 110 of file lpkMap.c.


|
extern |
Function*************************************************************
Synopsis [Prepares the mapping manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 347 of file lpkMulti.c.

|
extern |
Function*************************************************************
Synopsis [Maps the function by the best cofactoring.]
Description []
SideEffects []
SeeAlso []
Definition at line 89 of file lpkMux.c.

DECLARATIONS ///.
CFile****************************************************************
FileName [lpkAbcMux.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Fast Boolean matching for LUT structures.]
Synopsis [LUT-decomposition based on recursive MUX decomposition.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - April 28, 2007.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Checks the possibility of MUX decomposition.]
Description [Returns the best variable to use for MUX decomposition.]
SideEffects []
SeeAlso []
Definition at line 45 of file lpkAbcMux.c.


Function*************************************************************
Synopsis [Transforms the function decomposed by the MUX decomposition.]
Description [Returns the best variable to use for MUX decomposition.]
SideEffects []
SeeAlso []
Definition at line 164 of file lpkAbcMux.c.


|
extern |
Function*************************************************************
Synopsis [Computes the set of all cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 619 of file lpkCut.c.


|
extern |
Function*************************************************************
Synopsis [Get the delay of the bound set.]
Description []
SideEffects []
SeeAlso []
Definition at line 215 of file lpkAbcUtil.c.

|
extern |
Function*************************************************************
Synopsis [Converts support into variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 235 of file lpkAbcUtil.c.