Live data from Hacker News

HexLogic – Logic gates in a hexagon grid

anubiann00b.github.io

11–20 of 23 posts

Re: HexLogic – Logic gates in a hexagon grid

#11

Fun to play with, but I haven't yet found how to create a wire that carries a signal around a corner without introducing instability or oscillation. A series of 'or' or 'xor' gates will carry a signal from input to output, but the other two output directions from any of those gates lead to cells that feed into the previous cell, so placing either an 'or' or 'xor' there introduces feedback. The inability to change the…

A big hexagon shape made out of xor gates imitates a xor gate, except that the inputs and outputs are nicely separated. You can omit the inputs as you want.

Thanks, that works perfectly. Seems to work for 'o' and '+' as well: surround anything with a hexagon of xor gates and it will behave the same on a larger scale, as long as you don't feed it signals too quickly.

Re: HexLogic – Logic gates in a hexagon grid

#18
post #2

Looks pretty. Are there instructions anywhere? Examples provided?

Agreed. I have to admit, I'm pretty lost as to what interesting things I can do with this.

It's possible to create hex shapes that flicker without power! Basically a stable loop that acts as a super-conducting loop.

Re: HexLogic – Logic gates in a hexagon grid

#19
Has anyone managed to implement an and gate out of this? {xor, or, true} is a universal logic set, so it it theoretically possible. A not gate is easy, but the positioning of the inputs and outputs makes and gates tricky.

For those who are rusty on boolean algebra or just curious:

not A = A xor true

A and B = ((A xor true) or (B xor true)) xor 1

Re: HexLogic – Logic gates in a hexagon grid

#20

Has anyone managed to implement an and gate out of this? {xor, or, true} is a universal logic set, so it it theoretically possible. A not gate is easy, but the positioning of the inputs and outputs makes and gates tricky. For those who are rusty on boolean algebra or just curious: not A = A xor true A and B = ((A xor true) or (B xor true)) xor 1

Here's my attempt using the "ring of xor" technique posted elsewhere: https://imgur.com/xGHmN9c

It follows the hex structure of the other gates (inputs down and diagonally up, outputs up and diagonally down). It's got a radius 4 (the 5th blocks being the example inputs and outputs) but I think you could probably do better with some judicious bit trickery in the middle.

Edit: Radius 3: https://i.imgur.com/BaI6YLj - I wonder if 2 is possible?

Post reply on HN