15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FIGURE 37.5 Achilles 3-D stack. Each small PCB contains one FPGA: connections are made by cabling between<br />

the connectors visible on each small PCB.<br />

• Database and text searching<br />

• Compression<br />

• Signal processing<br />

It is generally straightforward to transfer an algorithm from a general-purpose processor to reconfigurable<br />

hardware; synthesizers which convert VHDL or Verilog models into the bit streams necessary to program<br />

an FPGA-based system are available and efficient; however, a successful transfer must provide a solution<br />

which is more efficient, by some criterion, than the same algorithm running on fast commodity general-<br />

4<br />

purpose processors. Reconfigurable hardware generally runs slower, consumes more power, and costs<br />

more than commodity processors. This remains true at most points in the performance spectrum. At<br />

the low performance end, small processors, e.g., Motorola’s HC11 series, are available at very low cost<br />

and very low power consumption and will thus perform simple control and data processing tasks<br />

effectively. Although a modern FPGA may outperform the relatively slow processors available at the low<br />

end of the performance spectrum, there are a host of general-purpose embedded processors, e.g., the<br />

PowerPC-based devices, which will provide the additional processing power while still consuming less<br />

power and costing less than an FPGA. At the high performance end of the spectrum, the internal clock<br />

speeds of FPGAs lag behind those of commodity processors and thus their sequential processing<br />

capability does not match that of, for example, a state-of-the-art Pentium or SPARC processor; however,<br />

although it is clear that reconfigurable hardware will not provide efficient solutions for all problems,<br />

there are areas in which it is extremely efficient.<br />

The general characteristics of successful applications are<br />

(a) Sufficient parallelism: The processing algorithm must have sufficient inherent parallelism to allow<br />

multiple processing pipelines to be created. This parallelism can be either direct or pipelined.<br />

(b) Low storage requirements: Early FPGAs provided very few bits of memory—the flip-flops in logic<br />

blocks were an expensive way to provide memory. Later FPGAs have addressed this problem by<br />

allowing the configuration bits to be used as lookup tables and thus provides tens of bits per logic<br />

block. The newest generation of FPGAs provide blocks of dedicated memory but capacities are<br />

4<br />

However, Tsu et al., argue that there is no inherent reason why an FPGA should be slower [16].<br />

© 2002 by CRC Press LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!