blob: 6b7db87b075649853af2b82e7d65af466daf5092 [file] [log] [blame]
########################################################################################################################
# Copyright 2022 Mabrains Company LLC
#
# Licensed under the LGPL v2.1 License (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.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
#
# 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 file is authored by:
# - <Mina Maksimous> <mina_maksimous@mabrains.com>
##
########################################################################################################################
########################################################################################################################
## Mabrains Company LLC
##
## Mabrains Pcells Generators for Klayout for Skywaters 130nm
########################################################################################################################
import pya
# from .via import ViaGenerator
from .via_new import Via_newGenerator
from .nmos18 import NMOS18
from .pmos18 import PMOS18
from .polyres import PolyRes_gen
from .inductor import IndGenerator
from .rectangular_shielding import rectangular_shielding_Generator
from .triangular_shielding import triangular_shielding_Generator
from .diff_square_inductor import diff_squar_ind_Generator
from .single_octagon_ind import single_octagon_ind_Generator
from .new_single_octagon_ind import new_single_octagon_Generator
from .diff_octagon import diff_octagon_ind_Generator
from .nmos5d10 import nmos5d10_gen
from .pmos5d10 import pmos5d10_gen
from .mimcap_1 import mimcap_1_gen
from .mimcap_2 import mimcap_2_gen
from .pnp_gen import pnp_bjt
from .layers_definiations import *
class Sky130(pya.Library):
"""
The library where we will put the PCell into
"""
def __init__(self):
# Set the description
self.description = "Skywaters 130nm Pcells"
# Create the PCell declarations
# self.layout().register_pcell("via", ViaGenerator())
self.layout().register_pcell("via_new", Via_newGenerator())
self.layout().register_pcell("nmos18", NMOS18())
self.layout().register_pcell("pmos18", PMOS18())
self.layout().register_pcell("poly_res", PolyRes_gen())
self.layout().register_pcell("inductor", IndGenerator())
self.layout().register_pcell("rectangular_shielding", rectangular_shielding_Generator())
self.layout().register_pcell("triangular_shielding", triangular_shielding_Generator())
self.layout().register_pcell("diff_square_inductor", diff_squar_ind_Generator())
self.layout().register_pcell("diff_octagon_inductor", diff_octagon_ind_Generator())
self.layout().register_pcell("single_octagon_ind", single_octagon_ind_Generator())
self.layout().register_pcell("new_single_octagon_ind", new_single_octagon_Generator())
self.layout().register_pcell("nmos5d10", nmos5d10_gen())
self.layout().register_pcell("pmos5d10", pmos5d10_gen())
self.layout().register_pcell("mimcap_1", mimcap_1_gen())
self.layout().register_pcell("mimcap_2", mimcap_2_gen())
self.layout().register_pcell("BNB BJT", pnp_bjt())
# Register us with the name "MyLib".
self.register("SKY130")