summaryrefslogtreecommitdiffstats
path: root/src/map/mio
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-09-19 20:21:27 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-09-19 20:21:27 -0700
commit723f85ef1b4ad35bc7708f7b8208dafe0406078c (patch)
treeb9aa1461ec4ddbe53ee7b1ac45518e8659fe8ebf /src/map/mio
parent5dc50744f0604173293be81f013834db59ea0142 (diff)
downloadabc-723f85ef1b4ad35bc7708f7b8208dafe0406078c.tar.gz
abc-723f85ef1b4ad35bc7708f7b8208dafe0406078c.tar.bz2
abc-723f85ef1b4ad35bc7708f7b8208dafe0406078c.zip
Extending Liberty parser to handle multi-output cells.
Diffstat (limited to 'src/map/mio')
-rw-r--r--src/map/mio/mioParse.c8
-rw-r--r--src/map/mio/mioRead.c4
2 files changed, 6 insertions, 6 deletions
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;