powered as such power efficiency
is also a driving requirement. This
leads to a tightly integrated solution
which, along with implementing the
image processing algorithm, is also
capable of communicating with other
sub systems or even controlling
them. This is especially the case for
drones where Size, Weight and Power
(SWaP) constraints often combine the
image processing system with other
functions such as motor control, to
create an optimal solution.
Implement ing the processing
algorithms within the cloud creates
a different series of challenges, it is
within the cloud that compute intensive
algorithms are implemented such as
deep machine learning, data analytics
and image processing. These
algorithms also face bottle necks in
memory, storage and connectivity
within the data centre limiting
performance. While the applications
implemented on the cloud may not
be real time, often they require the
ability to stream processed data in
near real time and without drop outs
to the client. This is the case in medical
and scientific imaging which needs to
be able to distribute a single image to
several clients, this cannot be limited
by bottlenecks in the system.
Stack Based Solution
Increasingly programmable logic in
the form of All Programmable FPGA
and System on Chip is being used to
address these challenges. However, to
fully leverage the capabilities provided
by programmable logic we need not
only the device but also an ecosystem
which enables development using
current industry standard frameworks
and libraries.
This is where the Reconfigurable
Acceleration Stack (RAS) and
the reVISION™ stack from Xilinx
come into play, designed to provide
acceleration at the Cloud and Edge
respectively. Both stacks are heavily
based around the new paradigm
of developing programmable logic
using High Level Synthesis (HLS)
which allows development in C / C++
/ OpenCL and System C. Combining
this HLS capability with library support
for industry standard frame works and
libraries such as OpenCV, OpenVX,
Caffe, FFmpeg and SQL enables
the necessary ecosystem to be
established.
Both RAS and reVISION stacks are
organized in three distinct layers very
similar to the OSI seven-layer model
which many engineers are familiar
with. The lowest layer of the stack is
the platform layer and it is common
to both the RAS and reVISION stack.
This is the actual hardware platform
which contains the selected FPGA or
SoC upon which the remainder of the
stack is to be implemented, although
the actual underlying technology
is different for both stacks. When
developing using reVISION the target
device comes from either the All
Programmable Zynq®-7000 SoC or
Zynq® UltraScale™+ MPSoC system
on chip families. While the RAS
platform is based upon the use of All
Programmable UltraScale™+ FPGAs,
as such there is a difference in the
remaining two levels of the stacks.
When users are developing using
the reVISION stack, the second layer
is referred to as the algorithm layer
and it is at this level they utilize the
SDSoC™ design tool combined with
commonly used open source libraries
like OpenCV, to implement the
algorithms required. Using SDSoC,
they can partition the functionality
between the processor system and
the programmable logic of the chosen
device to obtain the optimal system
performance. While the final level of
the reVISION Stack is the application
layer which again uses industry
standard frame works to create the
overall application required for the
solution.
The second level of the RAS is
the application layer, this uses the
SDAccel™ tool which again leverages
HLS to implement its application
with support for machine learning
frameworks such as Caffe, integration
with SQL environments and support
for MPEG processing using FFmpeg.
Of course, the same OpenCV libraries
and frameworks as used within the
reVISION stack can also be used at
this level if required. The final level
allows for integration within the data
centre and is the provisioning layer,
this uses OpenStack to provide the
integration required.
Implementing these stacks within
their solutions can bring about
several advantages, many of which
will be obvious, along with several
which might not be obvious at first
inspection.
Benefits of the Stack
The most obvious benefit which
comes with the implementation of both
stacks is the performance increase,
which is achieved by executing
Fig 1 and 2 - Diverse examples Cloud based Medical
Imaging and Edge based Agricultural Drone
28 l New-Tech Magazine Europe