cachectrl is an ASIL-B set-associative write-back cache controller with SECDED protection, delivered as synthesizable SystemVerilog soft-IP. It is delivered as a licensable soft-IP block engineered as an ASIL-B Safety Element out of Context — not just RTL, but the complete functional-safety work package needed to carry it into an ISO 26262 program:
cache_ctrl is an ASIL-B set-associative write-back cache controller with SECDED protection, delivered as synthesizable SystemVerilog soft-IP.
ISO 26262 (SEooC)
ASIL-B (SEooC) · SPFM 96.03% · LFM 88.31% · PASS
ISO 26262:2018 · FMEDA available · Safety Manual included
| Offset | Register | Description |
|---|---|---|
0x00 | CTRL | [0]=EN cache enable [1]=FLUSH (write 1 -> flush+invalidate all) [2]=INVAL (write 1 -> invalidate all, no writeback) |
0x04 | STATUS | [0]=BUSY (flush in progress) [1]=err_valid [5:2]=err_code |
0x08 | HITCNT | hit counter (RO) |
0x0C | MISSCNT | miss counter (RO) |
0x10 | SBECNT | SECDED single-bit-corrected counter (RO) |
…3 more registers — see datasheet for the full table.
// Minimal instantiation
cache_ctrl #(
.ADDR_W(6)
) u_cache_ctrl (
.clk (clk),
.rst_n (rst_n),
// APB4
.p_paddr (paddr),
.p_psel (psel),
.p_penable (penable),
.p_pwrite (pwrite),
.p_pwdata (pwdata),
.p_prdata (prdata),
.p_pready (pready),
// Safety
.err_clear (1'b0),
.err_valid (err_valid),
.err_code (err_code)
);Configure via the CTRL register after reset to enable the IP and set operating parameters. Monitor err_valid / err_code for any safety faults reported by the built-in safety monitor.
Typically deployed in RISC-V SoCs that need a safety-grade core, boot, memory, debug, and interrupt platform.
Pricing, the per-IP FMEDA, safety manual, and RTL data room are shared under a mutual NDA.
Figures are pre-silicon engineering-grade estimates for a Safety Element out of Context (SEooC); final ASIL sign-off is the integrator’s, supported under NDA. FMEDA and Safety Manual available under NDA.
circuit-design.space · +1-971-357-1400 · sales@circuit-design.space