Commit f1bc3468 by Alan Mishchenko

Several bug-fixed related to synthesis, library handling, and timimg info.

parent a84c8174
...@@ -1456,7 +1456,7 @@ int Abc_NtkLevel( Abc_Ntk_t * pNtk ) ...@@ -1456,7 +1456,7 @@ int Abc_NtkLevel( Abc_Ntk_t * pNtk )
pNode->Level = 0; pNode->Level = 0;
else else
Abc_NtkForEachCi( pNtk, pNode, i ) Abc_NtkForEachCi( pNtk, pNode, i )
pNode->Level = (int)(Abc_NodeReadArrivalWorst(pNode) / pNtk->AndGateDelay); pNode->Level = (int)(Abc_MaxFloat(0, Abc_NodeReadArrivalWorst(pNode)) / pNtk->AndGateDelay);
// perform the traversal // perform the traversal
LevelsMax = 0; LevelsMax = 0;
Abc_NtkIncrementTravId( pNtk ); Abc_NtkIncrementTravId( pNtk );
......
...@@ -169,6 +169,8 @@ Dec_Graph_t * Abc_NodeRefactor( Abc_ManRef_t * p, Abc_Obj_t * pNode, Vec_Ptr_t * ...@@ -169,6 +169,8 @@ Dec_Graph_t * Abc_NodeRefactor( Abc_ManRef_t * p, Abc_Obj_t * pNode, Vec_Ptr_t *
clk = Abc_Clock(); clk = Abc_Clock();
pTruth = Abc_NodeConeTruth( p->vVars, p->vFuncs, nWordsMax, pNode, vFanins, p->vVisited ); pTruth = Abc_NodeConeTruth( p->vVars, p->vFuncs, nWordsMax, pNode, vFanins, p->vVisited );
p->timeTru += Abc_Clock() - clk; p->timeTru += Abc_Clock() - clk;
if ( pTruth == NULL )
return NULL;
// always accept the case of constant node // always accept the case of constant node
if ( Abc_NodeConeIsConst0(pTruth, nVars) || Abc_NodeConeIsConst1(pTruth, nVars) ) if ( Abc_NodeConeIsConst0(pTruth, nVars) || Abc_NodeConeIsConst1(pTruth, nVars) )
......
...@@ -75,12 +75,13 @@ char * Mio_SopRegister( Mem_Flex_t * pMan, char * pName ) ...@@ -75,12 +75,13 @@ char * Mio_SopRegister( Mem_Flex_t * pMan, char * pName )
***********************************************************************/ ***********************************************************************/
int Mio_GateCollectNames( char * pFormula, char * pPinNames[] ) int Mio_GateCollectNames( char * pFormula, char * pPinNames[] )
{ {
char Buffer[1000]; char * Buffer;
char * pTemp; char * pTemp;
int nPins, i; int nPins, i;
// save the formula as it was // save the formula as it was
strcpy( Buffer, pFormula ); //strcpy( Buffer, pFormula );
Buffer = Abc_UtilStrsav( pFormula );
// remove the non-name symbols // remove the non-name symbols
for ( pTemp = Buffer; *pTemp; pTemp++ ) for ( pTemp = Buffer; *pTemp; pTemp++ )
...@@ -106,6 +107,7 @@ int Mio_GateCollectNames( char * pFormula, char * pPinNames[] ) ...@@ -106,6 +107,7 @@ int Mio_GateCollectNames( char * pFormula, char * pPinNames[] )
// get the next name // get the next name
pTemp = strtok( NULL, " " ); pTemp = strtok( NULL, " " );
} }
ABC_FREE( Buffer );
return nPins; return nPins;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment