2023-08-26 01:39:32 +02:00
|
|
|
#!/usr/bin/env python3
|
2021-08-18 20:21:52 +02:00
|
|
|
# See LICENSE for licensing information.
|
|
|
|
|
#
|
2023-01-29 07:56:27 +01:00
|
|
|
# Copyright (c) 2016-2023 Regents of the University of California
|
2021-08-18 20:21:52 +02:00
|
|
|
# All rights reserved.
|
|
|
|
|
#
|
|
|
|
|
|
2022-11-27 22:01:20 +01:00
|
|
|
from openram.base import geometry
|
|
|
|
|
from openram.sram_factory import factory
|
|
|
|
|
from openram.tech import layer
|
|
|
|
|
from openram import OPTS
|
2023-08-26 01:39:32 +02:00
|
|
|
from openram.modules.col_cap_array import col_cap_array
|
2022-07-13 19:57:56 +02:00
|
|
|
from .sky130_bitcell_base_array import sky130_bitcell_base_array
|
2021-08-18 20:21:52 +02:00
|
|
|
|
2023-08-26 01:39:32 +02:00
|
|
|
class sky130_col_cap_array(col_cap_array, sky130_bitcell_base_array):
|
2021-08-18 20:21:52 +02:00
|
|
|
"""
|
|
|
|
|
Generate a dummy row/column for the replica array.
|
|
|
|
|
"""
|
2023-08-26 01:39:32 +02:00
|
|
|
def __init__(self, rows, cols, column_offset=0, mirror=0, location="", name=""):
|
|
|
|
|
super().__init__(rows, cols, column_offset=0, mirror=0, location="", name="")
|
2021-08-18 20:21:52 +02:00
|
|
|
|
|
|
|
|
def add_modules(self):
|
|
|
|
|
""" Add the modules used in this design """
|
|
|
|
|
if self.location == "top":
|
|
|
|
|
self.colend1 = factory.create(module_type="col_cap", version="colend")
|
|
|
|
|
self.colend2 = factory.create(module_type="col_cap", version="colend_p_cent")
|
|
|
|
|
self.colend3 = factory.create(module_type="col_cap", version="colend_cent")
|
|
|
|
|
elif self.location == "bottom":
|
|
|
|
|
self.colend1 = factory.create(module_type="col_cap", version="colenda")
|
|
|
|
|
self.colend2 = factory.create(module_type="col_cap", version="colenda_p_cent")
|
|
|
|
|
self.colend3 = factory.create(module_type="col_cap", version="colenda_cent")
|
|
|
|
|
|
|
|
|
|
self.cell = factory.create(module_type=OPTS.bitcell, version="opt1")
|
|
|
|
|
|
|
|
|
|
def create_instances(self):
|
2023-08-26 01:39:32 +02:00
|
|
|
|