# Bump Circuit in PSPICE

I am designing a bump circuit in PSPICE to determine if two voltages are equal. The schematic is shown in the figure below. The parameters are set in the subthreshold region, with a VDD of 2 volts. For the simulation, I am doing a DC sweep of V41 around 0 to 2 volts, and I hold V28 constant. The first output (shown below), the minimum bottoms out around 0.4 Volts, I then move V28 to 1.2 V with the same DC sweep and run the simulation again. I'd expect the output to have the same minimum point, instead the minimum around 1.2 Volts results in the output voltage of 0.49, which is not the desired output for the application I'm looking to use this for. The output probe is between M11 and M12. Any help understanding this result would be greatly appreciated. Thanks!

From what I could find, a typical bump circuit uses the current through the middle branch as the output.

Keeping the inputs equal, the current through M11 and M12 will not change much depending on the input voltage, however the way you are using M11 and M12 to turn this current into a voltage will make it input-dependent.

Let's take a look at what happens if the two inputs are equal. At that point, both M12 and M15 will have the same $v_{GS}$. M11 will not have the same $v_{GS}$ as M14, but it will keep M12 in the triode region. In other words, M11 will keep $v_{DS,12}$ small, and so the output voltage will be very close to the common voltage node (node at the source of M12). And this voltage in turn heavily depends on the input voltage, as pretty much all transistors act like a combined source follower on that common voltage node.

You should consider adding a load above M11 to convert the branch current into a voltage rather than using the node between M11 and M12.