so there should be 5
# magic
r
so there should be 5
m
You have a power - ground short somewhere. Check your extract messages - it might tell you which circuit.
r
I verified there is no such short
and I did not get an error when extracting
(I selected one of the rails and pressed S a few times)
m
there is a short over substrate
👍 1
r
where?
m
nfet substrate connection is to power while the xres bulk connection is to ground. You’re also missing nwell taps for your standard cells.
sub-short.png
r
oh I see my issue
I accidentally swapped the N and P fets
can you elaborate more on the nwell taps, confused about what I have to do for that
m
There is a
sky130_fd_sc_hd__tapvpwrvgnd_1
cell that has connections to well and substrate that should be included in every standard cell placement (and repeated if the cell row is long).
r
how do I add this cell
m
I’m not that familiar with magic, but I assume it’s just like adding the other standard cells in the design (or did you use
Import spice
?
r
i used import spice
and it didn't give me any of those
m
You could add it to the spice file manually. But looks like in magic, 1. select the lower left point 2. Cell->Place instance 3. Select
sky130_fd_sc_hd__tapvpwrvgnd_1.mag
from
$PDK_ROOT/$PDK/libs.ref/sky130_fd_sc_hd/mag
r
cool
so do I need one per standard cell or something?
or can I just do 1 for the entire circit
m
You need at least 1 in each horizontal group of standard cells. Openlane places one about every 25um in a row of standard cells.
r
image.png
so something like this?
m
The wells need to touch. You can add fill cells or decap cells to connect all the wells horizontally.
r
image.png
so would I just fill it in with the wiring tool like this?
image.png
I went ahead and connected all the wells to each other
is this the correct way to do things?
m
Technically, everything is connected correctly and LVS should pass, but from a physical layout standpoint, well resistance is much higher than metal or diffusion. Since your design is not that large, you may be ok, but I’d recommend adding tap cells at least on the right side also. You’ve drawn PWEL, but actually this layer is ignored. Everything not NWEL is physically PWEL.