Coverage for klayout_pex/types.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.17.2, created at 2026-11-06 13:14 +0000

1# 

2# -------------------------------------------------------------------------------- 

3# SPDX-FileCopyrightText: 2024-2026 Martin Jan Köhler and Harald Pretl 

4# Johannes Kepler University, Institute for Integrated Circuits. 

5# 

6# This file is part of KPEX 

7# (see https://github.com/iic-jku/klayout-pex). 

8# 

9# This program is free software: you can redistribute it and/or modify 

10# it under the terms of the GNU General Public License as published by 

11# the Free Software Foundation, either version 3 of the License, or 

12# (at your option) any later version. 

13# 

14# This program is distributed in the hope that it will be useful, 

15# but WITHOUT ANY WARRANTY; without even the implied warranty of 

16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

17# GNU General Public License for more details. 

18# 

19# You should have received a copy of the GNU General Public License 

20# along with this program. If not, see <http://www.gnu.org/licenses/>. 

21# SPDX-License-Identifier: GPL-3.0-or-later 

22# -------------------------------------------------------------------------------- 

23# 

24 

25""" 

26The names KPEX works with, as type aliases, so that signatures say which name is meant 

27 

28NOTE: imports neither KLayout nor generated protobuf code, so that format-only paths can use them 

29""" 

30 

31from typing import Tuple 

32 

33 

34# ------------------------------- Layers and GDS ------------------------------- 

35 

36LayerName = str # a layer of the process stack, as the extraction engines name it (e.g. met1, met3_cap) 

37CanonicalLayerName = str # a drawn layer of the tech info (e.g. met1, on GDS 68/20) 

38LVSLayerName = str # a layer of the LVS deck (e.g. met1_con, met3_ncap) 

39GDSPair = Tuple[int, int] # a GDS layer and datatype (e.g. (68, 20)) 

40 

41 

42# -------------------------- Connectivity and Netlist -------------------------- 

43 

44CellName = str 

45NetName = str # a net of the LVS netlist (e.g. VDD, or $3 without a label) 

46Label = str # the text of a label (e.g. of a pin) 

47LVSDeviceClassName = str # a device class of the LVS netlist (e.g. sky130_fd_pr__nfet_01v8) 

48DeviceID = int # a device of the LVS netlist 

49TerminalID = int # a terminal of a device class