It accepts two gliders as inputs and generates an output glider only when both of the inputs have arrived.
This differs from a normal AND gate in that there are no constraints on the timings of the two input gliders. The input gliders can arrive in either order, or simultaneously, and with any phase difference.
Code: Select all
x = 291, y = 349
93bo$94bo$92b3o16$119bo$119b3o$122bo$121bobo$121bobo$122bo5$137boo$
137boo$$100boo3boo$98b3obobboo$97bo4bo14boo$97bobboob4o9bobo$96boobobo
bobbo9bo$97bobobobo11boo7boo$97boboboo21boo$98bo$132boobo$111boo19boob
3o$102boo7bo26bo$102boo5bobo20boob3o$109boo20bobboo$130bobo$112bo16bob
oboobo$112b3o15bobboboo$115bo17bo$78bo35boo16boo$78b3o48bobobboo$81bo
17boo28boobbobbo$80boo18bo33boo$97b3o$97bo$69booboo$69boobo$72bo$72b3o
4boo$70boo3bo3boo$69bobb4o30boo19boo$69boobo15boo16boo19boo$70bobb3o
12bobo48boo3boo$70bo5bo13bo48boobbob3o$71b5o14boo36boo13bo4bo$73bo54bo
10b4oboobbo$129b3o7bobboboboboo$125bo5bo10bobobobo$124bobo16boobobo$
124bobbo19bo$123boo3bo$122bobb3o5boo18bo$111boo10boo9bo7boo9b3o$111boo
13boo6bobo5boo12bo$123boobobo6boo18bobo$123bobbobo26bobo$125booboo26bo
$$133bo$114boo15b3o$115bo14bo$112b3o15boo13boo24boo$112bo32bo25boo$
146b3o$148bo$$151boo$150bobo$120boo28bo$119bobo5boo20boo7boo$119bo7boo
29boo$118boo$166boobo$132bo33boob3o$128boobobo38bo$127bobobobo15bo16b
oob3o$124bobboboboboo14b3o13bobboo$124b4oboobbo18bo11bobo$128bo4bo17b
oo10boboboobo$124boobbob3o31bobboboo$124boo3boo36bo$166boo9boo$163bobo
bboo7boo$163boobbobbo$168boo5$144boo$144boo4$149boo$149boo$145boo40boo
$145boo40boo$193boo3boo$193boobbob3o$122boo27boo44bo4bo$122boo27boo13b
oo25b4oboobbo$165bobo25bobboboboboo$165bo30bobobobo$164boo31boobobo$
201bo$$187boo$188bo7boo$188bobo5boo$107boo80boo$107boo5$87boo11bo$87b
oo10bobo97boo$99bobobboo3bo89bo$98booboobbobbobo89b3o$102bobo3bobo91bo
$98boobobb4obo17boo$98boobobo3bo19bo$102bobo3bo19b3o$103bobo3bo20bo$
104bo3boo3$171boo$95boo75bo90boo$95boo75bobo88bo$80boo91boo86bobo$79bo
bbo178boo$78boboo175bo17boo$78bo177bobo16bo$77boo177bobo14bobo$92boo9b
oo21boo129bo15boo$92bo9bobo21boo$93b3o6bo17boo$72bo22bo5boo17boo127boo
$70b5o14boo159bo$69bo5bo13bo160bobo$69bobb3o12bobo32boo121bo5boo$68boo
bo15boo26boo5boo119b3o$68bobb4o40boo125bo$69boo3bo3boo162boo$71b3o4boo
147boo$71bo156bo45boo$68boobo156boboo42boo$68booboo156bobbo$230boo$
245boo$79boo164boo$80bo$77b3o194bo$77bo195bobo5bo$153boo3boo94bo3boo
14bo4b3o$153boobbob3o91bobo3bo18bo$157bo4bo89bobo3bo19boo$153b4oboobbo
85boobobo3bo$153bobboboboboo84boobobb4obo4boo$156bobobobo89bobo3boo3bo
bo20booboo$110bo46boobobo85booboobobo6bo23boboo$92boo14b5o48bo87bobo3b
ob3obboo23bo$93bo13bo5bo123boo10bobo4bobbo19boo4b3o$28boo11bo51bobo12b
3obbo33boo88boo11bo6boo20boo3bo3boo$28boo10bobo51boo15boboo33bo7boo
126b4obbo$40bobobboo3bo57b4obbo33bobo5boo112boo15boboo$39booboobbobbob
o51boo3bo3boo35boo118bobo12b3obbo$43bobo3bobo12boo37boo4b3o157bo13bo5b
o$39boobobb4obo13bo46bo156boo14b5o$39boobobo3bo13bobo15bo30boboo171bo$
43bobo3bo12boo16b3o27booboo$44bobo3bo32bo$45bo3boo31boo$70boo30boo55b
oo$71bo30bo56bo$71bobo29b3o54b3o$36boo34boo31bo33bo22bo$36boo56boo41b
5o14boo$21boo71boo40bo5bo13bo$20bobbo112bobb3o12bobo$19boboo112boobo
15boo$19bo115bobb4o$18boo116boo3bo3boo$33boo103b3o4boo$33bo57boo45bo
65bo34boo$34b3o24boo28bo43boobo65b3o32bo3boo$36bo11boo11boo29b3o40boob
oo67bo33bobbo$49bo44bo99bo11boo11boo19b4o$46b3o35boo106b3o24boo$46bo
37boobboo56boo43bo48boo$88bobo56bo43boo46bobbo$90bo53b3o29boo62boobob
oo$90boo52bo32bo65boboo$177boboo62bo$178bobbo59bobo$179boo60boo$194boo
34boo$44bo80boo67boo34boo3bo$44b3o78bo108bobo$47bo75bobo109bobo$46boo
75boo13boo97bo$138boo63bo3boo28boo$202bobo3bo$35booboo161bobo3bo12boo$
35boobo63boo40boo51boobobo3bo13bobo$38bo63boo40boo51boobobb4obo13bo$
38b3o4boo93boo59bobo3bobo12boo$36boo3bo3boo93boo55booboobbobbobo$3o32b
obb4o156bobobboo3bo$bbo32boobo15boo130boo10bobo$bo34bobb3o12bobo129boo
11bo$36bo5bo13bo88boo$37b5o14boo87boo$39bo3$65bo$63b3o55boo$62bo57bobb
obboo$62boo48boo7boobbobo$112boo9boo$123bo$120boobobbo$120boboobobo10b
oo$124bobo11bo$121boobbo13b3o$52boo65b3oboo16bo$51bobo5boo57bo$51bo7b
oo58b3oboo$50boo69boboo$$64bo66boo$60boobobo65boo7boo$59bobobobo74bo$
56bobboboboboo71bobo$56b4oboobbo72boo$60bo4bo$56boobbob3o$56boo3boo$
118boo$118boo5$134bo$133bobo$133bobo$134bo$135b3o42bo$137bo42b3o$183bo
$182boo3$171booboo$171boobo$174bo$174b3o4boo$172boo3bo3boo$171bobb4o$
171boobo15boo$172bobb3o12bobo$172bo5bo13bo63boo$173b5o14boo62bo$175bo
78bobo$212bo37boobboo$212b3o35boo$215bo$202bo11boo11boo$200b3o24boo$
199bo$199boo59boo$184boo74bo$185bo72bobo$185boboo69boo$186bobbo$187boo
$202boo$202boo34boo$237bobo$237bo$236boo$211bo3boo36boo$210bobo3bo36bo
$209bobo3bo12boo24b3o$205boobobo3bo13bobo25bo$205boobobb4obo13bo$209bo
bo3bobo12boo$205booboobbobbobo$206bobobboo3bo$194boo10bobo$194boo11bo
13$210bo$210b3o$213bo$212boo7$222boo$215boo5bobo$215boo7bo$224boo$$
211bo$210boboboo$210bobobobo$209boobobobobbo$210bobboob4o$210bo4bo$
211b3obobboo$213boo3boo!
For examples, here is the base reaction in which the gliders are simultaneous.
Code: Select all
x = 20, y = 21
17bobo$17boo$8bo9bo$6bobo$7boo3$3bo$4bo$bb3o9$oo$boo$o!
Code: Select all
x = 19, y = 20
16bobo$16boo$9bo7bo$7bobo$8boo$$3bo$4bo$bb3o9$oo$boo$o!
Code: Select all
x = 19, y = 19
16bobo$16boo$7bo9bo$5bobo$6boo5$3bo$4boo$3boo5$boo$obo$bbo!
I added an eater as bait to the reaction in order to generate a glider. The bottom half of the circuit regenerates the bait after it had been used.
This circuit could be used in asychronous logic, where parts of the circuit need to wait until previous parts are complete. For example, the numbers contained in two sliding block memories could be read simultaneously, with further action taken only after both readouts are complete.
This is my first example of making a stable logic circuit, and I already know it can be improved (especially in the lower half). If anyone wants to do that, please do so! I would like to see the smallest such circuit.
Thanks to Dave Greene for his help.
BCNU,
-dbell