Slot format is defined in a big table in 38.213-Table 11.1.1-1: Slot formats for normal cyclic prefix. An important question is how to determine which slot format is used in a specific slot and how those information is notified to UE. This process is done by the combination of several RRC paramters shown below and DCI 2_0.
- The RRC configuration behind DCI format 2_0
- How a DCI field becomes 14 letters
- What else DCI format 2_0 carries
- The slot format table
- Reference
The RRC configuration behind DCI format 2_0
Nothing in the listing below carries a slot format. What it carries is a lookup table, and a set of instructions for finding the right row of that table inside a DCI. The DCI then sends an index, which keeps the message short enough to serve a group of UEs at once.
Following is based on
SlotFormatIndicator ::= SEQUENCE {
sfi-RNTI RNTI-Value,
dci-PayloadSize INTEGER (1..maxSFI-DCI-PayloadSize),
slotFormatCombToAddModList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell
OPTIONAL, -- Need N
slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N
...,
[[
availableRB-SetsToAddModList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF AvailableRB-SetsPerCell-r16 OPTIONAL, -- Need N
availableRB-SetsToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N
switchTriggerToAddModList-r16 SEQUENCE (SIZE(1..4)) OF SearchSpaceSwitchTrigger-r16 OPTIONAL, -- Need N
switchTriggerToReleaseList-r16 SEQUENCE (SIZE(1..4)) OF ServCellIndex OPTIONAL, -- Need N
co-DurationsPerCellToAddModList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF CO-DurationsPerCell-r16 OPTIONAL, -- Need N
co-DurationsPerCellToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL -- Need N
]],
[[
switchTriggerToAddModListSizeExt-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroupMinus4-r16)) OF
SearchSpaceSwitchTrigger-r16 OPTIONAL, -- Need N
switchTriggerToReleaseListSizeExt-r16 SEQUENCE (SIZE(1.. maxNrofAggregatedCellsPerCellGroupMinus4-r16)) OF
ServCellIndex OPTIONAL -- Need N
]],
[[
co-DurationsPerCellToAddModList-r17 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF CO-DurationsPerCell-r17 OPTIONAL -- Need N
]]
}
SlotFormatCombinationsPerCell ::= SEQUENCE {
servingCellId ServCellIndex,
subcarrierSpacing SubcarrierSpacing,
subcarrierSpacing2 SubcarrierSpacing OPTIONAL, -- Need R
slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination
OPTIONAL, -- Need M
positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) OPTIONAL, -- Need M
...,
[[
enableConfiguredUL-r16 ENUMERATED {enabled} OPTIONAL -- Need R
]]
}
SlotFormatCombination ::= SEQUENCE {
slotFormatCombinationId SlotFormatCombinationId,
slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255)
}
SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1)
The first of those groups extends the search space switch trigger lists. The fields
The companion IEs and the four size limits follow. The limits are worth reading before the sections below, because two of them decide how large a slot format table a network may configure.
Following is based on
CO-DurationsPerCell-r16 ::= SEQUENCE { servingCellId-r16 ServCellIndex, positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1), subcarrierSpacing-r16 SubcarrierSpacing, co-DurationList-r16 SEQUENCE (SIZE(1..64)) OF CO-Duration-r16 } CO-DurationsPerCell-r17 ::= SEQUENCE { servingCellId-r17 ServCellIndex, positionInDCI-r17 INTEGER(0..maxSFI-DCI-PayloadSize-1), subcarrierSpacing-r17 SubcarrierSpacing, co-DurationList-r17 SEQUENCE (SIZE(1..64)) OF CO-Duration-r17 } CO-Duration-r16 ::= INTEGER (0..1120) CO-Duration-r17 ::= INTEGER (0..4480) AvailableRB-SetsPerCell-r16 ::= SEQUENCE { servingCellId-r16 ServCellIndex, positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1) } SearchSpaceSwitchTrigger-r16 ::= SEQUENCE { servingCellId-r16 ServCellIndex, positionInDCI-r16 INTEGER(0..maxSFI-DCI-PayloadSize-1) } maxSFI-DCI-PayloadSize INTEGER ::= 128 -- Max number payload of a DCI scrambled with SFI-RNTI maxNrofAggregatedCellsPerCellGroup INTEGER ::= 16 maxNrofAggregatedCellsPerCellGroupMinus4-r16 INTEGER ::= 12 maxNrofSlotFormatCombinationsPerSet INTEGER ::= 512 -- Maximum number of Slot Format Combinations in a SF-Set. maxNrofSlotFormatsPerCombination INTEGER ::= 256
Two of those limits decide how large a configuration can be. A set may hold up to 512 combinations, so slotFormatCombinationId runs from 0 to 511. A single combination may hold up to 256 formats, which is how one indication covers a long run of slots.
The payload limit works differently. The field dci-PayloadSize reaches 128 bits, and every cell in the group takes part of that budget through positionInDCI. Adding cells therefore divides the same 128 bits rather than lengthening the DCI.
The configuration is a lookup table : RRC supplies the rows, and the DCI supplies only the row number.Each cell has its own offset : positionInDCI tells the UE which bits of the shared DCI belong to that serving cell.512 combinations, and 256 formats inside one : those two limits bound how much a single indication can describe.Everything after the extension marker is Release 16 or later : shared spectrum operation and search space switching both arrived that way.
How a DCI field becomes 14 letters
A slot format is 14 letters, and the DCI carries only a handful of bits for each cell. Four steps separate the two, and each step is configured somewhere different. Following them in order is the quickest way to read a live SFI configuration.
The first step is finding the field. The value of
The second step is sizing it. The SFI-index field holds max(ceil(log2(maxSFIindex + 1)), 1) bits, where maxSFIindex is the largest slotFormatCombinationId configured for that cell. A cell with eight combinations therefore spends three bits.
The third step is the lookup. The field value is a
The fourth step is the table. Each integer names a row of 38.213 Table 11.1.1-1, and each row is 14 letters drawn from D, U and F. The list therefore gives one slot format per slot, starting at the slot where the DCI was detected.
How far forward the indication reaches is not arbitrary. The number of slots covered is at least the PDCCH monitoring periodicity for DCI format 2_0. If the periodicity is shorter than the combination, a UE can receive two DCIs covering one slot, and it expects both to name the same format for it.
One more field decides which slots receive the letters. The field
The field
Paired spectrum also splits the list in two. The combination holds formats for the reference DL BWP followed by formats for the reference UL BWP. The position of the split depends on which of the two reference numerologies is larger.
Four steps, and four configuration sources : the offset, the field width, the combination list and the format table.The field width follows the largest id : a set of eight combinations costs three bits, and a set of 512 costs nine.One combination covers several slots : the length of slotFormats decides the reach, and it is at least the monitoring periodicity.Two DCIs covering one slot have to agree : a UE does not expect to be told two different formats for the same slot.
What else DCI format 2_0 carries
The name of this DCI describes only part of it. Slot format is what it was introduced for, and three later fields use the same message for reasons unrelated to symbol direction. All three arrived with the shared spectrum work in Release 16.
The field
Either form has the same lifetime. An RB set stays available or unavailable until the end of the remaining channel occupancy duration, so the indication is not per slot.
The field
The duration itself has grown.
The field
One constraint covers all of them. A UE does not expect to be configured to monitor PDCCH for DCI format 2_0 on a second serving cell that uses a larger subcarrier spacing than the serving cell.
DCI format 2_0 is a multi-purpose group message : slot format, RB set availability, channel occupancy and search space switching all share it.Every field is located by its own positionInDCI : the four kinds of information lie side by side in one payload.The three later fields serve shared spectrum : they report the outcome of the channel access procedure to the UE.Four cells, plus twelve more : the original switch trigger lists hold four, and the SizeExt lists add twelve.
The slot format table
Everything above ends at an integer from 0 to 255. The table below is what that integer means. One scan for its shape is more useful than a reading row by row, and three observations account for most of it.
<38.213 v15.7 -Table 11.1.1-1: Slot formats for normal cyclic prefix>
D : Downlink, U : Uplink, F : Flexible
|
|
Symbol Number in a slot |
|||||||||||||
|
Format |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
|
0 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
|
1 |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
2 |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
|
3 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
|
4 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
|
5 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
F |
|
6 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
F |
F |
|
7 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
F |
F |
F |
|
8 |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
|
9 |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
U |
|
10 |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
11 |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
12 |
F |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
13 |
F |
F |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
14 |
F |
F |
F |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
15 |
F |
F |
F |
F |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
|
16 |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
|
17 |
D |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
|
18 |
D |
D |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
|
19 |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
|
20 |
D |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
|
21 |
D |
D |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
|
22 |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
U |
|
23 |
D |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
U |
|
24 |
D |
D |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
U |
|
25 |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
U |
U |
|
26 |
D |
D |
F |
F |
F |
F |
F |
F |
F |
F |
F |
U |
U |
U |
|
27 |
D |
D |
D |
F |
F |
F |
F |
F |
F |
F |
F |
U |
U |
U |
|
28 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
U |
|
29 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
U |
|
30 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
F |
U |
|
31 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
U |
U |
|
32 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
U |
U |
|
33 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
F |
U |
U |
|
34 |
D |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
35 |
D |
D |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
36 |
D |
D |
D |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
37 |
D |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
38 |
D |
D |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
39 |
D |
D |
D |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
40 |
D |
F |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
41 |
D |
D |
F |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
U |
|
42 |
D |
D |
D |
F |
F |
F |
U |
U |
U |
U |
U |
U |
U |
U |
|
43 |
D |
D |
D |
D |
D |
D |
D |
D |
D |
F |
F |
F |
F |
U |
|
44 |
D |
D |
D |
D |
D |
D |
F |
F |
F |
F |
F |
F |
U |
U |
|
45 |
D |
D |
D |
D |
D |
D |
F |
F |
U |
U |
U |
U |
U |
U |
|
46 |
D |
D |
D |
D |
D |
F |
U |
D |
D |
D |
D |
D |
F |
U |
|
47 |
D |
D |
F |
U |
U |
U |
U |
D |
D |
F |
U |
U |
U |
U |
|
48 |
D |
F |
U |
U |
U |
U |
U |
D |
F |
U |
U |
U |
U |
U |
|
49 |
D |
D |
D |
D |
F |
F |
U |
D |
D |
D |
D |
F |
F |
U |
|
50 |
D |
D |
F |
F |
U |
U |
U |
D |
D |
F |
F |
U |
U |
U |
|
51 |
D |
F |
F |
U |
U |
U |
U |
D |
F |
F |
U |
U |
U |
U |
|
52 |
D |
F |
F |
F |
F |
F |
U |
D |
F |
F |
F |
F |
F |
U |
|
53 |
D |
D |
F |
F |
F |
F |
U |
D |
D |
F |
F |
F |
F |
U |
|
54 |
F |
F |
F |
F |
F |
F |
F |
D |
D |
D |
D |
D |
D |
D |
|
55 |
D |
D |
F |
F |
F |
U |
U |
U |
D |
D |
D |
D |
D |
D |
|
56-254 |
Reserved |
|||||||||||||
|
255 |
UE determines the slot format for the slot based on tdd-UL-DL-ConfigurationCommon, or tdd-ULDL- ConfigurationDedicated and, if any, on detected DCI formats |
|||||||||||||
Formats 0, 1 and 2 are the pure ones : all downlink, all uplink and all flexible. Every other row is a mixture of the three letters.Only 56 of the 256 values carry a format : 0 to 55 are defined, 56 to 254 are reserved, and 255 has a meaning of its own.Format 255 hands the slot back : the UE then determines the format from tdd-UL-DL-ConfigurationCommon or tdd-UL-DL-ConfigurationDedicated, and from any DCI it detected.Formats 46 to 53 repeat themselves : each one has two identical halves of seven symbols, which is what a shorter switching period needs.
Reference
[1] 38.331 v19.3.0 : NR - Radio Resource Control (RRC) protocol specification. The SlotFormatIndicator IE, its companions and the four size limits were read.
[2] 38.213 v19.4.0 : NR - Physical layer procedures for control. Clause 11.1.1 was read for the SFI-index field, the reference numerologies and Table 11.1.1-1.