GitHub
03/06/2023, 1:50 PMMagic 8.3 revision 373
The attached gds, when flattened, should extract to a netlist equivalent to (4 nodes, 7 devices)
.subckt sky130_fd_io__res250only_small PAD ROUT
R3 ROUT_ ROUT sky130_fd_pr__res_generic_m1 w=2.01 l=0.01
R0 ROUT_ ROUT sky130_fd_pr__res_generic_l1 w=2.02 l=0.01
R5 ROUT_ ROUT sky130_fd_pr__res_generic_po w=2 l=0.17
R1 ROUT_ PAD_ sky130_fd_pr__res_generic_po w=2 l=10.07
R4 PAD PAD_ sky130_fd_pr__res_generic_po w=2 l=0.17
R6 PAD PAD_ sky130_fd_pr__res_generic_l1 w=2.02 l=0.01
R2 PAD PAD_ sky130_fd_pr__res_generic_m1 w=2.01 l=0.01
.ends
However, with Using technology "sky130A", version 1.0.393-0-ge6f9c88
this is the extracted result. (2 nodes, 11 devices)
(edit: also notice the strange device sizes w=0.23
)
.subckt sky130_fd_io__res250only_small PAD ROUT
R6 ROUT ROUT sky130_fd_pr__res_generic_m1 w=2.01 l=0.01
R1 ROUT ROUT sky130_fd_pr__res_generic_l1 w=0.23 l=0.005
R10 ROUT ROUT sky130_fd_pr__res_generic_l1 w=0.27 l=0.005
R8 ROUT ROUT sky130_fd_pr__res_generic_po w=0.3 l=0.085
R4 ROUT ROUT sky130_fd_pr__res_generic_po w=0.34 l=0.085
R2 PAD ROUT sky130_fd_pr__res_generic_po w=2 l=10.07
R3 PAD PAD sky130_fd_pr__res_generic_po w=0.34 l=0.085
R7 PAD PAD sky130_fd_pr__res_generic_po w=0.3 l=0.085
R0 PAD PAD sky130_fd_pr__res_generic_l1 w=0.27 l=0.005
R9 PAD PAD sky130_fd_pr__res_generic_l1 w=0.23 l=0.005
R5 PAD PAD sky130_fd_pr__res_generic_m1 w=2.01 l=0.01
.ends
The following script should work
# magic commands to extract netlist,
drc off
gds flatglob sky130_fd_io__res250_sub_small
gds flatten yes
gds read sky130_fd_io__res250only_small.gds.gz
load sky130_fd_io__res250only_small -dereference
extract no all
extract do local
extract unique
extract
ext2spice lvs
ext2spice merge conservative
ext2spice -o sky130_fd_io__res250only_small.gds.spice sky130_fd_io__res250only_small.ext
feedback save sky130_fd_io__res250only_small-ext2gds.spice.feedback.txt
sky130_fd_io__res250only_small.gds.gz
RTimothyEdwards/magic