1 /*
2  * This file is part of the Alliance CAD System
3  * Copyright (C) Laboratoire LIP6 - D�partement ASIM
4  * Universite Pierre et Marie Curie
5  *
6  * Home page          : http://www-asim.lip6.fr/alliance/
7  * E-mail             : mailto:alliance-users@asim.lip6.fr
8  *
9  * This library is free software; you  can redistribute it and/or modify it
10  * under the terms  of the GNU Library General Public  License as published
11  * by the Free Software Foundation; either version 2 of the License, or (at
12  * your option) any later version.
13  *
14  * Alliance VLSI  CAD System  is distributed  in the hope  that it  will be
15  * useful, but WITHOUT  ANY WARRANTY; without even the  implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
17  * Public License for more details.
18  *
19  * You should have received a copy  of the GNU General Public License along
20  * with the GNU C Library; see the  file COPYING. If not, write to the Free
21  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22  */
23 
24 
25 /*******************************************************************************
26 *                                                                              *
27 *  Tool        : Spice parser / driver v 7.00                                  *
28 *  Author(s)   : Gregoire AVOT                                                 *
29 *  Updates     : March, 18th 1998                                              *
30 *                                                                              *
31 *******************************************************************************/
32 
33 #ifndef SPI_DRIVER
34 #define SPI_DRIVER
35 
36 #define SPI_DRIVER_PTYPE 6809
37 
38 /* Capacite minimum acceptable par Spice en pf */
39 #define CAPAMINI 0.000001
40 /* Resistance minimum acceptable par Spice en ohm */
41 #define RESIMINI 0.001
42 
43 typedef struct sconvindex
44 {
45   losig_list    *sig;           /* Pointeur sur le signal */
46   int            premier;       /* Index du premier noeud sur le signal */
47 } convindex;
48 
49 /* NOTE :
50   Le champs premier contient le numerot du premier noeud dans le fichier
51   Spice. Dans les vues RCN, le premier num�rot de noeud est le 1. Le num�rot
52   de noeud Spice est donc donn� par la relation :
53       noeud_spice = noeud_rcn + premier - 1
54 */
55 
56 char*  spinamednode         __P(( losig_list *losig, long node ));
57 void   spi_vect             __P(( char* ));
58 void   cherche_alim         __P(( lofig_list *ptfig, char **vdd, char **vss ));
59 void   sortrcn              __P(( lofig_list *ptfig, FILE *df, char *vss ));
60 void   signalnoeud          __P(( lofig_list *ptfig ));
61 int    sortconnecteur       __P(( FILE *df, locon_list *c, int ));
62 void   sortnet              __P(( lofig_list *ptfig, FILE *df ));
63 void   sortinstance         __P(( lofig_list *ptfig, FILE *df ));
64 void   sorttransistormos    __P(( lofig_list *ptfig,
65                                   FILE *df,
66                                   char *vss,
67                                   char *vdd
68                                ));
69 void   sortcircuit          __P(( lofig_list *ptfig, FILE *df ));
70 void   tooutput             __P(( FILE *, ...));
71 int    sortconnecteur_ordre __P(( FILE *df, chain_list*, locon_list*, int ));
72 
73 #endif
74