3
\$\begingroup\$

I am wondering about the practical difference between transmission gates and tristate buffers. As far as I can tell, they both do the same thing. They effectively disconnect themselves from part of the circuit, acting as a switch.

They both achieve this using transistors, but not necessarily transistors alone. This page has a diagram of a tristate buffer.

enter image description here

And I found a diagram of a transmission gate flipflop here.

enter image description here

My question is, what is the practical difference? When should you use one but not the other? What are their pros and cons in terms of electrical characteristics?

From searching around online, I find that tristate buffers are usually used to manage bus lines by only allowing one input to drive the bus. And transmission gates are usually used in bit-storage like registers in a master-slave setup, allowing the circuit to latch onto and remember the bit and then disconnect the input so it is no longer driving the bit.

But I can't see why. I see no difference that would favor one or the other in either application. Can someone explain this?

My application/context is digital circuits like CPUs. But I understand that all circuits are analogue in practice. That's part of the reason why I'm asking, because I don't know what special side-effects might arise from either one in any application.

\$\endgroup\$

2 Answers 2

4
\$\begingroup\$

I see no difference that would favor one or the other in either application.

A transmission gate connects the actual input signal to its output and, the input signal may also be an analogue signal i.e. there is no buffering of the signal and no logic levels to meet for it to do its job. It has an "on" resistance and an "off" resistance just like a relay contact or solid-state-relay.

A tristate buffer is a subset in that it only works with prescribed logic level signals.

When should you use one but not the other?

There is a big overlap in usage regards applications but, where the transmission gate is great for preserving the analogue nature of the signal it passes, it comes with a cost that makes it less-useful for digital application; input-output capacitance is usually high and this means that it cannot properly handle fast logic signals.

\$\endgroup\$
4
  • \$\begingroup\$ Judging from the linked diagram, i never wouldve guessed that the transmission gate preserves an analogue signal. It appears to be CMOS style transitors so the low or high voltage gets directed to output, creating a clean 0 or 1. But anyway since my focus is digital, my real concern about it is noise. I don't like the idea of preserving noise thru any gate or device. But the fact that they are common in registers makes me think there must be some good reason for doing it. Maybe transmission gates are much smaller devices than tristate buffers? \$\endgroup\$
    – DrZ214
    Mar 24, 2022 at 14:36
  • \$\begingroup\$ @DrZ214 if you want to know, link a schematic that shows them in a register. \$\endgroup\$
    – Andy aka
    Mar 24, 2022 at 15:05
  • \$\begingroup\$ I couldn't find register schematics that go down to the level of transmission gates. Usually the register schematics just "black box" the flopflop and label it a "positive edge triggered D flipflop" or "D Latch" without showing the schematic of the flopflop itself. But i can certainly find schematic of the master-slave flipflop that uses transmission gates, just holding one single bit. I edited the OP to include it as well as a diagram for the previous decide, the tristate buffer. \$\endgroup\$
    – DrZ214
    Mar 24, 2022 at 16:57
  • \$\begingroup\$ Well, you can use transmission gates where you want to really but, if you require low capacitance (as required inside a master-slave flip-flop to get high CLK speeds) then you sacrifice "on-resistance" but, maybe that isn't such a big deal inside a flip-flop @DrZ214 \$\endgroup\$
    – Andy aka
    Mar 24, 2022 at 17:04
1
\$\begingroup\$

A transmission gate can disconnect two nodes from each other, or connect them. They are not perfect as they have some resistance when connecting things together. It can be low for modern transmission gates or few hundred ohms for older technology gates. They also have no specific input or output so they can be used bi-directionally, or for bi-directional signals. And it can be used for analog signals, and you can connect several transmission gates to make an analog multiplexer. And since they are not digital gates, they don't offer any gain, or buffering, so they are lossy devices.

A three state buffer is a digital logic device, which has a specific input and output ports. The output is just a digital buffer so it provides current gain, or buffering of the input signal. As usual for just push-pull CMOS outputs, it can drive the output high with a P-FET or low with a N-FET, but with the addition of the third state where neither output drive FET is turned on, so the output floats in high impedance state. Which allows for other three-state buffers to drive the signal, like on a digital bus that is bidirectional.

\$\endgroup\$
2
  • \$\begingroup\$ I get what you're saying but it doesn't give insight as to why one is favored for busses and the other is favored for register data retention. The bi-directional transmission gate sounds really good for a bus, where each connection to the bus could be used for read or write. Yet usually a tristate buffer is used for bus connections and I can't see why. \$\endgroup\$
    – DrZ214
    Mar 24, 2022 at 18:59
  • \$\begingroup\$ Who says a transmission gate is good for read/write buses, because it is not. Bidirectional tristate buffers are used for the reasons I mentioned already, they have strong outputs that can drive a bus with a lot of load so the voltage leves are well defined and signals transition fast. \$\endgroup\$
    – Justme
    Mar 24, 2022 at 21:00

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.