Can tensorflow lite model be ported on a fpga-based microcontroller?

Hi friends,

Could you let me know if the following things can be done?

1, Develop a microcontroller on a fpga board.

2, Port a Tensorflow Lite model on the fpga-based microcontroller. I have succeeded in porting a Google demo model (“speech recognition”) on SparkFun Edge Development board.

3, If you think the 2 ideas above as OK, could you recommend a fpga development board? I saw there are 3 such boards: Alchitry Au FPGA Development Board (Xilinx Artix 7), Alchitry Cu FPGA Development Board (Lattice iCE40 HX) and TinyFPGA BX Board :slight_smile:

Thanks in advance!

It depends!!! According to my knowledge:

  1. Sparkfun Edge board uses a hard processor with 1 MB flash, your alchitry board cannot hold the entire code in block SRAM (for Alchitry Cu), so that is out of question. Alchitry Au has a SRAM which will easily be able to hold your code but:

a. You need a special verilog flasher module which may or may not be available with Alchitry.

b. The code will be lost on power reset. Am not aware of flash size in Au but I guarantee your tensorflow code will be way too long.

  1. There is a possibility of using the external headers to connect an external flash module through Alchitry Br. But you will run into speed issues and you will need a custom PCB.

  2. Assuming that you get the above, finally you will need a processor design with a dedicated C compiler for your processor architecture. You can use ARM core from design central but you need to work it out completely and there is no support.

So it really depends…