From dce73ade2fa0c7a01b58d4a6c592e0e07cbb5499 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Fri, 2 Sep 2005 08:01:00 -0700 Subject: Version abc50902 --- src/base/main/main.h | 3 +++ src/base/main/mainFrame.c | 23 ++++++++++++++++------- src/base/main/mainInt.h | 3 +++ 3 files changed, 22 insertions(+), 7 deletions(-) (limited to 'src/base/main') diff --git a/src/base/main/main.h b/src/base/main/main.h index da47f154..72eec599 100644 --- a/src/base/main/main.h +++ b/src/base/main/main.h @@ -102,6 +102,9 @@ extern void Abc_FrameSetLibLut ( Abc_Frame_t * pFrame, void extern void Abc_FrameSetLibGen ( Abc_Frame_t * pFrame, void * pLib ); extern void Abc_FrameSetLibSuper ( Abc_Frame_t * pFrame, void * pLib ); +extern void * Abc_FrameReadManDd ( Abc_Frame_t * pFrame ); +extern void * Abc_FrameReadManDec ( Abc_Frame_t * pFrame ); + //////////////////////////////////////////////////////////////////////// /// END OF FILE /// diff --git a/src/base/main/mainFrame.c b/src/base/main/mainFrame.c index 2e9d9d41..09a750ea 100644 --- a/src/base/main/mainFrame.c +++ b/src/base/main/mainFrame.c @@ -20,6 +20,7 @@ #include "mainInt.h" #include "abc.h" +#include "dec.h" //////////////////////////////////////////////////////////////////////// /// DECLARATIONS /// @@ -58,6 +59,9 @@ Abc_Frame_t * Abc_FrameAllocate() // set the starting step p->nSteps = 1; p->fBatchMode = 0; + // initialize decomposition manager + p->pManDec = Dec_ManStart(); + p->dd = Cudd_Init( 0, 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0 ); return p; } @@ -75,6 +79,8 @@ Abc_Frame_t * Abc_FrameAllocate() ***********************************************************************/ void Abc_FrameDeallocate( Abc_Frame_t * p ) { + Dec_ManStop( p->pManDec ); + Extra_StopManager( p->dd ); Abc_FrameDeleteAllNetworks( p ); free( p ); p = NULL; @@ -417,17 +423,20 @@ Abc_Frame_t * Abc_FrameGetGlobalFrame() SeeAlso [] ***********************************************************************/ -Abc_Ntk_t * Abc_FrameReadNtkStore ( Abc_Frame_t * pFrame ) { return pFrame->pStored; } -int Abc_FrameReadNtkStoreSize ( Abc_Frame_t * pFrame ) { return pFrame->nStored; } -void Abc_FrameSetNtkStore ( Abc_Frame_t * pFrame, Abc_Ntk_t * pNtk ) { pFrame->pStored = pNtk; } -void Abc_FrameSetNtkStoreSize ( Abc_Frame_t * pFrame, int nStored ) { pFrame->nStored = nStored; } +Abc_Ntk_t * Abc_FrameReadNtkStore ( Abc_Frame_t * pFrame ) { return pFrame->pStored; } +int Abc_FrameReadNtkStoreSize ( Abc_Frame_t * pFrame ) { return pFrame->nStored; } +void Abc_FrameSetNtkStore ( Abc_Frame_t * pFrame, Abc_Ntk_t * pNtk ) { pFrame->pStored = pNtk; } +void Abc_FrameSetNtkStoreSize ( Abc_Frame_t * pFrame, int nStored ) { pFrame->nStored = nStored;} void * Abc_FrameReadLibLut ( Abc_Frame_t * pFrame ) { return pFrame->pLibLut; } void * Abc_FrameReadLibGen ( Abc_Frame_t * pFrame ) { return pFrame->pLibGen; } void * Abc_FrameReadLibSuper ( Abc_Frame_t * pFrame ) { return pFrame->pLibSuper; } -void Abc_FrameSetLibLut ( Abc_Frame_t * pFrame, void * pLib ) { pFrame->pLibLut = pLib; } -void Abc_FrameSetLibGen ( Abc_Frame_t * pFrame, void * pLib ) { pFrame->pLibGen = pLib; } -void Abc_FrameSetLibSuper ( Abc_Frame_t * pFrame, void * pLib ) { pFrame->pLibSuper = pLib; } +void Abc_FrameSetLibLut ( Abc_Frame_t * pFrame, void * pLib ) { pFrame->pLibLut = pLib; } +void Abc_FrameSetLibGen ( Abc_Frame_t * pFrame, void * pLib ) { pFrame->pLibGen = pLib; } +void Abc_FrameSetLibSuper ( Abc_Frame_t * pFrame, void * pLib ) { pFrame->pLibSuper = pLib; } + +void * Abc_FrameReadManDd ( Abc_Frame_t * pFrame ) { return pFrame->dd; } +void * Abc_FrameReadManDec ( Abc_Frame_t * pFrame ) { return pFrame->pManDec; } //////////////////////////////////////////////////////////////////////// /// END OF FILE /// diff --git a/src/base/main/mainInt.h b/src/base/main/mainInt.h index 557c4e2f..95d5b22d 100644 --- a/src/base/main/mainInt.h +++ b/src/base/main/mainInt.h @@ -66,6 +66,9 @@ struct Abc_Frame_t_ // temporary storage for structural choices Abc_Ntk_t * pStored; // the stored networks int nStored; // the number of stored networks + // decomposition package + DdManager * dd; // temporary BDD package + void * pManDec; // decomposition manager void * pLibLut; // the current LUT library void * pLibGen; // the current genlib -- cgit v1.2.3