WHAT IS THE RPU? →
⬡ RATE-OF-CHANGE COMPARATOR WITH MEMORY 2 clk Fixed decision latency · zero jitter 2,960 Standard cells · TSMC 65nm 101/101 Board runs = simulation −48% wake-ups Noise σ 400 · settings frozen 213/300 Real quakes · on par with STA/LTA 27/27 Bearing faults · 0 false alarms · raw + envelope RPU Stuck · stopped · silent Sensor faults reported 625 MHz Timing met · 65nm synthesis 🏆 D&R Product of the Week ⬡ RATE-OF-CHANGE COMPARATOR WITH MEMORY 2 clk Fixed decision latency · zero jitter 2,960 Standard cells · TSMC 65nm 101/101 Board runs = simulation −48% wake-ups Noise σ 400 · settings frozen 213/300 Real quakes · on par with STA/LTA 27/27 Bearing faults · 0 false alarms · raw + envelope RPU Stuck · stopped · silent Sensor faults reported 625 MHz Timing met · 65nm synthesis 🏆 D&R Product of the Week
clk
rst_n
data[11:0]
valid
wake_en
fault
RPU
REFLEX LAYER
D&R 🏆 Product of the Week Design & Reuse · 36,000 engineers

A comparator
with memory.
Start sensing time.

The RPU is a hardware primitive that sits behind a sensor ADC and decides when something has changed. It measures how fast the signal is changing rather than its level, moves its own threshold with the noise floor, and decides two clock cycles after each sample, with no CPU instruction in the path. About 3,000 standard cells. Board-tested today with a RISC-V system.

2 clk
Decision latency
Fixed · zero jitter
2,960
Standard cells
TSMC 65nm synthesis
101/101
Board runs = simulation
Nexys A7 · Ibex RISC-V
Equal tuning · settings frozen
213/300
real earthquakes
STA/LTA: 210
2→20
false alarms per hour
on par at every budget
−48%
wake-ups at noise σ 400
483 vs 936, all events caught
Both detectors tuned the same way, then frozen. Earthquakes: STEAD records on the bit-exact model. Noise: σ 25 → 400 sweep. As noise rises, a frozen comparator floods the CPU; the RPU's threshold rises with the noise.

A level comparator is memoryless. The RPU is a rate-of-change comparator with memory: it adapts to its environment, and shells can be built around it without touching the core. Tuned once, it keeps working as conditions change.

Sensor / ADC
in_data[11:0]
in_valid
→
RPU
core + shell
→
CPU / GPU / NPU
wake_en
→ any interrupt line
+ fault line

TSMC 65nm and SKY130 synthesis · timing met at 625 MHz (65nm) · board-tested in a RISC-V system

Free technical evaluation on your own sensor data. You license only if it earns its place.

Listed on Design & Reuse · Product of the Week

RPU Microelectronics · Patent pending: PCT/IB2026/053070 · Priority TR 2025/012696 · Kocaeli, Turkey

Does this sound familiar?
Every always-on system
asks the same first question.

Is this sample worth waking up for? Your system asks it thousands of times a second. Most of the time the answer is no: the signal has not meaningfully changed. You have seen it in power profiles and idle-time graphs on every always-on product you have shipped.

The cheapest way to answer is a level comparator: a few dozen gates that fire when a signal crosses a fixed reference. On its own it fails in two predictable ways. It cannot tell a slow drift from a sudden event, and it cannot follow a noise floor that moves with wind, load or temperature. So in practice a comparator never works alone. Around it sits firmware that re-centres the baseline, retunes the reference and filters spikes, and a processor that must stay awake often enough to run it.

The question is not whether that first decision is needed. It is where it should be made.

A processor has to be awake to decide that it may sleep. The RPU moves that first decision out of the instruction stream and into the signal itself, before any computation starts. The rest of this page shows what it does, what we have measured, and where it does not help.

Why RPU
A rate-of-change comparator.
With memory.

The RPU keeps a short memory of the signal: the last N samples, split into an older and a newer half. Its metric is the difference between the two half-window averages, kept with two running sums, so each sample costs the same few additions at any window size, with no multiplier or divider. A constant offset cancels out, slow drift gives a small metric and a real step or burst gives a large one.

Its threshold is not fixed. It steps up when the signal gets noisier and down when it gets quieter, inside bounds you set. The hardest part of a comparator system, adapting to the environment, is done in hardware. Whatever can be built around a comparator can be built around the RPU in the same way, as shells, without touching the core.

⚠ Decision in software
The CPU wakes to read, compare and decide that nothing changed, then sleeps again. The firmware trigger is only as alive as the CPU running it.
CPU awake to check, change or not
VS
✓ Decision in hardware
The CPU sleeps in WFI. The RPU watches every sample, and the CPU is woken only when the rate of change crosses an adaptive threshold.
CPU woken only on change
What memory makes possible

A comparator can only ask whether the present sample is above a reference. Memory is what lets a detector understand context, and every capability below follows from it.

CapabilityWhy a memoryless comparator cannot do itStatus
Immunity to driftThe RPU compares the signal with its own recent past; a comparator has no past to compare withBoard-tested
Immunity to spikesAn isolated spike is spread over the window and attenuated H-fold; a comparator fires on any single sample above its referenceBoard-tested
Adapting to the environmentThe threshold history is a learned noise floor, short-term learning without training; a comparator's reference stays where it was setBoard-tested
Silence as informationRecognising that a value has frozen while the stream keeps running needs a history of the signalBoard-tested
Shape of the changeThe metric's course over time tells a step, a ramp and a spike apart; the S1 shape gate, a core option, is the first use of thisBoard-tested
Knowing when it is blindA threshold pinned at its ceiling means the detector has lost sensitivity, and the RPU can report it; a comparator can never know it is blindSystem kit option
Back-dated onsetThe change began about H samples before the trigger, which gives a sharper timestamp for locating events with several sensorsSystem kit option
Pre-event recordAt every trigger the buffer already holds the N samples before the event, the pre-event memory that seismic recorders needData present · readout designed
Not one question, several
Waking a processor is only one of its decisions.

Fed and configured differently, the same chain answers other "when" questions. This is why we call the RPU a primitive rather than a wake-up block.

When has a change started?
The rate of change crosses an adaptive threshold. The core decision, two clocks after the sample.
Board-tested
When has a sensor stopped telling the truth?
A stream that stops, a lost heartbeat or a value that freezes while the stream keeps running is reported on a separate fault line, once.
Board-tested
When has the detector gone blind?
A threshold held at its ceiling raises a low-sensitivity flag, so software wakes only to retune the bounds: two-speed adaptation.
System kit option
When should the CPU stop being woken?
A wake budget caps the event interrupts per window, so a noisy sensor cannot storm the processor with events; a suppression is reported once per window.
Board-tested
When has a measurement settled?
The same metric read the other way: the measurement can be taken once the change has died away.
Product direction
When must a result be recomputed?
The input has moved far enough that an earlier result no longer holds, in DSP, calibration or inference pipelines.
Product direction
Common question: "Isn't this just a comparator?"

At its heart, yes, and that is the point. We benchmark the RPU against a comparator because both are building blocks of the same kind: small, standalone and placed in front of a processor. The comparison places the RPU among such basic blocks, as a drop-in primitive rather than a processor or a classifier, and measures what its built-in memory and adaptation are worth.

The difference is what happens after tuning. A comparator is only as good as its last retune. Tuned once at σ 200 and frozen, the RPU and a comparator both caught every event across a σ 25 → 400 noise sweep, but at the highest noise the RPU woke the CPU 483 times against 936. On real earthquake records it matched STA/LTA, the seismic standard, at every false-alarm budget, with equal or shorter latency. That is the job the firmware around a comparator does today, done in about 3,000 cells.

Common question: "We already have WFI and interrupts."

WFI with interrupts is the right mechanism, and the RPU uses it. The question is what raises the interrupt. A raw sensor interrupt fires on noise and drift; a firmware trigger needs the CPU awake to run. The RPU puts a rate-of-change decision with an adaptive threshold in front of the interrupt line, so the CPU sleeps through noise and drift and is woken when the signal really changes.

The decision itself arrives a fixed two clock cycles after the sample, with zero jitter, whatever the CPU is doing; the registered wake output follows one cycle later. How quickly your CPU then runs its first instruction depends on the CPU. The RPU fixes the part that software cannot: when the decision is made.

Common question: "Can't a DSP, a DMA engine or the interrupt controller do this?"

A DSP can do far more, but it is a processor: it has to wake and run code to decide that nothing changed. A DMA engine moves data without looking at it. An interrupt controller routes interrupts; it does not decide whether one should exist. That decision is made today by a comparator or by software, and that is the gap the RPU fills. It does not compete with WFI either: it gives WFI a wake source worth waiting for.

Common question: "We already have smart sensors."

Some accelerometers ship with built-in wake logic, which shows that sensor buyers pay for it. Most sensors do not: geophones, strain gauges, hydrophones, current shunts, pressure probes. The RPU is that wake logic as a licensable block for any 12-bit stream, placed next to the processor or inside the sensor interface chip, directly after the ADC.

Patent pending · how we license it: IP & Licensing ↗
SIDE-BAND
Reads the sample stream; no bus master, no write path into host memory. Disconnect the wake line and the system behaves as it did before.
FIXED TIMING
Decision two clocks after the sample at any window size and any system load, analysable from the netlist rather than from software paths.
NO CODE IN THE PATH
Firmware configures the block but does not run the decision, so the trigger keeps working if firmware hangs, and a configuration lock can freeze the settings.
ANY SENSOR
Temperature, pressure, vibration, current, light: any digital stream, without knowing what it measures. One RTL, tuned per application.
The Challenge

Don't take our word for it.
Try to break it.

Our evaluation kits are set up for four challenge tests. Run them on the board, with your own data if you like.

1 · BLINDNESS
Tune once, then change the noise floor. Are events still caught?
2 · TAMPERING
Stop the stream, drop the heartbeat or freeze the value. Is a fault reported?
3 · SILENCING
Try to disable the trigger from firmware. Only configuration registers are reachable.
4 · DETERMINISM
Measure the decision latency under any load. Does it ever move?
✓ Reference RTL on GitHub
✓ Board kits on request
✓ No obligation
✓ 48-hour response
⌥ Clone RTL on GitHub ↗ See the evidence ↓

Send us recordings from your sensor. We tune a profile on part of them, freeze it, and report detection, false alarms and CPU activity on the rest, against a comparator tuned on the same data. If it does not earn its place in your system, you owe nothing.

Evidence
What we have measured,
and at what level.

Every result below carries its evidence level: Board measured on the FPGA board, RTL-sim full-system simulation of the RTL, Model a Python model that matches the RTL bit for bit, Tool estimate from synthesis and power tools. Detection is always reported next to wake-ups, because a low wake count can also mean a blind detector.

The video shows our first hardware demonstration on a Nexys A7 board. One light sensor feeds two circuits at once. The LED of the always-on threshold circuit stays lit for the whole recording; the RPU's LED lights only when real light reaches the sensor and goes dark when it stops, while the conversation in the room never triggers it. It is a demonstration of behaviour, not a benchmark: the measured results follow below.

TestComparisonResultLevel
Unseen recordings U1–U3
drift with correlated noise; changing noise with ±400 spikes; periodic interference with rising noise
RPU vs comparator, settings frozen, then run on new dataEvents: RPU 10/12 with the delivered settings, 12/12 with the proportional or two-speed option; comparator at its fixed campaign setting 8/12. The RPU never missed an event the comparator caughtBoard
Proportional setpoints, 8 recordings
four rotating held-out folds
Proportional vs delivered fixed setpoints, both with the S1 gateOn data the setting had never seen: 57/61 events and 120 false alarms, against 45/61 and 122 for fixed setpoints. On real seismic data fixed setpoints did better, so the setting is chosen per applicationModel + Board 8/8
Noise sweep, σ 25 → 400Both tuned once at σ 200, then left unchangedBoth caught 4/4 at every level. At σ 400 the RPU woke 483 times against 936 for the comparator (373 with the S1 gate).Model
Noisy stream, equal tuning rightsSettings chosen on a separate recording, measured onceWake-ups: comparator 517, RPU 483, RPU with S1 gate 373: 28% fewer, with all 4/4 events caughtRTL-sim
S1 shape gate (core option), held-out dataRPU with vs without the gateUnmatched alarms −54%, interrupts −33%, CPU active cycles −30%; no detected event lost. Cost: +59 LUT, +29 FFBoard 20/20
Sensor faultsStream stop, heartbeat loss, persistent fault, frozen valueAll reported as specified on the board on a fault-injection test build, 10/10; a stopped stream or a lost heartbeat raises exactly one interrupt (an earlier test build: CPU active cycles 43,617 → 442). In RTL simulation a digital freeze is flagged within 31 samples and an analog freeze within 287 with the default limits; on real seismic data those limits raised false freeze faults, so they are set per sensorBoard + RTL-sim
Real sample rate, seismic segment
STEAD at 100 Hz, 2,000 s per run
System kit RC5.2 against RC5.3, same data, same settingsCPU wake-ups 798 → 315 with the same 133 events delivered; 137 with a freeze profile calibrated for the sensor. Testing at the real rate exposed a flaw of our own: in RC5.2 every alarm suppressed by the wake budget raised its own fault interrupt. RC5.3 reports a suppression once per windowBoard = sim
Several channels
inside the Ibex system
3-channel array with 2-of-3 voting; multi-scale core on one shared buffer; time-shared core serving 3 or 8 channels12/12 board runs equal to simulation. At 64 channels the time-shared core needs about 7 times fewer LUTs than separate cores. With one channel or one scale, each is proven equivalent to the delivered core on its decision outputs. Voting did not reduce false alarms on seismic data: the gain is shared hardware, not better detectionBoard + Tool estimate
The comparator is an EWMA-baseline comparator; its setting is stated in each row. With equal tuning at a single noise level it does as well as the RPU: the RPU's advantage is that it keeps working, without retuning, when conditions change. Recordings U and W are synthetic stress sets; real-sensor results are in the next table.
Real sensor data
DatasetResultReadingLevel
STEAD · real earthquake P-wave arrivalsOn par with STA/LTA at every budget from 2 to 20 false alarms per hour, e.g. RPU 213/300 · STA/LTA 210/300 at ≤ 20 per hourBoth tuned on a separate set for at most 20 false triggers per hour, then measured once on a 10-hour test set: no difference was statistically significant; median latency equal or shorter (0.06–0.12 s vs 0.12–0.18 s), without a CPU running itModel
CWRU · bearing faultsOne RPU with a rectifier front end: 25/27, 0 false alarms. Two RPU cells, raw OR envelope: 27/27, 0 false alarmsA comparator and STA/LTA alone caught 27/27, but at 1.5 to 6 false alarms per minute: a flood of interrupts the RPU does not raise. The two-cell result comes from a pre-registered hybrid test, where a STA/LTA-plus-derivative hybrid also reached 27/27 with no false alarmsModel
Real recordings run through the Python model that matches the RTL bit for bit. Field trials with a live ADC are the next step, with pilot partners.
Implementation evidence
ASIC synthesis · TSMC 65nm GP

Timing met at 625 MHz.

Cadence Genus: 2,960 standard cells, 0.018 mm², a 1.6 ns timing target met for the stand-alone core at its RTL default parameters. Power of the RPU block in a gate-level system power sweep (worst-case corner, activity-based): 0.852 mW at 100 MHz, 0.129 mW at 10 MHz, 56.6 µW at 1 MHz. Synthesis results; tape-out is the next step.

2,960 cells
SkyWater SKY130 · open process

Same RTL, different node.

Timing met at 100 MHz, about 0.047 mm². Older processes, common in sensor interface chips, make the block larger; the window memory sets most of the area, so window depth is chosen per sensor. Its value does not come from speed or density, so mature and open processes serve it. Because the window's two read addresses always fall in opposite halves, the buffer maps onto two single-port SRAM banks without adding latency (analysis, not yet built).

Portable
FPGA system · Nexys A7-100T + lowRISC Ibex

Board counters match full-system simulation.

Current system kit (RC5.3): 101 of 101 board runs on 14 bitstreams matched simulation field by field. A clean copy of the delivery package passed its own acceptance run: 11/11 board runs, firmware rebuilt from source byte for byte.

101/101
Formal and verification

New options cannot change the delivered core.

Core options enter as parameters. With them switched off, the extended core was proven equivalent to the delivered one by induction in Yosys, for four parameter sets. SystemVerilog assertions ship with the RTL.

Proven ≡
Architecture Principle
m[n] = | mean(new half) − mean(old half) |two running sums · O(1) · no multiplier or divider
→
m[n] > θ[n] ?θ adapts to the noise floor, within bounds
→
decision2 clocks · zero jitter
→
shell → wake_enregistered, 1 clock later
The decision is taken inside the block: no program counter, no instruction memory, no bus transaction. A second state machine, the event shell, reads only the decision stream and the CPU's acknowledgements and decides which decisions become interrupts. It never writes the metric or the threshold, so shell functions can be added or corrected without touching the core or its verification.
Predictable by design · window N = 2H
InputRPU responseWhat it means
Single spike of size BMetric rises only to B/HGlitches are attenuated H-fold; spikes below H·θ never trigger alone
Step of size AMetric climbs to A over H samplesDetection delay ≈ H·θ/A samples, known in advance
Ramp of slope sMetric settles at s·HThe threshold is a slope limit θ/H, specifiable in physical units
Interference whose period divides HMetric stays at zeroMains hum or rotation can be cancelled by choice of sample rate and window
White noise, std. dev. σSpread ≈ σ·√(2/H)False-alarm probability follows from the threshold in closed form
Confirmed on the bit-exact model with H = 32 (a spike of 900 gives a metric of 28). This is the kind of statement safety certification asks for, and a trained classifier cannot give.
"Stop processing data. Start sensing time."
The founding principle of the RPU architecture
Where it fits
Wherever a system must watch,
and the world is quiet most of the time.

The RPU fits when three things are true: the system must watch continuously, the data is quiet most of the time, and the noise floor moves with weather, load or temperature. It does not need to know what the signal means. Each engagement starts with a calibration on the partner's own recordings; none of the scenarios below has been field-tested yet.

Seismic · Security

Perimeter & ground sensing

Threshold rides the wind and traffic noise; CPU and radio sleep until a real step.

Details →
Infrastructure

Structural health

Daily thermal drift stays below threshold; impacts and cracks trigger.

Details →
Medical · Wearables

Body-worn & implanted

Keep processing off until the signal changes; in implants the limit is heat.

Details →
Industrial

Machines & maintenance

Wake analysis only on change; the threshold history tracks wear.

Details →
Energy

Batteries & the grid

Rate of change warns earlier than a level: thermal runaway, RoCoF protection.

Details →
Safety · Certified

Automotive, avionics, robots

Side-band hardware with fixed timing, leaving certified firmware untouched.

Details →
Edge AI · Silicon

Gate the model

Run inference only when the input changes; watch on-chip monitors for sudden drift.

Details →
Low power · Logistics

Harvesting, meters, trackers

Spend harvested energy, radio time and flash writes only on change.

Details →
Where it does not fit
Streams that change on every sample, such as video or scrambled serial links; events buried below the noise floor that need matched filtering first; and subtle anomalies that need a classifier. The RPU avoids unnecessary computation. It does not make necessary computation faster.
Integration
A side-band block.
Two inputs, one wake line.

The core taps the sample stream (in_data, in_valid) and drives a wake line to any level-triggered interrupt input. It is plain synthesizable SystemVerilog with no custom tooling, proprietary bus or licensed compiler; we have built it with Vivado, Cadence Genus, Yosys and Icarus. The system kit adds the event shell, a register interface and a fault line.

What changes
✓When your processor wakes: on a change, decided two clocks after the sample
✓How often events can wake it: capped by a wake budget
✓What you know about the sensor: faults on a separate line
What does not change
—Your sensor interface and data path
—Your existing IP blocks
—Your bus topology and interconnect
—Your application logic: the CPU sees a standard interrupt
Will it save energy in my system?

One inequality answers it.

S > PRPU / (Pgated − Pidle)

S, the temporal sparsity, is the share of time the data is quiet. PRPU is the block's own power; Pgated and Pidle are the active and idle power of what it lets sleep. Any integrator can evaluate it for their own system. For analog sensors the ADC must stay on to feed the RPU, so quote system power with the ADC included. The RPU can work with an analog front end rather than against it: an analog wake-up stage can keep the ADC off until something happens, with the RPU confirming the change and checking sensor health before the CPU wakes; or the ADC can sample slowly while the scene is quiet, raised to full rate by the RPU when a change starts. Both are designed options, not yet built; system latency then also includes the ADC's wake-up and settling time and a window refill.

Energy is often not the main reason to use it. Fixed timing, sensor-health reporting and a trigger that runs without the CPU matter even in mains-powered systems.

Can't tape out today?

Evaluate on FPGA. The system kit runs on a Nexys A7 board with a lowRISC Ibex RISC-V core, with bitstreams, firmware and acceptance scripts. Or prove the math in software first: a C version of the decision logic (rpu.c / rpu.h) is available on request. It must run on an awake CPU, so it saves the heavy work downstream (FFT, inference, radio), not the wake-up itself. The hardware moves the decision to where software cannot: before the CPU wakes.

SENSOR
→
RPU
→
CPU
/
GPU
/
NPU
The first decision, before any computation starts.
Illustration · rate-of-change decision
SENSOR DATA
in_data[11:0]
→
RPU
WATCHING
m below θ
wake_en
→
CPU
SLEEPING
Signal within the noise floor → CPU stays asleep
3 Steps to Integration
01
Add the RTL and choose a profile.
Add the SystemVerilog sources to your project (reference RTL and testbenches on GitHub ↗; the evaluation kits carry the delivered core). Set the data width, the window depth N (8 to 128, a power of two) and the threshold mode. Our calibration tool, which matches the RTL bit for bit, picks bounds and steps from your own recordings.
02
Tap the sample stream.
Connect in_data and in_valid from your sensor or ADC output. These are read-only taps: no change to your signal routing or bus.
03
Route the wake line.
Connect wake_en to an interrupt input: irq_external_i on RISC-V, an NVIC line on Arm Cortex-M, or any level-triggered input. The CPU sees a standard external interrupt and acknowledges it.
+
Optional · event shell: interrupt coalescing, hardware ACK, a holdoff set at run time, wake budget, liveness and heartbeat timeouts, frozen-value detection with a report-once fault interrupt, low-sensitivity flag, back-dated onset, held-alarm delivery, a selectable input conditioner (raw by default) and a configuration lock. Core options such as the S1 shape gate are synthesis parameters. Each can be switched off.
+
Optional · runtime registers: threshold ceiling, bounds and shell settings through memory-mapped registers, out of band. The decision path never waits for software.
Low, reversible risk: the block has no bus-master or memory-write path. Disconnect the wake line and the system returns to its previous behaviour. If a feature goes unused, the cost is its area: about 340 LUTs and 230 flip-flops on the FPGA, well under 1% of a real SoC. The RTL is delivered as readable source, not an encrypted netlist, so a function you do not need is removed rather than carried.
RTL Instantiation · illustrative
// Reference core rpu_ultimate_final.sv (GitHub). Threshold parameters: see the tuning guide in the README. rpu_ultimate_final #( .DATA_WIDTH (12), // match your sensor/ADC width .DEPTH (32), // window N: power of two .USE_DYNAMIC_TH (1'b1), // adaptive threshold .MIN_TH_P (10), .MAX_TH_P (2000), .STEP_UP_P (5), .STEP_DN_P (5), .HI_DELTA_P (200), .LO_DELTA_P (20) // size these from your signal ) u_rpu ( .clk (sys_clk), .rst_n (sys_rst_n), .scan_en (1'b0), // tie low outside DFT mode // Read-only taps: nothing upstream changes .in_data (sensor_data), .in_valid (data_valid), // To your interrupt controller .wake_en (irq_external_i), // Observation outputs: leave open on first integration .rpu_event_pulse (), .rpu_state (), .gclk_out (), .full_status (), .delta_abs_dbg (), .threshold_dbg (), .guardian_alert (), .guardian_last_data (), .guardian_last_delta (), .guardian_last_th () ); // Decision: 2 clocks after the sample, zero jitter. No instruction execution in the path. // Metric: |mean(new half) - mean(old half)| from two running sums, no divider.
Window depth
Smoothing vs delay
Larger N attenuates spikes more and lowers the slope limit; smaller N reacts faster. The step delay is about H·θ/A samples.
Decision origin
Inside the block
No external controller, no program counter, no bus transaction in the decision path.
Configuration family
One RTL, many sizes
A · fixed threshold, smallest · B · adaptive, the delivered core · C · plus wake budget and self-check · D · plus sensor-health checks (system kit) · E · plus a variance cell on the same buffer (designed). Delivered as readable SystemVerilog, so unused functions are removed from the source, not paid for in area.
Quick Answers
Ask a question about the RPU.

This panel answers common questions from our current documents: architecture, parameters, evidence, power and integration. For anything deeper, write to us and you will get an engineer, not a script.

RPU Quick Answers From the Oct 2026 documents
Hello. Ask about how the RPU decides, its latency, power, evidence, sensor faults, integration or where it does not fit.
Documents
Read it.
Then check it yourself.

Start with the executive summary if you decide, and with the white paper or the ASIC PPA report if you design. The October 2026 Technical Brief and the evaluation kits, with their board logs, acceptance scripts and challenge tests, are sent on request.

Executive Summary
📄 Read inline
What it is, what we measured, where it fits, status and terms. Two minutes.
White Paper · Oct 2026
Read online ↗
Architecture, event shell, closed-form behaviour, evidence by level, limits, integration and IP status.
ASIC PPA Report
TSMC 65nm + SKY130
Cadence Genus · power, area, timing
↓ PDF
System Schematic
Ibex + RPU integration
Vivado · SoC topology
↓ PDF
FPGA Demo Video
First hardware demonstration
Nexys A7 · light sensor · real time
▶ Watch
Search Report
TÜRKPATENT · TR 2025/012696
Four documents cited · categories Y and A
↓ PDF
Technical Brief · Oct 2026
Full results and roadmap
Evidence tables · scenarios · status
→ On request
Reference RTL + Testbenches
Open on GitHub
RTL · simulation TB · post-synthesis TB (SDF)
⌥ Clone & run ↗
What You Get
Two evaluation kits.
Everything needed to check our numbers.

An evaluation is meant to let your team reproduce our results and then run your own. Every kit ships with its own acceptance script, file hashes and the board logs it was accepted with.

Technical Package

Under NDA · on request
◈
Core evaluation kit
Delivered RPU core: SystemVerilog RTL, testbenches, assertions, Nexys A7 build and board acceptance runs
◈
System evaluation kit
Ibex RISC-V SoC with the RPU and event shell: source, firmware, bitstreams, board logs, challenge tests
◈
Evaluate with your own data
Bit-exact model of the RTL; runs your recordings (CSV, WAV, HDF5, NPY) against EWMA, STA/LTA and derivative baselines under the same rules, and selects a profile reporting detection, false alarms and CPU activity
◈
Multi-channel extensions
Voting array, multi-scale core and time-shared core, with their board runs and formal checks
◈
Claims index and known limitations
Every figure we quote, traced to its source file and evidence level; the measured limits, including those against the RPU
◈
ASIC PPA reports
TSMC 65nm and SKY130 synthesis, timing and power estimates
◈
Integration notes
Register map, firmware examples, C version of the decision logic

License Options

Flexible
What the RPU gives you
Energy
Where the data is quiet most of the time. One inequality tells you.
Time
No trigger firmware to write, tune and certify.
Timing
2-clock decision, zero jitter, analysable from the netlist.
We will always ask for less than the value it creates for you.
◉
Evaluation
30 days. Free. No obligation.
◉
Single Product
One tape-out · integration support included.
◉
Portfolio
Several products · volume pricing.
◉
Academic
Free for university research.
◉
Pilot
Your recordings · a tuned profile · results against a comparator tuned on the same data.
What Happens After You Request

We answer within 48 hours, agree an NDA, and send the kits by secure transfer.

The evaluation runs for 30 days at no cost, with direct engineering support by email and video call. At the end you choose: license, extend, or close with no further obligation.

IP & Licensing ↗
vs. Alternatives
Where the RPU sits
among the alternatives.

There are good, established ways to save power and detect events: DVFS, clock gating, comparators, firmware triggers such as STA/LTA, and research architectures. The RPU does not replace them. It fills one specific gap: a first decision that adapts to its environment and is made in hardware, before any computation starts.

QuestionLevel comparatorFirmware trigger (e.g. STA/LTA)DVFS / PMURPU
Decides from how the signal changes?No, from its levelYesNo, from loadYes
CPU needed to decide?NoYes, every sampleYesNo
Adapts to a moving noise floor?NoYesn/aYes, in hardware
Memory of the signal?NoneIn softwaren/aN samples + threshold history
Decision timingFixedDepends on softwareµs to msFixed, 2 clocks
Sensor-health reportingNoIf writtenNoStop, heartbeat, freeze
CostTens of gatesAn awake CPUOS + PMU~3,000 cells
Architectural comparison. Measured comparisons against a tuned comparator and STA/LTA are in the Evidence section, including the cases where they do as well or better.
Research approaches and the search report

Neuromorphic and memristor research has explored adaptive, change-driven sensing with new devices and network-level control. The RPU takes a different route: one decision rule, in standard CMOS, synthesizable on any node.

The search report on our Turkish priority application cites four documents: Wang et al., Nature Communications 2024, and HP US8450711B2 in category Y; IBM US11144718B2 and University of Michigan US9111613B2 in category A. Category Y marks documents relevant to inventive step when combined with others; category A marks general background.

PCT/IB2026/053070 · patent pending · examination continues
Status
Where the RPU stands today.

The RTL, the FPGA system and two evaluation kits are complete, with multi-channel extensions board-tested in the same system. The block has been synthesized in two processes with timing met, and validated on real seismic and bearing data with a model that matches the RTL bit for bit. The next steps are pilots on customer data and a tape-out partner.

Patent pending · PCT/IB2026/053070
Priority TR 2025/012696
IP & Licensing ↗
Synthesized: TSMC 65nm + SKY130
Board-tested: Nexys A7 + Ibex
Next: tape-out partner
Design & Reuse ↗
Free for university research
Design & Reuse · RPU-REFLEX 01 ↗ White Paper ↗
Your next step
Where to start, based on
what you are trying to do.
Senior Architect

Start with the evidence

Read the evidence tables and the closed-form behaviour, then the ASIC PPA report for timing, area and power estimates in 65nm and SKY130.

↑ Evidence by level ↓ ASIC PPA report
Engineer / Developer

Start with the board

Clone the reference RTL and run its testbench, then request the system kit and run the four challenge tests on a Nexys A7.

⌥ Reference RTL on GitHub → Request the evaluation kits
Decision Maker

Start with the summary

Read the executive summary, share it internally, then book a 30-minute call with our founder.

📄 Read Executive Summary ✉ Schedule a 30-minute call
For CTO · VP Engineering · SoC Architect · Sensor product lead

Your system watches data.
Most of it hasn't changed.
Let the hardware decide when it matters.

Send us recordings from your sensor. We tune a profile on part of them, freeze it, and report detection, false alarms and CPU activity on the rest, next to a comparator tuned on the same data.

If the RPU does not earn its place in your system, you owe nothing.

Read White Paper ↗
ceo@rpu-micro.com · 48-hour response
"The cheapest computation
is the one that never occurs."