Commit 1ba16ff7 by Alan Mishchenko

Experiments with LUT structure mapping.

parent e3eea01d
......@@ -4247,6 +4247,10 @@ SOURCE=.\src\aig\gia\giaNf.c
# End Source File
# Begin Source File
SOURCE=.\src\aig\gia\giaOf.c
# End Source File
# Begin Source File
SOURCE=.\src\aig\gia\giaPat.c
# End Source File
# Begin Source File
......
......@@ -280,6 +280,9 @@ struct Jf_Par_t_
int nAreaTuner;
int nReqTimeFlex;
int nVerbLimit;
int nDelayLut1;
int nDelayLut2;
int nFastEdges;
int DelayTarget;
int fAreaOnly;
int fPinPerm;
......
......@@ -46,6 +46,7 @@ SRC += src/aig/gia/giaAig.c \
src/aig/gia/giaMini.c \
src/aig/gia/giaMuxes.c \
src/aig/gia/giaNf.c \
src/aig/gia/giaOf.c \
src/aig/gia/giaPat.c \
src/aig/gia/giaPf.c \
src/aig/gia/giaQbf.c \
......
......@@ -1843,6 +1843,20 @@ static inline void Vec_IntSelectSort( int * pArray, int nSize )
pArray[best_i] = temp;
}
}
static inline void Vec_IntSelectSortReverse( int * pArray, int nSize )
{
int temp, i, j, best_i;
for ( i = 0; i < nSize-1; i++ )
{
best_i = i;
for ( j = i+1; j < nSize; j++ )
if ( pArray[j] > pArray[best_i] )
best_i = j;
temp = pArray[i];
pArray[i] = pArray[best_i];
pArray[best_i] = temp;
}
}
/**Function*************************************************************
......@@ -1867,6 +1881,19 @@ static inline void Vec_IntSelectSortCost( int * pArray, int nSize, Vec_Int_t * v
ABC_SWAP( int, pArray[i], pArray[best_i] );
}
}
static inline void Vec_IntSelectSortCostReverse( int * pArray, int nSize, Vec_Int_t * vCosts )
{
int i, j, best_i;
for ( i = 0; i < nSize-1; i++ )
{
best_i = i;
for ( j = i+1; j < nSize; j++ )
if ( Vec_IntEntry(vCosts, pArray[j]) > Vec_IntEntry(vCosts, pArray[best_i]) )
best_i = j;
ABC_SWAP( int, pArray[i], pArray[best_i] );
}
}
static inline void Vec_IntSelectSortCost2( int * pArray, int nSize, int * pCosts )
{
int i, j, best_i;
......@@ -1880,6 +1907,19 @@ static inline void Vec_IntSelectSortCost2( int * pArray, int nSize, int * pCosts
ABC_SWAP( int, pCosts[i], pCosts[best_i] );
}
}
static inline void Vec_IntSelectSortCost2Reverse( int * pArray, int nSize, int * pCosts )
{
int i, j, best_i;
for ( i = 0; i < nSize-1; i++ )
{
best_i = i;
for ( j = i+1; j < nSize; j++ )
if ( pCosts[j] > pCosts[best_i] )
best_i = j;
ABC_SWAP( int, pArray[i], pArray[best_i] );
ABC_SWAP( int, pCosts[i], pCosts[best_i] );
}
}
/**Function*************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment