196 for ( i = 0; i < nInputs; i++ )
309 if ( pNode->
Num >= 0 )
316 #ifdef FPGA_ALLOCATE_FANOUT
388 pEnt = p1, p1 = p2, p2 = pEnt;
391 for ( pEnt = pMan->
pBins[Key]; pEnt; pEnt = pEnt->
pNext )
392 if ( pEnt->
p1 == p1 && pEnt->
p2 == p2 )
404 pMan->
pBins[Key] = pEnt;
436 for ( i = 0; i < pMan->
nBins; i++ )
437 for ( pEnt = pMan->
pBins[i], pEnt2 = pEnt? pEnt->
pNext: NULL; pEnt;
438 pEnt = pEnt2, pEnt2 = pEnt? pEnt->
pNext: NULL )
441 pEnt->
pNext = pBinsNew[Key];
442 pBinsNew[Key] = pEnt;
453 pMan->
pBins = pBinsNew;
454 pMan->
nBins = nBinsNew;
547 pNodeOld->
pNextE = pNodeNew;
548 pNodeNew->
pRepr = pNodeOld;
567 pTable = fopen(
"stats.txt",
"a+" );
571 fprintf( pTable,
"%4d ", p->
nLatches );
Fpga_Node_t * Fpga_NodeReadData1(Fpga_Node_t *p)
void Fpga_NodeSetNextE(Fpga_Node_t *p, Fpga_Node_t *pNextE)
Fpga_Node_t ** Fpga_CutReadLeaves(Fpga_Cut_t *p)
static int Abc_PrimeCudd(unsigned int p)
float * Fpga_ManReadInputArrivals(Fpga_Man_t *p)
Fpga_Node_t ** Fpga_ManReadInputs(Fpga_Man_t *p)
Fpga_Cut_t * Fpga_NodeReadCutBest(Fpga_Node_t *p)
static Fpga_Node_t * Fpga_TableLookup(Fpga_Man_t *p, Fpga_Node_t *p1, Fpga_Node_t *p2)
void Fpga_ManSetSwitching(Fpga_Man_t *p, int fSwitching)
int Fpga_ManReadOutputNum(Fpga_Man_t *p)
void Fpga_ManSetName(Fpga_Man_t *p, char *pFileName)
void Fpga_ManSetChoiceNum(Fpga_Man_t *p, int nChoices)
char * Fpga_NodeReadData0(Fpga_Node_t *p)
int Fpga_CutReadLeavesNum(Fpga_Cut_t *p)
int Fpga_ManReadInputNum(Fpga_Man_t *p)
FUNCTION DEFINITIONS ///.
static void Fpga_TableResize(Fpga_Man_t *p)
int Fpga_NodeReadNum(Fpga_Node_t *p)
void Fpga_ManSetAreaRecovery(Fpga_Man_t *p, int fAreaRecovery)
Fpga_Node_t * Fpga_NodeCreate(Fpga_Man_t *p, Fpga_Node_t *p1, Fpga_Node_t *p2)
int Fpga_NodeIsAnd(Fpga_Node_t *p)
Fpga_Node_t * Fpga_NodeReadOne(Fpga_Node_t *p)
void Fpga_ManSetDelayTarget(Fpga_Man_t *p, float DelayTarget)
Fpga_Node_t * Fpga_ManReadConst1(Fpga_Man_t *p)
Fpga_NodeVec_t * vMapping
#define ABC_ALLOC(type, num)
void Fpga_ManSetDelayLimit(Fpga_Man_t *p, float DelayLimit)
float pLutAreas[FPGA_MAX_LUTSIZE+1]
void Fpga_NodeSetChoice(Fpga_Man_t *pMan, Fpga_Node_t *pNodeOld, Fpga_Node_t *pNodeNew)
int Fpga_CutCountAll(Fpga_Man_t *pMan)
Fpga_Node_t * ppLeaves[FPGA_MAX_LEAVES+1]
void Fpga_NodeAddFaninFanout(Fpga_Node_t *pFanin, Fpga_Node_t *pFanout)
void Fpga_ManSetVerbose(Fpga_Man_t *p, int fVerbose)
void Fpga_ManSetChoiceNodeNum(Fpga_Man_t *p, int nChoiceNodes)
void Fpga_NodeSetSwitching(Fpga_Node_t *p, float Switching)
Fpga_Node_t * Fpga_NodeOr(Fpga_Man_t *p, Fpga_Node_t *p1, Fpga_Node_t *p2)
Fpga_Cut_t * Fpga_NodeReadCuts(Fpga_Node_t *p)
void Fpga_NodeSetData0(Fpga_Node_t *p, char *pData)
Fpga_NodeVec_t * vNodesAll
Fpga_NodeVec_t * Fpga_NodeVecAlloc(int nCap)
FUNCTION DEFINITIONS ///.
void Fpga_NodeVecFree(Fpga_NodeVec_t *p)
int Fpga_NodeReadRefs(Fpga_Node_t *p)
Fpga_Node_t * Fpga_NodeExor(Fpga_Man_t *p, Fpga_Node_t *p1, Fpga_Node_t *p2)
int Fpga_NodeIsConst(Fpga_Node_t *p)
void Fpga_ManSetLatchNum(Fpga_Man_t *p, int nLatches)
#define ABC_NAMESPACE_IMPL_END
int Fpga_ManReadVerbose(Fpga_Man_t *p)
Fpga_Node_t * Fpga_NodeMux(Fpga_Man_t *p, Fpga_Node_t *pC, Fpga_Node_t *pT, Fpga_Node_t *pE)
void Fpga_NodeSetRepr(Fpga_Node_t *p, Fpga_Node_t *pRepr)
void Fpga_ManFree(Fpga_Man_t *p)
static unsigned Fpga_HashKey2(Fpga_Node_t *p0, Fpga_Node_t *p1, int TableSize)
Fpga_Node_t * Fpga_NodeReadTwo(Fpga_Node_t *p)
#define ABC_NAMESPACE_IMPL_START
int Fpga_ManReadVarMax(Fpga_Man_t *p)
void Fpga_ManSetInputArrivals(Fpga_Man_t *p, float *pArrivals)
int Fpga_NodeIsVar(Fpga_Node_t *p)
Extra_MmFixed_t * mmNodes
STRUCTURE DEFINITIONS ///.
void Fpga_ManSetAreaLimit(Fpga_Man_t *p, float AreaLimit)
void Fpga_NodeSetData1(Fpga_Node_t *p, Fpga_Node_t *pNode)
#define Fpga_NodeIsSimComplement(p)
void Fpga_ManStats(Fpga_Man_t *p)
static ABC_NAMESPACE_IMPL_START void Fpga_TableCreate(Fpga_Man_t *p)
DECLARATIONS ///.
int Fpga_NodeReadLevel(Fpga_Node_t *p)
void Fpga_ManPrintTimeStats(Fpga_Man_t *p)
Fpga_Node_t * Fpga_NodeAnd(Fpga_Man_t *p, Fpga_Node_t *p1, Fpga_Node_t *p2)
#define FPGA_NUM_BYTES(n)
void Fpga_ManSetLatchPaths(Fpga_Man_t *p, int fLatchPaths)
int Fpga_LibReadLutMax(Fpga_LutLib_t *pLib)
Fpga_Man_t * Fpga_ManCreate(int nInputs, int nOutputs, int fVerbose)
FUNCTION DEFINITIONS ///.
Fpga_NodeVec_t * Fpga_ManReadMapping(Fpga_Man_t *p)
void Fpga_ManSetOutputNames(Fpga_Man_t *p, char **ppNames)
float * Fpga_ManReadLutAreas(Fpga_Man_t *p)
Fpga_Node_t ** Fpga_ManReadOutputs(Fpga_Man_t *p)
ABC_DLL void * Abc_FrameReadLibLut()
#define Fpga_IsComplement(p)
GLOBAL VARIABLES ///.
int Fpga_NodeComparePhase(Fpga_Node_t *p1, Fpga_Node_t *p2)
void Fpga_NodeVecPush(Fpga_NodeVec_t *p, Fpga_Node_t *Entry)