Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2011 Altera CorporationPublic The Trends in Programmable Solutions SoC FPGAs for Embedded Applications and Hardware-Software Co-Design Misha Burich Senior.

Similar presentations


Presentation on theme: "© 2011 Altera CorporationPublic The Trends in Programmable Solutions SoC FPGAs for Embedded Applications and Hardware-Software Co-Design Misha Burich Senior."— Presentation transcript:

1 © 2011 Altera CorporationPublic The Trends in Programmable Solutions SoC FPGAs for Embedded Applications and Hardware-Software Co-Design Misha Burich Senior VP & CTO Altera Corporation June 8, 2012

2 © 2011 Altera CorporationPublic Agenda Market Drivers and Technology Enablers Embedded Computing & FPGAs The emergence of SoC FPGAs Hardware-Software Programmability Summary 2

3 © 2011 Altera CorporationPublic Market Drivers and Enabling Embedded Technologies 3

4 © 2011 Altera CorporationPublic 4 Most Markets Rely on Embedded Processing Communications and Broadcast Consumer and Automotive Test and Medical Computer and Storage Military and Industrial

5 © 2011 Altera CorporationPublic Enabling Technologies: 200X-201X Moores law enabled high density programmable platforms 5 Fine-Grained Massively Parallel Heterogeneous Arrays FPGAs DSPs CPUs Single Cores Coarse-Grained Massively Parallel Processor Arrays Multi-Cores Coarse-Grained CPUs and DSPs Multi-Cores Arrays

6 © 2011 Altera CorporationPublic The Age of Systems-On-Chip ARM based SoCs by Apple, Nvidia, Qualcomm, TI, others 6 SoC FPGAs by Altera, Xilinx, others

7 © 2011 Altera CorporationPublic Also, There Is More-Than-Moore System-in-package multi-die integration POP, 2.5D, 3D, micro-bumps, through-silicon-vias (TSV) Example: Intels integration of Atom processor with Alteras FPGA E600C 7

8 © 2011 Altera CorporationPublic Embedded Computing on FPGAs 8 Source: Gartner Sept % FPGA Design Starts Soon, a majority of FPGA designs will feature an embedded processor

9 © 2011 Altera CorporationPublic Alteras Embedded Initiative 9 Cortex-M1MP32Cortex A9 Single FPGA Design Flow for a Broad Array of Industry- Leading Embedded Processors ColdFire V1 Atom E6XXC FPGA Design Software System Integration Tool SOFT CORE PROCESSORS SoC (PiP) SoC FPGA

10 © 2011 Altera CorporationPublic Modern FPGA: Massively Parallel 10 Million + Logic Elements Multi-billion Transistors Thousands of 20-Kbit Memory Blocks Thousands of MAC DSP Blocks Many External Memory, LVDS, And Transceivers IO Blocks

11 © 2011 Altera CorporationPublic FPGA : Ultimately Configurable Multicore 11 Processor Memory Processor Memory Processor Memory Can implement many coarse- grained processors Exploiting the fine grained parallelism of the FPGA for acceleration Possibly heterogeneous Optimized for different tasks Customizable to suit the needs of a particular application

12 © 2011 Altera CorporationPublic An Example: Crescendo Networks A Programmable Eight-Processor Architecture Using Embedded Soft Processor Nios II On a Single FPGA For Layer 4/7 Applications 12

13 © 2011 Altera CorporationPublic Hardware-Software Co-Design for SoC FPGAs 13

14 © 2011 Altera CorporationPublic SoC FPGA Programming Models Traditional FPGAs programming model is RTL State machines, datapaths, arbitration, buffering, etc. Also need a programming model that represents an FPGA as: Processor with hardware accelerators Configurable multi-core device 14

15 © 2011 Altera CorporationPublic C/C++ Compilers for FPGAs Several commercial offerings C/C++/System C High-Level-Synthesis to RTL C-to-Silicon Compiler (Cadence) Impulse C (Impulse Accelerated Technologies) Catapult C (Mentor) SynphonyC (Synopsys) AutoESL (now Xilinx) Cynthesizer (Forte), NEC 15 Synthesized blocks

16 © 2011 Altera CorporationPublic Integration of Embedded Processors and Hardware Accelerators in FPGAs: C2H 16 Program Memory Processor: Nios II, ARM DMA Accelerator DMA Data Memory Arbiter Data Memory Arbiter Qsys

17 © 2011 Altera CorporationPublic Identify the Software Bottleneck main () { …variable declarations… init(); while (!error && got_data()) { do_user_interface(); gather_statistics(); if (got_new_data()) d_transform(in_buf, out_buf); check_for_errors(); } cleanup(); } 17 Execution Time

18 © 2011 Altera CorporationPublic Compile C Function Into Hardware d_transform (int *t, int *p) { …setup code… for (i = 0; i < Buf_Size; i++) { …loop overhead… *t = transform (*p); t++; p++; } …exit code… } 18 Hardware Accelerator Hardware Accelerator Use HLS Compiler Or, Write the Function in HDL…

19 © 2011 Altera CorporationPublic The Result main () { …variable declarations… init(); while (!error && got_data()) { do_user_interface(); gather_statistics(); if (got_new_data()) d_transform(in_buf, out_buf); check_for_errors(); } cleanup(); } 19 Execution Time d_transform

20 © 2011 Altera CorporationPublic OpenCL Approach to SoC FPGA Programming 20

21 © 2011 Altera CorporationPublic What is OpenCL OpenCL is a programming model developed by the Khronos group to support multi-core programming and silicon acceleration An industry consortium creating open API standards Commitment to royalty-free standards 21

22 © 2011 Altera CorporationPublic OpenCL Portability 22 Source: RapidMind

23 © 2011 Altera CorporationPublic OpenCL Structure Natural separation between the code that runs on accelerators and the code that manages those accelerators The host code is pure software that can be executed on any sort of conventional microprocessor Soft processor, Embedded hard processor, external x86 processor The kernel code is C with a minimal set of extensions that allows for the specification of parallelism and memory hierarchy 23

24 © 2011 Altera CorporationPublic OpenCL Host Program Pure software written in standard C Communicates with the Accelerator Device via a set of library routines which abstract the communication between the host processor and the kernels 24 main() { read_data_from_file( … ); maninpulate_data( … ); clEnqueueWriteBuffer( … ); clEnqueueTask(…, my_kernel, …); clEnqueueReadBuffer( … ); display_result_to_user( … ); } Copy data from Host to FPGA Ask the FPGA to run a particular kernel Copy data from FPGA to Host

25 © 2011 Altera CorporationPublic OpenCL SoC FPGA Target 25 DDR* Interface IP Application Specific External Protocols Accelerator / Datatapath Computation Accelerator / Datatapath Computation Host Program Kernels Processor Memory Processor Memory Processor Memory

26 © 2011 Altera CorporationPublic Summary 26 The era of SoC programmable solutions The age of SoC FPGAs The era of innovation Massively parallel embedded programmable solutions The new embedded software era Embedded hardware-software co-design and parallel programming

27 © 2011 Altera CorporationPublic ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the United States and are trademarks or registered trademarks in other countries. Thank You


Download ppt "© 2011 Altera CorporationPublic The Trends in Programmable Solutions SoC FPGAs for Embedded Applications and Hardware-Software Co-Design Misha Burich Senior."

Similar presentations


Ads by Google