This document provides an introduction to FPGA design fundamentals including:
- Programmable logic devices like PLDs, CPLDs, and FPGAs which allow for reconfigurable logic circuits.
- The basic architecture of FPGAs including configurable logic blocks (CLBs), input/output blocks (IOBs), and a programmable interconnect structure.
- Verilog and VHDL as common hardware description languages used for FPGA design entry and simulation.
- A simple example of designing a half-adder circuit in VHDL, including entity, architecture, and behavioral modeling style.
FPGA are a special form of Programmable logic devices(PLDs) with higher densities as compared to custom ICs and capable of implementing functionality in a short period of time using computer aided design (CAD) software....by mathewsubin3388@gmail.com
Complex Programmable Logic Device (CPLD) Architecture and Its Applicationselprocus
A CPLD (complex programmable logic device) chip includes several circuit blocks on a single chip with inside wiring resources to attach the circuit blocks. Each circuit block is comparable to a PLA or a PAL.
FPGA are a special form of Programmable logic devices(PLDs) with higher densities as compared to custom ICs and capable of implementing functionality in a short period of time using computer aided design (CAD) software....by mathewsubin3388@gmail.com
Complex Programmable Logic Device (CPLD) Architecture and Its Applicationselprocus
A CPLD (complex programmable logic device) chip includes several circuit blocks on a single chip with inside wiring resources to attach the circuit blocks. Each circuit block is comparable to a PLA or a PAL.
This presentation gives an overview of FPGA devices. An FPGA is a device that contains a matrix of re-configurable gate array logic circuitry. When a FPGA is configured, the internal circuitry is connected in a way that creates a hardware implementation of the software application.
FPGA devices can deliver the performance and reliability of dedicated hardware circuitry.
This is a presentation on FPGA from my 3rd year academics which was the field of my mini project/seminar in the same. Main emphasis is laid on the application of FPGA in DSP domain
Field-programmable gate array\
only for these students that are intrested in Field-programmable gate array
field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing – hence "field-programmable". The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC). (Circuit diagrams were previously used to specify the configuration, as they were for ASICs
The FPGA industry sprouted from programmable read-only memory (PROM) and programmable logic devices (PLDs). PROMs and PLDs both had the option of being programmed in batches in a factory or in the field (field-programmable). However, programmable logic was hard-wired between logic gates.[6]
In the late 1980s, the Naval Surface Warfare Center funded an experiment proposed by Steve Casselman to develop a computer that would implement 600,000 reprogrammable gates. Casselman was successful and a patent related to the system was issued in 1992.[6]
Some of the industry's foundational concepts and technologies for programmable logic arrays, gates, and logic blocks are founded in patents awarded to David W. Page and LuVerne R. Peterson in 1985.
A VLSI (Very Large Scale Integration) system integrates millions of “electronic components” in a small area (few mm2 few cm2).
design “efficient” VLSI systems that has:
Circuit Speed ( high )
Power consumption ( low )
Design Area ( low )
A fundamental introduction to Intellectual Property in VLSI domain. Starts from basics and includes types of IPs and their examples, life cycle of an IP and other few topics in brief in an interactive Q-A manner.
The material is also available at : https://wordpress.com/stats/day/vlsifundamentals.wordpress.com
This presentation gives an overview of FPGA devices. An FPGA is a device that contains a matrix of re-configurable gate array logic circuitry. When a FPGA is configured, the internal circuitry is connected in a way that creates a hardware implementation of the software application.
FPGA devices can deliver the performance and reliability of dedicated hardware circuitry.
This is a presentation on FPGA from my 3rd year academics which was the field of my mini project/seminar in the same. Main emphasis is laid on the application of FPGA in DSP domain
Field-programmable gate array\
only for these students that are intrested in Field-programmable gate array
field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing – hence "field-programmable". The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC). (Circuit diagrams were previously used to specify the configuration, as they were for ASICs
The FPGA industry sprouted from programmable read-only memory (PROM) and programmable logic devices (PLDs). PROMs and PLDs both had the option of being programmed in batches in a factory or in the field (field-programmable). However, programmable logic was hard-wired between logic gates.[6]
In the late 1980s, the Naval Surface Warfare Center funded an experiment proposed by Steve Casselman to develop a computer that would implement 600,000 reprogrammable gates. Casselman was successful and a patent related to the system was issued in 1992.[6]
Some of the industry's foundational concepts and technologies for programmable logic arrays, gates, and logic blocks are founded in patents awarded to David W. Page and LuVerne R. Peterson in 1985.
A VLSI (Very Large Scale Integration) system integrates millions of “electronic components” in a small area (few mm2 few cm2).
design “efficient” VLSI systems that has:
Circuit Speed ( high )
Power consumption ( low )
Design Area ( low )
A fundamental introduction to Intellectual Property in VLSI domain. Starts from basics and includes types of IPs and their examples, life cycle of an IP and other few topics in brief in an interactive Q-A manner.
The material is also available at : https://wordpress.com/stats/day/vlsifundamentals.wordpress.com
This presentation given at Imperial College London focused on the myriad of applications of Field Programmable Gate Arrays in Finance. On how FPGAs work, why there has been an increased interest, and why it is important to adopt this technology.
David and Kanwen and Carlos implemented a speech recognition system on an FPGA development board (Altera DE2 Board) for the Design Project course at McGill (ECSE 494).
A review of the history of digital design throughout the years until the era of programmable logic, and a detailed exploration of the architecture of FPGA chips, followed by an introduction to SoC FPGAs and some of their benefits.
The presentation is dedicated to advantages and disadvantages of FPGA (Field-Programmable Gate Array): its construction and speed features, as well as security elements. It also deals with such issues as new devices synthesis and expanding the existing hardware functionality, realisation of microprocessors for specialized tasks, as well as OpenCL, a system for parallel calculations.
This presentation by Andriy Smolskyy (Lead Software Engineer, GlobalLogic) was delivered at Embedded TechTalk Lviv on June 17, 2015.
Dlc{binary to gray code conversion} pptTanish Gupta
BINARY TO GRAY CODE CONVERSION
1- WHAT IS A BINARY CODE ?
-> A binary code represents text or computer processor instructions using the binary number system's two binary digits, 0 and 1. The binary code assigns a bit string to each symbol or instruction.
2- WHAT IS A GRAY CODE ?
-> The reflected binary code(RBC), also known as Gray code after Frank Gray, is a binary numeral system where two successive values differ in only one bit. This code was originally designed to prevent spurious output from electromechanical switches.
THE GRAY CODE{Image in Ppt}
3- Binary-to-Gray code conversion
->
The MSB in the Gray code is the same as corresponding MSB in the binary number.
Going from left to right, add each adjacent pair of binary code bits to get the next Gray code bit. Discard carries.
ex: convert 101102 to Gray code
1 + 0 + 1 + 1 + 0 binary
1 1 1 0 1 Gray
CONVERTING CIRCUIT{Image in Ppt}
LOGIC DIAGRAM OF 4 BIT BINARY TO GRAY CODE CONVERTER{Image in Ppt}
TRUTH TABLE{Image in Ppt}
All images related to topics are in ppt.
THANK YOU
Programmable logic controller performance enhancement by field programmable g...ISA Interchange
PLC, the core element of modern automation systems, due to serial execution, exhibits limitations like slow speed and poor scan time. Improved PLC design using FPGA has been proposed based on parallel execution mechanism for enhancement of performance and flexibility. Modelsim as simulation platform and VHDL used to translate, integrate and implement the logic circuit in FPGA. Xilinx’s Spartan kit for implementation-testing and VB has been used for GUI development. Salient merits of the design include cost-effectiveness, miniaturization, user-friendliness, simplicity, along with lower power consumption, smaller scan time and higher speed. Various functionalities and applications like typical PLC and industrial alarm annunciator have been developed and successfully tested. Results of simulation, design and implementation have been reported.
1. FUNDAMENTALS OF FPGA DESIGN
Dr.V. SUKANYA
DEPARTMENT OF ELECTRONICS
S.S.B.N. COLLEGE(Autonomous)
ANANTPAUR – 515 001.
2. INTRODUCTION
In the world of digital electronic systems, there are three
basic kinds of devices
Memory, microprocessor, logic devices
Memory devices store random information such as the
contents of a spreadsheet or database.
Microprocessors execute software instructions to perform a
wide variety of tasks such as running a word processing
Program or video game.
Logic devices provide specific functions, including device-to-
device interfacing, data communication, signal processing,
data display, timing and control operations, and almost every
other function a system must perform.
3. Logic devices
> A logic device is one which can perform any logic function
Logic devices are broadly classified in to two Categories .
They are , Fixed and programmable.
As the name suggests, the circuits in a fixed logic device are
permanent, they perform one function or set of functions - once
manufactured, they cannot be changed.
On the other hand, programmable devices are standard and
offers a wide range of logic features and voltage
characteristics - and these devices can be changed at any time
to perform various logic functions.
4. Programmable
With programmable logic devices, designers use
inexpensive software tools to quickly develop, simulate,
and test their designs. Then, a design can be quickly
programmed into a device, and immediately tested in a
live circuit. The PLD that is used for this prototyping is
the exact same PLD that will be used in the final
production of a piece of end equipment, such as a
network router, a DSL modem, a DVD player, or an
automotive navigation system. There are no NRE costs
and the final design is completed much faster than that
of a custom, fixed logic device.
5. Programmable logic devices
A programmable logic device is an integrated circuit with
internal logic gates and interconnects. These gates can be
connected to obtain the required logic Configuration.
The term Programmable means changing either hardware or
software configuration of an internal logic and interconnects.
Of course the configuration of the internal logic is done by
the user.
PROM,EPROM,PAL,GAL etc.. Are few examples of
programmable logic devices.
6. A PLD is a general purpose chip for implementing
logic circuitry. It contains a collection of logic circuit
elements that can be customized in different ways.
A PLD can be viewed as a black box that contains
logic gates and programmable switches .
These devices allow the end user to specify the
logical operation of the device through a process
called “programming”
7. Types of PLDs
• Among the several types of commercial PLDs
available, there are two important types.
PLA (Programmable logic array)
PAL (Programmable array logic)
8. Programmable logic array(PLA)
The PLA was developed in the middle 1970s as
the first nonmemory programmable logic device.
It is used as programmable AND array as well as
programmable OR array i.e, both AND and OR
planes are programmable.
Logic functions can be realized using SOP .
9. Advantages of PLAs
The architecture of PLA is more flexible.
Frequently used in state machine design.
Disadvantages
Although the PLA is more flexible it has not been
widely accepted by engineers.
Due to programmable AND and OR planes more
number of programmable switches are required,
which reduce the speed performance of the circuits
implemented in PLAs.
10. Programmable Array logic (PAL)
The drawbacks in PLA has led to the
development of similar device in which the AND
plane is programmable, but OR plane is fixed.
Such a chip is known as a programmable array
logic (PAL).
11. Advantages
Frequently used in practical applications.
Less expensive and offer better performance
than PLA.
Disadvantages
ROM guaranteed to implement any M functions
of N inputs. PAL may have too few inputs to the
OR gates.
12. CPLDs & FPGAs
To retain the advantages and to overcome the
disadvantages of PLAS and PALS the newly
introduced devices are known as CPLDs and FPGAs
What do they do?
These are reprogrammable logic devices .
Designers use software to develop any digital circuit
they like and the program the chip to perform the
function.
They are very fast – much faster than a
microcontroller
13. Complex programmable logic devices
(CPLDs)
Introduction
Instead of relying on a programming unit to configure
a chip , it is advantageous to be able to perform the
programming while the chip is still attached to its
circuit board. This method of programming is known
as “In-System programming (ISP). It is not
usually provided for PLAs (or) PALs , but it is
available for the more sophisticated chips known as
“Complex programmable logic device”
14. “A Complex programmable logic device is a
device that contain multiple combination of PLAs
and PALs”.
A simple architecture of CPLD is shown below.
15. Field programmable logic devices
(FPGAs)
Introduction
By modern standards, a logic circuit with 20,000
gates is not large. To implement larger circuits, it
is convenient to use a different type of chip that
has larger logic capacity.
16. HISTORY
Field programmable gate arrays(FPGAs)arrived
in 1984 as an alternative to programmable logic
devices(PLDs) and ASCIs.
As their name implies ,FPGAs offer the
significant benefit of being readily
programmable.
FPGAs fill a gap between discrete logic and the
smaller PLDs on the low end of the complexity
scale and costly custom ASICs on the high end.
17. Just a few years ago, the largest FPGA was
measured in tens of thousands of system gates
and operated at 40MHz. Older FPGAs often cost
more than $150 for the most advanced parts at
the time.
Today, however, FPGAs offer millions of gates of
logic capacity, operate at 300MHz, can cost less
than $10, and offer integrated functions like
processors and memory
FPGAs offer all of the features needed to
implement most complex designs.
18. “A Field programmable gate array (FPGA) is a
programmable logic device that supports
implementation of relatively large logic circuits.”
As the name suggests ,Field Programmable
Gate Arrays the standard logic elements are
available for the designer and he has only to
interconnect these elements to achieve the
desired functional performance.
19. Architecture of FPGA
The architecture of FPGA is very simple than
other programmable devices
Elements of FPGA
The basic elements of an Field Programmable
Gate Array are:
Configurable logic blocks(CLBs)
Configurable input output blocks(IOBs)
Two layer metal network of vertical and
horizontal lines for interconnecting the CLBS
and FPGAs (programmable interconnect)
20. A simple modern architecture of FPGA is shown below:
21. Just about all FPGAs include a regular,
programmable, and flexible architecture of logic
blocks surrounded by input/output blocks on the
perimeter. These functional blocks are linked
together by a hierarchy of highly versatile
programmable interconnects.
22. Configurable logic blocks (CLBs)
The configurable logic block which is RAM based
or PLD based is the basic logic cell. It consists of
registers (memory), muxes and combinatorial
functional unit.
An array of CLBS are embedded within a set of
vertical and horizantal channels that contain
routing which can be personalized to
interconnect CLBs.
23. The following figure represents the architecture
of a single CLB.
24. Configurable Input / Output logic locks (IOBs):
CLBs and routing channels are surrounded by a
set of programmable I/Os which is an
arrangement of transistors for configurable I/O
drivers.
25. Programmable interconnects
These are unprogrammed interconnection
resources on the chip which have channeled
routing with fuse links.
Programmable highly interconnect matrix is
available. In this case the design is that of the
interconnections and communications only.
26. The following figure represents the Row-Column
architecture of programmable interconnect.
27. Advantages
Design cycle Is significantly reduced. A user
can program an FPGA design in a few minutes
or seconds rather than weeks or months
required for mask programmed parts.
High gate density i.e, it offers large gate counts.
Compared with PLDs they are less dense.
No custom masks tooling is required saving
thousands of dollars(Low cost).
28. Low risk and highly flexible.
Reprogrammability for some FPGAs(design can
be altered easily).
Can replace currently used SSI and MSI chips.
Suitable for prototyping.
29. Limitations
Speed is comparatively less.
The circuit delay depends on the performance of
the design implementation tools.
The mapping of the logic design into FPGA
architecture requires sophisticated design
implementation (CAD)tools than PLDs.
31. Different FPGA Vendors
Though there are various FPGA vendors in the world market only
two or three manufacturers are well known in the industry. For
example :
1. Xilinx : Founded by Ross Freeman, original
inventor of FPGAs in 1984.
Sparten II,IIE,Sparten III,Virtex …
2. Altera: Altera cyclone II FPGA and
associated design, software Quartus II
3. Actel :
34. Applications
1. Low-cost customizable digital circuitry
• cost customizable digital circuitry Can be
used to make any type of digital circuit.
• Rapid with product development with design
software.
• Upgradable.
35. 2. High-performance computing performance
• Complex algorithms are off-loaded to an FPGA co-
processor.
• Application-specific hardware.
• FPGAs are inherently parallel and can have very
efficient hardware.
• algorithms: typical speed increase is x10 - x100.
36. 3. Evolvable hardware Evolvable hardware
• Hardware can change its own circuitry.
• Neural Networks.
4. Digital Signal Processing
• Reconfigurable DSP hardware.
37. FPGA DESIGN TOOLS
• There are two important design tools available in
the market
• verilog
VHDL (Very high speed integrated circuit
hardware descriptive language)
38. Verilog
Verilog HDL originated in 1983 at Gateway design
automation.
Today, Verilog HDL is an accepted IEEE standard.In
1995,the original standard IEEE 1364-1995 was
approved. IEEE 1364-2001 is the latest verilog HDL
standard that made significant improvements to the
original standard.
39. VHDL
VHDL is a language for describing digital
electronic systems. It arose out of the United
states government’s very high speed integrated
circuits (VHSIC) program initiated in 1980
40. • As it became clear very soon that there was a
need for a standard language for describing the
structure and function of integrated circuits, this
VHDL language was developed and
subsequently adopted as a standard by the
Institute of Electrical and Electronics Engineers
(IEEE).
41. Design units
VHDL provide five different types of primary
constructs called design units. They are:
Entity declaration
Architecture body
Configuration declaration
Package declaration
Package body
42. 1.Entity declaration:
The entity declaration specifies the name of the
entity being modeled and lists the set of interface
ports.
Example:
entity HALF-ADDER is
port (A,B :in BIT; SUM,CARRY :out BIT);
end HALF-ADDER;
43. 2.Architecture body:
The internal details of an entity are specified by an
architecture body using any of the following modeling
styles.
• Structural style modeling
• Mixed style of modeling
• Dataflow style of modeling
• Behavioral style of modeling
44. • Structural style of modeling:
In the structural style of modeling, an entity is
described as a set of interconnect components.
Example:
architecture HA-STRUCTURE OF HALF-ADDER is
component XOR2
port (x,y: in BIT;Z: out BIT);
end component;
component AND2
Port (L,M: in BIT;N: out BIT);
end component;
45. • Dataflow style modeling:
In this modeling style, the flow of data through the
entity is expressed primarily using concurrent signal
assignment statements. The structure of the entity
is not explicitly specified in this modeling style, but
it can be implicitly deduced.
Example:
architecture HA-CONCURRENT of HALF-ADDER is
Begin
Sum<= A or B ;
Carry<=A and B;
End HA-CONCURRENT;
46. • Behavioral style of modeling:
The behavioral style of modeling specifies the
behavior of an entity as a set of statements that
are executed sequentially in the specified order.
Example:
architecture behavioral of DECODER is
begin
Process (A,B,ENABLE)
begin
Statements--;
end process
end behavioral;
47. 3.Configuration declaration:
A configuration declaration is used to select one of
the possibly many architecture bodies that an
entity may have, and to bind components, used to
represent structure in that architecture body.
Example:
Configuration HA-BINDING of HALF-ADDER IS
statements--;
End HA-BINDING;
48. 4.Package declaration:
A package declaration is used to store a set of
common declarations, such as components,
types, procedures and functions.
Example:
Package MUX is
Constant A:= 120ns:
Function (x, y :integer) return BIT-VECTOR;
END MUX;
49. 5.Package body:
A package body is used to store the definitions of
functions and procedures that were declared in the
corresponding package declaration.
Example:
Package body EX_PACK is
Function (INT-VALUE:INTEGER)
Statements--;
End EX_PACK;
50. Now let us discuss a simple FPGA design using VHDL
Design of Half-Adder
Library IEEE;
Use IEEE.STD-LOGIC-1164.all;
Entity Half-adder is
Port( a,b: in std-logic;
sum: out std_logic;
Cout: out std_logic);
Architecture behavioral of Half-adder is
begin
sum<= a xor b;
Cout<=a and b;
end behavioral;
51. • The simulation is done by using Modelsim
simulator and the results are shown in the
next slide