Auto updated submodule references
1 file changed
tree: 41fba5f94f5953a288018c8ea5cb694efc6f435f
  1. .github/
  2. def/
  3. docs/
  4. gds/
  5. lef/
  6. mag/
  7. maglef/
  8. openlane/
  9. signoff/
  10. spi/
  11. verilog/
  12. .gitmodules
  13. info.yaml
  14. LICENSE
  15. Makefile
  16. README.md
README.md

Chaos Automaton (Caravel User Project)

License UPRJ_CI Caravel Build

:exclamation: Important Note

Please fill in your project documentation in this README.md file

Refer to README for this sample project documentation.

The Chaos automaton

Digital design for Caravel (user_project_wrapper)

This chip is a pure asynchronous cellular automaton. Each cell has four inputs from N, S, E, W and generates four outputs to N, S, E, W. Each cell can be configured for any boolean function of the four inputs.

Outputs on the periphery (or some selection thereof) are passed to the chip GPIO. Inputs may also come from the chip periphery; choice of input or output is programmable like the cell boolean function.

All inputs and outputs may be channeled through the logic analyzer to set or grab the entire state of the system.

The logic analyzer may also be used to program the cell functions.

This can be used in a loop with an evolutionary algorithm to tune the chip functions to achieve a specific behavior.

Most of the core circuitry is straightforward. The total number of cells is parameterized, so that the largest number of cells that will fit in the caravel user project space can be determined.