Hi everyone, when i do in Magic: extract do local ...
# sky130
h
Hi everyone, when i do in Magic: extract do local extract all ext2spice lvs ext2spice The inductor from ASITIC isn's recognized as a subcircuit. Could someone help me?
m
From the magic
sky130A.tech
file
Copy code
# The following devices are not extracted but are represented
# only by script-generated subcells in the PDK.
#-------------------------------------------------------------
# sky130_fd_pr__esd_nfet_01v8           ESD nFET
# sky130_fd_pr__esd_nfet_05v0_nvt       ESD native nFET
# sky130_fd_pr__special_nfet_pass_flash flash nFET device
# sky130_fd_pr__esd_rf_diode_pw2nd_11v0 ESD n+ diode
# sky130_fd_pr__esd_rf_diode_pd2nw_11v0 ESD p+ diode
# sky130_fd_pr__cap_vpp_*               Vpp cap
# sky130_fd_pr__ind_*                   inductor
# sky130_fd_pr__fuse_m4                 metal fuse device
Looks like inductors aren't extracted. You might be able to check with LVS blackbox though.
t
Magic is not a field solver, so inductors just look like metal to it. The best way to extract devices like that is to add a property to the subcell that declares it to be an extracted device (
property device <extracted_device_string>
). I'm not sure if that method works with inductors; the code might need to be expanded a bit to work correctly. Regardless, though, the extracted device has to call (or be) a device model, so you first need a model for the inductor.
m
@User How is this possible with extraction from GDS?
t
Well, the method I was suggesting would be for extracting layout from a magic database file. If you wanted to do it from GDS, probably the best one is to save the subcell locally as a .mag file, with the suggested property addition, and then pre-load that cell before reading GDS with the "gds noduplicates on" option. That is a bit of sleight-of-hand that can go wrong if you're not careful to make sure the .mag cell is an exact copy of the GDS cell, but it will work.
m
I was thinking about blackboxing the gds inductor cell somehow so it would match the netlist. And then maybe use `equate`s in the netgen setup.
t
That's probably a better way to go about it.
g
What do you use for EM solver?
t
"FastHenry" is a good EM solver for inductors.