I'm getting a netgen-lvs property error in varacto...
# xschem
m
I'm getting a netgen-lvs property error in varactor
sky130_fd_pr__cap_var_lvt
between the xschem netlist and the extracted magic netlist. The error message disappears when
VM=1
is removed manually from the xschem netlist. Could it be that this is the same problem as in the linked thread? https://open-source-silicon.slack.com/archives/C016YSAP6TZ/p1663579046015189?thread_ts=1663541773.191169&cid=C016YSAP6TZ ?
xschem netlist:
XC2 nmoscap_top nmoscap_bot pwell sky130_fd_pr__cap_var_lvt W=16.4 L=16.0 VM=1 m=1
magic netlist:
X49 VDD VSS VSS sky130_fd_pr__cap_var_lvt w=1.64e+07u l=1.6e+07u
s
In this case the spice netlist from xschem is ok since the definition in the spice models is this:
* SKY130 Spice File.
.subckt  sky130_fd_pr__cap_var_lvt c0 c1 b w=5 l=0.5 *vm=1*
+ wc='w*1' lc='l*1'
...
...
you see there is a
vm
parameter. This parameter has the same meaning as the
mult
parameter for mos transistors, it is the device multiplicity, it is assigned to
m=...
in the spice netlist as well as
vm=...
. The
vm
alias is used to calculate device area for mismatch estimation, since the
m
multiplicity parameter is not available from inside the spice models (@Tim Edwards may confirm ). However I will fix that, xschem has the ability to differentiate netlists for simulation and for LVS. This is already done for mos transistors. Will push a correction so the
vm
parameter will not be in netlists for LVS comparison. I have fixed also mim caps and vpp perpendicular caps You can get the updated symbols (if you don't want to reinstall open_pdks) here. Personal rant: I don't know why model card developers are so inconsistent with parameter naming. Why not use mult for multiplicity for capacitor as was done for mosfets. This is not specific to skywater models, this is a problem common to all pdks used in all companies I have worked with. I really can't understand the reason.
m
Alright, thank you Stefan for clarifying and fixing this so fast!
s
You are welcome, also remember to set
Simulation-> LVS netlist: top level is a subckt,
that will enable the LVS specific quirks in the netlist generation.