
TTNN (Tiny Tapeout Neural Network) is a pre-trained Binary Neural Network (BNN) hardened in silicon. Network was trained on sklearn digit data set (8x8 BW with threshold > 4 for BW separation). Python model holds a test data accuracy of 70% (low due to size constraints of 1x2 tile area).
Network ingests a 64 bit image (8x8) and produces a 4-bit prediction (0 to 9 valid values). It consists of 18 neurons (L0 -> 8 neurons, L1 -> 10 neurons).
Use in_en and in_data to serially load in image data in row major order. When in_en is disabled, out_ready goes high and out_prediction will output the network's prediction for the latched image (network is combinational for minimal area). Reset (rst_n) is synchronous and active low.
No external hardware necessary!
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | in_en | out_prediction[0] | UNUSED |
| 1 | in_data | out_prediction[1] | UNUSED |
| 2 | UNUSED | out_prediction[2] | UNUSED |
| 3 | UNUSED | out_prediction[3] | UNUSED |
| 4 | UNUSED | out_ready | UNUSED |
| 5 | UNUSED | UNUSED | UNUSED |
| 6 | UNUSED | UNUSED | UNUSED |
| 7 | UNUSED | UNUSED | UNUSED |