diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2018-02-07 09:02:28 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2018-02-07 09:02:28 -0800 |
commit | c6bce9c20e07587de48b157ed676d175ca8c1b31 (patch) | |
tree | e68ae136be8a9cdb1777167c0fea055e5e57380f /src | |
parent | e839091ba05083f166356f5455cea7ba3adad8d6 (diff) | |
download | abc-c6bce9c20e07587de48b157ed676d175ca8c1b31.tar.gz abc-c6bce9c20e07587de48b157ed676d175ca8c1b31.tar.bz2 abc-c6bce9c20e07587de48b157ed676d175ca8c1b31.zip |
Fixing input swapping issue in MUXes derived from NDR.
Diffstat (limited to 'src')
-rw-r--r-- | src/base/wlc/wlc.h | 2 | ||||
-rw-r--r-- | src/base/wlc/wlcNdr.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/base/wlc/wlc.h b/src/base/wlc/wlc.h index 61a71b65..55e85330 100644 --- a/src/base/wlc/wlc.h +++ b/src/base/wlc/wlc.h @@ -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 ); diff --git a/src/base/wlc/wlcNdr.c b/src/base/wlc/wlcNdr.c index e0a00a56..7caa4656 100644 --- a/src/base/wlc/wlcNdr.c +++ b/src/base/wlc/wlcNdr.c @@ -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 ); } |