Back to projects

Chip Design · Analog IC

Display Driver Op-Amp

Two-stage amplifier with telescopic cascode input and Class AB output for a 10-bit DAC display driver, designed and simulated in GPDK045.

Status
Completed December 2025 · UC Berkeley EE 240A · Solo
Stack
Cadence Virtuoso · Spectre (simulation) · MATLAB (system-level sizing) · gm/Id methodology · GPDK045 PDK

Overview

Designed a two-stage operational amplifier to drive a 10-bit DAC display load (1 kΩ ‖ 25 pF) with a closed-loop gain of 2 V/V, ≤0.2% settling error, and ≤180 ns settling time for a 1.4 V step. The architecture is a telescopic cascoded differential first stage driving a source-follower buffer and a Class AB output stage biased with a Monticello network for mismatch robustness.

System-level sizing started from a MATLAB script that derived gm1, gm2, and the gain split from the settling-time, phase-margin, and error specifications. Transistor sizing was then iterated using the gm/Id methodology in Virtuoso.

What I did

Results

SpecificationRequirementMeasured (0.75 kΩ)Measured (1 kΩ)
Closed-loop gain2 V/V2 V/V2 V/V
Settling time≤ 180 ns164 ns / 132 ns177 ns / 173 ns
Total error≤ 0.2%≤ 0.2%≤ 0.2%
CMRR @ DC≥ 55 dB78.06 dB78.06 dB
PSRR @ DC≥ 50 dB68.33 dB68.33 dB
Phase margin≥ 45°47.94°48.45°
Output swing≥ 1.4 V1.4 V1.4 V
Power≤ 0.75 mW0.84 mW0.90 mW

All specifications met except the stricter EE 240A power budget (came in 12–20% over). The miss is attributable to bias-current sizing in the output stage; reducing the AB stage quiescent current would close the gap at some cost to slew rate.

Approach and key decisions

Why telescopic over folded cascode. Telescopic gives higher gain at lower power than folded cascode, at the cost of reduced output swing. Since the second-stage source follower handles the output swing requirement, the telescopic was the right trade for the gain budget.

Why a source-follower buffer between stages. Maintains high output impedance of the first stage (preserving gain) while presenting low impedance to the AB output stage gates.

System-level script first, hand-sizing second. Doing the algebra in MATLAB first, computing gm1 = ω_ol · Cc and gm2 from the closed-loop bandwidth, error, and phase-margin targets, meant the Virtuoso iteration started from a known-feasible point rather than guessing.

Power miss honest accounting. The output stage bias was tuned for fast settling under the worst-case load. Hitting the 0.75 mW spec is achievable but requires re-tuning the Monticello bias and likely accepting tighter settling margin.

Figures

Design

Annotated amplifier schematic with stage boundaries: VBX biasing, current source, telescopic cascode differential amplifier, source follower, and Class AB output stage with Monticello biasing. Full transistor-level schematic, annotated by stage (report Fig. 1).

Cadence Virtuoso schematic of the full amplifier. The same amplifier captured in Cadence Virtuoso (report Fig. 2).

MATLAB system-level design script computing required transconductances and gain split from the specifications. MATLAB system-level design script: the spec-driven sizing done before Virtuoso iteration (report Fig. 3).

MATLAB system-level sizing output listing open-loop DC gain, crossover frequency, gm1, gm2, per-stage gains A1/A2, and output resistances. Script output: DC_OLG = 2997 (69.5 dB), gm1 = 132 µS, gm2 = 3.58 mS, A1 = 299.7, A2 = 10.0 (report Fig. 4).

Simulation results

Loop-gain magnitude and phase Bode plot showing 47.9° phase margin and 24.9 MHz unity-gain frequency. Loop-gain Bode plot, 0.75 kΩ load: phase margin 47.9°, CMRR 78.1 dB, PSRR 68.3 dB, unity-gain BW 24.9 MHz (report Fig. 5).

Loop-gain Bode plot for the 1 kΩ load. Loop-gain Bode plot, 1 kΩ load: phase margin 48.5° (report Fig. 6).

Transient output waveform with settling-time cursors showing the 1.4 V step settling within spec. Transient settling of the load-capacitor output to within 5 mV (report Fig. 13).