Multi-drain logic?

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81
(see page 25)

In figure A, aren't x, y, and z always going to be the same? Why do they have 3 NMOS transistors and 3 signals instead of just one?

None of the outputs are ever pulled up. Would they be pulled up by the PMOS transistors on the inputs to more multi-drain logic? If you wanted to interface to "regular" logic, would you have to put a (ratioed) pull-up on the outputs from a circuit like Figure B?

What is the purpose of the bottom-rightmost transistor, which has nothing connected the drain?

Hopefully I'm not missing something simple like in the dynamic logic question ;).
 

sgtroyer

Member
Feb 14, 2000
94
0
0
That's funky. Here's my interpretation.

x y and z won't necessarily be the same. Because there is no pfet, they will all be pulled down, or all not pulled down. Not pulled down doesn't necessarily mean high, though. When you wire this cell together with others, another cell could be pulling the same signal down. So, for example, if a=1, x=y=z=0. However, if a=0, it's possible that x=1 and y=z=0, because y and z are being pulled down by something else. It's really necessary to look at several cells wired together to understand the operation.

And yes, it's implicitly assumed that the input of the next gate will be pulled up. You're moving the pullup from the output to the input. Why, I don't know. To interface to normal logic, like you say, you'd have to add a pullup.

The place where I've seen an open drain configuration like this most often is in some comparators, where the output can only pull down. To get a high level, you attach a high value resistor from the output to the positive supply. One handy thing about this is you can interface to a different voltage level, since the pullup can be attached to any voltage. Another is the wired-or function. You can short any number of these devices together, with one pullup resistor, and get an or function. (NOR, actually) If any input is high, the output is low. To get a larger fanin, just add comparators.

Is that clear at all?