Earlier quoted context omitted.
Throughput and latency are opposite ends of the same tradeoff. FPGAs enable cycle perfect timing control, while for bare-metal CPU programming.. even if you just have an infinite loop running bare-metal on one CPU, looking at the assembly can't tell you anything about the timing. Modern CPUs have multiple layers of caches with penalties for a miss coming in at hundreds or thousands of cycles. They do parallel and spe…
I feel like people are taking the hybrid approach of having a dedicated microcontroller on the same die as their CPU, like the PRU on TI's ARM chips: http://processors.wiki.ti.com/index.php/PRU-ICSS This by no means replaces an FPGA, but if you just want your pins to flip and code to run at a predictable interval, this gets you that. (As for reading pins, they have another peripheral on the die that will just timesta…
Why Use an FPGA Instead of a CPU or GPU?
101–110 of 130 posts
Re: Why Use an FPGA Instead of a CPU or GPU?
#102Aren't FPGA's used mostly to test/design a circuit that you would then go on to actually fabricate/build? I could be wrong but I thought FPGA's were stateless (meaning if they powered off/reboot you loose everything and have to set it up from scratch again).
That is incorrect, or at least inaccurate, on both counts. FPGAs are often used to test/design not a "circuit" but an ASIC (application-specific-integrated-circuit) that you will then go on to actually build. Or, if your application doesn't have volume to suppprt the ASIC engineering costs but can support the FPGA unit cost, you just leave it as an FPGA. There are millions of devices (industrial machines, research, t…
To be pedantic, an ASIC (and any IC really) is a circuit, as denoted by the "C" standing for "circuit".
Re: Why Use an FPGA Instead of a CPU or GPU?
#103Aren't FPGA's used mostly to test/design a circuit that you would then go on to actually fabricate/build? I could be wrong but I thought FPGA's were stateless (meaning if they powered off/reboot you loose everything and have to set it up from scratch again).
Re: Why Use an FPGA Instead of a CPU or GPU?
#104Re: Why Use an FPGA Instead of a CPU or GPU?
#105Aren't FPGA's used mostly to test/design a circuit that you would then go on to actually fabricate/build? I could be wrong but I thought FPGA's were stateless (meaning if they powered off/reboot you loose everything and have to set it up from scratch again).
I personally know of many embedded systems using FPGAs (spacecraft and medical applications), signal processing such as radar, many PCIe cards, etc.
Re: Why Use an FPGA Instead of a CPU or GPU?
#106One interesting use case for FPGAs is where hardware qualification is very expensive, for instance for use in space. If a given FPGA is already space qualified, you just need to load new code onto it and you can skip the expensive qualification step for your new application. You can also consolidate functionality of multiple chips into that one qualified FPGA.
Re: Why Use an FPGA Instead of a CPU or GPU?
#107Is there high performance FPGA that does not depend on proprietary bloated windows-only toolchain?
Re: Why Use an FPGA Instead of a CPU or GPU?
#108Is there high performance FPGA that does not depend on proprietary bloated windows-only toolchain?
Re: Why Use an FPGA Instead of a CPU or GPU?
#109"Intel does offer an emulator, so testing for correctness does not require this long step, but determining and optimizing performance does require these overnight compile phases." After some experience with FPGAs, the emulation step is not enough to test for correctness. Most of the problems happen while synchronizing signals with inputs/outputs and with other weird timing problems, glitches and unintuitive behavior…
Funny how some people believe that brain simulations are relatively nearby, but we can't even simulate an FPGa well enough to trust the model.
Re: Why Use an FPGA Instead of a CPU or GPU?
#110I would love to see projects like MAME and MESS targeting FPGA hardware for near-perfect hardware emulation of classic hardware.