
The neurons are imagined to be arranged in a 4 × 4 grid, with each neuron connected to its four neighboring neurons.
In reality, neurons [0, 0] and [3, 0] cannot be physically connected, but here it is assumed that they are connected.
At each time step, the state of each neuron is updated based on the input value and the states of its neighbors.
The network structure described above is shown in the figure below.

Here, the yellow neurons represent odd neurons, and the blue neurons represent even neurons, as mentioned in the pin explanation.
Odd and even neurons are updated alternately, following a checkerboard pattern.
The inputs, states, and weights are all 8-bit, which might reduce accuracy.
Moreover, the absence of a nonlinear transformation (e.g., tanh) might further degrade performance, making it different from the original reservoir computing.
Simulation was originally conducted using Julia.
The given inputs and the corresponding ideal outputs are provided as text files.
The test bench checks whether the circuit reproduces these results.
A PCB board is sufficient.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | Input to reservoir [0] | Output from odd neuron [0] | Output from even neuron [0] |
| 1 | Input to reservoir [1] | Output from odd neuron [1] | Output from even neuron [1] |
| 2 | Input to reservoir [2] | Output from odd neuron [2] | Output from even neuron [2] |
| 3 | Input to reservoir [3] | Output from odd neuron [3] | Output from even neuron [3] |
| 4 | Input to reservoir [4] | Output from odd neuron [4] | Output from even neuron [4] |
| 5 | Input to reservoir [5] | Output from odd neuron [5] | Output from even neuron [5] |
| 6 | Input to reservoir [6] | Output from odd neuron [6] | Output from even neuron [6] |
| 7 | Input to reservoir [7] | Output from odd neuron [7] | Output from even neuron [7] |