The UART transmitter is just a shift register with hardcoded initial values. The output of the shift register is fed back into itself in an infinite loop. The “RNN” is a few flip-flops feeding into each other to use up die space. :)
Testing UART is simple:
The RNN module is trained on random Wokwi wiring, and might be smarter than a single human neuron. It probably detects something we mortals cannot comprehend, and is tied to inputs 0-3 and outputs 0-3. It may be fun to drive these with a very fast clock.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | RNN input 0 | RNN output 0 | none |
1 | RNN input 1 | RNN output 1 | none |
2 | RNN input 2 | RNN output 2 | none |
3 | RNN input 3 | RNN output 3 | none |
4 | none | none | none |
5 | none | none | none |
6 | Shift register load (low) / enable (high) | UART output enabled | none |
7 | UART output enable | UART output | none |