• 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. How to setof float wire Net ?

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 6084
  • 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

How to setof float wire Net ?

alaylayla
alaylayla over 2 years ago

I get the results of “setof” wire attribute line in schematic cellview。

How to use Skill to determinet   wire attribute line whether floating or open ?

then

How to delete these floating wire line or delete to  the open node?

How “schCheck” function check these eror or warning line?

Thanks kind friends !!!

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago

    Floating wires could be detected by finding those (note after schCheck/schExtractConn has been called) which don't have any instTerms on the associated net:

    cv=geGetEditCellView()
    floatingWires=setof(shape cv~>shapes shape~>layerName=="wire" && member(shape~>objType '("line" "path")) && !shape~>net~>instTerms)

    Note that this will also find any wires that are only connected to a pin. If you want to filter those out:

    floatingWires=setof(shape cv~>shapes shape~>layerName=="wire" && member(shape~>objType '("line" "path")) && !(shape~>net~>instTerms || shape~>net~>term))

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • alaylayla
    alaylayla over 2 years ago in reply to Andrew Beckett

    Thank you for your reply !!

    Test the above code found that can not filter out the wire with the wire label but not connect to the instance symbol or pin on either side; Such lines, I need to filter out to delete

    There are also broken wires (left after the instance symbol  deleted), how to filter them out to delete them

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to alaylayla

    If you are trying to find physically isolated wires (rather than logically isolated - I assume the wire in the example you give is not being found because it is connected by name to another wire which is connected to the pin of a device) then you need to start checking the coordinates of wires to see whether they overlap with pins or at the same coordinates as other wires. That's more involved and I don't have existing code to do that (it would be a combination of tracking coordinates of wires in a table plus use of dbGetOverlaps to find overlapping pins, I expect). There's nothing in the database directly that provides this info.

    One other possibility would be to run the schematic check, and then look at cv~>markers. If you find a marker (such as one for "Floating net" (you'd probably need to pattern match the msg attribute on the marker), you could then find the associated wires by looking at the marker~>objects and then potentially deleting those objects with dbDeleteObj once you're sure it's the right kind of check that is failing. This is going to be a lot simpler than re-inventing the schematic tracer to find floating wires.

    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