Paperback: 464 pages
Publisher: Prentice Hall; 1St Edition edition (May 2, 2005)
Product Dimensions: 7.2 x 1 x 9.4 inches
Shipping Weight: 2.2 pounds (View shipping rates and policies)
Average Customer Review: 3.0 out of 5 stars See all reviews (6 customer reviews)
Best Sellers Rank: #1,329,944 in Books (See Top 100 in Books) #112 in Books > Computers & Technology > Programming > Parallel Programming #186 in Books > Computers & Technology > Hardware & DIY > Microprocessors & System Design > Computer Design #225 in Books > Engineering & Transportation > Engineering > Electrical & Electronics > Electronics > Semiconductors
Let's start on the positive side. This book is very current - it mentions the recent Cray and SGI FPGA accelerators as part of the reason for programmers to learn about FPGAs. It goes through some interesting and practical examples, showing how a C program can be used to specify the synthesizable logic for triple DES, including time/space tradeoffs. It gives some hardware awareness, without trying to turn a programmer into an EE. Best of all, it shows practical use of Impulse C, an ANSI C extension that supports pragma-driven pipelining and parallelism. Impulse C, by the way, seems to have an exceptional pedigree. It seems to descend from Maya Gokhale's work at Los Alamos, and there isn't much better parentage for such a product to claim.There are some problems with this book, however. It relies overwhelmingly on the Impulse C product, to the exclusion of Handel C and a flock of other products - it's really an Impulse C how-to. That's not necessarily a bad thing, but it's not what I assumed from the title. It emphasizes streaming data, like radar input, video, audio, or all the other traditional DSP applications of FPGAs. Streaming is good, but a poor match to the Cray and SGI coprocessors.The biggest problems in this book come from the basic approach of trying to turn an FPGA into a CPU. Back when iron was first introduced for bridge-building, iron beams were built to imitate wooden ones. The result was a wooden bridge made of iron. It worked, but used far more material than was needed for the job, and got relatively poor performance from the material. Ditto what happens when FPGA logic goes into a soft CPU. The result is a little like the classic "Fortran program written in C," only worse.