- bug fix in lax parameter parsing (it may happens that wrong values are
computed/introduced under Redhat 9) - bug fix in xsch driver : the VST driver may add intermediate signals and loon has no idea of those signals after driving the resulting optimized netlist. Loon then displayed the message -> "signal foo not found in hash table" and stopped. Now it adds those signals in its internal hash table, and there is no longer error.
This commit is contained in:
parent
00651fec71
commit
3c4f840a38
|
@ -183,12 +183,11 @@ loc_addnamelist( lax_name_list *head, char *name )
|
|||
int
|
||||
loc_getdouble( FILE *Pfile, int c, double *PValue )
|
||||
{
|
||||
double Value = 0.0;
|
||||
char Buffer[ 32 ];
|
||||
int Index = 0;
|
||||
int Index;
|
||||
|
||||
Buffer[ 0 ] = '\0';
|
||||
*PValue = 0.0;
|
||||
Index = 0;
|
||||
|
||||
while ( ( isdigit( c ) ) ||
|
||||
( c == '.' ) ||
|
||||
|
@ -203,6 +202,8 @@ loc_getdouble( FILE *Pfile, int c, double *PValue )
|
|||
c = fgetc( Pfile );
|
||||
}
|
||||
|
||||
Buffer[ Index ] = '\0';
|
||||
|
||||
if ( Index > 0 ) *PValue = atof( Buffer );
|
||||
|
||||
while( isspace( (int) c )) { c = fgetc( Pfile ); }
|
||||
|
|
|
@ -137,7 +137,7 @@ static void putsignal(signal_list* signal, char* name)
|
|||
/* search a signal in hash table */
|
||||
/*if doesn't exist, create the signal if create param is 1 */
|
||||
/***************************************************************************/
|
||||
static signal_list* getsignal(char *name, int create)
|
||||
signal_list* getsignal(char *name, int create)
|
||||
{
|
||||
authelem* elem;
|
||||
signal_list* signal;
|
||||
|
@ -270,5 +270,13 @@ extern void putcapacitance(char* name, double capacitance)
|
|||
if (signal->C<0) signal->C=0;
|
||||
}
|
||||
|
||||
/* LUDO */
|
||||
|
||||
int
|
||||
addsignalifnotexist( char *name )
|
||||
{
|
||||
return ( getsignal( name, 1 ) != (signal_list *)0 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -77,5 +77,6 @@ extern void inccapacitance __P ((char* name, double capacitance));
|
|||
/***************************************************************************/
|
||||
extern void putcapacitance __P ((char* name, double capacitance));
|
||||
|
||||
extern int addsignalifnotexist __P(( char *name ));
|
||||
|
||||
#endif
|
||||
|
|
|
@ -164,6 +164,7 @@ extern void save_xsch(FILE* xsch_stream, lofig_list* lofig, ptype_list* long_pat
|
|||
autexit(1);
|
||||
}
|
||||
signame=losig->NAMECHAIN->DATA;
|
||||
addsignalifnotexist( signame );
|
||||
|
||||
if (isvdd(signame) || isvss(signame)) continue;
|
||||
|
||||
|
|
Loading…
Reference in New Issue