The CXL twin of chi_sn_f — coherent memory expansion with end-to-end SECDED. 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:
cxl_mem_dev is a CXL.mem Type-3 memory-expander endpoint — the device side of a Compute Express Link memory-expansion port.
CXL 2.0 (CXL.mem, Type-3 device)
ASIL-B (SEooC) · SPFM 94.16% · LFM 90.00% · PASS
ISO 26262:2018 · FMEDA available · Safety Manual included
| Offset | Register | Description |
|---|---|---|
0x00 | CTRL | RW [0]=EN [1]=VIRAL_EN [2]=T2_EN(Type-2 HDM-D mode) |
0x04 | HDM_BASE | RW device-physical base of the HDM range (line-aligned) |
0x08 | HDM_SIZE | RW size of the HDM range (lines); a request outside -> S2M MemData-NXM / Cmp-err |
0x0C | STATUS | RO [0]=busy [3:1]=outstanding [6:4]=err_code[2:0] [7]=err_valid [8]=viral |
0x10 | RAS_CE | RO correctable-error (SBE) count (saturating) |
…7 more registers — see datasheet for the full table.
// Minimal instantiation
cxl_mem_dev #(
.ADDR_W(6)
) u_cxl_mem_dev (
.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 multi-core compute clusters that need cache coherency with a defensible ordering proof.
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 · anovickis@circuit-design.space