SoC FPGA Technology

Siraj Muhammad
Siraj MuhammadDigital Design Engineer at Atadiat
SoC FPGA TECHNOLOGY
HISTORY 
• Digital Logic: (1950s-1960s) 
3-input 
Function 
A 
B 
C 
A B C Y 
0 0 1 1 
0 1 0 1 
1 1 0 0 
0 0 0 1 
1 1 1 0 
CMOS NAND Gate 
Black Box Truth Table Digital Circuit 
Sum of Products 
Product of Sums
HISTORY 
• Regular structures for two-level logic: (1960s-70s) 
• Consist of MUXs, De-MUXs, Decoders, FFs. 
• Yield spaghetti-like maze! 
• Each modification means a new PCB. 
• Engineers got fed up!
HISTORY 
• Programmable Logic Devices (PLDs): (1970s-80s) 
• Chip makers addressed this problem by unconnected arrays of AND-OR 
gates. 
• Fuses used to connect gates. 
• Each fuse could be blown open or left close. 
• Programming took place at manufacturers plants. 
• Simple PLDs (SPLD) could only handle up to 10–20 logic equations. 
• You had to break the design apart. 
• Wiring was also required and it was a big no-no! 
• Again engineers got fed up!
HISTORY 
• Programmable Logic Devices (PLDs): (1970s-80s) 
Programmed State
HISTORY 
• Complex PLD (CPLD): (1980s) 
• Contains a bunch of PLD blocks connected together 
by a global interconnect matrix. 
• Each component is programmed individually.
HISTORY 
• Application Specific Integrated Circuits (ASICs): 
• Not available circa 1980s! 
• Custom fabricated design from scratch. 
• Large complex functions, millions 
of gates customised for extreme 
speed and low power. 
• Very expensive in small 
quantities > $1 Million 
• Very hard to design. 
• NOT reprogrammable which means 
high risks!
HISTORY 
• Application Specific Integrated Circuits (ASICs): 
• Any mistake means millions of dollars! 
• June 1994, a flaw in Intel Pentium chip 
causes a division error, discovered by 
someone called Dr Nicely. 
• December 20th 1994, Intel apologized 
and replaced all flawed Pentiums upon request. 
• Intel reserved $420 million to cover costs! 
• Full story: 
http://www.emery.com/1e/pentium.htm
PROBLEM 
PLDs 
•Limited 
Complexity 
•Thousands of 
gates 
•Easy to design 
•Programmable 
ASICs 
•Large Complex 
Functions 
•Millions of gates 
•Hard to design 
•Not 
reprogrammable 
FPGA
FPGA DEFINITIONS 
• Field Programmable Gate Arrays (FPGAs) are digital integrated 
circuits (ICs) that contain configurable (programmable) blocks 
of logic along with configurable interconnects between these 
blocks. 
• The “field programmable” portion of the FPGA’s name refers to 
the fact that its programming takes place “in the field”.
WHY USE FPGA? 
• The cost of an FPGA design is much lower than that of an ASIC. 
• Implementing design changes is much easier in FPGA. 
• Time to market for FPGAs is much faster. 
• FPGAs make many small, innovative design companies viable. 
• In 2003: 1500 to 4000 ASIC design starts and 5000 ASSP 
design starts, while around 450,000 FPGA design starts in the 
same year.
WHY USE FPGA? 
• What distinguishes an FPGA from an ASIC is embodied in the 
name: 
Field P r o g r a m m a b l e Gate Array
FPGA ARCHITECTURE 
• Programmable logic blocks called 
Logic Elements (LEs). 
1000+ → 100,000+ 
• Massive fabric of programmable 
interconnects. 
• LEs described as islands in a “sea” 
of interconnects. 
• Manufacturers refer to LE in different ways. 
Altera refers to it as Adaptive Logic Module (ALM). 
Xilinx refers to it as Configurable Logic Block (CLB).
ARCHITECTURE: LOGIC ELEMENTS 
• 8-input divisible look-up table 
(LUT). 
• Four dedicated registers to improve 
timing closure. 
• Full Adders and MUXs. 
• 25% of ALMs can be used as 
distributed memory using MLABs. ALM for Altera Cyclone V
ARCHITECTURE: LUT 
• LUT contains memory cells 
to implement small 
logic functions. 
• Each cell holds ‘0’ or ‘1’. 
• Programmed with outputs 
of truth tables. 
• Inputs select content of one 
of the cells as output.
ARCHITECTURE: LAB AND ALM 
• LABs are Logic Array Blocks 
• Some FPGAs have two ALMs in each 
LAB, while others have four. 
• Fast programmable interconnect 
within the LAB. 
• This is complemented by an 
equivalent hierarchy in the 
interconnect. 
LAB 
ALM ALM 
Logic Cell 
Logic Cell 
Logic Cell 
Logic Cell 
ALM ALM 
Logic Cell 
Logic Cell 
Logic Cell 
Logic Cell 
LABs 
ALMs 
Logic Cells 
Interconnect Speed
ALM connection 
details for 
Cyclone V
ARCHITECTURE: EMBEDDED MULTIPLIERS, 
ADDERS, ETC. 
• Some functions may be slow in 
programmable logic. 
• One common operation in DSP 
applications, 
Multiply-and-Accumulate (MAC). 
• Some FPGAs provide entire MACs 
as embedded functions.
ARCHITECTURE: MORE FEATURES 
• Memory 
• DSP Blocks 
• PLLs 
• Transceivers 
• GPIO 
• Hard IP 
• That’s what 
differentiates FPGA 
from CPLD.
DESIGNING WITH FPGA: HDL 
• Can’t design FPGA by hand; way too much logic to manage and hard to make changes. 
• Hardware Descriptions Languages (HDL) are used to specify functionality of logic at a high 
level. 
• Most two popular languages are Verilog and VHDL (VHSIC Hardware Description Language). 
D Q 
Q 
Verilog VHDL DFF
DESIGNING WITH FPGA: FLOW 
• Validation: 
• High level simulation to catch specification errors. 
• Verify pin-outs and connections to other system 
components. 
• RTL Synthesis: 
• Process of compiling HDL code into logic gates 
and flip-flops. 
• Technology Mapping: 
• Map the logic onto elements available in the implementations 
technology (LUTs). 
• Placement and Routing: 
• Assign logic blocks to functions. 
• Make wiring connections. 
Design System 
Validation 
RTL Synthesis 
Place and Rout 
Verification
DESIGNING WITH FPGA: FLOW 
• Timing Analysis: 
• Verify paths and determine delays. 
• Check critical paths and improve their timing. 
• Adjust placement of cells to improve timing closure. 
• If the design does not fit it can be divided into multiple chips. 
• Generate programming files which contain bits to be loaded in 
the device.
DESIGNING WITH FPGA: OPENCL 
• What is OpenCL (Open Computing Language)? 
• Open standard framework that enables developers to write programs that execute 
across heterogeneous systems including CPUs, GPUs, DSPs, and FPGAs. 
• Benefits of OpenCL for FPGAs: 
• Faster time-to-market: using the OpenCL C-based parallel 
programming language as opposed to low-level HDL. 
• Quick design exploration: by working at higher 
level of abstraction. 
• Easy design re-use: by retargeting existing OpenCL 
code to current and future FPGAs. 
• Faster design completion: by generating an FPGA 
implementation in single step.
CONFIGURING FPGA 
• Millions of SRAM cells hold LUTs and interconnect values. 
• Volatile memory, loses configuration when power is turned off. 
• Non-volatile memories are used to power up FPGAs with 
specific bit file.
SoC FPGA 
• Formerly, designers used to implement what so called soft 
processors, which are microprocessors implemented in HDL. 
• Popular IPs: NIOS II from Altera and MicroBlaze from Xilinx. 
• Such architectures did not realize high performances, in 
addition to resources consumption and power consumption. 
• They were also vendor-specific.
SoC FPGA 
• Chip makers again for the rescue! 
• SoC FPGAs integrate an ARM-based hard 
processor system (HPS) consisting of 
processor, peripherals, and memory 
interfaces with the FPGA fabric using 
a high bandwidth interconnect backbone. 
• It combines the performance and power 
savings of hard intellectual property (IP) 
with the flexibility of programmable logic.
SoC FPGA: ADVANTAGES 
• Improved system performance: through a higher HPS to FPGA bandwidth 
interconnect, hardware acceleration, and increased memory performance. 
• Increased reliability: through error correction code (ECC) and memory 
protection. Warm/Cold CPU reset that initiates without affecting or 
reprogramming FPGA. 
• More flexibility: through hardware differentiation, system boot and 
configurations options, and multiple hardened memory controllers. 
• Lower system cost: through single-chip integration, integrated PCIe 
controller and no power off sequencing.
SoC FPGA 
• FPGA Vendors and Processors: 
FPGA Vendor Hard Processor Soft Processor 
Actel None Third-Party only 
Altera ARM NIOS, NIOS II 
Lattice None Third-Party only 
Xilinx IBM PowerPC MicroBlaze, PicoBlaze 
QuickLogic MIPS Third-Party only
SoC FPGA: HPS 
Cyclone V SoC HPS Architecture
SoC FPGA: HPS FEATURES 
• 925 MHz, dual-core ARM® Cortex™-A9 MPCore™ processor. 
• Each processor core includes: 
• 32 KB of L1 instruction cache, 32 KB of L1 data cache. 
• Single- and double-precision floating-point unit and NEONTM media 
engine. 
• CoreSightTM debug and trace technology. 
• 512 KB of shared L2 cache. 
• 64 KB of scratch RAM. 
• Multiport SDRAM controller with support for DDR2, DDR3, and 
LPDDR2 and optional error correction code (ECC) support.
SoC FPGA: APPLICATIONS 
• Just to name a few: 
• Automotive Advanced Driver Assistance Systems (ADAS) 
• Wireless Communications 
• Military Radar 
• Military Secure Communications 
• The top four manufacturers of electronic imaging systems all use FPGAs 
• This include CT, MRI, and Ultrasonic equipment
DEMONSTRATIONS 
• Morse Transmitter 
• 9-bit Microprocessor (Hello World) 
• SoC HPS Apps (G-Sensor) 
• DE1-SoC Ubuntu Desktop
REFERENCES 
• www.altera.com 
• www.Xilinx.com 
• www.fpga4fun.com 
• FPGAs Instant Access by Clive “Max” Maxfield 
• Rapid Prototyping of Digital Systems, SOPC Edition by James O. 
Hamblen
QUESTIONS 
Thanks for your listening! 
For more information and questions: sirajmuhammad@outlook.com
1 of 34

Recommended

Dft (design for testability) by
Dft (design for testability)Dft (design for testability)
Dft (design for testability)shaik sharief
2.9K views17 slides
FPGA Introduction by
FPGA IntroductionFPGA Introduction
FPGA IntroductionKamlesh Kumar
4.6K views17 slides
Design-for-Test (Testing of VLSI Design) by
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Usha Mehta
2.7K views75 slides
prescalers and dual modulus prescalers by
 prescalers and dual modulus prescalers prescalers and dual modulus prescalers
prescalers and dual modulus prescalersSakshi Bhargava
1.5K views49 slides
Logic families by
Logic familiesLogic families
Logic familiesPatel Jay
1.8K views20 slides
ASIC vs SOC vs FPGA by
ASIC  vs SOC  vs FPGAASIC  vs SOC  vs FPGA
ASIC vs SOC vs FPGAVerification Excellence
22.5K views9 slides

More Related Content

What's hot

Study of vlsi design methodologies and limitations using cad tools for cmos t... by
Study of vlsi design methodologies and limitations using cad tools for cmos t...Study of vlsi design methodologies and limitations using cad tools for cmos t...
Study of vlsi design methodologies and limitations using cad tools for cmos t...Lakshmi Narain College of Technology & Science Bhopal
9.6K views26 slides
Fpga by
FpgaFpga
Fpgabharadwajareddy
6.1K views28 slides
A report on 2 to 1 mux using tg by
A report on 2 to 1 mux using tgA report on 2 to 1 mux using tg
A report on 2 to 1 mux using tgvijay rastogi
12K views28 slides
DesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112G by
DesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112GDesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112G
DesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112GLeah Wilkinson
5.1K views57 slides
System-on-Chip by
System-on-ChipSystem-on-Chip
System-on-ChipLars Jacobs
6.6K views22 slides
Design for testability and automatic test pattern generation by
Design for testability and automatic test pattern generationDesign for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDilip Mathuria
3.5K views33 slides

What's hot(20)

A report on 2 to 1 mux using tg by vijay rastogi
A report on 2 to 1 mux using tgA report on 2 to 1 mux using tg
A report on 2 to 1 mux using tg
vijay rastogi12K views
DesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112G by Leah Wilkinson
DesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112GDesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112G
DesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112G
Leah Wilkinson5.1K views
System-on-Chip by Lars Jacobs
System-on-ChipSystem-on-Chip
System-on-Chip
Lars Jacobs6.6K views
Design for testability and automatic test pattern generation by Dilip Mathuria
Design for testability and automatic test pattern generationDesign for testability and automatic test pattern generation
Design for testability and automatic test pattern generation
Dilip Mathuria3.5K views
System On Chip by anishgoel
System On ChipSystem On Chip
System On Chip
anishgoel58.5K views
Booth Multiplier by Sudhir Kumar
Booth MultiplierBooth Multiplier
Booth Multiplier
Sudhir Kumar40.1K views
2019 2 testing and verification of vlsi design_verification by Usha Mehta
2019 2 testing and verification of vlsi design_verification2019 2 testing and verification of vlsi design_verification
2019 2 testing and verification of vlsi design_verification
Usha Mehta2.2K views
Level sensitive scan design(LSSD) and Boundry scan(BS) by Praveen Kumar
Level sensitive scan design(LSSD) and Boundry scan(BS)Level sensitive scan design(LSSD) and Boundry scan(BS)
Level sensitive scan design(LSSD) and Boundry scan(BS)
Praveen Kumar6.7K views
Semi Custom Integrated Circuit Design by Dr.YNM
 Semi Custom Integrated Circuit Design Semi Custom Integrated Circuit Design
Semi Custom Integrated Circuit Design
Dr.YNM 18K views
System On Chip (SOC) by Shivam Gupta
System On Chip (SOC)System On Chip (SOC)
System On Chip (SOC)
Shivam Gupta15.1K views
Automotive network and gateway simulation by Deepak Shankar
Automotive network and gateway simulationAutomotive network and gateway simulation
Automotive network and gateway simulation
Deepak Shankar148 views
Session 9 advance_verification_features by Nirav Desai
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_features
Nirav Desai1.6K views
Basics of Functional Verification - Arrow Devices by Arrow Devices
Basics of Functional Verification - Arrow DevicesBasics of Functional Verification - Arrow Devices
Basics of Functional Verification - Arrow Devices
Arrow Devices5.7K views

Viewers also liked

FPGA Architecture Presentation by
FPGA Architecture PresentationFPGA Architecture Presentation
FPGA Architecture Presentationomutukuda
5.8K views19 slides
Developing an embedded video application on dual Linux + FPGA architecture by
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureChristian Charreyre
1.1K views25 slides
What is FPGA? by
What is FPGA?What is FPGA?
What is FPGA?GlobalLogic Ukraine
5.4K views53 slides
FPGA Applications in Finance by
FPGA Applications in FinanceFPGA Applications in Finance
FPGA Applications in Financezpektral
10.5K views28 slides
Speech Reognition Using FPGA Technology by
Speech Reognition Using FPGA TechnologySpeech Reognition Using FPGA Technology
Speech Reognition Using FPGA TechnologyCarlos
5.6K views43 slides
FPGA by
FPGAFPGA
FPGAAbhilash Nair
23.4K views55 slides

Viewers also liked(9)

FPGA Architecture Presentation by omutukuda
FPGA Architecture PresentationFPGA Architecture Presentation
FPGA Architecture Presentation
omutukuda5.8K views
Developing an embedded video application on dual Linux + FPGA architecture by Christian Charreyre
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
Christian Charreyre1.1K views
FPGA Applications in Finance by zpektral
FPGA Applications in FinanceFPGA Applications in Finance
FPGA Applications in Finance
zpektral10.5K views
Speech Reognition Using FPGA Technology by Carlos
Speech Reognition Using FPGA TechnologySpeech Reognition Using FPGA Technology
Speech Reognition Using FPGA Technology
Carlos 5.6K views
Fundamentals of FPGA by velamakuri
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
velamakuri31.3K views
Speech Recognition System By Matlab by Ankit Gujrati
Speech Recognition System By MatlabSpeech Recognition System By Matlab
Speech Recognition System By Matlab
Ankit Gujrati58.1K views

Similar to SoC FPGA Technology

Cpld and fpga mod vi by
Cpld and fpga   mod viCpld and fpga   mod vi
Cpld and fpga mod viAgi George
253 views62 slides
nios.ppt by
nios.pptnios.ppt
nios.pptfahad283209
6 views44 slides
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt by
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).pptL12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).pptMikeTango5
29 views30 slides
FPGA.ppt by
FPGA.pptFPGA.ppt
FPGA.pptEcAlwinjolly
1 view33 slides
L12 programmable+logic+devices+(pld) by
L12 programmable+logic+devices+(pld)L12 programmable+logic+devices+(pld)
L12 programmable+logic+devices+(pld)NAGASAI547
1.1K views30 slides
Evolution of logic devices from SSIs to FPGAs by
Evolution of logic devices from SSIs to FPGAsEvolution of logic devices from SSIs to FPGAs
Evolution of logic devices from SSIs to FPGAsSoumeya Touil
101 views19 slides

Similar to SoC FPGA Technology(20)

Cpld and fpga mod vi by Agi George
Cpld and fpga   mod viCpld and fpga   mod vi
Cpld and fpga mod vi
Agi George253 views
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt by MikeTango5
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).pptL12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt
MikeTango529 views
L12 programmable+logic+devices+(pld) by NAGASAI547
L12 programmable+logic+devices+(pld)L12 programmable+logic+devices+(pld)
L12 programmable+logic+devices+(pld)
NAGASAI5471.1K views
Evolution of logic devices from SSIs to FPGAs by Soumeya Touil
Evolution of logic devices from SSIs to FPGAsEvolution of logic devices from SSIs to FPGAs
Evolution of logic devices from SSIs to FPGAs
Soumeya Touil101 views
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019) by byteLAKE
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
CFD acceleration with FPGA (byteLAKE's presentation from PPAM 2019)
byteLAKE245 views
Digital Systems Design by Reza Sameni
Digital Systems DesignDigital Systems Design
Digital Systems Design
Reza Sameni402 views
0.FPGA for dummies: Historical introduction by Maurizio Donna
0.FPGA for dummies: Historical introduction0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introduction
Maurizio Donna119 views
Implementation strategies for digital ics by aroosa khan
Implementation strategies for digital icsImplementation strategies for digital ics
Implementation strategies for digital ics
aroosa khan2.1K views

SoC FPGA Technology

  • 2. HISTORY • Digital Logic: (1950s-1960s) 3-input Function A B C A B C Y 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 CMOS NAND Gate Black Box Truth Table Digital Circuit Sum of Products Product of Sums
  • 3. HISTORY • Regular structures for two-level logic: (1960s-70s) • Consist of MUXs, De-MUXs, Decoders, FFs. • Yield spaghetti-like maze! • Each modification means a new PCB. • Engineers got fed up!
  • 4. HISTORY • Programmable Logic Devices (PLDs): (1970s-80s) • Chip makers addressed this problem by unconnected arrays of AND-OR gates. • Fuses used to connect gates. • Each fuse could be blown open or left close. • Programming took place at manufacturers plants. • Simple PLDs (SPLD) could only handle up to 10–20 logic equations. • You had to break the design apart. • Wiring was also required and it was a big no-no! • Again engineers got fed up!
  • 5. HISTORY • Programmable Logic Devices (PLDs): (1970s-80s) Programmed State
  • 6. HISTORY • Complex PLD (CPLD): (1980s) • Contains a bunch of PLD blocks connected together by a global interconnect matrix. • Each component is programmed individually.
  • 7. HISTORY • Application Specific Integrated Circuits (ASICs): • Not available circa 1980s! • Custom fabricated design from scratch. • Large complex functions, millions of gates customised for extreme speed and low power. • Very expensive in small quantities > $1 Million • Very hard to design. • NOT reprogrammable which means high risks!
  • 8. HISTORY • Application Specific Integrated Circuits (ASICs): • Any mistake means millions of dollars! • June 1994, a flaw in Intel Pentium chip causes a division error, discovered by someone called Dr Nicely. • December 20th 1994, Intel apologized and replaced all flawed Pentiums upon request. • Intel reserved $420 million to cover costs! • Full story: http://www.emery.com/1e/pentium.htm
  • 9. PROBLEM PLDs •Limited Complexity •Thousands of gates •Easy to design •Programmable ASICs •Large Complex Functions •Millions of gates •Hard to design •Not reprogrammable FPGA
  • 10. FPGA DEFINITIONS • Field Programmable Gate Arrays (FPGAs) are digital integrated circuits (ICs) that contain configurable (programmable) blocks of logic along with configurable interconnects between these blocks. • The “field programmable” portion of the FPGA’s name refers to the fact that its programming takes place “in the field”.
  • 11. WHY USE FPGA? • The cost of an FPGA design is much lower than that of an ASIC. • Implementing design changes is much easier in FPGA. • Time to market for FPGAs is much faster. • FPGAs make many small, innovative design companies viable. • In 2003: 1500 to 4000 ASIC design starts and 5000 ASSP design starts, while around 450,000 FPGA design starts in the same year.
  • 12. WHY USE FPGA? • What distinguishes an FPGA from an ASIC is embodied in the name: Field P r o g r a m m a b l e Gate Array
  • 13. FPGA ARCHITECTURE • Programmable logic blocks called Logic Elements (LEs). 1000+ → 100,000+ • Massive fabric of programmable interconnects. • LEs described as islands in a “sea” of interconnects. • Manufacturers refer to LE in different ways. Altera refers to it as Adaptive Logic Module (ALM). Xilinx refers to it as Configurable Logic Block (CLB).
  • 14. ARCHITECTURE: LOGIC ELEMENTS • 8-input divisible look-up table (LUT). • Four dedicated registers to improve timing closure. • Full Adders and MUXs. • 25% of ALMs can be used as distributed memory using MLABs. ALM for Altera Cyclone V
  • 15. ARCHITECTURE: LUT • LUT contains memory cells to implement small logic functions. • Each cell holds ‘0’ or ‘1’. • Programmed with outputs of truth tables. • Inputs select content of one of the cells as output.
  • 16. ARCHITECTURE: LAB AND ALM • LABs are Logic Array Blocks • Some FPGAs have two ALMs in each LAB, while others have four. • Fast programmable interconnect within the LAB. • This is complemented by an equivalent hierarchy in the interconnect. LAB ALM ALM Logic Cell Logic Cell Logic Cell Logic Cell ALM ALM Logic Cell Logic Cell Logic Cell Logic Cell LABs ALMs Logic Cells Interconnect Speed
  • 17. ALM connection details for Cyclone V
  • 18. ARCHITECTURE: EMBEDDED MULTIPLIERS, ADDERS, ETC. • Some functions may be slow in programmable logic. • One common operation in DSP applications, Multiply-and-Accumulate (MAC). • Some FPGAs provide entire MACs as embedded functions.
  • 19. ARCHITECTURE: MORE FEATURES • Memory • DSP Blocks • PLLs • Transceivers • GPIO • Hard IP • That’s what differentiates FPGA from CPLD.
  • 20. DESIGNING WITH FPGA: HDL • Can’t design FPGA by hand; way too much logic to manage and hard to make changes. • Hardware Descriptions Languages (HDL) are used to specify functionality of logic at a high level. • Most two popular languages are Verilog and VHDL (VHSIC Hardware Description Language). D Q Q Verilog VHDL DFF
  • 21. DESIGNING WITH FPGA: FLOW • Validation: • High level simulation to catch specification errors. • Verify pin-outs and connections to other system components. • RTL Synthesis: • Process of compiling HDL code into logic gates and flip-flops. • Technology Mapping: • Map the logic onto elements available in the implementations technology (LUTs). • Placement and Routing: • Assign logic blocks to functions. • Make wiring connections. Design System Validation RTL Synthesis Place and Rout Verification
  • 22. DESIGNING WITH FPGA: FLOW • Timing Analysis: • Verify paths and determine delays. • Check critical paths and improve their timing. • Adjust placement of cells to improve timing closure. • If the design does not fit it can be divided into multiple chips. • Generate programming files which contain bits to be loaded in the device.
  • 23. DESIGNING WITH FPGA: OPENCL • What is OpenCL (Open Computing Language)? • Open standard framework that enables developers to write programs that execute across heterogeneous systems including CPUs, GPUs, DSPs, and FPGAs. • Benefits of OpenCL for FPGAs: • Faster time-to-market: using the OpenCL C-based parallel programming language as opposed to low-level HDL. • Quick design exploration: by working at higher level of abstraction. • Easy design re-use: by retargeting existing OpenCL code to current and future FPGAs. • Faster design completion: by generating an FPGA implementation in single step.
  • 24. CONFIGURING FPGA • Millions of SRAM cells hold LUTs and interconnect values. • Volatile memory, loses configuration when power is turned off. • Non-volatile memories are used to power up FPGAs with specific bit file.
  • 25. SoC FPGA • Formerly, designers used to implement what so called soft processors, which are microprocessors implemented in HDL. • Popular IPs: NIOS II from Altera and MicroBlaze from Xilinx. • Such architectures did not realize high performances, in addition to resources consumption and power consumption. • They were also vendor-specific.
  • 26. SoC FPGA • Chip makers again for the rescue! • SoC FPGAs integrate an ARM-based hard processor system (HPS) consisting of processor, peripherals, and memory interfaces with the FPGA fabric using a high bandwidth interconnect backbone. • It combines the performance and power savings of hard intellectual property (IP) with the flexibility of programmable logic.
  • 27. SoC FPGA: ADVANTAGES • Improved system performance: through a higher HPS to FPGA bandwidth interconnect, hardware acceleration, and increased memory performance. • Increased reliability: through error correction code (ECC) and memory protection. Warm/Cold CPU reset that initiates without affecting or reprogramming FPGA. • More flexibility: through hardware differentiation, system boot and configurations options, and multiple hardened memory controllers. • Lower system cost: through single-chip integration, integrated PCIe controller and no power off sequencing.
  • 28. SoC FPGA • FPGA Vendors and Processors: FPGA Vendor Hard Processor Soft Processor Actel None Third-Party only Altera ARM NIOS, NIOS II Lattice None Third-Party only Xilinx IBM PowerPC MicroBlaze, PicoBlaze QuickLogic MIPS Third-Party only
  • 29. SoC FPGA: HPS Cyclone V SoC HPS Architecture
  • 30. SoC FPGA: HPS FEATURES • 925 MHz, dual-core ARM® Cortex™-A9 MPCore™ processor. • Each processor core includes: • 32 KB of L1 instruction cache, 32 KB of L1 data cache. • Single- and double-precision floating-point unit and NEONTM media engine. • CoreSightTM debug and trace technology. • 512 KB of shared L2 cache. • 64 KB of scratch RAM. • Multiport SDRAM controller with support for DDR2, DDR3, and LPDDR2 and optional error correction code (ECC) support.
  • 31. SoC FPGA: APPLICATIONS • Just to name a few: • Automotive Advanced Driver Assistance Systems (ADAS) • Wireless Communications • Military Radar • Military Secure Communications • The top four manufacturers of electronic imaging systems all use FPGAs • This include CT, MRI, and Ultrasonic equipment
  • 32. DEMONSTRATIONS • Morse Transmitter • 9-bit Microprocessor (Hello World) • SoC HPS Apps (G-Sensor) • DE1-SoC Ubuntu Desktop
  • 33. REFERENCES • www.altera.com • www.Xilinx.com • www.fpga4fun.com • FPGAs Instant Access by Clive “Max” Maxfield • Rapid Prototyping of Digital Systems, SOPC Edition by James O. Hamblen
  • 34. QUESTIONS Thanks for your listening! For more information and questions: sirajmuhammad@outlook.com