• 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. Hilite all schematic nets that do NOT have a user added...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 4514
  • 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

Hilite all schematic nets that do NOT have a user added property...

vtboy51
vtboy51 over 1 year ago

For a variety of reasons we have added a property to certain schematic nets, and now I want to hilite the nets that do NOT have this property. This property could exist in our top level schematic or down the signal chain in a lower level cell, it just depends on where the Designer chose to tag the net. Because of this I need to scan each net, throughout the hierarchy looking for this property, and if no property exists (at any level) then hilite it at the top level schematic. 

I found the schTraceNet function but don't fully understand the syntax to make it work. Below is what I have so far, but it doesn't work, and maybe the wrong direction. My thoughts are to set a userFlag to nil, scan through each net and if said property is found at any level of hierarchy change the userFlag=t and then hilite the net at the top level. Any tips are appreciated.

foreach(net cv~>signals
  userFlag=nil
  schTraceNet(?topCellView cv ?net net~>name ?traceCB 'rfLookForNetPropCB)
   when(userFlag
    geAddNetProbe(getCurrentWindow() list("y0" "drawing") net~>name)
   );when
);end foreach

procedure(rfLookForNetPropCB(netStruct)
 let(()
  when(car(car(netStruct->net~>allInstTerms~>net~>prop~>name)) == "netInfo"     ;netInfo is the user applied property I'm searching for
   printf("Found netInfo tag %L \n" car(car(netStruct->net~>allInstTerms~>net~>prop~>name)))
   userFlag=t
   printf("Setting user flag to true \n")
  );when
 );end let
);end proc

  • Cancel
Parents
  • vtboy51
    vtboy51 over 1 year ago

    **edit* I just realized my userFlag=t and userFlag=nil were flipped, but even with that corrected I don't get the correct behavior. Some nets are hilited that have the user property at a lower level.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • vtboy51
    vtboy51 over 1 year ago

    **edit* I just realized my userFlag=t and userFlag=nil were flipped, but even with that corrected I don't get the correct behavior. Some nets are hilited that have the user property at a lower level.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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