What are some practical applications of an FPGA?

前端 未结 7 1990
无人共我
无人共我 2021-02-01 19:58

I\'m super excited about my program powering a little seven-segment display, but when I show it off to people not in the field, they always say \"well what can you do with it?\"

相关标签:
7条回答
  • 2021-02-01 20:38

    There are limitations to software. On software, you're running at the CPU's clock rate, enabling you to only execute one instruction per clock cycle. On software, everything is high level, you do not control details that happen in the low level. You'll always be limited by the operating system or development board you are programming. This is true for popular development boards out there such as Arduinos and Raspberry Pi.

    In FPGA hardware, you can precisely program and control what happens between each clock cycle, providing your computations the speed at the electron level (note: speed of electrons determines speed of electric signal transfers between hardware)

    Now, we know FPGA implies Hardware, Speed of Electrons, which is much better than CPU that implies Software, 1 instruction per clock cycle.

    So why use FPGA when we can design our own boards using Printed Circuit Board, transistor level?

    This is because FPGA's are programmable hardware! It is built such that you can program the connections of a board instead of wiring it up for a specific application. This explains why FPGA's are expensive! It is sort of a 'general hardware' or Programmable Hardware.

    To argue why you should pick FPGA's despite their cost, the programmable hardware component allows:

    1. Longer product cycle (you can update the programmable hardware on the customer's products which contains your FPGA by simply allowing them to programmed your updated HDL code into their FPGA)

    2. Recovery for hardware bug. You simply allow them to download the corrected program onto their FPGA. (note: you cannot do this with specific hardware designs as you will have to spend millions to gather back your products, create new ones, and ship them back to customers)

    For examples on the cool things FPGA can do, refer to Stanford's infamous ECE5760 course.

    http://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/

    Hope this helps! Soon Chee Loong, University of Toronto

    0 讨论(0)
提交回复
热议问题