Hi, klayout "Trace All Nets" does not separate the...
# chipalooza
a
Hi, klayout "Trace All Nets" does not separate the terminals on mim caps. I don't know if klayout is capable of ignoring the conductivity of
M3-VIA3-M4
if
capm.drawing
layer is present (same principle for capm2). If that's possible, it would be very helpful. @Leo Moser @Tim Edwards. PD: Found a bug on file
sky130A.lyt
. On line 161 replace
met1='67/20...
with
li='67/20...
m
@aquiles viza For klayout capm handling in the trace net function, in the net trace dialog, there’s a
Layer Stack
button in the lower left corner. For a short term fix, you can open that to edit the technology. In the computed and symbolic layers section add
via3
70/44-89/44
In the connectivity section, replace
70/44
with
via3
You can do something similar for
capm2
. The permanent solution is to modify the technology file. Pull requests are appreciated.
a
Pull request to which repo? I've seen that Efabless has a fork
Perfect, I've modified
sky130A.lyt
with this connection configuration
Copy code
<connectivity>
  <connection>66/20,66/44,li</connection>
  <connection>li,67/44,met1</connection>
  <connection>met1,68/44,met2</connection>
  <connection>met2,69/44,met3</connection>
  <connection>met3,via3,met4</connection>
  <connection>met4,via4,met5</connection>
  <symbols>li='67/20+67/5'</symbols>
  <symbols>met1='68/20+68/5'</symbols>
  <symbols>met2='69/20+69/5'</symbols>
  <symbols>met3='70/20+70/5'</symbols>
  <symbols>via3='70/44-89/44'</symbols>
  <symbols>met4='71/20+71/5'</symbols>
  <symbols>via4='71/44-97/44'</symbols>
  <symbols>met5='72/20+72/5'</symbols>
 </connectivity>
Thanks @Mitch Bailey.
👍 1
m
Don’t know if this will be an issue with your design, but the metal/poly short layers are not included either. The pull requests should probably be on this repo. https://github.com/efabless/sky130_klayout_pdk
a
I think if this is going to be fixed someday, it should be as complete as possible.Where can I found connectivity indications on sky130? I have never used or saw the poly/li/metal short (66-72/15) variants. Are they used on digital cells?
m
conb_1, I think has poly short (or res).
l
May I ask what exactly the short variants do or what they are used for? Are they interchangeable with the normal ones?
m
In general, short data types are used for virtually separating nodes that are actually shorted - the actual resistance is not (very) relevant to circuit operation.
👍 1
a
Hi David, so the short variants (*/15) devices should be subtracted on the conectivity description. Am I right?
m
That’s a good start. You might consider adding res (*/13) and cut (*/14) also. These layers aren’t used often for metal layers, but are with poly.
l
Since this got a bit lost I picked up the changes discussed here and opened a PR: https://github.com/efabless/sky130_klayout_pdk/pull/24 Could someone please check whether I correctly applied the changes? 🙌
a
Hi leo, I've developed a docker environment where this script is used to patch the klayout conectivity rules. https://github.com/ChipUSM/usm-vlsi-tools/blob/main/images/final_structure/configure/fix-tech-file.py Right now I can't help in the discussion, hopes to have more time tomorrow
m
@aquiles viza nice work! you might want to remove the
short
datatypes
/15
from from the
metal_connectivity
too.
l
@aquiles viza Great! I've now also created symbols for capm and cap2m. If you have any other changes to upstream, feel free to submit a PR! I'll make sure it will get merged in time.