Forgot your password?

typodupeerror
Hardware Hacking

Suggestions For Learning FPGA Development At Home? 185

Posted by timothy
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."
This discussion has been archived. No new comments can be posted.

Suggestions For Learning FPGA Development At Home?

Comments Filter:
  • by Anonymous Coward on Tuesday July 14 2009, @01:10PM (#28693107)

    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)

    by Anonymous Coward on Tuesday July 14 2009, @01:20PM (#28693243)

    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)

    by AKAImBatman (238306) * <akaimbatman.gmail@com> on Tuesday July 14 2009, @01:24PM (#28693319) Homepage Journal

    Trying to explain to a potential employer why you know JHDL and not verilog or VHDL is kind of depressing. JHDL's last release was 2 years ago and I'm not sure if it is an active project any more.

    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)

    by Anonymous Coward on Tuesday July 14 2009, @01:36PM (#28693511)

    I was going to say the same thing, so good on you.

  • by Anonymous Coward on Tuesday July 14 2009, @02:04PM (#28693899)

    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).

  • by goffster (1104287) on Tuesday July 14 2009, @02:58PM (#28694607)

    Forget what you know about programming, FPGA's are about thinking in a compleltely different mind set

  • by paul42w (693767) on Tuesday July 14 2009, @04:16PM (#28695535)
    This really is not a task for programmers. It is a task for an engineer that has done both logic and software design. I've been programming FPGA's since Xilinx came out with their first chips. At the time, it was all schematic capture. Place and route never completed on its own, it always required user editing to finish. FPGA design techniques depend on your constraints. For some projects, it is much cheaper to buy a very large FPGA and not worry about space optimization. If you are building thousands of the same device, then space optimization is critical. For other projects, logic timing is everything. Every chip has it's own constraints as well, especially if speed is an issue. When speed is an issue, you have to really understand how your VHDL will be implemented, because it will make all the difference between sucess & failure. Learning how to use constraint files is important. Learning how to test using simulations is critical. Time spent writing and runing simulations may exceed design time for an order of magnitude.
  • Re:advice (Score:2, Insightful)

    by morgauxo (974071) on Tuesday July 14 2009, @04:52PM (#28696115)

    On the plus side, at least this time they can dual boot and/or use virtualization. No need for two boxes.

  • 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)

    by Man On Pink Corner (1089867) on Tuesday July 14 2009, @10:56PM (#28699493)

    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.

Distrust all those who love you extremely upon a very slight acquaintance and without any visible reason. -- Lord Chesterfield

Working...