ThinkVG is the smallest Graphics Processing Unit (GPU) in the market supporting the Khronos
Group OpenVG 1.1 standard. It is an extremely low-gate count IP Core based on VShader, a C/C++
programmable Floating Point SIMD Streaming processor, designed for graphics applications. System
Architecture is Scalable and embedded software allows flexibility. ThinkVG comes complete with
Software Library implementing OpenVG 1.1 running on VShader and with API package running on
host processor with emphasis on minimizing CPU overhead by the use of command lists and on
reducing memory bandwidth by utilizing custom image compression hardware.
ThinkVG Features
Speed: up to 2 pixels/clock cycle fill-rate
Area : 160K gates (including scan and clock gating, excluding memories)
Pure technology indepedent Verilog RTL
Modular Design based in AMBA AHB/AXI interface for easy SoC Integration.
Synthesizable
Customizable to your target technology
Polygon Processor
Polygon Filling (odd-even, no-zero rules)
Direct Bezier Rasterization
Triangle/Quadrilateral rasterization
Modes: Non-Antialiased, AntiAliased x4, x8, x16 point multisampling(opt)
OpenVG is a trademark of Khronos Group Inc.
AMBA, APB, AHB, AXI are trademarks ARM Ltd, Cambridge UK.
VShader GPU Core
VShader SIMD
At the heart of Think-Silicon GPUs is the VShader Processor Core
Unified Shader Architecture
Parallel Instructions
High and Low precision floating point arithmetic
Multiple SIMD fp Floating Point Units
Direct support for Reciprocals and Square roots
Colour Format Conversions
Zero-cost loops
Streaming Ports
Fully programmable with C/C++ Compiler
Software Library
Linux Drivers
Think Silicon provides the necessary device drivers for the Linux operating system, which enables the user processes to use the GPU. The drivers configure hardware's parameters and allow the communication between hardware and software.
More precisely the drivers offer the following functionality:
Detect hardware and maps hardware registers and Scratchpad special memory into kernel and process memory space
Allocate the requested graphics memory and make it available to user processes
Configure and direct the graphics output to the LCD display
Handle hardware interrupts
Drivers consist of two Device Drivers. ThinkVG driver and Framebuffer driver.
Software API OpenVG1.1 Library
Think Silicon provides a software library that implements the OpenVG API and makes use of the hardware acceleration.
The software library defines the API entry points which make use of the accelerated hardware as a backend and specifies
software and hardware control paths that execute rendering operations and graphics computations.
The library consists of two parts:
The software library (ThinkVG API) which is executed on the host processor.
High-level functionality, such as definition of
control paths, object management and error handling are handled by the API.
The microcode (firmware) which is executed on VShader. Low-level
functionality such as tessellation, rasterization and
image handling are handled by the microcode.
These two parts communicate via a fixed interface that allows the software library to make
calls to the microcode and pass
required arguments using command lists.
Videos
16x Antialiasing
ThinkVG running Qt and the Coverflow application, on a 135 MHz MIPS / ThinkVG system @ 640x480
High Quality 16x Sparse Multisampling AA provides very smooth polygon edges. Sampling Pattern
is fully programmable and can even include samples outside the test pixel.
Text Rasterization
direct text rasterization directly using TrueType data and 16x AA