#include <stdio.h>#include <stdlib.h>#include <time.h>#include "base/abc/abc.h"#include "bool/dec/dec.h"#include "opt/rwr/rwr.h"#include "bool/kit/kit.h"
Go to the source code of this file.
Classes | |
| struct | Abc_ManRes_t_ |
| struct | Abc_ManRef_t_ |
Macros | |
| #define | ABC_RS_DIV1_MAX 150 |
| #define | ABC_RS_DIV2_MAX 500 |
Typedefs | |
| typedef struct Abc_ManRes_t_ | Abc_ManRes_t |
| typedef struct Abc_ManRef_t_ | Abc_ManRef_t |
Functions | |
| void | Abc_NodePrintCuts (Abc_Obj_t *pNode) |
| void | Abc_ManShowCutCone (Abc_Obj_t *pNode, Vec_Ptr_t *vLeaves) |
| void | Abc_PlaceBegin (Abc_Ntk_t *pNtk) |
| void | Abc_PlaceEnd (Abc_Ntk_t *pNtk) |
| void | Abc_PlaceUpdate (Vec_Ptr_t *vAddedCells, Vec_Ptr_t *vUpdatedNets) |
| int | Dec_GraphUpdateNetwork (Abc_Obj_t *pRoot, Dec_Graph_t *pGraph, int fUpdateLevel, int nGain) |
| int | Abc_NtkRewrite3 (Abc_Ntk_t *pNtk, Vec_Int_t **pGain_rw, int fUpdateLevel, int fUseZeros, int fVerbose, int fVeryVerbose, int fPlaceEnable) |
| FUNCTION DEFINITIONS ///. | |
| word * | Abc_NodeConeTruth_1 (Vec_Ptr_t *vVars, Vec_Ptr_t *vFuncs, int nWordsMax, Abc_Obj_t *pRoot, Vec_Ptr_t *vLeaves, Vec_Ptr_t *vVisited) |
| int | Abc_NodeConeIsConst0_1 (word *pTruth, int nVars) |
| int | Abc_NodeConeIsConst1_1 (word *pTruth, int nVars) |
| Dec_Graph_t * | Abc_NodeRefactor_1 (Abc_ManRef_t *p, Abc_Obj_t *pNode, Vec_Ptr_t *vFanins, int fUpdateLevel, int fUseZeros, int fUseDcs, int fVerbose) |
| Abc_ManRef_t * | Abc_NtkManRefStart_1 (int nNodeSizeMax, int nConeSizeMax, int fUseDcs, int fVerbose) |
| void | Abc_NtkManRefStop_1 (Abc_ManRef_t *p) |
| void | Abc_NtkManRefPrintStats_1 (Abc_ManRef_t *p) |
| int | Abc_NtkRefactor3 (Abc_Ntk_t *pNtk, Vec_Int_t **pGain_ref, int nNodeSizeMax, int nConeSizeMax, int fUpdateLevel, int fUseZeros, int fUseDcs, int fVerbose) |
| int | Abc_NtkResubstitute3 (Abc_Ntk_t *pNtk, Vec_Int_t **pGain_res, int nCutMax, int nStepsMax, int nLevelsOdc, int fUpdateLevel, int fVerbose, int fVeryVerbose) |
| void | Abc_ManResubCollectDivs_rec1 (Abc_Obj_t *pNode, Vec_Ptr_t *vInternal) |
| Dec_Graph_t * | Abc_ManResubQuit0_1 (Abc_Obj_t *pRoot, Abc_Obj_t *pObj) |
| Dec_Graph_t * | Abc_ManResubQuit1_1 (Abc_Obj_t *pRoot, Abc_Obj_t *pObj0, Abc_Obj_t *pObj1, int fOrGate) |
| Dec_Graph_t * | Abc_ManResubQuit21_1 (Abc_Obj_t *pRoot, Abc_Obj_t *pObj0, Abc_Obj_t *pObj1, Abc_Obj_t *pObj2, int fOrGate) |
| Dec_Graph_t * | Abc_ManResubQuit2_1 (Abc_Obj_t *pRoot, Abc_Obj_t *pObj0, Abc_Obj_t *pObj1, Abc_Obj_t *pObj2, int fOrGate) |
| Dec_Graph_t * | Abc_ManResubQuit3_1 (Abc_Obj_t *pRoot, Abc_Obj_t *pObj0, Abc_Obj_t *pObj1, Abc_Obj_t *pObj2, Abc_Obj_t *pObj3, int fOrGate) |
| int | Abc_CutVolumeCheck_rec_1 (Abc_Obj_t *pObj) |
| void | Abc_CutFactor_rec_1 (Abc_Obj_t *pObj, Vec_Ptr_t *vLeaves) |
| Vec_Ptr_t * | Abc_CutFactor_1 (Abc_Obj_t *pNode) |
| int | Abc_NtkOrchSA (Abc_Ntk_t *pNtk, Vec_Int_t **pGain_rwr, Vec_Int_t **pGain_res, Vec_Int_t **pGain_ref, Vec_Int_t **PolicyList, char *DecisionFile, int fUseZeros_rwr, int fUseZeros_ref, int fPlaceEnable, int nCutMax, int nStepsMax, int nLevelsOdc, int fUpdateLevel, int fVerbose, int fVeryVerbose, int nNodeSizeMax, int nConeSizeMax, int fUseDcs) |
| int | Abc_NtkOrchLocal (Abc_Ntk_t *pNtk, int fUseZeros_rwr, int fUseZeros_ref, int fPlaceEnable, int nCutMax, int nStepsMax, int nLevelsOdc, int fUpdateLevel, int fVerbose, int fVeryVerbose, int nNodeSizeMax, int nConeSizeMax, int fUseDcs) |
| int | Abc_NtkOchestration (Abc_Ntk_t *pNtk, Vec_Int_t **pGain_rwr, Vec_Int_t **pGain_res, Vec_Int_t **pGain_ref, int sOpsOrder, int fUseZeros_rwr, int fUseZeros_ref, int fPlaceEnable, int nCutMax, int nStepsMax, int nLevelsOdc, int fUpdateLevel, int fVerbose, int fVeryVerbose, int nNodeSizeMax, int nConeSizeMax, int fUseDcs) |
| int | Abc_NtkOchestration3 (Abc_Ntk_t *pNtk, Vec_Int_t **pGain_rwr, Vec_Int_t **pGain_res, Vec_Int_t **pGain_ref, Vec_Int_t **pOps_num, int fUseZeros, int fUseZeros_rwr, int fUseZeros_ref, int fPlaceEnable, int nCutMax, int nStepsMax, int nLevelsOdc, int fUpdateLevel, int fVerbose, int fVeryVerbose, int nNodeSizeMax, int nConeSizeMax, int fUseDcs) |
| int | Abc_NtkOchestration2 (Abc_Ntk_t *pNtk, Vec_Int_t **pGain_rwr, Vec_Int_t **pGain_res, Vec_Int_t **pGain_ref, Vec_Int_t **pOps_num, int fUseZeros, int fUseZeros_rwr, int fUseZeros_ref, int fPlaceEnable, int nCutMax, int nStepsMax, int nLevelsOdc, int fUpdateLevel, int fVerbose, int fVeryVerbose, int nNodeSizeMax, int nConeSizeMax, int fUseDcs) |
| int | Abc_NtkOrchGNN (Abc_Ntk_t *pNtk, char *edgelistFile, char *featFile, int fUseZeros, int fUseZeros_rwr, int fUseZeros_ref, int fPlaceEnable, int nCutMax, int nStepsMax, int nLevelsOdc, int fUpdateLevel, int fVerbose, int fVeryVerbose, int nNodeSizeMax, int nConeSizeMax, int fUseDcs) |
| int | Abc_NtkOrchRand (Abc_Ntk_t *pNtk, Vec_Int_t **pGain_rwr, Vec_Int_t **pGain_res, Vec_Int_t **pGain_ref, Vec_Int_t **DecisionMask, char *DecisionFile, int Rand_Seed, int fUseZeros_rwr, int fUseZeros_ref, int fPlaceEnable, int nCutMax, int nStepsMax, int nLevelsOdc, int fUpdateLevel, int fVerbose, int fVeryVerbose, int nNodeSizeMax, int nConeSizeMax, int fUseDcs) |
Variables | |
| abctime | s_ResubTime |
| #define ABC_RS_DIV1_MAX 150 |
Definition at line 44 of file abcOrchestration.c.
| #define ABC_RS_DIV2_MAX 500 |
Definition at line 45 of file abcOrchestration.c.
| typedef struct Abc_ManRef_t_ Abc_ManRef_t |
Definition at line 135 of file abcOrchestration.c.
| typedef struct Abc_ManRes_t_ Abc_ManRes_t |
Definition at line 47 of file abcOrchestration.c.
Function*************************************************************
Synopsis [Computes the factor cut of the node.]
Description [Factor-cut is the cut at a node in terms of factor-nodes. Factor-nodes are roots of the node trees (MUXes/EXORs are counted as single nodes). Factor-cut is unique for the given node.]
SideEffects []
SeeAlso []
Definition at line 2537 of file abcOrchestration.c.

Function*************************************************************
Synopsis [Computes the factor cut of the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 2508 of file abcOrchestration.c.


| int Abc_CutVolumeCheck_rec_1 | ( | Abc_Obj_t * | pObj | ) |
Function*************************************************************
Synopsis [Computes the volume and checks if the cut is feasible.]
Description []
SideEffects []
SeeAlso []
Definition at line 2460 of file abcOrchestration.c.


Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 866 of file abcOrchestration.c.


| Dec_Graph_t * Abc_ManResubQuit0_1 | ( | Abc_Obj_t * | pRoot, |
| Abc_Obj_t * | pObj ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1085 of file abcOrchestration.c.
| Dec_Graph_t * Abc_ManResubQuit1_1 | ( | Abc_Obj_t * | pRoot, |
| Abc_Obj_t * | pObj0, | ||
| Abc_Obj_t * | pObj1, | ||
| int | fOrGate ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1110 of file abcOrchestration.c.
| Dec_Graph_t * Abc_ManResubQuit21_1 | ( | Abc_Obj_t * | pRoot, |
| Abc_Obj_t * | pObj0, | ||
| Abc_Obj_t * | pObj1, | ||
| Abc_Obj_t * | pObj2, | ||
| int | fOrGate ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1142 of file abcOrchestration.c.
| Dec_Graph_t * Abc_ManResubQuit2_1 | ( | Abc_Obj_t * | pRoot, |
| Abc_Obj_t * | pObj0, | ||
| Abc_Obj_t * | pObj1, | ||
| Abc_Obj_t * | pObj2, | ||
| int | fOrGate ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1185 of file abcOrchestration.c.
| Dec_Graph_t * Abc_ManResubQuit3_1 | ( | Abc_Obj_t * | pRoot, |
| Abc_Obj_t * | pObj0, | ||
| Abc_Obj_t * | pObj1, | ||
| Abc_Obj_t * | pObj2, | ||
| Abc_Obj_t * | pObj3, | ||
| int | fOrGate ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1232 of file abcOrchestration.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 347 of file abcRewrite.c.


| int Abc_NodeConeIsConst0_1 | ( | word * | pTruth, |
| int | nVars ) |
Definition at line 342 of file abcOrchestration.c.

| int Abc_NodeConeIsConst1_1 | ( | word * | pTruth, |
| int | nVars ) |
Definition at line 350 of file abcOrchestration.c.

| word * Abc_NodeConeTruth_1 | ( | Vec_Ptr_t * | vVars, |
| Vec_Ptr_t * | vFuncs, | ||
| int | nWordsMax, | ||
| Abc_Obj_t * | pRoot, | ||
| Vec_Ptr_t * | vLeaves, | ||
| Vec_Ptr_t * | vVisited ) |
Definition at line 304 of file abcOrchestration.c.


|
extern |
Function*************************************************************
Synopsis [Prints the cuts at the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 247 of file abcRewrite.c.


| Dec_Graph_t * Abc_NodeRefactor_1 | ( | Abc_ManRef_t * | p, |
| Abc_Obj_t * | pNode, | ||
| Vec_Ptr_t * | vFanins, | ||
| int | fUpdateLevel, | ||
| int | fUseZeros, | ||
| int | fUseDcs, | ||
| int | fVerbose ) |
Definition at line 361 of file abcOrchestration.c.


| void Abc_NtkManRefPrintStats_1 | ( | Abc_ManRef_t * | p | ) |
| Abc_ManRef_t * Abc_NtkManRefStart_1 | ( | int | nNodeSizeMax, |
| int | nConeSizeMax, | ||
| int | fUseDcs, | ||
| int | fVerbose ) |
Definition at line 428 of file abcOrchestration.c.


| void Abc_NtkManRefStop_1 | ( | Abc_ManRef_t * | p | ) |
| int Abc_NtkOchestration | ( | Abc_Ntk_t * | pNtk, |
| Vec_Int_t ** | pGain_rwr, | ||
| Vec_Int_t ** | pGain_res, | ||
| Vec_Int_t ** | pGain_ref, | ||
| int | sOpsOrder, | ||
| int | fUseZeros_rwr, | ||
| int | fUseZeros_ref, | ||
| int | fPlaceEnable, | ||
| int | nCutMax, | ||
| int | nStepsMax, | ||
| int | nLevelsOdc, | ||
| int | fUpdateLevel, | ||
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| int | nNodeSizeMax, | ||
| int | nConeSizeMax, | ||
| int | fUseDcs ) |
Definition at line 3522 of file abcOrchestration.c.

| int Abc_NtkOchestration2 | ( | Abc_Ntk_t * | pNtk, |
| Vec_Int_t ** | pGain_rwr, | ||
| Vec_Int_t ** | pGain_res, | ||
| Vec_Int_t ** | pGain_ref, | ||
| Vec_Int_t ** | pOps_num, | ||
| int | fUseZeros, | ||
| int | fUseZeros_rwr, | ||
| int | fUseZeros_ref, | ||
| int | fPlaceEnable, | ||
| int | nCutMax, | ||
| int | nStepsMax, | ||
| int | nLevelsOdc, | ||
| int | fUpdateLevel, | ||
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| int | nNodeSizeMax, | ||
| int | nConeSizeMax, | ||
| int | fUseDcs ) |
Definition at line 4717 of file abcOrchestration.c.

| int Abc_NtkOchestration3 | ( | Abc_Ntk_t * | pNtk, |
| Vec_Int_t ** | pGain_rwr, | ||
| Vec_Int_t ** | pGain_res, | ||
| Vec_Int_t ** | pGain_ref, | ||
| Vec_Int_t ** | pOps_num, | ||
| int | fUseZeros, | ||
| int | fUseZeros_rwr, | ||
| int | fUseZeros_ref, | ||
| int | fPlaceEnable, | ||
| int | nCutMax, | ||
| int | nStepsMax, | ||
| int | nLevelsOdc, | ||
| int | fUpdateLevel, | ||
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| int | nNodeSizeMax, | ||
| int | nConeSizeMax, | ||
| int | fUseDcs ) |
Definition at line 4351 of file abcOrchestration.c.

| int Abc_NtkOrchGNN | ( | Abc_Ntk_t * | pNtk, |
| char * | edgelistFile, | ||
| char * | featFile, | ||
| int | fUseZeros, | ||
| int | fUseZeros_rwr, | ||
| int | fUseZeros_ref, | ||
| int | fPlaceEnable, | ||
| int | nCutMax, | ||
| int | nStepsMax, | ||
| int | nLevelsOdc, | ||
| int | fUpdateLevel, | ||
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| int | nNodeSizeMax, | ||
| int | nConeSizeMax, | ||
| int | fUseDcs ) |
Definition at line 5114 of file abcOrchestration.c.

| int Abc_NtkOrchLocal | ( | Abc_Ntk_t * | pNtk, |
| int | fUseZeros_rwr, | ||
| int | fUseZeros_ref, | ||
| int | fPlaceEnable, | ||
| int | nCutMax, | ||
| int | nStepsMax, | ||
| int | nLevelsOdc, | ||
| int | fUpdateLevel, | ||
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| int | nNodeSizeMax, | ||
| int | nConeSizeMax, | ||
| int | fUseDcs ) |
Definition at line 3231 of file abcOrchestration.c.

| int Abc_NtkOrchRand | ( | Abc_Ntk_t * | pNtk, |
| Vec_Int_t ** | pGain_rwr, | ||
| Vec_Int_t ** | pGain_res, | ||
| Vec_Int_t ** | pGain_ref, | ||
| Vec_Int_t ** | DecisionMask, | ||
| char * | DecisionFile, | ||
| int | Rand_Seed, | ||
| int | fUseZeros_rwr, | ||
| int | fUseZeros_ref, | ||
| int | fPlaceEnable, | ||
| int | nCutMax, | ||
| int | nStepsMax, | ||
| int | nLevelsOdc, | ||
| int | fUpdateLevel, | ||
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| int | nNodeSizeMax, | ||
| int | nConeSizeMax, | ||
| int | fUseDcs ) |
Definition at line 5355 of file abcOrchestration.c.

| int Abc_NtkOrchSA | ( | Abc_Ntk_t * | pNtk, |
| Vec_Int_t ** | pGain_rwr, | ||
| Vec_Int_t ** | pGain_res, | ||
| Vec_Int_t ** | pGain_ref, | ||
| Vec_Int_t ** | PolicyList, | ||
| char * | DecisionFile, | ||
| int | fUseZeros_rwr, | ||
| int | fUseZeros_ref, | ||
| int | fPlaceEnable, | ||
| int | nCutMax, | ||
| int | nStepsMax, | ||
| int | nLevelsOdc, | ||
| int | fUpdateLevel, | ||
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| int | nNodeSizeMax, | ||
| int | nConeSizeMax, | ||
| int | fUseDcs ) |
Definition at line 2666 of file abcOrchestration.c.

| int Abc_NtkRefactor3 | ( | Abc_Ntk_t * | pNtk, |
| Vec_Int_t ** | pGain_ref, | ||
| int | nNodeSizeMax, | ||
| int | nConeSizeMax, | ||
| int | fUpdateLevel, | ||
| int | fUseZeros, | ||
| int | fUseDcs, | ||
| int | fVerbose ) |
Definition at line 471 of file abcOrchestration.c.

| int Abc_NtkResubstitute3 | ( | Abc_Ntk_t * | pNtk, |
| Vec_Int_t ** | pGain_res, | ||
| int | nCutMax, | ||
| int | nStepsMax, | ||
| int | nLevelsOdc, | ||
| int | fUpdateLevel, | ||
| int | fVerbose, | ||
| int | fVeryVerbose ) |
Function*************************************************************
Synopsis [Performs incremental resynthesis of the AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 572 of file abcOrchestration.c.

| int Abc_NtkRewrite3 | ( | Abc_Ntk_t * | pNtk, |
| Vec_Int_t ** | pGain_rw, | ||
| int | fUpdateLevel, | ||
| int | fUseZeros, | ||
| int | fVerbose, | ||
| int | fVeryVerbose, | ||
| int | fPlaceEnable ) |
FUNCTION DEFINITIONS ///.
Function*********************************************************** Rewrite
Definition at line 171 of file abcOrchestration.c.

|
extern |
Function*************************************************************
Synopsis [This procedure is called before the writing start.]
Description []
SideEffects []
SeeAlso []
Definition at line 178 of file abcPlace.c.

|
extern |
Function*************************************************************
Synopsis [This procedure is called after the writing completes.]
Description []
SideEffects []
SeeAlso []
Definition at line 241 of file abcPlace.c.
Function*************************************************************
Synopsis [Updates placement after one step of rewriting.]
Description []
SideEffects []
SeeAlso []
Definition at line 126 of file abcPlace.c.
|
extern |
Function*************************************************************
Synopsis [Replaces MFFC of the node by the new factored form.]
Description []
SideEffects []
SeeAlso []
Definition at line 240 of file decAbc.c.


|
extern |