diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/aig/gia/giaFx.c | 1 | ||||
-rw-r--r-- | src/aig/gia/giaJf.c | 1 | ||||
-rw-r--r-- | src/base/cba/cbaBlast.c | 2 | ||||
-rw-r--r-- | src/base/cba/cbaWriteBlif.c | 8 |
4 files changed, 10 insertions, 2 deletions
diff --git a/src/aig/gia/giaFx.c b/src/aig/gia/giaFx.c index 9985e51d..73a8cf5c 100644 --- a/src/aig/gia/giaFx.c +++ b/src/aig/gia/giaFx.c @@ -328,6 +328,7 @@ Gia_Man_t * Gia_ManFxInsert( Gia_Man_t * p, Vec_Wec_t * vCubes, Vec_Str_t * vCom pNew = Gia_ManStart( Gia_ManObjNum(p) ); pNew->pName = Abc_UtilStrsav( p->pName ); pNew->pSpec = Abc_UtilStrsav( p->pSpec ); + pNew->vLevels = Vec_IntStart( 6*Gia_ManObjNum(p)/5 + 100 ); Gia_ManHashStart( pNew ); // create primary inputs vMap = Vec_IntStartFull( Vec_IntSize(vOrder) ); diff --git a/src/aig/gia/giaJf.c b/src/aig/gia/giaJf.c index da767c52..93dac301 100644 --- a/src/aig/gia/giaJf.c +++ b/src/aig/gia/giaJf.c @@ -1589,6 +1589,7 @@ Gia_Man_t * Jf_ManDeriveGia( Jf_Man_t * p ) pNew = Gia_ManStart( Gia_ManObjNum(p->pGia) ); pNew->pName = Abc_UtilStrsav( p->pGia->pName ); pNew->pSpec = Abc_UtilStrsav( p->pGia->pSpec ); + pNew->vLevels = Vec_IntStart( 6*Gia_ManObjNum(p->pGia)/5 + 100 ); // map primary inputs Vec_IntWriteEntry( vCopies, 0, 0 ); Gia_ManForEachCi( p->pGia, pObj, i ) diff --git a/src/base/cba/cbaBlast.c b/src/base/cba/cbaBlast.c index 45ced7d2..b0988632 100644 --- a/src/base/cba/cbaBlast.c +++ b/src/base/cba/cbaBlast.c @@ -50,7 +50,7 @@ void Cba_ManPrepareGates( Cba_Man_t * p ) if ( p->pMioLib == NULL ) return; assert( p->ppGraphs == NULL ); - p->ppGraphs = ABC_ALLOC( Dec_Graph_t *, Abc_NamObjNumMax(p->pFuncs) ); + p->ppGraphs = (Dec_Graph_t **)ABC_ALLOC( Dec_Graph_t *, Abc_NamObjNumMax(p->pFuncs) ); p->ppGraphs[0] = NULL; for ( i = 1; i < Abc_NamObjNumMax(p->pFuncs); i++ ) { diff --git a/src/base/cba/cbaWriteBlif.c b/src/base/cba/cbaWriteBlif.c index 7e227d2d..4a59b69d 100644 --- a/src/base/cba/cbaWriteBlif.c +++ b/src/base/cba/cbaWriteBlif.c @@ -167,13 +167,19 @@ void Cba_ManWriteBlifLines( FILE * pFile, Cba_Ntk_t * p ) { if ( Type == CBA_OBJ_NODE ) // .names/assign/box2 (no formal/actual binding) { - if ( Abc_NamObjNumMax(p->pDesign->pFuncs) > 1 ) // mapped + if ( p->pDesign->pMioLib ) // mapped { char * pGateName = Abc_NamStr( p->pDesign->pFuncs, Cba_ObjFuncId(p, i) ); Mio_Gate_t * pGate = Mio_LibraryReadGateByName( (Mio_Library_t *)p->pDesign->pMioLib, pGateName, NULL ); fprintf( pFile, ".gate" ); Cba_ManWriteBlifGate( pFile, p, pGate, Cba_ObjFaninVec(p, i), i ); } + else if ( Abc_NamObjNumMax(p->pDesign->pFuncs) > 1 ) // SOP functions + { + fprintf( pFile, ".names" ); + Cba_ManWriteBlifArray( pFile, p, Cba_ObjFaninVec(p, i), i ); + fprintf( pFile, "%s", Cba_ObjFuncStr(p, i) ); + } else { fprintf( pFile, ".names" ); |