Go to the source code of this file.
|
ABC_NAMESPACE_HEADER_START void | Super2_Precompute (int nInputs, int nLevels, int fVerbose) |
| INCLUDES ///. More...
|
|
Vec_Str_t * | Super_PrecomputeStr (Mio_Library_t *pLibGen, int nVarsMax, int nLevels, int nGatesMax, float tDelayMax, float tAreaMax, int TimeLimit, int fSkipInv, int fVerbose) |
|
void | Super_Precompute (Mio_Library_t *pLibGen, int nVarsMax, int nLevels, int nGatesMax, float tDelayMax, float tAreaMax, int TimeLimit, int fSkipInv, int fVerbose, char *pFileName) |
| FUNCTION DEFINITIONS ///. More...
|
|
INCLUDES ///.
CFile****************************************************************
FileName [super.h]
PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]
Synopsis [Pre-computation of supergates (delay-limited gate combinations).]
Author [MVSIS Group]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - September 8, 2003.]
Revision [
- Id:
- super.h,v 1.3 2004/06/28 14:20:25 alanmi Exp
]PARAMETERS ///STRUCTURE DEFINITIONS ///GLOBAL VARIABLES ///MACRO DEFINITIONS ///FUNCTION DEFINITIONS ///
INCLUDES ///.
Function*************************************************************
Synopsis [Precomputes the library of AND2 gates.]
Description []
SideEffects []
SeeAlso []
Definition at line 113 of file superAnd.c.
129 printf(
"Computing supergates for %d inputs and %d levels:\n", nInputs, nLevels );
130 for ( Level = 1; Level <= nLevels; Level++ )
137 printf(
"Level %d: Tried = %7d. Computed = %7d. ", Level, pMan->
nTried, pLibCur->
nGates );
142 printf(
"Writing the output file...\n" );
static abctime Abc_Clock()
static void Super2_LibWrite(Super2_Lib_t *pLib)
static Super2_Lib_t * Super2_LibCompute(Super2_Man_t *pMan, Super2_Lib_t *pLib)
static Super2_Man_t * Super2_ManStart()
static void Super2_LibStop(Super2_Lib_t *pLib)
static Super2_Lib_t * Super2_LibFirst(Super2_Man_t *pMan, int nInputs)
static void Super2_ManStop(Super2_Man_t *pMan)
void Super_Precompute |
( |
Mio_Library_t * |
pLibGen, |
|
|
int |
nVarsMax, |
|
|
int |
nLevels, |
|
|
int |
nGatesMax, |
|
|
float |
tDelayMax, |
|
|
float |
tAreaMax, |
|
|
int |
TimeLimit, |
|
|
int |
fSkipInv, |
|
|
int |
fVerbose, |
|
|
char * |
pFileName |
|
) |
| |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Precomputes the library of supergates.]
Description []
SideEffects []
SeeAlso []
Definition at line 140 of file superGate.c.
143 FILE * pFile = fopen( pFileName,
"wb" );
146 printf(
"Cannot open output file \"%s\".\n", pFileName );
149 vStr =
Super_PrecomputeStr( pLibGen, nVarsMax, nLevels, nGatesMax, tDelayMax, tAreaMax, TimeLimit, fSkipInv, fVerbose );
156 printf(
"The supergates are written using new format \"%s\" ", pFileName );
157 printf(
"(%0.3f MB).\n", ((
double)
Extra_FileSize(pFileName))/(1<<20) );
static char * Vec_StrArray(Vec_Str_t *p)
static void Vec_StrFree(Vec_Str_t *p)
static int Vec_StrSize(Vec_Str_t *p)
Vec_Str_t * Super_PrecomputeStr(Mio_Library_t *pLibGen, int nVarsMax, int nLevels, int nGatesMax, float tDelayMax, float tAreaMax, int TimeLimit, int fSkipInv, int fVerbose)
Vec_Str_t* Super_PrecomputeStr |
( |
Mio_Library_t * |
pLibGen, |
|
|
int |
nVarsMax, |
|
|
int |
nLevels, |
|
|
int |
nGatesMax, |
|
|
float |
tDelayMax, |
|
|
float |
tAreaMax, |
|
|
int |
TimeLimit, |
|
|
int |
fSkipInv, |
|
|
int |
fVerbose |
|
) |
| |
Function*************************************************************
Synopsis [Precomputes the library of supergates.]
Description []
SideEffects []
SeeAlso []
Definition at line 172 of file superGate.c.
181 if ( nGatesMax && nGatesMax < nVarsMax )
183 fprintf( stderr,
"Erro! The number of supergates requested (%d) in less than the number of variables (%d).\n", nGatesMax, nVarsMax );
184 fprintf( stderr,
"The library cannot be computed.\n" );
189 ppGates =
Mio_CollectRoots( pLibGen, nVarsMax, tDelayMax, 0, &nGates, fVerbose );
190 if ( nGatesMax && nGates >= nGatesMax )
192 fprintf( stdout,
"Warning! Genlib library contains more gates than can be computed.\n");
193 fprintf( stdout,
"Only one-gate supergates are included in the supergate library.\n" );
209 fprintf( stderr,
"Error: No genlib gates satisfy the limits criteria. Stop.\n");
210 fprintf( stderr,
"Limits: max delay = %.2f, max area = %.2f, time limit = %d sec.\n",
227 printf(
"Computing supergates with %d inputs, %d levels, and %d max gates.\n",
228 pMan->
nVarsMax, nLevels, nGatesMax );
229 printf(
"Limits: max delay = %.2f, max area = %.2f, time limit = %d sec.\n",
233 for ( Level = 1; Level <= nLevels; Level++ )
242 printf(
"Lev %d: Try =%12d. Add =%6d. Rem =%5d. Save =%6d. Lookups =%12d. Aliases =%12d. ",
252 printf(
"Writing the output file...\n" );
static void Super_ManStop(Super_Man_t *pMan)
static Vec_Str_t * Super_Write(Super_Man_t *pMan)
static abctime Abc_Clock()
char * Mio_LibraryReadName(Mio_Library_t *pLib)
DECLARATIONS ///.
static void Super_First(Super_Man_t *pMan, int nVarsMax)
static Super_Man_t * Super_Compute(Super_Man_t *pMan, Mio_Gate_t **ppGates, int nGates, int nGatesMax, int fSkipInv)
Mio_Gate_t ** Mio_CollectRoots(Mio_Library_t *pLib, int nInputs, float tDelay, int fSkipInv, int *pnGates, int fVerbose)
static Super_Man_t * Super_ManStart()