• 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. What is the best practice of optimize both CMRR PSRR and...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 125
  • Views 14351
  • 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

What is the best practice of optimize both CMRR PSRR and DC Gain of an amplifier?

SimbaG
SimbaG over 4 years ago

Hi,

I am a new guy and learning to use Virtuoso ADE to optimize my amplifier design. I start from a quite simple amplifier design, which is just a diff pair, as the following figure shows.

Figure 1. Simple amplifier

An basic optimization config and local / global optimization has been completed, which includes MOSFET region (should be saturation), DC Gain > 60dB, and GBW > 5MHz. 

(By the way, Q1 where is the help file of the Spec - tol 2 1, which some guidance told me tol 2 1 means saturation region. Does it belong to PDK? Or belong to Virtuoso?)

And ADE XL gives me the good final result.

Moreover, now I would like to add more specification for my amplifier, which are CMRR, PSRR, etc. Questions are here.

Let's take CMRR as an example.

Normally, we change the input voltage source V2 with AC=1, and delete V3 and V4, or set AC=0 for V3 and V4.

Then, run an AC analysis, the AC result should be A_CM, use A_DM / A_CM, we know the CMRR. (Q2: Is it a good practice?)

However, if I want to optimize CMRR for this amplifier, I will change V2, V3 and V4, the optimization may break other parameters (Like DC Gain) and may be meaningless.

Could you give me some suggestions to optimizing these performances via ADE of this amplifier? 

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 4 years ago

    Dear SimbaG,

    SimbaG said:
    Could you give me some suggestions to optimizing all performance of this amplifier? 

    The design optimization process for any circuit design depends on your design requirements. Some requirements are more important than others to a design and hence one chooses design parameters that maximize performance relative to the most important or critical design requirements. There are many papers, texts, and references available that cover the trade-offs between the parameters you are computing (such as gain, bandwidth, PSSR, CMRR).

    In many cases, a manual optimization is performed as one knows the trade-offs between parameters. However, ADE Assembler does have a circuit optimizer if you are interested. It is very important, however, that you understand the trade-offs between the parameters you are modifying to optimize your design. I would recommend reading some texts or papers regarding these parameters before relying totally on a circuit optimizer. A few documents exist within the On-lien support portal:

    Real-time tuning using ADE-Explorer:

    https://support.cadence.com/apex/techpubDocViewerPage?xmlName=explorer.xml&title=Virtuoso%20ADE%20Explorer%20User%20Guide%20--%20Real-Time%20Tuning%20in%20Simulations%20-%20Opening%20the%20Real-Time%20Tuning%20Assistant&hash=pgfId-1016466&c_version=ICADVM20.1&path=Explorer/ExplorerICADVM20.1/chap10.html#pgfId-1016466

    Manual tuning using ADE Assembler:

    support.cadence.com/.../techpubDocViewerPage

    ADE Assembler also ha a Rapid Adoption Kit (RAK) describing its circuit optimizer at the On-lIne support URL:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od000000050Y8EAI&pageName=ArticleContent

    I hope this helps.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ShawnLogan
    ShawnLogan over 4 years ago

    Dear SimbaG,

    SimbaG said:
    Could you give me some suggestions to optimizing all performance of this amplifier? 

    The design optimization process for any circuit design depends on your design requirements. Some requirements are more important than others to a design and hence one chooses design parameters that maximize performance relative to the most important or critical design requirements. There are many papers, texts, and references available that cover the trade-offs between the parameters you are computing (such as gain, bandwidth, PSSR, CMRR).

    In many cases, a manual optimization is performed as one knows the trade-offs between parameters. However, ADE Assembler does have a circuit optimizer if you are interested. It is very important, however, that you understand the trade-offs between the parameters you are modifying to optimize your design. I would recommend reading some texts or papers regarding these parameters before relying totally on a circuit optimizer. A few documents exist within the On-lien support portal:

    Real-time tuning using ADE-Explorer:

    https://support.cadence.com/apex/techpubDocViewerPage?xmlName=explorer.xml&title=Virtuoso%20ADE%20Explorer%20User%20Guide%20--%20Real-Time%20Tuning%20in%20Simulations%20-%20Opening%20the%20Real-Time%20Tuning%20Assistant&hash=pgfId-1016466&c_version=ICADVM20.1&path=Explorer/ExplorerICADVM20.1/chap10.html#pgfId-1016466

    Manual tuning using ADE Assembler:

    support.cadence.com/.../techpubDocViewerPage

    ADE Assembler also ha a Rapid Adoption Kit (RAK) describing its circuit optimizer at the On-lIne support URL:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od000000050Y8EAI&pageName=ArticleContent

    I hope this helps.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • SimbaG
    SimbaG over 4 years ago in reply to ShawnLogan

    Thank you for your reply.

    First of all, sorry to say that I can't access the documents you provide, I am emailing my university help desk to ask if they can help me. After that, I will open the documents.

    University users cannot self-register. Please contact your University Program Representative or Customer Support for registration assistance.

    Moreover, as you said, manual optimization is important, and there are many trade-offs. But what I interesting in this thread is using Cadence Optimization to assist me in tuning my opamp, and how to use Cadence ADE.

    An optimization includes DC Gain, GBW and MOSFET region via Virtuoso ADE had been completed as my screenshots show. 

    My question actually is mainly focused on, how to add CMRR condition into Virtuoso ADE optimization? Such as CMRR > xx dB.

    For an example, the DC Gain > 60dB condition is "value(dB20(VF("/vout")) 2) and max 60. This means DC Gain > 60dB in cadence ADE.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago in reply to SimbaG

    Dear SimbaG,

    SimbaG said:
    First of all, sorry to say that I can't access the documents you provide, I am emailing my university help desk to ask if they can help me. After that, I will open the documents.

    I would highly recommend you follow through with your university as it it sounds you need some good reference material on the Cadence tools.

    SimbaG said:
    My question actually is mainly focused on, how to add CMRR condition into Virtuoso ADE optimization? Such as CMRR > xx dB

    You will create an waveform for the CMRR function and set specifications for its minimum value at the specific frequencies required for your specification. Essentially, the value() function using the CMRR function as one argument and a specific frequency will provide the value of the CMRR function at a specific frequency to compare with the requirement at that specific frequency.

    The resulting value will be a parameter used in the optimization process.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • SimbaG
    SimbaG over 4 years ago in reply to ShawnLogan
    Unknown said:
    I would highly recommend you follow through with your university as it it sounds you need some good reference material on the Cadence tools.

    Yes, thanks again for your suggestion.

    Unknown said:
    Essentially, the value() function using the CMRR function as one argument and a specific frequency will provide the value of the CMRR function at a specific frequency to compare with the requirement at that specific frequency.

    Yes, CMRR is a function of frequency, so the condition should be like value( CMRR(VF("/vout")) 2), to get CMRR@2Hz.

    Of course, there is no function named as CMRR. In my practice, I have to change the testbench to calculate CMRR, so that I can't add DC Gain condition in CMRR testbench.

    Should I copy the opamp and use two instances of the opamp, one with Gain testbench, another with CMRR testbench? Is it a good practice?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago in reply to SimbaG

    Dear Simba,

    SimbaG said:

    In my practice, I have to change the testbench to calculate CMRR, so that I can't add DC Gain condition in CMRR testbench.

    Should I copy the opamp and use two instances of the opamp, one with Gain testbench, another with CMRR testbench? Is it a good practice?

    You can use a single test bench and run different analyses with a single testbench. If you want to use the same test bench with different analyses and you need to reconfigure it for different tests, you may be able to use the analogLib switch and relay components. Information can be found on the On-line support site or from your UNIX promot:

    spectre -h relay

    spectre -h switch

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • SimbaG
    SimbaG over 4 years ago in reply to ShawnLogan

    Thanks a lot.

    I am going to look up how to analyze CMRR and DC Gain in one test bench with two analyses. And also appreciate your patience.

    Have a nice day.

    • 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