How to choose an FPGA dev board. A guide for 2020 - Hacker News

Author: Polly

Aug. 04, 2025

How to choose an FPGA dev board. A guide for - Hacker News

My hope is we see io put to better use. Frankly DisplayPort is one of the best, most useful, easiest to use, highest bandwidth connections you can get, with a streams based architecture that supports many manners of interesting use. It seems OT to my following comments, is indeed pretty apes to oranges, but still one of my weirder but better hopes for ways we get fpga & other systems talking interestingly cheaply atop existing everyday consumer tech, which seems to be required for costs to be earthly & useful for integration. Go more open (no licensing fee & flexible) specs.

FMC tends to be big bulky & stupid expensive. PMOD is great for interfacing microcontroller shit, but this is FPGAs we are talking about. Throughput monsters with high speed serdes & rather fast regular io. These two longstanding options put you at a high very expensive end, or a pretty so so low density low data rate low cost end.

interwiser are exported all over the world and different industries with quality first. Our belief is to provide our customers with more and better high value-added products. Let's create a better future together.

Which is silly. Everyone & their uncle is trying to push better high density connectors. Almost none have a community around them.

Very small & not a big community, but one example of an active much denser & higher throughput, there is syzyg.

https://syzygyfpga.io/

Also just a about out to the incoming io specs. There's a very big win when we can get better at stitching together systems & cxl, ccix, opencapi, & gen-z are each massively compelling new io/coherency systems.

Funny that it doesn't mention the wide variety of very cheap prototyping kits from Crowd Supply -- including Fomu that fits entirely in your USB socket. FPGA kits on CS start at $15.

My disappointment with the FPGA world is how stuck it is in the "emulate an ASIC" rut. These things, physically, could change their whole logic and connectivity design on the fly according to instantaneous requirements, but everybody assumes you have to load them up once at reset and leave them that way. Each switch-point setting is just a flip-flop, no different from any of the ones in the LUTs.

Manufacturers enforce this treatment by providing only serial access to the switch-point settings in their tooling, but there is probably a lot of room for more flexibility, at least in some.

Well comparing the FPGA world to the programming world cannot get any meaningless. If you read up about the state of HLS tools as of today, you will find enough experts telling you that they're nowhere near finding actual use in the industry, most of them only end up taking away the control you have over the design and all of them use way more resources when implemented than HDLs.

On the other end you have beginners asking stupid questions like 'okay how do I print hello world using python on this FPGA?' instead of thinking about the digital logic design that goes into it. Which is why I discourage the beginners from using anything but HDLs.

If anything HLS can be a good tool for professionals who already know what they're doing and understand what they're giving up by using an inherently sequential (programming) language to model inherently parallel hardware. They are in a position to use it as a tool to rapidly prototype their design and make incremental improvements thereafter, not beginners.

> What's wrong with having "print('hello world')" run on a micropython running on a risc V core on an FPGA?

Because it betrays a misunderstanding of WHY you are using an FPGA in the first place.

If you want to program a microcontroller, go get a microcontroller.

You generally use an FPGA for a reason. And that reason almost always relates to speed (either latency or throughput). VERY occasionally it has to do with simply translating logic standards (changing from something like LVDS differential to standard CMOS, for example).

For more FPGA Boards manufacturerinformation, please contact us. We will provide professional answers.

If you don't need speed, you should go back to the microcontroller. And, even if you need speed, you should still go back to a microcontroller and see if you can bend it to your needs somehow.

Programming an FPGA isn't just "throw some HDL around". Why do you need a clock? What are synchronizers and why do you need them? Why does my FPGA suddenly not have enough resources when I design a numerical divider and ask it to be fast?

Digital design != programming. And vice versa.

Programmers complain all the time "Git is easy. You just have to learn its mental model." and bitch about people that won't. So, why do you believe that wouldn't also hold for digital design?

> And why is it not simple?

How would you answer to someone complaining that "Why isn't programming simple? Dogma? Industry standards? Drinking the IDE vendor kool-aid?"

As a reminder, remember, "Hello, world." is a very difficult hurdle for most non-programmers.

> What's wrong with having "print('hello world')" run on a micropython running on a risc V core on an FPGA?

RISC-V is slightly odd in that actual microcontroller hardware is a bit thin on the ground. However, wanting to play with RISC-V via an FPGA development board that isn't explicitly set up for that purpose is kind of like learning Rust by programming an STM32F7 development kit.

You can, but boy are you making your life miserable.

What's currently the best FPGA development board for a beginner?

0 Members and 1 Guest are viewing this topic.

If you are looking for more details, kindly visit Digital-Analog Hybrid Systems.

Porama

  • Regular Contributor
  • Posts: 70
  • Country:
What's currently the best FPGA development board for a beginner?
« on: March 08, , 05:05:33 am » What's currently the best FPGA development board for a beginner?
Preferably one that use manufacturer's programming method and is the closest to one that is use in real application.

I would love to learn stuff that can be use in the future
Thanks for you advice:) The following users thanked this post: electrolust

OwO

  • Super Contributor
  • Posts:
  • Country:
  • RF Engineer.
Re: What's currently the best FPGA development board for a beginner?
« Reply #1 on: March 08, , 08:05:36 am » I started with terasic boards but later on switched to xilinx when I needed to make my own boards. Xilinx parts are much easier to get and perform better (I can easily do DSP pipelines up to >300MHz on the slowest Artix-7 but it takes the fastest speed grade cyclone V to get past ~250MHz). : The following users thanked this post: Porama

VEGETA

  • Super Contributor
  • Posts:
  • Country:
  • I am the cult of personality
Re: What's currently the best FPGA development board for a beginner?
« Reply #2 on: July 09, , 09:16:40 am » I am also interested in this. My ultimate goal is to be able to replicate some ICs in an FPGA like the retro consoles ICs which replaces disc drives and cartridges. Many products emerged doing this such as GDemu and so on.

I liked VHDL and would like to get into FPGA and use the same stuff used on real world, no Arduino or similar easing approaches.

My budged can go to say 150$ with some margin xD.

No specific manufacturer for me, just the easiest to get into and can be used in the future.

I bumped this thread instead of making a new one.

tggzzz

  • Super Contributor
  • Posts:
  • Country:
  • Numbers, not adjectives
Re: What's currently the best FPGA development board for a beginner?
« Reply #3 on: July 09, , 09:46:20 am »
My ultimate goal is to be able to replicate some ICs in an FPGA like the retro consoles ICs which replaces disc drives and cartridges.

Tip: don't replicate the ICs. Do replicate what the ICs are doing.

Example: if a shift register is being used as a PRBS to generate white noise, code up the PRBS directly and ignore the parallel loading. There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #4 on: July 09, , 01:46:00 pm » In the Xilinx world, the Artix 7 is a common chip and the Arty boards from Digilent are excellent:

https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/

You have a choice:  Buy the 35T variant and hope your design fits or pay a LOT more for the 100T variant.  Or take a hybrid approach, use the 35T until the designs get too large and then look at the 100T variant.

Here is a better board with lots of gadgets and priced similar to the Arty for the 100T variants:

https://store.digilentinc.com/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum/

This is my favorite board.  I like lots of switches, buttons, LEDs and display digits.

If you can find stock, the Lattice Ice40HX1K Stick is a fun board for $50

https://www.mouser.com/new/lattice-semiconductor/lattice-icestick-kit/

Check over at VHDLwhiz.com.  His tutorials are all based on the Lattice board.

VEGETA

  • Super Contributor
  • Posts:
  • Country:
  • I am the cult of personality
Re: What's currently the best FPGA development board for a beginner?
« Reply #5 on: July 09, , 02:39:29 pm » Quote
How big the design are you looking at? If you are only interested in replacing small designs (some 74 chips, maybe a very simple CPU, glue logic, video format converter, etc.), consider Lattice.

I am looking for smaller than entire game console... something like optical drive emulation or game cartridge emulation which allows me to make some products or circuits that can run the game from an sd card or hdd using original hardware. check https://ps-io.com/ for example. I want to be able to make something like this.

other examples are: terraonion mode, gdemu, neosd, darksoft neo geo aes cartridge, etc... all of these just emulates a certain portion of the system as you can verify.

I want to know how stuff like these gets designed using a small example, this is why I mentioned replicating an IC to see how can I start.


Quote
rstofer

So I have Xilinx, Altera, and Lattice as choices. I see stuff mentioned above using lattice and altera.. and also Xilinx Spartan 6.

I could get something with official tools, not like arduino stuff. that is why i didn't like the mojo board.

So right now this is what i came up with thanks to you guys:

Arty A7 board.
DE-10 Nano board
Any Lattice board that is not a stick

will get back again after researching more.

davep238

  • Contributor
  • Posts: 41
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #6 on: July 09, , 05:43:28 pm » I think that the OP was given a lot of good advice.
I have several old Digilent Spartan-3 boards, and I'm thinking of moving up to Artix-7; probably the Arty A7.
However, for some of the projects I have in mind, a full development board would be overkill. So I was thinking about the Digilent CMOD-A7-35T for US$89. However, it has very few switches and LEDs so this would not be a good choice for a first dev board. It's has an Artix7-35T FPGA; can be programmed over USB; has 512Kb of static RAM (simpler interface than DRAM); a CMOD port; and is in a 48-pin DIP format so it should be easy to interface to other projects. I've been thinking of getting this because I don't see me building my own BGA board for a few projects.
« Last Edit: July 09, , 05:46:00 pm by davep238 »

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #7 on: July 09, , 06:16:12 pm »
So I have Xilinx, Altera, and Lattice as choices. I see stuff mentioned above using lattice and altera.. and also Xilinx Spartan 6.

I could get something with official tools, not like arduino stuff. that is why i didn't like the mojo board.

So right now this is what i came up with thanks to you guys:

Arty A7 board.
DE-10 Nano board
Any Lattice board that is not a stick

Why not a 'stick'.  It will come to pass that regardless of which board you buy, it own't be the last.  What you need is something to get started.

You need to block out your actual requirements.  How much logic, how much BlockRAM to emulate cartridge memory.  You would probably load a game dataset from SD card to BlockRAM or SRAM.  How much memory does the largest game cartridge have?  Does the board have that much?  How many IO pins will the project take (and double it...) before considering a board.  The Lattice 'stick' is seriously lacking in IO.

Some wild estimate of the fabric requirement.  Write a bunch of VHDL and see what percentage of the resources are used.

The Digilent Cmod A7 in the 35T variant has a LOT of BlockRAM (225 kB) that should be more than enough to replace a cartridge.  It also has a lot of IO pins but no peripherals.  I would hang an SPI type IO Expander or two or three on that PMOD connector and use it for diagnostic widgets.  Essentially, build a development board.

https://store.digilentinc.com/cmod-a7-breadboardable-artix-7-fpga-module/

As I said earlier, you need to spend time clearly defining your requirements.  Or, search the Internet and find a similar project to copy.  I find that copy-and-paste works well (sometimes).

Install Vivado and download/install the Digilent Board Files.  Whether you have a board or not, you can write some form of HDL that targets the board.

I would skip the Spartan 6 experience.  The latest Xilinx tool, Vivado, doesn't support those old chips (it starts with the -7 series) and the older ISE 14.7 toolchain is no longer supported by Xilinx.  There is no reason on earth to go back that far!

If all you want is gate level logic to mimic 74xx, consider a CPLD.

Consider using an ARM CPU like the Teensy 4.1.  It is blazing fast with a bunch of memory and easy to work with.  It uses a add-on to the Arduino toolchain, primarily for loading code, and there are a number of alternatives. « Last Edit: July 09, , 07:58:30 pm by rstofer »

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #8 on: July 09, , 07:47:36 pm » Looking at the CMOD A7 as a pretty much ideal candidate for the OP's project, it is nice when you can find a tutorial that walks through every step:

https://reference.digilentinc.com/learn/programmable-logic/tutorials/cmod-a7-programming-guide/start

Looking at the features, that's a pretty nice board for embedding in a project.

VEGETA

  • Super Contributor
  • Posts:
  • Country:
  • I am the cult of personality
Re: What's currently the best FPGA development board for a beginner?
« Reply #9 on: July 09, , 09:39:48 pm » Quote
Why not a 'stick'.  It will come to pass that regardless of which board you buy, it own't be the last.  What you need is something to get started.

I find it better to have a bigger board that I can work with more easily. Bigger boards generally have more features and IO... I didn't say 'stick' in a negative way.


Quote
How much memory does the largest game cartridge have?

different for each console. Neo Geo can be from handful of MBs to 768 MB which is the largest one. Dreamcast has up to 1 GB of size, Playstation 1 is about 200-700 Mb for one disc games, but these disc based stuff maybe doesn't need to be loaded at once since that what the disc is offering. Usually, emulators such as PSIO and GDemu store the game .iso and .bin\.cue files on an sdcard then the fpga system will take the data as needed, exactly as a disc drive.

Quote
As I said earlier, you need to spend time clearly defining your requirements.  Or, search the Internet and find a similar project to copy.  I find that copy-and-paste works well (sometimes).

For now, I am happy with small stuff as a tutorial to get started. I don't mind having examples to how to replicate a certain IC or its functionality... then I can scale from that. Such projects do not exist online AFAIK. All FPGA tutorials are not as MCU stuff in terms of size or quality, maybe because FPGA is not beginner friendly as Arduino stuff.

Quote
Looking at the CMOD A7 as a pretty much ideal candidate for the OP's project, it is nice when you can find a tutorial that walks through every step:

https://reference.digilentinc.com/learn/programmable-logic/tutorials/cmod-a7-programming-guide/start

Looking at the features, that's a pretty nice board for embedding in a project.

this one seems good and it is 89$ but the Artx A7 is bigger for 129$. I can pay 129$ for a fully featured board but it seems to have 35 and 100 options, 100 being 249$.

___


Someone recommended me this book: https://www.amazon.com/Vhdl-Example-Blaine-Readler/dp/

So I really appreciate if there is a book with nice projects similar to what I aim for... and shows how to start the process of replicating a certain IC functionality rather than just coding tutorials.


chickenHeadKnob

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #10 on: July 10, , 06:24:28 am »

I would skip the Spartan 6 experience.  The latest Xilinx tool, Vivado, doesn't support those old chips (it starts with the -7 series) and the older ISE 14.7 toolchain is no longer supported by Xilinx.  There is no reason on earth to go back that far!


I can think of two reasons for a low quantity hobby experimentation. Spartan 6 devices are hella-cheap on LCSC.com (when in stock). I bought 10 xclx9's for $4.90 each.
And those parts are still available in hobby friendly 144 pin QFP. Easy board layout, soldering ect. Also QMtech  has XCLX16 boards with 32 meg RAM for around $18.

However for the original poster I agree with rstofer. better to get a  built up edu-oriented board targeting a more current fpga family.

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #11 on: July 10, , 03:08:57 pm » It's true that the Spartan 6 chips are cheap and I actually like the 5V Spartan 2 devices but there is a steep climb to working with ISE and almost none of it is shared with the next steep climb of working with Vivado.  I can't see making the trip twice.

Furthermore, I won't be building FPGA boards.  If I need to embed an FPGA, it will be something like the CMOD A7 mounted to headers or soldered direct.  I don't have the skill or the patience to deal with high pin packages.

As to the Lattice 'stick:  VHDLwhiz uses the device extensively and, more to the point, the Lattice toolchain and Modelsim.  This site is a really great resource with all kinds of really practical examples, especially test benches.  It is worth considering the 'stick just to maintain parity with the site.  It's also true that everything he presents can be ported to something that works with Vivado (or any other manufacturer and toolchain).  There's just some extra work involved.  In any event, check out the site  VHDLwhiz.com

I guess I'm not interested in the middle ground, I want a fully featured board like the NEXYS A7 or a minimalist board like the CMOD A7, 

Since the topic is generating logic chips, or their equivalent, it would seem to me that switches, buttons and LEDs would be a primary requirement.  Of course, using the simulation tools with a testbench can do a lot of the same thing.

All of the HDLs are standardized.  Other than factory primitives and special features, VHDL is just VHDL.

NandLand is another site that covers FPGA programming quite well.

In the end, it's about diving in and writing code.

Renate

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #12 on: July 11, , 12:13:09 am » I bought a Digilent CMOD A7-35 (Xilink Artix 7) about 6 months ago.
I looked at the Xilinx Vivado, 15GB! and put it back in the drawer.
Just a few days ago I bit the bullet and downloaded Vivado.
I wrote my own blinky LEDs from scratch just fine.

I find that Vivado is a big pig of software.
Doing anything has a delay, including just switching edit buffers.
The hardware manager makes connection to a device seem like it's contacting Mars.
My stupid blinky takes the better part of 5 minutes to do a full build.

Ok, my PC has only 4GB, I've got a new one on order.

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #13 on: July 11, , 01:31:43 am » Specifically for Vivado, I built a high end Intel I7- with 1 TB SSD and 32GB of very fast memory.  Vivado will only use a max of 8 threads so a multi-xeon machine probably isn't helpful.

Vivado is a pig but if you throw enough horsepower at it, it runs pretty well.

I can remember back a bunch of years where ISE would take 15 minutes to synthesize one of my projects.  That was pretty grim.

I haven't checked lately but I think my projects synthesize in less than 3 minutes on the new(ish) machine.
« Last Edit: July 11, , 01:47:21 am by rstofer »

VEGETA

  • Super Contributor
  • Posts:
  • Country:
  • I am the cult of personality
Re: What's currently the best FPGA development board for a beginner?
« Reply #14 on: July 11, , 09:18:40 am » So my HP pavilion 4 cores Intel i7 7th gen is not gonna be good enough? it has 8 gb of ram and enough disc space with an SSD if it helps vivado.

I plan to get a good ryzen desktop in the future, probably waiting until ryzen desktop is released.. I am looking now at ryzen x as a minimum, maybe ryzen x if i was hating my wallet too much. both with 32gb mhz memory.

but for now, the laptop is all there is XD

it is kinda weird no one suggested Altera stuff here... either lattice for cheap and easy or xilinx for very powerful fully featured.

vivado design software seems the go to one for xilinx, what about lattice? it has 4 official tools... and i don't like to use third party tools in this stuff.

filssavi

  • Frequent Contributor
  • Posts: 433
Re: What's currently the best FPGA development board for a beginner?
« Reply #15 on: July 11, , 10:14:50 am »
So my HP pavilion 4 cores Intel i7 7th gen is not gonna be good enough? it has 8 gb of ram and enough disc space with an SSD if it helps vivado.

I plan to get a good ryzen desktop in the future, probably waiting until ryzen desktop is released.. I am looking now at ryzen x as a minimum, maybe ryzen x if i was hating my wallet too much. both with 32gb mhz memory.

but for now, the laptop is all there is XD

it is kinda weird no one suggested Altera stuff here... either lattice for cheap and easy or xilinx for very powerful fully featured.

vivado design software seems the go to one for xilinx, what about lattice? it has 4 official tools... and i don't like to use third party tools in this stuff.

Xilinx is the dominant player in the field (60ish % market share) so it is natural it will get advised more.
Also It really seems (to me at least) thst intel Did not buy altera to produce and sell FPGAs but for the technology (SSI with foveros, on chip networking) and to a lesser extent for high end Stratix parts in Xeons. And all but left the low and mid end to rot
They even stopped updating the free quartus tool

Then there is the abomination that is quartus. If you consider Vivaso slow, buggy or bloated, quartus is at least 5 times as much, (at least the lite version) that does not allow for incremental compilation

For the pc up to recently I was using a old crappy FX with 8 gigs of ddr3 ram, and Vivado run flawlessly, now I upgraded to a X with 16gb of ddr4 and an Nvme SSD (running into Linux) and it is blazing fast ( I fully expect a X to hit diminishing returns)
I feel people complaining about vivado are using laptops to do a workstation task (and anyone that says a laptop i7 is the same as a desktop i7 is talking out of his ass)

VEGETA

  • Super Contributor
  • Posts:
  • Country:
  • I am the cult of personality
Re: What's currently the best FPGA development board for a beginner?
« Reply #16 on: July 11, , 11:08:58 am » So for now my research resulted into these 2:

Arty A7 - Artix-7 (100 version): https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/

Arty S7 - Spartan-7 (50 version): https://store.digilentinc.com/arty-s7-spartan-7-fpga-board-for-hobbyists-and-makers/

both go for 130$ which is ok for me. I guess these 2 uses a free official software (vivado?) so that is ok too.

I looked into zynq stuff but it seems too big to handle for a beginner, plus has arm cpu which i didn't work on before.

I tried seeing official lattice stuff but got confused, many versions and some of them no longer available. the software is confusing too, like which one is the one to use.

If I choose the ones above, are they good for a beginner? is there good amount of projects to do for them? also, any good book to go along (VHDL, no verilog)?


Quote
and anyone that says a laptop i7 is the same as a desktop i7 is talking out of his ass

I run my laptop for +15 hours or so a day but not doing workstation jobs on it... barely kicad. most of the time just youtube and league of legends..etc
but i really need an upgrade with nice quality stuff like ryzen x with its mighty 8 cores. I am just waiting on desktop cpus to get released. I really miss the days when Playstation 2 was considered above the level of consumer PCs... that is, unfortunately, not gonna return ever!


_______

Spartan 7 doesn't seem to have tutorials on youtube... if Arty 7 is as easy as Spartan 7, then why not just get it? « Last Edit: July 11, , 01:15:55 pm by VEGETA »

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #17 on: July 11, , 02:27:27 pm »
So for now my research resulted into these 2:

Arty A7 - Artix-7 (100 version): https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/
I would have thought the 100T version was a bit out of your price range as it costs $249.  If it is a serious candidate, consider the more fully featured Nexys A7 100T which is only $20 more
https://store.digilentinc.com/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum/
Quote
Arty S7 - Spartan-7 (50 version): https://store.digilentinc.com/arty-s7-spartan-7-fpga-board-for-hobbyists-and-makers/

both go for 130$ which is ok for me. I guess these 2 uses a free official software (vivado?) so that is ok too.
It might be worth spending time with the 7 Series Family datasheet to find out the differences between the Spartan and the Artix.  I'm going to favor the Artix
https://www.xilinx.com/support/documentation/data_sheets/ds180_7Series_Overview.pdf

Yes, the 7 series use Vivado.
Quote
If I choose the ones above, are they good for a beginner? is there good amount of projects to do for them? also, any good book to go along (VHDL, no verilog)?
Sure, any of the above will be fine for entry level.  I tend to prefer having more gadgets like LEDs and such but that's just a choice.  Projects are available at OpenCores.org but a lot of folks seem leery.  I have downloaded a good UART core and the T80 core (Z80 equivalent) is known to work very well.  I use it for CP/M and PacMan on older Spartan 2 and 3 devices.
Quote
Spartan 7 doesn't seem to have tutorials on youtube... if Arty 7 is as easy as Spartan 7, then why not just get it?
I don't see the purpose of the Spartan unless it is price.  The Artix seems more fully featured and is further to the right in the Family table.

The Arduino was designed to allow artists, not just engineers, create animations.  As such, there is  a lot of hand-holding.  That is not the case in the digital design world of FPGAs; you're pretty much on your own.  I have pointed you to VHDLwhiz.com and NANDland and if you really want to learn the topic, subscribe to the FPGA and VHDL Fast Track program at VHDLwhiz when it opens up in the fall.   Yes, it costs money.  There is a Beginners Fast Track course that costs a few bucks but is definitely worth it.  I did both courses plus several of the free tutorials because while I have no problem creating synthesizable code, I had never spent time with the simulator.  Writing good test benches is every bit as complex as creating entities.

VHDLwhiz uses the Lattice 'stick but that isn't required.  He also uses Visual Studio Code for the editor along with the Lattice tools.  The editor makes it easy to have two documents open, side by side, like an entity and its test bench.  This is a terrific use of the editor.  Vivado can work with an external editor (at a minimum, it will detect modified files) but I haven't used the internal editor in any more than its most basic form.  I need to research this more after seeing what I can do with Visual Studio Code.  VSC will also keep track of your project files.  The two document display works well on a 27" monitor.  I wouldn't use it on a 17" laptop screen but I'm old with dubious eyesight.

Right out of the gate, plan to spend a LOT of time at VHDLwhiz.com.
« Last Edit: July 11, , 02:31:58 pm by rstofer »

filssavi

  • Frequent Contributor
  • Posts: 433
Re: What's currently the best FPGA development board for a beginner?
« Reply #18 on: July 11, , 03:13:04 pm » While not apparent at the beginning the spartan 7 makes a huge amount of sense to me, not as a standalone device (you can get much better value out of a lattice part then), but as part of a larger system.
In any sort of distributed, real time, control system, like you find in high power converters (lets say 1MVA and upwards) you will have a central controller that regulates the overall output and makes shure power sharing is done correctly while the power hardware cells run the local current loop and modulation. For safety and ease of implementation reasons (the complex modulations required in those type of converters are quite hard to do on a regular  MCU advanced timer, and communications need to be done with custom protocols). FPGAs are used in both places.

Now while we are not talking about massively price sensitive systems, we are also not talking about military budgets here, so anything saved on the logic side can be put to better use on the power side (I will take more switches in parallel to lower losses over big fpga any day of the week), since there is no need to use the same big(ish) FPGA the controller is running also on the cells, where a much smaller and simpler fpga can be used, with associated cost reduction.

As to why go for the spartan7 instead of a lattice (ice40 of some description) it is down to ease of development and manteinance, since you need to worry only about one toolchain, instead of 2, especially with the lattice one being not that great (it is usable, however nothing spectacular). Also since it is the same architecture validation  can be done once, and not have to be repeated for both systems.

VEGETA

  • Super Contributor
  • Posts:
  • Country:
  • I am the cult of personality
Re: What's currently the best FPGA development board for a beginner?
« Reply #19 on: July 11, , 03:55:19 pm » Quote
I would have thought the 100T version was a bit out of your price range as it costs $249

My mistake, I thought it is the same price as my browser didn't update due to bad internet... now everything is clear.

Quote
It might be worth spending time with the 7 Series Family datasheet to find out the differences between the Spartan and the Artix.  I'm going to favor the Artix

yes artix is better overall, but the things i would like to do is doable in cyclone 3 and 6. so spartan 7 is supposed to be more than enough. Plus the price for it is about half of artix right?

I saw the artix as objectively better + has tutorials...


Quote
Yes, the 7 series use Vivado.

does it have a totally free package that does everything? or should I pay a lot?

Quote
VHDLwhiz uses the Lattice 'stick but that isn't required.  He also uses Visual Studio Code for the editor along with the Lattice tools.

I still prefer using manufacturer's official tools if they are good enough. I saw his 17$ course which I will definitely take in the future but I wonder if it is gonna be easy to use other fpga tools and IC for the course.

any book recommendation? or is it not necessary?





Quote
While not apparent at the beginning the spartan 7 makes a huge amount of sense to me, not as a standalone device (you can get much better value out of a lattice part then), but as part of a larger system.

people whine too much about lattice and how spartan 6 and 7 is better replacement.


_____

So for now the spartan 7 99$ board is the one to buy. « Last Edit: July 11, , 04:01:29 pm by VEGETA »

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #20 on: July 11, , 04:28:58 pm »
Yes, the 7 series use Vivado.
Quote
does it have a totally free package that does everything? or should I pay a lot?
Yes, Vivado is a complete development platform for everything that Xilinx offers from 7 Series forward.  Apparently, Xilinx spent $200 million to develop it.  And they already had ISE but didn't see a way forward.  It's going to be with us for a long time to come.

https://en.wikipedia.org/wiki/Xilinx_Vivado


Totally free!  Go ahead and download it, you don't need a board to play with writing code and running the simulator.  Just learning your way around the interface is going to take a lot of time.  Hopefully there are videos...

Quote
Quote
VHDLwhiz uses the Lattice 'stick but that isn't required.  He also uses Visual Studio Code for the editor along with the Lattice tools.

I still prefer using manufacturer's official tools if they are good enough.

No reason not to!  I just ran across Visual Studio Code in the VHDLwhiz projects and it's pretty slick.  It is a heck of a lot better than the editor in the Lattice toolchain.  Notice that VHDLwhiz uses VSC to edit, Lattice ICEcube2 to compile, Lattice Diamond to program the device and ModelSim as the simulator.  All of this is in one program if you use something like Vivado.

You could install the software today and have a simulated gate level project running under simulation in an afternoon,

Here is a short video on creating and simulating an AND gate.  It's only a few minutes long and assumes you have seen the previous videos on working in the IDE but I didn't search for those.  There are hundreds of tutorials.



Three steps:

Install Vivado
Install Digilent Board Files
Create a project and select one of the Digilent boards (don't just select a chip, notice the Boards tab in New Project -> Default Part window)

Now start writing the 2 files necessary for the simple AND gate simulation.

You can design and validate entire projects and never actually own a board.
« Last Edit: July 11, , 04:36:14 pm by rstofer »

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #21 on: July 12, , 03:17:26 pm » If you decide to go down the Xilinx route with Digilent, take advantage of the various tutorials at Digilent.  Everything you need to get started with Vivado is there and really well spelled out.  There will be a link to Resources for each board, over on the right of the page.

In terms of Vivado being a pig, it will process a line project from edit changes through bitstream out in 2 minutes 45 seconds on my 4.2 GHz I7- with 4 cores and 8 threads along with a SSD and 32GB of MHz RAM.

I'm ok with this level of performance and it's  only because my device is massively larger than the project that the place and route can be done quickly (relatively).

I chased the trail down the rabbit hole for the Nexys A7 and on this page are some tutorials about getting started with Vivado along with some example projects:

https://reference.digilentinc.com/reference/programmable-logic/nexys-a7/start

You can do the same thing for other boards.

VEGETA

  • Super Contributor
  • Posts:
  • Country:
  • I am the cult of personality
Re: What's currently the best FPGA development board for a beginner?
« Reply #22 on: July 12, , 06:06:46 pm » Quote
Notice that VHDLwhiz uses VSC to edit, Lattice ICEcube2 to compile, Lattice Diamond to program the device and ModelSim as the simulator.  All of this is in one program if you use something like Vivado.

VSC seems popular but as you said, Vivado has everything in it in one package free and official from manufacturer.. this is the way to go.

Quote
Now start writing the 2 files necessary for the simple AND gate simulation.

Yes I think those are the .vhd main code and the test bench which I still need to understand.

I hope to find a simple emulation project to see how to emulate a simple ic or hardware in an fpga, like how to start and so on..

Quote
If you decide to go down the Xilinx route with Digilent, take advantage of the various tutorials at Digilent.  Everything you need to get started with Vivado is there and really well spelled out.  There will be a link to Resources for each board, over on the right of the page.

Spartan 7 seems to have 4 projects in "Example Projects" here: https://reference.digilentinc.com/reference/programmable-logic/arty-s7/start

Quote
In terms of Vivado being a pig, it will process a line project from edit changes through bitstream out in 2 minutes 45 seconds on my 4.2 GHz I7- with 4 cores and 8 threads along with a SSD and 32GB of MHz RAM.

So is it mainly the CPU or RAM? your CPU seems mediocre or even less but RAM seems over-the-top! My plan was to get MHz 32gb RAM (dual 16) as I didn't find faster memory to be available or affordable (diminishing returns too).

Right now my laptop is all there is (intel i7 7th gen 4 cores - 8 gb ram)... I plan to get ryzen x (or its desktop brother if it happened), I think it will be enough to be very fast right?

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #23 on: July 12, , 07:26:56 pm »

Quote
In terms of Vivado being a pig, it will process a line project from edit changes through bitstream out in 2 minutes 45 seconds on my 4.2 GHz I7- with 4 cores and 8 threads along with a SSD and 32GB of MHz RAM.

So is it mainly the CPU or RAM? your CPU seems mediocre or even less but RAM seems over-the-top! My plan was to get MHz 32gb RAM (dual 16) as I didn't find faster memory to be available or affordable (diminishing returns too).

Right now my laptop is all there is (intel i7 7th gen 4 cores - 8 gb ram)... I plan to get ryzen x (or its desktop brother if it happened), I think it will be enough to be very fast right?

I don't know where the slowdown is on my desktop but I have a feeling it is simply compute cycles.

On my HP laptop (1.9 GHz I7-U with 12GB available ram, the same job takes exactly 5 minutes (versus 2:45 on my desktop).  That exceeds my attention span so I don't do much Vivado stuff on my laptop.
« Last Edit: July 12, , 07:28:56 pm by rstofer »

rstofer

  • Super Contributor
  • Posts:
  • Country:
Re: What's currently the best FPGA development board for a beginner?
« Reply #24 on: July 12, , 09:23:05 pm » You could start here and follow along.  He is going to install the Lattice tools and ModelSim.  There's no reason you couldn't just substitute Vivado for the entire program of tutorials.

https://vhdlwhiz.com/basic-vhdl-tutorials/

The primary focus is simulation, not synthesis.  That comes up later.  None of the test benches will synthesize (by definition) but the entity files should and you could connect the inputs and outputs to pins through the .xdc file.  I would change the name in the .xds file rather than use the not-very-helpful names in the .xdc file.  Early on, you would only be uncommenting a very few signals and perhaps the reset and clock signals.

This FPGA stuff is a stretch unless you have spent a lot of time on digital design in school.  The good news is that the concepts are serially reusable.  Once you know how to code a MUX, every other MUX looks similar.  In fact, if you make the MUX with 'generics' for width and depth, you can just reuse the same file in every project including multiple instances within a project.

It's the same for all the other constructs:  counters, Finite State Machines, adders, registers and so on.  Once you have gotten an LED to blink, you are truly on your way.  The reason for the optimism:  The toolchain works, the device can be programmed, you have dealt with the clock input and perhaps reset.  A vast array of things have to work right to get that LED blinking.  After that, it's more of the same plus FSMs.

Here is a testbench very similar to the one at VHDLwhiz.com.  I just changed the entity name which must match the file name (HelloWorld_tb.vhd).  So, create a new project in Vivado then create a simulation source file (empty) and then copy-and paste the code into the file with the editor.  Then run simulation.  The "Hello World" string will be in the TCL console, 5 lines from the bottom of the output.  It is unlikely to be visible given the small window size allocated to the console.

Code: [Select][font=courier]
entity HelloWorld_tb is
end entity;
 
architecture sim of HelloWorld_tb is
begin
 
    process is
    begin
 
        report "Hello World!";
        wait;
 
    end process;
 
end architecture;
[/font]

I just ran this testbench in Vivado so I'm pretty confident it works.  If you get it working under Vivado then there is probably no reason to install Lattice, Diamond and ModelSim.

Not that it mattered but I selected the Nexys A7 board.  As this is only a testbench, I didn't add an .xdc file.

You will find that the simulator doesn't really stop running on that wait statement.  Instead, it 'waits' forever.  There are ways to kill the process with an assert statement but it isn't necessary at this point.
« Last Edit: July 12, , 09:24:58 pm by rstofer »

18

0

Comments

Please Join Us to post.

0/2000

All Comments ( 0 )

Guest Posts

If you are interested in sending in a Guest Blogger Submission,welcome to write for us!

Your Name: (required)

Your Email: (required)

Subject:

Your Message: (required)