Which FPGA board to get for Newbies?  - Page 1
Forum section: electronics / beginners

author: Dmeads
author_rank: Regular Contributor
timestamp: March 29, 2019, 03:07:24 am
content: Hello!I want to get into FPGAs, and I am looking at dev boards to purchase. I really like the ones from Digilent, because I have some other Digilent products and I like them a lot.I was looking at the CMOD, Arty, or Basys. It seems like these all work with the free edition of xilinx vivado.I watched a little of Dave's video on FPGAs, and he mentioned about them having no flash memory like an arduino does. I read that the FPGAs i listed above do have flash memory, so I was wondering if they will work the same way as arduino like when you turn it off it will still retain the programmed code.Also, one of the videos I watched mentioned using a J-tag cable to program the Basys 3, It doesn't seem like that comes with the board, so is that something I need to buy seperatley?Also it seems they can be powered by standard usb? but I thought FPGA's have 3 different supply voltages that total >5V needed so how does that work with just one one supply?I just really want to get into FPGA but dont know quite where to start as far as buying the stuff for it goes.My main goal is to use these in power electronic applications like making PWM signals for inverters or motor controllers, Switching DC converters, ect.any help would be appreciated!thanks!

author: ebclr
author_rank: Super Contributor
timestamp: March 29, 2019, 03:20:35 am
content: For newbies, basys3 is the way to go , ou perhaps Papilio as a second option

author: rstofer
author_rank: Super Contributor
timestamp: March 29, 2019, 04:07:46 am
content: Quote from: Dmeads on March 29, 2019, 03:07:24 amI want a lot of gadgets on my development boards. I want 7 segment displays, LEDs, buttons, switches and whatever else comes along. It is far easier to debug projects if you can see what is happening. PMOD connectors make a lousy interface to a logic analyzer. So I like headers with lots of pins although I haven't gotten anything like this since the Digilent Spartan 3 series boards.QuoteNo and yes... Typically, FPGAs don't store the bitstream permanently. There is an external device known as a Platform Flash that stores the program. The FPGA boots up by loading the image from the Platform Flash. All of Digilent's offerings will include Platform Flash of one kind or another.QuoteMost of Digilent's board use USB programming. Just read the description. You probably have to download and install their Adept software to use this style of programming.QuoteNo problem! Most FPGAs use 3.3V and below. Don't worry! Just plug the board into a USB cable and you're good to go! They also provide for a wall wart on most boards. This may become necessary if you carry a lot of power off the board to other devices.QuoteIt is very expensive but I like what is now called the Nexys A7. Remember when I said I wanted gadgets? This board is loaded. I also have a couple of the original Arty boards, it has nothing on board. Bummer... I also have the Basys 3 board and while it is limited in gadgets, it has some and it's a lot cheaper. Personally, I would stay away from CMOD because it has no gadgets at all. I would have to breadboard everything.

author: rstofer
author_rank: Super Contributor
timestamp: March 29, 2019, 04:18:09 am
content: Second item: I don't like powering my projects from the USB ports on my computers. I have powered hubs that handle providing power to the project.Something like this will work:https://www.amazon.com/gp/product/B00VDVCQ84/ref=oh_aui_search_asin_title?ie=UTF8&psc=1I can't say that I have used this with my FPGA boards but I have used it with Arduino projects and some STM32F projects. I'm pretty sure it will work fine.Anything that provides power from a separate wall wart...Or, power the board from an appropriate wall wart. All of my boards have a jumper to select between USB power and wall wart power. Digilent sells the wall warts. You would still use the USB port for programming.

author: james_s
author_rank: Super Contributor
timestamp: March 29, 2019, 05:08:38 am
content: Any dev board you get will have an onboard configuration flash. Generally you can program it two different ways. One loads directly into the FPGA via JTAG, it's very fast and good for development but when power is lost the code goes away. Then you can program the config flash, this is much slower, typically several tens of seconds but it is non-volatile and will load when power is applied.What sort of projects do you want to do? Personally I tend to like dev boards that don't have a lot of junk on them consuming IO pins, I like a simple board that has lots of IO that I can use to connect all the peripherals I want, although for some types of projects it can be handy to have a bunch of switches, buttons and LEDs. Several of my dev boards have piles and piles of peripherals that I have never, ever used, it's just a bunch of stuff I have to block out in the constraints file to keep those pins from getting assigned to things.Altera and Xilinx are the two big players in the hobby world, both offer parts with similar capabilities. In most ways I much prefer the Altera software although ISE does have a much better simulator IMO. The newest Xilinx parts use Vivado which I tried just enough to determine that I don't like it. I've heard it's faster for very large projects but for the stuff I use FPGAs for it's an absolute pig and takes much longer to build.

author: hamster_nz
author_rank: Super Contributor
timestamp: March 29, 2019, 06:03:41 am
content: Since you know what you want to do, most of it doesn't need a large FPGA (that CPU cores do), or a large number of high speed I/Os, or a large amount of off-chip RAM.An Digilent Arty sound like it fits the bill, or a CMOD-A7 and a breadboard.I recently got hold of one of these, and it is pretty good, but would be a "grow with you' sort of board.https://numato.com/product/mimas-a7-artix-7-fpga-development-board-with-ddr-sdram-and-gigabit-ethernetI've got it working, but I haven't got the programming/debug cores to work from the design tools (but haven't tried too hard yet).If you are budget-constrained, to the point you want to waste time due to missing documentation, a generic Intel Cyclone board from AliExpress will also do the trick:https://ru.aliexpress.com/item/USB-Blaster-altera-fpga-board-altera-board-fpga-development-board-EP4CE6E22C8N-board-cyclone-IV-kit/32813061054.html

author: 0culus
author_rank: Super Contributor
timestamp: March 29, 2019, 06:13:25 am
content: Disclaimer: I'm not exactly a newbie, and I was buying boards for a research project.I ended up getting the Digilent Arty-S7-50. It's not the fanciest board out there (no Ethernet PHYs for example; I have an Altera Max 10 dev board that has dual Ethernet PHYs), but it fit the budget nicely.As for software, when it comes to offerings for modern parts, Ipersonallyfind Vivado to be easier to use than Quartus. HOWEVER, something to consider here (especially for a beginner) is that Quartus allows you to build designs in their schematic-like BDF format. This may or may not be easier for you to use. With Vivado, you are pretty much roped into learning VHDL or Verilog right off the bat. As someone with a background in CS, this was a natural fit for me once I got over the oddities of hardware description languages vs the languages most people are used to using (you have to think concurrent!)Also, when I was designing my experiments, there was the matter of Vivado having all the basic features I needed in the free WebPACK edition, where Quartus was missing certain features I specifically needed that required a bump up to a *very* spendy license. This may be old news now, as I haven't been keeping up with Quartus.

author: james_s
author_rank: Super Contributor
timestamp: March 29, 2019, 06:20:19 pm
content: The schematic entry can be useful for an absolute beginner wanting to get their feet wet with something very simple like a CPLD but beyond that just forget it. It's a crutch that will very quickly hold you back far more than it helps. It results in projects that are a nightmare to maintain and debug, and can't reasonably be ported between platforms. I always recommend jumping right into HDL, once you get the hang of that it's much faster and more versatile.

author: rstofer
author_rank: Super Contributor
timestamp: March 29, 2019, 06:48:01 pm
content: Another reason I like switches, knobs and dials.Download a copy of "FreeRangeVHDL" and play along:http://freerangefactory.org/pdf/df344hdh4h8kjfh3500ft2/free_range_vhdl.pdfYou need to be able to create the basic entities like gates, flops, registers, multiplexors, decoder, etc. Then you will want to instantiate BlockRAM (you can also use arrays in most cases and let the tools deal with BlockRAM) and, finally, create a Finite State Machine.Once these items are understood, the rest is just details.

author: 0culus
author_rank: Super Contributor
timestamp: March 30, 2019, 12:26:26 am
content: Quote from: james_s on March 29, 2019, 06:20:19 pmI don't personally like using it. I used it a bit when I first started out (I took a class that used Altera boards, which got me started on FPGA), but quickly found that VHDL and Verilog are much more powerful.Quote from: rstofer on March 29, 2019, 06:48:01 pmWow, that is a nice resource. Saving!

author: Dmeads
author_rank: Regular Contributor
timestamp: April 01, 2019, 12:13:57 am
content: Thank you all very much!