[Roland Lutz] gave a talk about FPGA design using the free tools for Lattice devices at the MetaRheinMainChaosDays conference this year. You can see the video below. It’s a great introduction to FPGAs that covers both the lowest-level detail and some higher level insight. If you’re getting started with these FPGAs, this video is a must-see.
[Roland] starts with the obligatory introductory material. He then jumps into an actual example before zooming back out to look at the internal details of the Lattice FPGA. For instance, this FPGA supports multiple bitstreams, so you can switch between different “programs” on the fly.
If you ever wondered how tiles and cells relate you’ll get a lot out of the low-level discussion. There’s also a very concise explanation of how tiles interconnect. If you are hazy on the difference between a span-4 and a span-12 wire, you’ll want to watch.
There’s plenty of complimentary details on the web and [Roland] includes some references at the end of the talk. We did our own introduction videos when the IceStorm tools first appeared. If you prefer a graphical tool, you might be interested in Icestudio.