Can somebody please help me with understanding how to derive the equation from the red box from included picture (the other equations are trivial, it's just the right usage of De'Morgan's law)? I am able to derive the equation for the NMOS device thanks to this video: https://www.youtube.com/watch?v=CoTR3bwtW_c , but not for the PMOS one. Can You, please, explain how to do it step-by-step? On the upcoming test we will probably have something more complicated, so the more I understand the better. Also, I don't know what should I do with more complex circuits, especially with PMOS.

Unfortunately, my lecturer didn't explain this good enough...

CMOS logic structures and equations

What about something like this? (I came up with this by myself, so I don't know if it is even doable, so please excuse me my lack of knowledge, I am still learning; L is the output)

Custom problem

  • 2
    \$\begingroup\$ Consider the inputs to the PMOS gates "active low", does it help figure it out? \$\endgroup\$
    – dirac16
    Dec 25, 2019 at 17:45

1 Answer 1


The PMOS turn on when the voltage is low. So you have a pull up network with two parallel legs. The first leg has two transistors in series, which means that both need to turn on for the output to be pulled high. This is your \$\bar{A}\bar{B}\$ term. The second leg has a single transistor. This is your \$\bar{C}\$ term. Because they are in parallel the pull up network will pull the output high, if at least one of the legs is active. Hence \$F = \bar{A}\bar{B} + \bar{C}\$.

  • \$\begingroup\$ "if only one" should be "if at least one". \$\endgroup\$ Dec 26, 2019 at 9:18
  • \$\begingroup\$ OK, this makes sense 🙂. But what about my second example? I tried to work out the possible combinations of MOSFETs that had to be turned on to get 1 on the output and it worked, but I missed one combination, so this method is not trustworthy... Here are the possible combinations: imgur.com/a/009iaQ1 , the violet one is the one I missed. I checked the right outputs using CircuitJS simulator and entered them to Excel with my function to do the checking for me. \$\endgroup\$
    – KamilWitek
    Dec 26, 2019 at 11:22
  • 1
    \$\begingroup\$ @KamilWitek In general, you really need to brute force it. You have five transistors. So you need to test each combination: 00000, 00001, 00010 etc. Your circuit won’t work though. You must ensure that the drain does not become higher than the source, since the body diode will provide a path for the current to circumvent your MOSFET. So if you turn c and e on, the current will be able to go through the body diode of b. Then again you said it was for a test. They probably won’t be looking for such detailed description. \$\endgroup\$
    – user110971
    Dec 26, 2019 at 11:38
  • \$\begingroup\$ @thebusybee Good point. I changed it. \$\endgroup\$
    – user110971
    Dec 26, 2019 at 11:39

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.