abc-master
|
Go to the source code of this file.
Data Structures | |
struct | Cut_ParamsStruct_t_ |
struct | Cut_CutStruct_t_ |
Macros | |
#define | CUT_SIZE_MIN 3 |
INCLUDES ///. More... | |
#define | CUT_SIZE_MAX 12 |
#define | CUT_SHIFT 8 |
#define | CUT_MASK 0xFF |
Typedefs | |
typedef struct Cut_ManStruct_t_ | Cut_Man_t |
BASIC TYPES ///. More... | |
typedef struct Cut_OracleStruct_t_ | Cut_Oracle_t |
typedef struct Cut_CutStruct_t_ | Cut_Cut_t |
typedef struct Cut_ParamsStruct_t_ | Cut_Params_t |
#define CUT_SIZE_MIN 3 |
INCLUDES ///.
CFile****************************************************************
FileName [cut.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [K-feasible cut computation package.]
Synopsis [External declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]PARAMETERS ///
typedef struct Cut_CutStruct_t_ Cut_Cut_t |
typedef struct Cut_ManStruct_t_ Cut_Man_t |
typedef struct Cut_OracleStruct_t_ Cut_Oracle_t |
typedef struct Cut_ParamsStruct_t_ Cut_Params_t |
void Cut_CellDumpToFile | ( | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 835 of file cutPre22.c.
int Cut_CellIsRunning | ( | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 819 of file cutPre22.c.
void Cut_CellLoad | ( | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Start the precomputation manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 169 of file cutPre22.c.
void Cut_CellPrecompute | ( | ) |
Function*************************************************************
Synopsis [Precomputes truth tables for the 2x2 macro cell.]
Description []
SideEffects []
SeeAlso []
Definition at line 233 of file cutPre22.c.
int Cut_CellTruthLookup | ( | unsigned * | pTruth, |
int | nVars | ||
) |
Function*************************************************************
Synopsis [Looks up if the given function exists in the hash table.]
Description [If the function exists, returns 1, meaning that it can be implemented using two levels of 3-input LUTs. If the function does not exist, return 0.]
SideEffects []
SeeAlso []
Definition at line 940 of file cutPre22.c.
int Cut_CutCountList | ( | Cut_Cut_t * | pList | ) |
void Cut_CutPrint | ( | Cut_Cut_t * | pCut, |
int | fSeq | ||
) |
void Cut_CutPrintList | ( | Cut_Cut_t * | pList, |
int | fSeq | ||
) |
|
inlinestatic |
|
inlinestatic |
void Cut_ManIncrementDagNodes | ( | Cut_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
int Cut_ManMappingArea_rec | ( | Cut_Man_t * | p, |
int | Node | ||
) |
Function*************************************************************
Synopsis [Computes area after mapping.]
Description []
SideEffects []
SeeAlso []
Definition at line 544 of file cutNode.c.
void Cut_ManPrintStats | ( | Cut_Man_t * | p | ) |
Cut_Params_t* Cut_ManReadParams | ( | Cut_Man_t * | p | ) |
int Cut_ManReadVarsMax | ( | Cut_Man_t * | p | ) |
Cut_Man_t* Cut_ManStart | ( | Cut_Params_t * | pParams | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Starts the cut manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 47 of file cutMan.c.
void Cut_ManStop | ( | Cut_Man_t * | p | ) |
Cut_Cut_t* Cut_NodeComputeCuts | ( | Cut_Man_t * | p, |
int | Node, | ||
int | Node0, | ||
int | Node1, | ||
int | fCompl0, | ||
int | fCompl1, | ||
int | fTriv, | ||
int | TreeCode | ||
) |
Function*************************************************************
Synopsis [Computes the cuts by merging cuts at two nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 369 of file cutNode.c.
void Cut_NodeComputeCutsSeq | ( | Cut_Man_t * | p, |
int | Node, | ||
int | Node0, | ||
int | Node1, | ||
int | fCompl0, | ||
int | fCompl1, | ||
int | nLat0, | ||
int | nLat1, | ||
int | fTriv, | ||
int | CutSetNum | ||
) |
Function*************************************************************
Synopsis [Computes sequential cuts for the node from its fanins.]
Description []
SideEffects []
SeeAlso []
Definition at line 72 of file cutSeq.c.
void Cut_NodeFreeCuts | ( | Cut_Man_t * | p, |
int | Node | ||
) |
Function*************************************************************
Synopsis [Deallocates the cuts at the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 184 of file cutApi.c.
void Cut_NodeNewMergeWithOld | ( | Cut_Man_t * | p, |
int | Node | ||
) |
Function*************************************************************
Synopsis [Merges the new cuts with the old cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 165 of file cutSeq.c.
void Cut_NodeOldTransferToNew | ( | Cut_Man_t * | p, |
int | Node | ||
) |
Function*************************************************************
Synopsis [Transfers the old cuts to be the new cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 217 of file cutSeq.c.
MACRO DEFINITIONS ///.
FUNCTION DECLARATIONS ///
MACRO DEFINITIONS ///.
CFile****************************************************************
FileName [cutNode.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [K-feasible cut computation package.]
Synopsis [Procedures to compute cuts for a node.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Returns the pointer to the linked list of cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file cutApi.c.
void Cut_NodeSetTriv | ( | Cut_Man_t * | p, |
int | Node | ||
) |
Function*************************************************************
Synopsis [Sets the trivial cut for the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 145 of file cutApi.c.
int Cut_NodeTempTransferToNew | ( | Cut_Man_t * | p, |
int | Node, | ||
int | CutSetNum | ||
) |
Function*************************************************************
Synopsis [Transfers the temporary cuts to be the new cuts.]
Description [Returns 1 if something was transferred.]
SideEffects []
SeeAlso []
Definition at line 197 of file cutSeq.c.
void Cut_NodeTryDroppingCuts | ( | Cut_Man_t * | p, |
int | Node | ||
) |
Function*************************************************************
Synopsis [Consider dropping cuts if they are useless by now.]
Description []
SideEffects []
SeeAlso []
Definition at line 162 of file cutApi.c.
Function*************************************************************
Synopsis [Computes the cuts by unioning cuts at a choice node.]
Description []
SideEffects []
SeeAlso []
Definition at line 678 of file cutNode.c.
Function*************************************************************
Synopsis [Computes the cuts by unioning cuts at a choice node.]
Description []
SideEffects []
SeeAlso []
Definition at line 795 of file cutNode.c.
Function*************************************************************
Synopsis [Returns the pointer to the linked list of cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 97 of file cutApi.c.
Function*************************************************************
Synopsis [Returns the pointer to the linked list of cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 113 of file cutApi.c.
Function*************************************************************
Synopsis [Returns the pointer to the linked list of cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 129 of file cutApi.c.
Cut_Cut_t* Cut_OracleComputeCuts | ( | Cut_Oracle_t * | p, |
int | Node, | ||
int | Node0, | ||
int | Node1, | ||
int | fCompl0, | ||
int | fCompl1 | ||
) |
Function*************************************************************
Synopsis [Reconstruct the cuts of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 320 of file cutOracle.c.
void Cut_OracleNodeSetTriv | ( | Cut_Oracle_t * | p, |
int | Node | ||
) |
Function*************************************************************
Synopsis [Sets the trivial cut for the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 192 of file cutOracle.c.
int Cut_OracleReadDrop | ( | Cut_Oracle_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 176 of file cutOracle.c.
void Cut_OracleSetFanoutCounts | ( | Cut_Oracle_t * | p, |
Vec_Int_t * | vFanCounts | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 160 of file cutOracle.c.
Cut_Oracle_t* Cut_OracleStart | ( | Cut_Man_t * | pMan | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Starts the cut oracle.]
Description []
SideEffects []
SeeAlso []
Definition at line 73 of file cutOracle.c.
void Cut_OracleStop | ( | Cut_Oracle_t * | p | ) |
Function*************************************************************
Synopsis [Stop the cut oracle.]
Description []
SideEffects []
SeeAlso []
Definition at line 127 of file cutOracle.c.
void Cut_OracleTryDroppingCuts | ( | Cut_Oracle_t * | p, |
int | Node | ||
) |
Function*************************************************************
Synopsis [Consider dropping cuts if they are useless by now.]
Description []
SideEffects []
SeeAlso []
Definition at line 407 of file cutOracle.c.
void Cut_TruthNCanonicize | ( | Cut_Cut_t * | pCut | ) |
Function*************************************************************
Synopsis [Performs truth table computation.]
Description [This procedure cannot be used while recording oracle because it will overwrite Num0 and Num1.]
SideEffects []
SeeAlso []
Definition at line 85 of file cutTruth.c.