# Copyright 2019-2021 SkyWater 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.
#
# This code is *alternatively* available under a BSD-3-Clause license, see
# details in the README.md at the top level and the license text at
# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
#
# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
# the Technology class.
class: "templates_skywater130.tech.TechInfoSkywater130"

# default EM spec calculation settings
em:
  # DC current temperature
  dc_temp: 70
  # RMS current allowable temperature increase
  rms_dt: 10

# transistor technology parameters
mos:
  # the transistor width minimum resolution.
  width_resolution: 1.0e-9
  # the transistor length minimum resolution.
  length_resolution: 1.0e-9

# routing grid parameters
routing_grid:
  0: [y, 34,  52]
  1: [x, 58,  28]
  2: [y, 56,  30]
  3: [x, 66,  106]
  4: [y, 66,  106]
  5: [x, 320, 368]

# MOM cap parameters
mom_cap:
  standard:
    bot_dir: x
    info:
      # w, sp, margin, num_ports, port_tr_w
      1: !!python/tuple [58, 28, 86, 2, 1]
      2: !!python/tuple [56, 28, 84, 2, 1]
      3: !!python/tuple [66, 60, 86, 2, 1]
      4: !!python/tuple [66, 60, 84, 1, 1]
#      5: !!python/tuple [320, 320, 320, 1, 1]

# fill parameters
fill:
  # sp_x, sp_y, margin_x, margin_y, density
  1: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
  2: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
  3: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
  4: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
  5: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
