人们可以购买哪些FPGA(现场可编程门阵列)来在家里做实验?[英] What FPGAs (Field-Programmable Gate Arrays) can one buy to experiment with at home?









尽管它远非最便宜,但购买 xilinx xupv5 如果您想学习很多东西,这是一个好主意 - 例如,110T的芯片足够大,可以构建非常雄心勃勃的项目(例如,一个功能齐全的Nintendo Console Replica),而且它也是许多顶级大学使用的董事会在他们的数字设计课中.伯克利,例如,出版他们的完整笔记,实验室等,供xupv5使用木板.我教了多年的课程,并想相信这是一种出色的高质量资源.





使用这些董事会,您可以学习FPGA的基础知识:HDL设计,I/O技术,设计体系结构等.您还可以实现图像处理算法,但是您将受到I/O吞吐量和DSP SLICE的限制.这些低端设备.当您对HDL设计舒适并更好地掌握工具时,您可能会考虑让您的雇主/教育机构购买更高级的套件.一些带有高端设备的套件,I/O可能会花费数千美元,具体取决于您的申请.

虽然有一些开源和免费工具用于使用FPGA,但您需要学习的大多数工具仅是Windows和Linux.通常,FPGA供应商的免费版本仅是Windows(编辑:看起来Linux也开始受到支持).您可以尝试将Verilog HDL与icarus和gnuwave一起使用,但是当需要将设计编程为设备时,您需要特定于供应商的工具.



关于您关于FPGA是什么问题的问题,我认为如果您已经熟悉微控制器(及其正常的编程方案,则使用顺序处理处理的正常编程方案)是考虑一个微控制器被告知要"做"什么和fpgas被告知要做什么. 我认为这是查看它的最简单方法:P FPGA的编程方式不同.您需要了解要设计的电路,输入,输出,并且需要花费大量时间来考虑时钟,因为时钟偏斜和其他问题在处理更复杂的电路时很容易出现在fpgas! 我首先使用spartan3e了解了FPGA.玩得开心! :)



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.


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,


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:

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.


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! :)