#include "gia.h"#include "misc/util/utilTruth.h"#include "misc/vec/vecHsh.h"#include "opt/dau/dau.h"
Go to the source code of this file.
Classes | |
| struct | Gia_Rsb2Man_t_ |
Typedefs | |
| typedef typedefABC_NAMESPACE_IMPL_START struct Gia_Rsb2Man_t_ | Gia_Rsb2Man_t |
| DECLARATIONS ///. | |
Functions | |
| void | Abc_ResubPrepareManager (int nWords) |
| int | Abc_ResubComputeFunction (void **ppDivs, int nDivs, int nWords, int nLimit, int nDivsMax, int iChoice, int fUseXor, int fDebug, int fVerbose, int **ppArray) |
| Gia_Rsb2Man_t * | Gia_Rsb2ManAlloc () |
| FUNCTION DEFINITIONS ///. | |
| void | Gia_Rsb2ManFree (Gia_Rsb2Man_t *p) |
| void | Gia_Rsb2ManStart (Gia_Rsb2Man_t *p, int *pObjs, int nObjs, int nDivsMax, int nLevelIncrease, int fUseXor, int fUseZeroCost, int fDebug, int fVerbose) |
| void | Gia_Rsb2ManPrint (Gia_Rsb2Man_t *p) |
| int | Gia_Rsb2ManLevel (Gia_Rsb2Man_t *p) |
| word | Gia_Rsb2ManOdcs (Gia_Rsb2Man_t *p, int iNode) |
| int | Gia_Rsb2ManDeref_rec (Gia_Rsb2Man_t *p, int *pObjs, int *pRefs, int iNode) |
| int | Gia_Rsb2ManMffc (Gia_Rsb2Man_t *p, int iNode) |
| int | Gia_Rsb2ManDivs (Gia_Rsb2Man_t *p, int iNode) |
| int | Gia_Rsb2AddNode (Vec_Int_t *vRes, int iLit0, int iLit1, int iRes0, int iRes1) |
| int | Gia_Rsb2ManInsert_rec (Vec_Int_t *vRes, int nPis, Vec_Int_t *vObjs, int iNode, Vec_Int_t *vResub, Vec_Int_t *vDivs, Vec_Int_t *vCopies, int iObj) |
| Vec_Int_t * | Gia_Rsb2ManInsert (int nPis, int nPos, Vec_Int_t *vObjs, int iNode, Vec_Int_t *vResub, Vec_Int_t *vDivs, Vec_Int_t *vCopies) |
| void | Abc_ResubPrintDivs (void **ppDivs, int nDivs) |
| int | Abc_ResubNodeToTry (Vec_Int_t *vTried, int iFirst, int iLast) |
| int | Abc_ResubComputeWindow (int *pObjs, int nObjs, int nDivsMax, int nLevelIncrease, int fUseXor, int fUseZeroCost, int fDebug, int fVerbose, int **ppArray, int *pnResubs) |
| int | Abc_ResubComputeWindow2 (int *pObjs, int nObjs, int nDivsMax, int nLevelIncrease, int fUseXor, int fUseZeroCost, int fDebug, int fVerbose, int **ppArray, int *pnResubs) |
| int * | Gia_ManToResub (Gia_Man_t *p) |
| Gia_Man_t * | Gia_ManFromResub (int *pObjs, int nObjs, int nIns) |
| Gia_Man_t * | Gia_ManResub2Test (Gia_Man_t *p) |
| int | Gia_WinTryAddingNode (Gia_Man_t *p, int iPivot, int iPivot2, Vec_Wec_t *vLevels, Vec_Int_t *vNodes) |
| int | Gia_WinAddCiWithMaxFanouts (Gia_Man_t *p) |
| int | Gia_WinAddCiWithMaxDivisors (Gia_Man_t *p, Vec_Wec_t *vLevels) |
| int | Gia_WinNodeHasUnmarkedFanouts (Gia_Man_t *p, int iPivot) |
| Vec_Int_t * | Gia_RsbCiTranslate (Gia_Man_t *p, Vec_Int_t *vObjs, Vec_Int_t *vMap) |
| Vec_Int_t * | Gia_RsbCiWindow (Gia_Man_t *p, int nPis) |
| void | Gia_RsbCiWindowTest (Gia_Man_t *p) |
| void | Gia_RsbWindowGather (Gia_Man_t *p, Vec_Int_t *vPaths, int iNode, Vec_Int_t *vVisited) |
| int | Gia_RsbWindowExplore (Gia_Man_t *p, Vec_Int_t *vVisited, int iStart, Vec_Int_t *vPaths, int *piMeet, int *piNode) |
| Vec_Int_t * | Gia_RsbWindowInit (Gia_Man_t *p, Vec_Int_t *vPaths, int iPivot, int nIter) |
| Vec_Int_t * | Gia_RsbCreateWindowInputs (Gia_Man_t *p, Vec_Int_t *vWin) |
| void | Gia_RsbAddSideInputs (Gia_Man_t *p, Vec_Wec_t *vLevels, Vec_Int_t *vWin) |
| void | Gia_RsbExpandInputs (Gia_Man_t *p, Vec_Wec_t *vLevels, Vec_Int_t *vWin, Vec_Int_t *vInputs) |
| int | Gia_RsbSelectOneInput (Gia_Man_t *p, Vec_Wec_t *vLevels, Vec_Int_t *vIns) |
| void | Gia_RsbWindowGrow (Gia_Man_t *p, Vec_Wec_t *vLevels, Vec_Int_t *vWin, Vec_Int_t *vIns, int nInputsMax) |
| void | Gia_WinCreateFromCut_rec (Gia_Man_t *p, int iObj, Vec_Int_t *vWin) |
| void | Gia_WinCreateFromCut (Gia_Man_t *p, int iPivot, Vec_Int_t *vIn, Vec_Wec_t *vLevels, Vec_Int_t *vWin) |
| int | Gia_RsbExpandCut (Gia_Man_t *p, Vec_Int_t *vIns) |
| int | Gia_RsbFindFaninAdd (int iFan, int pFanins[32], int pFaninCounts[32], int nFanins) |
| int | Gia_RsbFindFaninToAddToCut (Gia_Man_t *p, Vec_Int_t *vIns) |
| void | Gia_RsbWindowGrow2 (Gia_Man_t *p, int iObj, Vec_Wec_t *vLevels, Vec_Int_t *vWin, Vec_Int_t *vIns, int nInputsMax) |
| int | Gia_RsbWindowCompute (Gia_Man_t *p, int iObj, int nInputsMax, int nLevelsMax, Vec_Wec_t *vLevels, Vec_Int_t *vPaths, Vec_Int_t **pvWin, Vec_Int_t **pvIns) |
| Vec_Int_t * | Gia_RsbFindOutputs (Gia_Man_t *p, Vec_Int_t *vWin, Vec_Int_t *vIns, Vec_Int_t *vRefs) |
| Gia_Man_t * | Gia_RsbDeriveGiaFromWindows (Gia_Man_t *p, Vec_Int_t *vWin, Vec_Int_t *vIns, Vec_Int_t *vOuts) |
| word | Gia_LutComputeTruth66_rec (Gia_Man_t *p, Gia_Obj_t *pObj) |
| int | Gia_ManVerifyTwoTruths (Gia_Man_t *p1, Gia_Man_t *p2) |
| void | Gia_RsbEnumerateWindows (Gia_Man_t *p, int nInputsMax, int nLevelsMax) |
| Gia_Man_t * | Gia_RsbTryOneWindow (Gia_Man_t *p) |
| void | Gia_RsbTestArray () |
| Vec_Wec_t * | Gia_ManExtractCuts2 (Gia_Man_t *p, int nCutSize, int nCuts, int fVerbose) |
| typedef typedefABC_NAMESPACE_IMPL_START struct Gia_Rsb2Man_t_ Gia_Rsb2Man_t |
DECLARATIONS ///.
CFile****************************************************************
FileName [giaResub2.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis []
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]
Definition at line 33 of file giaResub2.c.
|
extern |
Definition at line 1548 of file giaResub.c.


| int Abc_ResubComputeWindow | ( | int * | pObjs, |
| int | nObjs, | ||
| int | nDivsMax, | ||
| int | nLevelIncrease, | ||
| int | fUseXor, | ||
| int | fUseZeroCost, | ||
| int | fDebug, | ||
| int | fVerbose, | ||
| int ** | ppArray, | ||
| int * | pnResubs ) |
Definition at line 434 of file giaResub2.c.


| int Abc_ResubComputeWindow2 | ( | int * | pObjs, |
| int | nObjs, | ||
| int | nDivsMax, | ||
| int | nLevelIncrease, | ||
| int | fUseXor, | ||
| int | fUseZeroCost, | ||
| int | fDebug, | ||
| int | fVerbose, | ||
| int ** | ppArray, | ||
| int * | pnResubs ) |
Definition at line 477 of file giaResub2.c.

| int Abc_ResubNodeToTry | ( | Vec_Int_t * | vTried, |
| int | iFirst, | ||
| int | iLast ) |
Definition at line 425 of file giaResub2.c.

|
extern |
Definition at line 1539 of file giaResub.c.


| void Abc_ResubPrintDivs | ( | void ** | ppDivs, |
| int | nDivs ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 415 of file giaResub2.c.

Function*************************************************************
Synopsis [Naive truth-table-based verification.]
Description []
SideEffects []
SeeAlso []
Definition at line 1297 of file giaResub2.c.


Function*************************************************************
Synopsis [Computing cuts of the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1523 of file giaResub2.c.


| Gia_Man_t * Gia_ManFromResub | ( | int * | pObjs, |
| int | nObjs, | ||
| int | nIns ) |
Definition at line 515 of file giaResub2.c.


Definition at line 533 of file giaResub2.c.


| int * Gia_ManToResub | ( | Gia_Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 497 of file giaResub2.c.


Definition at line 1313 of file giaResub2.c.


| int Gia_Rsb2AddNode | ( | Vec_Int_t * | vRes, |
| int | iLit0, | ||
| int | iLit1, | ||
| int | iRes0, | ||
| int | iRes1 ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 301 of file giaResub2.c.

| Gia_Rsb2Man_t * Gia_Rsb2ManAlloc | ( | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 83 of file giaResub2.c.

| int Gia_Rsb2ManDeref_rec | ( | Gia_Rsb2Man_t * | p, |
| int * | pObjs, | ||
| int * | pRefs, | ||
| int | iNode ) |
Definition at line 223 of file giaResub2.c.


| int Gia_Rsb2ManDivs | ( | Gia_Rsb2Man_t * | p, |
| int | iNode ) |
Definition at line 256 of file giaResub2.c.


| void Gia_Rsb2ManFree | ( | Gia_Rsb2Man_t * | p | ) |
Definition at line 88 of file giaResub2.c.

| Vec_Int_t * Gia_Rsb2ManInsert | ( | int | nPis, |
| int | nPos, | ||
| Vec_Int_t * | vObjs, | ||
| int | iNode, | ||
| Vec_Int_t * | vResub, | ||
| Vec_Int_t * | vDivs, | ||
| Vec_Int_t * | vCopies ) |
Definition at line 383 of file giaResub2.c.


| int Gia_Rsb2ManInsert_rec | ( | Vec_Int_t * | vRes, |
| int | nPis, | ||
| Vec_Int_t * | vObjs, | ||
| int | iNode, | ||
| Vec_Int_t * | vResub, | ||
| Vec_Int_t * | vDivs, | ||
| Vec_Int_t * | vCopies, | ||
| int | iObj ) |
Definition at line 337 of file giaResub2.c.


| int Gia_Rsb2ManLevel | ( | Gia_Rsb2Man_t * | p | ) |
Definition at line 179 of file giaResub2.c.

| int Gia_Rsb2ManMffc | ( | Gia_Rsb2Man_t * | p, |
| int | iNode ) |
Definition at line 234 of file giaResub2.c.


| word Gia_Rsb2ManOdcs | ( | Gia_Rsb2Man_t * | p, |
| int | iNode ) |
Definition at line 191 of file giaResub2.c.

| void Gia_Rsb2ManPrint | ( | Gia_Rsb2Man_t * | p | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 166 of file giaResub2.c.
| void Gia_Rsb2ManStart | ( | Gia_Rsb2Man_t * | p, |
| int * | pObjs, | ||
| int | nObjs, | ||
| int | nDivsMax, | ||
| int | nLevelIncrease, | ||
| int | fUseXor, | ||
| int | fUseZeroCost, | ||
| int | fDebug, | ||
| int | fVerbose ) |
Definition at line 100 of file giaResub2.c.

Function*************************************************************
Synopsis [Grow window for the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 866 of file giaResub2.c.

Definition at line 665 of file giaResub2.c.


Definition at line 688 of file giaResub2.c.


| void Gia_RsbCiWindowTest | ( | Gia_Man_t * | p | ) |
Definition at line 715 of file giaResub2.c.

Definition at line 830 of file giaResub2.c.


| Gia_Man_t * Gia_RsbDeriveGiaFromWindows | ( | Gia_Man_t * | p, |
| Vec_Int_t * | vWin, | ||
| Vec_Int_t * | vIns, | ||
| Vec_Int_t * | vOuts ) |
Definition at line 1264 of file giaResub2.c.


| void Gia_RsbEnumerateWindows | ( | Gia_Man_t * | p, |
| int | nInputsMax, | ||
| int | nLevelsMax ) |
Function*************************************************************
Synopsis [Enumerate windows of the nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 1353 of file giaResub2.c.

Definition at line 1048 of file giaResub2.c.

| void Gia_RsbExpandInputs | ( | Gia_Man_t * | p, |
| Vec_Wec_t * | vLevels, | ||
| Vec_Int_t * | vWin, | ||
| Vec_Int_t * | vInputs ) |
Definition at line 902 of file giaResub2.c.


| int Gia_RsbFindFaninAdd | ( | int | iFan, |
| int | pFanins[32], | ||
| int | pFaninCounts[32], | ||
| int | nFanins ) |
Definition at line 1091 of file giaResub2.c.

Definition at line 1101 of file giaResub2.c.


| Vec_Int_t * Gia_RsbFindOutputs | ( | Gia_Man_t * | p, |
| Vec_Int_t * | vWin, | ||
| Vec_Int_t * | vIns, | ||
| Vec_Int_t * | vRefs ) |
Function*************************************************************
Synopsis [Derive GIA from the window]
Description []
SideEffects []
SeeAlso []
Definition at line 1239 of file giaResub2.c.


Definition at line 933 of file giaResub2.c.


| void Gia_RsbTestArray | ( | ) |
Function*************************************************************
Synopsis [Apply k-resub to one AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 1459 of file giaResub2.c.

Function*************************************************************
Synopsis [Apply k-resub to one AIG.]
Description []
SideEffects []
SeeAlso []
Definition at line 1443 of file giaResub2.c.

| int Gia_RsbWindowCompute | ( | Gia_Man_t * | p, |
| int | iObj, | ||
| int | nInputsMax, | ||
| int | nLevelsMax, | ||
| Vec_Wec_t * | vLevels, | ||
| Vec_Int_t * | vPaths, | ||
| Vec_Int_t ** | pvWin, | ||
| Vec_Int_t ** | pvIns ) |
Function*************************************************************
Synopsis [Create window for the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 1199 of file giaResub2.c.


| int Gia_RsbWindowExplore | ( | Gia_Man_t * | p, |
| Vec_Int_t * | vVisited, | ||
| int | iStart, | ||
| Vec_Int_t * | vPaths, | ||
| int * | piMeet, | ||
| int * | piNode ) |
Definition at line 756 of file giaResub2.c.

Definition at line 743 of file giaResub2.c.


| void Gia_RsbWindowGrow | ( | Gia_Man_t * | p, |
| Vec_Wec_t * | vLevels, | ||
| Vec_Int_t * | vWin, | ||
| Vec_Int_t * | vIns, | ||
| int | nInputsMax ) |
Definition at line 953 of file giaResub2.c.

| void Gia_RsbWindowGrow2 | ( | Gia_Man_t * | p, |
| int | iObj, | ||
| Vec_Wec_t * | vLevels, | ||
| Vec_Int_t * | vWin, | ||
| Vec_Int_t * | vIns, | ||
| int | nInputsMax ) |
Definition at line 1140 of file giaResub2.c.


Definition at line 789 of file giaResub2.c.


Definition at line 636 of file giaResub2.c.


| int Gia_WinAddCiWithMaxFanouts | ( | Gia_Man_t * | p | ) |
Definition at line 623 of file giaResub2.c.

| void Gia_WinCreateFromCut | ( | Gia_Man_t * | p, |
| int | iPivot, | ||
| Vec_Int_t * | vIn, | ||
| Vec_Wec_t * | vLevels, | ||
| Vec_Int_t * | vWin ) |
Definition at line 995 of file giaResub2.c.


Function*************************************************************
Synopsis [Grow window for the node.]
Description []
SideEffects []
SeeAlso []
Definition at line 982 of file giaResub2.c.


| int Gia_WinNodeHasUnmarkedFanouts | ( | Gia_Man_t * | p, |
| int | iPivot ) |
Definition at line 654 of file giaResub2.c.

| int Gia_WinTryAddingNode | ( | Gia_Man_t * | p, |
| int | iPivot, | ||
| int | iPivot2, | ||
| Vec_Wec_t * | vLevels, | ||
| Vec_Int_t * | vNodes ) |
Function*************************************************************
Synopsis [Creating a window with support composed of primary inputs.]
Description []
SideEffects []
SeeAlso []
Definition at line 568 of file giaResub2.c.
