CSR Bit Fields

RISC-V vl CSR Register

Address 0xC20Privilege User/VectorAccess RO / XLENUser vector state CSRs

vl at 0xC20 is a Vector length CSR: holds the number of vector elements processed by current RVV instructions.

Bit Overview
bit 3 = only bit 3; bits 12..11 = bits 12 down to 11
MSBLSB
Field Map

Understand vl By Bit Fields

1 key fields
XLEN-1:0

VL

RO

Current vector length, updated by vset{i}vl{i} and related instructions.

VL (bits XLEN-1:0) — Current vector length, updated by vset{i}vl{i} and related instructions.

What This Field Controls

  • - Current vector length, updated by vset{i}vl{i} and related instructions.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Official Basis & Search Notes

vl is a RO CSR in user vector state csrs at 0xC20. Check privilege and implemented extensions before interpreting its bit fields.

vl address, lowest access privilege, and access class are checked against the official CSR table: 0xC20, User/Vector, RO.
vl belongs to vector-extension state; it has the corresponding software meaning only when the relevant vector extension is implemented.
This is a read-only CSR; do not write it. Ignore reserved or WPRI field values on reads, and preserve unchanged fields when writing writable CSRs.

What To Check First When Reading This CSR

  • - First confirm that the current hart implements vl; unimplemented or insufficiently privileged accesses raise an illegal-instruction exception.
  • - Use address 0xC20 and the lowest access privilege (User/Vector) to decide whether software may read it directly.
  • - Do not assume fixed values for reserved, WARL, or WLRL bits; interpret the value according to the specification and implementation.

Risk Checks Before Writing

  • - vl is a read-only CSR; writes raise an illegal-instruction exception or are disallowed by the implementation.

Put It Back Into A Real Flow

1

Read vl to obtain hardware or runtime state.

2

Interpret the returned value according to the field descriptions and do not attempt to write it back.

3

If reading fails at the current privilege level, handle the illegal-instruction exception path.

FAQ

Can vl be accessed from any privilege level?

Do not decide from the CSR name alone. The official CSR address encoding and tables define the lowest access privilege; this entry records vl as User/Vector. Access with insufficient privilege or to an unimplemented CSR raises an illegal-instruction exception.

What is easiest to miss when using vl?

vl is read-only. Treat it as an observation point, do not try to write it, and do not depend on fixed values for reserved or WPRI fields.