I want to try doing some projects with a FPGA but i don't really know which one to buy. I do have some (very limited) experience with the Digilent BASYS3 board with Xilinx Artix-7 FPGA an d vivado 2016.4 but I don't own a FPGA myself.
Any recommendations for a first FPGA?
Thanks.
I have been playing with FPGAs at a hobby level for about 15 years and there are still huge gaps in my knowledge. I can model complete computing systems like the IBM 1130 (
http://ibm1130.org/) and simple processors like the LC3 project (
https://www.cs.colostate.edu/~cs270/.Fall17/slides/Lecture24(AppC).pdf) but I have no idea how to use the simulator - never needed it. If you don't put bugs in your code, you won't need to dig them out. Nevertheless...
I decided to pay money for a tutorial program (120 videos) plus a smallish project. The program uses the Lattice ICEstick which only costs about $25.
https://www.digikey.com/product-detail/en/lattice-semiconductor-corporation/ICE40HX1K-STICK-EVN/220-2656-ND/4289604The class is expensive at $250 but education has never been free. If I took the same course at community college (were it even offered), the cost would be about the same or perhaps even more.
The site is
https://vhdlwhiz.com/basic-vhdl-tutorials/ and there are a lot of free tutorials. For whatever reason, the author batches the paid course and enrollment is only open for the next couple of days - see bottom right of page. I don't know when the cycle repeats.
The course itself (
https://vhdlwhiz.teachable.com/p/dot-matrix) has about 120 videos, all less than 20 minutes or so. I highly recommend it, I'm about 30 videos in...
Why spend money? In this case, it is about how to develop a complete system. How to lay out the directory tree, how to keep test benches separate from code for synthesis. I don't know anything about test benches, I should I suppose. I'm not the slightest bit interested in the project itself because I could plunk something together in a day that would work but I am interested in the author's process. The author also uses lots of packages to pull out constants and common code (now wrapped in a procedure).
It's kind of odd but the author uses Visual Studio Code with the vhdl plug-in for source editing, ModelSim for simulation and ICEcube2 for synthesis. All free, by the way! I suppose there is some deeper meaning behind this but I'm just going with the flow. Multiple monitors is helpful. Two isn't enough! One for the video, one for code editing and one for simulation would be a really nice setup. Alas, I only have 2 (at the moment). This is a 'nice to have', not a 'must have'. Alt-Tab still works... As an aside, watching videos while following along with an editor or whatever, really does benefit from multiple monitors. It is really nice to be able to see the author's code while typing in the editor. Even better if you can control the video with a foot switch (
https://www.amazon.com/gp/product/B008EA1K66) with 'pedable' software. I'm not sure it will work in this case because these are not videos playing on a controllable media player. I haven't tried it... Maybe dual screens is a 'must have'...
So, the end level is somewhat higher than beginner level and probably in the intermediate range. And, yes, I intend to implement the project even though it has no particular purpose, Us retired guys can do that!
Ignoring that program, there are lots of tutorials on the Internet. NandLand is another good site (
https://www.nandland.com/) and the GoBoard is interesting but seems expensive given the limited off-board IO. But it looks like a nice learning tool and given tutorials wrapped around it, I would probably buy it if I was following along. The nice thing is that the author discusses both VHDL and Verilog and in some cases, side by side. The similarity is often striking.