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[
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[
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.