SlideShare a Scribd company logo
1 of 29
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

Similar to An Introduction to Field Programmable Gate Arrays

FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionPersiPersi1
 
student_pres120202final
student_pres120202finalstudent_pres120202final
student_pres120202finalJohn Marquis
 
VLSI Systems & Design
VLSI Systems & DesignVLSI Systems & Design
VLSI Systems & DesignAakash Mishra
 
The CAOS framework: Democratize the acceleration of compute intensive applica...
The CAOS framework: Democratize the acceleration of compute intensive applica...The CAOS framework: Democratize the acceleration of compute intensive applica...
The CAOS framework: Democratize the acceleration of compute intensive applica...NECST Lab @ Politecnico di Milano
 
Implementation strategies for digital ics
Implementation strategies for digital icsImplementation strategies for digital ics
Implementation strategies for digital icsaroosa khan
 
The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...NECST Lab @ Politecnico di Milano
 
Digital VLSI Design and FPGA Implementation
Digital VLSI Design and FPGA ImplementationDigital VLSI Design and FPGA Implementation
Digital VLSI Design and FPGA ImplementationAmber Bhaumik
 
Cadence Design Flow.pptx
Cadence Design Flow.pptxCadence Design Flow.pptx
Cadence Design Flow.pptxKunjPatel615667
 
Basic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSIBasic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSISurya Raj
 
Chapter_01 Course Introduction.pdf
Chapter_01 Course Introduction.pdfChapter_01 Course Introduction.pdf
Chapter_01 Course Introduction.pdfVoThanhPhong3
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」Shinya Takamaeda-Y
 
Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Ravi Sony
 
Semiconductor overview
Semiconductor overviewSemiconductor overview
Semiconductor overviewNabil Chouba
 
Presentation mpt68825 digital_electronics_introduction_1448281987_175
Presentation mpt68825 digital_electronics_introduction_1448281987_175Presentation mpt68825 digital_electronics_introduction_1448281987_175
Presentation mpt68825 digital_electronics_introduction_1448281987_175SubhajitDas253440
 
ASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGY
ASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGYASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGY
ASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGYIlango Jeyasubramanian
 
24-02-18 Rejender pratap.pdf
24-02-18 Rejender pratap.pdf24-02-18 Rejender pratap.pdf
24-02-18 Rejender pratap.pdfFrangoCamila
 

Similar to An Introduction to Field Programmable Gate Arrays (20)

FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusion
 
soc design for dsp applications
soc design for dsp applicationssoc design for dsp applications
soc design for dsp applications
 
student_pres120202final
student_pres120202finalstudent_pres120202final
student_pres120202final
 
Basics of vlsi
Basics of vlsiBasics of vlsi
Basics of vlsi
 
VLSI Systems & Design
VLSI Systems & DesignVLSI Systems & Design
VLSI Systems & Design
 
The CAOS framework: Democratize the acceleration of compute intensive applica...
The CAOS framework: Democratize the acceleration of compute intensive applica...The CAOS framework: Democratize the acceleration of compute intensive applica...
The CAOS framework: Democratize the acceleration of compute intensive applica...
 
Implementation strategies for digital ics
Implementation strategies for digital icsImplementation strategies for digital ics
Implementation strategies for digital ics
 
The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...
 
Digital VLSI Design and FPGA Implementation
Digital VLSI Design and FPGA ImplementationDigital VLSI Design and FPGA Implementation
Digital VLSI Design and FPGA Implementation
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
 
Cadence Design Flow.pptx
Cadence Design Flow.pptxCadence Design Flow.pptx
Cadence Design Flow.pptx
 
Basic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSIBasic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSI
 
Chapter_01 Course Introduction.pdf
Chapter_01 Course Introduction.pdfChapter_01 Course Introduction.pdf
Chapter_01 Course Introduction.pdf
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
 
EMBEDDED SYSTEM BASICS
EMBEDDED SYSTEM BASICSEMBEDDED SYSTEM BASICS
EMBEDDED SYSTEM BASICS
 
Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners
 
Semiconductor overview
Semiconductor overviewSemiconductor overview
Semiconductor overview
 
Presentation mpt68825 digital_electronics_introduction_1448281987_175
Presentation mpt68825 digital_electronics_introduction_1448281987_175Presentation mpt68825 digital_electronics_introduction_1448281987_175
Presentation mpt68825 digital_electronics_introduction_1448281987_175
 
ASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGY
ASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGYASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGY
ASIC DESIGN OF MINI-STEREO DIGITAL AUDIO PROCESSOR UNDER SMIC 180NM TECHNOLOGY
 
24-02-18 Rejender pratap.pdf
24-02-18 Rejender pratap.pdf24-02-18 Rejender pratap.pdf
24-02-18 Rejender pratap.pdf
 

Recently uploaded

Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...nagunakhan
 
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝soniya singh
 
如何办理(Adelaide毕业证)阿德莱德大学毕业证成绩单Adelaide学历认证真实可查
如何办理(Adelaide毕业证)阿德莱德大学毕业证成绩单Adelaide学历认证真实可查如何办理(Adelaide毕业证)阿德莱德大学毕业证成绩单Adelaide学历认证真实可查
如何办理(Adelaide毕业证)阿德莱德大学毕业证成绩单Adelaide学历认证真实可查awo24iot
 
Dubai Call Girls O528786472 Call Girls In Dubai Wisteria
Dubai Call Girls O528786472 Call Girls In Dubai WisteriaDubai Call Girls O528786472 Call Girls In Dubai Wisteria
Dubai Call Girls O528786472 Call Girls In Dubai WisteriaUnited Arab Emirates
 
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...nagunakhan
 
Call Girls Dubai Slut Wife O525547819 Call Girls Dubai Gaped
Call Girls Dubai Slut Wife O525547819 Call Girls Dubai GapedCall Girls Dubai Slut Wife O525547819 Call Girls Dubai Gaped
Call Girls Dubai Slut Wife O525547819 Call Girls Dubai Gapedkojalkojal131
 
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...Call Girls in Nagpur High Profile
 
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...Suhani Kapoor
 
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...Pooja Nehwal
 
哪里办理美国宾夕法尼亚州立大学毕业证(本硕)psu成绩单原版一模一样
哪里办理美国宾夕法尼亚州立大学毕业证(本硕)psu成绩单原版一模一样哪里办理美国宾夕法尼亚州立大学毕业证(本硕)psu成绩单原版一模一样
哪里办理美国宾夕法尼亚州立大学毕业证(本硕)psu成绩单原版一模一样qaffana
 
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...srsj9000
 
Call Girls Delhi {Rs-10000 Laxmi Nagar] 9711199012 Whats Up Number
Call Girls Delhi {Rs-10000 Laxmi Nagar] 9711199012 Whats Up NumberCall Girls Delhi {Rs-10000 Laxmi Nagar] 9711199012 Whats Up Number
Call Girls Delhi {Rs-10000 Laxmi Nagar] 9711199012 Whats Up NumberMs Riya
 
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...Pooja Nehwal
 
Call Girls in Thane 9892124323, Vashi cAll girls Serivces Juhu Escorts, powai...
Call Girls in Thane 9892124323, Vashi cAll girls Serivces Juhu Escorts, powai...Call Girls in Thane 9892124323, Vashi cAll girls Serivces Juhu Escorts, powai...
Call Girls in Thane 9892124323, Vashi cAll girls Serivces Juhu Escorts, powai...Pooja Nehwal
 
WhatsApp 9892124323 ✓Call Girls In Khar ( Mumbai ) secure service - Bandra F...
WhatsApp 9892124323 ✓Call Girls In Khar ( Mumbai ) secure service -  Bandra F...WhatsApp 9892124323 ✓Call Girls In Khar ( Mumbai ) secure service -  Bandra F...
WhatsApp 9892124323 ✓Call Girls In Khar ( Mumbai ) secure service - Bandra F...Pooja Nehwal
 

Recently uploaded (20)

Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
 
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
 
如何办理(Adelaide毕业证)阿德莱德大学毕业证成绩单Adelaide学历认证真实可查
如何办理(Adelaide毕业证)阿德莱德大学毕业证成绩单Adelaide学历认证真实可查如何办理(Adelaide毕业证)阿德莱德大学毕业证成绩单Adelaide学历认证真实可查
如何办理(Adelaide毕业证)阿德莱德大学毕业证成绩单Adelaide学历认证真实可查
 
Dubai Call Girls O528786472 Call Girls In Dubai Wisteria
Dubai Call Girls O528786472 Call Girls In Dubai WisteriaDubai Call Girls O528786472 Call Girls In Dubai Wisteria
Dubai Call Girls O528786472 Call Girls In Dubai Wisteria
 
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
 
Call Girls Dubai Slut Wife O525547819 Call Girls Dubai Gaped
Call Girls Dubai Slut Wife O525547819 Call Girls Dubai GapedCall Girls Dubai Slut Wife O525547819 Call Girls Dubai Gaped
Call Girls Dubai Slut Wife O525547819 Call Girls Dubai Gaped
 
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
 
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
 
🔝 9953056974🔝 Delhi Call Girls in Ajmeri Gate
🔝 9953056974🔝 Delhi Call Girls in Ajmeri Gate🔝 9953056974🔝 Delhi Call Girls in Ajmeri Gate
🔝 9953056974🔝 Delhi Call Girls in Ajmeri Gate
 
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
 
9953330565 Low Rate Call Girls In Jahangirpuri Delhi NCR
9953330565 Low Rate Call Girls In Jahangirpuri  Delhi NCR9953330565 Low Rate Call Girls In Jahangirpuri  Delhi NCR
9953330565 Low Rate Call Girls In Jahangirpuri Delhi NCR
 
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
 
Low rate Call girls in Delhi Justdial | 9953330565
Low rate Call girls in Delhi Justdial | 9953330565Low rate Call girls in Delhi Justdial | 9953330565
Low rate Call girls in Delhi Justdial | 9953330565
 
哪里办理美国宾夕法尼亚州立大学毕业证(本硕)psu成绩单原版一模一样
哪里办理美国宾夕法尼亚州立大学毕业证(本硕)psu成绩单原版一模一样哪里办理美国宾夕法尼亚州立大学毕业证(本硕)psu成绩单原版一模一样
哪里办理美国宾夕法尼亚州立大学毕业证(本硕)psu成绩单原版一模一样
 
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
 
Call Girls Delhi {Rs-10000 Laxmi Nagar] 9711199012 Whats Up Number
Call Girls Delhi {Rs-10000 Laxmi Nagar] 9711199012 Whats Up NumberCall Girls Delhi {Rs-10000 Laxmi Nagar] 9711199012 Whats Up Number
Call Girls Delhi {Rs-10000 Laxmi Nagar] 9711199012 Whats Up Number
 
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
 
Call Girls in Thane 9892124323, Vashi cAll girls Serivces Juhu Escorts, powai...
Call Girls in Thane 9892124323, Vashi cAll girls Serivces Juhu Escorts, powai...Call Girls in Thane 9892124323, Vashi cAll girls Serivces Juhu Escorts, powai...
Call Girls in Thane 9892124323, Vashi cAll girls Serivces Juhu Escorts, powai...
 
WhatsApp 9892124323 ✓Call Girls In Khar ( Mumbai ) secure service - Bandra F...
WhatsApp 9892124323 ✓Call Girls In Khar ( Mumbai ) secure service -  Bandra F...WhatsApp 9892124323 ✓Call Girls In Khar ( Mumbai ) secure service -  Bandra F...
WhatsApp 9892124323 ✓Call Girls In Khar ( Mumbai ) secure service - Bandra F...
 

An Introduction to Field Programmable Gate Arrays

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