summaryrefslogtreecommitdiffstats
path: root/src/base/abci/abcMfs.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2017-03-26 21:46:09 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2017-03-26 21:46:09 -0700
commit2ccd0f9b85cb42d3e6e894a71cd8e962b2d3bd12 (patch)
tree82c6fdc7c57af683b9d9e89ab248ba8d07d620b0 /src/base/abci/abcMfs.c
parent23151498faa67c0dd7de23d8fedb1a2976f12a88 (diff)
downloadabc-2ccd0f9b85cb42d3e6e894a71cd8e962b2d3bd12.tar.gz
abc-2ccd0f9b85cb42d3e6e894a71cd8e962b2d3bd12.tar.bz2
abc-2ccd0f9b85cb42d3e6e894a71cd8e962b2d3bd12.zip
Experiments with don't-cares.
Diffstat (limited to 'src/base/abci/abcMfs.c')
-rw-r--r--src/base/abci/abcMfs.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/base/abci/abcMfs.c b/src/base/abci/abcMfs.c
index d44ca1a0..5c566074 100644
--- a/src/base/abci/abcMfs.c
+++ b/src/base/abci/abcMfs.c
@@ -216,21 +216,8 @@ void Abc_NtkInsertMfs( Abc_Ntk_t * pNtk, Sfm_Ntk_t * p )
vArray = Sfm_NodeReadFanins( p, pNode->iTemp );
Vec_IntForEachEntry( vArray, Fanin, k )
Abc_ObjAddFanin( pNode, Abc_NtkObj(pNtk, Vec_IntEntry(vMap, Fanin)) );
- // update function
pTruth = Sfm_NodeReadTruth( p, pNode->iTemp );
- if ( pTruth[0] == 0 )
- pNode->pData = Abc_SopRegister( (Mem_Flex_t *)pNtk->pManFunc, " 0\n" );
- else if ( ~pTruth[0] == 0 )
- pNode->pData = Abc_SopRegister( (Mem_Flex_t *)pNtk->pManFunc, " 1\n" );
- else
- {
- int RetValue = Kit_TruthIsop( (unsigned *)pTruth, Vec_IntSize(vArray), vCover, 1 );
- assert( Vec_IntSize(vArray) > 0 );
- assert( RetValue == 0 || RetValue == 1 );
- pNode->pData = Abc_SopCreateFromIsop( (Mem_Flex_t *)pNtk->pManFunc, Vec_IntSize(vArray), vCover );
- if ( RetValue )
- Abc_SopComplement( (char *)pNode->pData );
- }
+ pNode->pData = Abc_SopCreateFromTruthIsop( (Mem_Flex_t *)pNtk->pManFunc, Vec_IntSize(vArray), pTruth, vCover );
assert( Abc_SopGetVarNum((char *)pNode->pData) == Vec_IntSize(vArray) );
}
Vec_IntFree( vCover );