I need to level shift a 3.3v digital signal to 5.8v at around 1MHz. The circuit below works but the power consumption is very high. Can anyone suggest a modification which will still allow the bandwidth but bring the power consumption down?

Adding resistors to the PFET VCC input and NFET GND output does reduce it but I can't find the right balance between slew rate and consumption.

I've looked at the internals of some off the shelf level shifters but am struggling to understand how they manage it.


  • 1
    \$\begingroup\$ How high is "very high"? How much output current do you need? \$\endgroup\$
    – The Photon
    Commented Oct 23, 2019 at 5:38
  • \$\begingroup\$ about 3A (according to spice) when the input is high (output is low). Measured on the bench and it's not quite that bad but still too high. <100 mA range would be an ok result. \$\endgroup\$ Commented Oct 23, 2019 at 5:40
  • \$\begingroup\$ sorry, should have mentioned that it inverts the input signal and that's fine (but also fine if it doesn't) \$\endgroup\$ Commented Oct 23, 2019 at 5:41
  • \$\begingroup\$ Sounds like the PMOS is partly turned on with -2.5 V Vgs. This is possible according to the datasheet, though the typical curves show turn on at about 3 V. You could run a curve trace on the FET in the simulator to see what the model characteristics are. Or just find another FET with slightly higher Vgs(th) (but this is not really good design practice since real world Vgs(th) might not match simulation model Vgs(th)) \$\endgroup\$
    – The Photon
    Commented Oct 23, 2019 at 5:46
  • 1
    \$\begingroup\$ Would something like this work better? \$\endgroup\$
    – JRE
    Commented Oct 23, 2019 at 6:15

1 Answer 1


Allow me to share with you the circuit of a levelshifter as is used in many ICs:


simulate this circuit – Schematic created using CircuitLab

It uses 8 transistors, which looks like a lot.

But this is what is used on a chip so transistors can be made extremely small. On a chip this can be made to work up to GHz frequencies. When static (the input signal does not change) the circuit consumes no current.

It is nearly impossible to build this circuit on a PCB using discrete MOSFETs and get similar performance, you'll be lucky to make it work at 10 MHz. Discrete MOSFETs aren't designed to be used like this.

Fortunately chip manufacturers put this circuit (or something similar) on a chip for you to use. Just search for "levelshifter" and you should find a suitable chip to do the job.

  • \$\begingroup\$ Thank you, Spice confirms that this is an effective solution and its exactly what I'm looking for. I only need 1MHz and there are some small dual N/P mosfet packages which I can fit 4 of in the space available. \$\endgroup\$ Commented Oct 23, 2019 at 9:32
  • 1
    \$\begingroup\$ Indeed this might work at 1 MHz with small dual N/P mosfets in a package. Before committing this to a PCB I would add a precaution to be able to make M2 and M4 "weaker". This can be needed to allow M2 and M4 to "flip" under all conditions. To make M2 and M4 weaker, add a series resistor between their sources and the VccB rail. Just put 0 ohm to start and if you have issues, try a higher value. \$\endgroup\$ Commented Oct 23, 2019 at 9:37
  • \$\begingroup\$ Gotcha, thanks for the tip \$\endgroup\$ Commented Oct 23, 2019 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.