• 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. How to replace a part of a net name in Layout editor

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 16675
  • 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 replace a part of a net name in Layout editor

RFStuff
RFStuff over 12 years ago

 Dear All,

I have some net names separated by "_" like : -out _TEST_in, TEST_in<1:0> etc. Basically I want to replace the word TEST in all nets having that word with the word CHECK. The other portion of the names should be kept intact. I tried in search/replace form of schematic composer , but I could not achive what I want.

Could anybody please tell how it can be done 

Kind Regards,

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    You can change the subject when you reply (as I just did).

    As far as I can tell, there's no support for using part of the found pattern in the replace string in the layout search and replace (it's not covered in the documentation, and the attempts I made using regular expression syntax didn't work either).

    But a simple bit of SKILL code can do this (I'm assuming it's the labels you want to change, given your previous post):

    procedure(CCFchangeLabelPattern(fromExpr toExpr @optional (cvId geGetEditCellView()))
      rexCompile(fromExpr)
      foreach(shape cvId~>shapes
        when(shape~>objType=="label" && rexExecute(shape~>theLabel)
          shape~>theLabel=rexSubstitute(toExpr) || shape~>theLabel
        )
      )
      t
    )

    Then use:

     CCFchangeLabelPattern("\\(.*\\)TEST\\(.*\\)" "\\1CHECK\\2")

    What the \\(...\\) parts are doing are recording that part of the regular expression for later substitution by the rexSubstitute - and then \\1 means the first bracketed part, and \\2 means the second bracketed part, etc.

    If you're talking about altering the actual net objects in the database (e.g. because you've been using layout XL), then that's a bit more complicated - but I think you may be asking about altering labels.

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    You can change the subject when you reply (as I just did).

    As far as I can tell, there's no support for using part of the found pattern in the replace string in the layout search and replace (it's not covered in the documentation, and the attempts I made using regular expression syntax didn't work either).

    But a simple bit of SKILL code can do this (I'm assuming it's the labels you want to change, given your previous post):

    procedure(CCFchangeLabelPattern(fromExpr toExpr @optional (cvId geGetEditCellView()))
      rexCompile(fromExpr)
      foreach(shape cvId~>shapes
        when(shape~>objType=="label" && rexExecute(shape~>theLabel)
          shape~>theLabel=rexSubstitute(toExpr) || shape~>theLabel
        )
      )
      t
    )

    Then use:

     CCFchangeLabelPattern("\\(.*\\)TEST\\(.*\\)" "\\1CHECK\\2")

    What the \\(...\\) parts are doing are recording that part of the regular expression for later substitution by the rexSubstitute - and then \\1 means the first bracketed part, and \\2 means the second bracketed part, etc.

    If you're talking about altering the actual net objects in the database (e.g. because you've been using layout XL), then that's a bit more complicated - but I think you may be asking about altering labels.

    Regards,

    Andrew.

     

    • 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