diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2011-08-06 01:31:07 +0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2011-08-06 01:31:07 +0800 |
commit | b9dea5d674f406b78cfb9d1b417b5e81b4550cde (patch) | |
tree | 0b977e2e2bfa895cc68a7b6bfb78967463f87c66 /src/base/abci/abcIf.c | |
parent | fbb12a06f20e40eea8d8aa45982d1f9f1cdb9809 (diff) | |
download | abc-b9dea5d674f406b78cfb9d1b417b5e81b4550cde.tar.gz abc-b9dea5d674f406b78cfb9d1b417b5e81b4550cde.tar.bz2 abc-b9dea5d674f406b78cfb9d1b417b5e81b4550cde.zip |
Other changes to enable new features in the mapper (bug fix).
Diffstat (limited to 'src/base/abci/abcIf.c')
-rw-r--r-- | src/base/abci/abcIf.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/base/abci/abcIf.c b/src/base/abci/abcIf.c index e1218343..bc38c496 100644 --- a/src/base/abci/abcIf.c +++ b/src/base/abci/abcIf.c @@ -1084,9 +1084,11 @@ void Abc_NtkRecreatePoDrivers( If_Man_t * p, Abc_Ntk_t * pNtkNew ) return; } + assert( pNtkNew->vRealNodes == NULL ); // create drivers vDrivers = Vec_PtrStart( pNtkNew->nRealPos ); vDriverInvs = Vec_IntStart( pNtkNew->nRealPos ); + pNtkNew->vRealNodes = Vec_IntAlloc( pNtkNew->nRealPos ); for ( i = pNtkNew->nRealPos; i < Abc_NtkPoNum(pNtkNew); i++ ) { pObj = Abc_NtkPo( pNtkNew, i ); @@ -1098,6 +1100,7 @@ void Abc_NtkRecreatePoDrivers( If_Man_t * p, Abc_Ntk_t * pNtkNew ) // printf( "%d", Abc_ObjFaninC0(pObj) ); Vec_PtrPush( vDrivers, pNode ); Vec_IntPush( vDriverInvs, Abc_ObjFaninC0(pObj) ); + Vec_IntPush( pNtkNew->vRealNodes, Abc_ObjId(pNode) ); } assert( Vec_PtrSize( vDrivers ) == Abc_NtkPoNum( pNtkNew ) ); @@ -1161,6 +1164,8 @@ void Abc_NtkRecreatePoDrivers( If_Man_t * p, Abc_Ntk_t * pNtkNew ) fCompl = Vec_IntEntry( vDriverInvs, numPo ); if ( fCompl ) pFaninNew = Abc_NtkCreateNodeInv( pNtkNew, pFaninNew ); +// else +// pFaninNew = Abc_NtkCreateNodeBuf( pNtkNew, pFaninNew ); if ( !Abc_NtkIfCheckTfi( pNtkNew, pObj, pFaninNew ) ) Abc_ObjPatchFanin( pObj, pFanin, pFaninNew ); |