The DesignWare® ARC® MetaWare Toolkit for AURIX™ TC4x is a complete suite of tools, runtime software and libraries that provides everything needed to program the Parallel Processing Unit (PPU) on the Infineon AURIX TC4x family of microcontrollers. The PPU is an implementation of the DesignWare ARC EV71 Processor.
The toolkit consists of the MetaWare Development Toolkit, Neural Network Software Development Kit (NN SDK), and DSP and math libraries. In addition, the Toolkit also includes an AUTOSAR Complex Device Driver (CDD) for the Infineon TriCore microcontroller and a PPU Dispatcher to schedule tasks on the PPU.
The following table shows the main components of the MetaWare Toolkit for AURIX™ TC4x:
|MetaWare Development Toolkit
||The toolkit contains the C/C++ & OpenCL C compilers that support programming for kernel and application development. It also includes a debugger and nSIM PPU simulator for debugging, profiling, and optimizing kernels and applications
||For model-based design, this plug-in automatically generates optimized code from a MATLAB model to execute on the PPU
|DSP & Math Libraries
||These are libraries optimized for execution on the PPU and include a Vectors DSP and a Vector Linear Algebra Library
|MetaWare Neural Network SDK
||The SDK includes a neural network compiler that compiles and runs AI models optimized for the PPU
|AUTOSAR Complex Device Driver (CDD) & Low-level Device Driver (LLD for PPU)
||The CDD provides PPU services to the Software Components (SWCs) of an AUTOSAR application. The LLD is a bare-metal library to handle communication between TriCore and the PPU
||This is a static library for the PPU used to communicate between a TriCore processor core and the PPU
MetaWare Development Toolkit
The MetaWare Development Toolkit contains compilers, a debugger and PPU simulator. It includes the MetaWare C/C++ Compiler and MetaWare OpenCL C Compiler used to build applications and kernels to execute on ARC EV7x Processor-based PPU. The compilers support manual and automatic vectorization and provide methods for additional optimizations through software pipelining and control of instruction scheduling. The MetaWare Debugger is used to debug, profile, and optimize applications and kernels built with these compilers. ARC nSIM is an Instruction Set Simulator used for early software development such as algorithm development.
This plug-in enables model-based design for algorithm development at a higher level of abstraction. It achieves this by integrating the MetaWare Development Toolkit into the MATLAB/SIMULINK environment. The MATLAB/SIMULINK-generated C code can then be compiled for the PPU. The Vector DSP Library and Vector Linear Algebra Library can be used as code replacement libraries to produce further optimized code that can run on the PPU.
DSP & Linear Algebra Libraries
The MetaWare Vector DSP library is a software library that provides a set of optimized software DSP functions that can ease the development of applications for the Vector DSP of the PPU. By using the library, you can benefit from applying pre-verified functions that have been optimized for the PPU.
The MetaWare Vector Linear Algebra Library is a software library of BLAS/LAPACK and supplementary algorithms. It is available in an OpenCL C and a C/C++ version. This library can be used to easily develop applications requiring linear algebra functions.
These libraries can be used by the MATLAB Plug-in for code replacement to produce highly optimized code for the PPU.
MetaWare NN SDK
The MetaWare NN SDK provides a Neural Network Compiler and runtime software to execute a neural network model on the PPU. The MetaWare NN Compiler takes a pre-trained model, implemented in the TensorFlow framework or available in the ONNX format, and compiles it to run on the PPU. It can also produce a standalone fixed-point model to aid in comparing the accuracy when moving from floating point to fixed point.
AUTOSAR CCD & LLD
The Complex Device Driver (CDD) provides PPU services to the Software Components (SWCs) of an AUTOSAR application. It is a driver for the TriCore processor that enables communication with the PPU. The Low-Level Device Drive (LLD) is a bare-metal version of the driver to support other non-AUTOSAR environments.
The PPU Dispatcher is a static library to communicate between a TriCore processor core and the PPU using the SPEED messaging module. The PPU Dispatcher runs on the PPU and provides scheduling and execution services requested by the TriCore processor. The PPU Dispatcher can also execute periodic tasks. An example application is provided to run and test the library on the Synopsys TC49 VDK.
Bring AI to ADAS with ARC MetaWare Toolkit for Infineon AURIX TC4xLearn how Synopsys and Infineon help bring AI to your ADAS and powertrain systems with Infineon’s AURIX TC4x and Synopsys MetaWare Toolkit for AURIX. You’ll develop safe, secure and efficient vehicles supporting up to ASIL D for autonomous driving and accelerate the shift from combustion engines to greener eMobility.
Downloads and Documentation