| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| Copyright 2022 GlobalFoundries PDK Authors |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <technology> |
| <name>gf180mcu</name> |
| <description>GLOBALFOUNDRIES 0.18UM 3.3V/(5V)6V MCU TECHNOLOGY</description> |
| <group/> |
| <dbu>0.001</dbu> |
| <base-path/> |
| <original-base-path>$PDK_ROOT/$PDK/libs.tech/klayout</original-base-path> |
| <layer-properties_file>gf180mcu.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()</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>OUTLINE</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> |
| <via_geometry-suffix-string/> |
| <via_geometry-datatype-string>0</via_geometry-datatype-string> |
| <produce-pins>true</produce-pins> |
| <pins-suffix-string>.PIN</pins-suffix-string> |
| <pins-datatype-string>2</pins-datatype-string> |
| <produce-lef-pins>true</produce-lef-pins> |
| <lef_pins-suffix-string>.PIN</lef_pins-suffix-string> |
| <lef_pins-datatype-string>2</lef_pins-datatype-string> |
| <produce-fills>true</produce-fills> |
| <fills-suffix-string>.FILL</fills-suffix-string> |
| <fills-datatype-string>5</fills-datatype-string> |
| <produce-obstructions>true</produce-obstructions> |
| <obstructions-suffix>.OBS</obstructions-suffix> |
| <obstructions-datatype>3</obstructions-datatype> |
| <produce-blockages>true</produce-blockages> |
| <blockages-suffix>.BLK</blockages-suffix> |
| <blockages-datatype>4</blockages-datatype> |
| <produce-labels>true</produce-labels> |
| <labels-suffix>.LABEL</labels-suffix> |
| <labels-datatype>1</labels-datatype> |
| <produce-lef-labels>true</produce-lef-labels> |
| <lef-labels-suffix>.LABEL</lef-labels-suffix> |
| <lef-labels-datatype>1</lef-labels-datatype> |
| <produce-routing>true</produce-routing> |
| <routing-suffix-string/> |
| <routing-datatype-string>0</routing-datatype-string> |
| <produce-special-routing>true</produce-special-routing> |
| <special-routing-suffix-string/> |
| <special-routing-datatype-string>0</special-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> |
| <mebes> |
| <invert>false</invert> |
| <subresolution>true</subresolution> |
| <produce-boundary>true</produce-boundary> |
| <num-stripes-per-cell>64</num-stripes-per-cell> |
| <num-shapes-per-cell>0</num-shapes-per-cell> |
| <data-layer>1</data-layer> |
| <data-datatype>0</data-datatype> |
| <data-name>DATA</data-name> |
| <boundary-layer>0</boundary-layer> |
| <boundary-datatype>0</boundary-datatype> |
| <boundary-name>BORDER</boundary-name> |
| <layer-map>layer_map()</layer-map> |
| <create-other-layers>true</create-other-layers> |
| </mebes> |
| <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>30/0,33/0,Metal1</connection> |
| <connection>Metal1,35/0,Metal2</connection> |
| <connection>Metal2,38/0,Metal3</connection> |
| <connection>Metal3,40/0,Metal4</connection> |
| <connection>Metal4,41/0,Metal5</connection> |
| <connection>Metal5,82/0,53/0</connection> |
| |
| <symbols>Metal1='34/0+34/10'</symbols> |
| <symbols>Metal2='36/0+36/10'</symbols> |
| <symbols>Metal3='42/0+42/10'</symbols> |
| <symbols>Metal4='46/0+46/10'</symbols> |
| <symbols>Metal5='81/0+81/10'</symbols> |
| </connectivity> |
| </technology> |