Analog

Current mirror circuit

By CourseTron Team ·  7 min read ·  Updated Oct 2026 💬 𝕏 in f
Table of Contents
    🖨  Download / Print this guide (PDF)

    In short: A current mirror is an analog building block that copies a reference current into one or more output branches by forcing matched transistors to share the same gate-source (or base-emitter) voltage. The basic two-transistor version is simple but limited by channel-length modulation; the cascode mirror stacks a second device to raise output resistance and make the copy far more accurate.

    What Is a current mirror?

    A current mirror is a circuit that senses a known reference current and reproduces (mirrors) it at another node, ideally independent of the voltage at that node. It is one of the most reused structures in analog and mixed-signal IC design because currents, not resistors, are the natural way to bias and distribute signals on a chip.

    The idea rests on a single fact about MOSFETs and BJTs: devices that are physically identical and biased with the same control voltage carry the same current. In a MOS mirror the diode-connected input transistor converts the reference current into a gate-source voltage, VGS. That voltage is shared with the output transistor, so the output copies the input — scaled by the ratio of their widths if you want a multiple.

    Basic NMOS Current MirrorVDDIREFLoadIOUTshared gate bus (VGS)M1M2diode-connectedGNDGND CourseTron · coursetron.com
    M1 is diode-connected and sets VGS; M2 shares that voltage and mirrors the current into the load.

    How the Basic Mirror Works

    In the diode-connected device M1, the drain is tied to the gate, so whatever current the reference pushes through it is accommodated by M1 settling to the VGS that satisfies its square-law relationship. Because M2's gate connects to the same node, it sees the identical VGS. If both transistors have equal width-to-length ratios and operate in saturation, IOUT ≈ IREF.

    To obtain a scaled copy, you deliberately make M2 wider or narrower. A mirror ratio of 1:N simply means (W/L)2 = N × (W/L)1, producing IOUT ≈ N · IREF. This is how a single reference generator can bias dozens of branches with different magnitudes from one trimmed source.

    Key fact: The accuracy of a basic current mirror is set by two things — how well the transistors match (geometry, threshold, temperature) and how high the output resistance is. The second factor is exactly what the cascode mirror improves.

    Why Output Resistance Matters

    An ideal current source has infinite output resistance: its current does not change no matter what voltage appears across it. A real MOSFET does not — its drain current rises slightly with drain-source voltage because of channel-length modulation, captured by the parameter λ. The small-signal output resistance of a single transistor is ro = 1/(λ·ID).

    In a basic mirror, if the output node voltage differs from the reference node voltage, the two transistors do not have identical VDS, so the copy drifts. The output current depends on load voltage — a systematic error that worsens the lower the intrinsic gain of the process. For precise biasing or high-gain amplifier loads, a single ro is simply not enough.

    The Cascode Current Mirror

    The cascode mirror stacks a second transistor on top of each mirror device. The upper (cascode) transistor shields the lower one so its VDS stays nearly constant regardless of the output node swing. The result is a dramatic boost in output resistance — roughly Rout ≈ gm·ro·ro, the product of the cascode device's intrinsic gain and the lower device's ro.

    That higher resistance means the mirrored current barely changes as the load voltage moves, so the copy is far more faithful. The trade-off is voltage headroom: a classic cascode needs two VDS,sat plus a threshold of stacking, eating into the available swing. Low-voltage designs use the wide-swing (low-voltage) cascode, which biases the cascode gates so each transistor sits just at the edge of saturation, recovering most of the headroom while keeping the high resistance.

    Mirroring the Reference CurrentREFERENCEsets VGSOUTPUTcopies currentshared VGS CourseTron · coursetron.com
    The shared gate voltage forces the output branch to carry the same current cadence as the reference branch.
    Cascode Current MirrorVDDIREFLoadIOUTM3M4M1M2cascode gate busmirror gate buscascodemirrorGNDGND CourseTron · coursetron.com
    Cascode mirror: each branch stacks an upper cascode transistor (M3, M4) on a lower mirror transistor (M1, M2).

    Matching: Where Real Mirrors Fail

    On paper the copy is exact; on silicon it is only as good as the matching between devices. The main error sources are:

    • Threshold-voltage mismatch (ΔVTH) — random dopant and oxide variation makes nominally identical transistors conduct slightly differently. It dominates at low currents.
    • Current-factor (β) mismatch — variation in W, L and mobility, more important at high overdrive.
    • VDS difference — the channel-length-modulation error already discussed, fixed by cascoding.
    • Thermal and layout gradients — a temperature or stress gradient across the die skews one device relative to the other.

    Designers fight these with deliberate layout: large device areas to average out random mismatch, common-centroid and interdigitated placement to cancel gradients, dummy devices at the edges, and generous overdrive where headroom allows. These techniques are why matching-critical mirrors look so symmetric in a real layout.

    Where current mirrors Are Used

    • Biasing — distributing a single trimmed reference current to every stage of an op-amp, comparator or data converter.
    • Active loads — a current mirror as the load of a differential pair performs differential-to-single-ended conversion and sets the stage gain.
    • Current-steering DACs — scaled mirror legs form the weighted current sources.
    • Beta-helper and Widlar/Wilson variants — specialized mirrors for very small currents or improved base-current cancellation in bipolar designs.
    Learn this hands-on

    Real projects and industry tool flows, with certification.

    Explore CourseTron Courses →

    current mirror — FAQ

    What is the difference between a basic and a cascode current mirror?

    A basic mirror uses two transistors and has output resistance equal to a single ro, so its copy drifts with load voltage. A cascode mirror stacks a second transistor per branch to hold VDS constant, raising output resistance to about gmro2 for a much more accurate, load-independent current.

    Why must the transistors be in saturation?

    The mirror relies on the saturation-region relationship between VGS and ID. If a device drops into the triode (linear) region, its current becomes strongly dependent on VDS and the copy collapses. Keeping enough headroom to stay in saturation is a core design constraint.

    How do you make a current mirror output a multiple of the reference?

    Scale the output transistor's width-to-length ratio. With (W/L)out = N·(W/L)ref, the output current is roughly N times the reference. For good matching, N is usually built from several unit devices in parallel rather than one odd-sized transistor.

    What limits accuracy in practice?

    Device mismatch (threshold and β variation), unequal drain-source voltages, and thermal or process gradients across the die. Larger areas, common-centroid layout and cascoding are the standard remedies.

    Related: bandgap reference circuit · Glossary · all courses.

    Advertisement