diff options
Diffstat (limited to 'src/base/seq/seqMan.c')
-rw-r--r-- | src/base/seq/seqMan.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/base/seq/seqMan.c b/src/base/seq/seqMan.c index 95192ae2..7074f28d 100644 --- a/src/base/seq/seqMan.c +++ b/src/base/seq/seqMan.c @@ -6,7 +6,7 @@ PackageName [Construction and manipulation of sequential AIGs.] - Synopsis [] + Synopsis [Manager of sequential AIG containing.] Author [Alan Mishchenko] @@ -32,7 +32,9 @@ Synopsis [Allocates sequential AIG manager.] - Description [] + Description [The manager contains all the data structures needed to + represent sequential AIG and compute stand-alone retiming as well as + the integrated mapping/retiming of the sequential AIG.] SideEffects [] @@ -47,9 +49,9 @@ Abc_Seq_t * Seq_Create( Abc_Ntk_t * pNtk ) memset( p, 0, sizeof(Abc_Seq_t) ); p->pNtk = pNtk; p->nSize = 1000; + p->pMmInits = Extra_MmFixedStart( sizeof(Seq_Lat_t) ); // create internal data structures p->vInits = Vec_PtrStart( 2 * p->nSize ); - p->pMmInits = Extra_MmFixedStart( sizeof(Seq_Lat_t) ); p->vLValues = Vec_IntStart( p->nSize ); p->vLags = Vec_StrStart( p->nSize ); return p; @@ -71,9 +73,9 @@ void Seq_Resize( Abc_Seq_t * p, int nMaxId ) if ( p->nSize > nMaxId ) return; p->nSize = nMaxId + 1; - Vec_PtrFill( p->vInits, 2 * p->nSize, NULL ); - Vec_IntFill( p->vLValues, p->nSize, 0 ); - Vec_StrFill( p->vLags, p->nSize, 0 ); + Vec_PtrFill( p->vInits, 2 * p->nSize, NULL ); + Vec_IntFill( p->vLValues, p->nSize, 0 ); + Vec_StrFill( p->vLags, p->nSize, 0 ); } @@ -92,13 +94,9 @@ void Seq_Delete( Abc_Seq_t * p ) { if ( p->vMapAnds ) Vec_PtrFree( p->vMapAnds ); // the nodes used in the mapping if ( p->vMapCuts ) Vec_VecFree( p->vMapCuts ); // the cuts used in the mapping - if ( p->vMapBags ) Vec_VecFree( p->vMapBags ); // the nodes included in the cuts used in the mapping - if ( p->vMapLags ) Vec_VecFree( p->vMapLags ); // the lags of the mapped nodes - - if ( p->vBestCuts ) Vec_PtrFree( p->vBestCuts ); // the best cuts for nodes if ( p->vLValues ) Vec_IntFree( p->vLValues ); // the arrival times (L-Values of nodes) if ( p->vLags ) Vec_StrFree( p->vLags ); // the lags of the mapped nodes - Vec_PtrFree( p->vInits ); + if ( p->vInits ) Vec_PtrFree( p->vInits ); // the initial values of the latches Extra_MmFixedStop( p->pMmInits, 0 ); free( p ); } |