Ajout au niveau logique des capacites, resistances et inductances.
Modifications de:
typedef struct lofig /* logical figure */
{
struct lofig *NEXT ; /* next figure */
struct chain *MODELCHAIN ; /* list of models */
struct locon *LOCON ; /* connector list head */
struct losig *LOSIG ; /* signal list head */
struct ptype *BKSIG ; /* signal block list head */
struct loins *LOINS ; /* instance list head */
struct lotrs *LOTRS ; /* transistor list head */
struct locap *LOCAP ; /* capacitance list head */
struct lores *LORES ; /* resistance list head */
struct loself *LOSELF ; /* inductor list head */
char *NAME ; /* figure name (unique) */
char MODE ; /* 'A' or 'P' */
struct ptype *USER ; /* Application specific */
} lofig_list ;
Ajout de :
***** LOCAP:
* Structure
typedef struct locap /* analog capacitance */
{
struct locap *NEXT ; /* next capacitor */
struct locon *TCON ; /* top plate connector */
struct locon *BCON ; /* bottom plate connector */
char *NAME ; /* capacitor instance name */
double CAPA ; /* capacitor value (unite FF) */
char TYPE ; /* capacitor type */
struct ptype *USER ; /* application specific */
} locap_list ;
Notes : le TYPE est necessaire pour la generation d'une netlist spice. Il existe plusieurs
types de modeles spice de capacites.
: Les capacités parasites pourront être attachées aux signaux sur les connecteurs.
* Fonctions:
locap_list *addlocap(lofig_list *ptfig,char type,double capa,losig_list *pttcon,losig_list *ptbcon,char *name)
int dellocap(lofig_list *ptfig,locap_list *ptcap)
locap_list *getlocap(lofig_list *ptfig,const char *name)
void dellocapuser(locap_list *)
***** LORES:
* Structure
typedef struct lores /* analog resistor */
{
struct lores *NEXT ; /* next resistor */
struct locon *RCON1 ; /* first connector */
struct locon *RCON2 ; /* second connector */
char *NAME ; /* resistor instance name */
double RESI ; /* resistance value (ohms) */
char TYPE ; /* resistor type */
struct ptype *USER ; /* application specific */
} lores_list ;
Note: Les capacités parasites pourront être attachées aux signaux sur les connecteurs.
* Fonctions
lores_list *addlores(lofig_list *ptfig,double resi,losig_list *ptrcon1,losig_list *ptrcon2,char *name)
int dellores(lofig_list *ptfig,lores_list *ptres)
lores_list *getlores(lofig_list *ptfig,const char *name)
void delloresuser(lores_list *)
***** LOSELF
* Structure
typedef struct loself /* analog inductor */
{
struct loself *NEXT ; /* next inductor */
struct locon *SCON1 ; /* first connector */
struct locon *SCON2 ; /* second connector */
char *NAME ; /* inductor instance name */
double SELF ; /* inductance value (unite H) */
char TYPE ; /* inductor type */
struct ptype *USER ; /* application specific */
} loself_list ;
Note: Les capacités parasites (PB et les résistances parasites ? le coeff de
qualité ?) pourront être attachées aux signaux sur les connecteurs.
* Fonctions
loself_list *addloself(lofig_list *ptfig,double self,losig_list *ptscon1,losig_list *ptscon2,char *name)
int delloself(lofig_list *ptfig,loself_list *ptself)
loself_list *getloself(lofig_list *ptfig,const char *name)
void delloselfuser(loself_list *)