For the past month I have been learning to program FPGAs. I had been thinking about doing this for a while, but couldn’t figure out how to get started. As it turns out, it isn’t too hard to do, but I needed something that would guide me through the whole process.
I started by reading Verilog By Example:
This is a very short, but well laid out book that explains the basics of programming FPGAs in Verilog. Once a bit of the mystery started to go away, it was time to try my hand at real hardware.
I followed the lessons found at
and purchased their parts kit as well:
The tutorial is designed to program an Altera MAX3000A CPLD. CPLDs are simpler versions of FPGAs. They don’t have as many logic gates but they also have the advantage of retaining their progamming when power is off.
For the most part, this was a very well done set of lessons that will get you through all of the fundamentals.
I purchased the tutorials on DVD and that was a waste. At DVD’s resolution of 720p, I really could not read the text. The same lessons are available on youtub in 1080p and those were crisp enough to allow reading the CRT.
My only issue was with the 3.3v 7555 clock being used. For reasons I still don’t understand, the MAX3000A didn’t seem to see all of the clock cycles unless I pushed it up to 5V. The tutorial works fine in 3.3V and I couldn’t find any other complaints like this.
I asked the tutorial author about this. He gave me a few suggestions to try and then went silent. Not that I expect hand-holding from what is essentially free training, but I am still perplexed as to the issue. None of the lessons using the clock worked properly for me at 3.3V – and that was with replacing all of the hardware – just in case.
I also went to the Altera website and did some of their free online training.
I am grateful to Pyro Electronics and Altera for making the educational materials free and for making the software tools free. This has purely been an exercise in curiosity. I have found it very interesting, but would never have been able to justify spending $100’s or $1000’s. $40 was just about perfect.
I now have enough knowledge of the process that I have purchased a better CPLD (several Altera MAXII models) and a couple of VHDL books (and a few Verilog books will be forth coming as well).