Author Topic: Which FPGA board to get for Newbies?  (Read 2348 times)

0 Members and 1 Guest are viewing this topic.

Offline DmeadsTopic starter

  • Regular Contributor
  • *
  • Posts: 171
  • Country: us
  • who needs deep learning when you have 555 timers
Which FPGA board to get for Newbies?
« on: March 29, 2019, 03:07:24 am »
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!
« Last Edit: March 29, 2019, 03:10:25 am by Dmeads »
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2331
  • Country: 00
Re: Which FPGA board to get for Newbies?
« Reply #1 on: March 29, 2019, 03:20:35 am »
For newbies, basys3 is the way to go ,  ou perhaps Papilio as a second option
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9963
  • Country: us
Re: Which FPGA board to get for Newbies?
« Reply #2 on: March 29, 2019, 04:07:46 am »
I was looking at the CMOD, Arty, or Basys. It seems like these all work with the free edition of xilinx vivado.
I 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.
Quote
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.
No 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.
Quote
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?
Most 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.
Quote
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?
No 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.
Quote
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!
It 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.
« Last Edit: March 29, 2019, 04:13:19 am by rstofer »
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9963
  • Country: us
Re: Which FPGA board to get for Newbies?
« Reply #3 on: March 29, 2019, 04:18:09 am »
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=1

I 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.

 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Which FPGA board to get for Newbies?
« Reply #4 on: March 29, 2019, 05:08:38 am »
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.
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: Which FPGA board to get for Newbies?
« Reply #5 on: March 29, 2019, 06:03:41 am »
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-ethernet

I'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
« Last Edit: March 29, 2019, 06:08:48 am by hamster_nz »
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline 0culus

  • Super Contributor
  • ***
  • Posts: 3032
  • Country: us
  • Electronics, RF, and TEA Hobbyist
Re: Which FPGA board to get for Newbies?
« Reply #6 on: March 29, 2019, 06:13:25 am »
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, I personally find 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.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Which FPGA board to get for Newbies?
« Reply #7 on: March 29, 2019, 06:20:19 pm »
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.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9963
  • Country: us
Re: Which FPGA board to get for Newbies?
« Reply #8 on: March 29, 2019, 06:48:01 pm »
Another reason I like switches, knobs and dials.

Download a copy of "FreeRangeVHDL" and play along:
http://freerangefactory.org/pdf/df344hdh4h8kjfh3500ft2/free_range_vhdl.pdf

You 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.
 
The following users thanked this post: 0culus

Offline 0culus

  • Super Contributor
  • ***
  • Posts: 3032
  • Country: us
  • Electronics, RF, and TEA Hobbyist
Re: Which FPGA board to get for Newbies?
« Reply #9 on: March 30, 2019, 12:26:26 am »
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.

I 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.

Another reason I like switches, knobs and dials.

Download a copy of "FreeRangeVHDL" and play along:
http://freerangefactory.org/pdf/df344hdh4h8kjfh3500ft2/free_range_vhdl.pdf

You 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.


Wow, that is a nice resource. Saving!  :-+
 

Offline DmeadsTopic starter

  • Regular Contributor
  • *
  • Posts: 171
  • Country: us
  • who needs deep learning when you have 555 timers
Re: Which FPGA board to get for Newbies?
« Reply #10 on: April 01, 2019, 12:13:57 am »
Thank you all very much!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf