


So I'm building a kind of efficient 16Γ16 bits multiplier and I thought it'd be fun to share some designs I've came up with to do so.
The designs are the most compact I'm able to think of, that constist only on redstone dust, repeaters and a couple of logic gates from the "Logic Chips" mod, by ZZZank (only for even more compactness).
I've grouped it in three images, which consist of the following:
-
A Half-Adder design: it adds two bits and gives back a result and a carry. It is more efficient to be used instead of a Full-Adder for the last digit of a binary number, for example.
Its composition is quite simple: it has a simple X-OR gate for the result and an AND gate for the carry. -
A Full-Adder: it performs addition when there's a prior carry, presumably from another adder ubicated below, and returns one result for the corresponding digit and a single carry (we're essentially adding three numbers, we do not need more carry bits).
The inputs come from right and left, and the prior carry comes from below, in the middle.
It then has an 3X-OR gate to compare one of the inputs and the carry (3X-OR because, for compactness, I've made it up so that its inputs come from left and bottom entries) and a 2X-OR gate to compare that last result and the second input. That's basically because X-OR gates essentially show the parity of activated inputs, so they're quite flexible as long as you put each of the inputs (and prior carry) once and only once.
For the carry, I've used the most simple way (yet effective, after all) that's possible, which is to group three AND gates and point them to a single block with redstone dust, so that if at least one of them is activated the carry wire is so.
The black blocks in the pictures show top half-blocks, since that's the quickest and safest way to transmit signal up from one module to another. -
Finally, the last picture shows an 8Γ8-bit Full-Adder and how compact it is when used efficiently.
I tend to store my numbers in redstone lamp vertical 1Γ1 towers, mostly because that's an small and clear way to have large numbers stored, and my designs rely on that to be that compact.
I think that's obvious, but the game allows a similar design to be made without the mod, but I like to use it both because it's easy to make and because it's not as huge as it would be without it (which will be quite important for the multiplier I'm building, which I estimate to be a little less than 100Γ100 in area, which seems a lot but I don't think is that much since the result will be 32-bit-long…).
Anyways, I guess I've put all the relevant details (if you find this idea interesting and I've missed some detail, just tell me. There are a lot of things to be said about this and I may have missed some of them), so I hope you enjoy it.
by Miles_Edgeworth_001
1 Comment
Also this is a half adder