ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
rsb.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef typedefABC_NAMESPACE_HEADER_START struct Rsb_Man_t_ Rsb_Man_t
 INCLUDES ///.
 

Functions

Rsb_Man_tRsb_ManAlloc (int nLeafMax, int nDivMax, int nDecMax, int fVerbose)
 MACRO DEFINITIONS ///.
 
void Rsb_ManFree (Rsb_Man_t *p)
 
Vec_Int_tRsb_ManGetFanins (Rsb_Man_t *p)
 
Vec_Int_tRsb_ManGetFaninsOld (Rsb_Man_t *p)
 
int Rsb_ManPerformResub6 (Rsb_Man_t *p, int nVars, word uTruth, Vec_Wrd_t *vDivTruths, word *puTruth0, word *puTruth1, int fVerbose)
 

Typedef Documentation

◆ Rsb_Man_t

typedef typedefABC_NAMESPACE_HEADER_START struct Rsb_Man_t_ Rsb_Man_t

INCLUDES ///.

CFile****************************************************************

FileName [rsb.h]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Truth-table based resubstitution.]

Synopsis [External declarations.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - June 20, 2005.]

Revision [

Id
rsb.h,v 1.00 2005/06/20 00:00:00 alanmi Exp

] PARAMETERS /// BASIC TYPES ///

Definition at line 39 of file rsb.h.

Function Documentation

◆ Rsb_ManAlloc()

Rsb_Man_t * Rsb_ManAlloc ( int nLeafMax,
int nDivMax,
int nDecMax,
int fVerbose )
extern

MACRO DEFINITIONS ///.

FUNCTION DECLARATIONS ///

MACRO DEFINITIONS ///.

CFile****************************************************************

FileName [rsbMan.c]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Truth-table based resubstitution.]

Synopsis [Manager maintenance.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - June 20, 2005.]

Revision [

Id
rsbMan.c,v 1.00 2005/06/20 00:00:00 alanmi Exp

] FUNCTION DEFINITIONS /// Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 45 of file rsbMan.c.

46{
47 Rsb_Man_t * p;
48 assert( nLeafMax <= 20 );
49 assert( nDivMax <= 200 );
50 p = ABC_CALLOC( Rsb_Man_t, 1 );
51 p->nLeafMax = nLeafMax;
52 p->nDivMax = nDivMax;
53 p->nDecMax = nDecMax;
54 p->fVerbose = fVerbose;
55 // decomposition
56 p->vCexes = Vec_WrdAlloc( nDivMax + 150 );
57 p->vDecPats = Vec_IntAlloc( Abc_TtWordNum(nLeafMax) );
58 p->vFanins = Vec_IntAlloc( 10 );
59 p->vFaninsOld = Vec_IntAlloc( 10 );
60 p->vTries = Vec_IntAlloc( 10 );
61 return p;
62}
#define ABC_CALLOC(type, num)
Definition abc_global.h:265
Cube * p
Definition exorList.c:222
typedefABC_NAMESPACE_HEADER_START struct Rsb_Man_t_ Rsb_Man_t
INCLUDES ///.
Definition rsb.h:39
#define assert(ex)
Definition util_old.h:213
Here is the caller graph for this function:

◆ Rsb_ManFree()

void Rsb_ManFree ( Rsb_Man_t * p)
extern

Definition at line 63 of file rsbMan.c.

64{
65 Vec_WrdFree( p->vCexes );
66 Vec_IntFree( p->vDecPats );
67 Vec_IntFree( p->vFanins );
68 Vec_IntFree( p->vFaninsOld );
69 Vec_IntFree( p->vTries );
70 ABC_FREE( p );
71}
#define ABC_FREE(obj)
Definition abc_global.h:267
Here is the caller graph for this function:

◆ Rsb_ManGetFanins()

Vec_Int_t * Rsb_ManGetFanins ( Rsb_Man_t * p)
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 84 of file rsbMan.c.

85{
86 return p->vFanins;
87}
Here is the caller graph for this function:

◆ Rsb_ManGetFaninsOld()

Vec_Int_t * Rsb_ManGetFaninsOld ( Rsb_Man_t * p)
extern

Definition at line 88 of file rsbMan.c.

89{
90 return p->vFaninsOld;
91}

◆ Rsb_ManPerformResub6()

int Rsb_ManPerformResub6 ( Rsb_Man_t * p,
int nVarsAll,
word uTruth,
Vec_Wrd_t * vDivTruths,
word * puTruth0,
word * puTruth1,
int fVerbose )
extern

Function*************************************************************

Synopsis []

Description []

SideEffects []

SeeAlso []

Definition at line 694 of file rsbDec6.c.

695{
696 word * pGs[200];
697 unsigned uTruthRes;
698 int i, nVars, nGs = Vec_WrdSize(vDivTruths);
699 assert( nGs < 200 );
700 for ( i = 0; i < nGs; i++ )
701 pGs[i] = Vec_WrdEntryP(vDivTruths,i);
702 uTruthRes = Rsb_DecPerformInt( p, nVarsAll, &uTruth, pGs, nGs, nGs, 0 );
703 if ( uTruthRes == 0 )
704 return 0;
705
706 if ( fVerbose )
707 Rsb_DecPrintFunc( p, uTruthRes, &uTruth, pGs, nGs, nVarsAll );
708 if ( fVerbose )
709 Rsb_DecPrintTable( Vec_WrdArray(p->vCexes), nGs, nGs, p->vTries );
710
711 nVars = Vec_IntSize(p->vFanins);
712 *puTruth0 = Abc_Tt6Stretch( uTruthRes, nVars );
713 *puTruth1 = Abc_Tt6Stretch( uTruthRes >> (1 << nVars), nVars );
714 return 1;
715}
unsigned __int64 word
DECLARATIONS ///.
Definition kitPerm.c:36
void Rsb_DecPrintTable(word *pCexes, int nGs, int nGsAll, Vec_Int_t *vTries)
Definition rsbDec6.c:196
unsigned Rsb_DecPerformInt(Rsb_Man_t *p, int nVars, word *f, word **g, int nGs, int nGsAll, int fFindAll)
Definition rsbDec6.c:337
void Rsb_DecPrintFunc(Rsb_Man_t *p, unsigned Truth4, word *f, word **ppGs, int nGs, int nVarsAll)
Definition rsbDec6.c:516
Here is the call graph for this function:
Here is the caller graph for this function: