3 ms·
If you're designing for FPGAs, you're not a software developer. I can think of a few uses for FPGA: * Pedagogical. When I was an undergrad, I took a computer
by cottonseed 12y ago
If you're designing for FPGAs, you're not a software developer.
I can think of a few uses for FPGA:
* Pedagogical. When I was an undergrad, I took a computer architecture course. We wired up a simple computer with breadboards and discrete logic. The computer was microcoded to execute a variant of a modern ISA. The computer was useless and slow, but you learned a lot about computer architecture. I think this exercises is properly done with FPGAs these days.
* High-speed VLSI design simulation. You can simulate large designs at partial speed in circuit with FPGAs before you fab. I have no personal experience with this, but I'm guessing big chip design companies like Intel buy a lot of FPGAs for this purpose.
* Interfacing to high-speed data interfaces. Say you're building a hardware board with SATA, HDMI, or a high-speed ADC, but the microprocessor on your board doesn't support that interface natively. You can use an FPGA to connect that interface to the rest of the system.
For example, bunnie's Novena laptop has an FPGA with a high-speed IO connector. He has connected this to a high-speed DAC to create a homemade oscilloscope.
* High-speed DSP. Modern FPGAs have distributed DSP blocks. For example, the Xilinx Artix-7 100T can do nearly 1TMAC/s. So if you want to do video or audio processing, an FPGA might be a good solution.
I briefly looked into building a board to combine two video streams into one with barrel distortion for the Oculus Rift. An FPGA is perfect for an application like this.