abc-master
|
Go to the source code of this file.
Functions | |
static ABC_NAMESPACE_IMPL_START int | Ivy_NodeRewriteSeq (Ivy_Man_t *pMan, Rwt_Man_t *p, Ivy_Obj_t *pNode, int fUseZeroCost) |
DECLARATIONS ///. More... | |
static void | Ivy_GraphPrepare (Dec_Graph_t *pGraph, Ivy_Cut_t *pCut, Vec_Ptr_t *vFanins, char *pPerm) |
static unsigned | Ivy_CutGetTruth (Ivy_Man_t *p, Ivy_Obj_t *pObj, int *pNums, int nNums) |
static Dec_Graph_t * | Rwt_CutEvaluateSeq (Ivy_Man_t *pMan, Rwt_Man_t *p, Ivy_Obj_t *pRoot, Ivy_Cut_t *pCut, char *pPerm, Vec_Ptr_t *vFaninsCur, int nNodesSaved, int *pGainBest, unsigned uTruth) |
static int | Ivy_GraphToNetworkSeqCountSeq (Ivy_Man_t *p, Ivy_Obj_t *pRoot, Dec_Graph_t *pGraph, int NodeMax) |
static Ivy_Obj_t * | Ivy_GraphToNetworkSeq (Ivy_Man_t *p, Dec_Graph_t *pGraph) |
static void | Ivy_GraphUpdateNetworkSeq (Ivy_Man_t *p, Ivy_Obj_t *pRoot, Dec_Graph_t *pGraph, int nGain) |
static Ivy_Store_t * | Ivy_CutComputeForNode (Ivy_Man_t *p, Ivy_Obj_t *pObj, int nLeaves) |
static int | Ivy_CutHashValue (int NodeId) |
int | Ivy_ManRewriteSeq (Ivy_Man_t *p, int fUseZeroCost, int fVerbose) |
FUNCTION DEFINITIONS ///. More... | |
unsigned | Ivy_CutGetTruth_rec (Ivy_Man_t *p, int Leaf, int *pNums, int nNums) |
static int | Ivy_CutPrescreen (Ivy_Cut_t *pCut, int Id0, int Id1) |
static int | Ivy_CutDeriveNew2 (Ivy_Cut_t *pCut, Ivy_Cut_t *pCutNew, int IdOld, int IdNew0, int IdNew1) |
static int | Ivy_CutDeriveNew (Ivy_Cut_t *pCut, Ivy_Cut_t *pCutNew, int IdOld, int IdNew0, int IdNew1) |
static unsigned | Ivy_NodeCutHash (Ivy_Cut_t *pCut) |
static int | Ivy_CutDeriveNew3 (Ivy_Cut_t *pCut, Ivy_Cut_t *pCutNew, int IdOld, int IdNew0, int IdNew1) |
static int | Ivy_CutCheckDominance (Ivy_Cut_t *pDom, Ivy_Cut_t *pCut) |
int | Ivy_CutFindOrAddFilter (Ivy_Store_t *pCutStore, Ivy_Cut_t *pCutNew) |
void | Ivy_CutCompactAll (Ivy_Store_t *pCutStore) |
void | Ivy_CutPrintForNode (Ivy_Cut_t *pCut) |
void | Ivy_CutPrintForNodes (Ivy_Store_t *pCutStore) |
static int | Ivy_CutReadLeaf (Ivy_Obj_t *pFanin) |
void | Ivy_CutComputeAll (Ivy_Man_t *p, int nInputs) |
void Ivy_CutCompactAll | ( | Ivy_Store_t * | pCutStore | ) |
void Ivy_CutComputeAll | ( | Ivy_Man_t * | p, |
int | nInputs | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1108 of file ivySeq.c.
|
static |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1027 of file ivySeq.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int Ivy_CutFindOrAddFilter | ( | Ivy_Store_t * | pCutStore, |
Ivy_Cut_t * | pCutNew | ||
) |
Function*************************************************************
Synopsis [Check if the cut exists.]
Description [Returns 1 if the cut exists.]
SideEffects []
SeeAlso []
Definition at line 873 of file ivySeq.c.
Function*************************************************************
Synopsis [Computes the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 602 of file ivySeq.c.
unsigned Ivy_CutGetTruth_rec | ( | Ivy_Man_t * | p, |
int | Leaf, | ||
int * | pNums, | ||
int | nNums | ||
) |
Function*************************************************************
Synopsis [Computes the truth table.]
Description []
SideEffects []
SeeAlso []
Definition at line 560 of file ivySeq.c.
|
inlinestatic |
|
inlinestatic |
void Ivy_CutPrintForNode | ( | Ivy_Cut_t * | pCut | ) |
void Ivy_CutPrintForNodes | ( | Ivy_Store_t * | pCutStore | ) |
|
inlinestatic |
|
static |
|
static |
Function*************************************************************
Synopsis [Transforms the decomposition graph into the AIG.]
Description [AIG nodes for the fanins should be assigned to pNode->pFunc of the leaves of the graph before calling this procedure.]
SideEffects []
SeeAlso []
Definition at line 477 of file ivySeq.c.
|
static |
Function*************************************************************
Synopsis [Counts the number of new nodes added when using this graph.]
Description [AIG nodes for the fanins should be assigned to pNode->pFunc of the leaves of the graph before calling this procedure. Returns -1 if the number of nodes and levels exceeded the given limit or the number of levels exceeded the maximum allowed level.]
SideEffects []
SeeAlso []
Definition at line 403 of file ivySeq.c.
|
static |
Function*************************************************************
Synopsis [Replaces MFFC of the node by the new factored form.]
Description []
SideEffects []
SeeAlso []
Definition at line 526 of file ivySeq.c.
int Ivy_ManRewriteSeq | ( | Ivy_Man_t * | p, |
int | fUseZeroCost, | ||
int | fVerbose | ||
) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Performs incremental rewriting of the AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 63 of file ivySeq.c.
|
inlinestatic |
|
static |
DECLARATIONS ///.
CFile****************************************************************
FileName [ivySeq.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [And-Inverter Graph package.]
Synopsis []
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - May 11, 2006.]
Revision [
]
Function*************************************************************
Synopsis [Performs rewriting for one node.]
Description [This procedure considers all the cuts computed for the node and tries to rewrite each of them using the "forest" of different AIG structures precomputed and stored in the RWR manager. Determines the best rewriting and computes the gain in the number of AIG nodes in the final network. In the end, p->vFanins contains information about the best cut that can be used for rewriting, while p->pGraph gives the decomposition dag (represented using decomposition graph data structure). Returns gain in the number of nodes or -1 if node cannot be rewritten.]
SideEffects []
SeeAlso []
Definition at line 145 of file ivySeq.c.
|
static |
Function*************************************************************
Synopsis [Evaluates the cut.]
Description []
SideEffects []
SeeAlso []
Definition at line 311 of file ivySeq.c.