Browse Source

pin_name type annotations

devel
stefan 7 days ago
parent
commit
aebdf9540d
  1. 4
      src/kyupy/techlib.py

4
src/kyupy/techlib.py

@ -50,13 +50,13 @@ class TechLib:
assert pin in self.cells[kind][1], f'Unknown pin: {pin} for cell {kind}' assert pin in self.cells[kind][1], f'Unknown pin: {pin} for cell {kind}'
return self.cells[kind][1][pin][0] return self.cells[kind][1][pin][0]
def pin_name(self, kind, pos, output=False): def pin_name(self, kind: str, pos: int, output=False) -> str:
"""Returns the pin name for a given node kind, list position, and direction.""" """Returns the pin name for a given node kind, list position, and direction."""
assert kind in self.cells, f'Unknown cell: {kind}' assert kind in self.cells, f'Unknown cell: {kind}'
for name, (ppos, isout) in self.cells[kind][1].items(): for name, (ppos, isout) in self.cells[kind][1].items():
if isout == output and ppos == pos: if isout == output and ppos == pos:
return name return name
return None raise ValueError(f'Invalid {"output" if output else "input"} pin position {pos} for cell: {kind}')
def pin_is_output(self, kind, pin): def pin_is_output(self, kind, pin):
"""Returns True, if given pin name of a node kind is an output.""" """Returns True, if given pin name of a node kind is an output."""

Loading…
Cancel
Save