Hello everyone. I'm having a problem running a par...
# caravan
j
Hello everyone. I'm having a problem running a parasitic extraction of a layout with a huge amount of vias. Because of its complexity in terms of number of vias, the extraction takes a really long time to be generated. Also, i checked the CPU consumption of magic when performing this process and realized that it only uses 1 core. Does anyone know how to set magic in order to run all of its capabilities using more than 1 core? That would be a great help in my case due to the reduction of time when running parasitic extraction
t
Magic only runs a single process, and the way it scans the database makes it difficult to parallelize. Not impossible, but a significant amount of work.
Generally, the number of vias doesn't have that much impact on extraction time. Since you're posting in #caravan, I assume this is an analog design---How big is it?
j
Yes, it is an analog design but not from the core. It is an analog pad with 12 ESD diodes. About the size, the cell dimensions are 75umx200um. If you would like to see the layout, I'll attach it to this message.
SigPadv2.mag
m
@Tim Edwards Looks like the layout has contact regions that are non-rectangular (they have holes). Does magic create vias/contacts from layers that are arbitrary polygons?
t
@Mitch Bailey: For non-Manhattan polygons, that question has a complex answer. For the layout under consideration, the contact regions are non-rectangular but all shapes are orthogonal, for which the contact-placing algorithm is well-defined (although completely describing the algorithm would take a while). It can handle guard rings, even multiple rings joining in complex ways, in a way that I would consider optimal layout. @Jhon Pinto: Okay, normally the number of vias doesn't have much impact on extraction time, but if you make the entire layout out of overlapping vias on all planes, then yes, that's going to affect extraction time.
j
Ok but@Tim Edwards, I have a question regarding the vias. When I replace the vias overlapped on all planes by a single via that covers the plane entirely (Following DRCs), does magic take it like a 1 single big via or it takes the area as a multiple minimum-size via area? I tell you this because when testing 3D render of a big area of via, the rendered figure isn't a big via but a set of vias in the area specified. Maybe if the answer is yes, I can replace the overall layout with a single area and resolve the problem of the huge time to extract parasitics
t
@Jhon Pinto: Contacts in magic are contact areas that are filled with cuts using an algorithm that tries to optimize cut placement while honoring all DRC rules. The 3D view you see has the GDS layers (there is a checkbox to switch between the GDS layers and magic's layers in the 3D view, but the default is GDS because that reflects the actual mask layers). You can see where the cuts go without using the 3D drawing by doing, e.g.,
cif see VIA3
(the names are CIF layers, which go by name, not number; if you pass an unknown layer like
cif see XXX
you'll get back a list of valid layers).
j
Oook, got it! Thanks, @Tim Edwards