SlideShare a Scribd company logo
FPGA
Configuration
Majed Roohani
Amirali Sharifian
1
Spring-2013
Introduction
 What is configuration?
 Process for loading data into the FPGA
Configuration
Data
Source
Configuration
Data
Source
FPGAFPGA
Control
Logic
(optional)
Control
Logic
(optional)
2
Introduction
 When does configuration happen?
 On power-up
 On demand
 Why do FPGAs need to be configured?
 FPGA configuration memory is volatile
 What do I need to know about FPGA configuration?
 What happens during configuration
 How to set up various configuration modes and daisy-chains
 How to troubleshoot problems
3
FPGA Configuration Process
 In order to understand the configuration
process, you need to know a little about:
 Configuration modes
 Configuration pins
4
Configuration Modes
 Configuration modes define the specifics of how
the FPGA will interact with:
 The data source
 External control logic (if any)
 Many configuration modes to choose from
 Serial modes (Master and Slave)
 SelectMAP mode (Slave Parallel)
 Boundary scan mode (Slave) - always available
 Other Xilinx FPGA families have more configuration modes
5
Configuration Modes
 Configuration pins (M0, M1, M2))
Note:
6
Configuration Modes:
Serial Modes
 Data is loaded 1 bit per CCLK
 Master serial
 FPGA drives configuration clock
(CCLK)
 FPGA provides all control logic
 Slave serial
 External control logic required to
generate CCLK
 Microprocessor
 Xilinx serial download cable
 Another FPGA
Serial
Data
Serial
Data FPGAFPGA
CCLK
Data
Serial
Data
Serial
Data FPGAFPGA
Control
Logic
Control
Logic
Data
CCLK
7
Configuration Modes:
SelectMAP Mode
 CCLK is driven by
external logic
 Data is loaded 1 byte
per CCLK
Byte-Wide
Data
Byte-Wide
Data FPGAFPGA
Control
Logic
Control
Logic
Data
CCLKControl Signals
Presentation
Name 8
8
Configuration Modes:
Boundary Scan Mode
 External control logic required
 Control signals and data are
presented on the boundary
scan pins (TDI, TMS, TCK)
 Data is loaded 1 bit per TCK
 Always available
(independently on
M0,M1,M2)
Serial
Data
Serial
Data FPGAFPGA
Control
Logic
Control
Logic
Data
Control Signals
9
Configuration Pins
 Specific pins on the FPGA are used during
configuration
 Some pins act differently depending on
configuration mode
 Example: CCLK is an output in some modes
and an input in others
 Some pins are only used in specific configuration
modes
 Example: CCLK is not used for Boundary Scan
mode
10
Configuration Pin Descriptions
 Mode Pins (M0, M1, M2)
 Input pins that select which configuration
mode is being used
 PROGRAM
 Active low input that initiates configuration
 CCLK (Configuration Clock)
 Input or output, depending on configuration
mode
 Frequency up to 10MHz (see Data Book for
your device family)
 DIN
 Serial input for configuration data
11
Configuration Pin Descriptions
 DOUT
 Output to next device in a daisy-chain
 Used in daisy-chains only
 INIT
 Open-drain bi-directional pin
 Error and Power Stabilization Flag
 DONE
 Open-drain bi-directional pin
 Indicates completion of configuration process
 Other pins are used for specific configuration
modes
 (i.e. JTAG Pins)
12
Configuration Process
 Four major phases in the process:
 Configuration memory clear
 Initialization
 Load configuration data
 Start-up
13
Configurati
on Memory
Clear
Configurati
on Memory
Clear
InitializationInitialization
Load
Configurati
on Data
Load
Configurati
on Data
Start-UpStart-Up
Configuration Process
Configuration Memory Clear Phase
 2 Way to configure
 Non-configuration I/O pins are
disabled with optional pull-up
resistors
 INIT and DONE pins are driven low
 FPGA memory is cleared
 PROGRAM is checked after each
memory pass
 Proceed to initialization
14
Configuration at Power-
Up
Vcc AND Vccnt
High?
No
FPGA
Drives INIT and
DONE low
Configuration During
User Operation
User Pulls
PROGRAM
low
Yes
Clear
Configuration
Memory
User Holding
PROGRAM low?
Yes
Initialization
No
Configuration Process:
Initialization Phase
 INIT pin is released
 INIT may be held low externally to
delay configuration
 Mode pins are sampled
 Appropriate configuration pins
become active
 Proceed to load configuration
data
15
Configuration
Memory
Clear
Release INIT
INIT
High?
Yes
Sample
Mode Pins
Load
Configuration
Data
No
Configuration Process:
Load Configuration Data Phase
 FPGA starts receiving data
 CRC is checked during the
data frames transmission
 If incorrect value received, INIT is
driven low and rest of data is
ignored
 If the CRC checks pass,
proceed to start-up
16
Initialization
Load Data
Frames
CRC
Correct?
Yes
Start-UP
No
Pull INIT
Low
Configuration Process:
Start-up Phase
 Transition phase from configuration to
normal operation
 Order of events is user programmable
 Accessed through software options
 Default sequence is:
 DONE pin is released
 All I/O pins become active
 Global write enable released
 Global reset released
 FPGA is operational
17
Load
Configuration
Data
Release
DONE
Activate
I/O Pins
Release
GWE
Release
GSR
FPGA is
Operational
Configuration Process:
Start-up Phase
 Default sequence is:
 DONE pin is released
 All I/O pins become active
 Global write enable released
 Global reset released
 Another useful sequence is “Sync to
DONE”
 Useful for multiple FPGA configuration
(Daisy chain)
 Configuration option
18
Master Serial Mode
 All mode pins tied low
 FPGA drives CCLK as an
output
 Data stream loaded 1 bit at
a time
 Use when data stream is
stored in a serial PROM
19
Slave Serial Mode
 All mode pins tied high
 FPGA receives CCLK as an
input
 Data stream loaded 1 bit at
a time
 Use with the Xilinx serial
download cable
20
What Is a Daisy-Chain?
 Multiple FPGAs connected in series for
configuration
 Allows configuration of many devices from a single data
source
 Minimal board traces
 First device in the chain can be in master serial or
slave serial mode
 All other devices must be in slave serial mode
21
Daisy-Chain Question
 How do you think these FPGAs could be connected to
form a Daisy-chain?
22
Daisy-Chain Answer
 Connect all PROGRAM, CCLK and DONE pins together
 Connect each DOUT to the DIN of next device
 Recommend connecting INIT pins, but not required
23
Creating a Daisy-Chain
 Connect PROGRAM pins
 Required so that all FPGAs will reprogram together
 Connect CCLK pins
 Required so that all FPGAs are synchronized with each other and
with the configuration data
 Connect DONE pins
 Required so that all FPGAs start-up together
 Connect each DOUT to the DIN of next device
 Required to allow each FPGA to receive configuration data
 Connect INIT pins
 Recommended to create a single error flag, but not required
24
How a Daisy-Chain Works
 First FPGA in the chain is configured first
 Keeps DOUT high until its configuration memory is full
 Then data is passed to the next device in the chain
 Start-up sequence occurs after all devices are
configured
 FPGA devices pause after internally releasing DONE, and
continue when DONE externally goes high
25
Xilinx In-System Programming
Using an
Embedded Microcontroller
 Use XAPP 058(v 4.1)
 Virtex® series
 Spartan® series
 CoolRunner® series
 XC9500 series
 Platform Flash PROM family
 XC18V00 family
30
important benefits of in-system
programmability
 Reduces device handling costs and time to market
 Saves the expense of laying out new PC boards
 Allows remote maintenance, modification, and testing
 Increases the life span and functionality of products
 Enables unique, customer-specific features
31
Microcontroller and JTAG
Chain Schematic
32
XSVF File Generation Flow to
Embedded System
33
C-code and header files
 lenval.c
 micro.c
 ports.c
 lenval.h
 micro.h
 ports.h
34
Configuration PROM
Programming File Creation
Storage Flow
35
CPLD Programming File
Creation and Storage Flow
36
FPGA Programming File
Creation and Storage Flow
37
Selected iMPACT Batch
Command
38
Using the iMPACT GUI to
Create XSVF Files
39
Write XSVF file to selected
Device
40
IMPACT batch command
41
Summary
 Field programmable devices are configured on power-up
from an external data source
 The phases of the configuration process are:
 Configuration memory clear
 Initialization
 Load configuration data
 Start-up
 Master serial and slave serial are the simplest configuration
modes
42

More Related Content

What's hot

Communication protocols - Embedded Systems
Communication protocols - Embedded SystemsCommunication protocols - Embedded Systems
Communication protocols - Embedded Systems
Emertxe Information Technologies Pvt Ltd
 
FPGA
FPGAFPGA
Microcontoller and Embedded System
Microcontoller and Embedded SystemMicrocontoller and Embedded System
Microcontoller and Embedded System
Karan Thakkar
 
FPGA
FPGAFPGA
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
Kamlesh Kumar
 
Digital signal processor architecture
Digital signal processor architectureDigital signal processor architecture
Digital signal processor architecture
komal mistry
 
Introduction to FPGAs
Introduction to FPGAsIntroduction to FPGAs
Introduction to FPGAs
Sudhanshu Janwadkar
 
SoC Design
SoC DesignSoC Design
Introduction to VLSI
Introduction to VLSI Introduction to VLSI
Introduction to VLSI illpa
 
8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller
abhikalmegh
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
ranvirsingh
 
SOC Interconnects: AMBA & CoreConnect
SOC Interconnects: AMBA  & CoreConnectSOC Interconnects: AMBA  & CoreConnect
SOC Interconnects: AMBA & CoreConnect
A B Shinde
 
ARM - Advance RISC Machine
ARM - Advance RISC MachineARM - Advance RISC Machine
ARM - Advance RISC Machine
EdutechLearners
 
LPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLERLPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLER
sravannunna24
 
System On Chip
System On ChipSystem On Chip
System On Chipanishgoel
 
Arm Processors Architectures
Arm Processors ArchitecturesArm Processors Architectures
Arm Processors Architectures
Mohammed Hilal
 
VLSI Testing Techniques
VLSI Testing TechniquesVLSI Testing Techniques
VLSI Testing Techniques
A B Shinde
 
Ec8791 lpc2148
Ec8791 lpc2148Ec8791 lpc2148
Ec8791 lpc2148
RajalakshmiSermadurai
 
Synchronous and asynchronous clock
Synchronous and asynchronous clockSynchronous and asynchronous clock
Synchronous and asynchronous clock
Nallapati Anindra
 

What's hot (20)

Communication protocols - Embedded Systems
Communication protocols - Embedded SystemsCommunication protocols - Embedded Systems
Communication protocols - Embedded Systems
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
FPGA
FPGAFPGA
FPGA
 
Microcontoller and Embedded System
Microcontoller and Embedded SystemMicrocontoller and Embedded System
Microcontoller and Embedded System
 
FPGA
FPGAFPGA
FPGA
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
Digital signal processor architecture
Digital signal processor architectureDigital signal processor architecture
Digital signal processor architecture
 
Introduction to FPGAs
Introduction to FPGAsIntroduction to FPGAs
Introduction to FPGAs
 
SoC Design
SoC DesignSoC Design
SoC Design
 
Introduction to VLSI
Introduction to VLSI Introduction to VLSI
Introduction to VLSI
 
8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
 
SOC Interconnects: AMBA & CoreConnect
SOC Interconnects: AMBA  & CoreConnectSOC Interconnects: AMBA  & CoreConnect
SOC Interconnects: AMBA & CoreConnect
 
ARM - Advance RISC Machine
ARM - Advance RISC MachineARM - Advance RISC Machine
ARM - Advance RISC Machine
 
LPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLERLPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLER
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
Arm Processors Architectures
Arm Processors ArchitecturesArm Processors Architectures
Arm Processors Architectures
 
VLSI Testing Techniques
VLSI Testing TechniquesVLSI Testing Techniques
VLSI Testing Techniques
 
Ec8791 lpc2148
Ec8791 lpc2148Ec8791 lpc2148
Ec8791 lpc2148
 
Synchronous and asynchronous clock
Synchronous and asynchronous clockSynchronous and asynchronous clock
Synchronous and asynchronous clock
 

Similar to FPGA Configuration

Steen_Dissertation_March5
Steen_Dissertation_March5Steen_Dissertation_March5
Steen_Dissertation_March5Steen Larsen
 
Ccna 2
Ccna 2Ccna 2
Ccna day2
Ccna day2Ccna day2
Ccna day2
Vijay Kumar
 
Ccna day2-140715152313-phpapp02
Ccna day2-140715152313-phpapp02Ccna day2-140715152313-phpapp02
Ccna day2-140715152313-phpapp02
Sachin Morya
 
Ccna PPT2
Ccna PPT2Ccna PPT2
Ccna PPT2
AIRTEL
 
C C N A Day2
C C N A  Day2C C N A  Day2
C C N A Day2
darulquthni
 
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
SnehaLatha68
 
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vn
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vnLs catalog thiet bi tu dong gm e_0908_dienhathe.vn
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vn
Dien Ha The
 
Ls catalog thiet bi tu dong gm e_0908
Ls catalog thiet bi tu dong gm e_0908Ls catalog thiet bi tu dong gm e_0908
Ls catalog thiet bi tu dong gm e_0908
Dien Ha The
 
Lcu14 101- coresight overview
Lcu14 101- coresight overviewLcu14 101- coresight overview
Lcu14 101- coresight overview
Linaro
 
SoC Idling for unconf COSCUP 2016
SoC Idling for unconf COSCUP 2016SoC Idling for unconf COSCUP 2016
SoC Idling for unconf COSCUP 2016
Koan-Sin Tan
 
Smart logic
Smart logicSmart logic
Ccna Imp Guide
Ccna Imp GuideCcna Imp Guide
Ccna Imp Guide
abhijitgnbbl
 
AD-IP-JESD204 JESD204B Interface Framework
AD-IP-JESD204 JESD204B Interface FrameworkAD-IP-JESD204 JESD204B Interface Framework
AD-IP-JESD204 JESD204B Interface Framework
Analog Devices, Inc.
 
Hpe Proliant DL20 Gen10 Server Datasheet
Hpe Proliant DL20 Gen10 Server DatasheetHpe Proliant DL20 Gen10 Server Datasheet
Hpe Proliant DL20 Gen10 Server Datasheet
美兰 曾
 
Cyclone II FPGA Overview
Cyclone II FPGA OverviewCyclone II FPGA Overview
Cyclone II FPGA Overview
Premier Farnell
 
3rd Lecture
3rd Lecture3rd Lecture
3rd Lecture
babak danyal
 

Similar to FPGA Configuration (20)

Steen_Dissertation_March5
Steen_Dissertation_March5Steen_Dissertation_March5
Steen_Dissertation_March5
 
Ccna day2
Ccna day2Ccna day2
Ccna day2
 
Ccna day2
Ccna day2Ccna day2
Ccna day2
 
Ccna 2
Ccna 2Ccna 2
Ccna 2
 
Ccna day2
Ccna day2Ccna day2
Ccna day2
 
Ccna day2-140715152313-phpapp02
Ccna day2-140715152313-phpapp02Ccna day2-140715152313-phpapp02
Ccna day2-140715152313-phpapp02
 
Ccna day2
Ccna day2Ccna day2
Ccna day2
 
Ccna PPT2
Ccna PPT2Ccna PPT2
Ccna PPT2
 
C C N A Day2
C C N A  Day2C C N A  Day2
C C N A Day2
 
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
Softcore processor.pptxSoftcore processor.pptxSoftcore processor.pptx
 
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vn
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vnLs catalog thiet bi tu dong gm e_0908_dienhathe.vn
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vn
 
Ls catalog thiet bi tu dong gm e_0908
Ls catalog thiet bi tu dong gm e_0908Ls catalog thiet bi tu dong gm e_0908
Ls catalog thiet bi tu dong gm e_0908
 
Lcu14 101- coresight overview
Lcu14 101- coresight overviewLcu14 101- coresight overview
Lcu14 101- coresight overview
 
SoC Idling for unconf COSCUP 2016
SoC Idling for unconf COSCUP 2016SoC Idling for unconf COSCUP 2016
SoC Idling for unconf COSCUP 2016
 
Smart logic
Smart logicSmart logic
Smart logic
 
Ccna Imp Guide
Ccna Imp GuideCcna Imp Guide
Ccna Imp Guide
 
AD-IP-JESD204 JESD204B Interface Framework
AD-IP-JESD204 JESD204B Interface FrameworkAD-IP-JESD204 JESD204B Interface Framework
AD-IP-JESD204 JESD204B Interface Framework
 
Hpe Proliant DL20 Gen10 Server Datasheet
Hpe Proliant DL20 Gen10 Server DatasheetHpe Proliant DL20 Gen10 Server Datasheet
Hpe Proliant DL20 Gen10 Server Datasheet
 
Cyclone II FPGA Overview
Cyclone II FPGA OverviewCyclone II FPGA Overview
Cyclone II FPGA Overview
 
3rd Lecture
3rd Lecture3rd Lecture
3rd Lecture
 

Recently uploaded

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

FPGA Configuration

  • 2. Introduction  What is configuration?  Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGAFPGA Control Logic (optional) Control Logic (optional) 2
  • 3. Introduction  When does configuration happen?  On power-up  On demand  Why do FPGAs need to be configured?  FPGA configuration memory is volatile  What do I need to know about FPGA configuration?  What happens during configuration  How to set up various configuration modes and daisy-chains  How to troubleshoot problems 3
  • 4. FPGA Configuration Process  In order to understand the configuration process, you need to know a little about:  Configuration modes  Configuration pins 4
  • 5. Configuration Modes  Configuration modes define the specifics of how the FPGA will interact with:  The data source  External control logic (if any)  Many configuration modes to choose from  Serial modes (Master and Slave)  SelectMAP mode (Slave Parallel)  Boundary scan mode (Slave) - always available  Other Xilinx FPGA families have more configuration modes 5
  • 6. Configuration Modes  Configuration pins (M0, M1, M2)) Note: 6
  • 7. Configuration Modes: Serial Modes  Data is loaded 1 bit per CCLK  Master serial  FPGA drives configuration clock (CCLK)  FPGA provides all control logic  Slave serial  External control logic required to generate CCLK  Microprocessor  Xilinx serial download cable  Another FPGA Serial Data Serial Data FPGAFPGA CCLK Data Serial Data Serial Data FPGAFPGA Control Logic Control Logic Data CCLK 7
  • 8. Configuration Modes: SelectMAP Mode  CCLK is driven by external logic  Data is loaded 1 byte per CCLK Byte-Wide Data Byte-Wide Data FPGAFPGA Control Logic Control Logic Data CCLKControl Signals Presentation Name 8 8
  • 9. Configuration Modes: Boundary Scan Mode  External control logic required  Control signals and data are presented on the boundary scan pins (TDI, TMS, TCK)  Data is loaded 1 bit per TCK  Always available (independently on M0,M1,M2) Serial Data Serial Data FPGAFPGA Control Logic Control Logic Data Control Signals 9
  • 10. Configuration Pins  Specific pins on the FPGA are used during configuration  Some pins act differently depending on configuration mode  Example: CCLK is an output in some modes and an input in others  Some pins are only used in specific configuration modes  Example: CCLK is not used for Boundary Scan mode 10
  • 11. Configuration Pin Descriptions  Mode Pins (M0, M1, M2)  Input pins that select which configuration mode is being used  PROGRAM  Active low input that initiates configuration  CCLK (Configuration Clock)  Input or output, depending on configuration mode  Frequency up to 10MHz (see Data Book for your device family)  DIN  Serial input for configuration data 11
  • 12. Configuration Pin Descriptions  DOUT  Output to next device in a daisy-chain  Used in daisy-chains only  INIT  Open-drain bi-directional pin  Error and Power Stabilization Flag  DONE  Open-drain bi-directional pin  Indicates completion of configuration process  Other pins are used for specific configuration modes  (i.e. JTAG Pins) 12
  • 13. Configuration Process  Four major phases in the process:  Configuration memory clear  Initialization  Load configuration data  Start-up 13 Configurati on Memory Clear Configurati on Memory Clear InitializationInitialization Load Configurati on Data Load Configurati on Data Start-UpStart-Up
  • 14. Configuration Process Configuration Memory Clear Phase  2 Way to configure  Non-configuration I/O pins are disabled with optional pull-up resistors  INIT and DONE pins are driven low  FPGA memory is cleared  PROGRAM is checked after each memory pass  Proceed to initialization 14 Configuration at Power- Up Vcc AND Vccnt High? No FPGA Drives INIT and DONE low Configuration During User Operation User Pulls PROGRAM low Yes Clear Configuration Memory User Holding PROGRAM low? Yes Initialization No
  • 15. Configuration Process: Initialization Phase  INIT pin is released  INIT may be held low externally to delay configuration  Mode pins are sampled  Appropriate configuration pins become active  Proceed to load configuration data 15 Configuration Memory Clear Release INIT INIT High? Yes Sample Mode Pins Load Configuration Data No
  • 16. Configuration Process: Load Configuration Data Phase  FPGA starts receiving data  CRC is checked during the data frames transmission  If incorrect value received, INIT is driven low and rest of data is ignored  If the CRC checks pass, proceed to start-up 16 Initialization Load Data Frames CRC Correct? Yes Start-UP No Pull INIT Low
  • 17. Configuration Process: Start-up Phase  Transition phase from configuration to normal operation  Order of events is user programmable  Accessed through software options  Default sequence is:  DONE pin is released  All I/O pins become active  Global write enable released  Global reset released  FPGA is operational 17 Load Configuration Data Release DONE Activate I/O Pins Release GWE Release GSR FPGA is Operational
  • 18. Configuration Process: Start-up Phase  Default sequence is:  DONE pin is released  All I/O pins become active  Global write enable released  Global reset released  Another useful sequence is “Sync to DONE”  Useful for multiple FPGA configuration (Daisy chain)  Configuration option 18
  • 19. Master Serial Mode  All mode pins tied low  FPGA drives CCLK as an output  Data stream loaded 1 bit at a time  Use when data stream is stored in a serial PROM 19
  • 20. Slave Serial Mode  All mode pins tied high  FPGA receives CCLK as an input  Data stream loaded 1 bit at a time  Use with the Xilinx serial download cable 20
  • 21. What Is a Daisy-Chain?  Multiple FPGAs connected in series for configuration  Allows configuration of many devices from a single data source  Minimal board traces  First device in the chain can be in master serial or slave serial mode  All other devices must be in slave serial mode 21
  • 22. Daisy-Chain Question  How do you think these FPGAs could be connected to form a Daisy-chain? 22
  • 23. Daisy-Chain Answer  Connect all PROGRAM, CCLK and DONE pins together  Connect each DOUT to the DIN of next device  Recommend connecting INIT pins, but not required 23
  • 24. Creating a Daisy-Chain  Connect PROGRAM pins  Required so that all FPGAs will reprogram together  Connect CCLK pins  Required so that all FPGAs are synchronized with each other and with the configuration data  Connect DONE pins  Required so that all FPGAs start-up together  Connect each DOUT to the DIN of next device  Required to allow each FPGA to receive configuration data  Connect INIT pins  Recommended to create a single error flag, but not required 24
  • 25. How a Daisy-Chain Works  First FPGA in the chain is configured first  Keeps DOUT high until its configuration memory is full  Then data is passed to the next device in the chain  Start-up sequence occurs after all devices are configured  FPGA devices pause after internally releasing DONE, and continue when DONE externally goes high 25
  • 26. Xilinx In-System Programming Using an Embedded Microcontroller  Use XAPP 058(v 4.1)  Virtex® series  Spartan® series  CoolRunner® series  XC9500 series  Platform Flash PROM family  XC18V00 family 30
  • 27. important benefits of in-system programmability  Reduces device handling costs and time to market  Saves the expense of laying out new PC boards  Allows remote maintenance, modification, and testing  Increases the life span and functionality of products  Enables unique, customer-specific features 31
  • 29. XSVF File Generation Flow to Embedded System 33
  • 30. C-code and header files  lenval.c  micro.c  ports.c  lenval.h  micro.h  ports.h 34
  • 31. Configuration PROM Programming File Creation Storage Flow 35
  • 32. CPLD Programming File Creation and Storage Flow 36
  • 33. FPGA Programming File Creation and Storage Flow 37
  • 35. Using the iMPACT GUI to Create XSVF Files 39
  • 36. Write XSVF file to selected Device 40
  • 38. Summary  Field programmable devices are configured on power-up from an external data source  The phases of the configuration process are:  Configuration memory clear  Initialization  Load configuration data  Start-up  Master serial and slave serial are the simplest configuration modes 42

Editor's Notes

  1. توضیح کاربرد روش توضیح xapp
  2. اشاره به دانلود فایل از سایت زالینکس و توضیح در مورد آن