I'm working on a problem from an ETH Zurich course. They want you to build a transistor-level CMOS implementation of a XOR gate. My first attempt had floating nodes and other issues with untethered voltages.
My new attempt is the following:
simulate this circuit – Schematic created using CircuitLab
The answer given in the course is below:
My implementation looks very similar to theirs. Except, when I simulate it in Circuit Lab, I don't get the correct voltage on the output. The only major difference I can see is that they have two inverters, one for A and one for B, directly after their inputs.
What am I missing? Why doesn't my implementation give the correct output voltages?