abc-master
|
Go to the source code of this file.
Data Structures | |
struct | Super_ManStruct_t_ |
struct | Super_GateStruct_t_ |
Macros | |
#define | SUPER_MASK(n) ((~((unsigned)0)) >> (32-(n))) |
DECLARATIONS ///. More... | |
#define | SUPER_FULL (~((unsigned)0)) |
#define | SUPER_NO_VAR (-9999.0) |
#define | SUPER_EPSILON (0.001) |
#define | Super_ManForEachGate(GateArray, Limit, Index, Gate) |
Typedefs | |
typedef struct Super_ManStruct_t_ | Super_Man_t |
typedef struct Super_GateStruct_t_ | Super_Gate_t |
Functions | |
static Super_Man_t * | Super_ManStart () |
static void | Super_ManStop (Super_Man_t *pMan) |
static void | Super_AddGateToTable (Super_Man_t *pMan, Super_Gate_t *pGate) |
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) |
static Super_Gate_t * | Super_CreateGateNew (Super_Man_t *pMan, Mio_Gate_t *pRoot, Super_Gate_t **pSupers, int nSupers, unsigned uTruth[], float Area, float tPinDelaysRes[], float tDelayMax, int nPins) |
static int | Super_CompareGates (Super_Man_t *pMan, unsigned uTruth[], float Area, float tPinDelaysRes[], int nPins) |
static int | Super_DelayCompare (Super_Gate_t **ppG1, Super_Gate_t **ppG2) |
static int | Super_AreaCompare (Super_Gate_t **ppG1, Super_Gate_t **ppG2) |
static void | Super_TranferGatesToArray (Super_Man_t *pMan) |
static int | Super_CheckTimeout (ProgressBar *pPro, Super_Man_t *pMan) |
static Vec_Str_t * | Super_Write (Super_Man_t *pMan) |
static int | Super_WriteCompare (Super_Gate_t **ppG1, Super_Gate_t **ppG2) |
static void | Super_WriteFileHeader (Super_Man_t *pMan, FILE *pFile) |
static void | Super_WriteLibrary (Super_Man_t *pMan) |
static void | Super_WriteLibraryTreeFile (Super_Man_t *pMan) |
static Vec_Str_t * | Super_WriteLibraryTreeStr (Super_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 ///. 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_WriteFileHeaderStr (Super_Man_t *pMan, Vec_Str_t *vStr) |
void | Super_WriteLibraryGateName_rec (Super_Gate_t *pGate, char *pBuffer) |
char * | Super_WriteLibraryGateName (Super_Gate_t *pGate) |
void | Super_WriteLibraryGate (FILE *pFile, Super_Man_t *pMan, Super_Gate_t *pGate, int Num) |
void | Super_WriteLibraryTreeFile_rec (FILE *pFile, Super_Man_t *pMan, Super_Gate_t *pSuper, int *pCounter) |
void | Super_WriteLibraryTreeStr_rec (Vec_Str_t *vStr, Super_Man_t *pMan, Super_Gate_t *pSuper, int *pCounter) |
void | Super_WriteLibraryTree (Super_Man_t *pMan) |
#define SUPER_EPSILON (0.001) |
Definition at line 33 of file superGate.c.
#define SUPER_FULL (~((unsigned)0)) |
Definition at line 31 of file superGate.c.
#define Super_ManForEachGate | ( | GateArray, | |
Limit, | |||
Index, | |||
Gate | |||
) |
Definition at line 97 of file superGate.c.
#define SUPER_MASK | ( | n | ) | ((~((unsigned)0)) >> (32-(n))) |
DECLARATIONS ///.
CFile****************************************************************
FileName [superGate.c]
PackageName [MVSIS 1.3: Multi-valued logic synthesis system.]
Synopsis [Pre-computation of supergates.]
Author [MVSIS Group]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - September 8, 2003.]
Revision [
]
Definition at line 30 of file superGate.c.
#define SUPER_NO_VAR (-9999.0) |
Definition at line 32 of file superGate.c.
typedef struct Super_GateStruct_t_ Super_Gate_t |
Definition at line 37 of file superGate.c.
typedef struct Super_ManStruct_t_ Super_Man_t |
Definition at line 36 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Adds one supergate into the unique table.]
Description []
SideEffects []
SeeAlso []
Definition at line 795 of file superGate.c.
|
static |
Definition at line 1170 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Transfers gates from table into the array.]
Description []
SideEffects []
SeeAlso []
Definition at line 737 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Check the manager's unique table for comparable gates.]
Description [Returns 0 if the gate is dominated by others. Returns 1 if the gate is new or is better than the available ones. In this case, cleans the table by removing the gates that are worse than the given one.]
SideEffects []
SeeAlso []
Definition at line 824 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Precomputes one level of supergates.]
Description [This procedure computes the set of supergates that can be derived from the given set of root gates (from genlib library) by composing the root gates with the currently available supergates. This procedure is smart in the sense that it tries to avoid useless emuration by imposing tight bounds by area and delay. Only the supergates and are guaranteed to have smaller area and delay are enumereated. See comments below for details.]
SideEffects []
SeeAlso []
Definition at line 343 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Create a new supergate.]
Description []
SideEffects []
SeeAlso []
Definition at line 907 of file superGate.c.
|
static |
Definition at line 1162 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Derives the starting supergates.]
Description []
SideEffects []
SeeAlso []
Definition at line 276 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Starts the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 936 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Stops the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 956 of file superGate.c.
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.
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.
|
static |
Function*************************************************************
Synopsis [Transfers gates from table into the array.]
Description []
SideEffects []
SeeAlso []
Definition at line 766 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Writes the supergate library into the file.]
Description []
SideEffects []
SeeAlso []
Definition at line 979 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Compares two gates.]
Description []
SideEffects []
SeeAlso []
Definition at line 1148 of file superGate.c.
|
static |
Function*************************************************************
Synopsis [Writes the file header.]
Description []
SideEffects []
SeeAlso []
Definition at line 1064 of file superGate.c.
void Super_WriteFileHeaderStr | ( | Super_Man_t * | pMan, |
Vec_Str_t * | vStr | ||
) |
Definition at line 1089 of file superGate.c.
|
static |
Definition at line 1237 of file superGate.c.
void Super_WriteLibraryGate | ( | FILE * | pFile, |
Super_Man_t * | pMan, | ||
Super_Gate_t * | pGate, | ||
int | Num | ||
) |
Definition at line 1223 of file superGate.c.
char* Super_WriteLibraryGateName | ( | Super_Gate_t * | pGate | ) |
Definition at line 1216 of file superGate.c.
void Super_WriteLibraryGateName_rec | ( | Super_Gate_t * | pGate, |
char * | pBuffer | ||
) |
Function*************************************************************
Synopsis [Writes the gates into the file.]
Description []
SideEffects []
SeeAlso []
Definition at line 1195 of file superGate.c.
void Super_WriteLibraryTree | ( | Super_Man_t * | pMan | ) |
Definition at line 1446 of file superGate.c.
|
static |
Definition at line 1329 of file superGate.c.
void Super_WriteLibraryTreeFile_rec | ( | FILE * | pFile, |
Super_Man_t * | pMan, | ||
Super_Gate_t * | pSuper, | ||
int * | pCounter | ||
) |
Function*************************************************************
Synopsis [Recursively writes the gates.]
Description []
SideEffects []
SeeAlso []
Definition at line 1306 of file superGate.c.
|
static |
Definition at line 1417 of file superGate.c.
void Super_WriteLibraryTreeStr_rec | ( | Vec_Str_t * | vStr, |
Super_Man_t * | pMan, | ||
Super_Gate_t * | pSuper, | ||
int * | pCounter | ||
) |
Function*************************************************************
Synopsis [Recursively writes the gates.]
Description []
SideEffects []
SeeAlso []
Definition at line 1386 of file superGate.c.