Because I can’t focus on just one textbook at a time, I recently read Digital Design and Computer Architecture, ARM Edition, by Harris and Harris. Mostly, I wanted to learn about FPGAs. To that effect, I got lab materials (found under the “Companion Materials” in the link above) and bought myself an Altera DE2 board.
This is an older board, out of production, but easily found on eBay. This one was in mint condition with all of the accessories. It features a Cyclone II FPGA which is nice for two reasons – it’s still in production, and it’s one of the last FPGAs in production that doesn’t use a BGA footprint, making it actually usable in hobby projects.
Altera provides the free Quartus II software (Web Edition is the free version), but beware – to program a Cyclone II you need version 13.0.1 or earlier (though why go earlier I don’t know). This seems odd to me, as they still make the chip, but don’t support it in the current tool chain. The old versions can be downloaded from the Altera website.
I also needed one more file – the lab materials give a link to a file “DE2_pin_ assignments.csv” but, unfortunately, that link points to an on-campus only server at the author’s university. Still a google search found the same file elsewhere.
Another useful note on this board: I’ve been a fan of Bruce Land‘s videos from his Cornell microprocessor and FPGA classes. In the older version of the FPGA class, the one from 2011, he uses the same boards. I plan to attempt at least the first lab project from that lab.
Edit from 2024: The link above, to the Elsevier page, no longer works. The book itself can be found here: https://www.amazon.com/dp/0128000562/
Some of the supporting files and labs that had been on the Elsevier page can be found here: https://pages.hmc.edu/jspjut/class/s2015/e85/#