blob: b93a20ff2b1b951deb40d5119e185914244dd692 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<technology>
<name>sky130A</name>
<description>SkyWater 130nm technology</description>
<group/>
<dbu>0.001</dbu>
<base-path>$(appdata_path)/tech/sky130A</base-path>
<layer-properties_file>sky130A.lyp</layer-properties_file>
<add-other-layers>true</add-other-layers>
<reader-options>
<gds2>
<box-mode>1</box-mode>
<allow-big-records>true</allow-big-records>
<allow-multi-xy-records>true</allow-multi-xy-records>
</gds2>
<common>
<create-other-layers>true</create-other-layers>
<layer-map>layer_map()</layer-map>
<enable-properties>true</enable-properties>
<enable-text-objects>true</enable-text-objects>
</common>
<lefdef>
<read-all-layers>true</read-all-layers>
<layer-map>layer_map('areaid.analog : 81/79';'areaid.core : 81/2';'areaid.critCorner : 81/51';'areaid.critSid : 81/52';'areaid.deadZon : 81/50';'areaid.dieCut : 81/11';'areaid.diode : 81/23';'areaid.esd : 81/19';'areaid.etest : 81/101';'areaid.extendedDrain : 81/57';'areaid.frame : 81/3';'areaid.frameRect : 81/12';'areaid.hvnwell : 81/63';'areaid.injection : 81/17';'areaid.lowTapDensity : 81/14';'areaid.lvNative : 81/60';'areaid.moduleCut : 81/10';'areaid.notCritSide : 81/15';'areaid.opcDrop : 81/54';'areaid.photo : 81/81';'areaid.rdlprobepad : 81/27';'areaid.rfdiode : 81/125';'areaid.seal : 81/1';'areaid.sigPadDiff : 81/6';'areaid.sigPadMetNtr : 81/8';'areaid.sigPadWell : 81/7';'areaid.standardc : 81/4';'areaid.substrateCut : 81/53';'areaid.waffleWindow : 81/13';'blanking.drawing : 124/40';'bump.drawing : 127/22';'capacitor.drawing : 82/64';'cbump.mask : 101/0';'cctm1.drawing : 101/44';'cctm1.mask : 35/0';'cctm1.maskAdd : 101/43';'cctm1.maskDrop : 101/42';'ccu1m.mask : 93/0';'cdnm.drawing : 110/20';'cdnm.mask : 48/0';'cdnm.maskAdd : 110/21';'cdnm.maskDrop : 110/22';'cfom.drawing : 22/20';'cfom.mask : 23/0';'cfom.maskAdd : 22/21';'cfom.maskDrop : 22/22';'cfom.waffleDrop : 22/24';'chvntm.drawing : 38/20';'chvntm.mask : 39/0';'chvntm.maskAdd : 38/21';'chvntm.maskDrop : 38/22';'chvtpm.drawing : 88/44';'chvtpm.mask : 97/0';'chvtpm.maskAdd : 97/43';'chvtpm.maskDrop : 97/42';'chvtrm.drawing : 98/44';'chvtrm.mask : 98/0';'chvtrm.maskAdd : 98/43';'chvtrm.maskDrop : 98/42';'cldntm.drawing : 11/20';'cldntm.mask : 11/0';'cli1m.drawing : 115/44';'cli1m.mask : 56/0';'cli1m.maskAdd : 115/43';'cli1m.maskDrop : 115/42';'clicm1.drawing : 106/44';'clicm1.mask : 43/0';'clicm1.maskAdd : 106/43';'clicm1.maskDrop : 106/42';'clvom.drawing : 45/20';'clvom.mask : 46/0';'clvom.maskAdd : 45/21';'clvom.maskDrop : 45/22';'clvtnm.drawing : 25/44';'clvtnm.mask : 25/0';'clvtnm.maskAdd : 25/43';'clvtnm.maskDrop : 25/42';'cmm1.drawing : 62/20';'cmm1.mask : 36/0';'cmm1.maskAdd : 62/21';'cmm1.maskDrop : 62/22';'cmm1.waffleDrop : 62/24';'cmm2.drawing : 105/44';'cmm2.mask : 41/0';'cmm2.maskAdd : 105/43';'cmm2.maskDrop : 105/42';'cmm2.waffleDrop : 105/52';'cmm3.drawing : 107/20';'cmm3.mask : 34/0';'cmm3.maskAdd : 107/21';'cmm3.maskDrop : 107/22';'cmm3.waffleDrop : 107/24';'cmm4.mask : 51/0';'cmm4.maskAdd : 112/43';'cmm4.maskDrop : 112/42';'cmm4.waffleDrop : 112/4';'cmm5.mask : 59/0';'cmm5.waffleDrop : 117/4';'cncm.drawing : 96/44';'cncm.mask : 17/0';'cnpc.drawing : 44/20';'cnpc.mask : 49/0';'cnpc.maskAdd : 44/43';'cnpc.maskDrop : 44/42';'cnsdm.drawing : 29/20';'cnsdm.mask : 30/0';'cnsdm.maskAdd : 29/21';'cnsdm.maskDrop : 29/22';'cnsm.mask : 22/0';'cntm.drawing : 26/20';'cntm.mask : 27/0';'cntm.maskAdd : 26/21';'cntm.maskDrop : 26/22';'cnwm.drawing : 109/44';'cnwm.mask : 21/0';'cnwm.maskAdd : 109/43';'cnwm.maskDrop : 109/42';'conom.drawing : 87/44';'conom.mask : 88/0';'conom.maskAdd : 87/43';'conom.maskDrop : 87/42';'cp1m.drawing : 33/44';'cp1m.mask : 28/0';'cp1m.maskAdd : 33/43';'cp1m.maskDrop : 33/42';'cp1m.waffleDrop : 33/24';'cpbo.mask : 99/0';'cpdm.drawing : 104/44';'cpdm.mask : 37/0';'cpdm.maskAdd : 104/43';'cpdm.maskDrop : 104/42';'cpmm2.mask : 94/0';'cpmm.drawing : 91/44';'cpsdm.drawing : 31/20';'cpsdm.mask : 32/0';'cpsdm.maskAdd : 31/21';'cpsdm.maskDrop : 31/22';'crpm.drawing : 53/44';'crpm.mask : 96/0';'crpm.maskAdd : 53/43';'crpm.maskDrop : 53/42';'crrpm.mask : 102/0';'ctunm.drawing : 96/20';'ctunm.mask : 20/0';'ctunm.maskAdd : 96/21';'ctunm.maskDrop : 96/22';'cubm.mask : 100/0';'cviam2.drawing : 108/20';'cviam2.mask : 44/0';'cviam2.maskAdd : 108/21';'cviam2.maskDrop : 108/22';'cviam3.drawing : 112/20';'cviam3.mask : 50/0';'cviam3.maskAdd : 112/21';'cviam3.maskDrop : 112/22';'cviam4.drawing : 117/20';'cviam4.mask : 58/0';'cviam4.maskAdd : 117/21';'cviam4.maskDrop : 117/22';'cviam.drawing : 105/20';'cviam.mask : 40/0';'cviam.maskAdd : 105/21';'cviam.maskDrop : 105/22';'diff.boundary : 65/4';'diff.cut : 65/14';'diff.drawing : 65/20';'diff.hv : 65/8';'diff.label : 65/6';'diff.net : 65/23';'diff.pin : 65/16';'diff.res : 65/13';'dnwell.drawing : 64/18';'fom.dummy : 22/23';'hvi.drawing : 75/20';'hvntm.drawing : 125/20';'hvtp.drawing : 78/44';'hvtr.drawing : 18/20';'inductor.drawing : 82/24';'inductor.label : 82/25';'inductor.term1 : 82/26';'inductor.term2 : 82/27';'inductor.term3 : 82/28';'ldntm.drawing : 11/44';'li1.blockage : 67/10';'li1.boundary : 67/4';'li1.cut : 67/14';'li1.drawing : 67/20';'li1.label : 67/5';'li1.net : 67/23';'li1.pin : 67/16';'li1.probe : 67/25';'li1.res : 67/13';'li1.short : 67/15';'licon1.boundary : 66/60';'licon1.drawing : 66/44';'licon1.net : 66/41';'licon1.pin : 66/58';'lvtn.drawing : 125/44';'marker.error : 83/6';'marker.warning : 83/7';'mcon.boundary : 67/60';'mcon.drawing : 67/44';'mcon.blockage : 67/44';'mcon.net : 67/41';'mcon.pin : 67/48';'met1.blockage : 68/10';'met1.boundary : 68/4';'met1.cut : 68/14';'met1.drawing : 68/20';'met1.label : 68/5';'met1.net : 68/23';'met1.option1 : 68/32';'met1.option2 : 68/33';'met1.option3 : 68/34';'met1.option4 : 68/35';'met1.option5 : 68/36';'met1.option6 : 68/37';'met1.option7 : 68/38';'met1.option8 : 68/39';'met1.pin : 68/16';'met1.probe : 68/25';'met1.psa1 : 68/88';'met1.psa2 : 68/89';'met1.psa3 : 68/90';'met1.psa4 : 68/91';'met1.psa5 : 68/92';'met1.psa6 : 68/93';'met1.res : 68/13';'met1.short : 68/15';'met2.blockage : 69/10';'met2.boundary : 69/4';'met2.cut : 69/14';'met2.drawing : 69/20';'met2.label : 69/5';'met2.net : 69/23';'met2.option1 : 69/32';'met2.option2 : 69/33';'met2.option3 : 69/34';'met2.option4 : 69/35';'met2.option5 : 69/36';'met2.option6 : 69/37';'met2.option7 : 69/38';'met2.option8 : 69/39';'met2.pin : 69/16';'met2.probe : 69/25';'met2.psa1 : 69/88';'met2.psa2 : 69/89';'met2.psa3 : 69/90';'met2.psa4 : 69/91';'met2.psa5 : 69/92';'met2.psa6 : 69/93';'met2.res : 69/13';'met2.short : 69/15';'met3.blockage : 70/10';'met3.boundary : 70/4';'met3.cut : 70/14';'met3.drawing : 70/20';'met3.fuse : 70/17';'met3.label : 70/5';'met3.net : 70/23';'met3.option1 : 70/32';'met3.option2 : 70/33';'met3.option3 : 70/34';'met3.option4 : 70/35';'met3.option5 : 70/36';'met3.option6 : 70/37';'met3.option7 : 70/38';'met3.option8 : 70/39';'met3.pin : 70/16';'met3.probe : 70/25';'met3.psa1 : 70/88';'met3.psa2 : 70/89';'met3.psa3 : 70/90';'met3.psa4 : 70/91';'met3.psa5 : 70/92';'met3.psa6 : 70/93';'met3.res : 70/13';'met3.short : 70/15';'met4.blockage : 71/10';'met4.boundary : 71/4';'met4.cut : 71/14';'met4.drawing : 71/20';'met4.fuse : 71/17';'met4.label : 71/5';'met4.net : 71/23';'met4.option1 : 71/32';'met4.option2 : 71/33';'met4.option3 : 71/34';'met4.option4 : 71/35';'met4.option5 : 71/36';'met4.option6 : 71/37';'met4.option7 : 71/38';'met4.option8 : 71/39';'met4.pin : 71/16';'met4.probe : 71/25';'met4.psa1 : 71/88';'met4.psa2 : 71/89';'met4.psa3 : 71/90';'met4.psa4 : 71/91';'met4.psa5 : 71/92';'met4.psa6 : 71/93';'met4.res : 71/13';'met4.short : 71/15';'met5.blockage : 72/10';'met5.boundary : 72/4';'met5.cut : 72/14';'met5.drawing : 72/20';'met5.fuse : 72/17';'met5.label : 72/5';'met5.net : 72/23';'met5.option1 : 72/32';'met5.option2 : 72/33';'met5.option3 : 72/34';'met5.option4 : 72/35';'met5.option5 : 72/36';'met5.option6 : 72/37';'met5.option7 : 72/38';'met5.option8 : 72/39';'met5.pin : 72/16';'met5.probe : 72/25';'met5.psa1 : 72/88';'met5.psa2 : 72/89';'met5.psa3 : 72/90';'met5.psa4 : 72/91';'met5.psa5 : 72/92';'met5.psa6 : 72/93';'met5.res : 72/13';'met5.short : 72/15';'ncm.drawing : 92/44';'npc.drawing : 95/20';'npn.drawing : 82/20';'npn.label : 82/5';'nsdm.drawing : 93/44';'nsm.drawing : 61/20';'nwell.drawing : 64/20';'nwell.label : 64/5';'nwell.net : 84/23';'nwell.pin : 64/16';'overlap.boundary : 90/4';'overlap.drawing : 90/20';'pad.drawing : 76/20';'pad.label : 76/5';'pad.pin : 76/16';'padCenter.drawing : 81/20';'pmm2.drawing : 77/20';'pmm.drawing : 85/44';'pnp.drawing : 82/44';'pnp.label : 82/59';'poly.boundary : 66/4';'poly.cut : 66/14';'poly.drawing : 66/20';'poly.gate : 66/9';'poly.label : 66/5';'poly.model : 66/83';'poly.net : 66/23';'poly.pin : 66/16';'poly.probe : 66/25';'poly.res : 66/13';'poly.short : 66/15';'prBoundary.boundary : 235/4';'prBoundary.drawing : 235/0';'prune.drawing : 84/44';'psdm.drawing : 94/20';'pwell.cut : 64/14';'pwell.drawing : 64/44';'pwell.label : 64/59';'pwell.pin : 122/16';'pwell.res : 64/13';'pwelliso.label : 44/5';'pwelliso.pin : 44/16';'rdl.cut : 74/14';'rdl.drawing : 74/20';'rdl.label : 74/5';'rdl.option1 : 89/32';'rdl.option2 : 89/33';'rdl.option3 : 89/34';'rdl.option4 : 89/35';'rdl.option5 : 89/36';'rdl.option6 : 89/37';'rdl.option7 : 89/38';'rdl.option8 : 89/39';'rdl.pin : 74/16';'rdl.psa1 : 74/88';'rdl.psa2 : 74/89';'rdl.psa3 : 74/90';'rdl.psa4 : 74/91';'rdl.psa5 : 74/92';'rdl.psa6 : 74/93';'rdl.res : 74/13';'rdl.short : 74/15';'rpm.drawing : 86/20';'rrpm.drawing : 102/20';'tap.boundary : 65/60';'tap.drawing : 65/44';'tap.label : 65/5';'tap.net : 65/41';'tap.pin : 65/48';'target.drawing : 76/44';'text.drawing : 83/44';'tunm.drawing : 80/20';'ubm.drawing : 127/21';'vhvi.drawing : 74/21';'via2.boundary : 69/60';'via2.drawing : 69/44';'via2.net : 69/41';'via2.pin : 69/58';'via3.boundary : 70/60';'via3.drawing : 70/44';'via3.net : 70/41';'via3.pin : 70/48';'via4.boundary : 71/60';'via4.drawing : 71/44';'via4.net : 71/41';'via4.pin : 71/48';'via.boundary : 68/60';'via.drawing : 68/44';'via.net : 68/41';'via.pin : 68/58')</layer-map>
<dbu>0.001</dbu>
<produce-net-names>true</produce-net-names>
<net-property-name>#1</net-property-name>
<produce-inst-names>true</produce-inst-names>
<inst-property-name>#1</inst-property-name>
<produce-pin-names>false</produce-pin-names>
<pin-property-name>#1</pin-property-name>
<produce-cell-outlines>true</produce-cell-outlines>
<cell-outline-layer>prBoundary.boundary</cell-outline-layer>
<produce-placement-blockages>true</produce-placement-blockages>
<placement-blockage-layer>PLACEMENT_BLK</placement-blockage-layer>
<produce-regions>true</produce-regions>
<region-layer>REGIONS</region-layer>
<produce-via-geometry>true</produce-via-geometry>
<special-via_geometry-suffix-string>.drawing</special-via_geometry-suffix-string>
<special-via_geometry-datatype-string>44</special-via_geometry-datatype-string>
<produce-pins>true</produce-pins>
<special-pins-suffix-string>.pin</special-pins-suffix-string>
<special-pins-datatype-string>16</special-pins-datatype-string>
<produce-lef-pins>true</produce-lef-pins>
<special-lef_pins-suffix-string>.pin</special-lef_pins-suffix-string>
<special-lef_pins-datatype-string>16</special-lef_pins-datatype-string>
<produce-fills>false</produce-fills>
<special-fills-suffix-string>.FILL</special-fills-suffix-string>
<special-fills-datatype-string>5</special-fills-datatype-string>
<produce-obstructions>false</produce-obstructions>
<obstructions-suffix>.blockage</obstructions-suffix>
<obstructions-datatype>10</obstructions-datatype>
<produce-blockages>true</produce-blockages>
<blockages-suffix>.blockage</blockages-suffix>
<blockages-datatype>10</blockages-datatype>
<produce-labels>true</produce-labels>
<labels-suffix>.label</labels-suffix>
<labels-datatype>5</labels-datatype>
<produce-lef-labels>true</produce-lef-labels>
<lef-labels-suffix>.label</lef-labels-suffix>
<lef-labels-datatype>5</lef-labels-datatype>
<produce-routing>true</produce-routing>
<special-routing-suffix-string>.drawing</special-routing-suffix-string>
<special-routing-datatype-string>20</special-routing-datatype-string>
<produce-special-routing>true</produce-special-routing>
<routing-suffix-string>.drawing</routing-suffix-string>
<routing-datatype-string>20</routing-datatype-string>
<via-cellname-prefix>VIA_</via-cellname-prefix>
<read-lef-with-def>true</read-lef-with-def>
<macro-resolution-mode>default</macro-resolution-mode>
<separate-groups>false</separate-groups>
<map-file/>
</lefdef>
<dxf>
<dbu>0.001</dbu>
<unit>1</unit>
<text-scaling>100</text-scaling>
<circle-points>100</circle-points>
<circle-accuracy>0</circle-accuracy>
<contour-accuracy>0</contour-accuracy>
<polyline-mode>0</polyline-mode>
<render-texts-as-polygons>false</render-texts-as-polygons>
<keep-other-cells>false</keep-other-cells>
<keep-layer-names>false</keep-layer-names>
<create-other-layers>true</create-other-layers>
<layer-map>layer_map()</layer-map>
</dxf>
<cif>
<wire-mode>0</wire-mode>
<dbu>0.001</dbu>
<layer-map>layer_map()</layer-map>
<create-other-layers>true</create-other-layers>
<keep-layer-names>false</keep-layer-names>
</cif>
<mag>
<lambda>1</lambda>
<dbu>0.001</dbu>
<layer-map>layer_map()</layer-map>
<create-other-layers>true</create-other-layers>
<keep-layer-names>false</keep-layer-names>
<merge>true</merge>
<lib-paths>
</lib-paths>
</mag>
</reader-options>
<writer-options>
<gds2>
<write-timestamps>true</write-timestamps>
<write-cell-properties>false</write-cell-properties>
<write-file-properties>false</write-file-properties>
<no-zero-length-paths>false</no-zero-length-paths>
<multi-xy-records>false</multi-xy-records>
<resolve-skew-arrays>false</resolve-skew-arrays>
<max-vertex-count>8000</max-vertex-count>
<max-cellname-length>32000</max-cellname-length>
<libname>LIB</libname>
</gds2>
<oasis>
<compression-level>2</compression-level>
<write-cblocks>false</write-cblocks>
<strict-mode>false</strict-mode>
<write-std-properties>1</write-std-properties>
<subst-char>*</subst-char>
<permissive>false</permissive>
</oasis>
<cif>
<polygon-mode>0</polygon-mode>
</cif>
<cif>
<dummy-calls>false</dummy-calls>
<blank-separator>false</blank-separator>
</cif>
<mag>
<lambda>0</lambda>
<tech/>
<write-timestamp>true</write-timestamp>
</mag>
</writer-options>
<d25>
<src># Provide z stack information here
#
# Each line is one layer. The specification consists of a layer specification, a colon and arguments.
# The arguments are named (like "x=...") or in serial. Parameters are separated by comma or blanks.
# Named arguments are:
#
# zstart The lower z position of the extruded layer in µm
# zstop The upper z position of the extruded layer in µm
# height The height of the extruded layer in µm
#
# 'height', 'zstart' and 'zstop' can be used in any combination. If no value is given for 'zstart',
# the upper level of the previous layer will be used.
#
# If a single unnamed parameter is given, it corresponds to 'height'. Two parameters correspond to
# 'zstart' and 'zstop'.
#
# Examples:
# 1: 0.5 1.5 # extrude layer 1/0 from 0.5 to 1.5 vertically
# 1/0: 0.5 1.5 # same with explicit datatype
# 1: zstop=1.5, zstart=0.5 # same with named parameters
# 1: height=1.0, zstop=1.5 # same with z stop minus height
# 1: 1.0 zstop=1.5 # same with height as unnamed parameter
#
# VARIABLES
#
# You can declare variables with:
# var name = value
#
# You can use variables inside numeric expressions.
# Example:
# var hmetal = 0.48
# 7/0: 0.5 0.5+hmetal*2 # 2x thick metal
#
# You cannot use variables inside layer specifications currently.
#
# CONDITIONALS
#
# You can enable or disable branches of the table using 'if', 'else', 'elseif' and 'end':
# Example:
# var thick_m1 = true
# if thickm1
# 1: 0.5 1.5
# else
# 1: 0.5 1.2
# end
</src>
</d25>
<connectivity>
<connection>li1,67/44,met1</connection>
<connection>met1,68/44,met2</connection>
<connection>met2,69/44,met3</connection>
<connection>met3,70/44,met4</connection>
<connection>met4,71/44,met5</connection>
<symbols>li1='67/20+67/5+67/16'</symbols>
<symbols>met1='68/20+68/5+68/16'</symbols>
<symbols>met2='69/20+69/5+69/16'</symbols>
<symbols>met3='70/20+70/5+70/16'</symbols>
<symbols>met4='71/20+71/5+71/16'</symbols>
<symbols>met5='72/20-72/15+72/5+72/16'</symbols>
</connectivity>
</technology>