• 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 SKILL
  3. Properties on individual signals from a net

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 144
  • Views 14813
  • 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

Properties on individual signals from a net

Adrian Nistor
Adrian Nistor over 15 years ago

Hello,

I tried the next example and i don't know exactcly what is it wrong; I start from a schematic view;

- I create a net with the label: net<0:2>; this way the net contains 3 signals: net<0>, net<1>, net<2>;

- I select the net and I run, one after other, next commands:

myNet = css()->net    ;;get the net object
sig0 = car(myNet->signals)    ;;get the signal0 object

sig1 = cadr(myNet->signals)    ;;get the signal1 object
sig0->name     ;;only to be sure; it returns: "net<0>"
sig1->name      ;;only to be sure; it returns: "net<1>"
dbCreateProp(sig0 "myProp" "string" "magic")     ;;I create on the object sig0 the string property named "myProp" with the value "magic"
dbGetPropByName(sig0 "myProp")->value     ;;only to be sure; it returns: "magic"
dbGetPropByName(sig1 "myProp")->value      ;;only to be sure that the property is put only to one signal; it returns: nil , which is ok;

Now it comes the tricky part: In schematic window, i press: check and save; I recive the message: "Schematic check completed with no errors." and now I run the last command of sig0, to check if the property on my signal sig0 [sig0->name == "net<0>"] is still there:

dbGetPropByName(sig0 "myProp")->value    ;;I recive nil 

 Why did the property disappeared ?
How can I put a property only on a signal from a net without losing it after check and save?

Thank you,
Best regards,
Adi.

 

 

 

later edit:

one more thing: If there is any netl with the label name net<0> in the cell view, it is treated like the firs signal of the net<0:3> bus and in this case the property acts normally (remaining after the check and save).My problem is whan I have in my cell view only the bus. 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Hi Adi,

    Storing properties on signals with the schematic editor (which is responsible for creating the nets and signals whenever the schematic is "extracted") is not a good idea. There is no guarantee that the object will remain afterwards - it may get recreated, depending on what signals and nets are needed. What appears to happen is that any properties on the net object get transferred onto the signal object. This is done because there are certain properties you can interactively add on a net (you select the wire, but when you add the property, it stores it on the net object). 

    For example, for AMS simulation, you might set a property "netDiscipline" to be value "electrical" to force a net to be electrical. If it is a bus or a bundle, you want the netlister (which may be dealing with the individual signals) to see the netDiscipline on each signal - so it is propagated. So in effect, the schematic extractor takes care of propagating net properties onto the signals.

    There are various other attributes of signals which are also set by the schematic extractor (e.g. isGlobal, which is set based on the schematic editor's naming rules for global nets). If you set it yourself on a signal, you'll be overruled by the schematic extractor.

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • srskill
    srskill over 11 years ago

     Hi Andrew

     I was trying to create a property for a net using dbCreateProp as mentioned in the original post. In my case the newly created exists after schematic extraction but Since the wire in the schematic is made of multiple segments, when i select and create a property for 1 segment, even after schematic extraction, the property is not propgated to the other segments eventhough the net-name is the same

     Is there a way to propgate a user-defined property on all segments of a shematic-wire or should i scan the schmatic using another code and insert the property for all segments of the same-wire individually? Please advice..

    Thanks

    Srinath

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    You could do:

    car(geGetSelSet())~>net~>figs~>myProp=value

    which will set the property on all the segments of the wire. It all depends on what you are trying to do with this.

    Andrew.

    • 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