From 95523936e9028f392b80a95c0eebda3a0c731f33 Mon Sep 17 00:00:00 2001 From: Heinz Riener Date: Wed, 17 Oct 2018 17:02:43 +0200 Subject: &exorcism: read ESOP-PLA from file. --- src/base/abci/abc.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/base/abci') diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index 90ba1bf0..0e527058 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -43176,13 +43176,23 @@ int Abc_CommandAbc9Exorcism( Abc_Frame_t * pAbc, int argc, char ** argv ) if ( pFileNameIn ) { pNtk = Io_ReadPla( pFileNameIn, 0, 0, 0, /* no preprocessing = */1, /* check = */1 ); + if ( pNtk == NULL ) + { + printf( "Reading PLA file has failed.\n" ); + return 1; + } nInputs = Abc_NtkCiNum( pNtk ); nOutputs = Abc_NtkCoNum( pNtk ); vEsop = Abc_ExorcismNtk2Esop( pNtk ); + if ( vEsop == NULL ) + { + printf( "Converting PLA to ESOP failed.\n" ); + return 1; + } } else if ( pAbc->pGia ) { - // generate starting cover and run minimization + // generate starting cover nInputs = Gia_ManCiNum( pAbc->pGia ); nOutputs = Gia_ManCoNum( pAbc->pGia ); Eso_ManCompute( pAbc->pGia, fVerbose, &vEsop ); @@ -43190,6 +43200,7 @@ int Abc_CommandAbc9Exorcism( Abc_Frame_t * pAbc, int argc, char ** argv ) if ( vEsop ) { + // run minimization Abc_ExorcismMain( vEsop, nInputs, nOutputs, pFileNameOut, Quality, Verbosity, nCubesMax, fUseQCost ); Vec_WecFree( vEsop ); } @@ -43204,7 +43215,8 @@ usage: Abc_Print( -2, " 0 = no output; 1 = outline; 2 = verbose\n"); Abc_Print( -2, " -C N : maximum number of cubes in startign cover [default = %d]\n", nCubesMax ); Abc_Print( -2, " -q : toggle using quantum cost [default = %s]\n", fUseQCost? "yes": "no" ); - Abc_Print( -2, " : the output file name in ESOP-PLA format\n"); + Abc_Print( -2, " [file_in] : optional input file in ESOP-PLA format (otherwise current AIG is used)\n"); + Abc_Print( -2, " : output file in ESOP-PLA format\n"); Abc_Print( -2, "\n" ); return 1; } -- cgit v1.2.3