From 6a351c4dc0d4da86d2a82efdecd09021a2e6280f Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Mon, 5 Dec 2016 17:45:15 -0800 Subject: Adding support for minimalistic representation of LUT mapping. --- src/base/abci/abc.c | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'src/base/abci') diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index 1fdffd77..9f04926d 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -12074,8 +12074,6 @@ int Abc_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv ) { // extern void Cba_PrsReadBlifTest(); // Cba_PrsReadBlifTest(); - extern void Sfm_TimTest( Abc_Ntk_t * pNtk ); - Sfm_TimTest( pNtk ); } return 0; usage: @@ -26998,12 +26996,13 @@ int Abc_CommandAbc9Read( Abc_Frame_t * pAbc, int argc, char ** argv ) char ** pArgvNew; char * FileName, * pTemp; int c, nArgcNew; - int fUseMini = 0; + int fMiniAig = 0; + int fMiniLut = 0; int fVerbose = 0; int fGiaSimple = 0; int fSkipStrash = 0; Extra_UtilGetoptReset(); - while ( ( c = Extra_UtilGetopt( argc, argv, "csmvh" ) ) != EOF ) + while ( ( c = Extra_UtilGetopt( argc, argv, "csmlvh" ) ) != EOF ) { switch ( c ) { @@ -27014,7 +27013,10 @@ int Abc_CommandAbc9Read( Abc_Frame_t * pAbc, int argc, char ** argv ) fSkipStrash ^= 1; break; case 'm': - fUseMini ^= 1; + fMiniAig ^= 1; + break; + case 'l': + fMiniLut ^= 1; break; case 'v': fVerbose ^= 1; @@ -27047,8 +27049,10 @@ int Abc_CommandAbc9Read( Abc_Frame_t * pAbc, int argc, char ** argv ) } fclose( pFile ); - if ( fUseMini ) + if ( fMiniAig ) pAig = Gia_ManReadMiniAig( FileName ); + else if ( fMiniLut ) + pAig = Gia_ManReadMiniLut( FileName ); // else if ( Extra_FileIsType( FileName, ".v", NULL, NULL ) ) // Abc3_ReadShowHie( FileName, fSkipStrash ); else @@ -27058,11 +27062,12 @@ int Abc_CommandAbc9Read( Abc_Frame_t * pAbc, int argc, char ** argv ) return 0; usage: - Abc_Print( -2, "usage: &r [-csmvh] \n" ); + Abc_Print( -2, "usage: &r [-csmlvh] \n" ); Abc_Print( -2, "\t reads the current AIG from the AIGER file\n" ); Abc_Print( -2, "\t-c : toggles reading simple AIG [default = %s]\n", fGiaSimple? "yes": "no" ); Abc_Print( -2, "\t-s : toggles structural hashing while reading [default = %s]\n", !fSkipStrash? "yes": "no" ); - Abc_Print( -2, "\t-m : toggles reading MiniAIG rather than AIGER file [default = %s]\n", fUseMini? "yes": "no" ); + Abc_Print( -2, "\t-m : toggles reading MiniAIG rather than AIGER file [default = %s]\n", fMiniAig? "yes": "no" ); + Abc_Print( -2, "\t-l : toggles reading MiniLUT rather than AIGER file [default = %s]\n", fMiniLut? "yes": "no" ); Abc_Print( -2, "\t-v : toggles additional verbose output [default = %s]\n", fVerbose? "yes": "no" ); Abc_Print( -2, "\t-h : print the command usage\n"); Abc_Print( -2, "\t : the file name\n"); @@ -27843,9 +27848,10 @@ int Abc_CommandAbc9Write( Abc_Frame_t * pAbc, int argc, char ** argv ) int c, nArgcNew; int fUnique = 0; int fMiniAig = 0; + int fMiniLut = 0; int fVerbose = 0; Extra_UtilGetoptReset(); - while ( ( c = Extra_UtilGetopt( argc, argv, "umvh" ) ) != EOF ) + while ( ( c = Extra_UtilGetopt( argc, argv, "umlvh" ) ) != EOF ) { switch ( c ) { @@ -27855,6 +27861,9 @@ int Abc_CommandAbc9Write( Abc_Frame_t * pAbc, int argc, char ** argv ) case 'm': fMiniAig ^= 1; break; + case 'l': + fMiniLut ^= 1; + break; case 'v': fVerbose ^= 1; break; @@ -27885,15 +27894,18 @@ int Abc_CommandAbc9Write( Abc_Frame_t * pAbc, int argc, char ** argv ) } else if ( fMiniAig ) Gia_ManWriteMiniAig( pAbc->pGia, pFileName ); + else if ( fMiniLut ) + Gia_ManWriteMiniLut( pAbc->pGia, pFileName ); else Gia_AigerWrite( pAbc->pGia, pFileName, 0, 0 ); return 0; usage: - Abc_Print( -2, "usage: &w [-umvh] \n" ); + Abc_Print( -2, "usage: &w [-umlvh] \n" ); Abc_Print( -2, "\t writes the current AIG into the AIGER file\n" ); Abc_Print( -2, "\t-u : toggle writing canonical AIG structure [default = %s]\n", fUnique? "yes" : "no" ); Abc_Print( -2, "\t-m : toggle writing MiniAIG rather than AIGER [default = %s]\n", fMiniAig? "yes" : "no" ); + Abc_Print( -2, "\t-l : toggle writing MiniLUT rather than AIGER [default = %s]\n", fMiniLut? "yes" : "no" ); Abc_Print( -2, "\t-v : toggle verbose output [default = %s]\n", fVerbose? "yes": "no" ); Abc_Print( -2, "\t-h : print the command usage\n"); Abc_Print( -2, "\t : the file name\n"); -- cgit v1.2.3