#include "base/abc/abc.h"#include "misc/vec/vecWec.h"#include "misc/vec/vecQue.h"#include "misc/vec/vecHsh.h"#include "opt/fxch/Fxch.h"
Go to the source code of this file.
Classes | |
| struct | Fx_Man_t_ |
Macros | |
| #define | Fx_ManForEachCubeVec(vVec, vCubes, vCube, i) |
Typedefs | |
| typedef typedefABC_NAMESPACE_IMPL_START struct Fx_Man_t_ | Fx_Man_t |
| DECLARATIONS ///. | |
Functions | |
| Vec_Wec_t * | Abc_NtkFxRetrieve (Abc_Ntk_t *pNtk) |
| FUNCTION DEFINITIONS ///. | |
| void | Abc_NtkFxInsert (Abc_Ntk_t *pNtk, Vec_Wec_t *vCubes) |
| int | Abc_NtkFxCheck (Abc_Ntk_t *pNtk) |
| int | Abc_NtkFxPerform (Abc_Ntk_t *pNtk, int nNewNodesMax, int LitCountMax, int fCanonDivs, int fVerbose, int fVeryVerbose) |
| Fx_Man_t * | Fx_ManStart (Vec_Wec_t *vCubes) |
| void | Fx_ManStop (Fx_Man_t *p) |
| void | Fx_ManComputeLevel (Fx_Man_t *p) |
| int | Fx_ManDivFindCubeFree (Vec_Int_t *vArr1, Vec_Int_t *vArr2, Vec_Int_t *vCubeFree, int *fWarning) |
| void | Fx_ManCreateLiterals (Fx_Man_t *p, int nVars) |
| int | Fx_ManCubeSingleCubeDivisors (Fx_Man_t *p, Vec_Int_t *vPivot, int fRemove, int fUpdate) |
| void | Fx_ManCubeDoubleCubeDivisors (Fx_Man_t *p, int iFirst, Vec_Int_t *vPivot, int fRemove, int fUpdate, int *fWarning) |
| void | Fx_ManCreateDivisors (Fx_Man_t *p) |
| void | Fx_ManFindCommonPairs (Vec_Wec_t *vCubes, Vec_Int_t *vPart0, Vec_Int_t *vPart1, Vec_Int_t *vPairs, Vec_Int_t *vCompls, Vec_Int_t *vDiv, Vec_Int_t *vCubeFree, int *fWarning) |
| void | Fx_ManUpdate (Fx_Man_t *p, int iDiv, int *fWarning) |
| int | Fx_FastExtract (Vec_Wec_t *vCubes, int ObjIdMax, int nNewNodesMax, int LitCountMax, int fCanonDivs, int fVerbose, int fVeryVerbose) |
| #define Fx_ManForEachCubeVec | ( | vVec, | |
| vCubes, | |||
| vCube, | |||
| i ) |
Definition at line 122 of file abcFx.c.
DECLARATIONS ///.
CFile****************************************************************
FileName [abcFx.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Network and node package.]
Synopsis [Implementation of traditional "fast_extract" algorithm.]
Author [Alan Mishchenko, Bruno Schmitt]
Affiliation [UC Berkeley, UFRGS]
Date [Ver. 1.0. Started - April 26, 2013.]
Revision [
]
| int Abc_NtkFxCheck | ( | Abc_Ntk_t * | pNtk | ) |
Function*************************************************************
Synopsis [Makes sure the nodes do not have complemented and duplicated fanins.]
Description []
SideEffects []
SeeAlso []
Definition at line 283 of file abcFx.c.

Function*************************************************************
Synopsis [Inserts SOP information after fast_extract.]
Description []
SideEffects []
SeeAlso []
Definition at line 183 of file abcFx.c.


| int Abc_NtkFxPerform | ( | Abc_Ntk_t * | pNtk, |
| int | nNewNodesMax, | ||
| int | LitCountMax, | ||
| int | fCanonDivs, | ||
| int | fVerbose, | ||
| int | fVeryVerbose ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 309 of file abcFx.c.


FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Retrieves SOP information for fast_extract.]
Description []
SideEffects []
SeeAlso []
Definition at line 140 of file abcFx.c.


| int Fx_FastExtract | ( | Vec_Wec_t * | vCubes, |
| int | ObjIdMax, | ||
| int | nNewNodesMax, | ||
| int | LitCountMax, | ||
| int | fCanonDivs, | ||
| int | fVerbose, | ||
| int | fVeryVerbose ) |
Function*************************************************************
Synopsis [Implements the traditional fast_extract algorithm.]
Description [J. Rajski and J. Vasudevamurthi, "The testability- preserving concurrent decomposition and factorization of Boolean expressions", IEEE TCAD, Vol. 11, No. 6, June 1992, pp. 778-793.]
SideEffects []
SeeAlso []
Definition at line 1166 of file abcFx.c.


| void Fx_ManComputeLevel | ( | Fx_Man_t * | p | ) |
Definition at line 410 of file abcFx.c.


| void Fx_ManCreateDivisors | ( | Fx_Man_t * | p | ) |
Definition at line 855 of file abcFx.c.


| void Fx_ManCreateLiterals | ( | Fx_Man_t * | p, |
| int | nVars ) |
Function*************************************************************
Synopsis [Setting up the data-structure.]
Description []
SideEffects []
SeeAlso []
Definition at line 715 of file abcFx.c.

| void Fx_ManCubeDoubleCubeDivisors | ( | Fx_Man_t * | p, |
| int | iFirst, | ||
| Vec_Int_t * | vPivot, | ||
| int | fRemove, | ||
| int | fUpdate, | ||
| int * | fWarning ) |
Definition at line 791 of file abcFx.c.


Definition at line 751 of file abcFx.c.

| int Fx_ManDivFindCubeFree | ( | Vec_Int_t * | vArr1, |
| Vec_Int_t * | vArr2, | ||
| Vec_Int_t * | vCubeFree, | ||
| int * | fWarning ) |
Function*************************************************************
Synopsis [Find a cube-free divisor of the two cubes.]
Description []
SideEffects []
SeeAlso []
Definition at line 574 of file abcFx.c.

| void Fx_ManFindCommonPairs | ( | Vec_Wec_t * | vCubes, |
| Vec_Int_t * | vPart0, | ||
| Vec_Int_t * | vPart1, | ||
| Vec_Int_t * | vPairs, | ||
| Vec_Int_t * | vCompls, | ||
| Vec_Int_t * | vDiv, | ||
| Vec_Int_t * | vCubeFree, | ||
| int * | fWarning ) |
Definition at line 913 of file abcFx.c.


Function*************************************************************
Synopsis [Starting the manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 351 of file abcFx.c.

| void Fx_ManStop | ( | Fx_Man_t * | p | ) |
Definition at line 365 of file abcFx.c.

| void Fx_ManUpdate | ( | Fx_Man_t * | p, |
| int | iDiv, | ||
| int * | fWarning ) |
Function*************************************************************
Synopsis [Updates the data-structure when one divisor is selected.]
Description []
SideEffects []
SeeAlso []
Definition at line 968 of file abcFx.c.

