We have a problem in 5.1 layout or layout XL that some of the pins we put in our layout (at the top level of a large design) do not show visible names when we instance the cell at the next level up and hide the insides (using ^f), even after turning on the editor display options "instance pins" and "pin names". It is important to us to have visible pin names to make the cell easier to use by other parties. Some of the pins do show names, but others do not. These pins that do not show their names were not created with pin name labels, but they do have labels on the same layer as the pin and the label origin is inside the pin rectangle. Even using Edit/Other/Attach.. to attach the label to the pin rectangle does not make the name show up at the next level up. The label is on the same layer (with layer, e.g. M4 and purpose "lbl") that the pin rectangle has. What is going on here and is there anything we can do about it? Do we have to recreate all the pins using the option to attach a label to the pin at the time of pin creation?
Thanks for any tips. We could find nothing about this by web search.
This is using Cadence custom IC version 5.10.41, in particular I get
If things are displayed at level 0 (i.e. the insides hidden), pin labels only show up if they are "textDisplay" objects. Conventional labels don't show up - even if attached to the pin. textDisplay objects are special labels which automatically show the value of a database attribute or property - so they stay in sync with the terminal name, say.
Unfortunately there isn't (and I was slightly surprised by this) a built-in menu to create a textDisplay. You can use the SKILL function dbCreateTextDisplay to do this though.
In reply to Andrew Beckett:
Thanks for this informative response Andrew. A SKILL expert could create such a function to take a selected pin and add a visible text display to it that could then be manipulated, e.g. sized, aligned etc. But since the dbCreateTextDisplay requires a lot of inputs including object, owner, etc, that presumably can be extracted from a selected pin object if one knew SKILL a bit better (which we do not) it seems that for us the best solution is just to recreate the pins using Create/Pin and choosing a text display label at time of creation.