summaryrefslogtreecommitdiffstats
path: root/src/base/abci
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/abci')
-rw-r--r--src/base/abci/abcMap.c5
-rw-r--r--src/base/abci/abcPrint.c8
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",