Skip to content
digiwleeaTools
LearnGlossaryAboutCheat sheetHow a CPU worksToolsOpen the lab →

CMOS transmission gate: a switch that passes 0 and 1, live

A CMOS transmission gate is an NMOS and a PMOS transistor in parallel, switched by complementary signals: with EN = 1 both conduct and the output Y follows the input A, whether 0 or 1; with EN = 0 both are off and Y floats, connected to nothing. Here an inverter makes NOT EN for the PMOS, four transistors in all.

One transistor alone is a poor switch: an NMOS passes a strong 0 but only a weak 1, because it stops conducting as its output nears the supply, and a PMOS passes a strong 1 but a weak 0. In parallel they pass both levels at full strength. Unlike a logic gate, a transmission gate does not drive its output from the supply rails; it only connects or disconnects two wires, so a signal passed through several in a row gets slower, and real designs add buffers. Transmission gates build multiplexers (see the transmission-gate multiplexer), XOR gates, latches and flip-flops with few transistors. Compare the tri-state buffer, which also has a floating output but drives Y itself.

Live circuit: click the inputs to toggle them and watch the outputs update. It runs the real simulator, right here on the page.

Open this circuit in the lab →

What you need

Step by step

  1. Place VDD, GND, inputs A and EN, and a probe Y.
  2. Build a CMOS inverter on EN to make NOT EN.
  3. Put an NMOS and a PMOS side by side between A and Y: the NMOS gate on EN, the PMOS gate on NOT EN.
  4. With EN = 1, toggle A: Y follows it. With EN = 0, Y floats (Z), whatever A is.

Transmission gate truth table

ENANMOSPMOSY
00offoffZ (floating)
01offoffZ (floating)
10onon0
11onon1

Z means the output is not driven at all. All four rows, including the two floating ones, are checked on the live circuit, which is made of transistors only, before the page is built. It starts with A = 1 and EN = 0, so Y floats until you turn EN on.

You can also read the full theory in the lesson on the transmission gate. Prefer to build it yourself from scratch? Open the digiwleea lab and place the gates on the canvas, or start from the logic gate simulator.

Build more parts from gates

half adderfull adderhalf subtractorfull subtractor2:1 multiplexer4:1 multiplexerXOR gate from NAND gates2-to-4 decoderSR latchD flip-flopJK flip-flopT flip-flop4-bit shift register4-bit ripple carry adderD latch1-to-4 demultiplexer4-bit magnitude comparator4-bit ring counter4-bit Johnson counter4-to-2 priority encoder4-bit synchronous counter3-to-8 decoder8-to-1 multiplexer4-bit carry lookahead adderhalf adder from NAND gates2-bit comparatorBCD to 7-segment decoder4-bit up/down counterdecade counter2-bit multiplier4-bit ALU4-bit array multiplierNOT, AND, OR and NOR from NANDNOT, OR, AND and XOR from NORfull adder from NAND gatesSR latch from NAND gatesparity generator and checker4-bit adder/subtractorBCD adder4-bit universal shift registermod-6 counter4-bit ripple counterbinary to Gray code converterhalf adder from NOR gatesfull adder from NOR gates4-bit register with parallel load1011 sequence detectorbinary to BCD converterD flip-flop from NAND gates1-bit ALUCMOS inverterCMOS NAND gateCMOS NOR gatePISO shift registerSR flip-flop from NAND gatesBCD to excess-3 code converterHamming (7,4) code encoder and correctortraffic light controller4-bit barrel shifterCMOS AND gateCMOS OR gateCMOS XOR gate1-bit magnitude comparatorhalf subtractor from NAND gatesfull subtractor from NAND gates8-to-3 encoderGray to binary converter4-to-16 decoderfull adder using 4:1 multiplexersedge detectorserial adder4-bit carry-select adderMealy machine (1011 detector)master-slave JK flip-flop (NAND)half subtractor from NOR gates1-to-8 demultiplexerexcess-3 to BCD code convertervending machine FSM4-bit carry-save adder3-bit synchronous counter (JK)tri-state buffer (CMOS)2-to-1 mux from transmission gatesmod-5 counterflip-flop conversion (JK to D)8-bit ALUdecimal to BCD encoderBCD to decimal decoder4-to-1 mux from 2-to-1 muxes

Each of these is one step from a transistor to a working CPU. Build every gate from CMOS transistors and work all the way up in the free digiwleea lab, with the free theory reference alongside.

Open the CMOS transmission gate in the lab →

Frequently asked

What is a transmission gate?

A switch made of an NMOS and a PMOS transistor in parallel, controlled by complementary signals. When it is on it connects its two terminals and passes 0 and 1 at full strength; when it is off its output floats.

Why does a transmission gate use both NMOS and PMOS?

An NMOS passes a strong 0 but a weak 1, and a PMOS passes a strong 1 but a weak 0. Together they pass both logic levels without loss.

What is the output of a transmission gate when it is off?

Nothing drives it: the output floats in the high-impedance state, usually written Z, and takes whatever value something else on that wire drives.

Where are transmission gates used?

In multiplexers, XOR and XNOR gates, latches and flip-flops, where they replace several logic gates with a few switches, and as analog switches that pass voltages between 0 and the supply.