Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Difficult to select specific labels for net name assignment in net extraction #487

Closed
klayoutmatthias opened this issue Jan 27, 2020 · 0 comments

Comments

@klayoutmatthias
Copy link
Collaborator

It's possible create a text layer with "label" and connect it to assign labels to nets:

# in DRC or LVS:
texts = labels(10, 0)
metal = polygons(11, 0)
connect(texts, metal)    # assigns net names

But it's a bit tedious to select specific texts (here: "A*"):

# in DRC or LVS:
texts = labels(10, 0)
valid_text_markers = texts.texts("A*")
metal = polygons(11, 0)
connect(texts, valid_text_markers)   # transfer labels to markers
connect(valid_text_markers, metal)    # connect markers with nets

A more elegant solution was to have text filters, like

# in DRC or LVS:
texts = labels(10, 0).selected_labels("A*")
metal = polygons(11, 0)
connect(texts, metal)    # assigns net names

similar to the other "selected_" in-place operations. Could also have an out-of-place version:

# in DRC or LVS:
texts = labels(10, 0)
texts.select_labels("A*")
metal = polygons(11, 0)
connect(texts, metal)    # assigns net names
klayoutmatthias added a commit that referenced this issue May 23, 2020
The solution is to provide a new layer type: text collections.
This layer type can be manipulated by

* Boolean AND and NOT with polygons
* Polygon interact with texts
* Flatten
* Text filters

Layers of this kind are generated through "labels" now in LVS
and DRC. Text layers are more consistent than the previous
solution which consisted of pseudo-labels embedded inside
polygon layers.

Side effect: with text layers the dummy boxes for the text
markers (2x2 DBU boxes) are gone.

Text layers can participate in LVS connect and connect_global.
Text layers are the preferred way to handle texts in DRC and LVS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant