15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Programmable Active Memories (PAM)<br />

A dozen copies of the variant named DECPeRLe-1 found their way into research centers around the<br />

world and were applied to a diverse set of problems [10]. The computing surface was a 4 × 4 array of<br />

XC3090 devices with seven additional FPGAs acting as memory and interface controllers. FPGAs in the<br />

array were connected directly to each of their four neighbours. Devices in each row and column shared<br />

common 16-bit buses, so that there were four 64-bit buses running the length of the array—one for each<br />

geographic direction N, S, E, and W. Static RAM was added to provide the storage lacking in the early<br />

devices used and FIFOs provided elasticity in a high-speed interface to a host processor. Vuillemin et al.<br />

discuss an extensive list of problems to which PAMs were applied [10]: long integer arithmetic, RSA<br />

cryptography, molecular biology, finite differences, neural networks, video compression, image classification,<br />

image analysis, cluster detection, image acquisition, stereo vision, sound synthesis, and Viterbi<br />

decoding.<br />

They consistently applied the following rule in deciding what part of any problem should be allocated<br />

to the hardware:<br />

“Cast the inner loop in PAM hardware; let software handle the rest [10]!”<br />

PAM spawned a successor, PAMETTE, a PCI card with 5 Xilinx 4000 series devices on it [11]. One<br />

device served as the PCI interface with the remaining four arranged in a 2 × 2 matrix. SRAM and DRAM<br />

may be added and provision is made for external connections via a daughter board. A large number of<br />

similar boards—all with the same basic idea: place a number of FPGAs on a card, which may be inserted<br />

into the bus of a suitable host—have been designed by research groups. Several commercial products are<br />

also available.<br />

SPACE<br />

The Scalable Parallel Architecture for Concurrency Experiments (SPACE) machine was developed at the<br />

University of Strathclyde [12]; it was followed by the SPACE-II, built at the University of South Australia<br />

[13]. Both variants used fine-grain FPGAs (Algotronix CAL1024s in SPACE and Xilinx XC6216s in<br />

SPACE 2) as the primary target was the simulation of highly concurrent systems such as digital circuits,<br />

traffic systems, particle flow, and electrical stimuli models of the heart. SPACE 2 processor boards contained<br />

8 XC6216 processor FPGAs and an XC4025 providing a PCI interface to an Alpha host. On each board,<br />

the fine-grained processors are connected in a mesh in order to provide a seamless array of gates on the<br />

board. Additional memory (32 Mb of static RAM) was present on each board. A secondary backplane<br />

allowed high-bandwidth connections between SPACE 2 boards.<br />

Achilles<br />

The Achilles architecture aims to provide much more flexible interconnection patterns: Figure 37.5 shows<br />

the 3-D arrangement in which small PCBs containing a single FPGA are arranged in a vertical “stack”<br />

[14,15]. A limited number of fixed bussed interconnections are provided at the base of the stack, committing<br />

only about one-third of the available I/O pins to fixed interconnect. A second side of the stack is<br />

used for programming and diagnostic connections: this enables the stack to be “gang” programmed—<br />

each FPGA is loaded with an identical program—or individually. The remaining two sides have uncommitted<br />

connections: connectors are provided for groups of eight signals and ribbon cables are used to<br />

connect FPGAs as the target application requires. This system offers wide variations in communication<br />

patterns at the expense of manual reconfiguration.<br />

Applications<br />

The list of applications, which have been successfully implemented in reconfigurable hardware systems,<br />

is long; it includes applications from such diverse areas as:<br />

• Image processing<br />

• Cryptography<br />

© 2002 by CRC Press LLC

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

Saved successfully!

Ooh no, something went wrong!