• 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. Method to scale up or down lots of resistor/capacitor value...

Stats

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

Method to scale up or down lots of resistor/capacitor value together

FormerMember
FormerMember over 5 years ago

Hi,

I encounter such a user case: I have large number of capacitors and resistors in one schematic, each with a specific capacitance or resistance value. Now I want to scale up all capacitance by X times for all caps, and scale down all resistance by Y times for all resistors. Instead of changing the value one by one, element by element, which is very time consuming, is there a way to change all of them together at once? Such as a find&replace in office word with a wild card? How can I do that?

Thanks,

cqian

  • Cancel
  • henker
    henker over 5 years ago


    If you do not want to invest in own coding, you could split up your problem into A) selecting the instances you want to change, and B) to modify properties.

    A) The selection part can be done with the Menu: Edit->Select->Select by Property.
    If you can live with searching for a single property, than it is just a single run.
    Searching for multiple properties could be done with multiple searches, the first one with 'Form Action' set to 'select', and the following set to 'deselect' and searching for those things you do NOT want to have.
    e.g. seaching for instances of cellView 'res' with property 'r' of 100 or smaller would be:
    find 'cellName == res' with Form Action 'select' (would select all resistors), and
    find 'r > 100' with Form Action 'deselect' (would deselect those with higher value than wished)


    B) For changing the propery values I'm not aware of a builtin feature that would make live easier; however, you can use a simple skill one-liner:

    foreach(inst geGetSelectedSet() let((p) p = dbGetPropByName(inst "<property name>") dbReplaceProp(inst p~>name p~>valueType strcat("<FACTOR>*" p~>value))))

    Just copy/paste to CIW and execute while your elements are selected.

    You need to modify at least the <...>, which is the property name you want to change (probably "r" for the resistors and "c" for the capacitors), and second how to handle the value. CDF values are usually strings, so if you really want to calculate with them, you would need to evaluate them first, than do your calculation and convert them back to strings. Just to replace/extend the existing string is much easier, I'd prefere in your case just to add a variable as factor, which would then show up in the simulator and can be changed easily in simulation. The example above is set up for this already, you just need to enter the name of the variable (e.g. X and Y, something more descriptive would be also fine).

    You would have to trigger the CDF callback, if you change certain values in e.g. complex transistor pcells, but it is not necessary for the cap/pcapacitor and res/presistor of the parasitics you are probably tinkering with.

    • 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