mirror of https://github.com/YosysHQ/abc.git
Changes in specialized matching.
This commit is contained in:
parent
85098b01de
commit
19c361e387
|
|
@ -728,7 +728,7 @@ int Gia_ManFromIfLogicCreateLutSpecial( Gia_Man_t * pNew, word * pRes, Vec_Int_t
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
int Gia_ManFromIfLogicNode( If_Man_t * pIfMan, Gia_Man_t * pNew, int iObj, Vec_Int_t * vLeaves, Vec_Int_t * vLeavesTemp,
|
||||
int Gia_ManFromIfLogicNode( void * pIfMan, Gia_Man_t * pNew, int iObj, Vec_Int_t * vLeaves, Vec_Int_t * vLeavesTemp,
|
||||
word * pRes, char * pStr, Vec_Int_t * vCover, Vec_Int_t * vMapping, Vec_Int_t * vMapping2, Vec_Int_t * vPacking, int fCheck75, int fCheck44e )
|
||||
{
|
||||
int nLeaves = Vec_IntSize(vLeaves);
|
||||
|
|
|
|||
|
|
@ -672,6 +672,10 @@ Gia_Man_t * Gia_ManIsoReduce2( Gia_Man_t * pGia, Vec_Ptr_t ** pvPosEquivs, Vec_P
|
|||
Vec_WecSortByFirstInt( vEquivs, 0 );
|
||||
// find the first outputs
|
||||
vRemains = Vec_WecCollectFirsts( vEquivs );
|
||||
printf( "%d\n", Gia_ObjFaninC0(Gia_ManPo(pGia, 3)) );
|
||||
printf( "%d\n", Gia_ObjFaninC0(Gia_ManPo(pGia, 34)) );
|
||||
printf( "%d\n", Gia_ObjFaninC0(Gia_ManPo(pGia, 39)) );
|
||||
printf( "%d\n", Gia_ObjFaninC0(Gia_ManPo(pGia, 279)) );
|
||||
// derive the final GIA
|
||||
pPart = Gia_ManDupCones( pGia, Vec_IntArray(vRemains), Vec_IntSize(vRemains), 0 );
|
||||
Vec_IntFree( vRemains );
|
||||
|
|
|
|||
|
|
@ -3008,7 +3008,7 @@ usage:
|
|||
Abc_Print( -2, "\t-a : toggles between using all nodes and DFS nodes [default = %s]\n", fAllNodes? "all": "DFS" );
|
||||
Abc_Print( -2, "\t-c : toggles cleanup to remove the dagling AIG nodes [default = %s]\n", fCleanup? "all": "DFS" );
|
||||
Abc_Print( -2, "\t-r : toggles using the record of AIG subgraphs [default = %s]\n", fRecord? "yes": "no" );
|
||||
Abc_Print( -2, "\t-i : toggles complementing the COs of the AIG [default = %s]\n", fComplOuts? "yes": "no" );
|
||||
Abc_Print( -2, "\t-i : toggles complementing the POs of the AIG [default = %s]\n", fComplOuts? "yes": "no" );
|
||||
Abc_Print( -2, "\t-h : print the command usage\n");
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ void * Mpm_ManFromIfLogic( Mpm_Man_t * pMan )
|
|||
Vec_IntPush( vLeaves, Mig_ObjCopy(pFanin) );
|
||||
if ( pMan->pPars->fDeriveLuts && (pMan->pPars->fUseTruth || pMan->pPars->fUseDsd) )
|
||||
{
|
||||
extern int Gia_ManFromIfLogicNode( Gia_Man_t * pNew, int iObj, Vec_Int_t * vLeaves, Vec_Int_t * vLeavesTemp,
|
||||
extern int Gia_ManFromIfLogicNode( void * p, Gia_Man_t * pNew, int iObj, Vec_Int_t * vLeaves, Vec_Int_t * vLeavesTemp,
|
||||
word * pRes, char * pStr, Vec_Int_t * vCover, Vec_Int_t * vMapping, Vec_Int_t * vMapping2, Vec_Int_t * vPacking, int fCheck75, int fCheck44e );
|
||||
if ( pMan->pPars->fUseTruth )
|
||||
pTruth = Mpm_CutTruth(pMan, Abc_Lit2Var(pCutBest->iFunc));
|
||||
|
|
@ -256,7 +256,7 @@ void * Mpm_ManFromIfLogic( Mpm_Man_t * pMan )
|
|||
uTruth = Mpm_CutTruthFromDsd( pMan, pCutBest, Abc_Lit2Var(pCutBest->iFunc) );
|
||||
// Kit_DsdPrintFromTruth( pTruth, Vec_IntSize(vLeaves) ); printf( "\n" );
|
||||
// perform decomposition of the cut
|
||||
iLitNew = Gia_ManFromIfLogicNode( pNew, Mig_ObjId(pObj), vLeaves, vLeaves2, pTruth, NULL, vCover, vMapping, vMapping2, vPacking, 0, 0 );
|
||||
iLitNew = Gia_ManFromIfLogicNode( NULL, pNew, Mig_ObjId(pObj), vLeaves, vLeaves2, pTruth, NULL, vCover, vMapping, vMapping2, vPacking, 0, 0 );
|
||||
iLitNew = Abc_LitNotCond( iLitNew, pCutBest->fCompl ^ Abc_LitIsCompl(pCutBest->iFunc) );
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue