The design of current sources in analog circuits is based on ‘copying’ currents from a reference, with the assumption that one precisely defined current source is already available. Current mirror circuit is used to generate copies of a reference current. There are two major types- Basic / Active current mirror and Cascode current mirror.

**Cascode current mirrors:-**

- In the analysis of basic current mirrors, we have neglected channel length modulation. In practice this effect results in significant error in copying currents, especially if minimum length transistors are used so as to minimize the width.
For basic current mirror, we can modify the equations by considering channel length modulation. We can write,

While VDS1 = VGS1 = VGS2, VDS2 may not be equal to VGS2 because of the circuitry fed by M2.

- In order to suppress the effect of channel length modulation, a cascode current mirror can be used.
As shown in figure below, one more transistor M3 is added. In the circuit of basic current mirror and Vb is chosen such that Vx = Vy, then Iout closely tracks Iref.

Now, to generate Vb in above circuit (figure a), since the objective is to ensure Vx = Vy, we must guarantee Vb – VGS3 = Vx or Vb = VGS3 + Vx.

- This result suggests that if a gate source voltage is added to Vx, the required value of Vb can be obtained.
As shown in figure b, the idea is to place another diode connected device M0, in series with M1 and thereby generating a voltage VN = VGS0 + Vx.

The proper choice of the dimensions of M0 with respect to those of M3 yields VGS0 = VGS3. Thus if