Harden trainable_nn
16 files changed
tree: e7660e818dbd7a0373586053d2f4ef6ca9b4c1f7
  1. .github/
  2. def/
  3. docs/
  4. gds/
  5. lef/
  6. lib/
  7. mag/
  8. maglef/
  9. openlane/
  10. sdc/
  11. sdf/
  12. signoff/
  13. spef/
  14. spi/
  15. verilog/
  16. .gitignore
  17. LICENSE
  18. Makefile
  19. README.md
README.md

Trainable Neural Network

Overview diagram

Implements a simple neural network that supports on-chip training in addition to inference. The two hidden layers use leaky ReLU as their activation function while the output layer uses a rough approximation of softmax.

Unlike usual neural network implementations we use fixed-point saturation arithmetic and each neuron and synapse is represented as an individual instance. Inputs, outputs and weights, as well as forward and backward propagation can be managed through the wishbone bus.