https://open-source-silicon.dev logo
Channels
aa
abcc
activity
adiabatonauts
analog-design
announce
announcements
b2aws
b2aws-tutorial
bag
basebands
beagleboard
bluetooth
board-respin
cadence-genus
cadence-innovus
cadence-spectre
cadence-virtuoso
caravan
caravel
caravel-board
chilechipmakers
chip-yard
chipignite
chipignite2206q_stanford_bringup
chisel
coalition-for-digital-environmental-sustainability
community_denmark_dtu
containers
courses
design-review
design-services
dffram
digital-design
digital-electronics-learners
discord-mods
dynamic-power-estimation
efabless
electric
events
fasoc
fault
foss-asic-tools
fossee-iitb-esim
fossee-iitb-google-sky130
fpga
funding
fuserisc
general
generative-ai-silicon-challenge
genius-vlsi
gf180
gf180mcu
hardware-beginners
help-
ieee-sscs-cac-23
ieee-sscs-dc-21q3
ieee-sscs-dc-22
ieee-sscs-dc-23
ihp-sg13g2
images
infiniband
j-core
japan-region
junk
klayout
latam_vlsi
layouteditor
lvs
lvs-analysis
magic
magical
maker-projects
maker-zone
microwatt
mpw-2-silicon
mpw-one-clean-short
mpw-one-silicon
neuro-mem
nydesign
open_pdks
open-pdk
openadiabaticlogic
openfpga
openhighqualityresonators
openlane
openlane_cloudrunner
openlane-development
openocd
openpositarithmetic
openpower
openram
openroad
opentitan
osu
pa-test-chip
paracells
pd-openlane-and-sky130
picosoc
pll
popy_neel
power
private-shuttle
rad-lab-silicon
radio
rdircd
reram
researchers
rf-mmw-design
rios
riscv
sdram
serdes
shuttle
shuttle-precheck
shuttle-status
silicon-photonics
silicon-validation
silicon-validation-private
sky130
sky130-ci
sky130-pv-workshop
sky65
sky90
skywater
sram
stdcelllib
strive
swerv
system-verilog-learners
tapeout-job
tapeout-pakistan
team-awesome
timing-closure
toysram
travis-ci
uvm-learners
vendor-synopsys
venn
verification-be
verification-fe
verilog-learners
vh2v
vhdl
vhdl-learners
vliw
vlsi_verilog_using_opensource_eda
vlsi_verilog_using_opensoure_eda
vlsi-learners-group
vlsi101
waveform-viewers
xls
xschem
xyce
zettascale
Powered by
Title
j

Jhon Pinto

03/14/2023, 5:13 PM
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

Tim Edwards

03/14/2023, 6:16 PM
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

Jhon Pinto

03/14/2023, 9:15 PM
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

Mitch Bailey

03/15/2023, 12:32 AM
@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

Tim Edwards

03/15/2023, 2:27 AM
@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

Jhon Pinto

03/16/2023, 2:01 AM
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

Tim Edwards

03/16/2023, 12:45 PM
@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

Jhon Pinto

03/16/2023, 1:20 PM
Oook, got it! Thanks, @Tim Edwards