Products > Embedded Computing

STM32F7 + hardware neural network

(1/2) > >>

ElektroSamo:
Hi guys,
I was wondering if there are people interested in artificial inteligence computed on embedded devices? Recently i have found a smart chip for accelerating neural networks produced by a Korean company called NM500 http://general-vision.com/documentation/TM_NM500_Hardware_Manual.pdf and i am trying to play with it. I have found that the NM500 uses 16bit parallel bus and the manufacturer is using fpga as a interface to this bus. I find this quite limiting, because there is no easy way how to implement this chip without their fpga to my PCB designs.

Thats why i have decided to programm a small C library form STM32 which uses DMA and standard GPIO to communicate with NM500 at full speed. Now i am creating a small developement kit (arduino footprint compatiblie), with STM32F7, three NM500, SD card, 128mb ram and camera interface

I was wondering, since i havent found any posts about this chip in the forums if there are others interested in it? I am thinking of maybe going public with my kit and c library. And maybe try to sell it for reasonable price, but i dont know if there are others who will find a use for it.

andersm:
Are you sure you can't use the MCU's external bus interface instead? The NM500 chip is clearly designed to work as a memory-mapped peripheral.

SiliconWizard:
That's interesting. I wonder what you can do with just 576 neurons though. I'd be curious to see applications and how fast this chip is.

Haven't looked at the DS thoroughly, but you can probably do as andersm suggested and use it as MM with the appropriate interface on the MCU instead of more or less bit-banging (even with DMA), unless this is actually what you meant. You can use DMA as well anyway for a memory-mapped peripheral.

ElektroMichal:
Hi guys,

The board contains 3x NM500 = 1 728 nurons.
Could you please be more specific with memory-mapped peripheral?
NM-bus looks like kind of modification of axi-bus, but even the manufacturer always uses FPGA  and doesn't connect NM500 directly to MCU.
I am using DMA and its working on a maximum allowed frequency 18 Mhz for multi-chips


We are working on demo example MNIST Classifier. We also did some progress in face recognition



imo:
STM32 uses FSMC hw interface - 8/16bit wide data + addresses + control signals.
You may connect a standard memory to it easily.
STM32 maps the external memory into its internal address range, in total max 4x 256MB.

PS: while looking at NM500 DS you may wire the chips via the FSMC.
Look at various FSMC modi, especially for read/write signals.
All NM500 registers could be memory mapped and directly accessed from C code.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version