From 31fb2e850625b8bdeb518c7c430e043272aed6c0 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 8 Mar 2014 17:37:26 -0800 Subject: Changes to LUT mappers. --- src/map/if/ifDsd.c | 2 +- src/map/if/ifTune.c | 117 +++++++++++++++++++++++++++++++++++++++++++++++++ src/map/if/module.make | 1 + 3 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 src/map/if/ifTune.c (limited to 'src') diff --git a/src/map/if/ifDsd.c b/src/map/if/ifDsd.c index 7afec99e..96dd7a37 100644 --- a/src/map/if/ifDsd.c +++ b/src/map/if/ifDsd.c @@ -486,7 +486,7 @@ int If_DsdObjCompare( Vec_Ptr_t * p, int iLit0, int iLit1 ) return -1; if ( Abc_LitIsCompl(iLit0) < Abc_LitIsCompl(iLit1) ) return 1; - assert( iLit0 == iLit1 ); +// assert( iLit0 == iLit1 ); return 0; } void If_DsdObjSort( Vec_Ptr_t * p, int * pLits, int nLits, int * pPerm ) diff --git a/src/map/if/ifTune.c b/src/map/if/ifTune.c new file mode 100644 index 00000000..dd4c4eb6 --- /dev/null +++ b/src/map/if/ifTune.c @@ -0,0 +1,117 @@ +/**CFile**************************************************************** + + FileName [ifTune.c] + + SystemName [ABC: Logic synthesis and verification system.] + + PackageName [FPGA mapping based on priority cuts.] + + Synopsis [Library tuning.] + + Author [Alan Mishchenko] + + Affiliation [UC Berkeley] + + Date [Ver. 1.0. Started - November 21, 2006.] + + Revision [$Id: ifTune.c,v 1.00 2006/11/21 00:00:00 alanmi Exp $] + +***********************************************************************/ + +#include "if.h" +#include "sat/bsat/satSolver.h" + +ABC_NAMESPACE_IMPL_START + +//////////////////////////////////////////////////////////////////////// +/// DECLARATIONS /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// FUNCTION DEFINITIONS /// +//////////////////////////////////////////////////////////////////////// + +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +int If_ManStrCheck( char * pStr ) +{ + int i, Marks[32] = {0}, MaxVar = 0, MaxDef = 0; + for ( i = 0; pStr[i]; i++ ) + { + if ( pStr[i] == '=' || pStr[i] == ';' || + pStr[i] == '(' || pStr[i] == ')' || + pStr[i] == '[' || pStr[i] == ']' || + pStr[i] == '<' || pStr[i] == '>' || + pStr[i] == '{' || pStr[i] == '}' ) + continue; + if ( pStr[i] >= 'a' && pStr[i] <= 'z' ) + { + if ( pStr[i+1] == '=' ) + Marks[pStr[i] - 'a'] = 2, MaxDef = 1 + Abc_MaxInt(MaxDef, pStr[i] - 'a'); + else + Marks[pStr[i] - 'a'] = 1, MaxVar = 1 + Abc_MaxInt(MaxVar, pStr[i] - 'a'); + continue; + } + printf( "String \"%s\" contains unrecognized symbol (%c).\n", pStr, pStr[i] ); + } + for ( i = 0; i < MaxDef; i++ ) + if ( Marks[i] == 0 ) + printf( "String \"%s\" has no symbol (%c).\n", pStr, 'a' + Marks[i] ); + for ( i = 0; i < MaxVar; i++ ) + if ( Marks[i] == 2 ) + printf( "String \"%s\" defined input symbol (%c).\n", pStr, 'a' + Marks[i] ); + for ( i = MaxVar; i < MaxDef; i++ ) + if ( Marks[i] == 1 ) + printf( "String \"%s\" has no definition for symbol (%c).\n", pStr, 'a' + Marks[i] ); + return 1; +} + +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +sat_solver * If_ManSatBuild( char * pStr ) +{ + sat_solver * pSat = NULL; + + return pSat; +} + +/**Function************************************************************* + + Synopsis [Test procedure.] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +void If_ManSatTest() +{ +} + +//////////////////////////////////////////////////////////////////////// +/// END OF FILE /// +//////////////////////////////////////////////////////////////////////// + + +ABC_NAMESPACE_IMPL_END + diff --git a/src/map/if/module.make b/src/map/if/module.make index f0c1860f..f6eb65ae 100644 --- a/src/map/if/module.make +++ b/src/map/if/module.make @@ -17,4 +17,5 @@ SRC += src/map/if/ifCom.c \ src/map/if/ifSeq.c \ src/map/if/ifTime.c \ src/map/if/ifTruth.c \ + src/map/if/ifTune.c \ src/map/if/ifUtil.c -- cgit v1.2.3