ComputeRAM is an SRAM macro with integrated compute capability. It is a semiconductor IP product designed to enable microcontroller-based systems to run AI, DSP, and other linear algebra routines up to 130x faster and 150x more energy efficiently.
ComputeRAM enables licensees to seamlessly integrate in-memory computing capabilities into existing chip designs. A ComputeRAM macro shares the same memory interface as conventional SRAM and is compatible with any microcontroller-based SoC (Arm, RISC-V, x86, or otherwise).
ComputeRAM’s SDK allows programmers to develop and port new and existing libraries, such as PyTorch and Tensorflow, to a ComputeRAM-enabled system. When running linear algebra intensive applications, such as neural networks or digital signal processing routines, this results in dramatic performance gains. The SDK also includes libraries of ComputeRAM-optimised neural network building blocks and models that can be used for rapid development and deployment.
As an example, when a matrix-vector product is implemented on an Arm Cortex-M0 that uses ComputeRAM instead of conventional SRAM, it results in improvement of up to 130x in latency and 150x in energy-efficiency respectively.
ComputeRAM
Overview
Key Features
- Available as a 18 kB macro in GlobalFoundries 22FDX process; - Memory Compiler and FinFET variants under development
- Low power sleep mode with data retention
- Built using proven foundry SRAM bit cells, fully CMOS, strictly obeys foundry DFM/DRC rules
- Bit-accurate computation
- Matrix-vector product computation primitive
- Intermediate and full-precision modes
- Fixed point, signed and unsigned integer data types
- Programmable interrupt pin assert when computation completes
Benefits
- Drop-in replacement to conventional memory with the added capability to compute on stored content
- Optimised for linear algebra workloads such as AI and DSP
- CPU agnostic and compatible with any ISA such as Arm, RISC-V, x86 or others
- Software development kit (SDK) ensures compatibility with standard development frameworks (Tensorflow Lite, PyTorch, ONNX) and is extensible to other BLAS-based libraries.
- SDK also includes libraries of optimised routines and kernels ready for deployment
Block Diagram
Applications
- IoT
- Automotive
- Industrial use cases
- Wearables
- Embedded reality.
Deliverables
- Testing resources: SystemVerilog and UVM testbenches, Verilog, C++ functional & SystemC models
- *.lib, *.lef, *.ndm, *.gds files for backend integration
- Software development kit (SDK)
- ComputeRAM emulation kit on Renode, support for other frameworks under development
- Datasheet, App Notes, User Guides
- Customisation services