2 ms·
As their name implies, FPGAs are field programmable[a] gate arrays[b]. [a]: They can be reconfigured (like flash program code in your PIC) instead of being wri
by colejohnson66 6y ago
As their name implies, FPGAs are field programmable[a] gate arrays[b].
[a]: They can be reconfigured (like flash program code in your PIC) instead of being write-once (like ye old PALs and GALs)
[b]: Essentially a configurable array of transistors (technically the transistor interconnects)
On a big scale, an STM (or whatever SoC you choose) is designed for running code. You tell it what to do. FPGAs, OTOH, are for when you want to tell the individual transistors how to connect to each other. When you just need to make an IOT widget, use a SoC. If you need to prototype an ASIC, use an FPGA. FPGAs allow more real time parallel applications by their nature of not being processors.
Then there’s the whole issue of FPGA vendors being terrible about interoperability. Want to use a Lattice part? You need Lattice’s toolchain. Want to use a Cyclone part? You need Intel’s “Quartus” toolchain. And those toolchains are multi-gigabyte monsters. Contrast that with a PIC where you can use pretty much any retargetable compiler and any USB-COM tool.