From a8faa2b55ced8321944ad9ed3c9e5204a4ab4d9c Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 29 Sep 2018 08:26:48 -0700 Subject: Adding switch to 'write_pla' to write random onset minterms of the first PO function (bug fix). --- src/base/io/ioWritePla.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/base/io/ioWritePla.c b/src/base/io/ioWritePla.c index d9d3f76c..8aa9ee19 100644 --- a/src/base/io/ioWritePla.c +++ b/src/base/io/ioWritePla.c @@ -523,8 +523,14 @@ int Io_WriteMoPlaOneM( FILE * pFile, Abc_Ntk_t * pNtk, int nMints ) Abc_NtkForEachCo( pNtk, pObj, i ) Vec_PtrPush( vFuncsGlob, Abc_ObjGlobalBdd(pObj) ); - // consider minterms - Io_WriteMoPlaOneIntMintermsM( pFile, pNtk, dd, (DdNode *)Vec_PtrEntry(vFuncsGlob, 0), nMints ); + // get the output function + bFunc = (DdNode *)Vec_PtrEntry(vFuncsGlob, 0); + if ( bFunc == Cudd_ReadOne(dd) ) + printf( "First primary output has constant 1 function.\n" ); + else if ( Cudd_Not(bFunc) == Cudd_ReadOne(dd) ) + printf( "First primary output has constant 0 function.\n" ); + else + Io_WriteMoPlaOneIntMintermsM( pFile, pNtk, dd, bFunc, nMints ); Abc_NtkFreeGlobalBdds( pNtk, 0 ); // cleanup -- cgit v1.2.3