background image

Chapter 1. Tools Utilized

61

Casselman set forth two goals: to determine a way to interconnect the planes of arrays,

and to create a compiler which would be able to program functions into these new chips.

Like the design of Xilinx, Casselman’s chip would rely on the technology of EEPROM

registers. In the coming years, aid from the Naval Surface Warfare Department was

applied for, and received, to develop a computer that would implement a total of 600,000

reprogrammable array gates. In 1992 a patent was granted for this system[

19

].

5.2.2

Modern developments

Recent trend has been, to take the coarse-grained architectural approach a step further

by combining the logic blocks and interconnects of traditional FPGAs with embedded

microprocessors and related peripherals to form a complete ”system on a programmable

chip”. This work mirrors the architecture by Ron Perlof and Hana Potash of Burroughs

Advanced Systems Group which combined a reconfigurable CPU architecture on a single

chip called the SB24. That work was done in 1982. Examples of such hybrid technologies

can be found in the Xilinx Zynq

TM

-7000 All Programmable SoC, which includes a 1.0

GHz dual-core ARM Cortex-A9 MPCore processor embedded within the FPGA’s logic

fabric or in the Altera Arria V FPGA which includes an 800 MHz dual-core ARM Cortex-

A9 MPCore. The Atmel FPSLIC is another such device, which uses an AVR processor

in combination with Atmel’s programmable logic architecture. The Actel SmartFusion

devices incorporate an ARM Cortex-M3 hard processor core (with up to 512 kB of flash

and 64 kB of RAM) and analog peripherals such as a multi-channel ADC and DACs to

their flash-based FPGA fabric[

20

].

FPGAs have opened the way to a new concept of reconfigurable computing. Reconfig-

urable computing is a computer architecture combining some of the flexibility of software

with the high performance of hardware by processing with very flexible high speed com-

puting fabrics like field-programmable gate arrays (FPGAs). The principal difference

when compared to using ordinary microprocessors is the ability to make substantial

changes to the datapath itself in addition to the control flow.

On the other hand,

the main difference with custom hardware, i.e. application-specific integrated circuits

(ASICs) is the possibility to adapt the hardware during runtime by ”loading” a new

circuit on the reconfigurable fabric.