Hello! I have a question. I want to create and use a MOM capacitor with a capacitance of around 5fF....
u
Hello! I have a question. I want to create and use a MOM capacitor with a capacitance of around 5fF. I would like to use the layout provided in "./libs.ref/sky130_fd_pr/maglef sky130_fd_pr__cap_vpp_02p4x04p6_m1m2_noshield" from the sky130A library. When I looked at the provided symbol "/foss/pdks/sky130A/libs.tech/xschem/sky130_fd_pr/vpp_cap.sym," it seems that the layout for "cap_vpp_02p4x04p6_m1m2_noshield" is not available. Is there a way for me to connect my custom layout to the capacitor symbol and have it recognized as a capacitor so that I can use it in my schematic? I would be very grateful if you could provide an answer. *The attached picture shows the contents of the symbol attributes for "vpp_cap.sym," indicating the defined available layouts.
t
Everything in xschem is just a text value field. The symbol you show has a parameter
model
with value
cap_vpp_11p5x11p7_l1m1m2m3m4_shieldm5
. Just change the value to
cap_vpp_02p4x04p6_m1m2_noshield
.
You will probably need to modify some other things, though. The MoM capacitors do not take parameters
L
and
W
, so those need to be removed from the line describing the output. The value of the capacitor is fixed and will not match the value printed on the schematic, so the text should be changed to read "4.37fF" (@Stefan Schippers: (1) Are you aware of the
L
and
W
in the
vpp_cap
symbol, which shouldn't be there, and (2) Is there a way to add fixed values for each of the types in "available_models" and print the capacitance value corresponding to the selected model?).
s
@Tim Edwards @권미정 Thank you for reporting this. I will certainly remove the W/L parameters, and will figure out a way to display the value corresponding to the model. I see also there is no more
top
and
sub
terminals but only a
b
terminal. WIll change the symbol.
@Tim Edwards @권미정 I have two news. First the good news: the vpp_cap capacitor is updated, removed W and L, removed the fourth pin and netlist is now in line with the spice models. The component shows the capacitance value depending on the selected model as documented here. The list of models and capacitance values is inside the symbol, so everything works ootb.
The bad news is that to show the capacitance values you need to update xschem, since I have added a missing
@symref
attribute that makes retrieval of symbol parameters straightforward and efficient. The new
vpp_cap.sym
symbol is however perfectly compatible with old xschem versions, you only will see a
?
instead of the capacitance.
t
If requiring a software update is bad news, then I've been giving people bad news just about every day. . .
🤣 1
👍 1
u
Thank you for your response! I'll give it a try!
👍 1
s
@Stefan Schippers I have just updated the xschem through git and it looks ok. W and L of cap are not shown anymore. But, symbol still shows 'top' and 'sub' terminal. How can I get the new symbol (vpp_cap.sym)?
s
I have changed the symbols in xschem_sky130, the git repo of sky130 symbols that I maintain. This repository is cloned during
open_pdks
installation. So you probably need to update
open_pdks
. A Quick solution is to pick this symbol and place it in .
../share/pdk/sky130A/libs.tech/xschem/sky130_fd_pr/vpp_cap.sym
(
...
= base directory where your pdk is installed).
s
Got it. Thanks
u
@Stefan Schippers To apply the update, I cloned the xschem_sky130 repository and copied the pdk/sky130A/libs.tech/xschem/ directory to replace the one in the PDK installation path: /..../share/pdk/sky130A/libs.tech/xschem. The symbols have changed, but there is an issue with capacitance, as it's displayed as '?'. When I set the model to cap_vpp_02p4x04p6_m1m2_noshield, the simulation can't find the model, just like before the update. However, cap_vpp_11p5x11p7_l1m1m2m3m4_shieldm5 works correctly in simulations. It seems like my xschem may not have updated properly. Are there additional steps I should take to complete the update?
s
u
okay,, thank you..! 🙂