From f3ae349cf2c2e1df6d4a4a7b720b4691f5948516 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 5 Mar 2025 17:46:39 -0800 Subject: [PATCH] Bug fixing in "stockmap". --- src/base/abc/abc.h | 1 + src/base/abc/abcDfs.c | 8 +++++ src/base/abci/abc.c | 14 ++++---- src/base/abci/abcPart.c | 80 ++++++++++++++++++++++++++++++----------- 4 files changed, 76 insertions(+), 27 deletions(-) diff --git a/src/base/abc/abc.h b/src/base/abc/abc.h index 73d218438..ada1f499f 100644 --- a/src/base/abc/abc.h +++ b/src/base/abc/abc.h @@ -640,6 +640,7 @@ extern ABC_DLL Vec_Ptr_t * Abc_AigDfsMap( Abc_Ntk_t * pNtk ); extern ABC_DLL Vec_Vec_t * Abc_DfsLevelized( Abc_Obj_t * pNode, int fTfi ); extern ABC_DLL Vec_Vec_t * Abc_NtkLevelize( Abc_Ntk_t * pNtk ); extern ABC_DLL int Abc_NtkLevel( Abc_Ntk_t * pNtk ); +extern ABC_DLL int Abc_NtkLevelR( Abc_Ntk_t * pNtk ); extern ABC_DLL int Abc_NtkLevelReverse( Abc_Ntk_t * pNtk ); extern ABC_DLL int Abc_NtkIsAcyclic( Abc_Ntk_t * pNtk ); extern ABC_DLL int Abc_NtkIsAcyclicWithBoxes( Abc_Ntk_t * pNtk ); diff --git a/src/base/abc/abcDfs.c b/src/base/abc/abcDfs.c index a1345db8c..68c005a5e 100644 --- a/src/base/abc/abcDfs.c +++ b/src/base/abc/abcDfs.c @@ -1514,6 +1514,14 @@ int Abc_NtkLevelReverse( Abc_Ntk_t * pNtk ) } return LevelsMax; } +int Abc_NtkLevelR( Abc_Ntk_t * pNtk ) +{ + int i, LevelMax = Abc_NtkLevelReverse( pNtk ); + Abc_Obj_t * pNode; + Abc_NtkForEachObj( pNtk, pNode, i ) + pNode->Level = (int)(LevelMax - pNode->Level + 1); + return LevelMax; +} /**Function************************************************************* diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index 04b70102a..05c048174 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -19959,7 +19959,7 @@ int Abc_CommandStochMap( Abc_Frame_t * pAbc, int argc, char ** argv ) { Abc_Ntk_t * pNtk = Abc_FrameReadNtk(pAbc); extern void Abc_NtkStochMap( int nSuppMax, int nIters, int TimeOut, int Seed, int fVerbose, char * pScript, int nProcs ); - int c, nMaxSize = 10000, nIters = 1, TimeOut = 0, Seed = 0, nProcs = 1, fVerbose = 0; char * pScript; + int c, nMaxSize = 14, nIters = 1, TimeOut = 0, Seed = 0, nProcs = 1, fVerbose = 0; char * pScript; Extra_UtilGetoptReset(); while ( ( c = Extra_UtilGetopt( argc, argv, "NITSPvh" ) ) != EOF ) { @@ -20052,8 +20052,8 @@ int Abc_CommandStochMap( Abc_Frame_t * pAbc, int argc, char ** argv ) usage: Abc_Print( -2, "usage: stochmap [-NITSP ] [-tvh]