diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2005-08-18 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2005-08-18 08:01:00 -0700 |
commit | dffcc93b8e8779f443762c71098796b01ea7d409 (patch) | |
tree | 44113f09a94914013816564bdad846b5939c220a /src/map | |
parent | 6e496de7ff1a1f9b6f0babc8efb0a13379242505 (diff) | |
download | abc-dffcc93b8e8779f443762c71098796b01ea7d409.tar.gz abc-dffcc93b8e8779f443762c71098796b01ea7d409.tar.bz2 abc-dffcc93b8e8779f443762c71098796b01ea7d409.zip |
Version abc50818
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]; |