Author Topic: Cheapest entry point for learning to program an FPGA?  (Read 2170 times)

0 Members and 1 Guest are viewing this topic.

Offline YurkshireLadTopic starter

  • Frequent Contributor
  • **
  • Posts: 365
  • Country: ca
Cheapest entry point for learning to program an FPGA?
« on: March 26, 2021, 05:28:03 pm »
As the title says, what's the cheapest entry point for learning to program an FPGA? I've seen some dev boards, but they're too pricy for me (C$100+?), as I'm a complete beginner and this is just a hobby. Cheers.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Cheapest entry point for learning to program an FPGA?
« Reply #1 on: March 26, 2021, 05:42:37 pm »
You can get started without a board, just use any of the simulators.  You could install Xilinx Vivado and have the entire production toolchain to play with including simulation.

Why not go to NandLand and look at the tutorials and the GO board ($65).

https://www.nandland.com/

I have no idea how complicated importing to Canada might be...

This topic comes up fairly often, a search might find something...

A really cheap board is the Lattice IceStick40 ($49)

https://www.latticesemi.com/icestick
https://www.digikey.com/en/products/detail/lattice-semiconductor-corporation/ICE40HX1K-STICK-EVN/4289604

This is the device of choice for the tutorials at VHDLwhiz.com.  The author spends a LOT of time working on testbenches and simulation.  VERY good tutorials and the 'for pay' projects are very good.

The board I like is completely out of the question the 100T variant is $265 and more logic is better:

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

I like having the gadgets on the board.

A board that is only slightly out of your range is still a very nice board with lots of gadgets ($149):

https://store.digilentinc.com/basys-3-artix-7-fpga-beginner-board-recommended-for-introductory-users/

I would also consider the 35T variant of this board ($89)

https://store.digilentinc.com/boards-and-components/system-boards/fpga-boards/
« Last Edit: March 26, 2021, 05:44:21 pm by rstofer »
 
The following users thanked this post: werediver, YurkshireLad

Offline YurkshireLadTopic starter

  • Frequent Contributor
  • **
  • Posts: 365
  • Country: ca
Re: Cheapest entry point for learning to program an FPGA?
« Reply #2 on: March 26, 2021, 05:43:36 pm »
Thanks, I'll have a look at simulators for sure.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Cheapest entry point for learning to program an FPGA?
« Reply #3 on: March 26, 2021, 05:46:34 pm »
You might want to start over at VHDLwhiz.com and install ModelSim.  It's a fairly lightweight way to play if a board is out in the future.  The author also uses the Lattice toolchain for synthesis and deployment to the IceStick.

In fact, there is a tutorial on how to install the tools (IIRC)
« Last Edit: March 26, 2021, 05:48:12 pm by rstofer »
 
The following users thanked this post: YurkshireLad

Offline YurkshireLadTopic starter

  • Frequent Contributor
  • **
  • Posts: 365
  • Country: ca
Re: Cheapest entry point for learning to program an FPGA?
« Reply #4 on: March 26, 2021, 06:19:33 pm »
Thanks, I'll check out that site.
 

Offline JohnnyMalaria

  • Super Contributor
  • ***
  • Posts: 1154
  • Country: us
    • Enlighten Scientific LLC
Re: Cheapest entry point for learning to program an FPGA?
« Reply #5 on: March 26, 2021, 07:46:28 pm »
In fact, there is a tutorial on how to install the tools (IIRC)

I recently signed up for the VHDLwhiz course - it really is excellent. I've learned so much in a couple of weeks that it has helped me tremendously with a project I'm doing. I even learned a lot of new tricks for VS Code.

Regarding the tools, his instructions sadly are no longer accurate since the suppliers of the various tools have changed their rules and procedures.

Ignore everything he says about installing Modelsim from Intel. I did that first and it was a pain in the neck. Then I installed the Lattice software which includes another version of Modelsim, too. So, I didn't need the Intel version after all.
 
The following users thanked this post: werediver, YurkshireLad

Offline admiralk

  • Regular Contributor
  • *
  • Posts: 178
  • Country: us
Re: Cheapest entry point for learning to program an FPGA?
« Reply #6 on: March 26, 2021, 10:26:04 pm »
You could install Xilinx Vivado and have the entire production toolchain to play with including simulation.

If you do not want to spend time piecing together and learning the tool chain, this is about your only option for a free, ready to use, environment.
 
The following users thanked this post: YurkshireLad

Offline JohnnyMalaria

  • Super Contributor
  • ***
  • Posts: 1154
  • Country: us
    • Enlighten Scientific LLC
Re: Cheapest entry point for learning to program an FPGA?
« Reply #7 on: March 26, 2021, 11:45:17 pm »
You could install Xilinx Vivado and have the entire production toolchain to play with including simulation.

If you do not want to spend time piecing together and learning the tool chain, this is about your only option for a free, ready to use, environment.

Should you sign up for a VHDLwhiz course, I would recommend use the tools he suggests. I have an Arty Z7 for a project I'm developing and so have the many gigabytes of Xilinx software installed. However, using the Lattice software (with Modelsim) and VS Code makes it very easy to follow along with the course even if you choose not to build the LED device (for one of the courses).
 
The following users thanked this post: YurkshireLad

Offline YurkshireLadTopic starter

  • Frequent Contributor
  • **
  • Posts: 365
  • Country: ca
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Cheapest entry point for learning to program an FPGA?
« Reply #9 on: March 27, 2021, 12:20:15 am »
By Lattice Software, do you mean this - https://www.latticesemi.com/Products/DesignSoftwareAndIP/ProgrammingAndConfigurationSw/Programmer

No, to work with a physical device, you need the Diamond programming software and the IceCube code development software.  If you are just going to use the IceStick, you may not need Diamond.

VHDLwhiz will give you help on setting up ModelSim for the simulator.  ADD: this process may be obsolete...  ModelSim is fast but I prefer to work in the Vivado world.

This applies only if you are going for one of the low end Lattice boards like the IceStick.  You can just install Xilinx Vivado and everything is in one place.

The way he uses VScode (editor) with two open windows allows you to have the testbench code in one window and the VHDL code in another, side by side.  This is extremely useful, especially with 27" monitors.

Lock in a device and then worry about the toolchain.
« Last Edit: March 27, 2021, 12:36:55 am by rstofer »
 
The following users thanked this post: YurkshireLad

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3367
  • Country: nl
Re: Cheapest entry point for learning to program an FPGA?
« Reply #10 on: March 27, 2021, 05:25:37 pm »
About hardware...
A simple search like below brings up several PCB's. Some barebone with FPGA + breakout connectors, others with 7-segment displays, VGA connectors and other stuff.
PCB's starting from around EUR25 both with Xilinx or Altera hardware.

https://www.aliexpress.com/wholesale?catId=0&SearchText=fpga%2Bstarter%2Bkit

You can also search Hackaday. Lots of projects & ideas, some fit for beginners.
Some time ago there was an article about second hand ZYNQ boards, which are apparently not usable anymore for crypto mining.
https://hackaday.com/blog/?s=fpga

But before deciding on hardware, software is probably at least as important. Is Open Source important to you? Which hardware is compatible with it?  Maybe support a Kickstarter or Crowdsupply project that comes with both hardware and software instead of just looking at the cheapest price of the hardware you can get.

FPGA's are complicated devices, and Open Source is not very strong in this segment yet. So if you find this important, there is a good opportunity to show some support.
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3367
  • Country: nl
Re: Cheapest entry point for learning to program an FPGA?
« Reply #11 on: March 27, 2021, 05:28:49 pm »
Just remembered that Olimex has some affordable FPGA hardware.
Olimex is also pretty strong in the Open Source part.
A lot of the Linux boards they make for example come with complete schematics and PCB project (available on github). Older projets are (mostly?) in Eagle, some of the newer are done in KiCad, such as the Olinuxino  A64.
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6207
  • Country: ro
Re: Cheapest entry point for learning to program an FPGA?
« Reply #12 on: March 27, 2021, 05:44:20 pm »
Cheapest entry point would be zero.

You don't need the hardware to learn.  Download either Xilinx Vivado or Quartus, for weather you prefer Xilinx or Altera (they are roughly the same thing, a set of tools to write FPGA schematics, both Vivado and Quartus can work for free, you don't need any payed licenses to learn) and start doing your own schematics.

Remember, for a FPGA you do not write a program, you do a schematic inside the FPGA!!!
Again, VHDL or Verilog is not to write programs, it's to write SHCEMATIC DIAGRAMS for digital circuits.
Not "software", schematics.

In FPGA you first simulate (simulators included), then at last you upload the bitstream containing the schematics you just designed (remember, a schematic, NOT a program) in the FPGA.  And that's it.  Simulation is key in FPGA design.

I know you will insist to see some LED turning on, and asking for the cheapest FPGA board, $15 is OK if you are from the rest of the world, $5 (or less if you are from China), search EBAZ board on Aliexpress and buy one.  for $15 you'll get a Zynq FPGA with 2 ARM cores inside and a few thousands of logic elements to play with.  Can even run Linux.  A few already bought that particular board, yet you don't need a board at all to learn FPGA.
https://www.eevblog.com/forum/fpga/ebaz4205-(zynq-7000-based-development-board)/
« Last Edit: March 27, 2021, 05:49:41 pm by RoGeorge »
 
The following users thanked this post: YurkshireLad

Offline gnuarm

  • Super Contributor
  • ***
  • Posts: 2218
  • Country: pr
Re: Cheapest entry point for learning to program an FPGA?
« Reply #13 on: March 27, 2021, 07:49:22 pm »
Cheapest entry point would be zero.

You don't need the hardware to learn.  Download either Xilinx Vivado or Quartus, for weather you prefer Xilinx or Altera (they are roughly the same thing, a set of tools to write FPGA schematics, both Vivado and Quartus can work for free, you don't need any payed licenses to learn) and start doing your own schematics.

This is absolutely true.  Starting out with hardware is the hard way to go in my opinion.  Start with learning the tools, hard enough by itself, learn how to code and simulate.  Then worry with the many details of getting it into hardware and tested.   

If you want the absolute cheapest hardware this is the lowest priced FPGA I've found.

https://www.aliexpress.com/item/4000366030520.html


Quote
Remember, for a FPGA you do not write a program, you do a schematic inside the FPGA!!!
Again, VHDL or Verilog is not to write programs, it's to write SHCEMATIC DIAGRAMS for digital circuits.
Not "software", schematics.

That's a bit overstated.  The main issue is that you are describing the actions of the various pieces of hardware you want synthesized.  Thinking of sequential actions like an MCU program is not going to be effective, or will use excess resources.  So imagine the hardware that would implement your function and describe that.


Quote
In FPGA you first simulate (simulators included), then at last you upload the bitstream containing the schematics you just designed (remember, a schematic, NOT a program) in the FPGA.  And that's it.  Simulation is key in FPGA design.

And the key to simulation is writing an effective test bench.  I have been working on a project with other volunteers some of who are not well experienced.  One is working on an SPI master interface and wrote the test bench as a series of waveforms rather than describing how the SPI slave operates.  Don't write waveforms unless that is appropriate.


Quote
I know you will insist to see some LED turning on, and asking for the cheapest FPGA board, $15 is OK if you are from the rest of the world, $5 (or less if you are from China), search EBAZ board on Aliexpress and buy one.  for $15 you'll get a Zynq FPGA with 2 ARM cores inside and a few thousands of logic elements to play with.  Can even run Linux.  A few already bought that particular board, yet you don't need a board at all to learn FPGA.
https://www.eevblog.com/forum/fpga/ebaz4205-(zynq-7000-based-development-board)/

Wow!  That is an amazing price for a Zynq board with RAM etc.  Not very low power though.  $12 + $5 shipping.  Amazing!
Rick C.  --  Puerto Rico is not a country... It's part of the USA
  - Get 1,000 miles of free Supercharging
  - Tesla referral code - https://ts.la/richard11209
 
The following users thanked this post: YurkshireLad

Offline admiralk

  • Regular Contributor
  • *
  • Posts: 178
  • Country: us
Re: Cheapest entry point for learning to program an FPGA?
« Reply #14 on: March 28, 2021, 09:57:18 pm »
You could install Xilinx Vivado and have the entire production toolchain to play with including simulation.

If you do not want to spend time piecing together and learning the tool chain, this is about your only option for a free, ready to use, environment.

Should you sign up for a VHDLwhiz course, I would recommend use the tools he suggests. I have an Arty Z7 for a project I'm developing and so have the many gigabytes of Xilinx software installed. However, using the Lattice software (with Modelsim) and VS Code makes it very easy to follow along with the course even if you choose not to build the LED device (for one of the courses).

Actually I might have been mistaken, I think it was CPLDs where the problems came in. It was basically a choice between Xilinx ISE, $500+ subscriptions, or a bunch of separate tools. Personally I prefer an all in one solution, so that when I stop using it for some time and come back I do not have to figure out how everything fit together.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Cheapest entry point for learning to program an FPGA?
« Reply #15 on: March 28, 2021, 11:48:19 pm »
The cheapest I'm aware of are the EP2C5T144C8 mini dev boards that are widely available from Chinese sellers, under $15 each, they're an old part now but still powerful enough to fit an entire functional 8 bit computer with video.

While it's true that you can learn HDL purely in simulation, personally I find that to be very boring after the first 10 minutes or so. I need to have real hardware in my hands to stay engaged.
 

Offline bgm370

  • Contributor
  • Posts: 14
  • Country: us
Re: Cheapest entry point for learning to program an FPGA?
« Reply #16 on: March 29, 2021, 03:03:01 am »
I got this one https://tinyvision.ai/products/upduino-v3-0
Cheap and supported by the open source toolchain (IceStorm) and tools like https://icestudio.io
 

Offline gnuarm

  • Super Contributor
  • ***
  • Posts: 2218
  • Country: pr
Re: Cheapest entry point for learning to program an FPGA?
« Reply #17 on: March 29, 2021, 03:43:15 am »
I don't think I mentioned that the FPGA board in the link I posted has a connector for an LCD display.  Buying the board with a display they cost about the same or less than many other FPGA boards.  If you are just getting started, this is a nice low cost unit.  I'm working with Gowin devices now.

Here's one for a bit more money, still near the bottom in price with a 20,000 LUT FPGA, but from Anlogic.  I don't know much about them or how easy it is to use their tools.  They have a RISC-V core that runs on this chip.

https://www.aliexpress.com/item/33059450256.html
Rick C.  --  Puerto Rico is not a country... It's part of the USA
  - Get 1,000 miles of free Supercharging
  - Tesla referral code - https://ts.la/richard11209
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Cheapest entry point for learning to program an FPGA?
« Reply #18 on: March 29, 2021, 04:56:20 am »
Something to keep in mind if it hasn't been covered already is that with whatever device you choose, you are married to the toolchain provided by that manufacture. That is, unless you are a serious masochist and want to try to go with an open source toolchain. Xilinx and Altera (Intel) are the two big players with Lattice coming in third, anything else is uncharted territory, especially for a hobbyist. You might start by looking at the toolchains, personally I find I overall prefer Altera Quartus, it's quite old now but so are the things I'm using FPGAs to reproduce.
 

Offline gnuarm

  • Super Contributor
  • ***
  • Posts: 2218
  • Country: pr
Re: Cheapest entry point for learning to program an FPGA?
« Reply #19 on: March 29, 2021, 05:03:55 am »
When you say dependent on the tool chain provided, that really only applies to the synthesis.  I am using the Lattice tools for simulation because that is all am familiar with at this point.  Then I synthesize the code with the Gowin tools.  I haven't had much problem as yet.
Rick C.  --  Puerto Rico is not a country... It's part of the USA
  - Get 1,000 miles of free Supercharging
  - Tesla referral code - https://ts.la/richard11209
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf