41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
from typing import Any
|
|
import nazca as nd
|
|
from .Foundry import Foundry
|
|
from .layer_models import LayerSpec
|
|
|
|
class ANT_Si220_MPW(Foundry) :
|
|
|
|
## Generall parameters
|
|
STD_SMWG_WIDTH = 0.45
|
|
SLAB_GROWTH = 2
|
|
W_METAL_MIN = 5
|
|
SPACING_HEATER_MIN = 2
|
|
SPACING_METAL_MIN = 4
|
|
W_HEATER_MIN = 3
|
|
|
|
lib_path = 'GDS_lib\\'
|
|
|
|
LAYERS = {
|
|
|
|
'RIB' : LayerSpec('RIB', 1, aliases=('STRIP_COR',)),
|
|
|
|
'METAL' : 12,
|
|
|
|
'HTR' : LayerSpec('HTR', 11, aliases=('HEATER',)),
|
|
|
|
'BONDPAD' : LayerSpec('BONDPAD', 13, aliases=('PAD',)),
|
|
|
|
'ISOLATION' : LayerSpec('ISOLATION', 203, aliases=('ISL',)),
|
|
|
|
'DEEPTRENCH' : LayerSpec('DEEPTRENCH', 201, aliases=('DT',)),
|
|
|
|
}
|
|
|
|
ROLES = {}
|
|
|
|
def __init__(self, layermap: Any=None, roles: Any=None) -> None:
|
|
super().__init__(layermap=layermap or self.LAYERS, roles=roles or self.ROLES)
|
|
self._add_xsection_(xsection='strip',layers=['STRIP_COR'],growth=[0])
|
|
self._add_xsection_(xsection='pad',layers=['METAL','PAD'],growth=[0,-5])
|
|
|