There are several ways to configure the matrix besides manually editing
truth tables or toggling C and D inputs by hand. The Sample Configurations section of the simulator lists four pre-loaded configurations you can load by simply clicking the corresponding button.
The Simple Wire configures a set of cells such that each cell routes one of its inputs to one of its outputs, with its corresponding neighbor reading that input and passing it on to another cell, and so on. The effect is to propagate a single from one cell to a non-adjacent cell. If you load the simple wire configuration, and then click on the D input to cell [2,0] (third row, first column), you will see your input propagated to the output of cell [3,5]. The Feedback Inverter builds a closed loop of wire, with an inverted included in the loop. An initial signal propagates throughout the loop, but is inverted by the cell at [1,1], which causes the complementary value to propagate around the loop. This continues indefinitely, until you change the configuration. Note that while this configuration's state is unstable, it is not any sort of malfunction or erroneous state. Note, however, that in the simulator, the system clock will not advance if there is an instability within the matrix. This is merely a convenience factor. On a hardware cell matrix, the system clock runs at a fixed rate, independent of what is happening throughout the matrix. The Simple Config example involves two cells. The cell at [2,2] switches cell [2,3] to C-mode, and load 1s into its truth table. Initially, the cell at [2,3] changes color to indicate it is in C-mode, and you can see the C and D inputs have been brightened, indicating a 1 is being passed through them. However, no truth table changes occur until the system clock is advanced. You may use either the Step button or the Run button to advance the clock. It may be helpful to select cell [2,3]'s truth table for display before starting the clock. After 128 clock cycles, cell [2,3]'s truth table is filled with all 1s. However, since that cell is still in C-mode, the truth table is effectively ignored. If you were to edit cell [2,2]'s truth table and remove the CE=1 entries, then cell [2,3] will return to D-mode, and immediately interpret its truth table. All of its outputs then go to 1. The Config Two example is a more complicated example involving C-mode. It contains a pulse generator, a two bit counter, a four-cell library, and a cell programmer which configures cell [5,0] (lower left corner of the matrix) with one of four truth tables, selected from [4,2]-[4,5]. It continually reprograms cell [5,0] with these four truth tables, one after the other. By clicking on various cells while this is running, you can study the effect of C-mode operation on a cell's truth table. The Randomise button randomly toggles bits within each cell's truth table. The probability of a bit being toggled is 0.01, or 1%. The Clear button simple loads each cell's truth table with all 0s. |
cells . truth tables . system clock . overview . simulator |