Forums - Open Redstone Engineers
Solid state 3-tick CCA [improvement] - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: ORE General (https://forum.openredstone.org/forum-39.html)
+--- Forum: Projects & Inventions (https://forum.openredstone.org/forum-19.html)
+---- Forum: Completed Projects (https://forum.openredstone.org/forum-21.html)
+---- Thread: Solid state 3-tick CCA [improvement] (/thread-9706.html)



Solid state 3-tick CCA [improvement] - CrazyPyroEagle - 04-01-2016

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.


RE: Solid state 3-tick CCA [improvement] - TSO - 04-01-2016

Is there a link somewhere where I can learn about this CCA technology. It wasn't something that existed (or at least isn't an acronym I can figure out) last time I was here.


RE: Solid state 3-tick CCA [improvement] - CrazyPyroEagle - 04-01-2016

(04-01-2016, 11:20 PM)TSO Wrote: Is there a link somewhere where I can learn about this CCA technology. It wasn't something that existed (or at least isn't an acronym I can figure out) last time I was here.

CCA (Carry Cancel Adder) was invented by MagicalGentleman. It uses comparators to simultaneously compute all carry lines (unlike CLA / CLE which creates each carry line separately). Comparators have a subtract mode where you can subtract the side input from the back input, which is the core mechanism of CCA.
The adder is split into two lines, carry line and cancel line. The carry line is the OR of all the generates (A AND B / A XNOR B) and the cancel line is the OR of all the inverted propagates (A NOR B). Each carry is generated from carry line - cancel line, which means that a carry is only generated if a generate is present and if all inverted propagates in between it and the current bit are false (presence of a propagate or another generate). This allows for a very compact vertical adder, the smallest designed by Embizone. I don't know where you could find a better explanation of the carry logic, but you may want to try Magic's forum threads or their YouTube channel (I believe they posted a video about CCA).


RE: Solid state 3-tick CCA [improvement] - TSO - 04-02-2016

I get the logic behind it. It is very clever. By my astute observations, though, I can see this type of adder is also minecraft specific, just like ICA. (or, at least, it's advantages are)

Anyway, this might speed up or otherwise compact my gigantic multiplication grid. (the Dadda multiplier grid)


RE: Solid state 3-tick CCA [improvement] - Magic :^) - 04-02-2016

Well, this kind of addition is kind of applicable to real circuitry, depending on how much of a voltage drop you get across transistors and such before you hit an indeterminate voltage level.

http://puu.sh/o2W8Z/88f2a183c7.circ

I was messing with a practical implementation of CCA logic a few months ago and the above logisim circuit is what I came up with.


RE: Solid state 3-tick CCA [improvement] - LordDecapo - 04-06-2016

3.0625ticks* lol


RE: Solid state 3-tick CCA [improvement] - CrazyPyroEagle - 04-06-2016

(04-06-2016, 03:17 PM)LordDecapo Wrote: 3.0625ticks* lol

3.0625 ticks only if your inputs are not synchronized. Synchronized inputs always output after 3 ticks. I'll do some more testing to see how often I can perform operations with it.


RE: Solid state 3-tick CCA [improvement] - TSO - 04-06-2016

How do you measure a sixteenth of a ticK?


RE: Solid state 3-tick CCA [improvement] - CrazyGuy108 - 04-11-2016

(04-02-2016, 05:21 AM)MagicalGentleman Wrote: Well, this kind of addition is kind of applicable to real circuitry, depending on how much of a voltage drop you get across transistors and such before you hit an indeterminate voltage level.

http://puu.sh/o2W8Z/88f2a183c7.circ

I was messing with a practical implementation of CCA logic a few months ago and the above logisim circuit is what I came up with.

Just out of observation, it looks like the pair of n and p type transistors in the ICA can be interpreted as a mux, cin and gen with the select signal being the prop. I tested it and it works :o


RE: Solid state 3-tick CCA [improvement] - CrazyPyroEagle - 04-22-2016

(04-06-2016, 09:30 PM)TSO Wrote: How do you measure a sixteenth of a ticK?

You don't, it's an average as it's only 4 ticks in 1 of 16 possible cases.