addlocap - create a logical capacitor
See the file man1/alc_origin.1.
#include "mlo.h"
locap_list ∗addlocap(ptfig,type,capa,tcon,bcon,name)
lofig_list ∗ptfig ;
char type ;
double capa ;
losig_list ∗tcon, ∗bcon ;
const char ∗name ;
- ptfig
- Pointer to the figure in which the capacitor should be added
- type
- Capacitor type
- capa
- Capacitance value in Farads
- tcon
- Pointer to the signal to be connected on the capacitor top plate
- bcon
- Pointer to the signal to be connected on the capacitor bottom plate
- name
- Capacitor instance name
addlocap creates a new capacitor, and adds it to the list
of capacitors pointed to by ptfig -> LOCAP. The new capacitor is
added in front of the list, and becomes itself the list head.
The type parameter can take two values :
- CAPMIM
- for a metal/metal capacitor (the top plate and the bottom plate layers are
different metal layers)
- CAPPNWELL
- for a POLY/NWELL capacitor (if available in the technology). The top plate
layer is POLY, bottom plate is NWELL.
The capa argument is the capacitance value in
Farads.
Two connectors are created each time a capacitor is added, and the tcon
and bcon losigs are attached to the SIG field of the
locon of the appropriate connector. The connectors names are tcon
(top plate) and bcon (bottom plate); their direction,
DIR, are set to 'P', and their TYPE INTERNAL.
For details on the structures, see locon(3) and locap(3).
addlocap returns a pointer to the newly created
capacitor.
"∗∗∗ mbk error
∗∗∗ illegal capacitor type :
type"
The type is not a legal capacitor type.
#include "mlo.h"
void parallel_capacitors(void) /∗ netlist of two parallel capacitors ∗/
{
lofig_list ∗pt = NULL ;
losig_list ∗in = NULL ;
losig_list ∗out = NULL ;
pt = addlofig("parallel_capacitors") ;
addlocon(pt,"in",in = givelosig(pt,0),IN) ;
addlocon(pt,"out",out = givelosig(pt,1),OUT) ;
addlocap(pt,CAPMIM,0.5e-6,in,out,"cap1") ;
addlocap(pt,CAPMIM,0.5e-6,in,out,"cap2") ;
}
mbk(1), lofig(3), locap(3), locon(3),
dellocap(3).
See the file man1/alc_bug_report.1.