mirror of https://github.com/VLSIDA/OpenRAM.git
234 lines
8.1 KiB
Plaintext
234 lines
8.1 KiB
Plaintext
|
|
<?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>
|