Suggestions For Learning FPGA Development At Home? 185
Posted
by
timothy
from the control-your-basement's-trap-door dept.
from the control-your-basement's-trap-door dept.
Doug writes "I've recently been inspired to take up amateur electronics, specifically with FPGAs. I have an understanding of the basics, plus a solid programming background. From my research so far I've concluded that I should start with a simple FPGA development board and a couple of books on Verilog and/or VHDL and go from there. I found this Ask Slashdot discussion on Verilog vs VHDL very useful, but it focuses more on the development language rather than hardware. I'd be very interested in hearing peoples' recommendations for an entry-level kit that is simple, flexible, and affordable (sub-£200), and preferably Linux-friendly, and indeed any other wise words that experienced FPGA developers (professional or amateur) might have for a novice just starting out in the world of circuit design."
Re:Xilinx Spartan 3AN or Altera Cyclone III (Score:1, Insightful)
I agree, both of these are very good starting points, and have their own pros/cons. (some Altera tools work just fine on linux, I haven't tried everything, though)
If you want linux on board, you'll be better off learning the micro IP first, then moving to micro + OS on board.
The Altera user forums are very helpful, and many of the FAEs hang out on there to answer questions.
Also, I'll point you towards the Cohen book "VHDL Coding Styles and Methodologies" as a good introduction to VHDL construction, learning poor habits from the beginning will cripple your learning - this is a hardware language, not a software language, and as such, instructions can run in parallel.
Re:advice (Score:4, Insightful)
Sure, after you learn the way things work and know what you're doing you need to design at a higher level of abstraction, but not when you're brand new to the field. The classes I took that forced me to construct low level logic in painstaking detail, draw Karnaugh maps, and know the difference between Mealy and Moore was invaluable to being able to bypass all that and think at a higher level of abstraction. You have to have a foundation to build on.
Re:My Advice (Score:4, Insightful)
I think you miss the point. I'm not saying that he shouldn't learn VHDL and/or Verilog. Just that doing a bit of JHDL can give him some good experience with the way circuits lay out. He can actually see how, say, an adder circuit is constructed. Armed with that knowledge, he can more confidently write VHDL/Verilog code that will translate into the hardware he wants rather than some random circuitry that seems to do the right thing.
The lack of updates is disappointing, but not really a show-stopper. Even if the hardware JHDL supports falls into disuse, the simulation tools will still operate. And that's all one really needs for the learning experience. :-)
Re:advice (Score:1, Insightful)
I was going to say the same thing, so good on you.
Re:What MORON keeps tagging articles as HARDHACK? (Score:4, Insightful)
Actually, FPGAs are much more similar to hardware than they are to traditional software. Even though the configuration is volatile on most SRAM-based FPGAs, the "software" does not describe a set of procedural steps to perform as software does for microprocessors.
Rather, an FPGA configuration (personality), describes how the internal gates, storage elements, and interconnect is switched. This makes a configured FPGA almost indiscernible from an ASIC in function.
An FPGA isn't software loaded to "mimic" the functionality of an IC, it is software loaded to "describe" the functionality of the IC.
This is why VHDL and Verilog aren't strictly software programming languages. Rather, they are hardware description languages. Although they can be executed by software simulators in a fashion similar to software, they really describe hardware either behaviorally (procedurally or event-based) or structurally (netlist).
a solid programming background only hurts you (Score:3, Insightful)
Forget what you know about programming, FPGA's are about thinking in a compleltely different mind set
FPGA programming is very, very different (Score:2, Insightful)
Re:advice (Score:2, Insightful)
On the plus side, at least this time they can dual boot and/or use virtualization. No need for two boxes.
Re:What MORON keeps tagging articles as HARDHACK? (Score:4, Insightful)
The AC's comments are valid and noteworthy nonetheless. Just because someone understands OOP and knows 5 software languages doesn't mean hardware hacking will be easy. The skills are related, but proficiency in one does not necessarily imply aptitude for the other.
I recommend two things. First, give up the notion that FPGA development as a hobby can be done for the price you're looking for. Good development boards are a little pricy, but you will frustrate yourself with no end in sight by using a barebones development kit. The best cheap dev kit I've seen yet is the Xilinx Spartan-6 SP601 kit. It includes everything you need to get started, including Xilinx ISE design software. That should set you back about $300. The Spartan-6 is fairly anemic in features and power compared to most other new FPGA's so a careful consideration of your goals should take place before you make a purchase.
Two, get a good FPGA development book. I highly recommend "Designing with FPGAs and CPLDs". It's a really useful primer on programmable logic hardware to those who already are technically literate.
http://books.google.com/books?id=enQq7m800xYC&dq=embedded+FPGA [google.com]
Re:My Advice (Score:3, Insightful)
He wasn't trolling, and Xilinx's move to FlexLM is a big deal. It's why I went with them over Altera in the first place. That reason is now gone.
With product activation, you have no idea if you'll be able to recover your toolchain several years from now when you need to bring a project out of cold storage. It is not OK to rely on critical software that runs only at the pleasure of its vendor, and I'm just flabbergasted, gobsmacked, and astonished that everybody in the entire technology industry seems to think otherwise.
10.1 is the last non-protected Webpack edition, and (to their credit) Xilinx has kept it available on their site.