Fixing input swapping issue in MUXes derived from NDR.

This commit is contained in:
Alan Mishchenko 2018-02-07 09:02:28 -08:00
parent e839091ba0
commit c6bce9c20e
2 changed files with 4 additions and 0 deletions

View File

@ -331,6 +331,8 @@ extern void Wlc_SetNtk( Abc_Frame_t * pAbc, Wlc_Ntk_t * pNtk );
/*=== wlcNdr.c ========================================================*/
extern Wlc_Ntk_t * Wlc_ReadNdr( char * pFileName );
extern void Wlc_WriteNdr( Wlc_Ntk_t * pNtk, char * pFileName );
extern Wlc_Ntk_t * Wlc_NtkFromNdr( void * pData );
extern void * Wlc_NtkToNdr( Wlc_Ntk_t * pNtk );
/*=== wlcNtk.c ========================================================*/
extern void Wlc_ManSetDefaultParams( Wlc_Par_t * pPars );
extern char * Wlc_ObjTypeName( Wlc_Obj_t * p );

View File

@ -332,6 +332,8 @@ Wlc_Ntk_t * Wlc_NtkFromNdr( void * pData )
Vec_IntPushTwo( vFanins, End, Beg );
else if ( Type == ABC_OPER_CONST )
Ndr_ObjReadConstant( vFanins, (char *)Ndr_ObjReadBodyP(p, Obj, NDR_FUNCTION) );
else if ( Type == ABC_OPER_BIT_MUX && Vec_IntSize(vFanins) == 3 )
ABC_SWAP( int, Vec_IntEntryP(vFanins, 1)[0], Vec_IntEntryP(vFanins, 2)[0] );
Wlc_ObjAddFanins( pNtk, Wlc_NtkObj(pNtk, iObj), vFanins );
Wlc_ObjSetNameId( pNtk, iObj, NameId );
}