May 01 2012

XOR gate

Category: Lego,TechnicsSpiller @ 09:08

As I mentioned in Mechanic NOR gate I was working on extending the NOR-gate to a compact XOR-gate and I finally succeeded in making a prototype of it.

My original idea to make it smaller failed, however after trying to think outside the box for a bit I finally made a breakthrough. Keshav Saharia made an AND-gate by surrounding an OR-gate with NOT-gates. I realized that this can be achieved by modifying an OR-gate slightly. Instead of enforcing the output to be true when one input is, you can get the AND-gate result by enforcing that the output is false when at least one input is too. Instead of pushing the output beam on true inputs, you pull it on false input like shown in the example AND-gate design below:

AND gate

With this much smaller AND-gate it becomes a whole lot easier to create a compact XOR-gate. My prototype as shown below contains two layers, one layer contains 2 AND-gates and one OR-gate while the bottom layer is a single NOT-gate.

Top view of XOR gate Bottom view of XOR gate

The reason I call this a prototype is that it contains the same flaw as Keshav Saharia’s XOR-gate, it does not reset its internal gates when a state updates. This could be solved by using rubber-bands like I did with my NOR-gate design. However I believe this approach to logic gate design is flawed and since it is difficult to do add this without increasing the size (and work well) I wouldn’t even bother.

The issue is that friction will continue to build up in the system when you start combining the gates, and those rubber bands makes it much worse. (I also fear that the rubber bands in one gate might affect another gate.) It is limited how much force these gates can function with. Small inaccuracies in how much the axles extend will also propagate throughout the system.

All those issues limits the amount of gates you can chain together and I don’t think it would perform well enough to complete a 4-bit adder (using half/full-adders).

So I want to try a completely different approach using continually rotational power as inputs and using gears to create the gates. One of the advantages is that gears can handle much much larger power throughput than the axle-beams approach. Secondly, by making it continuous you can more easily supply more power by embedding motors in the gates. The big disadvantage however is that it will use much more space and therefore also pieces. However if I can get it to work and I believe it will scale well I will try to get the gears/parts required.