#include <float.h>#include "gia.h"#include "misc/st/st.h"#include "map/mio/mio.h"#include "misc/util/utilTruth.h"#include "misc/extra/extra.h"#include "base/main/main.h"#include "misc/vec/vecMem.h"#include "misc/vec/vecWec.h"#include "opt/dau/dau.h"#include "misc/util/utilNam.h"#include "map/scl/sclCon.h"#include "misc/tim/tim.h"
Go to the source code of this file.
Classes | |
| struct | Nf_Cut_t_ |
| struct | Nf_Cfg_t_ |
| struct | Nf_Mat_t_ |
| struct | Nf_Obj_t_ |
| struct | Nf_Man_t_ |
Macros | |
| #define | NF_LEAF_MAX 6 |
| DECLARATIONS ///. | |
| #define | NF_CUT_MAX 32 |
| #define | NF_NO_LEAF 31 |
| #define | NF_NO_FUNC 0x3FFFFFF |
| #define | NF_EPSILON 0.001 |
| #define | Nf_SetForEachCut(pList, pCut, i) |
| #define | Nf_CutForEachVarCompl(pCut, Cfg, iVar, fCompl, i) |
| #define | Nf_CfgForEachVarCompl(Cfg, Size, iVar, fCompl, i) |
Typedefs | |
| typedef struct Nf_Cut_t_ | Nf_Cut_t |
| typedef struct Nf_Cfg_t_ | Nf_Cfg_t |
| typedef struct Nf_Mat_t_ | Nf_Mat_t |
| typedef struct Nf_Obj_t_ | Nf_Obj_t |
| typedef struct Nf_Man_t_ | Nf_Man_t |
Functions | |
| int | Nf_StoCellIsDominated (Mio_Cell2_t *pCell, int *pFans, int *pProf) |
| FUNCTION DEFINITIONS ///. | |
| void | Nf_StoCreateGateAdd (Vec_Mem_t *vTtMem, Vec_Wec_t *vTt2Match, Mio_Cell2_t *pCell, word uTruth, int *pFans, int nFans, Vec_Wec_t *vProfs, Vec_Int_t *vStore, int fPinFilter, int fPinPerm, int fPinQuick) |
| void | Nf_StoCreateGateMaches (Vec_Mem_t *vTtMem, Vec_Wec_t *vTt2Match, Mio_Cell2_t *pCell, int **pComp, int **pPerm, int *pnPerms, Vec_Wec_t *vProfs, Vec_Int_t *vStore, int fPinFilter, int fPinPerm, int fPinQuick) |
| Mio_Cell2_t * | Nf_StoDeriveMatches (Vec_Mem_t *vTtMem, Vec_Wec_t *vTt2Match, int *pnCells, int fPinFilter, int fPinPerm, int fPinQuick) |
| void | Nf_StoPrintOne (Nf_Man_t *p, int Count, int t, int i, int GateId, Nf_Cfg_t Mat) |
| void | Nf_StoPrint (Nf_Man_t *p, int fVerbose) |
| Nf_Man_t * | Nf_StoCreate (Gia_Man_t *pGia, Jf_Par_t *pPars) |
| void | Nf_StoDelete (Nf_Man_t *p) |
| void | Nf_ObjMergeOrder (Nf_Man_t *p, int iObj) |
| void | Nf_ManComputeCuts (Nf_Man_t *p) |
| void | Nf_ManPrintStats (Nf_Man_t *p, char *pTitle) |
| void | Nf_ManPrintInit (Nf_Man_t *p) |
| void | Nf_ManPrintQuit (Nf_Man_t *p) |
| void | Nf_ManCutMatchPrint (Nf_Man_t *p, int iObj, char *pStr, Nf_Mat_t *pM) |
| void | Nf_ManCutMatchOne (Nf_Man_t *p, int iObj, int *pCut, int *pCutSet) |
| void | Nf_ManCutMatch (Nf_Man_t *p, int iObj) |
| void | Nf_ManComputeMapping (Nf_Man_t *p) |
| void | Nf_ManSetOutputRequireds (Nf_Man_t *p, int fPropCompl) |
| void | Nf_ManSetMapRefsGate (Nf_Man_t *p, int iObj, int Required, Nf_Mat_t *pM) |
| void | Nf_ManPrintMatches (Nf_Man_t *p) |
| int | Nf_ManSetMapRefs (Nf_Man_t *p) |
| word | Nf_MatchDeref_rec (Nf_Man_t *p, int i, int c, Nf_Mat_t *pM) |
| word | Nf_MatchRef_rec (Nf_Man_t *p, int i, int c, Nf_Mat_t *pM, int Required, Vec_Int_t *vBackup) |
| word | Nf_MatchRefArea (Nf_Man_t *p, int i, int c, Nf_Mat_t *pM, int Required) |
| void | Nf_ManElaBestMatchOne (Nf_Man_t *p, int iObj, int c, int *pCut, int *pCutSet, Nf_Mat_t *pRes, int Required) |
| void | Nf_ManElaBestMatch (Nf_Man_t *p, int iObj, int c, Nf_Mat_t *pRes, int Required) |
| int | Nf_ManComputeArrival (Nf_Man_t *p, Nf_Mat_t *pM, int *pCutSet) |
| void | Nf_ManResetMatches (Nf_Man_t *p, int Round) |
| void | Nf_ManComputeMappingEla (Nf_Man_t *p) |
| void | Nf_ManFixPoDrivers (Nf_Man_t *p) |
| void | Nf_ManDumpMatches (Nf_Man_t *p) |
| Gia_Man_t * | Nf_ManDeriveMapping (Nf_Man_t *p) |
| void | Nf_ManUpdateStats (Nf_Man_t *p) |
| int | Nf_ManExtractWindow (void *pMan, Vec_Int_t *vRoots, Vec_Wec_t *vCuts, Vec_Wec_t *vObjCuts, Vec_Int_t *vSolCuts, Vec_Int_t *vCutGates, Vec_Wrd_t *vCutAreas, word *pInvArea, int StartVar, int nVars) |
| void | Nf_ManSetDefaultPars (Jf_Par_t *pPars) |
| Gia_Man_t * | Nf_ManPerformMappingInt (Gia_Man_t *pGia, Jf_Par_t *pPars) |
| int | Gia_ManCellMappingVerify_rec (Gia_Man_t *p, int iLit) |
| void | Gia_ManCellMappingVerify (Gia_Man_t *p) |
| void | Gia_ManTransferCellMapping (Gia_Man_t *p, Gia_Man_t *pGia) |
| Gia_Man_t * | Nf_ManPerformMapping (Gia_Man_t *p, Jf_Par_t *pPars) |
| #define Nf_CfgForEachVarCompl | ( | Cfg, | |
| Size, | |||
| iVar, | |||
| fCompl, | |||
| i ) |
| #define Nf_CutForEachVarCompl | ( | pCut, | |
| Cfg, | |||
| iVar, | |||
| fCompl, | |||
| i ) |
| #define NF_LEAF_MAX 6 |
DECLARATIONS ///.
CFile****************************************************************
FileName [giaNf.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [Standard-cell mapper.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]
| #define Nf_SetForEachCut | ( | pList, | |
| pCut, | |||
| i ) |
| void Gia_ManCellMappingVerify | ( | Gia_Man_t * | p | ) |
Definition at line 2658 of file giaNf.c.


| int Gia_ManCellMappingVerify_rec | ( | Gia_Man_t * | p, |
| int | iLit ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2631 of file giaNf.c.


Definition at line 2695 of file giaNf.c.


Definition at line 1913 of file giaNf.c.

| void Nf_ManComputeCuts | ( | Nf_Man_t * | p | ) |
Definition at line 965 of file giaNf.c.


| void Nf_ManComputeMapping | ( | Nf_Man_t * | p | ) |
Definition at line 1429 of file giaNf.c.


| void Nf_ManComputeMappingEla | ( | Nf_Man_t * | p | ) |
Definition at line 2031 of file giaNf.c.


| void Nf_ManCutMatch | ( | Nf_Man_t * | p, |
| int | iObj ) |
Definition at line 1280 of file giaNf.c.


| void Nf_ManCutMatchOne | ( | Nf_Man_t * | p, |
| int | iObj, | ||
| int * | pCut, | ||
| int * | pCutSet ) |
Definition at line 1124 of file giaNf.c.


Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1087 of file giaNf.c.

Function*************************************************************
Synopsis [Deriving mapping.]
Description []
SideEffects []
SeeAlso []
Definition at line 2259 of file giaNf.c.


| void Nf_ManDumpMatches | ( | Nf_Man_t * | p | ) |
Function*************************************************************
Synopsis [Dump matches.]
Description []
SideEffects []
SeeAlso []
Definition at line 2175 of file giaNf.c.


Definition at line 1901 of file giaNf.c.


| void Nf_ManElaBestMatchOne | ( | Nf_Man_t * | p, |
| int | iObj, | ||
| int | c, | ||
| int * | pCut, | ||
| int * | pCutSet, | ||
| Nf_Mat_t * | pRes, | ||
| int | Required ) |
Definition at line 1831 of file giaNf.c.


| int Nf_ManExtractWindow | ( | void * | pMan, |
| Vec_Int_t * | vRoots, | ||
| Vec_Wec_t * | vCuts, | ||
| Vec_Wec_t * | vObjCuts, | ||
| Vec_Int_t * | vSolCuts, | ||
| Vec_Int_t * | vCutGates, | ||
| Vec_Wrd_t * | vCutAreas, | ||
| word * | pInvArea, | ||
| int | StartVar, | ||
| int | nVars ) |
Function*************************************************************
Synopsis [Extract window.]
Description []
SideEffects []
SeeAlso []
Definition at line 2381 of file giaNf.c.

| void Nf_ManFixPoDrivers | ( | Nf_Man_t * | p | ) |
Definition at line 2129 of file giaNf.c.


Definition at line 2734 of file giaNf.c.


Definition at line 2556 of file giaNf.c.


| void Nf_ManPrintInit | ( | Nf_Man_t * | p | ) |
Definition at line 1027 of file giaNf.c.

| void Nf_ManPrintMatches | ( | Nf_Man_t * | p | ) |
| void Nf_ManPrintQuit | ( | Nf_Man_t * | p | ) |
Definition at line 1047 of file giaNf.c.


| void Nf_ManPrintStats | ( | Nf_Man_t * | p, |
| char * | pTitle ) |
| void Nf_ManResetMatches | ( | Nf_Man_t * | p, |
| int | Round ) |
Definition at line 1929 of file giaNf.c.


| void Nf_ManSetDefaultPars | ( | Jf_Par_t * | pPars | ) |
Function*************************************************************
Synopsis [Technology mappping.]
Description []
SideEffects []
SeeAlso []
Definition at line 2527 of file giaNf.c.


| int Nf_ManSetMapRefs | ( | Nf_Man_t * | p | ) |
Definition at line 1571 of file giaNf.c.


Definition at line 1527 of file giaNf.c.

| void Nf_ManSetOutputRequireds | ( | Nf_Man_t * | p, |
| int | fPropCompl ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1461 of file giaNf.c.


| void Nf_ManUpdateStats | ( | Nf_Man_t * | p | ) |
Definition at line 2307 of file giaNf.c.

Function*************************************************************
Synopsis [Area recovery.]
Description []
SideEffects []
SeeAlso []
Definition at line 1765 of file giaNf.c.


| word Nf_MatchRef_rec | ( | Nf_Man_t * | p, |
| int | i, | ||
| int | c, | ||
| Nf_Mat_t * | pM, | ||
| int | Required, | ||
| Vec_Int_t * | vBackup ) |
Definition at line 1788 of file giaNf.c.


Definition at line 1819 of file giaNf.c.


| void Nf_ObjMergeOrder | ( | Nf_Man_t * | p, |
| int | iObj ) |
Definition at line 863 of file giaNf.c.

| int Nf_StoCellIsDominated | ( | Mio_Cell2_t * | pCell, |
| int * | pFans, | ||
| int * | pProf ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 179 of file giaNf.c.

Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 373 of file giaNf.c.


| void Nf_StoCreateGateAdd | ( | Vec_Mem_t * | vTtMem, |
| Vec_Wec_t * | vTt2Match, | ||
| Mio_Cell2_t * | pCell, | ||
| word | uTruth, | ||
| int * | pFans, | ||
| int | nFans, | ||
| Vec_Wec_t * | vProfs, | ||
| Vec_Int_t * | vStore, | ||
| int | fPinFilter, | ||
| int | fPinPerm, | ||
| int | fPinQuick ) |
Definition at line 189 of file giaNf.c.


| void Nf_StoCreateGateMaches | ( | Vec_Mem_t * | vTtMem, |
| Vec_Wec_t * | vTt2Match, | ||
| Mio_Cell2_t * | pCell, | ||
| int ** | pComp, | ||
| int ** | pPerm, | ||
| int * | pnPerms, | ||
| Vec_Wec_t * | vProfs, | ||
| Vec_Int_t * | vStore, | ||
| int | fPinFilter, | ||
| int | fPinPerm, | ||
| int | fPinQuick ) |
Definition at line 255 of file giaNf.c.


| void Nf_StoDelete | ( | Nf_Man_t * | p | ) |
| Mio_Cell2_t * Nf_StoDeriveMatches | ( | Vec_Mem_t * | vTtMem, |
| Vec_Wec_t * | vTt2Match, | ||
| int * | pnCells, | ||
| int | fPinFilter, | ||
| int | fPinPerm, | ||
| int | fPinQuick ) |
Definition at line 288 of file giaNf.c.


| void Nf_StoPrint | ( | Nf_Man_t * | p, |
| int | fVerbose ) |
Definition at line 341 of file giaNf.c.
Definition at line 317 of file giaNf.c.
