Synopsys has unleashed its latest generation of processor cores aimed at embedded vision applications that necessitate high definition resolutions. The fully programmable and configurable DesignWare EV61, EV62 and EV64 embedded vision processors combine one, two or four vision CPU cores and a programmable convolution neural network (CNN) engine.

The CNN engine operates in parallel with the vision CPUs for highly accurate object detection, image classification and semantic segmentation at a fraction of the power consumption of competing vision solutions. The EV6x processor family is supported by a comprehensive software programming environment based on common embedded vision standards including OpenVX and OpenCL C, as well as Synopsys' MetaWare Development Toolkit. The combination of high-performance vision CPU cores and CNN engine with high productivity programming tools make the EV6x processors ideal for a range of embedded vision applications such as advanced driver assist systems (ADAS), video surveillance, augmented and virtual reality, and simultaneous localisation and mapping (SLAM).

The EV6x processors have a heterogeneous multicore architecture including one to four high-performance vision CPU cores. Each vision CPU includes a 32bit scalar unit and a 512bit wide vector DSP and can be configured for 8, 16 or 32bit operations. In the maximum configuration of four vision CPU cores, the processor delivers up to 620 GOPS/s with full scatter-gather and predication capabilities. In addition, the EV6x processors are available with an optional CNN engine that delivers scalable performance up to 800 MACs/cycle and supports image resolutions up to 4K. The vision CPU and the CNN engine can work on tasks in parallel, making the EV6x particularly efficient for applications such as autonomous vehicles and drones where multiple cameras and vision algorithms are used concurrently.

OpenVX framework

The OpenVX framework simplifies the programming of the EV6x processors by automatically distributing tiled kernel execution over multiple scalar, vector DSP and CNN execution units. The OpenVX framework includes 43 standard computer vision kernels that have been optimised to run on the EV6x Processors. Users can define new kernels, giving them flexibility for their current vision applications and the ability to address future application requirements.

The OpenCV vision function library has been ported for use with the EV6x family processors. The MetaWare OpenCL C compiler offers automatic whole function vectorisation for data-level parallelism and is used for creating kernels for the vector DSPs. This compiler supports all of the programmability of the 512bit wide vector DSP and greatly simplifies the programming of the unit. In addition, a CNN-specific programming toolkit provides automatic mapping of a high-level description of a CNN graph onto the CNN engine.

Support for Synopsys' HAPS FPGA-based prototyping system enables validation of new designs and early software development, at-speed operation of real world I/O, and debug of code running on the EV6x processors in the user's system. The full suite of tools and libraries with available reference designs enables programmers to efficiently build, debug, profile and optimise their embedded vision systems.

The vision processors connect to an AXI bus interface to enable high-speed communication with a host processor and other blocks on the SoC, and fast access to frame data. A vision-specific streaming transfer unit in the EV6x processor facilitates background connection to the frame buffer to efficiently access the next frame while the current frame is being analysed. The EV6x processors can access image data stored in a memory mapped area on the SoC or from off-chip sources independently from the host processor.

The DesignWare EV61, EV62 and EV64 processors are scheduled to be available in October 2016. The MetaWare Development Toolkit and EV SDK Option (which includes the OpenCV library, OpenVX runtime framework and OpenCL C compiler) will be available in June.