• 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. Conditional netlisting of instance depending on CDF parameter...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 9759
  • 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

Conditional netlisting of instance depending on CDF parameter value

JackCadnece
JackCadnece over 3 years ago

Hi,

I've created a custom dcap PCELL which depending on a parameter value will add a parallel MOSCAP for max cap density or a custom min dummy structure with the intention of minimizing parasitics to substrate to make it more general purpose.

I'm wondering is it possible to conditionally include the MOSCAP when generating a netlist in such a way that depends only on parameter value the user has selected with respect to each of their schematic instances? Perhaps something like below exists?


    cdfId->simInfo->auCdl = '( nil

        ...

        ...

        ...
        condition "cdfgData->parameter->value == valueForInclusion"
    )

I can avoid this maintaining two separate cells so if a work around would be difficult or produce other issues I haven't considered I have a solution.

Thank you in advance and best regards,

Jack

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

    Jack,

    The normal way of doing this would be to have a schematic PCell (and no auCdl view for the cell) so that the CDL netlister expands into the parameterised schematic, which could either have just the dcap component or the dcap plus a MOSCAP. The alternative would be to have a custom netlist procedure, but there isn't really a good way of writing custom CDL netlist procedures (it's not really documented how to do this) and also it's not good practice for a netlist procedure to output more than one instance (it can cause some challenges when mapping is required).

    You might need to have another component which serves as the primitive dcap component that can be instantiated in this schematic PCell.

    If this isn't clear, I suggest you contact customer support for some advice. It would be much easier to discuss this with some specific examples of what you've got and what you're trying to do, which we can do within the privacy of customer support.

    Andrew

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

    Jack,

    The normal way of doing this would be to have a schematic PCell (and no auCdl view for the cell) so that the CDL netlister expands into the parameterised schematic, which could either have just the dcap component or the dcap plus a MOSCAP. The alternative would be to have a custom netlist procedure, but there isn't really a good way of writing custom CDL netlist procedures (it's not really documented how to do this) and also it's not good practice for a netlist procedure to output more than one instance (it can cause some challenges when mapping is required).

    You might need to have another component which serves as the primitive dcap component that can be instantiated in this schematic PCell.

    If this isn't clear, I suggest you contact customer support for some advice. It would be much easier to discuss this with some specific examples of what you've got and what you're trying to do, which we can do within the privacy of customer support.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • JackCadnece
    JackCadnece over 3 years ago in reply to Andrew Beckett

    Thank you Andrew,

    Your suggestion sounds like what I had hoped for originally. I'll contact customer support.

    Much appreciated and Best regards,

    Jack

    • 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