MUX based ALU thoughts and experiment

Or what the humble relay taught me about fast logic

Public Chat
Similar projects worth following
Starting from primitive relays and moving forward, I've found new uses for look-through carry.

Back to basics for a moment. Don't forget difference across coils can also perform XOR.

Further evolution of the same...

Work in progress. Trying to hide inactivated side loads behind a single pass transistor. Also thickening the critical path of propagation. Parallel RC time constants won't make that path any faster, but better tolerate fanout. Every open transmission gate on the chain presents at least 3pF, even before wiring spaghetti...

"Worrob" my word for reverse subtraction's Borrow. Borrow spelled backward. You know, Y minus X. Add, Subtract, Reverse Subtract compute exactly the same, XOR XOR. Only the magnitude chain's configuration differs.  

Was also a 4way simplified version. But still four parallel caps (counting one XOR input) loading the critical path. Or maybe only 3? Not sure if the unselected parallel propagation case counts against us. Too bad there is no way to activate both at once.

Eight 4way bit slices partially constructed. I still intend to finish for measurements.

May be even better suited to relays. DPDT allows a bonus zero detection chain in parallel with F0. Also merged two controls into S1. Only losing X Y /X /Y identity functions fudgeable by XOR instead. If we count relays, this somehow requires one or two less than the earlier popsicle stick experiment, which was already crazy low part count.

Might note the 8way version of some time ago had huge parallel capacitance. Breadboard featured thick bundles of control lines strung through all slices (I'll upload a png of that problem if I can find where I saved it). A more reasonable control scheme was needed.

Consider that transmission gated look-through may be significantly faster than combinatorial look-ahead. This is not a ripple scheme because time consuming work depends only on A vs B. Multipurpose flag EQ then passes to the left with almost no delay. A technique as old as Konrad Zuse's first relay computers, now almost forgotten:

The above deserves a barrel shifter. Six devices (using 3253 dual 4ways) can do the work of eight 8 ways. Switches can be set while the ALU is churning. Passing through this add-on feature delays a result by only 500pS...

Might help understanding to imagine the borrow chain alone, as a magnitude comparator. Classic 74F85 takes 14nS to do similar work. I think this comparator might even work backward? Though logic lows in the reverse direction (to the right) might appear as open. Intended normal use would flow to the left, and lows would be GND, or whatever level within reason you might prefer as 0. I'm sure it would work just fine upside down too.

Second: What-if 74181 were redesigned in MUX? With look-through Carry and Zero. Not saying 74181 compatible (if I've revengineered the original correctly) makes ideal use of MUX. But I wanted something familiar to compare. Definately learned a few things from that confusing excercise. Concluding that look-throughs should run circles around both F182 Lookahead and F21 Zero. Let us speak of dread 181 no further...

Relays, where it all began. This slice actually works, if you bang it on the bench a few times to unstick it. My bad for fishing "perfectly good" relays out of the trash. Hot gluing them dead-bug to a popsicle stick. XOR across the coil also wants a diode bridge to absorb flyback. I've got 18V MOV in that duty now on the daft theory it would soak up more energy and allow contacts to open faster. But it made no hill of beans.  

Already you see nearly instant lookthrough Carry and Zero. But difficult to make a convincing presentation for exceptionally fast propagation, while waiting two mechanical steps before any of that magic can give a result.  

  • No big update, just fixing errors.

    Ken KD5ZXG08/15/2020 at 02:52 0 comments

    I've corrected some problems in the MUX 181 drawing and added a ton of comments.

  • 31 Flavors of MUX, maybe less...

    Ken KD5ZXG08/09/2020 at 23:56 0 comments

    Look-through somewhat resembles Carry Skip. Except using switches at every slice, never skipping. Combinatorial MUX (like 74151) would slow this simple scheme down to an ordinary ripple. Let's look at some choices available in <6ohm <7nS switching without getting brand specific.

    Flavor #1) Plain N-Channel switched: Powered by 5V, but has difficulty gating more than 3.3V LVTTL through the switch. Resistance goes up sharply if the gate can't be held a good threshold above the channel. 

    Flavor #2) Parallel N and P-Channel switched: Powered by 3.3V, and low resistance near both rails. But slowed by capacitance. P takes a much bigger gate and channel to match N. Upper rail again limits our signal to LVTTL.

    Flavor #3) N-Channel w. charge pumped gate drive: Doubler powered? Very fast. Can easily pass 5VTTL. But the pump limits how often it can switch. Maybe 10~20MHz at best.

    These come in a bizarre zoo of numbers and letters without obvious relation to legacy TTL or HC parts they often share pinouts with. Even parametric search won't show all options you should consider. Is it an Analog Switch you need? Is it a Bus Switch? Is it VGA, HDMI, Automotive, or USB? Won't appear all in one list to get a handle on it, so expect days of research.

    Switching times seem an afterthought to all but those marketed as Bus Switches. Not saying all other types switch slow, but starting your search with that style may be helpful. Particularly 74CB series.

    Beware there can be different behavior between parts with the same number. Particularly dual 4Way MUX with two /OE's. Some versions have all or nothing shutdown behavior, others allow for separate control. Read your spec sheet and pay extra attention to insignificant letters after the part number.

    I try not to use /OE to combine small MUX into larger arrays. It specs a little slower than Select. Not sure why, but may have to do with break before make... 

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates