04-01-2016, 11:02 PM
I've managed to make a 3-tick CCA thanks to LambdaPI's 1-tick AND gate (explanation later), it took quite long due to how hard it is to get it to stack.
It is a diagonal build which can be stacked up to 7 bits (haven't yet figured out alternative design for LSB to get that extra bit).
I'm currently planning out a way of making it an ALU.
The ALU can be viewed at /warp ss3tickcca and is already quite compact (not by choice).
Time to explain how LambdaPI managed to make a 1-tick AND
In Minecraft, changing the input of a comparator will trigger a comparator update in 2 game ticks (1 redstone tick). If another change is made to the side input within the same game tick as the comparator update, the comparator will use the new side input, therefore acting as an instant subtraction of the side input. We can use this "feature" to get an AND gate output using A NIMPLIES (A XOR B), where the XOR outputs 1 tick later, therefore making the NIMPLIES 1 tick after input as the XOR output gets processed within the same game tick.
It is a diagonal build which can be stacked up to 7 bits (haven't yet figured out alternative design for LSB to get that extra bit).
I'm currently planning out a way of making it an ALU.
The ALU can be viewed at /warp ss3tickcca and is already quite compact (not by choice).
Time to explain how LambdaPI managed to make a 1-tick AND
In Minecraft, changing the input of a comparator will trigger a comparator update in 2 game ticks (1 redstone tick). If another change is made to the side input within the same game tick as the comparator update, the comparator will use the new side input, therefore acting as an instant subtraction of the side input. We can use this "feature" to get an AND gate output using A NIMPLIES (A XOR B), where the XOR outputs 1 tick later, therefore making the NIMPLIES 1 tick after input as the XOR output gets processed within the same game tick.