FPGA Learning Materials

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hello,

There are some debates about designing all sorts of DSP systems, DAC's and so on around FPGA on this forum. However I couldn't find some good references on learning how to code FPGA.

Also, a search on this forum didn't reveal anything significant.

So go ahead, post your links to online materials, books, articles, tutorials, everything you consider to be helpfull in designing FPGA.

Also, maybe it's a good ideea to make this thread sticky. I guess the Moderators will decide this.
 
For FPGA, it's essential to have a good grounding in logic design. I suggest Katz & Borriello, Contemporary Logic Design, which covers all the basics. Or read the notes to a university digital design course.

To go further, you really need some actual hardware. I took CS150 at Berkeley, which uses a custom dev board with various peripherals. There are lectures and labs on that website, but some of the material is tied to that dev board, which isn't available to the public. Interfaces to peripheral chips are all variations on a serial theme, so the material is still useful.

As for which dev board to get, generally anything will do, since audio chips will have to be on a breakout board.

Even lacking hardware, playing around with Xilinx or Altera tools can be instructive, which are free from their respective websites.

Other interesting websites are FPGA4Fun, which has a few simple projects, and OpenCores, for when you're ready to hack something more complicated.
 
www.digilentinc.com has some super-affordable FPGA dev boards. Much cheaper than DSP dev boards from Analog Devices or Freescale.

One of the things I like about FPGAs is how much you can integrate into the core. For example, if you have your digital audio system running synchronously, you can have the S/PDIF receiver(s) and transmitter(s) incorporated directly into your design via an open-source block. Need more channels? Just duplicate that block. It's all so very flexible.

The Xilinx development tools are actually very helpful when just starting out, also, as they include lots of tutorials and code examples.
 
I would tread carefully into the area of the Altera NIOS II based soft-core DSP designs if you are considering it.

Just getting it running can be an incredible exercise in frustration. Not even mentioning issues with the IDEs! On paper it sounds great, but not worth a damn when the IDE won't even let the soft core CPU run.
:no:

I can't speak for Xilinx though.

I'm beginning to the see the value in using proven, off-the-shelf ICs especially for specialty applications like this.
 
For FPGA, it's essential to have a good grounding in logic design. I suggest Katz & Borriello, Contemporary Logic Design, which covers all the basics. Or read the notes to a university digital design course.

This kind of references are great as I am trying to get the basics of this. And if they are online too, this is good news as are more accesible.

However please feel free to link to any project you think is of didactic interest. I find FPGA and CPLD projects to be quite scarced...

Thank you all for replying..
 
Altera has a development environment called Quartus that you can download for free.Here's the link.

Thank you for the link. I've downloaded the software and for know it looks like chinese to me. There are two options: a) I am a total failure when it comes to coding/hacking, b) I really have to take it slowly..

Thank you all for your support!
 
SunRa said:


Thank you for the link. I've downloaded the software and for know it looks like chinese to me. There are two options: a) I am a total failure when it comes to coding/hacking, b) I really have to take it slowly..

Thank you all for your support!


The thing to remember, if you are using HDL entry not schematic, is that you are describing hardware not writing software.
 
SunRa, sorry I did not realize you are not familiar with FPGA, VHDL or Verilog at all.

I learned with and taught an undergraduate dig. logic. class (fundamentals) using the Altera UP2 FPGA & CPLD board, and this excellent book:

Rapid Prototyping of Digital Systems by James O. Hamblen; ISBN-10: 0792374398

This book is now cheaper, includes all VHDL sources files/modules, and is based on using Quartus II. You will go step-by-step in building the fundamentals, and even doing some interesting & cools FPGA designs!

Like:

-Boolean logic functions, an ALU, I/O, debouncing pushbuttons
-Generating VGA video that can display bitmaps or text characters
-A custom soft-core CPU like MIPS CPU
-Tying these together to make a small system-on-a-chip (SOC) design

These will be enough to get you started, and will not really require a specific dev. board, as long as you have Altera FPGA and a programming cable. All will be explained there, although it is VERY helpful to have a book like one of those mentioned above to help with VHDL syntax.

I'm sure you can find a dev. board easy on the net. There are lots that are below $100. Or you can build your own using a Schmartboard and prototyping boards and an FPGA.

:)
 

Attachments

  • 41z3qwd60zl__bo2,204,203,200_pisitb-dp-500-arrow,topright,45,-64_ou01_aa240_sh20_.jpg
    41z3qwd60zl__bo2,204,203,200_pisitb-dp-500-arrow,topright,45,-64_ou01_aa240_sh20_.jpg
    12 KB · Views: 217

Mako, those notes are just great. I'll start lecturing them. Thank you!


I learned with and taught an undergraduate dig. logic. class (fundamentals) using the Altera UP2 FPGA & CPLD board, and this excellent book:

Thank you MartyM, I realise that the lecture notes won't be enough and I'll soon need a more detailed learning material, like the one you recommended. I hope that in a few weeks I'll get Rapid Prototyping of Digital Systems and Contemporary Logic Design .

The thing to remember, if you are using HDL entry not schematic, is that you are describing hardware not writing software.

Thank you rfbrw, I'll keep that in mind.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.