Go to the source code of this file.
|
static
ABC_NAMESPACE_IMPL_START void | Abc_NtkSymmetriesUsingBdds (Abc_Ntk_t *pNtk, int fNaive, int fReorder, int fVerbose) |
| | DECLARATIONS ///. More...
|
| |
| static void | Abc_NtkSymmetriesUsingSandS (Abc_Ntk_t *pNtk, int fVerbose) |
| |
| static void | Ntk_NetworkSymmsBdd (DdManager *dd, Abc_Ntk_t *pNtk, int fNaive, int fVerbose) |
| |
| static void | Ntk_NetworkSymmsPrint (Abc_Ntk_t *pNtk, Extra_SymmInfo_t *pSymms) |
| |
| void | Abc_NtkSymmetries (Abc_Ntk_t *pNtk, int fUseBdds, int fNaive, int fReorder, int fVerbose) |
| | FUNCTION DEFINITIONS ///. More...
|
| |
| void Abc_NtkSymmetries |
( |
Abc_Ntk_t * |
pNtk, |
|
|
int |
fUseBdds, |
|
|
int |
fNaive, |
|
|
int |
fReorder, |
|
|
int |
fVerbose |
|
) |
| |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [The top level procedure to compute symmetries.]
Description []
SideEffects []
SeeAlso []
Definition at line 52 of file abcSymm.c.
54 if ( fUseBdds || fNaive )
static ABC_NAMESPACE_IMPL_START void Abc_NtkSymmetriesUsingBdds(Abc_Ntk_t *pNtk, int fNaive, int fReorder, int fVerbose)
DECLARATIONS ///.
static void Abc_NtkSymmetriesUsingSandS(Abc_Ntk_t *pNtk, int fVerbose)
| void Abc_NtkSymmetriesUsingBdds |
( |
Abc_Ntk_t * |
pNtk, |
|
|
int |
fNaive, |
|
|
int |
fReorder, |
|
|
int |
fVerbose |
|
) |
| |
|
static |
DECLARATIONS ///.
CFile****************************************************************
FileName [abcSymm.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Network and node package.]
Synopsis [Computation of two-variable symmetries.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
- Id:
- abcSymm.c,v 1.00 2005/06/20 00:00:00 alanmi Exp
]
Function*************************************************************
Synopsis [Symmetry computation using BDDs (both naive and smart).]
Description []
SideEffects []
SeeAlso []
Definition at line 89 of file abcSymm.c.
110 printf(
"Statistics of BDD-based symmetry detection:\n" );
111 printf(
"Algorithm = %s. Reordering = %s. Garbage collection = %s.\n",
112 fNaive?
"naive" :
"fast", fReorder?
"yes" :
"no", fGarbCollect?
"yes" :
"no" );
113 ABC_PRT(
"Constructing BDDs", clkBdd );
114 ABC_PRT(
"Computing symms ", clkSym );
115 ABC_PRT(
"TOTAL ", clkBdd + clkSym );
static void Ntk_NetworkSymmsBdd(DdManager *dd, Abc_Ntk_t *pNtk, int fNaive, int fVerbose)
static abctime Abc_Clock()
ABC_DLL void * Abc_NtkFreeGlobalBdds(Abc_Ntk_t *pNtk, int fFreeMan)
void Cudd_AutodynDisable(DdManager *unique)
ABC_DLL int Abc_NtkSizeOfGlobalBdds(Abc_Ntk_t *pNtk)
void Cudd_DisableGarbageCollection(DdManager *dd)
int Cudd_zddVarsFromBddVars(DdManager *dd, int multiplicity)
ABC_DLL void * Abc_NtkBuildGlobalBdds(Abc_Ntk_t *pNtk, int fBddSizeMax, int fDropInternal, int fReorder, int fVerbose)
| void Abc_NtkSymmetriesUsingSandS |
( |
Abc_Ntk_t * |
pNtk, |
|
|
int |
fVerbose |
|
) |
| |
|
static |
Function*************************************************************
Synopsis [Symmetry computation using simulation and SAT.]
Description []
SideEffects []
SeeAlso []
Definition at line 71 of file abcSymm.c.
75 printf(
"The total number of symmetries is %d.\n", nSymms );
int Sim_ComputeTwoVarSymms(Abc_Ntk_t *pNtk, int fVerbose)
DECLARATIONS ///.
Function*************************************************************
Synopsis [Symmetry computation using BDDs (both naive and smart).]
Description []
SideEffects []
SeeAlso []
Definition at line 129 of file abcSymm.c.
159 printf(
"Total number of vars in functional supports = %8d.\n", nSupps );
160 printf(
"Total number of two-variable symmetries = %8d.\n", nSymms );
#define Cudd_IsConstant(node)
#define Abc_NtkForEachCo(pNtk, pCo, i)
static void Ntk_NetworkSymmsPrint(Abc_Ntk_t *pNtk, Extra_SymmInfo_t *pSymms)
static void * Abc_ObjGlobalBdd(Abc_Obj_t *pObj)
ABC_DLL char * Abc_ObjName(Abc_Obj_t *pNode)
DECLARATIONS ///.
int Cudd_SupportSize(DdManager *dd, DdNode *f)
Function*************************************************************
Synopsis [Printing symmetry groups from the symmetry data structure.]
Description []
SideEffects []
SeeAlso []
Definition at line 174 of file abcSymm.c.
178 int i, k, nVars, nSize, fStart;
186 memset( pVarTaken, 0,
sizeof(
int) * nVars );
190 nSize = pSymms->
nVars;
191 for ( i = 0; i < nSize; i++ )
197 for ( k = 0; k < nSize; k++ )
201 if ( pSymms->
pSymms[i][k] == 0 )
204 assert( pVarTaken[k] == 0 );
209 printf(
" { %s", pInputNames[ pSymms->
pVars[i] ] );
213 printf(
" %s", pInputNames[ pSymms->
pVars[k] ] );
ABC_DLL char ** Abc_NtkCollectCioNames(Abc_Ntk_t *pNtk, int fCollectCos)
static int Abc_NtkCiNum(Abc_Ntk_t *pNtk)
#define ABC_ALLOC(type, num)