SLIV Calculator (Time-Domain Allocation)
Encode and decode the Start-and-Length Indicator Value — start symbol S + length L ↔ SLIV, with a live slot map (TS 38.214).
The SLIV (Start and Length Indicator Value) packs a PDSCH/PUSCH's start symbol S and length L into one number carried in the time-domain resource assignment. Encode either way below and watch the slot map update live (TS 38.214).
Calculator
Slot map — the highlighted symbols are S … S+L−1:
The constraint is S + L ≤ 14 (a slot has 14 symbols with normal CP). Try S=2, L=9 → SLIV 95; or decode 53 → S=2, L=12.
The SLIV Formula
Rather than spend separate DCI fields on S and L, 3GPP folds them into one value with a reversible formula (TS 38.214 §5.1.2.1 / §6.1.2.1):
else: SLIV = 14 · (14 − L + 1) + (14 − 1 − S)
with 0 < L ≤ 14 − S. The two-branch trick keeps every valid (S, L) pair mapped to a unique SLIV in a compact range, so the decoder can invert it. The UE reads the Time Domain Resource Assignment field in the DCI, indexes a row of the pdsch-TimeDomainAllocationList (or the default table), and that row gives the SLIV plus the K0/K2 slot offset and the mapping type.
Where S and L Come From — Mapping Type A vs B
S and L aren't arbitrary; the PDSCH/PUSCH mapping type constrains them, because it fixes where the DMRS sits:
| Mapping type | Start symbol S | Length L | Use |
|---|---|---|---|
| Type A (slot-based) | 0–3 (DMRS near slot start) | 3–14 (reaches slot end) | Normal, full-slot transmissions |
| Type B (non-slot / mini-slot) | 0–13 (anywhere) | 2, 4, or 7 (short) | Low-latency / URLLC, start anywhere |
So a Type A allocation typically starts at symbol 0–3 and runs long; a Type B "mini-slot" can start on any symbol and span just a few — which is exactly what SLIV encodes compactly. The mapping type also comes from the same TDRA table row.
Q. Why encode S and L together instead of sending them separately?
A. To save DCI bits. A separate 4-bit S and 4-bit L would be 8 bits, but most (S, L) combinations are invalid (S+L≤14), so a joint SLIV covers all valid pairs in a smaller range — and it is indexed indirectly through the TDRA table, saving even more.
Q. What is the maximum SLIV?
A. With a 14-symbol slot the valid SLIVs run 0–127; the two-branch formula guarantees each valid (S, L) maps to a distinct value in that range.
Q. Is SLIV the same in LTE?
A. No — SLIV is an NR concept. LTE uses fixed timing relationships for PDSCH/PUSCH rather than a per-grant start-and-length code, which is why LTE has no SLIV.
Related
SLIV is the time half of resource allocation.