“Trust, but verify” SPICE model accuracy, part 1: common-mode rejection ratio

SPICE simulation is an immensely valuable tool that allows engineers to have high confidence in their analog designs before ever stepping foot in a lab. While many of us live and die by our simulation results, have you ever stopped to question if your favorite operational amplifier’s (op amp) SPICE model matches the specs promised by its data sheet?

Our competitors’ models can often be inaccurate or oversimplified, as shown in the closed-loop output impedance (Zout) comparison in Figure 1. In this case, it’s easy to see the difference between what’s promised and what’s measured. This difference can have a big impact on your designs, potentially causing some unwanted surprises when you fire up your circuit in the lab for the first time.

Figure 1: Competitor SPICE model Zout comparison

TI is proud to have some of the most accurate SPICE models in the industry. That being said, it’s still a good practice to “trust, but verify” that the models used in your circuit are up to the task. In this blog series, I will show you the recommended test circuits for many of the most critical op amp parameters, starting with common-mode rejection ratio (CMRR).

An op amp’s CMRR is formally defined as the ratio of its common-mode gain to its differential-mode gain. In practical terms, the CMRR spec tells you how much additional offset voltage is generated at the op amp’s input when the input common-mode voltage changes. A high CMRR is desirable, meaning that you’ll see less additional offset voltage. CMRR also changes over frequency, so TI data sheets provide a curve representing typical CMRR over frequency, as shown in Figure 2. For a deeper discussion of CMRR and its impact on circuit performance, watch our TI Precision Labs – Op Amps video on CMRR.

Figure 2: OPA2187 CMRR vs. frequency

I’ll provide two different approaches for measuring op amp CMRR in simulation. Both of these methods were developed by my colleague Zak Kaye, who is well on his way to becoming an analog guru!

Modified differential amplifier method

The first method is a modification of the classic differential amplifier circuit, shown in Figure 3, that will test the CMRR of the OPA2187, a new chopper amplifier from TI with 140dB of common-mode rejection.

Figure 3: CMRR test circuit (modified differential amplifier)

This circuit takes advantage of a SPICE simulator’s ability to isolate nodes using voltage-controlled voltage sources. We’ve strategically placed these sources at the op amp input and output to isolate the feedback network from the op amp’s input and output impedance, allowing for better extraction of the CMRR response. To plot the CMRR, simply run an AC transfer function and use post-processing to create a curve for (Vcm / Vos). Figure 4 shows the results for this configuration compared to the OPA2187 data sheet.

Figure 4: Modified differential amplifier results

The circuit extracted CMRR fairly well, but the simulation doesn’t match the data sheet that closely at high frequencies. Is that because the model is inaccurate, or are there limitations with the test circuit? Let’s try another circuit configuration and find out.

Open-loop method

The second test method, shown in Figure 5, uses an open-loop approach. Impossibly large inductors create closed-loop feedback at DC while still allowing for open-loop AC analysis, with two instances of the op amp separately measuring the common- and differential-mode gain.

Figure 5: CMRR test circuit (open-loop method)

To plot CMRR, run an AC transfer function and use post-processing to create a curve for (ADM / ACM). Figure 6 gives the results for this configuration compared to the OPA2187 data sheet.

Figure 6: Open-loop method results

As you can see, the open-loop results match the data sheet very closely due to the true isolation of the common- and differential-mode gains of the op amp. I recommend this approach whenever possible.

INA1650 CMRR measurement

Finally, I’d like to show an easy way to measure CMRR on the INA1650, our new high common-mode rejection audio line receiver. Because of the highly integrated design of the INA1650, you can simply connect each input to the same AC source, run an AC transfer function, and invert the output in order to extract CMRR, as shown in Figures 7 and 8.

Figure 7: INA1650 CMRR test circuit

Figure 8: INA1650 CMRR test results

Thanks for reading this first installment of the “trust, but verify” blog series! In the next installment, I’ll discuss how to measure open-loop output impedance and small-signal step response to perform stability analysis. If you have any questions about simulation verification, log in and leave a comment, or visit the E2E™ Simulation Models forum.

Additional resources

  • Hello Ian, thanks for a nice article. As you mentioned, it will be nice to verify SPICE models before trusting them. Actually I tried to simulate it on my machine so as to understand the procedure and check out results myself. But I am getting an error "Division by zero", which in theory could be true as ideal Acm should be zero. Will you be able to have a look into it and let me know if I am doing something wrong. I have tried this with couple of other Op-amp models, but getting same error.

    Is there a way I can share my screenshot with you? I have it all; my circuit, AC analysis graph, post processor table and error dialog box captured in a single screenshot.



  • Hello Prasad,

    Can you please create a new post on the Precision Amplifiers forum with your question and all the relevant files? I will be happy to take a look at that error.


    Best regards,

    Ian Williams

  • Hii, thanks for informative article. I have simulated an instrumentation amplifier(www.sciencedirect.com/.../S0026269216300271) in h-spice using tsmc-180nm but i am getting sudden dip in cmrr and psrr for some frequencies in the given bandwidth.I am having hspice code as well as plots of common mode and diff gain,cmrr,psrr etc.

  • Hello kahkeshan imam,

    Can you please create a new post on the Precision Amplifiers forum with the model of the instrumentation amplifier you're testing as well as your test circuit? e2e.ti.com/.../14

    Best regards,

    Ian Williams

  • Hello Ian

    i try to test your cmrr Simulation in ltspice, but the results iare not exactly the same as yours . Would you like to share the simulation commands, and the postprocessing for cmrr Simulation.



  • Hi Klaus,

    Sure. Here is a link to an example circuit. The link will be active for one week. The example uses the OP4177 (ADI device). Due to the EULA of LTSpice, I cannot use that software to promote TI devices.


    Best regards,

    Ian Williams

  • Hello Ian,

    Unfortunately I missed to open the link in time. too much to do on the job.  Can it be activated again. thank you for your effort


  • Hello Klaus,

    I have reactivated the link for another week: txn.box.com/.../mmc4qrf8dbs0vkdsuebz0n13ctjq50yw

    Best regards,

    Ian Williams

  • Hello Ian, thank you very much for activating the link again. Your simulation works fine and I'm trying to find my mistake ;-)

    stay healthy and see you soon.

    Freundliche Grüße aus Trier