Logic gates out of dominoes


Software engineer Neil Fraser made a video that uses domino falls to simulate logic gates, the basic building blocks of digital circuits. Domino Domino Logic (neil.fraser.name, thanks Michelle Hlubinka and Robert Cook!)

Discussion

Report this comment

OK, now that is cool.

Report this comment

Excellent! I'll take 1 CPU that works on domino gates, please!

Report this comment

Very interesting, but I was really interested in seeing how he managed a NOT gate.

Report this comment

@3: I think it would require a non-domino device; a timer that knocks over a domino after X seconds unless a falling domino pushes it's button.

Report this comment

could you not use a big loop of dominoes as a timer? Come on, people! It's only a matter of obtaining enough dominoes and the worlf is ours for the taking!

Report this comment
#6 posted by Anonymous, July 25, 2008 3:42 PM

A NOT gate would have to be some sort of lever that STOOD UP a domino if one crashes into it.

Report this comment

Notice that you can implement NOT(x) as:

XOR(x, TRUE)

where you can obtain a TRUE signal by forking a falling domino-path to wherever you need one.

His XOR() has some serious subtleties in timing however...

Report this comment
#9 posted by Anonymous, July 25, 2008 4:02 PM

ha! let's see him make a flip-flop.

Report this comment
#10 posted by Cheqyr, July 25, 2008 4:06 PM

#3: Hmmm ... what if every logical value were represented by TWO parallel streams of dominoes: a "false" path on the left, and a "true" path on the right, where we always guarantee that exactly one path is triggered for each boolean variable.

In this case, the NOT gate becomes easy: a little bridge which allows the left side to cross over and become the right side (and vice versa).

Then you'd just need to develop either an OR gate. The AND gate can be expressed in terms of NOT+OR:

A and B = not(not(A) or not(B))

And the XOR gate built likewise from that:

A xor B = (A and not(B)) or (B and not(A))

I imagine such a setup would make heavy use of staircases and elevated tracks ... ideally, with two colors of domino, one for the "false" track and one for the "true" track, so you could more-easily follow the logic.

A primitive "adder" circuit would be exceedingly beautiful...

Report this comment

O_O

These comments are all gibberish to me.

I'm just going to... back away... now.

Report this comment

Cool! Can we now build a Hofstadterian prime-number domino computer? (1, 2, 3).

Conceptually, making some sort of calculating machine with dominoes should not be any harder than this or this. Right?

Report this comment

Oh, wait, never mind, here it is...

Report this comment
#14 posted by Anonymous, July 25, 2008 4:25 PM

As cool as that was, transistors >> dominoes.

Report this comment

Oh my, I'm being Boing Boinged. I was wondering why my home Internet connection was feeling a wee bit sluggish.

To answer your questions about NOT gates, yes it is possible. The catch (as with any logical system) is that you have to have a power input. All a NOT gate has to do is the signal backwashes the domino stack, so that power can't get through to the output.

The XOR actually contains one NOT gate. The formula used is: ((A or B) and not (A and B)

Report this comment

That's wonderful, Mr Shockley, but I can't see it being practical until someone starts manufacturing 2 mm dominoes.

Report this comment
#17 posted by fnc, July 25, 2008 5:56 PM

Does Moore's Law hold for domino based computing devices?

Report this comment

Oh man, Omnivore, I don't even want to THINK about having to reset a billion 2mm dominoes every time I boot my computer.

Report this comment

if this video had been around, perhaps the US would never have gone in to Vietnam.

Report this comment

But can it run Zork yet?

Report this comment
#21 posted by ianm, July 25, 2008 7:55 PM

That is a wonderful thing, thank you.

Report this comment

Nerdgasm, been a while since I had one of those...


gonna read some Neal Stephenson now while I've got that glow.

Report this comment

Brilliant. The fact that it is a video of a whole bunch of wordless gestures and movements (except for the labels on the gate illustrations, which are not really integral to the demonstration) seems to satisfy a constraint proposed by my dear old friend The Insidious Doctor Zed, a software architect who claims that all software engineers who are any good at their craft are essentially pre-verbal.

Report this comment

i don't know a thing about computer programing, but i'm a philosophy student so i've taken some basic logic classes and watching this switches my brain into logic-speak.
i love it!

Report this comment

Okay, remind me, how far away from a Turing complete machine are we now? If we use Genetic Programming techniques to implement the logic in a boolean-controlled tree structure, we have a theoretical Turing machine, yes?
Domino Doom - perhaps the slowest port of Doom ever.

Report this comment

I want to see someone do this with ants, like Hex.

Report this comment
#27 posted by Takuan, July 26, 2008 6:00 AM

with grains of sugar? Actually a bug-based computer ought to be pretty doable. Ants are going to react the same way to the same stimulus. You're right, the world needs this, if only for the puns.

Report this comment

I made exactly this sort of thing a few years ago, although I made things run off of a NOT and an OR. The OR was directly identical to his. The NOT involved essentially a "true" signal (as described by a few people here) that went over a bridge. The other signal collapsed the bridge in a way that prevented the true signal from continuing. It turns out that in general there are serious timing issues that one needs to take into account when combining gates. The best method is to make highly snaking paths at certain points to make sure that the true signals always come in much later then any possible collapses. This works better than his method since one then just needs order of magnitude timing rather than nearly exact timing for some gates.

You also in practice need to make additional bridges so that paths can cross each other without interferring. In practice this was one of the most difficult things to do efficiently and reliably since dominos falling off a bridge can trigger the path below if one isn't careful.

Report this comment
#29 posted by MarkM, July 26, 2008 9:51 PM

isnt the XOR gate cheating? i think he
got lucky with a race condition (?)

Report this comment

Sorta reminds me of this:

http://www.youtube.com/watch?v=n3wPBcmSb2U

Some dude at Portland State built an electromechanical computer out of relays. (There's actually a bunch of EM/relay computers on youtube/the internet if you look.)

Report this comment
#31 posted by n, July 27, 2008 7:35 AM

XOR gate FTW!!!

Report this comment

I misread the title and thought it said, "Logic gates out of dummies."

I want to see the dummies!

Report this comment

Minor nit with the original post: they don't simulate logic gates, they are logic gates.

#16 Omnivore, #17 FNC, #18 Tonamel: If they were 2 nanometers you might have something. Tiny little things move a lot faster. Maybe reset them with static electricity. There are mechanical thingies being built with the same methods as electronic chips, so Moore's Law holds.

Leave a comment

Name:
Anonymous