diff options
Diffstat (limited to 'src/base/wlc')
-rw-r--r-- | src/base/wlc/wlc.h | 1 | ||||
-rw-r--r-- | src/base/wlc/wlcBlast.c | 2 | ||||
-rw-r--r-- | src/base/wlc/wlcNdr.c | 4 | ||||
-rw-r--r-- | src/base/wlc/wlcWriteVer.c | 9 |
4 files changed, 13 insertions, 3 deletions
diff --git a/src/base/wlc/wlc.h b/src/base/wlc/wlc.h index abea47a4..d39738a8 100644 --- a/src/base/wlc/wlc.h +++ b/src/base/wlc/wlc.h @@ -101,6 +101,7 @@ typedef enum { WLC_OBJ_ARI_ADDSUB, // 56: adder-subtractor WLC_OBJ_SEL, // 57: positionally encoded selector WLC_OBJ_DEC, // 58: decoder + WLC_OBJ_LUT, // 59: lookup table WLC_OBJ_NUMBER // 59: unused } Wlc_ObjType_t; // when adding new types, remember to update table Wlc_Names in "wlcNtk.c" diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c index dce2d00f..0e4ed9e1 100644 --- a/src/base/wlc/wlcBlast.c +++ b/src/base/wlc/wlcBlast.c @@ -2055,7 +2055,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) } else { - pNew = Gia_ManDupZeroUndc( pTemp = pNew, p->pInits, pPar->fSaveFfNames ? 1+Gia_ManRegNum(pNew) : 0, pPar->fGiaSimple, 0 ); + pNew = Gia_ManDupZeroUndc( pTemp = pNew, p->pInits, pPar->fSaveFfNames ? 1+Gia_ManRegNum(pNew) : 0, pPar->fGiaSimple, pPar->fVerbose ); Gia_ManDupRemapLiterals( vBits, pTemp ); Gia_ManStop( pTemp ); } diff --git a/src/base/wlc/wlcNdr.c b/src/base/wlc/wlcNdr.c index e5e64329..c70e4a6d 100644 --- a/src/base/wlc/wlcNdr.c +++ b/src/base/wlc/wlcNdr.c @@ -100,7 +100,7 @@ int Ndr_TypeNdr2Wlc( int Type ) if ( Type == ABC_OPER_DFFRSE ) return WLC_OBJ_FF; // 05: flop if ( Type == ABC_OPER_RAMR ) return WLC_OBJ_READ; // 54: read port if ( Type == ABC_OPER_RAMW ) return WLC_OBJ_WRITE; // 55: write port - if ( Type == ABC_OPER_LUT ) return WLC_OBJ_TABLE; // 55: LUT + if ( Type == ABC_OPER_LUT ) return WLC_OBJ_LUT; // 59: LUT return -1; } int Ndr_TypeWlc2Ndr( int Type ) @@ -160,7 +160,7 @@ int Ndr_TypeWlc2Ndr( int Type ) if ( Type == WLC_OBJ_FF ) return ABC_OPER_DFFRSE; // 05: flop if ( Type == WLC_OBJ_READ ) return ABC_OPER_RAMR; // 54: read port if ( Type == WLC_OBJ_WRITE ) return ABC_OPER_RAMW; // 55: write port - if ( Type == WLC_OBJ_TABLE ) return ABC_OPER_LUT; // 55: LUT + if ( Type == WLC_OBJ_LUT ) return ABC_OPER_LUT; // 59: LUT return -1; } diff --git a/src/base/wlc/wlcWriteVer.c b/src/base/wlc/wlcWriteVer.c index 90d49ade..13bc3b26 100644 --- a/src/base/wlc/wlcWriteVer.c +++ b/src/base/wlc/wlcWriteVer.c @@ -203,6 +203,15 @@ void Wlc_WriteVerInt( FILE * pFile, Wlc_Ntk_t * p, int fNoFlops ) fprintf( pFile, " s%d_Index(%s, ", i, Wlc_ObjName(p, Wlc_ObjFaninId0(pObj)) ); fprintf( pFile, "%s)", Wlc_ObjName(p, i) ); } + else if ( pObj->Type == WLC_OBJ_LUT ) + { + // wire [3:0] s4972; LUT lut4972_Index(s4971, s4972); + fprintf( pFile, "%s ; LUT", Wlc_ObjName(p, i) ); + fprintf( pFile, " lut%d (%s, ", i, Wlc_ObjName(p, Wlc_ObjFaninId0(pObj)) ); + for ( k = 1; k < Wlc_ObjFaninNum(pObj); k++ ) + fprintf( pFile, "%s, ", Wlc_ObjName(p, Wlc_ObjFaninId(pObj, k)) ); + fprintf( pFile, "%s)", Wlc_ObjName(p, i) ); + } else if ( pObj->Type == WLC_OBJ_CONST ) { fprintf( pFile, "%-16s = %d\'%sh", Wlc_ObjName(p, i), Wlc_ObjRange(pObj), Wlc_ObjIsSigned(pObj) ? "s":"" ); |