-->

What FPGAs (Field-Programmable Gate Arrays) can on

2020-05-13 20:35发布

问题:

What is an FPGA, and where can I buy one? How much do they cost?

What sort of system do you need to experiment with them? How to program them?

Can you "load" if that's the right term an FPGA using an ordinary Mac?

Are they extremely expensive or can I buy one today?

I have become interested in FPGAs after reading this question.

回答1:

Although it is far from the cheapest, buying a Xilinx XUPv5 is a good idea if you want to learn a lot - not only is the 110T chip large enough to build very ambitious projects (a fully functional Nintendo console replica, for example), but it is also the board many top-tier universities use in their digital design class. Berkeley, for example, publishes their full notes, labs, etc for use with the XUPv5 board. I taught the class for a number of years, and would like to believe that it is an excellent, high-quality resource.

Hope this helps,



回答2:

If you want to get started with an FPGA and experiment with an inexpensive board, you can try any of these for about USD 50.00:

  • Lattice XP2 Brevia
  • Xilinx Spartan3A

I began my career with Xilinx products and can vouch for their tools. I own the Lattice board above and it is a great board for experimenting with. Lattice is Windows only, however.

With these boards you can learn the basics of FPGAs: HDL design, I/O techniques, design architecture, etc. You could also implement image processing algorithms, but you would be limited by I/O throughput and the DSP slices in these low-end devices. When you're comfortable with designing in HDL and you have a better grasp of the tools, then you might consider having your employer/educational institution purchase you a more advanced kit. Some of the kits with high-end equipment and I/O can cost thousands of dollars, depending on your application.

While there are some open source and free tools for working with FPGAs, most of the tools you'll need to learn to use are Windows and Linux only. Often the free versions from the FPGA vendors are Windows only (EDIT: Looks like Linux is started to be supported as well). You could try using Verilog HDL with Icarus and GNUWave, but when it comes time to programming the design to a device, you'll need the vendor specific tools.

If you just need to learn HDL then downloading ModelSim will be enough. I suspect though that you will learn much more with a simple kit. Not only will you learn the HDL design, you'll also learn practical aspects such as programming, optimization for your device, debugging designs on hardware and so on.



回答3:

As to your question about what an FPGA is, I think the best way to think of it if you are already familiar with microcontrollers (and their normal programming scheme with sequential ordering of processing) is to think of a microcontroller as being told what to "do" and FPGAs as being told what to "be." I think this is the simplest way to view it :P FPGAs are programmed differently. You need to have a full knowledge of the circuit which you want to design, the inputs, outputs, and you will need to spend a lot of time considering the clocking, as clock skew and other issues can easily arise when dealing with more complex circuits in FPGAs! I learned about FPGAs first using a Spartan3E. Have fun! :)



回答4:

Open-source alternatives:
Papilio
Mojo v3
they're cheap too :)



回答5:

I have little experience with other brands, but I am very happy with the Altera DE2 "*D*evelopment and *E*ducation Board". It is an ideal starting point if you have not played around with FPGAs before.

It includes half a dozen different types of memories (SDRAM, SRAM, Flash, SD cards), 7-segment displays, lots of buttons and switches and more I/O than you can shake a stick at. Want to play with IR? Ethernet? VGA? USB? Audio? All these are the sorts of things that students and novices like. :-)

The same applies to the DE2-70 and other big-brother cards to this one.



回答6:

This board has several interesting example firmwares to choose from. (The AGA Amiga platform is not in that list, but an Amiga compatible firmware is also available for it.)



回答7:

The people already mentioned Altera and Xilinx. That are the two big players in FPGA market. But depending on what you want to do I could also recommend, that you look at Actel (esp. their Igloo). They have the advantage that they do NOT need an additional extra rom/flash/whatever holding the bitstream, in case you want to make an application that should be later as small as possible (also their power saving mode is very good). So it maybe better for some hobbyist (or very low-power) application (also they have an ARM softcore licences included - the others have also softcores, but maybe you alredy used to ARM coding).

Btw. coding hardware in a HDL (VHDL or Verilog HDL) is very different from normal programming. So maybe its for the beginning enough for you to just check out the HDL compilers and simulators (usually you always simulate your code before you bring it onto hardware, so its not different from the real hardware developing process).



回答8:

This depends on the kind of experiments you want to run. I recommend the Virtex 2 boards if you're doing small logic. If you're doing something complex target for Virtex 5, especially if you need an on-ship processor for serial calculations. I think it comes with PowerPC. If you can provide more detail for your experiment I can help you chose a better FPGA.

An ALU is Arithmetic Logic Unit were you do all the "math" stuff: addition, shifts, multiplication, etc.

You program them using HDL software, either VHDL or Verilog. The latter is more C-like. I prefer the first. I have worked with it a long time. You can download Modelsim student edition and experiment with it.

Its not easy learning FPGA so take some time to learn how to program HDL first.



回答9:

I find this an interresting question and it continues to be. The FPGA's world is also on the constant move and due to this new boards keep arising. If it is still an open question, I would suggest ZYBO from Digilent or DE1-SOC from Terrasic. Which to chose is highly dependant on ones take on Xilinx vs. Altera (a completely different discussion). The good about the two is that they have both FPGA and ARM processor for learning both FPGA design, and embedded OS development.



回答10:

An interesting open-source piece of hardware is Armadeus.

It combines a Xilinx FPGA (Spartan 6A) with with an ARM SoC (Freescale i.MX51), and that thing can run Linux with custom peripherals implemented on the Spartan!

(BTW, the iMX51 SoC has an FPU as well an is clocked at 800 MHz.)