<@U016EM8L91B> Hi Tim, When I do `ext2spice` on Ma...
# magic
m
@User Hi Tim, When I do
ext2spice
on Magic it finds one unintentional capacitor. I can not understand how does it extract such cap because it has no PDK-specific type with it. Here’s is my extracted netlist:
Copy code
* SPICE3 file created from INV.ext - technology: sky130A

.subckt INV OUT IN VDD GND
X0 OUT IN VDD VDD sky130_fd_pr__pfet_01v8 ad=0p pd=0u as=0p ps=0u w=840000u l=150000u
X1 OUT IN GND GND sky130_fd_pr__nfet_01v8 ad=0p pd=0u as=0p ps=0u w=420000u l=150000u
C0 VDD GND 2.26fF
.ends
As you can see it’s a very simple inverter, also I’ll put my layout in the attachments. 1. Is there anything wrong with my layout which leads to such cap? 2. Is it going to produce an LVS error if my goal is the following inverter?
Copy code
.subckt INV OUT IN VDD GND
X0 OUT IN VDD VDD sky130_fd_pr__pfet_01v8 ad=0p pd=0u as=0p ps=0u w=840000u l=150000u
X1 OUT IN GND GND sky130_fd_pr__nfet_01v8 ad=0p pd=0u as=0p ps=0u w=420000u l=150000u
.ends
m
For LVS netlists, set
ext2spice lvs
before
ext2spice
.
t
@User: That's a parasitic capacitor. You want that for simulation but not for LVS. As Mitch said, you want to use the option "ext2spice lvs" to make sure that the output netlist is appropriate for LVS (such as not containing parasitics).
m
@User Thanks a lot Mitch, I tried that and it was really interesting. So, How can I back to default SPICE netlist (i.e. with parasitics)? @User 1. Is it something like Elmore Model? If yes then where is the respective resistance? 2. In my layout is the capacitance caused by the rings? Sorry for asking silly questions. I’m pretty much new to layout stuff.
t
@User: Magic's parasitic extraction uses relatively simple equations but does capture plate capacitance between all layers, overlap capacitance, and sidewall capacitance. Extracting resistance is a different issue; the basic extraction will compute a "lumped resistance" which is understood by no tool that I know of, but essentially, the lumped resistance of a node times the capacitance of the node is more or less the Elmore delay. If you use the "extresist" command, you get full R-C parasitics, but "extresist" has a number of limitations (such as it only works correctly on flattened layouts). You can use "ext2spice lvs" to enable a number of different configuration settings appropriate for LVS. After that, you can individually reset any of those options. So for parasitics, I usually just do
ext2spice lvs ; ext2spice cthresh 0
which first sets all the options for LVS, then sets the threshold for computing parasitics to zero, so that it outputs all the parasitics.
1
👍 1
m
@User Thanks a lot Tim. It was so much helpful and informative. Thanks a lot for your time and patience.