. I started off by saying something like:
Let's assume that we are really kicking off from ground zero. Maybe we know a little Verilog or a smidgen of VHDL, but not very much. Also, let's assume that we have a vague idea as to what's inside an FPGA, but we're not too clear on the nitty-gritty details. On this basis, what would any of us really like to see if we were starting out ourselves?
I then waffled on at length (as in my wont) describing the sort of things I'd like to see. Oh, what a wonderful world it would be if all FPGA design environments worked this way (grin)! Anyway, this topic seems to have resonated with a lot of visitors to Programmable Logic DesignLine. A typical response was as follows:
Max, that is exactly my question, and your blog worded it the way I need to have it answered.
I have asked many people if there is VHDL/Verilog software that is simple to use (the answer is always NO). I have asked if there is a real good tutorial (the answer is MAYBE). Now I think I need to ask if the tutorial comes with an inexpensive board to play with, as well.
Please let all of us know quickly what answers you get on this one. . .
Ah, if only I had all of the answers, but we all have our role in life, and mine (generally speaking) is to ask a lot of awkward (if not stupid) questions. On the other hand, not every response was filled with gloom and despair. For example, one reader replied as follows:
Hi Max, the boards, examples and docs from www.Xess.com are excellent, low cost, and perfectly suited to absolute beginners. Their text "Practical Xilinx Designer Lab Book" is now a little dated, but they have application notes showing how to use the free Xilinx webpack.
Slightly more advanced is the book "Rapid Prototyping of Digital Systems" by James Hamblen. The text references the dated Altera UP1, but there are application notes for the newer DE2.
The "normal" boards from Avnet, Xilinx, Altera etc. are not suitable for beginners since they lack pedagogic examples, and most come with zero software.
Similar to Hamlen's book, Pong Chu has a yet unpublished text "FPGA Prototyping by VHDL Examples" targeting a Xilinx Spartan3 board. Search ISBN: 0470185317 on Amazon.
I just bounced over to the www.Xess.com website and it looks jolly interesting, I'll have to spend some more time "browsing around" when I get a free moment (Ha!). But we digress. . . another reader made the following points:
Hello Max, first I'd have them read your book to get a basic understanding of the internals of FPGAs so they can explain it better to their bosses.
Next, I'd download the free web edition of the Altera Quartus II software. It has all the capabilities and tutorials to do what you describe as requirements in your article.
There's a bunch of choices for development boards, some cheaper/better than others. I've been fortunate enough to get/borrow one from the various distribution channels for Altera, Lattice, and Xilinx since they all want your socket. Arrow's tool kit loner program would be the cheapest route to start.
Programming adapters that marry up well with the tools are device specific and vary from too much $$ to way too much $$. To start out I'd go with an Altera USB Blaster clone (made in China) that you can find on the internet for $50. There are various USB to JTAG adapter projects that exist in the open-source domain, but I'd consider dealing with them to be an 'advanced topic' and not something a newbie would like to add to his or her learning curve.
Hope this helps since I consider myself not much above the 'newbie' stage.
I should note that this guy is not an Altera employee, despite his recommendation. Also, when he mentions "your book", he's talking about the one I penned a little while ago titled "The Design Warrior's Guide to FPGAs" (ISBN: 0- 7506-7604-3). Truth to tell, this is not a book that presents nitty-gritty details on actually creating designs; instead, it presents a high level view of different generic architectures, tools, and design flows. On the other hand, I have to say that I find it to be a useful reference myself, so it can't be all bad (grin).
As fate would have it, Altera came out rather well on this blog (not to imply that they've come out badly on any others, you understand), because a university professor in Canada sent me the following message:
The Altera University Program provides exactly what you describe in this article for the FPGA newbie – step by step instructions (tutorials) and lab exercises (with solutions available) that lead the student from the basic of LEDs and switches to the design of a simple processor. Please see:
I would be happy to send you a DE2 or DE1 board if you would like to have someone play with this stuff. There are more than 300 Universities worldwide using the DE2 board today, even though Altera only introduced it two years ago.
Last but not least, the following message contains everything I like to see in an email – praise for myself and a reference to one of my books:
Thanks for the start of an article on FPGA's for beginners. I've just attended an initial intro course by Doulos about VHDL and was just wondering the same questions. So, you have one reader definitely sticking with you into the next year! You'll be pleased to know a friend here has just passed me a book on the subject to read, the author's name is . . . your good self . . . I'm looking forward to reading that.
I have enjoyed your newsletter since starting in this new job the past 15 months – I'm glad to see you have as zany a humor and wayward interests that appeal to us all – so, from one happy reader, many thanks.
Well, this reader is certainly going on my Christmas Card list (grin).
Actually, I've been thinking about this a lot over the last couple of days. Truth to tell, this would be just the sort of thing that I would be good at. I love teaching and explaining things. I think I could create something really interesting in this area. My only problem is time (or the lack thereof). This would have to be a daytime (work) project, because my evenings are filled with family, friends, working on my Steampunk Computer project (I'll be waffling on about this in more detail sometime next year), and – of course – finalizing my plans to take over the world. Thus, the only way this will come about is if some enterprising FPGA company comes to me waving some money under my nose (call me "old fashioned" if you will).
Questions? Comments? Feel free to email me – Clive "Max" Maxfield – at firstname.lastname@example.org). And, of course, if you haven't already done so, don't forget to Sign Up for our weekly Programmable Logic DesignLine Newsletter.