Using OpenCV and Vivado™ HLS To Accelerate Embedded Vision Applications in The Zynq SoC
Using OpenCV and Vivado™ HLS To Accelerate Embedded Vision Applications in The Zynq SoC
25
Algorithm
Design
Modeling
System
Partitioning
Prototyping
Implementation
Release
Xcell Journal
Algorithmic Specification
Vivado HLS
Microarchitecture Exploration
RTL Implementation
VHDL or Verilog
System IP Integration
+
_
+
_
Current Frame
Output Frame
OpenCV
Motion-Detection
Algorithm
Previous Frame
can help you accelerate these functions while still written in C++.
Vivado HLS makes use of C, C++ or
SystemC code to produce an efficient RTL implementation.
Furthermore, the Vivado IP-centric
design environment provides a wide
range of processing IP SmartCOREs
that simplify connections to imaging
sensors, networks and other necessary I/O interfaces, easing the process
of implementing those functions in the
OpenCV libraries. This is a distinct
advantage from other implementation
alternatives, where there is a need to
accelerate even the most fundamental
OpenCV I/O functionality.
WHY HIGH-LEVEL SYNTHESIS?
The Vivado HLS compiler from Xilinx
is a software compiler designed to
transform algorithms implemented in
C, C++ or SystemC into optimized RTL
for a user-defined clock frequency and
device in the Xilinx product portfolio.
It has the same core technology underpinnings as a compiler for an x86
processor in terms of interpretation,
analysis and optimization of C/C++
programs. This similarity enables a
rapid migration from a desktop development environment into an FPGA
Xcell Journal
27
Figure 4 Motion detection on the Zynq SoC using the ARM processor
Xcell Journal
Figure 5 Motion detection on the Zynq SoC using the programmable fabric
Xcell Journal
29
FPGA S OLUTIONS
from
?
?
?
?
We speak FPGA.
www.enclustra.com
30
Xcell Journal