# SPICE Simulations

## Operating Point Analysis

Note M2 will force whatever Vgs is needed for M3 in order to enforced the mirrored current. Hence the Vgs of M3 is held relatively constant. For this reason we size the resistor in order to raise Vg of M3 such that given its fixed Vgs the voltages at the drain of M2 and M1 are relatively the same for best current mirror matching.

Operating point DC measurement results (re-formatted for display):

```n1 = 0.520
n2 = 0.650
n3 = 1.055
n4 = 0.520
n_pos = 1.3
v1#branch = -50 uA
v2#branch = -49.979 uA
(v2#branch/v1#branch) = 0.99957
```

And our relevant transistors' device parameters at the DC OP (re-formatted for display):

```device          m3          m2          m1
model         nmos        nmos        nmos
gm      836.748 uS  556.725 uS  556.723 uS
rds        29.3 kR   874.62 kR    874.4 kR
id       49.979 uA   49.984 uS   49.984 uA
vgs          0.534       0.520       0.520
vds          0.129       0.520       0.520
vth          0.509       0.388       0.388
vdsat        0.081        0.14        0.14
```

As seen given our equal Vds for both source and mirror transistors, both branches are very well matched in performance.

## DC Analysis (Sweep)

For measuring the variation of the mirrored output current under different applied loads. We apply a DC sweep to V2 (our load voltage) from 0 to 1.3V in 0.05V increments.

We are plotting the output current magnitude vs drain voltage. (our load voltage at n2)

## Monte Carlo Analysis

In our Montecarlo analysis, we are measuring the effect of transistors’ mismatch on the performance of our current mirror i.e. how small variations in individual transistor parameters when added together can affect the performance of the overall circuit.

The Monte Carlo simulation was performed for 100 runs with a sigma value of 3. Note this is an educational kit, hence here we are just composing an arbitrary distribution by specifying a variation equivalent to 3 sigma (that yields a current mismatch of roughly +/- 1%). In a real kit, the variation would be obtained from foundry empirically measured data for a given process -- given a desired sigma spec and device parameter.

As per our book references, for MOS transistors: It is important to model variations of the threshold voltage, transconductance and capacitances. However, these parameters do not match one-to-one with the SPICE BSIM4 model parameters, thus we have chosen key BSIM4 parameters which affect directly the threshold voltage, transconductance and capacitances of MOS devices, mainly: vth0, u0, toxm (for bsim4), wint and lint.

# Results

As noted in the reference book (refer to page 3-7), one alternative commonly used to reduce the output current dependence with drain voltage for the simple MOS current mirror is to use a simple cascode stage. Here a resistor (R1) is used to set the gate voltage of M3 which in turn shields the current matching transistor M2 from fluctuations in the load voltage.

The circuit above is the canonical cascoded mirror, it yields the best rout performance and flexibility of any simple cascode, although at the expense of a resistor. The advantage of using R1 is that one can have finer control over the gate voltage of M3. For example by reducing the value of R1 we can have a slightly larger compliance voltage range at the cost of a lower output resistance and a worse current match, on the other hand increasing R1 increases the output resistance and current match of the mirror at the cost of a smaller compliance voltage range.

One of course can employ alternative means of cascode bias generation which forgo the use of resistors (as will be shown on other posts) but alas this often comes with a performance or power consumption penalty. In other words, if area is available and rout is important, sometimes simple is best.

As with other cascoded current mirrors the rout is enhanced by the gain of the cascode transistor. Hence the rout of the output branch is proportional to: ro = ro2 x a3 = ro2 x (gm3 x ro3)

For the cascoded current mirror, we can make the following observations

• The absolute minimum voltage needed for the mirror output branch to be in the sat region is the vdsat of both mirror and cascode devices: vmin_abs = 0.14 + 0.081 >> 0.221
• However as shown with the current sizing, the mirror requires at least ~0.5 load voltage to be yield its maximum Rout. (seen from the plot above where the slope is linear).
• Error Measurement: We see a variation of 49.92uA to 49.98uA over a linear operating range of 0.5 to 1.3V. This is equivalent to an error of 66.1nA or 0.132% relative to our reference.

## Figures of Merit

Output Resistance Rout: 18.911MΩ (measured from 0.5 to 1.3V linear range).

Compliance Voltage Vmin: ~0.5V (from ground)