User:Munin295/Analog circuit

An analog circuit is a redstone circuit which operates on signal strength.

Analog source
An analog source provides a specific analog signal strength to a circuit.


 * Container Analog Source


 * A container and a redstone comparator can produce an analog signal strength dependent on how full the container is.

Analog transmission
An analog transmission (a.k.a. "hex wire") is a transmission which outputs the same signal strength it receives as input. Because power levels can vary from 0 to 15, an analog transmission can convey 16 states in a single wire.


 * Analog Comparator Wire


 * flat, silent
 * circuit delay: 1 tick per 4 blocks


 * tl;dr: best option for short distances and tricky turns


 * The simplest analog wire is a line of redstone comparators. However, like repeaters, comparators can draw a signal from an opaque block and push a signal into an opaque block, thus it is usually more efficient (in resources, and in signal delay) to place comparators every four blocks.


 * The signal strength of analog comparator wire (ACW) can be reduced or suppressed at some point along its length by feeding another signal into one of the comparators in subtraction mode. The signal can be overridden by feeding a stronger signal into one of the opaque blocks.


 * Because the redstone dust is not adjacent to any power or transmission components, only opaque blocks, it will not configure itself to point in any particular direction. This will cause the dust to also power any opaque blocks or mechanism components to the side of the analog wire. Transmission components (redstone dust, redstone comparators, etc.) should not be placed adjacent to the wire's dust because that would cause the dust to configure itself in a way where it doesn't power the rest of the analog wire.


 * Earliest Known Publication: 9 January 2013.


 * Analog Repeater Wire


 * flat, silent
 * circuit delay: 1 tick per 14 blocks


 * tl;dr: fastest option for long distances


 * Signal strength can also be retained by using repeaters to repeat every possible signal strength at the correct distance from the output to convey the correct signal strength.


 * A single segment of analog repeater wire (ARW) consists of exactly 15 repeaters connecting an input line to an output line. To connect multiple segments together without additional comparators, the segments must be arranged so that the output dust of the last repeater is the same as the input dust of the next segment (i.e., block B of the previous segment is block A of the next segment). This causes the segments to overlap in distance by one block and causes each segment to be offset to the side from the previous segment by two blocks.


 * Variations: To keep the segments in-line, use a comparator and an opaque block between the segments, and alternate the direction the repeaters are facing (increasing the circuit delay to 2 ticks per 17 block).


 * Earliest Known Publication: 21 November 2012.


 * Analog Subtraction Wire


 * flat, silent
 * circuit delay: 1 tick per (18-N) blocks (see below for N)


 * tl;dr: complicated, infrequently useful


 * If fewer than 15 states need to be transmitted, it may be more efficient to encode those N states in the higher levels of signal strength, and then repeatedly subtract the transmitted value from 15 after (17-N) dust, an even number of times.


 * Variations: The chests can be replaced with any other full container. The chests can also be replaced with regular power components (redstone torches, powered levers, etc.) if the redstone dust next to them is raised or lowered by one block, or if the subtraction comparator and its power source are moved so that the redstone dust runs straight into the comparator's side with the comparator perpendicular to the line still facing into the same block.


 * Earliest Known Publication: 26 January 2013

Vertical analog transmission
…

Analog operations
… arithmetic, comparison, etc.


 * Analog Subtraction


 * Analog MinMax


 * Analog Equality


 * 1-Detector


 * 1×5×4 (20 block volume)
 * 1-wide, silent
 * circuit delay: 3 ticks.


 * 1-Detector


 * 1×3×4 (12 block volume)
 * 1-wide
 * circuit delay: 1 tick (0 to 1 or 1 to 0 transition), instant (1 to 2+ transition), or 1.5 ticks (2+ to 1 transition).

Analog clock
An analog clock is a circuit which repeats a pattern of analog signal strengths.


 * Regular Analog Clock


 * 3&times;N&times;2, flat, silent
 * clock period: 16 ticks per comparator


 * This clock produces a regular change in signal strength: each analog output value, from 15 to 0, last for the same duration (1 tick per comparator).


 * A useful variation is to move the torch back one spot (removing one repeater, and increasing another to 2 ticks to compensate) so that the first comparator only gets powered to power level 14. This produces a clock period of 15 ticks per comparator, which is more useful for producing periods measured in seconds (for example, 30 seconds would be 20 comparators).

Analog memory

 * SR Capacitor


 * 3&times;4&times;2 (24 block volume), flat, silent
 * circuit delay: 2 ticks


 * Earliest Known Publication: 4 January 2013 (basic concept) and 6 January 2013 (subtraction refinement)

Analog decoder
An analog decoder converts an analog encoding to another encoding type.

Analog-to-binary decoder
An analog-to-binary decoder (aka "a2b decoder") converts an analog encoding into a binary encoding.


 * Munin's A2B Decoder
 * 12×15×4 (720 block volume)
 * circuit delay: 2 ticks


 * This circuit first decodes the analog input into a nearly-one-cold output (see below), and then encodes that to a binary output.


 * Binary encoding has the property that going from an even value to the next odd value changes only one binary line: the 1-bit. The first section takes advantage of this fact to use the even one-cold output lines to encode the binary output lines for the next odd value as well as their own binary lines. This allows the odd output lines to control only the 1-bit line. The first section also removes the lower repeaters that would suppress the one-cold output lines for values 8, 12, and 14, because the binary output lines they control don't change for greater values (for example, once the input has reached 8, the 8-bit line should be on for all greater values), simplifying the one-cold to binary encoding for higher values.


 * Earliest Known Publication: 30 January 2014


 * Compact A2B Decoder


 * 4×14×2 (112 block volume), flat, silent
 * circuit delay: 10 ticks


 * This decoder is slow and its outputs aren't lined up nicely (though it doesn't take too much more space to line them up), but its compactness allows it to be built in bases or other places where space is tight.


 * The outputs change state one after the other while the computations work their way through the circuit, so it may make sense to suppress the outputs until the calculation has completed.

Analog-to-tally decoder
An analog-to-tally decoder (aka "a2t decoder") converts an analog encoding (signal strength) into a tally encoding (N lines on).


 * Single-spaced A2T Decoder


 * Double-spaced A2T Decoder


 * Earliest Known Publication: 21 March 2013

Analog-to-one-active decoder
An analog-to-one-active decoder (aka "a2o decoder") converts an analog encoding into either a one-hot encoding (Nth line on) or one-cold encoding (Nth line off).


 * Grizdale's Opposed-Power A2O Decoder


 * 3×16×3 (144 block volume)
 * silent
 * circuit delay: 3 ticks


 * Powers a line of 16 redstone dust with a power level equal to the input analog power level from one side, and (15 - input) from the other, leaving only a single dust unpowered.


 * The decoder transmits the input's power level to both sides simultaneously by taking the input in the middle of the circuit and using the same number of comparators getting to either side, including subtracting it from 15 on one side.


 * Variations: To change the output from one-cold to one-hot, add torches to the output blocks (adding 1 tick to the circuit delay).


 * The output can be shortened to display fewer values by reducing the number of items in the subtraction comparator's input container (when shortening the comparator lines, make sure each dust has a comparator before or after it so it doesn't power an adjacent output block, as is purposefully done with the 0 output block).


 * Earliest Known Publication: 17 March 2013


 * ARL Opposed-Power A2O Decoder


 * 6×16×2 (192 block volume)
 * flat, silent
 * circuit delay: 2 ticks


 * The ARL decoder transmits the input's power level to both sides simultaneously by using a single segment of analog repeater line.


 * Variations: To change the output from one-cold to one-hot, add torches to the blocks the output dust is on (adding 1 tick to the circuit delay).


 * Earliest Known Publication: 07 June 2013


 * OR-Gate A2O Decoder


 * 4×16×4 (256 block volume)
 * silent
 * circuit delay: 2 ticks


 * Splits the input signal into two lines of redstone dust, with one line at one less power than the other, and compares the power level of the two lines at each potential input to see where the input's power level drops to 0.


 * The "OR-Gate" is the final block at each output which combines the negation of its own value's power with the power of the next value (so will only be cold if its own value is powered but the next is not).


 * Variations: To change the output from one-cold to one-hot, add torches to the output blocks (adding 1 tick to the circuit delay).


 * Opposed-Power Item Frame Decoder


 * 3×12×2 (72 block volume), not including item frame input
 * flat, silent
 * circuit delay: 2 ticks


 * Powers a line of 8 redstone dust with a power level equal to (input - 1) from one side, and (8 - input) from the other, leaving only a single dust unpowered for a one-cold output.


 * Because the bottom comparator is in comparison mode, it will never be affected by the dust at its side.


 * Variations: To change the output from one-cold to one-hot, add torches to blocks the output dust is on (adding 1 tick to the circuit delay).


 * Earliest Known Publication: 27 January 2014