NOTE: This page isn't done yet, but I'm working on it! :-)
Introduction
Students learning analog are often asked to produce an analog configuration that computes exclusive-or (XOR). This has become the analog equivalent of traditional programming languages' "Hello World" assignment. What is analog XOR, and why is it useful for students to learn?
First, let's explain what XOR is, first digitally, then in analog. Afterward, we'll look at why it is relevant to analog research.
Digital XOR
Logically, exclusive-or is true if and only if one of its operands is true. Digitally, XOR is used to compare two bits. Using standard definitions of true = 1 and false = 0, the truth table for XOR is:
| 0 | 1 | |
|---|---|---|
| 0 | 0 | 1 |
| 1 | 1 | 0 |
For numbers not of the set {0,1}, the bitwise-XOR of their base-2 representations is computed.
For example, 314 xor 271 = 53. This may be verified by converting each number to base-2 and performing the resultant bitwise comparisons:
314 = 100111010
271 = 100001111
---------
XOR = 000110101, or 53
This means that, while it is possible to compute the exclusive-or of arbitrary numbers, we are only ever computing the bitwise-XOR of their binary representations. With fast processors, these operations begin to look like one continuous operation, but this is not the case. Digital computers are, by their nature, limited to sequential operations. Thus, no matter how fast the digital architecture (parallelism notwithstanding), XOR will always be a bitwise comparison of two discrete values.
Analog XOR
By contrast, analog is continuous, operating always at the speed of physics.
Yet while in this case analog is ultimately "faster" than its digital counterpart, speed is not relevant to the discussion. The key is precision. Digital computers' operations are defined on the domain {0,1}, the domain of traditional logic. Analog operates across a continuous spectrum, its precision limited only by the physical properties of the materials used to construct the EAC.
It is at this point that analog-XOR and digital-XOR begin to diverge.
What's left
- Analog: Waveform, digital: notch
- XOR: 0/1 vs. intermediate
- XOR: Notch
- Analog: LLAs
- Analog: Configuration
- Analog: HIGH/LOW
- ...
Why XOR?
Linearly separable, etc.