Hi there,
I thought I'd share this with the experts: I've designed a mini networking capable System on Chip on FPGA a while ago, mainly for UDP-video streaming. After having to somewhat follow the IoT hype, I've crammed it all into a Spartan6-LX9 for some test & measurement stuff that we usually run on small embedded Linux modules (which aren't obviously totally ready for safety/realtime). This time it's just a FPGA instead, speaking the same protocol (our in house 'network property protocol') as the 'smarter' Linux.
So now it's all baked into a board, called "netpp node", which is currently available for eval after approx. 5 months in the test loop.
The fun stuff about it, as a short outline:
- Super compact program code based on pipelined ZPU(next generation) architecture, means, GCC support
- Full program main loop can be put in simulation (verification way above MISRA checks, etc.)
- Speak to the thing using LabVIEW, DLL, Python, like querying an Analog value: val = node.ADC[0].Value.get()
- Lots of flexibility for other interfaces or specific hardware-DSP-Units
- Painless firmware upgrade over the network or on-board-USB-ICE
I use it for mostly networked controlling (sensor networks) and testing, one nerdy application was, to drive a few WS2812 LED strips in parallel with the precise timing they require - while the CPU is doing some color interpolation fun. I guess there's plenty more ideas to come up with. I'm not there yet making it a community thing like the Papilio, but am open to any input...
Fore more info:
http://section5.ch/netpp-node. Cheers!