A Brief Study of Reconfigurable Computation Systems With A Focus of FPGA Based Devices
A Brief Study of Reconfigurable Computation Systems With A Focus of FPGA Based Devices
A Brief Study of Reconfigurable Computation Systems With A Focus of FPGA Based Devices
Reconfigurable Computation
Systems with a focus of FPGA
based devices
---by---
Bipul Islam
4th Year CSE group II
071090101069
Reconfigurable Computing
A peek into the future of computing
From the humble beginning with just a few semiconductors on a single board, the
Integrated circuits have lost their macro scales and now boast of cutting edge
technology with millions of semiconductor devices on miniscule capsules. We are
living in an edge where the IC’s form a hidden category of machines that form the
backbone of our modern life-style electronics.
With each advancement in the field of IC’s (with respect to complexity) there has
been a visible advancement in ability of representing more and more complex
algorithms in machines. Complex ICs either enable us to write hardwired
algorithms, or, Software programs on standard ICs for representing the algorithms.
However there is a limitation -- hardwired logic has a high performance but are not
lack the flexibility, and the software-programmed logic has high flexibility but
performance does not match the hardwired logic devices.
Beginning of Re-configurable
computing
However, with the advent of silicon based devices and more research in the field of
reconfigurability or programmability in the hardware in 1980s and 1990s, small
scale reconfigurable prototypes could be developed. But world received it’s first
commercial reconfigurable computer ALGOTRONIX CH2X4 in 1991 from the
Xilinx (who were the inventors of the concept of FPGA-- field programmable gate
arrays).
Fully FPGA based computers form a new class. This class usually contain no
CPU’s or uses the CPUs only as interface to the network environment. This later
class removes the Von Neumann bottle-necks experienced by hybrid systems and
are also energy efficient and scalable to multiple machines.
As we see here, the ASICs (Application Specific Integrated Circuits) are the
Factory programmed chips which have a hardwired logic and are generally used
for a specific purpose like, the mobile phone ICs. Standard circuits are the widely
available semiconductor IC’s that only provide standard functions, they are not
standalone systems but they need other standard IC’s to be supplemented with to
form the logic circuits. However the most versatile class is the semi-custom IC
class. These class of IC’s can be reprogrammed as needed by the user. The mask
programmed classes of IC’s are generally custom programmed by the
manufacturers by mask-programming. Field programmable devices are what we
mean by reconfigurable devices. There have been different kinds of reconfigurable
devices like Programmable ROMs, Programmable Logic Array, Programmable
Array Logic, and Complex Programmable Logic Device. The latest inclusion in the
list is the FPGA systems. We will be mainly concentrating on FPGA in our
discussions of reconfigurable computing as they are hailed the face of future
computing due to their revolutionizing architecture and the way we look at
reconfigurable devices.
FPGA’s is composed of Logic cells and separate Input/output blocks. Each logic
cell can implement a function which is described by programming of the cell. The
interconnections of the cells are also programmable. Programming of the cell
classifies the FPGA into two types:
(i) Anti-fuses, i.e., high current has to be applied to a path to enable it
(ii) RAM, in this each logic block consists of a Lookup table, a flip-flop and is
interconnected with programmable routing pathways.
Beauty of the system is, we no longer need to handle complex methodologies like
masking to custom program the device. The code to be implemented is not simply
stored in the memory as a sequential set of instructions, rather the FPGA loads a
new circuit to adapt the hardware to the program logic at runtime.
(i) Schematic
(ii) Partition
(iii)Placement
(iv) Routing
(v) Configuration bit-string
Schematic step involves designing or outlining the Logical task/ algorithm using a
graphical editor that often ships with the FPGA package or by coding using a
standard Hardware Definition Language (HDL). The HDL resembles normal
programming languages but the algorithm is expressed in terms of logic gates.
Placement of the logic blocks are determined followed by the programming of the
Logic block interconnections or routing. The configuration bit-string is a set of
parameters available in each logic block that defines the response behavior of the
block.
(i) Design
(ii) Simulate
(iii)Synthesize
(iv)Simulate & Implement
Schematic step involves designing of the FPGA to suit user needs. The design is
then simulated using simulation suits. The synthesis step optimizes the design,
creates structural elements and mapping. Finally in the Implementation phase, I/O
pin assignment and routing is performed, the positioning of the logic block on the
FPGA is determined and final program file is generated.
The granularity of the reconfigurable logic is defined as the size of the smallest
functional unit (configurable logic block) that is addressed by the mapping tools.
High granularity, which can also be known as fine-grained, often implies a greater
flexibility when implementing algorithms into the hardware. However, there is a
penalty associated with this in terms of increased power, area and delay due to
greater quantity of routing required per computation.
Rate of reconfiguration
Routing/interconnects
Advantages of FPGA
• Enhanced flexibility
• Reduced board space, power and cost
• Increased performance
FPGA chips with about 8 million gates are already available today, but this is
expected to reach 50 million/chip in 2 to 3 years.
Modern FPGA’s have a power consumption betweeb 10 W to 200 mW/ MHz. Many
of the chips have I/O pins in the range of thousands. Frequency of an internal
processor is 25 to 150 MHz for a chip complexity of 300 gates.