I know there is a whole section on the forums dedicated to FPGAs but I reckon this is specifically a beginner issue.
I want to introduce myself to programmable logic and hardware description languages. I have basic understanding of logic circuits concepts but no experience at all with VHDL or Verilog. Theoretically I could start learning using simulator but I know it won't be nearly as effective if I can't make some LED blink or observe signal waveforms on the scope. My initial research guided me towards Altera FPGAs because less features seems to be cut out of the free version of their software and programmer seems to be cheaper (even the Chinese knockoff of Xilinx platform cable costs about $30, compared to $5 for Altera's USB Blaster clone). I was initially aiming at
Terasic DE0-nano development board but it is quite pricey in my country. Even not taking currency purchasing power into consideration its about $120 shipped. Yes, it has nice big FPGA on it I doubt I'll ever do very advanced stuff in it. I was thinking about applications similar to what Mike showed in his video
.
(edit: I didn't know that pasting link to YT video automatically embeds it)
Also, I must admit that Quartus II feels a bit intimidating for a noob like me.
I started looking at
Lattice MachXO2 Breakout Board that Mike recommended. Unfortunately farnell/Element14 does not seem to have it in their listings but even at my local, expensive distributor its less than half the price of DE0-nano. What also got my interest is
ICE40HX1K-STICK-EVN "Icestick".
Is Lattice in general good choice for a beginner? I know their software is not nearly as advanced as Altera/Xilinx solutions but this may not be a bad thing actually. Will I be able to adapt other HDL tutorials to it relatively easy? (assuming I do my research of course). What about moving out of a devboard? I'd like to stick to manufacturer once I get myself familiar with it. Lattice seems to be more friendly for a hobbyist because of things like integrated oscillators, voltage regulators or flash memory in some of their parts. On the other hand xilinx/altera parts are generally more widely available. I also don't like that Lattice has entirely separate software suites for different product families. Not sure how big of a deal this would be.
Alternatively, if I decide to stick to Altera I might look into development boards straight from China. Something like
this or
this. Not sure about documentation but they seem to have lots of peripherals for a very reasonable price. What do you think?