VHDL and FPGA's

倾然丶 夕夏残阳落幕 提交于 2019-12-06 04:19:40

Hmm...I was able to find three evaluation boards under $100 pretty quickly:

$79: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=593

$79: http://www.arrownac.com/solutions/bemicro-sdk/

$89: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm

As to what to look for in an evaluation board, that depends entirely on what you want to do. If you have a specific design task to accomplish, you want a board that supports as many of the same functions and I/O as your final circuit. You can get boards with various memory options (SRAM, DDR2, DDR3, Flash, etc), Ethernet, PCI/PCIe bus, high-speed optical transceivers, and more. If you just want to get started, just about any board will work for you. Virtually anything sold today should have enough space for even non-trivial example designs (ie: build your own microcontroller with a soft-core CPU and design/select-your-own peripheral mix).

Even if your board only has a few switches and LEDs you can get started designing a hardware "Hello World" (a.k.a. the blinking LED :), simple state machines, and many other applications. Where you start and what you try to do should depend on your overall goals. If you're just looking to gain general experience with FPGAs, I suggest:

  • Start with any of low-cost evaluation boards
  • Run through their demo application (typically already programmed into the HW) to get familiar with what it does
  • Build the demo program from source and verify it works to get familiar with the FPGA tool chain
  • Modify the demo application in some way to get familiar with designing hardware for FPGAs
  • Use your new-found experience to determine what to try next

As for the market continuing to use FPGAs, they are definitely here to stay, but that does not mean they are suitable for every application. An MCU by itself is fine for many applications, but cannot handle everything. For example, you can easily "bit-bang" an I2C or even serial UART with most micro-controllers, but you would be hard pressed to talk to an Ethernet port, a VGA display, or a PCI/PCIe bus without some custom hardware. It's up to you to decide how to mix the available technology (MCUs, FPGAs, custom logic designed in-house, licensed IP cores, off-the-shelf standard hardware chips, etc) to create a functional product or device, and there typically isn't any single 'right' answer.

FPGAs win over microcontrollers if you need some or all of:

  • Huge amounts of maths to be done (even more than a DSP makes sense for)
  • Huge amounts of memory bandwidth (often goes hand in hand with the previous point - not much point having lots of maths to do if you have no data to do it on!)
  • Extremely predictable hard real-time performance - the timing analyser will tell you how fast you can clock you device given the logic you've designed. You can (with a certain - high - statistical likelihood) "guarantee" to operate at that speed. And therefore you can design logic which you know will always meet certain real-time response times, even if those deadlines are in the nano-second realm.

If not, then you are likely better off with a micro or DSP.

The OpenCores web site is an excellent resource, especially the Programming Tools section. The articles link on the site is a good place to start to survey FPGA boards.

The biggest advantage of an FPGA over a microprocessor is architecture. The microprocessor has a fixed set of functional units that solve most problems reasonably well. I've seen computational efficiency figures for microprocessors form 6% to 15%. In an FPGA you are creating functional units specifically for your problem and nothing else, so you can reach 90-100% computational efficiency.

As for the difference in cost, think of volume sales. High volume of microprocessor sales vs. relatively lower FPGA sales.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!