Upload
embedded-vision-alliance
View
138
Download
0
Embed Size (px)
Citation preview
Copyright © 2015 Avnet 1
Mario Bergeron, Avnet
12 May 2015
System-Level Design for Embedded Vision
with FPGA-based Programmable SoCs
Copyright © 2015 Avnet 2
• Who We Are:
• We are one of the world’s largest global distributors of electronic
components, computer products and embedded technology serving
customers in more than 80 countries
Company Introduction—Avnet, Inc.
• What We Do:
• We connect the world's leading technology
companies with more than 100,000
customers by providing cost-effective,
value-added services and solutions
• Financial Scope:
• For the fiscal year ended June 28, 2014, we
generated revenue of $27.5 billion
Copyright © 2015 Avnet 3
• What are FPGA-based Programmable SoCs ?
• Advantages of using these devices
• Typical development cycle
• Challenges of using FPGA-based Programmable SoCs
• Balancing the load
• Building the infrastructure
• Choosing the right IP
• Solutions with Tools
Overview
Copyright © 2015 Avnet 4
FPGA-based Programmable SoCs
What are they ?
Copyright © 2015 Avnet 5
• The best of both worlds
• Software
• Operating Systems
• Leverage legacy code
• Hardware
• High performance
• Standard or custom interfaces
• Accelerators
What is an FPGA-based Programmable SoC ?
FPGA-based Programmable SoC
Software Hardware Processor
sub-system
FPGA
sub-system
• Disadvantages
• Complexity
• Hardware
design
• Advantages
• Differentiation
• Integration
• Flexibility/Scalability
• Performance
Copyright © 2015 Avnet 6
FPGA-based Programmable SoC
FPGA
sub-system
Typical Development Cycle
1 Hardware platform
2 Software application
3 System Profiling
4 Accelerator
Processor
sub-system
FPGA
sub-system
custom
interfaces
Copyright © 2015 Avnet 7
Challenge :
Balancing the Load
Copyright © 2015 Avnet 8
• Processing capabilities of software and hardware are very different
• Software
• ~ 1 GOPS per processor core
• 1 GHz ARM processor : capable of handling VGA @ 30 frames/sec
• Hardware
• from 100s of GOPS to several TOPS depending on device
• Very capable of handling 4K2K resolutions or 1000s frames/sec
Balancing the Load
FPGA-based Programmable SoC
Processor
sub-system
FPGA
sub-system
Processor
sub-system
FPGA
sub-system
Copyright © 2015 Avnet 9
Typical Computer Vision Requirements
100’s OPS/pixel
8MP×100 Pixels / frame
= 100’s GOPS
10000’s OPS/feature
1000’s of features/sec
= MOPS
4K×2K
1080p
720p
480p
Pixel based
Image Processing and Feature
Extraction
Frame based
Feature processing and
decision making
F1
F2
F3
…..
Copyright © 2015 Avnet 10
• XYLON—Face Analytics
• Real-time 3D head pose
• Facial expressions
• Eye closure
• Gaze direction
• FPGA-based programmable SoC implementation
Balancing the Load—A Real Example
face analytics
image
processing
hw
sw legend:
resizing
/csc
cross
correlation display
OSD
~ 54X
data rate
reduction
Copyright © 2015 Avnet 11
Challenge :
Building the Infrastructure
Copyright © 2015 Avnet 12
Interconnect Bandwidth Latency Use Cases
General Purpose Ports (GP) Low configuration
High Performance Ports (HP) High High high rate data paths
Accelerator Coherency Port (ACP) High Low accelerators
Hardware Infrastructure
• Two worlds collide !
• Software, Hardware
• HWSW Interface
• Shared memory
• OCM, Cache, DDR
• DMA, Interrupts
• Interconnect
• Each change in architecture requires new hardware infrastructure
FPGA-based Programmable SoC
DDR
GP
ACP HP
Processor
sub-system FPGA
sub-system
Cache OCM
Copyright © 2015 Avnet 13
Hardware Infrastructure—A Real Example
face analytics
image
processing
hw
sw legend:
resizing
/csc
cross
correlation display
OSD
FPGA sub-system
Processor sub-system
L2 cache
DDR memory
ROI/
template video
ACP ACP
graphics
HP
Copyright © 2015 Avnet 14
• Software developers expect device drivers for custom hardware
• Often overlooked by hardware designers
Software Infrastructure—Device Drivers
Copyright © 2015 Avnet 15
Challenge :
Choosing the Right IP
Copyright © 2015 Avnet 16
• PYTHON—very scalable image sensor family
Use Case—PYTHON Image Sensor
Sensor Image Size Frame Rate Bandwidth Pixel Rate
PYTHON-300 640 x 480 840 fps 2.88 Gbps 288 MHz
PYTHON-2000 1920 x 1200 210 fps 5.76 Gbps 576 MHz
PYTHON-5000 2592 x 2048 100 fps 5.76 Gbps 576 MHz
PYTHON-25K 5120 x 5120 80 fps 19.84 Gbps 1.94 GHz
PYTHON
300
Serial
LVDS
Receiver
SYNC
DATA
Sync
Decoder
&
CRC
Checker
DATA
(40bits)
SYNC
(10 bits)
DATA
(40bits)
SYNC
4:1 PIXEL
(10bits)
SYNC
Serial LVDS
720Mbps 72MHz 72MHz 288MHz
Copyright © 2015 Avnet 17
• IP cores available from manufacturers
• Generic implementations
• Support single channel of pixels
• When used in the lower cost FPGA-based programmable SoCs
• Typical limit of 150MHz for single stream of pixels
• Corresponds to HD 1080P60
• When used in larger FPGA-based programmable SoCs
• Typical limit of 300MHz for single stream of pixels
• Corresponds to UHD 4K2K @ 60 fps
The Challenge—Single Channel IP Cores
300
150
Copyright © 2015 Avnet 18
• The Solution
• Parallel execution paths
• 4K2K designs are implemented with parallel data paths
• 4K2K @ 60fps => 600 MHz pixel rate (4 * 150MHz / 2 * 300MHz)
• Solution providers
• XYLON—Video IP cores supporting 1/2/4 pixels per clock
• Auviz Systems—IP cores supporting 1/8/16 pixels per clock
The Solution—Parallel Channel IP Cores
Copyright © 2015 Avnet 19
Solutions with Tools
Copyright © 2015 Avnet 20
• SDSoC
• Software based environment
• System optimizing compiler
• Software
• Hardware
(including device drivers)
• Connectivity
• HLS (High-Level Synthesis)
• C/C++ to hardware synthesizer
• pipelined / parallel accelerators
• Platforms
• Pre-built hardware infrastructure
Xilinx Software Defined Tools (SDSoC)
Copyright © 2015 Avnet 21
Conclusion
Copyright © 2015 Avnet 22
• Plan time to build infrastructure
• Hardware (interfaces, accelerators, interconnect)
• Software (device driver development)
• Choose the right IP
• Calculate your required pixel rate
• Support for parallel execution paths
• Device driver Support
• Consider using emerging software tools to accelerate productivity
• Pre-built infrastructure
• Automatically generate accelerator + interconnect + device driver
• Allows architecture exploration
Lessons Learned
Copyright © 2015 Avnet 23
• MicroZed Embedded Vision Kit
• Xilinx Zynq-7000 SoC
• ON Semiconductor PYTHON-1300-C camera
• Toshiba TCM3232PB industrial camera
• Demonstration of XYLON IP solutions
• Face Analytics
Summit Technology Showcase—Avnet Table
Copyright © 2015 Avnet 24
• Avnet Development Kits
• MicroZed Embedded Vision Kit
• http://microzed.org/product/microzed-embedded-vision-kits
• Camera Modules
• http://microzed.org/product/python-1300-c-camera-module
• http://microzed.org/product/toshiba-industrial-1080p60-
camera-module
• XYLON IP Solutions
• Face Analytics
• http://www.logicbricks.com/Products/logiFDT.aspx
• Image Signal Processing Pipeline (ISP)
• http://www.logicbricks.com/Products/logiISP.aspx
References