diff options
Diffstat (limited to 'src/base/abci')
-rw-r--r-- | src/base/abci/abcMap.c | 5 | ||||
-rw-r--r-- | src/base/abci/abcPrint.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/base/abci/abcMap.c b/src/base/abci/abcMap.c index ce5bc5e8..ac7bd0f4 100644 --- a/src/base/abci/abcMap.c +++ b/src/base/abci/abcMap.c @@ -74,7 +74,10 @@ Abc_Ntk_t * Abc_NtkMap( Abc_Ntk_t * pNtk, double DelayTarget, double AreaMulti, { pLib = Abc_SclDeriveGenlib( Abc_FrameReadLibScl(), Slew, Gain, nGatesMin, fVerbose ); if ( Abc_FrameReadLibGen() ) + { Mio_LibraryTransferDelays( (Mio_Library_t *)Abc_FrameReadLibGen(), pLib ); + Mio_LibraryTransferProfile( pLib, (Mio_Library_t *)Abc_FrameReadLibGen() ); + } // remove supergate library Map_SuperLibFree( (Map_SuperLib_t *)Abc_FrameReadLibSuper() ); Abc_FrameSetLibSuper( NULL ); @@ -103,6 +106,8 @@ Abc_Ntk_t * Abc_NtkMap( Abc_Ntk_t * pNtk, double DelayTarget, double AreaMulti, printf( "Converting \"%s\" into supergate library \"%s\".\n", Mio_LibraryReadName(pLib), Extra_FileNameGenericAppend(Mio_LibraryReadName(pLib), ".super") ); // compute supergate library to be used for mapping + if ( Mio_LibraryHasProfile(pLib) ) + printf( "Abc_NtkMap(): Genlib library has profile.\n" ); Map_SuperLibDeriveFromGenlib( pLib, fVerbose ); } diff --git a/src/base/abci/abcPrint.c b/src/base/abci/abcPrint.c index b6ddeffc..a577b807 100644 --- a/src/base/abci/abcPrint.c +++ b/src/base/abci/abcPrint.c @@ -1339,7 +1339,10 @@ void Abc_NtkPrintGates( Abc_Ntk_t * pNtk, int fUseLibrary ) nGates = Mio_LibraryReadGateNum( (Mio_Library_t *)pNtk->pManFunc ); ppGates = Mio_LibraryReadGateArray( (Mio_Library_t *)pNtk->pManFunc ); for ( i = 0; i < nGates; i++ ) + { Mio_GateSetValue( ppGates[i], 0 ); + Mio_GateSetProfile2( ppGates[i], 0 ); + } // count the gates by name CounterTotal = 0; @@ -1347,6 +1350,7 @@ void Abc_NtkPrintGates( Abc_Ntk_t * pNtk, int fUseLibrary ) { if ( i == 0 ) continue; Mio_GateSetValue( (Mio_Gate_t *)pObj->pData, 1 + Mio_GateReadValue((Mio_Gate_t *)pObj->pData) ); + Mio_GateIncProfile2( (Mio_Gate_t *)pObj->pData ); CounterTotal++; // assuming that twin gates follow each other if ( Abc_NtkFetchTwinNode(pObj) ) @@ -1371,10 +1375,12 @@ void Abc_NtkPrintGates( Abc_Ntk_t * pNtk, int fUseLibrary ) if ( Counter == 0 ) continue; Area = Counter * Mio_GateReadArea( ppGates[i] ); - printf( "%-*s Fanin = %2d Instance = %8d Area = %10.2f %6.2f %% %s\n", + printf( "%-*s Fanin = %2d Instance = %8d Area = %10.2f %6.2f %% %8d %8d %s\n", nGateNameLen, Mio_GateReadName( ppGates[i] ), Mio_GateReadPinNum( ppGates[i] ), Counter, Area, 100.0 * Area / AreaTotal, + Mio_GateReadProfile(ppGates[i]), + Mio_GateReadProfile2(ppGates[i]), Mio_GateReadForm(ppGates[i]) ); } printf( "%-*s Instance = %8d Area = %10.2f %6.2f %%\n", |