• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. NLPLabels vs ILLabels

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 126
  • Views 15681
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

NLPLabels vs ILLabels

theopaone
theopaone over 9 years ago

I am cleaning up a bunch of schematic libraries and get them ready for reuse. The symbol instance display text is a mixed bag of ILLabels and NLPLabels.

I want to standardize on a single way of displaying the value of the instance name (cdsName() or [@instanceName]), pin connections (cdsTerm("termName") or [@<pinName>] and parameter values (cdsParam(<index>) or [@<paramName>]. I am leaning towards the NLP labels but are there cases where they won't work or the the ILLabels are prefered?

Also, there are these textDisplay objects, can they be used instead?

Thanks

Ted

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Ted,

    If you have CDF (and are supporting ADE), then I would definitely suggest going with the ILLabels, specifically cdsName(), cdsParam(N) and cdsTerm("termName"). These have the benefit of being configurable via the annotation controls (View->Annotations in IC616, Edit->Component Display in older releases, and also via Results->Annotate in ADE). The cdsName can be used to show the instance name, cellName, both, neither; the cdsTerm can be used to display term name, net name, voltage, current, both (from DC or transient, say); the cdsParam can be used to display instance parameters, model parameters, operating point parameters, expressions of operating point parameters (in IC616) - and you can control which parameter gets displayed in which slot.

    If however you want to display a fixed property that you don't want the user to have control over, you can use NLP labels too. There's no harm in having both.

    Also ILLabels can be used for more complicated cases - where you need SKILL to look something up starting from ilInst.

    I don't think I've used textDisplays in a symbol - not sure the UI particularly has support for this (might be used for pin names in a pin symbol - can't remember off the top of my head). So I don't see any good reason for that.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 9 years ago

    Thanks Andrew. I knew that there was the complicated cases requiring SKIL and ILLabels.. I was concerned about the way cdsParam specifies an index number rather than a parameter name, it is not intuitive.

    For their digital library which does not use CDFs, I will use NLPLabels, their analog devices with CDFs I will use the ILLabels.

    So here is a summation:

    ILLabels evaluate a SKILL function or expression in the instance. The results of the function or expression is displayed as a label. They are useful if the value is a calculation.

    cdsName, cdsParam and cdsTerm are functions that can be applied using ILLabels, they only seem to work in symbols, I've tried them in pcells and I'm sure that there are control properties missing. The advantage of using these functions is that the data they display is controllable in the schematic tool and can show more information than a static display such as using NLPLabels.

    NLPLabels express a value found using the NLP expression language. The labels are calculated once based on information found on the instance when it is placed. A label like [@instanceName] displays the instance name using the atPar hierarchy lookup, finding the first property of that name in the hierarchy (actually on the instance). Parameter (instance property) values can be displayed but only the value is displayed and cannot be represent a calculation. The value is not displayed if it is the default value of an instance (CDF) parameter. The pin NLPLabel displays the name of the net attached to the pin. I have only tried the [@instanceName] in a pcell and it worked.

    When I search the forum on NLPLabels again, after I have forgotten this, I will find it.


    Cheers


    Ted

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information