journal 2026-05-01

P27 hardens and keeps the ACT4 base-integer pass

p27riscvact4librelane

P27 is no longer just a directed trap RTL rung. It now has its own LibreLane setup and a completed hardening run.

Commands:

make -C projects/27_rv32i_machine_traps/test
make -C projects/27_rv32i_machine_traps/test act4
scripts/run_librelane.sh projects/27_rv32i_machine_traps

Results:

checkresult
Directed CSR/trap RTL testsPASS
ACT4/Sail rv32i/IPASS=39 FAIL=0 NOT RUN=0
Route DRCPASS
Magic DRCPASS
KLayout DRCPASS
LVSPASS
AntennaPASS
Setup / hold timingPASS
Max slew / max capacitancePARTIAL

Run directory:

projects/27_rv32i_machine_traps/librelane/runs/RUN_2026-05-01_08-07-22

The important part is that the CSR/trap additions did not regress the base-integer ACT4 set. The less glamorous part is still real: the hardened shell has max-slew and max-cap warnings, so this is manufacturability-clean for DRC/LVS/antenna but not electrically polished.

Next, P28 should add timer and external interrupts. That is the missing event source for the trap machinery we just proved.