Contact us

NPU IP · designed by Atelier

Sutra NPU. 29 GOPS to 118 TOPS.

A digital in-memory-compute neural processing unit with a RISC-V control core. The weights stay where the math happens, engines scale from one to eight, and every configuration is generated and verified for your workload by Atelier.

Evaluation preview · a whole Qwen3 token and a full YOLOv8n frame verified on RTL · evaluated using the ASAP7 predictive 7 nm flow

128–8,192 INT8 multiply-accumulates per cycle in one engine
235 Qwen3-0.6B tokens per second estimated with eight engines and 136 GB/s; a whole token verified on the RTL
118 TOPS peak with eight 128×64 engines at the 900 MHz design clock
Bit-exact fully digital: results equal the integer reference

What it is

Compute where the weights live.

In most accelerators, moving weights from memory costs more energy than the arithmetic. Sutra keeps each layer's weights in compute memory next to adder trees, so a whole weight tile meets an input vector in one access.

It is fully digital: results are deterministic and bit-exact with the integer model, with no analog noise or calibration.

CONTROL RISC-V core CV32E40P, RV32IMC runs the network program HOST PORT Image in, detections out commands, config, weights at boot commands ENGINES 1–8 · ONE FRAME EACH, ONE COMMAND STREAM IN-MEMORY-COMPUTE ENGINE Compute memory weights resident; R x C per read adder trees, bit-serial inputs Post-ops bias, requant, saturate, activation table input scratchpad · accumulators ACTIVATION MEMORY + ELEMENT-WISE UNIT Banked on-chip feature maps, up to 24 MB add · max-pool · upsample · activation · DMA GENERATED FOR your workload array R x C input bits / cycle compute memory activation memory number of engines chosen by Atelier against your FPS, area, power and latency

Language models

Qwen3-0.6B, a whole token on the RTL.

Every matrix multiply of a generated token on the generated RTL, with Qwen3-0.6B's real shapes; the norms, softmax and RoPE in our integer spec beside it. Those non-matrix layers are not on chip yet.

645 / 645 matrix multiplies of a whole token, all 28 layers and the output head, run on the RTL bit-identical; the logits equal the integer reference, the other ops computed in its integer arithmetic (16.8 million cycles, cycle model within 0.004%)
13 / 13 distinct matrix shapes of a token and of a 512-token prompt, run on the RTL with random INT8 data, bit-identical to the integer reference
0.2% cycle estimate against the RTL over a whole token and a whole prompt (18.4 and 84.1 million cycles; every shape within 1%)
20.5 ms engine time per generated token at 900 MHz: 49 tokens/s when memory keeps up

Model: Qwen3-0.6B (28 layers, grouped-query attention), INT8 weights and activations; wider layers split into 1,024-channel parts; attention run as matrix multiplies with K and V loaded at run time. Hardware: one 64×64 engine, simulated in Verilator, its weights and commands fed one per cycle by the test bench: the job of a planned weight DMA and command queue (the RISC-V control core alone takes about ten cycles per command). Not yet on chip: RMSNorm, softmax, RoPE and the SwiGLU multiply, which the estimates below cost on proposed units. Weights here are random: function and timing, not answers. With the real weights, a simulation of Sutra's number formats shows a correct reply needs a 16-bit residual stream and per-token activation scales (planned).

Qwen3-0.6B from one engine to eight, estimated by Atelier

RTL-validated cyclesPPA: model estimatesPlanned features included in projections

Sutra designs at 900 MHz with the planned weight DMA and command queue; one user, a 512-token prompt, then tokens generated with 1,024 in context. More engines pay off with more memory bandwidth (136 GB/s: two LPDDR5X channels). Engine cycles from the cycle model checked above; DRAM time from bytes moved over the bandwidth; energy from the calibrated energy model, standard-cell compute memory. Estimates, not measurements; a model split across engines is cycle-model only. Try other budgets in the live demo.

Sutramm²MemoryWeightsms to first tokentokens / smJ / tokenW
1 × 64×643.917 GB/sINT814524661.6
1 × 64×643.968 GB/sINT810049512.5
2 × 64×646.468 GB/sINT4 (planned)5893393.6
4 × 64×6411.468 GB/sINT84588615.3
4 × 64×6411.468 GB/sINT4 (planned)41142425.9
4 × 64×6411.4136 GB/sINT4 (planned)32177407.1
8 × 64×6421.6136 GB/sINT4 (planned)262354711.1

highlighted highest token rate

Built for language and vision models

Transformers and CNNs, one engine.

Matrix multiplies of transformers and convolutions run on the same in-memory-compute engines; residual adds, elementwise products, pooling and upsampling on the activation unit, with a norm and softmax unit in development; the RISC-V core sequences them. Language models stream their weights from DRAM, sized to the memory system. When a vision network fits on chip, as YOLOv8n does, feature maps stay in activation memory between layers and a frame needs no off-chip round trips once the weights are loaded.

01 / RESIDENT WEIGHTS

Weights loaded once

All of a network's weights live in compute memory across frames. Each frame moves only the image in and the detections out.

02 / SCALE OUT

One to eight engines

Engines run one frame each in lockstep from a single command stream, so throughput scales with engines and the control program stays the same.

03 / INTEGER EXACT

INT8, bit-exact

Per-channel fixed-point requantization, zero points, saturation and an activation table (SiLU for YOLO) in hardware: outputs match the integer reference bit for bit.

04 / ELEMENT-WISE UNIT

The layers between convolutions

Residual adds with rescaling, k×k and separable max-pool, nearest upsampling and activations, computed next to the activation memory.

05 / RISC-V CONTROL

A standard core runs it

An open CV32E40P (RV32IMC) core runs the network program from its own memory, with C firmware. No proprietary sequencer to learn.

06 / BIT-SERIAL INPUTS

Precision for area

Inputs stream 1, 2, 4 or 8 bits per cycle: fewer bits per cycle for a smaller array, more for a faster one, chosen per design.

Specifications

Sutra at a glance.

Every value below is a generator range: Atelier picks the point in it that meets your requirements.

ItemSutra NPU
Compute per engineDigital in-memory-compute array, 16–128 rows × 8–64 columns: 128 to 8,192 INT8 multiply-accumulates per cycle
Peak performance29 GOPS to 14.7 TOPS per engine; up to 118 TOPS with eight engines (INT8, 900 MHz)
Engines1, 2, 4 or 8 in lockstep, one frame each (RTL verified with 2 and 4)
Data typesINT8 weights and activations, 32-bit accumulation, per-channel fixed-point requantization
Input precision per cycle1, 2, 4 or 8 bits (bit-serial): array area against cycles
On-chip memoryCompute memory up to 4 MB per engine (weights resident); activation memory up to 24 MB, 1–16 banks
Operations on chipConvolution (any kernel, stride, padding), matrix multiply, residual add, elementwise multiply, max-pool, upsample, activation tables (SiLU and others); concat and split by layout
Not yet on chipSoftmax and normalization (a row unit in development; today on the RISC-V core); floating point
ControlRISC-V CV32E40P (RV32IMC) with 256 KB RAM and a C runtime
Host interfaceValid/ready ports for commands, configuration, image in and results out; a standard bus wrapper is planned
Clock and process900 MHz design clock from pre-route timing on the ASAP7 7 nm predictive kit; ports to your foundry's kit and memory compilers
Delivered asSystemVerilog RTL, compiler and runtime, testbenches, physical-design kit, memory list

Software

Atelier is Sutra's toolkit.

One tool takes a trained network to a sized Sutra and the program it runs, and checks the result before you see it. Models from PyTorch or TensorFlow come in through ONNX.

01 / IMPORT

Quantized ONNX

INT8 models in ONNX QDQ form, as ONNX Runtime and common export tools write them. Each layer becomes integer operations with its scales and zero points.

02 / SIZE

Design search

Set token or frame rate, area, power and latency. Atelier searches array, memories and engines together with the compiler mapping and picks the configuration that meets them.

03 / COMPILE

Commands, not kernels

Every layer becomes Sutra commands: tiles and loop order chosen per layer, activations fused into the post-ops, buffers placed in on-chip memory.

04 / VERIFY

Bit-exact by construction

The compiled network runs on the instruction-set model and must equal the integer reference on every output before anything is exported.

05 / RUN

RISC-V runtime

A program image for the control core's C runtime, which streams the commands to every engine.

06 / IMPLEMENT

Physical-design kit

OpenROAD-flow-scripts configuration, constraints and memory list for each design, to synthesize, floorplan and time it yourself.

Applications

Language and vision AI at the edge.

Where the network must run on the device, within a power and area budget.

SMART CAMERAS

Video analytics

Object detection on every frame, one stream per engine, from always-on to multi-stream.

INDUSTRY

Inspection and robotics

Defect detection and robot vision on the line, with deterministic, bit-exact results.

DRONES

Mobile platforms

Detection and tracking where every watt and every gram counts.

SENSORS

Battery-powered IoT

Small single-engine configurations for always-on sensing, sized to the frame rate the sensor needs.

ON-DEVICE LLMS

Assistants and agents

Qwen-class language models on the device, the token rate sized to the power budget and the memory system.

CUSTOM SILICON

Your network

Bring your own model and targets; Atelier sizes Sutra for it.

Evidence · vision

YOLOv8n, verified end to end.

Checked on real images, then a whole 640×640 frame run on the generated RTL.

0.364 COCO mAP50-95 with Sutra's integer arithmetic, all 5,000 val2017 images (floating-point model: 0.371)
6 / 6 detection outputs of a full frame on the RTL, bit-identical to the integer reference
0.05% cycle estimate against RTL simulation over that frame, 3.26 million cycles
4 / 4 blocks synthesized and floorplanned on the ASAP7 predictive 7 nm kit with their memory macros, with timing reports: RISC-V core, compute engine, post-processing, activation unit

Model: Ultralytics YOLOv8n, INT8. Hardware: one 64×64 engine with the RISC-V control core, simulated in Verilator. Implementation: synthesis and floorplan with OpenROAD-flow-scripts on the ASAP7 predictive 7 nm kit. Next: your foundry. The RTL and design constraints provide a starting point for evaluation in your target foundry flow; technology-specific memories, timing and physical implementation must be revalidated.

Floorplan of a Sutra engine on ASAP7: compute-memory, accumulator, scratchpad, activation and post-op SRAM macros around the placed standard cells of the in-memory-compute adder trees, activation unit, post-op unit and control

A Sutra engine, placed and routed

One 16×8 Sutra engine with its activation unit and post-op unit, implemented with OpenROAD-flow-scripts on the ASAP7 7 nm predictive kit, after global routing. Boxes are SRAM macros; the shaded areas are standard cells, coloured by block, darker where denser.

  • Compute memory
  • In-memory compute adder trees
  • Activation unit and memory
  • Post-op unit and parameters
  • Accumulator memory
  • Input scratchpad
  • Control and other logic
Die
512 × 512 µm, 0.262 mm²
SRAM macros
62 (32 compute memory, 16 post-op, 8 activation, 4 accumulator, 2 scratchpad)
Timing
−5.3 ps worst slack at 900 MHz after global routing: 896 MHz
Memories
ASAP7 example SRAM macros; your foundry's memory compilers replace them

YOLOv8n configurations, sized by Atelier

Frame rate: cycle model, checked against RTLArea: ASAP7 synthesis and memory-macro modelsPower: modeled

The smallest Sutra configuration for each frame-rate target, and the fastest. Atelier estimates for 640×640 INT8 at the 900 MHz design clock: frame rate from the cycle model (within 0.05% of RTL simulation over a full frame), area from ASAP7 synthesis and memory-macro models, power from the energy model. Memory: compute memory per engine + activation memory; b/cycle: input bits per cycle. Try your own targets in the live demo.

Sutra configurationFPSms / framemm²WFPS / W
1 × 32×32, 8 b/cycle, 1 + 3 MB5817.231.90.39150
1 × 64×64, 4 b/cycle, 4 + 3 MB1297.763.51.04124
1 × 128×64, 8 b/cycle, 4 + 3 MB3622.764.02.60139
4 × 32×64, 8 b/cycle, 4 + 12 MB6346.3114.13.92162
4 × 64×64, 8 b/cycle, 4 + 12 MB1,0453.8314.66.52160

highlighted highest frame rate, smallest area, lowest power

What you get

RTL that arrives with its proof.

Each Sutra configuration is delivered as a package your RTL, software and physical-design teams can each pick up.

RTL

SystemVerilog

The engines, memories, element-wise unit and top with your configuration's parameters, plus a memory list for your foundry's memory compiler.

SOFTWARE

Compiler and runtime

From a quantized ONNX model to the command program, and the RISC-V runtime that runs it.

VERIFICATION

Testbenches and references

cocotb testbenches, the integer reference model and whole-frame checks that compare the RTL bit for bit.

PHYSICAL DESIGN

Flow kit

OpenROAD-flow-scripts configuration, constraints and memory macros: synthesize, floorplan and time each block yourself.

ESTIMATES

Labelled, never mixed

Every figure says how it was obtained: estimated, simulated, synthesized or routed.

CUSTOMIZATION

Your network next

Bring your workload and requirements; Atelier re-sizes Sutra for it and the same checks run again.

Status

Where Sutra stands today.

Verified in simulation, implemented on ASAP7, ready to take to your process.

Done

Function

A whole Qwen3 token's matrix multiplies and a full YOLOv8n frame bit-exact on the RTL; COCO accuracy measured; RISC-V control verified in simulation.

Done

ASAP7 implementation

Every block synthesized and floorplanned on the ASAP7 predictive 7 nm kit with its memory macros, with timing reports and a reproducible flow kit.

Next

Your foundry

Port to your process design kit and memory compilers, then place-and-route and signoff in your flow.

Next

Your numbers

Token rate, frame rate, power and area for your configuration on your process, measured, not modelled.

Resources

Look closer.

Try the design search, read how it works, or install the toolkit.

Evaluate Sutra

Run your workload on Sutra.

Tell us your workload and your frame-rate, area and power targets. We size Sutra for it and share the package and the evidence for that configuration.

hello@zenedgex.in