-
Notifications
You must be signed in to change notification settings - Fork 207
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
PCell cell.name= assignment for export to GDS #1913
Comments
Hi Lukas, there are a number of problems with that proposal. First, the display name really is a display name, nothing else. There is no warranty it is unique (needed for GDS), nor does it satisfy cell name rules such as allowed characters. In the end it's the same thing that Cadence does, when it streams out GDS and attaches some hash value to the cell name. You can however propose your own name when you create a PCell. Like in this example which uses the display title for the name. But use this scheme at your own risk. The GDS reader will still replace blanks by "$" because those are definitely among the forbidden characters.
Another option was to obtain some translation table with the GDS names vs. display titles. KLayout can do so by means of the context information it stores inside the GDS. Matthias |
Just some more options: Use this custom query to do the assignment of display title before saving:
or with replacing blanks by "nothing":
And for the cross-reference you can use
Matthias |
Thanks Matthias. I am successful in change the name, after instantiating the pcell code, as you write above. I was originally hoping to do the name assignment WITHIN the PCell code, rather than outside. as in "self.cell.name = 'xxx'" But I can survive without. thank you |
Hi Matthias,
I would like to save to a GDS/OAS file with PCells, using
and having the cell name be the display_text_impl(self) name, rather than the cell.basic_name
This way, I won't have things like Cell$1, Cell$2, etc, but rather the specific variant (where the cell parameters can go)
In the docs, the purpose of the displau_text_impl, is
I can change the cell.name after I instantiate the PCell, by finding the instance. But within the PCell implementation code, a self.cell.name assignment doesn't work.
thank you
The text was updated successfully, but these errors were encountered: