summaryrefslogtreecommitdiffstats
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/amap/amapLiberty.c2
-rw-r--r--src/map/mio/mioParse.c8
-rw-r--r--src/map/mio/mioRead.c4
3 files changed, 7 insertions, 7 deletions
diff --git a/src/map/amap/amapLiberty.c b/src/map/amap/amapLiberty.c
index e961b68c..b8232024 100644
--- a/src/map/amap/amapLiberty.c
+++ b/src/map/amap/amapLiberty.c
@@ -454,7 +454,7 @@ int Amap_LibertyPrintGenlib( Amap_Tree_t * p, char * pFileName, int fVerbose )
fprintf( pFile, "%s=", Amap_LibertyGetString(p, pOutput->Head) );
fprintf( pFile, "%s;\n", Amap_LibertyGetStringFormula(p, pFunc->Head) );
Amap_ItemForEachChild( p, pCell, pPin )
- if ( pPin != pOutput && !Amap_LibertyCompare(p, pPin->Key, "pin") )
+ if ( Vec_PtrFind(vOutputs, pPin) == -1 && !Amap_LibertyCompare(p, pPin->Key, "pin") )
fprintf( pFile, " PIN %13s UNKNOWN 1 999 1.00 0.00 1.00 0.00\n", Amap_LibertyGetString(p, pPin->Head) );
}
Vec_PtrFree( vOutputs );
diff --git a/src/map/mio/mioParse.c b/src/map/mio/mioParse.c
index a3dfa435..21348498 100644
--- a/src/map/mio/mioParse.c
+++ b/src/map/mio/mioParse.c
@@ -410,7 +410,7 @@ int Mio_ParseCheckFormula( Mio_Gate_t * pGate, char * pForm )
Mio_Pin_t * pPin;
char * pStr;
int i, iPin, fVisit[32] = {0};
- if ( Mio_GateReadPins(pGate) == NULL )
+ if ( Mio_GateReadPins(pGate) == NULL || !strcmp(Mio_PinReadName(Mio_GateReadPins(pGate)), "*") )
return 1;
/*
// find the equality sign
@@ -421,9 +421,9 @@ int Mio_ParseCheckFormula( Mio_Gate_t * pGate, char * pForm )
return 0;
}
*/
-printf( "Checking gate %s\n", pGate->pName );
+//printf( "Checking gate %s\n", pGate->pName );
- for ( pStr = pForm + 1; *pStr; pStr++ )
+ for ( pStr = pForm; *pStr; pStr++ )
{
if ( *pStr == ' ' ||
*pStr == MIO_EQN_SYM_OPEN ||
@@ -443,7 +443,7 @@ printf( "Checking gate %s\n", pGate->pName );
iPin = Mio_ParseCheckName( pGate, &pStr );
if ( iPin == -1 )
{
- printf( "Skipping gate \"%s\" because substring \"%s\" does not match with a pin name.\n", pGate->pName, *pStr );
+ printf( "Skipping gate \"%s\" because substring \"%s\" does not match with a pin name.\n", pGate->pName, pStr );
return 0;
}
assert( iPin < 32 );
diff --git a/src/map/mio/mioRead.c b/src/map/mio/mioRead.c
index 2d1a747f..9a46ac8a 100644
--- a/src/map/mio/mioRead.c
+++ b/src/map/mio/mioRead.c
@@ -209,14 +209,14 @@ int Mio_LibraryReadInternal( Mio_Library_t * pLib, char * pBuffer, int fExtended
pGate = Mio_LibraryReadGate( &pToken, fExtendedFormat );
if ( pGate == NULL )
return 1;
-/*
+
// skip the gate if its formula has problems
if ( !Mio_ParseCheckFormula(pGate, pGate->pForm) )
{
Mio_GateDelete( pGate );
continue;
}
-*/
+
// set the library
pGate->pLib = pLib;