12
\$\begingroup\$


what book titles would you recommend to get started with FPGAs and VHDL?

edit
I noticed that a few of the recommended books date back from 1996. I can imagine that the devices referred to will be seriously outdated, but has VHDL also much evolved since?

\$\endgroup\$
4
  • \$\begingroup\$ The Hamblen et al book I mentioned is very up to date, and uses the latest Altera software with a current VHDL compiler. \$\endgroup\$ Commented Nov 27, 2010 at 15:57
  • 3
    \$\begingroup\$ 1996 won't be a big problem; VHDL was revised in 1993, and that will probably be covered. There's a newer edition in the works called VHDL-200X, but learning the updates will certainly not be as big an effort as learning the technology and design style. \$\endgroup\$ Commented Nov 27, 2010 at 17:15
  • \$\begingroup\$ I recommend not using this book: amazon.com/Digital-Electronics-VHDL-Quartus-Version/dp/… \$\endgroup\$
    – J. Polfer
    Commented Nov 29, 2010 at 17:14
  • \$\begingroup\$ VHDL, like C, is pretty much static. Logic gates have not really changed, though new chips have more of them. There may be chip-specific extensions from the device manufacturers, but the underlying structure does not need to change. \$\endgroup\$ Commented Mar 22, 2011 at 5:37

6 Answers 6

6
\$\begingroup\$

The Designer's Guide to VHDL, Volume 3, Third Edition by Ashenden is quite good. Others I have found useful are VHDL for Programmable Logic by Skahill and VHDL Made Easy! by Perrilin.

\$\endgroup\$
1
  • \$\begingroup\$ Accepted as answer for the first two titles. VHDL made easy doesn't seem to be received so well, sic Amazon. \$\endgroup\$
    – stevenvh
    Commented Dec 12, 2010 at 17:14
6
\$\begingroup\$

To complement these answers -- there is also a lot to be said for also spending some real quality time with the vendor's data sheets and app notes for the FPGA devices, libraries, and tools themselves. Otherwise you may well miss a beneficial feature or dangerous pitfall of the particular device, library, or tools that you are going to be using, that are often not covered in an introductory textbook. Also devices and tools tend to evolve faster than textbooks can keep up.

See also my old bit on the Art of High Performance FPGA Design http://www.fpgacpu.org/log/aug02.html#art .

\$\endgroup\$
5
\$\begingroup\$
  1. The first book I would start with is The Designer's Guide to VHDL by Peter J. Ashenden. Assuming that you are already familiar with programming, then this book is good reference to the VHDL language.
  2. Next I would continue with Writing Testbenches: Functional Verification of HDL Models by Janick Bergeron. It does not only cover VHDL, but focuses on a number of topics that are important when writing test benches and code for verification. I think it does a better job of emphasizing the difference between VDHL for simulation and VHDL for synthesis than The Designer's Guide to VHDL.
  3. After that I would recommend studying the HDL coding guidelines provided by you FPGA vendor. The provide a lot of useful tips on how to write your VHDL code so that it efficiently maps in to the hardware primitives found in the particular device you are targeting.
  4. And finally: Download, read, and understand real-world code. I've found the GRLIB IP Library a useful source of inspiration. GRLIB is an open-source SoC library based on the SPARC processor from SUN.
\$\endgroup\$
4
\$\begingroup\$

Rapid Prototyping of Digital Systems by Hamblen, Hall and Furman. It makes a very good introduction to FPGAs (based on Altera hardware and software) and contains lots of interesting projects that can be implemented on a low-cost board available from Altera. I designed a small PCB using a Flex 10K10 FPGA that was suitable for most of the examples in the first edition, including a small 8-bit CPU.

I bought my copy for about £22, brand new, via Amazon. It's very good value.

\$\endgroup\$
2
  • \$\begingroup\$ At GBP 65 for <300 pages not exactly cheap :-(, but thanks for the suggestion. \$\endgroup\$
    – stevenvh
    Commented Nov 26, 2010 at 18:47
  • \$\begingroup\$ There is also an Altera edition. Useful but out of date with the current software, at least in the NIOS section. \$\endgroup\$ Commented Nov 26, 2010 at 20:19
3
\$\begingroup\$

When learning any sort of HDL (Verilog, VHDL...) it is important to keep one thing in mind. It is not software programming and things work in parallel. That being said, I find that the best way to learn any HDL is to learn how to think in hardware and describe the hardware (that's why it is called a hardware description language).

So far, I have rarely seen books that show you how your HDL gets translated into hardware. I've read through one when I was at Synopsys (pages filled with code and schematics) but it was an internal publication. However, even lacking this book, you can still see how your code gets turned into hardware by running it through synthesis on free-software.

The reason that I wish to stress this is because there are many ways to solve a problem. You will only be able to write code that solves it efficiently, from a gate count and timing stand point, if you understand how it gets translated into underlying hardware.

Good luck!

\$\endgroup\$
1
\$\begingroup\$

I definitely recommend every book written by Prof Pong Chu.

They offer a very comprehensive introduction to RTL design using either Verilog or VHDL. They also provide an introduction to traditional soft cores like Nios from Altera or Picoblaze or Microblaze (2017 edition) from Xilinx. The coding style is clean and the methodology to translate algorithm to FSMD (finite state machines that control data paths) is very useful.

I like all the other books cited previously, but Pong Chu books are clearly my favorite. Ashenden books is more advanced concerning VHDL, but the limits of RTL vs simulation is not as clear as Pong Chu's.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.