diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2022-02-02 21:37:31 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2022-02-02 21:37:31 -0800 |
commit | a6f8625d64e26087b24f9d86b7e7181a05884fda (patch) | |
tree | 38e3e8ed749195efd318d3f9b537a6d62a7575c4 /src/base/wlc | |
parent | 6097ac1d1aa67732a98caab517a510731fb2f0b1 (diff) | |
download | abc-a6f8625d64e26087b24f9d86b7e7181a05884fda.tar.gz abc-a6f8625d64e26087b24f9d86b7e7181a05884fda.tar.bz2 abc-a6f8625d64e26087b24f9d86b7e7181a05884fda.zip |
Experiments with word-level data structures.
Diffstat (limited to 'src/base/wlc')
-rw-r--r-- | src/base/wlc/wlcCom.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/base/wlc/wlcCom.c b/src/base/wlc/wlcCom.c index d8b8247a..2ea17169 100644 --- a/src/base/wlc/wlcCom.c +++ b/src/base/wlc/wlcCom.c @@ -2130,18 +2130,22 @@ int Abc_CommandSolve( Abc_Frame_t * pAbc, int argc, char ** argv ) extern void Rtl_LibOrderWires( Rtl_Lib_t * pLib ); extern void Rtl_LibOrderCells( Rtl_Lib_t * pLib ); extern void Rtl_LibBlast( Rtl_Lib_t * pLib ); + extern void Rtl_LibBlast2( Rtl_Lib_t * pLib ); extern void Rtl_LibReorderModules( Rtl_Lib_t * pLib ); extern void Rtl_LibSolve( Rtl_Lib_t * pLib ); extern void Rtl_LibPreprocess( Rtl_Lib_t * pLib ); Gia_Man_t * pGia = NULL; Rtl_Lib_t * pLib = Wlc_AbcGetRtl(pAbc); - int c, fPrepro = 0, fVerbose = 0; + int c, fOldBlast = 0, fPrepro = 0, fVerbose = 0; Extra_UtilGetoptReset(); - while ( ( c = Extra_UtilGetopt( argc, argv, "pvh" ) ) != EOF ) + while ( ( c = Extra_UtilGetopt( argc, argv, "opvh" ) ) != EOF ) { switch ( c ) { + case 'o': + fOldBlast ^= 1; + break; case 'p': fPrepro ^= 1; break; @@ -2157,9 +2161,14 @@ int Abc_CommandSolve( Abc_Frame_t * pAbc, int argc, char ** argv ) Rtl_LibPrintStats( pLib ); //Rtl_LibPrint( NULL, pLib ); Rtl_LibOrderWires( pLib ); - Rtl_LibOrderCells( pLib ); - Rtl_LibBlast( pLib ); + if ( fOldBlast ) + { + Rtl_LibOrderCells( pLib ); + Rtl_LibBlast( pLib ); + } + else + Rtl_LibBlast2( pLib ); //Rtl_LibReorderModules( pLib ); //Rtl_LibPrintStats( pLib ); @@ -2172,8 +2181,9 @@ int Abc_CommandSolve( Abc_Frame_t * pAbc, int argc, char ** argv ) Gia_ManStopP( &pGia ); return 0; usage: - Abc_Print( -2, "usage: %%solve [-pvh]\n" ); + Abc_Print( -2, "usage: %%solve [-opvh]\n" ); Abc_Print( -2, "\t experiments with word-level networks\n" ); + Abc_Print( -2, "\t-o : toggle using old bit-blasting procedure [default = %s]\n", fOldBlast? "yes": "no" ); Abc_Print( -2, "\t-p : toggle preprocessing for verification [default = %s]\n", fPrepro? "yes": "no" ); Abc_Print( -2, "\t-v : toggle printing verbose information [default = %s]\n", fVerbose? "yes": "no" ); Abc_Print( -2, "\t-h : print the command usage\n"); |