SlideShare a Scribd company logo
Introduction to Field
Programmable Gate Arrays
Lecture 1/3
CERN Accelerator School on Digital Signal Processing
Sigtuna, Sweden, 31 May – 9 June 2007
Javier Serrano, CERN AB-CO-HT
Outline
Historical introduction.
Basics of digital design.
FPGA structure.
Traditional (HDL) design flow.
Demo.
Outline
Historical introduction.
Basics of digital design.
FPGA structure.
Traditional (HDL) design flow.
Demo.
Historical Introduction
 In the beginning, digital design was done with the ’74 series of chips.
 Some people would design their own chips based on Gate Arrays, which
were nothing else than an array of NAND gates:
Historical Introduction
 The first programmable chips were PLAs (Programmable Logic Arrays): two
level structures of AND and OR gates with user programmable connections.
 Programmable Array Logic devices were an improvement in structure and
cost over PLAs. Today such devices are generically called Programmable
Logic Devices (PLDs).
Historical introduction
 A complex PLD (CPLD) is nothing else than a collection of multiple PLDs
and an interconnection structure.
 Compared to a CPLD, a Field Programmable Gate Array (FPGA) contains a
much larger number of smaller individual blocks + large interconnection
structure that dominates the entire chip.
Outline
Historical introduction.
Basics of digital design.
FPGA structure.
Traditional (HDL) design flow.
Demo.
Basics of digital design
 Unless you really know what you are doing, stick to
synchronous design: sandwiching bunches of
combinational logic in between flip flops.
 Combinational logic: state of outputs depend on current
state of inputs alone (forgetting about propagation delays
for the time being). E.g. AND, OR, mux, decoder, adder...
 D-type Flip flops propagate D to Q upon a rising edge in
the clk input.
 Synchronous design simplifies design analysis, which is
good given today’s logic densities.
Don’t do this!
Toggle flip-flops get triggered by glitches produced by different path
lengths of counter bits.
Basics of (synchronous) Digital Design
dataSelectC
dataAC[31:0]
dataBC[31:0]
dataSelectCD1
dataACd1[31:0]
DataOut_3[31:0]
0
1
DataOut[31:0]
sum_1[31:0]
+
sum[31:0]
DataOut[31:0]
[31:0]
DataInB[31:0] [31:0]
DataInA[31:0] [31:0]
DataSelect
Clk
Q[0]
D[0]
[31:0]
Q[31:0]
[31:0]
D[31:0]
[31:0]
Q[31:0]
[31:0]
D[31:0]
Q[0]
D[0]
[31:0]
Q[31:0]
[31:0]
D[31:0] [31:0]
[31:0]
[31:0] [31:0]
Q[31:0]
[31:0]
D[31:0]
[31:0]
[31:0]
[31:0] [31:0]
Q[31:0]
[31:0]
D[31:0]
High clock rate:
144.9 MHz on a
Xilinx Spartan IIE.
Higher clock rate:
151.5 MHz on the
same chip.
dataSelectC
dataAC[31:0]
dataBC[31:0]
sum[31:0]
+
DataOut_3[31:0]
0
1
DataOut[31:0]
DataOut[31:0]
[31:0]
DataInB[31:0] [31:0]
DataInA[31:0] [31:0]
DataSelect
Clk
Q[0]
D[0]
[31:0]
Q[31:0]
[31:0]
D[31:0]
[31:0]
Q[31:0]
[31:0]
D[31:0]
[31:0]
[31:0]
[31:0]
[31:0]
[31:0]
[31:0] [31:0]
Q[31:0]
[31:0]
D[31:0]
6.90 ns
6.60 ns
Illustrating the latency/throughput tradeoff
Outline
Historical introduction.
Basics of digital design.
FPGA structure.
Traditional (HDL) design flow.
Demo.
Basic FPGA architecture
The logic block: a summary view
Example: using a LUT
as a full adder.
A practical example: Xilinx Virtex II Pro
family (used in the lab)
Overview Configurable
Logic Block (CLB)
Embedded PowerPC
Digitally Controlled Impedance (DCI)
A practical example: Xilinx Virtex II Pro
family
Slice
Detail of half-slice
A practical example: Xilinx Virtex II Pro
family
Routing resources
FPGA state of the art
 In addition to logic gates and routing, in a modern FPGA
you can find:
 Embedded processors (soft or hard).
 Multi-Gb/s transceivers with equalization and hard IP for serial
standards as PCI Express and Gbit Ethernet.
 Lots of embedded MAC units, with enough bits to implement
single precision floating point arithmetic efficiently.
 Lots of dual-port RAM.
 Sophisticated clock management through DLLs and PLLs.
 System monitoring infrastructure including ADCs.
 On-substrate decoupling capacitors to ease PCB design.
 Digitally Controlled Impedance to eliminate on-board termination
resistors.
Embedded processors
Why use embedded processors?
Customization: take only the
peripherals you need and
replicate them as many times
as needed. Create your own
custom peripherals.
Strike optimum balance in system partitioning.
Serial signaling
 Avoids clock/data skew by using embedded clock.
 Reduces EMI and power consumption.
 Simplifies PCB routing.
Clock management
Outline
Historical introduction.
Basics of digital design.
FPGA structure.
Traditional (HDL) design flow.
Demo.
Traditional design flow 1/3
HDL
Synthesis
Implementation
Download
HDL
Implement your
design using
VHDL or Verilog
Functional
Simulation
Timing
Simulation
In-Circuit
Verification
Behavioral
Simulation
Traditional design flow 2/3
Behavioral
Simulation
HDL
Synthesis
Implementation
Download
HDL
Synthesize the
design to create
an FPGA netlist
Functional
Simulation
Timing
Simulation
In-Circuit
Verification
Traditional design flow 3/3
Behavioral
Simulation
HDL
Synthesis
Implementation
Download
HDL
Translate, place
and route, and
generate a
bitstream to
download in the
FPGA
Functional
Simulation
Timing
Simulation
In-Circuit
Verification
VHDL 101
Both VHDL code segments produce exactly the same hardware.
VHDL 101: hierarchy
Outline
Historical introduction.
Basics of digital design.
FPGA structure.
Traditional (HDL) design flow.
Demo.
Demo
Now, let’s see how you go from design
idea to hardware, using the traditional flow.
Many thanks to Jeff Weintraub (Xilinx
University Program), Bob Stewart
(University of Strathclyde) and Silica for
some of the slides.

More Related Content

PPT
Short.course.introduction.to.vhdl for beginners
PPTX
SoC FPGA Technology
PPTX
UNIT 5 FPGA DESIGN r16.pptx UNIT 5 FPGA DESIGN r16.pptx
DOCX
Fpg as 11 body
PDF
8d545d46b1785a31eaab12d116e10ba41d996928Lecture%202%20and%203%20pdf (1).pdf
PPTX
Using FPGA in Embedded Devices
DOCX
Fpga lecture
PPT
ASIC VS FPGA.ppt
Short.course.introduction.to.vhdl for beginners
SoC FPGA Technology
UNIT 5 FPGA DESIGN r16.pptx UNIT 5 FPGA DESIGN r16.pptx
Fpg as 11 body
8d545d46b1785a31eaab12d116e10ba41d996928Lecture%202%20and%203%20pdf (1).pdf
Using FPGA in Embedded Devices
Fpga lecture
ASIC VS FPGA.ppt

Similar to CASFPGA1.ppt (20)

PPT
Fpga &;cpld(by alok singh)
PPTX
Introduction to EDA Tools
PDF
1. FPGA architectures.pdf
PPTX
Lecture 16 RC Architecture Types & FPGA Interns Lecturer.pptx
PDF
J044084349
PPTX
Seminar on field programmable gate array
PDF
Fpga & VHDL
PPT
Short.course.introduction.to.vhdl
PPTX
Fpga architectures and applications
PDF
FPGA Architecture and application
PDF
Project report of 2016 Trainee_final
PPTX
Lecture Slide (1).pptx
PDF
Basic Design Flow for Field Programmable Gate Arrays
PDF
digitaldesign-s20-lecture3b-fpga-afterlecture.pdf
PDF
Summer training vhdl
PPTX
Summer training vhdl
PPTX
Introduction to CPLD: Field Programmable Gate Array
PPTX
Design options for digital systems
PDF
FPGA Based VLSI Design
PPTX
module nenddhd dhdbdh dehrbdbddnd d 1.pptx
Fpga &;cpld(by alok singh)
Introduction to EDA Tools
1. FPGA architectures.pdf
Lecture 16 RC Architecture Types & FPGA Interns Lecturer.pptx
J044084349
Seminar on field programmable gate array
Fpga & VHDL
Short.course.introduction.to.vhdl
Fpga architectures and applications
FPGA Architecture and application
Project report of 2016 Trainee_final
Lecture Slide (1).pptx
Basic Design Flow for Field Programmable Gate Arrays
digitaldesign-s20-lecture3b-fpga-afterlecture.pdf
Summer training vhdl
Summer training vhdl
Introduction to CPLD: Field Programmable Gate Array
Design options for digital systems
FPGA Based VLSI Design
module nenddhd dhdbdh dehrbdbddnd d 1.pptx
Ad

Recently uploaded (20)

PPTX
Lecture Notes Electrical Wiring System Components
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
DOCX
573137875-Attendance-Management-System-original
PDF
Well-logging-methods_new................
PPTX
Geodesy 1.pptx...............................................
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPT
Project quality management in manufacturing
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Construction Project Organization Group 2.pptx
Lecture Notes Electrical Wiring System Components
Operating System & Kernel Study Guide-1 - converted.pdf
OOP with Java - Java Introduction (Basics)
Internet of Things (IOT) - A guide to understanding
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
CH1 Production IntroductoryConcepts.pptx
573137875-Attendance-Management-System-original
Well-logging-methods_new................
Geodesy 1.pptx...............................................
bas. eng. economics group 4 presentation 1.pptx
Project quality management in manufacturing
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
CYBER-CRIMES AND SECURITY A guide to understanding
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Construction Project Organization Group 2.pptx
Ad

CASFPGA1.ppt

  • 1. Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier Serrano, CERN AB-CO-HT
  • 2. Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.
  • 3. Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.
  • 4. Historical Introduction  In the beginning, digital design was done with the ’74 series of chips.  Some people would design their own chips based on Gate Arrays, which were nothing else than an array of NAND gates:
  • 5. Historical Introduction  The first programmable chips were PLAs (Programmable Logic Arrays): two level structures of AND and OR gates with user programmable connections.  Programmable Array Logic devices were an improvement in structure and cost over PLAs. Today such devices are generically called Programmable Logic Devices (PLDs).
  • 6. Historical introduction  A complex PLD (CPLD) is nothing else than a collection of multiple PLDs and an interconnection structure.  Compared to a CPLD, a Field Programmable Gate Array (FPGA) contains a much larger number of smaller individual blocks + large interconnection structure that dominates the entire chip.
  • 7. Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.
  • 8. Basics of digital design  Unless you really know what you are doing, stick to synchronous design: sandwiching bunches of combinational logic in between flip flops.  Combinational logic: state of outputs depend on current state of inputs alone (forgetting about propagation delays for the time being). E.g. AND, OR, mux, decoder, adder...  D-type Flip flops propagate D to Q upon a rising edge in the clk input.  Synchronous design simplifies design analysis, which is good given today’s logic densities.
  • 9. Don’t do this! Toggle flip-flops get triggered by glitches produced by different path lengths of counter bits.
  • 10. Basics of (synchronous) Digital Design dataSelectC dataAC[31:0] dataBC[31:0] dataSelectCD1 dataACd1[31:0] DataOut_3[31:0] 0 1 DataOut[31:0] sum_1[31:0] + sum[31:0] DataOut[31:0] [31:0] DataInB[31:0] [31:0] DataInA[31:0] [31:0] DataSelect Clk Q[0] D[0] [31:0] Q[31:0] [31:0] D[31:0] [31:0] Q[31:0] [31:0] D[31:0] Q[0] D[0] [31:0] Q[31:0] [31:0] D[31:0] [31:0] [31:0] [31:0] [31:0] Q[31:0] [31:0] D[31:0] [31:0] [31:0] [31:0] [31:0] Q[31:0] [31:0] D[31:0] High clock rate: 144.9 MHz on a Xilinx Spartan IIE. Higher clock rate: 151.5 MHz on the same chip. dataSelectC dataAC[31:0] dataBC[31:0] sum[31:0] + DataOut_3[31:0] 0 1 DataOut[31:0] DataOut[31:0] [31:0] DataInB[31:0] [31:0] DataInA[31:0] [31:0] DataSelect Clk Q[0] D[0] [31:0] Q[31:0] [31:0] D[31:0] [31:0] Q[31:0] [31:0] D[31:0] [31:0] [31:0] [31:0] [31:0] [31:0] [31:0] [31:0] Q[31:0] [31:0] D[31:0] 6.90 ns 6.60 ns Illustrating the latency/throughput tradeoff
  • 11. Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.
  • 13. The logic block: a summary view Example: using a LUT as a full adder.
  • 14. A practical example: Xilinx Virtex II Pro family (used in the lab) Overview Configurable Logic Block (CLB) Embedded PowerPC Digitally Controlled Impedance (DCI)
  • 15. A practical example: Xilinx Virtex II Pro family Slice Detail of half-slice
  • 16. A practical example: Xilinx Virtex II Pro family Routing resources
  • 17. FPGA state of the art  In addition to logic gates and routing, in a modern FPGA you can find:  Embedded processors (soft or hard).  Multi-Gb/s transceivers with equalization and hard IP for serial standards as PCI Express and Gbit Ethernet.  Lots of embedded MAC units, with enough bits to implement single precision floating point arithmetic efficiently.  Lots of dual-port RAM.  Sophisticated clock management through DLLs and PLLs.  System monitoring infrastructure including ADCs.  On-substrate decoupling capacitors to ease PCB design.  Digitally Controlled Impedance to eliminate on-board termination resistors.
  • 19. Why use embedded processors? Customization: take only the peripherals you need and replicate them as many times as needed. Create your own custom peripherals. Strike optimum balance in system partitioning.
  • 20. Serial signaling  Avoids clock/data skew by using embedded clock.  Reduces EMI and power consumption.  Simplifies PCB routing.
  • 22. Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.
  • 23. Traditional design flow 1/3 HDL Synthesis Implementation Download HDL Implement your design using VHDL or Verilog Functional Simulation Timing Simulation In-Circuit Verification Behavioral Simulation
  • 24. Traditional design flow 2/3 Behavioral Simulation HDL Synthesis Implementation Download HDL Synthesize the design to create an FPGA netlist Functional Simulation Timing Simulation In-Circuit Verification
  • 25. Traditional design flow 3/3 Behavioral Simulation HDL Synthesis Implementation Download HDL Translate, place and route, and generate a bitstream to download in the FPGA Functional Simulation Timing Simulation In-Circuit Verification
  • 26. VHDL 101 Both VHDL code segments produce exactly the same hardware.
  • 28. Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.
  • 29. Demo Now, let’s see how you go from design idea to hardware, using the traditional flow. Many thanks to Jeff Weintraub (Xilinx University Program), Bob Stewart (University of Strathclyde) and Silica for some of the slides.