3 ms·
I worked w/ FPGAs exclusively for 5 years and still don't have many ideas for using them. (In other words, small ARM computers running Linux are more exciting.
by swah 12y ago
I worked w/ FPGAs exclusively for 5 years and still don't have many ideas for using them. (In other words, small ARM computers running Linux are more exciting. And low-power boards like the JeeNode etc)
Actually an interesting arch for me would be small FPGAs together w/ an ARM system, where the FPGA would handle the fast interrupts, buffering things, and communicate w/ the processor when its ready.
- deutronium 12y agoTheres Zynq which combines an ARM core with an FPGA. The Parallella board contains one I believe (http://www.parallella.org/ http://www.parallella.org/)
- scott_wilson46 12y agoTheres also the SocKit from arrow: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=816 http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=E... Very similar to Zynq but from altera rather than xilinx
- mikepurvis 12y agoDepending what you're doing, you might still have a better time pairing a high level ARM processor running Linux to a low-level ARM MCU running bare metal or FreeRTOS. What kinds of things can you really do better/faster/cheaper on an FPGA vs, say, STM32 F4 series?
- VLM 12y ago"STM32 F4 series" You know how you start a microcontroller project with a "dream shopping list" of timers, I/O devices, memory, whatever features, then all the mfgrs have a giant table you scroll thru and then you trade off, "well, I need at least 3 SPI and 128K of ram, but they don't sell 128K ram with 3 SPI I need to buy a 192K to get my 3 hardware SPI, of course I could do two in hardware and bit-bang in software the 3rd...". Or even worse "I need at least three hardware PWM timers although they only need to be 24 bit, but the entire F4 series has exactly two 32 bit timers, oh knoes what am I going to do?" Even worse as the project changes over time. With a FPGA you skip all that garbage and just synthesize in what you need. Oh I need 3 PWM timers, well, include three of them, no big deal. Wanna HDMI, if you can wire it in, you're good. Ideally you'd put the "boring" parts of your software in the FPGA I/O device. If you're building a thermostat, why write the state machine in assembly or C, just use some mag comps and timers. Put the UI in the softcore processor. If you're doin' it right, your UI soft processor need run no faster than a human, say 100 KHz clock speed. How fast can a human being hit a hardware debounced up arrow and read the LCD? If you're doing it wrong, you've got a softcore processor running multiply-add in software at 80 MHz and wishing for higher CPU performance. There was an era of a couple decades which ends with FPGAs where its cheaper to throw in software than hardware, even throw in multiple microcontrollers. Why put in hardware schmidt trigger gates and resistors/caps to hardware debounce a switch if you can write 10 lines of code to do it in software? The hardware of the future will be a FPGA with exactly what you need and a very smart/advanced peripheral library. Why write 10 lines of buggy code to soft debounce a switch when you can just include some FPGA library code to get a perfect debounce with no race conditions or interrupt collision problems in the software, its just perfect.
- deleted 12y ago[deleted]