31static void Sim_SymmsCreateSquare(
Sym_Man_t *
p,
unsigned * pPat );
52 int i, nPairsTotal, nPairsSym, nPairsNonSym;
56 Sim_SymmsCreateSquare(
p, pPat );
65p->timeSim += Abc_Clock() - clk;
70 pNode = Abc_ObjFanin0(pNode);
73 nPairsTotal = Vec_IntEntry(
p->vPairsTotal, i);
74 nPairsSym = Vec_IntEntry(
p->vPairsSym, i);
75 nPairsNonSym = Vec_IntEntry(
p->vPairsNonSym,i);
76 assert( nPairsTotal >= nPairsSym + nPairsNonSym );
77 if ( nPairsTotal == nPairsSym + nPairsNonSym )
79 Sim_SymmsDeriveInfo(
p, pPat, pNode, vMatrsNonSym, i );
81p->timeMatr += Abc_Clock() - clk;
95void Sim_SymmsCreateSquare(
Sym_Man_t *
p,
unsigned * pPat )
103 pSimInfo = (
unsigned *)Vec_PtrEntry(
p->vSim, pNode->
Id );
106 for ( w = 0; w <
p->nSimWords; w++ )
111 for ( w = 0; w <
p->nSimWords; w++ )
139 vSupport = Vec_VecEntryInt(
p->vSupports, Output );
140 pSupport = (
unsigned *)Vec_PtrEntry(
p->vSuppFun, Output );
141 pSimInfo = (
unsigned *)Vec_PtrEntry(
p->vSim, pNode->
Id );
143 for ( w = 0; w <
p->nSimWords; w++ )
145 p->uPatCol[w] = pSupport[w] & pPat[w] & pSimInfo[w];
146 p->uPatRow[w] = pSupport[w] & pPat[w] & ~pSimInfo[w];
157 for ( w = 0; w <
p->nSimWords; w++ )
159 p->uPatCol[w] = pSupport[w] & ~pPat[w] & pSimInfo[w];
160 p->uPatRow[w] = pSupport[w] & ~pPat[w] & ~pSimInfo[w];
struct Abc_Obj_t_ Abc_Obj_t
#define Abc_NtkForEachCo(pNtk, pCo, i)
#define Abc_NtkForEachCi(pNtk, pCi, i)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
void Sim_SymmsSimulate(Sym_Man_t *p, unsigned *pPat, Vec_Ptr_t *vMatrsNonSym)
FUNCTION DEFINITIONS ///.
void Sim_UtilSimulateNodeOne(Abc_Obj_t *pNode, Vec_Ptr_t *vSimInfo, int nSimWords, int nOffset)
typedefABC_NAMESPACE_HEADER_START struct Sym_Man_t_ Sym_Man_t
INCLUDES ///.
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.