summaryrefslogtreecommitdiffstats
path: root/src/aig/gia
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2015-02-08 22:00:55 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2015-02-08 22:00:55 -0800
commit0f9001c956749682e002cb229264dbd6c4882fc2 (patch)
tree2b200b4ac6241ad6ff70393a5d4ddb5fc51fe51f /src/aig/gia
parentdb6afbea29b6f187eafb113652c18bfb92e2c940 (diff)
downloadabc-0f9001c956749682e002cb229264dbd6c4882fc2.tar.gz
abc-0f9001c956749682e002cb229264dbd6c4882fc2.tar.bz2
abc-0f9001c956749682e002cb229264dbd6c4882fc2.zip
Adding switch '-p' to control pin-permutation in &nf.
Diffstat (limited to 'src/aig/gia')
-rw-r--r--src/aig/gia/gia.h1
-rw-r--r--src/aig/gia/giaNf.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h
index d89888e0..bc7238d8 100644
--- a/src/aig/gia/gia.h
+++ b/src/aig/gia/gia.h
@@ -275,6 +275,7 @@ struct Jf_Par_t_
int nVerbLimit;
int DelayTarget;
int fAreaOnly;
+ int fPinPerm;
int fOptEdge;
int fUseMux7;
int fPower;
diff --git a/src/aig/gia/giaNf.c b/src/aig/gia/giaNf.c
index 3dad6fb2..7c82e70d 100644
--- a/src/aig/gia/giaNf.c
+++ b/src/aig/gia/giaNf.c
@@ -182,7 +182,6 @@ static inline int Nf_CutConfC( int Conf, int i )
***********************************************************************/
void Nf_StoCreateGateAdd( Nf_Man_t * pMan, word uTruth, int * pFans, int nFans, int CellId )
{
- int fUsePinPermutation = 0; // set to 1 to enable pin-permutation (which is good for delay when pin-delays differ)
Vec_Int_t * vArray;
Pf_Mat_t Mat = Pf_Int2Mat(0);
int i, GateId, Entry, fCompl = (int)(uTruth & 1);
@@ -198,7 +197,7 @@ void Nf_StoCreateGateAdd( Nf_Man_t * pMan, word uTruth, int * pFans, int nFans,
Mat.Perm |= (unsigned)(Abc_Lit2Var(pFans[i]) << (3*i));
Mat.Phase |= (unsigned)(Abc_LitIsCompl(pFans[i]) << i);
}
- if ( fUsePinPermutation )
+ if ( pMan->pPars->fPinPerm ) // use pin-permutation (slower but good for delay when pin-delays differ)
{
Vec_IntPush( vArray, CellId );
Vec_IntPush( vArray, Pf_Mat2Int(Mat) );
@@ -2079,6 +2078,7 @@ void Nf_ManSetDefaultPars( Jf_Par_t * pPars )
pPars->nVerbLimit = 5;
pPars->DelayTarget = -1;
pPars->fAreaOnly = 0;
+ pPars->fPinPerm = 0;
pPars->fOptEdge = 1;
pPars->fCoarsen = 0;
pPars->fCutMin = 1;