IP Description
NEMA®|t is the industry’s smallest Internet-of-Things (IoT) GPU with 3D functionality. NEMA®|t features OpenGL® ES capabilities, implements a fully configurable and programmable 3D graphics rendering engine, accelerates a comprehensive super-set of 2D graphics drawings, and has smart composition functions.
NEMA®|t is, designed to support midrange till higher level quality wearable and IoT devices sporting an SoC with 32-bit MCU or MPU (e.g. ARM® Cortex® M and A processors).
Architecture
NEMA®|t is a modular architecture and is available in one, two or four-core configurations. Each flavor includes one additional fully programmable vertex processor in addition to the fragment processor cores. All cores utilize a fixed-point data path and custom VLIW Instruction Set Architecture (ISA) in a heavily multi-threaded execution pipeline which is optimized for extracting the maximum performance in 3D acceleration in a power and silicon area constrained system.
NEMA®|t connects to the rest of the system over an AHB or AXI bus and features an optional, smart IOMMU that eliminates unnecessary data traffic between host CPU and the GPU.
Core Features
- Fully programmable engine with a VLIW instruction set
- Scalable to multiple cores
- DMA based Command lists to minimize CPU overhead
- Compression schemes
- TSCTM4 (4 bits per pixel)
- TSCTM6 / TSCTM6a (6 bits per pixel without/with alpha)
- Z-buffer compression
- 3D Rendering
- Support for OpenGL® ES
- Perspective correct image projection
- Z-Buffer (Early test, Late test)
- 2D drawing:
- Pixel / Line drawing
- Filled rectangles
- Triangles (Gouraud Shaded)
- Quadrilaterals
- Smart Composition
- One pass composition
- Hidden areas not read from memory
- YUV layers are automatically processed without intermediate conversion
- Video scaler
- Blit support
- Rotation, Mirroring
- Stretch (independently on x, y axis)
- Source and/or destination color keying
- Format conversions
- RGB and YUV
- Texture Wrapping (mirror, repeat, clamp, border color)
- Text rendering supports
- A1 bitmap, A8 bitmap antialiased
- Subsampled antialiased
- Color formats
- 32/16/8 bit, with/out alpha, GreyScale, YUV, RGB, TSCTM4, TSCTM6 / TSCTM6a.
- Full Alpha blending
- Programmable blending modes
- Source/Destination color keying
- Texture mapping
- Point sampling
- Bilinear filtering
- Texture caching
Configuration Options
- # of Cores
- # of Thread IOMMU
- Caches
- Texture/ Z buffer
- FrameBuffer/Texture Compression
- TSCTM4, TSCTM6, TSCTM6a
- Z-Buffer Compression
- Master Interface
- AMBA AHB 32bit
- AMBA AXI4 32/ 64bit
- Slave Interface
- AMBA AHB, AXI4-Lite
Software Description
OpenGL®|ES library provides OpenGL|ES 2.0 API for graphics applications. It uses NEMA®|t innovative architecture to accelerate rendering operations but it also comes with a built-in SW renderer to provide full OpenGL|ES functionality.
OpenGL®|ES library is implemented on top of a subset of Vulkan API, necessary to support OpenGL®|ES features. Vulkan API is utilized only as the basis layer underneath GL and cannot be used as a standalone API for graphics applications.
Beyond OpenGL®|ES, NEMA®|t supports:
- NEMA®|GFX enabling high quality 2.5D graphics on systems running RTOS or even on OS-less systems.
- DirectFB enabling software development with application and Graphic User Interface (GUI) creation frameworks, such as Qt and GTK.
Software package comes together
- NEMA®|SHADER-Edit is a shader editing tool that enables users to rapidly create and compile GLSL shaders offline. Compilation framework incorporates both NEMA®|t and ARM back ends, automatically choosing whether the shader can be executed by NEMA®|t or SW renderer and producing the appropriate executable.
- NEMA®|GUI-Builder, a graphical cross-platform software framework enabling rapid high-end Graphics User Interface (GUI) development on low resource hardware
- NEMA®|PIX-Presso, a utility software for converting images to/from formats suitable for low power embedded devices