addloself(3) create a logical inductor

SYNOPSYS


#include "mlo.h"
loself_list *addloself(ptfig,type,self,scon1,scon2,name)
lofig_list *ptfig ;
char type ;
double self ;
losig_list *scon1, *scon2 ;
const char *name ;

PARAMETERS

ptfig
Pointer to the figure in which the inductor should be added
type
Inductor type
self
Inductor value in Henry
scon1
Pointer to the signal to be connected on the inductor top plate
scon2
Pointer to the signal to be connected on the inductor bottom plate
name
Inductor instance name

DESCRIPTION

addloself creates a new inductor, and adds it to the list of inductors pointed to by ptfig -> LOSELF. The new inductor is added in front of the list, and becomes itself the list head.
The type parameter can take one value :
SELFMIM
for a metal inductor

The self argument is the inductor value in Henry.
Two connectors are created each time a inductor is added, and the scon1 and scon2 losigs are attached to the SIG field of the locon of the appropriate connector. The connectors names are scon1 and scon2; their direction, DIR, are set to 'L', and their TYPE INTERNAL. For details on the structuself, see locon(3) and loself(3).

RETURN VALUE

addloself returns a pointer to the newly created inductor.

ERRORS

"*** mbk error *** illegal inductor type : type"
The type is not a legal inductor type.

EXAMPLE

#include "mlo.h"
void parallel_inductors(void) /* netlist of two parallel inductors */
{
  lofig_list *pt  = NULL ;
  losig_list *in  = NULL ;
  losig_list *out = NULL ;
  pt = addlofig("parallel_inductors") ;
  addlocon(pt,"in",in = givelosig(pt,0),IN) ;
  addlocon(pt,"out",out = givelosig(pt,1),OUT) ;
  addloself(pt,SELFMIM,0.6e-6,in,out,"self1") ;
  addloself(pt,SELFMIM,0.6e-6,in,out,"self2") ;
}