move builder.port_utils into utils.ports2data
and rename functions
This commit is contained in:
parent
5452bc5608
commit
16567c8a66
@ -13,4 +13,6 @@ from .vertices import (
|
||||
)
|
||||
from .transform import rotation_matrix_2d, normalize_mirror, rotate_offsets_around
|
||||
|
||||
from . import ports2data
|
||||
|
||||
#from . import pack2d
|
||||
|
@ -1,5 +1,6 @@
|
||||
"""
|
||||
Functions for writing port data into a Pattern (`dev2pat`) and retrieving it (`pat2dev`).
|
||||
Functions for writing port data into Pattern geometry/annotations/labels (`ports_to_data`)
|
||||
and retrieving it (`data_to_ports`).
|
||||
|
||||
These use the format 'name:ptype angle_deg' written into labels, which are placed at
|
||||
the port locations. This particular approach is just a sensible default; feel free to
|
||||
@ -21,7 +22,7 @@ from ..library import Library, WrapROLibrary
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def dev2pat(pattern: Pattern, layer: layer_t) -> Pattern:
|
||||
def ports_to_data(pattern: Pattern, layer: layer_t) -> Pattern:
|
||||
"""
|
||||
Place a text label at each port location, specifying the port data in the format
|
||||
'name:ptype angle_deg'
|
||||
@ -49,7 +50,7 @@ def dev2pat(pattern: Pattern, layer: layer_t) -> Pattern:
|
||||
return pattern
|
||||
|
||||
|
||||
def pat2dev(
|
||||
def data_to_ports(
|
||||
layers: Sequence[layer_t],
|
||||
library: Mapping[str, Pattern],
|
||||
pattern: Pattern, # Pattern is good since we don't want to do library[name] to avoid infinite recursion.
|
||||
@ -84,13 +85,13 @@ def pat2dev(
|
||||
"""
|
||||
print(f'TODO pat2dev {name}')
|
||||
if pattern.ports:
|
||||
logger.warning(f'Pattern {name if name else pattern} already had ports, skipping pat2dev')
|
||||
logger.warning(f'Pattern {name if name else pattern} already had ports, skipping data_to_ports')
|
||||
return pattern
|
||||
|
||||
if not isinstance(library, Library):
|
||||
library = WrapROLibrary(library)
|
||||
|
||||
pat2dev_flat(layers, pattern, name)
|
||||
data_to_ports_flat(layers, pattern, name)
|
||||
if (skip_subcells and pattern.ports) or max_depth == 0:
|
||||
return pattern
|
||||
|
||||
@ -99,7 +100,7 @@ def pat2dev(
|
||||
for target in set(rr.target for rr in pattern.refs):
|
||||
if target is None:
|
||||
continue
|
||||
pp = pat2dev(
|
||||
pp = data_to_ports(
|
||||
layers=layers,
|
||||
library=library,
|
||||
pattern=library[target],
|
||||
@ -126,7 +127,7 @@ def pat2dev(
|
||||
return pattern
|
||||
|
||||
|
||||
def pat2dev_flat(
|
||||
def data_to_ports_flat(
|
||||
layers: Sequence[layer_t],
|
||||
pattern: Pattern,
|
||||
cell_name: Optional[str] = None,
|
Loading…
Reference in New Issue
Block a user