• 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. Search and Replace

Stats

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

Search and Replace

ashishcic
ashishcic over 12 years ago

Hi Experts,

Does ic5141 have any S&R utlility? If yes where can I find it?

I also need a SKILL script that would place all the symbols in a library into one schematic. Here is the description of what I need:

The script will put the symbols for all IP’s in a schematic cell.
The call should be something like:
CreateAllIPinOneSchematic(“srcLibPattern”, “trgLibName”, “allIPinoneSchematicName”)
It should search for all libraries starting with the string matching the srcLibPattern and put all the symbols of the cell that has the same name as the library in a schematic called “allIPinoneSchematicName” in Library “trgLibName”. 
Can I get SKILL for this? Or some pointer will help.
 Regards.
Ash 
  • Cancel
  • ashishcic
    ashishcic over 12 years ago

    Folks, 

    Any clues for SKILL query? 

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

    If this was urgent you should log a service request with customer support - we're all volunteers here - even those from Cadence who post do so in their spare time.

    Yes, IC5141 has a search and replace (Edit->Search->Replace in the schematic editor).

    And you could write SKILL for this. Something like:

    procedure(CreateAllIPinOneSchematic(srcLibPattern trgLib trgCell @key (xSpacing 1.0) (srcView "symbol") (trgView "schematic"))
      let((srcCv trgCv x)
        trgCv=dbOpenCellViewByType(trgLib trgCell trgView "schematic" "w")
        foreach(srcLib rexMatchList(srcLibPattern ddGetLibList()~>name
          foreach(srcCell ddGetObj(srcLib)~>cells~>name
            when(ddGetObj(srcLib srcCell srcView)
              srcCv=dbOpenCellViewByType(srcLib srcCell srcView)
              when(srcCv
                dbCreateInst(trgCv srcCv "" x:0 "R0")
                x=x+xSpacing
              )
            )
          )
        )
      )
    )

    Something like that. Note I have not tested the above - just typed it into the post - and it's intended to give you the rough idea. I'll leave you to finish and test it.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ashishcic
    ashishcic over 12 years ago
    Hi Andrew, Appreciate your help. Regards, Ashish
    • 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