No. 22 / project of 147 on the ladder

RV32I JAL official test

introduces — JAL added to the official RV32I pass subset

harden statelast run2026-04-30
signoff
  • DRCNOT RUN
  • LVSNOT RUN
  • antennaNOT RUN

P22 adds the official I-jal-00.S test to the P21 strict subset.

Status: RTL pass for a 24-test official subset. These are upstream riscv-arch-test sources built in RVTEST_SELFCHECK mode, UART-loaded into the P17 external-memory model, and accepted only when the core reaches the local pass convention.

The Result

Run it:

make -C projects/22_rv32i_jal_tests/test
groupresult
P21 baseline: no-op/fence, LUI, AUIPC, immediate ALU, R-type ALUPASS
I-jal-00.SPASS

Summary: PASS=24 FAIL=0 NOT RUN=0

This is not a full RV32I compliance claim. It is a larger, strict, official subset.

Signature Model

JAL checks both the link register and whether forward/backward jumps were taken. The runner now has a reference-emulated signature path:

  1. Build the official test once in normal signature-writing mode.
  2. Run that image through a small local RV32I interpreter.
  3. Read the generated signature words.
  4. Rebuild the same test in RVTEST_SELFCHECK mode with those words.

For P22, that path is enabled only for I-jal-00.S.

What This Proves

The official pass set now covers the no-op/fence baseline, LUI, AUIPC, JAL, all modeled immediate ALU tests, and all modeled R-type ALU tests.

The remaining unclaimed RV32I/I tests are JALR, branches, loads, and stores.