abc-master
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "misc/vec/vec.h"
#include "misc/mem/mem.h"
#include "misc/tim/tim.h"
#include "misc/util/utilNam.h"
#include "misc/vec/vecMem.h"
#include "misc/util/utilTruth.h"
#include "opt/dau/dau.h"
#include "misc/vec/vecHash.h"
#include "misc/vec/vecWec.h"
Go to the source code of this file.
Data Structures | |
struct | Ifif_Par_t_ |
struct | If_Par_t_ |
struct | If_LibLut_t_ |
struct | If_Man_t_ |
struct | If_Cut_t_ |
struct | If_Set_t_ |
struct | If_Obj_t_ |
struct | If_Box_t_ |
struct | If_LibBox_t_ |
Macros | |
#define | IF_MAX_LUTSIZE 32 |
INCLUDES ///. More... | |
#define | IF_MAX_FUNC_LUTSIZE 15 |
#define | IF_INFINITY 100000000 |
#define | IF_COST_MAX 8191 |
#define | IF_BIG_CHAR ((char)120) |
#define | IF_MIN(a, b) (((a) < (b))? (a) : (b)) |
MACRO DEFINITIONS ///. More... | |
#define | IF_MAX(a, b) (((a) > (b))? (a) : (b)) |
#define | IF_FLOAT_LARGE ((float)1.0e+20) |
#define | IF_FLOAT_SMALL ((float)1.0e-20) |
#define | IF_INT_LARGE (10000000) |
#define | If_ManForEachCi(p, pObj, i) Vec_PtrForEachEntry( If_Obj_t *, p->vCis, pObj, i ) |
#define | If_ManForEachCo(p, pObj, i) Vec_PtrForEachEntry( If_Obj_t *, p->vCos, pObj, i ) |
#define | If_ManForEachPi(p, pObj, i) Vec_PtrForEachEntryStop( If_Obj_t *, p->vCis, pObj, i, If_ManCiNum(p) - p->pPars->nLatchesCi - p->pPars->nLatchesCiBox ) |
#define | If_ManForEachPo(p, pObj, i) Vec_PtrForEachEntryStartStop( If_Obj_t *, p->vCos, pObj, i, p->pPars->nLatchesCoBox, If_ManCoNum(p) - p->pPars->nLatchesCo ) |
#define | If_ManForEachLatchInput(p, pObj, i) Vec_PtrForEachEntryStart( If_Obj_t *, p->vCos, pObj, i, If_ManCoNum(p) - p->pPars->nLatchesCo ) |
#define | If_ManForEachLatchOutput(p, pObj, i) Vec_PtrForEachEntryStartStop( If_Obj_t *, p->vCis, pObj, i, If_ManCiNum(p) - p->pPars->nLatchesCi - p->pPars->nLatchesCiBox, If_ManCiNum(p) - p->pPars->nLatchesCiBox ) |
#define | If_ManForEachObj(p, pObj, i) Vec_PtrForEachEntry( If_Obj_t *, p->vObjs, pObj, i ) |
#define | If_ManForEachObjReverse(p, pObj, i) Vec_PtrForEachEntry( If_Obj_t *, p->vObjsRev, pObj, i ) |
#define | If_ManForEachNode(p, pObj, i) If_ManForEachObj( p, pObj, i ) if ( pObj->Type != IF_AND ) {} else |
#define | If_ObjForEachCut(pObj, pCut, i) for ( i = 0; (i < (pObj)->pCutSet->nCuts) && ((pCut) = (pObj)->pCutSet->ppCuts[i]); i++ ) |
#define | If_CutForEachLeaf(p, pCut, pLeaf, i) for ( i = 0; (i < (int)(pCut)->nLeaves) && ((pLeaf) = If_ManObj(p, (pCut)->pLeaves[i])); i++ ) |
#define | If_CutForEachLeafReverse(p, pCut, pLeaf, i) for ( i = (int)(pCut)->nLeaves - 1; (i >= 0) && ((pLeaf) = If_ManObj(p, (pCut)->pLeaves[i])); i-- ) |
#define | If_CutForEachLeafSeq(p, pCut, pLeaf, Shift, i) for ( i = 0; (i < (int)(pCut)->nLeaves) && ((pLeaf) = If_ManObj(p, (pCut)->pLeaves[i] >> 8)) && (((Shift) = ((pCut)->pLeaves[i] & 255)) >= 0); i++ ) |
Typedefs | |
typedef struct If_Man_t_ | If_Man_t |
BASIC TYPES ///. More... | |
typedef struct If_Par_t_ | If_Par_t |
typedef struct If_Obj_t_ | If_Obj_t |
typedef struct If_Cut_t_ | If_Cut_t |
typedef struct If_Set_t_ | If_Set_t |
typedef struct If_LibLut_t_ | If_LibLut_t |
typedef struct If_LibBox_t_ | If_LibBox_t |
typedef struct If_DsdMan_t_ | If_DsdMan_t |
typedef struct Ifn_Ntk_t_ | Ifn_Ntk_t |
typedef struct Ifif_Par_t_ | Ifif_Par_t |
typedef struct If_Box_t_ | If_Box_t |
Enumerations | |
enum | If_Type_t { IF_NONE, IF_CONST1, IF_CI, IF_CO, IF_AND, IF_VOID } |
#define If_ManForEachCi | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( If_Obj_t *, p->vCis, pObj, i ) |
#define If_ManForEachCo | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( If_Obj_t *, p->vCos, pObj, i ) |
#define If_ManForEachLatchInput | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStart( If_Obj_t *, p->vCos, pObj, i, If_ManCoNum(p) - p->pPars->nLatchesCo ) |
#define If_ManForEachLatchOutput | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStartStop( If_Obj_t *, p->vCis, pObj, i, If_ManCiNum(p) - p->pPars->nLatchesCi - p->pPars->nLatchesCiBox, If_ManCiNum(p) - p->pPars->nLatchesCiBox ) |
#define If_ManForEachObj | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( If_Obj_t *, p->vObjs, pObj, i ) |
#define If_ManForEachObjReverse | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( If_Obj_t *, p->vObjsRev, pObj, i ) |
#define If_ManForEachPi | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStop( If_Obj_t *, p->vCis, pObj, i, If_ManCiNum(p) - p->pPars->nLatchesCi - p->pPars->nLatchesCiBox ) |
#define If_ManForEachPo | ( | p, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStartStop( If_Obj_t *, p->vCos, pObj, i, p->pPars->nLatchesCoBox, If_ManCoNum(p) - p->pPars->nLatchesCo ) |
#define IF_MAX_LUTSIZE 32 |
INCLUDES ///.
CFile****************************************************************
FileName [if.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [FPGA mapping based on priority cuts.]
Synopsis [External declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - November 21, 2006.]
Revision [
]PARAMETERS ///
#define IF_MIN | ( | a, | |
b | |||
) | (((a) < (b))? (a) : (b)) |
#define If_ObjForEachCut | ( | pObj, | |
pCut, | |||
i | |||
) | for ( i = 0; (i < (pObj)->pCutSet->nCuts) && ((pCut) = (pObj)->pCutSet->ppCuts[i]); i++ ) |
typedef struct If_DsdMan_t_ If_DsdMan_t |
typedef struct If_LibBox_t_ If_LibBox_t |
typedef struct If_LibLut_t_ If_LibLut_t |
typedef struct Ifif_Par_t_ Ifif_Par_t |
typedef struct Ifn_Ntk_t_ Ifn_Ntk_t |
enum If_Type_t |
void Id_DsdManTuneStr | ( | If_DsdMan_t * | p, |
char * | pStruct, | ||
int | nConfls, | ||
int | nProcs, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2519 of file ifDsd.c.
int If_CluCheckExt | ( | void * | p, |
word * | pTruth, | ||
int | nVars, | ||
int | nLutLeaf, | ||
int | nLutRoot, | ||
char * | pLut0, | ||
char * | pLut1, | ||
word * | pFunc0, | ||
word * | pFunc1 | ||
) |
Definition at line 2066 of file ifDec16.c.
int If_CluCheckExt3 | ( | void * | p, |
word * | pTruth, | ||
int | nVars, | ||
int | nLutLeaf, | ||
int | nLutLeaf2, | ||
int | nLutRoot, | ||
char * | pLut0, | ||
char * | pLut1, | ||
char * | pLut2, | ||
word * | pFunc0, | ||
word * | pFunc1, | ||
word * | pFunc2 | ||
) |
Definition at line 2079 of file ifDec16.c.
int If_CutCheck | ( | If_Cut_t * | pCut | ) |
int If_CutComputeTruth | ( | If_Man_t * | p, |
If_Cut_t * | pCut, | ||
If_Cut_t * | pCut0, | ||
If_Cut_t * | pCut1, | ||
int | fCompl0, | ||
int | fCompl1 | ||
) |
Function*************************************************************
Synopsis [Truth table computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 98 of file ifTruth.c.
int If_CutComputeTruthPerm | ( | If_Man_t * | p, |
If_Cut_t * | pCut, | ||
If_Cut_t * | pCut0, | ||
If_Cut_t * | pCut1, | ||
int | fCompl0, | ||
int | fCompl1 | ||
) |
Definition at line 263 of file ifTruth.c.
|
inlinestatic |
|
inlinestatic |
Function*************************************************************
Synopsis [Computes delay.]
Description []
SideEffects []
SeeAlso []
Definition at line 91 of file ifTime.c.
Definition at line 2103 of file ifDec16.c.
Definition at line 64 of file ifDelay.c.
Definition at line 2288 of file ifDsd.c.
Definition at line 2152 of file ifDsd.c.
Definition at line 426 of file if.h.
Function*************************************************************
Synopsis [Returns 1 if the cut is contained.]
Description []
SideEffects []
SeeAlso []
Definition at line 146 of file ifCut.c.
|
inlinestatic |
void If_CutLift | ( | If_Cut_t * | pCut | ) |
Function*************************************************************
Synopsis [Evaluate delay using SOP balancing.]
Description []
SideEffects []
SeeAlso []
Definition at line 369 of file ifDelay.c.
|
inlinestatic |
void If_CutOrder | ( | If_Cut_t * | pCut | ) |
int If_CutPerformCheck07 | ( | If_Man_t * | p, |
unsigned * | pTruth, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
Function*************************************************************
Synopsis [Performs additional check.]
Description []
SideEffects []
SeeAlso []
int If_CutPerformCheck08 | ( | If_Man_t * | p, |
unsigned * | pTruth, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
int If_CutPerformCheck10 | ( | If_Man_t * | p, |
unsigned * | pTruth, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
int If_CutPerformCheck16 | ( | If_Man_t * | p, |
unsigned * | pTruth0, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
Function*************************************************************
Synopsis [Performs additional check.]
Description []
SideEffects []
SeeAlso []
Definition at line 2216 of file ifDec16.c.
int If_CutPerformCheck45 | ( | If_Man_t * | p, |
unsigned * | pTruth, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
Definition at line 1865 of file ifDec16.c.
int If_CutPerformCheck54 | ( | If_Man_t * | p, |
unsigned * | pTruth, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
Definition at line 1886 of file ifDec16.c.
int If_CutPerformCheck75 | ( | If_Man_t * | p, |
unsigned * | pTruth0, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
Function*************************************************************
Synopsis [Performs additional check.]
Description []
SideEffects []
SeeAlso []
Definition at line 303 of file ifDec75.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Computes area of the first level.]
Description [The cut need to be derefed.]
SideEffects []
SeeAlso []
Definition at line 1234 of file ifCut.c.
Function*************************************************************
Synopsis [Computes Power of the first level.]
Description [The cut need to be derefed.]
SideEffects []
SeeAlso []
Definition at line 1290 of file ifCut.c.
Function*************************************************************
Synopsis [Computes area of the first level.]
Description [The cut need to be derefed.]
SideEffects []
SeeAlso []
Definition at line 1262 of file ifCut.c.
Function*************************************************************
Synopsis [Computes area of the first level.]
Description [The cut need to be derefed.]
SideEffects []
SeeAlso []
Definition at line 1313 of file ifCut.c.
void If_CutPrint | ( | If_Cut_t * | pCut | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 170 of file ifTime.c.
Definition at line 67 of file ifTruth.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 248 of file ifDelay.c.
int If_CutSopBalanceEvalInt | ( | Vec_Int_t * | vCover, |
int * | pTimes, | ||
int * | pFaninLits, | ||
Vec_Int_t * | vAig, | ||
int * | piRes, | ||
int | nSuppAll, | ||
int * | pArea | ||
) |
Function*************************************************************
Synopsis [Evaluate delay using SOP balancing.]
Description []
SideEffects []
SeeAlso []
Definition at line 192 of file ifDelay.c.
Definition at line 159 of file ifDelay.c.
int If_CutSopBalancePinDelaysInt | ( | Vec_Int_t * | vCover, |
int * | pTimes, | ||
word * | pFaninRes, | ||
int | nSuppAll, | ||
word * | pRes | ||
) |
Function*************************************************************
Synopsis [Compute pin delays.]
Description []
SideEffects []
SeeAlso []
Definition at line 120 of file ifDelay.c.
Function*************************************************************
Synopsis [Performs incremental sorting of cuts.]
Description [Currently only the trivial sorting is implemented.]
SideEffects []
SeeAlso []
Definition at line 738 of file ifCut.c.
Definition at line 565 of file ifUtil.c.
Definition at line 421 of file if.h.
|
inlinestatic |
Definition at line 419 of file if.h.
int If_CutVerifyCuts | ( | If_Set_t * | pCutSet, |
int | fOrdered | ||
) |
Definition at line 62 of file ifCut.c.
If_DsdMan_t* If_DsdManAlloc | ( | int | nVars, |
int | nLutSize | ||
) |
Definition at line 248 of file ifDsd.c.
void If_DsdManAllocIsops | ( | If_DsdMan_t * | p, |
int | nLutSize | ||
) |
Definition at line 289 of file ifDsd.c.
int If_DsdManCheckDec | ( | If_DsdMan_t * | p, |
int | iDsd | ||
) |
unsigned If_DsdManCheckXY | ( | If_DsdMan_t * | p, |
int | iDsd, | ||
int | LutSize, | ||
int | fDerive, | ||
unsigned | uMaskNot, | ||
int | fHighEffort, | ||
int | fVerbose | ||
) |
Definition at line 1986 of file ifDsd.c.
void If_DsdManCleanMarks | ( | If_DsdMan_t * | p, |
int | fVerbose | ||
) |
Definition at line 1224 of file ifDsd.c.
void If_DsdManCleanOccur | ( | If_DsdMan_t * | p, |
int | fVerbose | ||
) |
Definition at line 1217 of file ifDsd.c.
int If_DsdManCompute | ( | If_DsdMan_t * | p, |
word * | pTruth, | ||
int | nLeaves, | ||
unsigned char * | pPerm, | ||
char * | pLutStruct | ||
) |
Function*************************************************************
Synopsis [Add the function to the DSD manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 2032 of file ifDsd.c.
char* If_DsdManFileName | ( | If_DsdMan_t * | p | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
If_DsdMan_t* If_DsdManFilter | ( | If_DsdMan_t * | p, |
int | Limit | ||
) |
Definition at line 1263 of file ifDsd.c.
void If_DsdManFree | ( | If_DsdMan_t * | p, |
int | fVerbose | ||
) |
Definition at line 316 of file ifDsd.c.
char* If_DsdManGetCellStr | ( | If_DsdMan_t * | p | ) |
word If_DsdManGetFuncPerm | ( | If_DsdMan_t * | p, |
int | iDsd | ||
) |
void If_DsdManInvertMarks | ( | If_DsdMan_t * | p, |
int | fVerbose | ||
) |
Definition at line 1233 of file ifDsd.c.
If_DsdMan_t* If_DsdManLoad | ( | char * | pFileName | ) |
Definition at line 1086 of file ifDsd.c.
int If_DsdManLutSize | ( | If_DsdMan_t * | p | ) |
void If_DsdManMerge | ( | If_DsdMan_t * | p, |
If_DsdMan_t * | pNew | ||
) |
Definition at line 1177 of file ifDsd.c.
int If_DsdManObjNum | ( | If_DsdMan_t * | p | ) |
void If_DsdManPrint | ( | If_DsdMan_t * | p, |
char * | pFileName, | ||
int | Number, | ||
int | Support, | ||
int | fOccurs, | ||
int | fTtDump, | ||
int | fVerbose | ||
) |
Definition at line 684 of file ifDsd.c.
int If_DsdManReadMark | ( | If_DsdMan_t * | p, |
int | iDsd | ||
) |
void If_DsdManSave | ( | If_DsdMan_t * | p, |
char * | pFileName | ||
) |
Function*************************************************************
Synopsis [Saving/loading DSD manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 1032 of file ifDsd.c.
void If_DsdManSetLutSize | ( | If_DsdMan_t * | p, |
int | nLutSize | ||
) |
void If_DsdManSetNewAsUseless | ( | If_DsdMan_t * | p | ) |
int If_DsdManSuppSize | ( | If_DsdMan_t * | p, |
int | iDsd | ||
) |
void If_DsdManTune | ( | If_DsdMan_t * | p, |
int | LutSize, | ||
int | fFast, | ||
int | fAdd, | ||
int | fSpec, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2377 of file ifDsd.c.
int If_DsdManVarNum | ( | If_DsdMan_t * | p | ) |
|
inlinestatic |
void If_LibBoxAdd | ( | If_LibBox_t * | p, |
If_Box_t * | pBox | ||
) |
Definition at line 136 of file ifLibBox.c.
If_Box_t* If_LibBoxFindBox | ( | If_LibBox_t * | p, |
char * | pName | ||
) |
Definition at line 125 of file ifLibBox.c.
void If_LibBoxFree | ( | If_LibBox_t * | p | ) |
Definition at line 98 of file ifLibBox.c.
int If_LibBoxLoad | ( | char * | pFileName | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 375 of file ifLibBox.c.
void If_LibBoxPrint | ( | FILE * | pFile, |
If_LibBox_t * | p | ||
) |
Definition at line 334 of file ifLibBox.c.
If_LibBox_t* If_LibBoxRead | ( | char * | pFileName | ) |
Definition at line 273 of file ifLibBox.c.
If_LibBox_t* If_LibBoxRead2 | ( | char * | pFileName | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 155 of file ifLibBox.c.
If_Box_t* If_LibBoxReadBox | ( | If_LibBox_t * | p, |
int | Id | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 121 of file ifLibBox.c.
If_LibBox_t* If_LibBoxStart | ( | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 86 of file ifLibBox.c.
void If_LibBoxWrite | ( | char * | pFileName, |
If_LibBox_t * | p | ||
) |
Definition at line 351 of file ifLibBox.c.
int If_LibLutDelaysAreDifferent | ( | If_LibLut_t * | pLutLib | ) |
Function*************************************************************
Synopsis [Returns 1 if the delays are discrete.]
Description []
SideEffects []
SeeAlso []
Definition at line 248 of file ifLibLut.c.
int If_LibLutDelaysAreDiscrete | ( | If_LibLut_t * | pLutLib | ) |
Function*************************************************************
Synopsis [Returns 1 if the delays are discrete.]
Description []
SideEffects []
SeeAlso []
Definition at line 224 of file ifLibLut.c.
If_LibLut_t* If_LibLutDup | ( | If_LibLut_t * | p | ) |
Function*************************************************************
Synopsis [Duplicates the LUT library.]
Description []
SideEffects []
SeeAlso []
Definition at line 153 of file ifLibLut.c.
float If_LibLutFastestPinDelay | ( | If_LibLut_t * | p | ) |
Function*************************************************************
Synopsis [Gets the delay of the fastest pin.]
Description []
SideEffects []
SeeAlso []
Definition at line 319 of file ifLibLut.c.
void If_LibLutFree | ( | If_LibLut_t * | pLutLib | ) |
Function*************************************************************
Synopsis [Frees the LUT library.]
Description []
SideEffects []
SeeAlso []
Definition at line 173 of file ifLibLut.c.
void If_LibLutPrint | ( | If_LibLut_t * | pLutLib | ) |
Function*************************************************************
Synopsis [Prints the LUT library.]
Description []
SideEffects []
SeeAlso []
Definition at line 193 of file ifLibLut.c.
If_LibLut_t* If_LibLutRead | ( | char * | FileName | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Reads the description of LUTs from the LUT library file.]
Description []
SideEffects []
SeeAlso []
Definition at line 47 of file ifLibLut.c.
If_LibLut_t* If_LibLutSetSimple | ( | int | nLutSize | ) |
Function*************************************************************
Synopsis [Sets simple LUT library.]
Description []
SideEffects []
SeeAlso []
Definition at line 279 of file ifLibLut.c.
float If_LibLutSlowestPinDelay | ( | If_LibLut_t * | p | ) |
Function*************************************************************
Synopsis [Gets the delay of the slowest pin.]
Description []
SideEffects []
SeeAlso []
Definition at line 335 of file ifLibLut.c.
|
inlinestatic |
|
inlinestatic |
void If_ManCleanCutData | ( | If_Man_t * | p | ) |
void If_ManCleanMarkV | ( | If_Man_t * | p | ) |
void If_ManCleanNodeCopy | ( | If_Man_t * | p | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [ifUtil.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [FPGA mapping based on priority cuts.]
Synopsis [Various utilities.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - November 21, 2006.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Sets all the node copy to NULL.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file ifUtil.c.
Function*************************************************************
Synopsis [Collects nodes used in the mapping in the topological order.]
Description []
SideEffects []
SeeAlso []
Definition at line 462 of file ifUtil.c.
Function*************************************************************
Synopsis [Collects nodes used in the mapping in the topological order.]
Description [Represents mapping as an array of integers.]
SideEffects []
SeeAlso []
Definition at line 486 of file ifUtil.c.
void If_ManComputeRequired | ( | If_Man_t * | p | ) |
Function*************************************************************
Synopsis [Computes the required times of all nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 294 of file ifTime.c.
void If_ManComputeSwitching | ( | If_Man_t * | pIfMan | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Interface with the FPGA mapping package.]
Description []
SideEffects []
SeeAlso []
Definition at line 58 of file abcIf.c.
|
inlinestatic |
int If_ManCountSpecialPos | ( | If_Man_t * | p | ) |
Function*************************************************************
Synopsis [Create the new node assuming it does not exist.]
Description []
SideEffects []
SeeAlso []
Definition at line 366 of file ifMan.c.
Function*************************************************************
Synopsis [Creates primary input.]
Description []
SideEffects []
SeeAlso []
Definition at line 316 of file ifMan.c.
Function*************************************************************
Synopsis [Creates primary output with the given driver.]
Description []
SideEffects []
SeeAlso []
Definition at line 338 of file ifMan.c.
Function*************************************************************
Synopsis [Create the new node assuming it does not exist.]
Description []
SideEffects []
SeeAlso []
Definition at line 423 of file ifMan.c.
Function*************************************************************
Synopsis [Create the new node assuming it does not exist.]
Description []
SideEffects []
SeeAlso []
Definition at line 404 of file ifMan.c.
int If_ManCrossCut | ( | If_Man_t * | p | ) |
float If_ManDelayMax | ( | If_Man_t * | p, |
int | fSeq | ||
) |
Function*************************************************************
Synopsis [Returns the max delay of the POs.]
Description []
SideEffects []
SeeAlso []
Definition at line 250 of file ifTime.c.
Function*************************************************************
Synopsis [Dereferences cutset of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 645 of file ifMan.c.
Function*************************************************************
Synopsis [Dereferences cutset of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 602 of file ifMan.c.
void If_ManImproveMapping | ( | If_Man_t * | p | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Improves current mapping using expand/Expand of one cut.]
Description [Assumes current mapping assigned and required times computed.]
SideEffects []
SeeAlso []
Definition at line 51 of file ifReduce.c.
void If_ManMarkMapping | ( | If_Man_t * | p | ) |
Function*************************************************************
Synopsis [Computes area, references, and nodes used in the mapping.]
Description []
SideEffects []
SeeAlso []
Definition at line 434 of file ifUtil.c.
int If_ManPerformMapping | ( | If_Man_t * | p | ) |
int If_ManPerformMappingComb | ( | If_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 104 of file ifCore.c.
int If_ManPerformMappingRound | ( | If_Man_t * | p, |
int | nCutsUsed, | ||
int | Mode, | ||
int | fPreprocess, | ||
int | fFirst, | ||
char * | pLabel | ||
) |
Function*************************************************************
Synopsis [Performs one mapping pass over all nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 491 of file ifMap.c.
int If_ManPerformMappingSeq | ( | If_Man_t * | p | ) |
Function*************************************************************
Synopsis [Performs sequential mapping.]
Description []
SideEffects []
SeeAlso []
Definition at line 334 of file ifSeq.c.
void If_ManResetOriginalRefs | ( | If_Man_t * | p | ) |
void If_ManRestart | ( | If_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 178 of file ifMan.c.
Function*************************************************************
Synopsis [Computes the reverse topological order of nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 363 of file ifUtil.c.
void* If_ManSatBuildFromCell | ( | char * | pStr, |
Vec_Int_t ** | pvPiVars, | ||
Vec_Int_t ** | pvPoVars, | ||
Ifn_Ntk_t ** | ppNtk | ||
) |
Definition at line 622 of file ifTune.c.
void* If_ManSatBuildXY | ( | int | nLutSize | ) |
DECLARATIONS ///.
CFile****************************************************************
FileName [ifSat.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [FPGA mapping based on priority cuts.]
Synopsis [SAT-based evaluation.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - November 21, 2006.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Builds SAT instance for the given structure.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file ifSat.c.
void* If_ManSatBuildXYZ | ( | int | nLutSize | ) |
Definition at line 63 of file ifSat.c.
int If_ManSatCheckXY | ( | void * | pSat, |
int | nLutSize, | ||
word * | pTruth, | ||
int | nVars, | ||
unsigned | uSet, | ||
word * | pTBound, | ||
word * | pTFree, | ||
Vec_Int_t * | vLits | ||
) |
Function*************************************************************
Synopsis [Returns config string for the given truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 150 of file ifSat.c.
unsigned If_ManSatCheckXYall | ( | void * | pSat, |
int | nLutSize, | ||
word * | pTruth, | ||
int | nVars, | ||
Vec_Int_t * | vLits | ||
) |
Definition at line 476 of file ifSat.c.
int If_ManSatDeriveGiaFromBits | ( | void * | pGia, |
Ifn_Ntk_t * | p, | ||
Vec_Int_t * | vValues, | ||
Vec_Int_t * | vCover | ||
) |
Function*************************************************************
Synopsis [Derive GIA using programmable bits.]
Description []
SideEffects []
SeeAlso []
Definition at line 731 of file ifTune.c.
int If_ManSatFindCofigBits | ( | void * | pSat, |
Vec_Int_t * | vPiVars, | ||
Vec_Int_t * | vPoVars, | ||
word * | pTruth, | ||
int | nVars, | ||
word | Perm, | ||
int | nInps, | ||
Vec_Int_t * | vValues | ||
) |
Definition at line 687 of file ifTune.c.
void If_ManSatUnbuild | ( | void * | p | ) |
Definition at line 85 of file ifSat.c.
float If_ManScanMapping | ( | If_Man_t * | p | ) |
float If_ManScanMappingDirect | ( | If_Man_t * | p | ) |
float If_ManScanMappingSeq | ( | If_Man_t * | p | ) |
void If_ManSetDefaultPars | ( | If_Par_t * | pPars | ) |
void If_ManSetupCiCutSets | ( | If_Man_t * | p | ) |
Function*************************************************************
Synopsis [Prepares memory for one cut.]
Description []
SideEffects []
SeeAlso []
Definition at line 548 of file ifMan.c.
void If_ManSetupSetAll | ( | If_Man_t * | p, |
int | nCrossCut | ||
) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Starts the AIG manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 50 of file ifMan.c.
void If_ManStop | ( | If_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 205 of file ifMan.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 403 of file if.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void If_ObjPerformMappingAnd | ( | If_Man_t * | p, |
If_Obj_t * | pObj, | ||
int | Mode, | ||
int | fPreprocess, | ||
int | fFirst | ||
) |
Function*************************************************************
Synopsis [Finds the best cut for the given node.]
Description [Mapping modes: delay (0), area flow (1), area (2).]
SideEffects []
SeeAlso []
Definition at line 95 of file ifMap.c.
Function*************************************************************
Synopsis [Finds the best cut for the choice node.]
Description []
SideEffects []
SeeAlso []
Definition at line 407 of file ifMap.c.
void If_ObjPrint | ( | If_Obj_t * | pObj | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int Ifn_NtkInputNum | ( | Ifn_Ntk_t * | p | ) |
int Ifn_NtkLutSizeMax | ( | Ifn_Ntk_t * | p | ) |
Definition at line 159 of file ifTune.c.
int Ifn_NtkMatch | ( | Ifn_Ntk_t * | p, |
word * | pTruth, | ||
int | nVars, | ||
int | nConfls, | ||
int | fVerbose, | ||
int | fVeryVerbose, | ||
word * | pPerm | ||
) |
Definition at line 1207 of file ifTune.c.
Ifn_Ntk_t* Ifn_NtkParse | ( | char * | pStr | ) |
Definition at line 439 of file ifTune.c.