diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/mapper/mapperTree.c | 11 | ||||
-rw-r--r-- | src/map/mapper/mapperTruth.c | 10 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/map/mapper/mapperTree.c b/src/map/mapper/mapperTree.c index 61e12748..04576045 100644 --- a/src/map/mapper/mapperTree.c +++ b/src/map/mapper/mapperTree.c @@ -467,6 +467,17 @@ int Map_LibraryDeriveGateInfo( Map_SuperLib_t * pLib, st_table * tExcludeGate ) pGate->nPhases = Map_CanonComputeSlow( pLib->uTruths, pLib->nVarsMax, nRealVars, pGate->uTruth, pGate->uPhases, uCanon ); // add the supergate into the table by its N-canonical table Map_SuperTableInsertC( pLib->tTableC, uCanon, pGate ); +/* + { + int uCanon1, uCanon2; + uCanon1 = uCanon[0]; + pGate->uTruth[0] = ~pGate->uTruth[0]; + pGate->uTruth[1] = ~pGate->uTruth[1]; + Map_CanonComputeSlow( pLib->uTruths, pLib->nVarsMax, nRealVars, pGate->uTruth, pGate->uPhases, uCanon ); + uCanon2 = uCanon[0]; +Rwt_Man5ExploreCount( uCanon1 < uCanon2 ? uCanon1 : uCanon2 ); + } +*/ } // sort the gates in each line Map_SuperTableSortSupergatesByDelay( pLib->tTableC, pLib->nSupersAll ); diff --git a/src/map/mapper/mapperTruth.c b/src/map/mapper/mapperTruth.c index f79dac01..97e64920 100644 --- a/src/map/mapper/mapperTruth.c +++ b/src/map/mapper/mapperTruth.c @@ -91,6 +91,7 @@ void Map_MappingTruths( Map_Man_t * pMan ) void Map_TruthsCut( Map_Man_t * p, Map_Cut_t * pCut ) { unsigned uTruth[2], uCanon[2]; +// unsigned uCanon1, uCanon2; unsigned char uPhases[16]; // generally speaking, 1-input cut can be matched into a wire! @@ -98,8 +99,6 @@ void Map_TruthsCut( Map_Man_t * p, Map_Cut_t * pCut ) return; Map_TruthsCutOne( p, pCut, uTruth ); -//assert( pCut->nLeaves < 5 ); -//Rwt_ManExploreCount( uTruth[0] & 0xFFFF ); // compute the canonical form for the positive phase Map_CanonComputeSlow( p->uTruths, p->nVarsMax, pCut->nLeaves, uTruth, uPhases, uCanon ); @@ -107,6 +106,8 @@ void Map_TruthsCut( Map_Man_t * p, Map_Cut_t * pCut ) pCut->M[1].uPhase = uPhases[0]; p->nCanons++; +//uCanon1 = uCanon[0] & 0xFFFF; + // compute the canonical form for the negative phase uTruth[0] = ~uTruth[0]; uTruth[1] = ~uTruth[1]; @@ -115,6 +116,11 @@ void Map_TruthsCut( Map_Man_t * p, Map_Cut_t * pCut ) pCut->M[0].uPhase = uPhases[0]; p->nCanons++; +//uCanon2 = uCanon[0] & 0xFFFF; + +//assert( p->nVarsMax == 4 ); +//Rwt_Man4ExploreCount( uCanon1 < uCanon2 ? uCanon1 : uCanon2 ); + // restore the truth table uTruth[0] = ~uTruth[0]; uTruth[1] = ~uTruth[1]; |