0% found this document useful (0 votes)
8 views

Group 4 Activity

applyu fundamental digital electronics
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Group 4 Activity

applyu fundamental digital electronics
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

COURSE NAME :APPLY FUNDAMENTAL DIGITAL ELECTRONICS

LEARNING OUTCAME 4: Apply


Programmable Logic Devices

GROUP 4 ACTIVITY
FPGAs, or Field Programmable Gate Arrays, are integrated circuits that
can be reprogrammed after manufacturing. They are used in many
industries, including automotive, aerospace, medical, and
telecommunications.
How they work
 FPGAs are made up of a matrix of configurable logic blocks (CLBs)
 They can be programmed to run specific applications or to have their
functionality changed
 FPGAs are reprogrammable, so they can be updated or changed even
after they've been deployed
Why they're useful
 FPGAs are versatile and can be used in applications that require high
performance, low latency, and real-time flexibility
 They are relatively inexpensive and can be customized to fit specific needs
 FPGAs are flexible and can be used to implement custom logic circuits
Some uses of FPGAs
 Automotive: FPGAs can help improve car safety, performance, and
connectivity
 Medical: FPGAs can be used to process images from CT scans, PET
scans, and X-rays
 Scientific research: FPGAs can help capture and process data quickly in
large experiments
 Networking: FPGAs can help speed up data packet handling and can be
customized to fit specific network requirements
What is a field programmable gate array (FPGA)?
A field programmable gate array (FPGA) is a versatile type of
integrated circuit, which, unlike traditional logic devices such as
application-specific integrated circuits (ASICs), is designed to be
programmable (and often reprogrammable) to suit different
purposes, notably high-performance computing (HPC) and
prototyping.
The phrase “field programmable” refers to an FPGA’s ability to be
programmed "in the field" or after the chip has been released
from the manufacturer. Xilinx, a technology manufacturer, first
introduced FPGAs in 1985.

FPGAs can be adapted to suit multiple use cases, including


emerging or experimental purposes, without the need to
physically modify or alter their hardware. This reconfigurable
versatility is achieved through an array of fixed programmable
logic blocks (PLBs) and flexible interconnects that can be
configured to perform either complex operations or to serve as
simple logic gates. FPGAs also include memory elements, ranging
from single-bit flip-flops to very dense memory arrays, for digital
data storage within the device.

FPGAs are highly valued for their combination of high


performance and extreme versatility. They are particularly useful
in applications requiring high performance, low latency and real-
time flexibility. For this reason, they are commonly used in the
telecommunications, automotive and aerospace industries.

The latest AI News + Insights

Discover expertly curated insights and news on AI, cloud and


more in the weekly Think Newsletter.

Subscribe today
Field programmable gate arrays (FPGAs) vs. application-specific
integrated circuits (ASICs)

FPGAs and ASICs serve different purposes.

An ASIC is developed and optimized for a specific application and


cannot be reconfigured. Its internal circuit elements (transistors)
are arranged in a fixed structure with fixed and unchangeable
interconnect (wiring) in between.

Because an ASIC serves only one purpose, it incorporates only the


logic elements that are necessary for that purpose; for example, if
a floating-point multiplier is not needed, then it is not
incorporated into the design.

Conversely, an FPGA may be configured and reconfigured for any


potential applications. Like an ASIC, its internal circuit elements
are arranged in a fixed structure (programmable logic blocks or
PLBs) but with reconfigurable interconnects in between. The logic
elements in an FPGA are selected to support a wide variety of
applications but suffer from “use it or lose it” when specific logic
elements are not used. If a floating-point multiplier is not required
for a particular application, but the FPGA contains one, then that
resource is unconnected and represents “wasted space” within
the FPGA.

While both devices can contain hundreds of millions of transistors,


an ASIC can use those transistors to deliver high efficiency and
performance at the expense of flexibility. The upfront NRE
charges to develop an ASIC can be exorbitant, while the unit costs
can be relatively low.

An FPGA uses its transistors to deliver high efficiency and high


performance but with tremendous flexibility. The upfront NRE
charges to develop an FPGA can be extremely low, while the unit
costs are generally higher. It is important to note that these are
not hard and fast rules. In the performance arena, for example,
recent FPGAs have evolved to deliver clock rates of more than
500 MHz and are generally fabricated at state-of-the-art silicon
process geometries. In short, the boundary between FPGAs and
ASIC becomes increasingly fuzzy with each new FPGA generation.
IBM Storage FlashSystem
IBM Storage FlashSystem: Optimizing VMware for Cost, Simplicity
and Resilience
Discover how IBM FlashSystem optimizes VMware environments
for cost efficiency, simplicity, and resilience. This session
highlights how FlashSystem can enhance data safety,
accessibility, and performance, making it an ideal solution for
modern IT infrastructures.
Explore IBM Storage FlashSystem
How do field programmable gate arrays work?

An FPGA becomes a customized hardware device by configuring


its PLBs and interconnects using a standard hardware description
language (HDL) like Verilog or VHDL.

Specific FPGA-based functions, as well as the interconnects


between those functions, are “described” in an HDL. The
description is compiled to produce an FPGA configuration
file. Using a hardware description language, it is possible to use
built-in FPGA resources (memory arrays, PCI cores and many
more), as well as to create customized logic circuits (adders,
multiplexers and other application-specific functions) from more
primitive FPGA elements.

In a process known as synthesis, the HDL code is translated into a


netlist, an effective description of the logic gates and
interconnects needed to implement the HDL code. The netlist is
then mapped onto the PLBs and interconnects that physically
form the unique circuit.

Modern FPGAs produced by manufacturers like Intel and Altera


offer a wide range of digital and analog features, including
impressive logic densities, flash memory, embedded processors
and digital signal processing (DSP) blocks. FPGAs can be
configured and reconfigured by modifying electrical inputs and
outputs, choosing which internal resources are used and
determining how these resources are connected through
configurable routing resources—the end result being a dedicated
hardware solution to solve a particular problem.

As with software, the development of complex FPGA designs


might be streamlined by using pre-designed libraries of various
functions and digital circuits, referred to as intellectual property
(IP) cores. These libraries are available for purchase or lease from
FPGA vendors and third-party suppliers who often specialize in
developing various functions.
Field programmable gate array modules and components

In addition to traditional circuitry components like


microcontrollers and converters, to achieve their reconfigurable
functions, modern FPGA devices use a combination of various
programmable elements.

These programmable elements are primarily configurable logic


blocks (CLBs), programmable interconnects, programmable
routing, programmable input/output blocks (IOBs), on-chip
memory and digital signal processing blocks (DSPs).
Configurable logic blocks
Configurable logic blocks (CLBs) are the primary component of
FPGAs. CLBs generally contain a few primitive logic elements
(logic gates, small look-up tables, flip-flops, multiplexers and
many more). Within the CLB, a flip-flop generally serves as the
main data storage element, although newer device families might
also incorporate shallow memory elements within the CLB.
Programmable interconnects
Linkages constructed from wire segments joined by electrically
programmable switches provide routing pathways between the
FPGA’s logic block. Switch boxes containing multiple basic
semiconductor switches are commonly used to establish an
FPGA’s programmable interconnect. These interconnects allow
the outputs of a specific unit or an input pad to be linked to any
other cell or pad within the circuitry.
Programmable routing
Prefabricated wire segments are joined together (or left
unconnected) by the programmable interconnects to deliver a
fully programmable routing infrastructure within an FPGA. Routing
resources are hierarchical in nature, with a combination of long,
medium and short wires spanning various “lengths” within the
FPGA. This programmable routing infrastructure, enabled by the
programmable interconnects, allows users to configure FPGA
resources for the implementation of a particular task or
application.
Programmable input/output blocks (IOBs)
The interface between an FPGA and other external devices is
enabled by input/output (I/O) blocks (IOBs). IOBs are
programmable input and output resources that are configured to
match the protocols of any external devices to which the FPGA
connects. All signals entering or leaving the FPGA do so through
device pins and associated IOBs.
On-chip memory
The earliest FPGAs used only flip-flops (FFs) to integrate memory
into the FPGA logic blocks. However, as FPGA capabilities
increased, increasingly complex designs required dedicated on-
chip memory for data buffering and reuse. Modern FPGAs use
large SRAM memory arrays, smaller look-up tables (LUTs) and
traditional flip-flop elements to provide the necessary storage for
a specific application.
Digital signal processing (DSP) blocks

In early FPGAs, the sole available arithmetic resources were


simple adders; anything more complex was constructed from
more primitive logic elements. However, as silicon technology
advanced, more complex arithmetic resources were incorporated
into FPGAs, culminating in the modern FPGA DSP block. DSP
blocks provide highly optimized resources (multipliers,
accumulators and many more) for the implementation of high-
performance arithmetic functions.

Their use eliminates the need to implement these functions in


general-purpose CLBs, hence freeing up the CLBs for other
purposes. Operations like digital filtering, convolution, Fourier
transforms, trigonometric operations and many more can take
advantage of these resources to obtain real-time performance in
applications ranging from radar processing, beamforming, pattern
recognition and many more.
Types of field programmable gate arrays
FPGAs are available in several different varieties that offer various
types of configurability, power consumption, programmable
elements and on-chip memory.
 Antifuse-based FPGAs: FPGAs that are configurable but
not reconfigurable. They use a one-time programmable
element called an antifuse, which is configured by applying a
high voltage to create connections between internal wires.
An antifuse-based FPGA can only be configured once and
cannot be reconfigured.
 SRAM-based FPGAs: These types of FPGAs are highly
versatile and can be configured at run time. SRAM-based
FPGAs use static random-access memory (SRAM) to store
their configuration instructions and require external memory
to hold the configuration code.
 Flash-based FPGAs: Unlike SRAM-based FPGAs, flash-
based FPGAs store their configuration in nonvolatile flash
memory, which has the added benefit of being
reprogrammable.
 EEPROM-based FPGAs: This variety of FPGA is similar to
flash-based FPGAs, but electronically erasable
programmable read-only memory (EEPROM) stores the
FPGA’s configuration. Both styles are nonvolatile and are
reprogrammable.
 Hybrid FPGAs: Hybrid FPGAs provide varying levels of
performance, low-power operation and versatility through a
combination of different programmable elements, such as
SRAM- or flash-based logic blocks.
 System-on-chip FPGAs: System-on-chip (SoC) FPGAs
integrate programmable logic with hard processor
cores, combining the functionality of both an FPGA and an
SoC, a single silicon chip that combines multiple system
processing chips like CPUs, GPUs and RAM into one unit.
Field programmable gate array use cases
Versatile by nature, FPGAs are well-suited for many different
applications.
Radar applications
FPGAs are favored for signal processing and data acquisition due
to their high-speed, parallel-processing abilities.
Unmanned aerial vehicles (UAVs)
High-speed signal processing algorithms make FPGAs well-suited
for performing the flight control, sensor processing and
communication tasks used in unmanned aircraft like drones.
Industrial control systems (ICS)
Industrial control systems used to monitor infrastructure like
power grids, oil refineries and water treatment plants use FPGAs
that can be easily optimized to meet the unique needs of various
industries. In these critical industries, FPGAs can be used to
implement various automations and hardware-based encryption
features for efficient cybersecurity.
ASIC prototyping
While FPGAs are useful solutions for tasks requiring flexibility,
task-specific ASICs are often better suited to standardized
operations. As new systems are developed, FPGAs are valuable
for developing and prototyping new ASICs for emerging
technologies.
Data centers
FPGAs add value to data centers by facilitating high-bandwidth,
low-latency servers, networking and storage infrastructure.

You might also like