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).
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.
- 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)
- 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
- # of Cores
- # of Thread IOMMU
- 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
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