Yeah, it's not a real book, it's just a technical PDF. I don't care. It's several hundred pages long and I read it, so you're getting a review.
The context is that I bought myself a cheapy FPGA dev board. I'm still assembling my Z80-based computer, and have several more plans that can be satisfied by small microprocessor chips and SSI logic, but... FPGAs are fun, and the board was really quite inexpensive. It uses a Cyclone IV, so I read up on what I got.
Documenting FPGAs is a funny thing. Their inner workings are, to a degree opaque - there's a lot of trade secrety stuff, effectively. They're only going to work with the dev tools the manufacturer provides. Those dev tools have a lot of secret sauce, too. On the other hand, the basic ideas of FPGA architecture are well-known. The languages that are used to program them are pretty standard and generalised. On yet another hand, there will be bits where you need to know about subtle details of the specific thing you're dealing with and be able to tweak parameters to get the behaviour and performance you need.
So, this document covers much of the obvious basics - specs, pin-outs, how to configure the thing, and moves into more details of specific features which skim around the exact implementation, but give insight into subtleties that you probably won't be able to tweak directly, but directs you in how you might work with it. Other things will steer you towards looking into the software support for controlling this stuff. They want to provide enough information to let people become experts with their tools and chips.
Bit of an odd document, really. I imagine it's not entirely dissimilar to documents on optimising code for GPUs - the real details are somewhat proprietary (the actual machine code etc.), but they want to reveal enough understanding to allow non-trivial optimisation to take place.
What do I have planned for the board? I guess you'll have to wait and see....
Posted 2013-11-09.