20 of 22 people found the following review helpful:
5.0 out of 5 stars
The textbook we've been waiting for, April 5, 2008
This review is from: Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation (Systems on Silicon) (Hardcover)
Reconfigurable computing (RC), of one kind or another, has been around at least since Estrin's work in the 1960s. FGPAs created the real platform for it in the 1980s but, as one of the RC's founders noted, "10×-100× of performance ... has been at the cost of 10×-100× increase in difficulty in application development." Outside of a few niches in signal processing, this No Man's Land between circuit design and programming remained largely unexplored. That changed in the last few years, with the Stratix/Virtex generation of FPGAs. Quite abruptly, large numbers of researchers and developers found enough computing power to make the effort of RC worthwhile. As with any emerging technology, developments first appeared in academic journals and conference proceedings. There hasn't been a systematic introduction to RC's practice, potential, and problems.
This book is that introduction. The editors present 38 chapters, each written by established RC researchers and educators. They start with an introduction to the basics: what an FPGA is, what suits it to use as a computing platform, and how it compares to other commercial and research engines. The next covers some of the major tools used in FPGA programming. Unlike C, which linguistically captures the sequential nature of the von Neumann bottleneck, VHDL and Verilog inherently describe massive and fine-grained parallelism. These languages present challenges of their own, obviously, so other chapters describe experimental and commercial alternatives to at least parts of the RC programming problem.
Starting around page 300, the book gets into the real meat of RC. Where von Neumann models distribute an algorithm across time, RC distributes it across the space provided by the RC fabric. It even offers space-time tradeoffs of unprecedented kinds, as these authors show. The next section covers application development, including partitioning and topics that might startle some C programmers. Since RC can use data values of any width, from individual bits to thousands, the programmer not only can but must decide how many to use, subject to tradeoffs unique to RC. Then we see applications, the whole reason for computing of any kind. A few well-chosen case studies appear in sufficient detail that a practitioner could reproduce the work, or large parts of it. This section, I think, distinguishes this book from all others I've seen. It truly gives the reader some feel for the structure and development of RC applications.
This isn't the only RC book on the market, and certainly won't be the last. People already familiar with RC's arcana might pick a few fact from the text, or from the voluminous bibliographies. For someone already familiar with hardware or software (or, preferably, both) but new to RC, this offers the best introduction currently available. Despite some minor flaws in editing (including blunders with exponents in eq. 37.7), this has my highest recommendation.
-- wiredweird
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
4 of 6 people found the following review helpful:
3.0 out of 5 stars
Good but not great, June 12, 2010
This review is from: Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation (Systems on Silicon) (Hardcover)
Explains some basic concepts about FPGA's and their application to reconfigurable computing. I was more interested in FPGA architecture so it was a little disappointing to not see as much detail as I would have liked. Diagrams are clear but not of that great quality. Has the feel of being a collection of published papers rather than an original work.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No