• 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. Renaming multiple wires using wildcard

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 14747
  • 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

Renaming multiple wires using wildcard

GDCRA
GDCRA over 5 years ago

Hi,

Is there way to rename multiple signals using regular expression.

e.g i many have 50 signals with _0 in the name. I want to rename it _1 either using GUI or script.

I tried using "net expression" in Schematic Replace menu but it didn't work. May be I wasn't giving query correctly. I was typing *0* in search for and "*1*" in replace with section.

Thanks

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    That's not what net expression means. Net expressions are where you set up inherited connections, and they allow the name name to be defined by an expression (in a specific syntax, not a regular expression).

    Whilst you can find a net name using a regular expression, you can't replace the net name using components of that regular expression. You can however do this pretty easily in SKILL (I'm assuming it's wire labels you're trying to modify; this code below only handles wire names and doesn't try to fix pins which renaming - that could potentially be done too, but is a little more work). Here's the code:

    procedure(CCFrenameLabels(pattern replacement @optional (cv geGetEditCellView()))
      let((netName newName patObj)
        patObj=pcreCompile(pattern)
        foreach(shape cv~>shapes
          when(shape~>objType=="label" && shape~>layerName=="wire"
            netName=shape~>theLabel
            when(pcreExecute(patObj netName)
              newName=pcreSubstitute(patObj replacement)
              shape~>theLabel=newName
            )
          )
        )
        t
      )
    )
    

    Here's how you might use it (in the CIW):

    CCFrenameLabels("(.*)_0(.*)" "\\1_1\\2")

    The parentheses capture that part of the match, and then the \\1 and \\2 reference the matching parts in the substitution value.

    Regards,

    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