DCI Formats in 5G NR


Downlink Control Information (DCI) provides the UE with the necessary information such as physical layer resource allocation, power control commands, HARQ information for both uplink and downlink.
DCI is transmitted on the Physical Downlink Control Channel (PDCCH) with 24-bit CRC attachment. In contrast, 16-bit CRC was defined for LTE. The increase in the CRC size reduces the risk of incorrect reception at the receiver end.
Multiple DCI formats are defined to meet different needs but the number of DCI formats are reduced as compared to LTE. Unlike LTE DCI formats, several of NR DCI formats can share same DCI size. The following table summarizes the DCI formats, their usage and the corresponding RNTI types.

The total number of different DCI sizes configured to monitor is up to four for a cell and the total number of different DCI sizes with C-RNTI configured to monitor is up to three for a cell. Out of these three DCI sizes, one size is for scheduling downlink assignments for non-fallback format (DCI format 1_1), one size for fallback DCI formats (DCI formats 0_0 and 1_0) and the third size for uplink scheduling non-fallback format (DCI format 0_1).
Use of fallback DCI formats in general avoids uncertainties during e.g. RRC reconfiguration in which case the network doesn’t know the exact time when the UE has applied the configuration. Moreover, fallback DCI formats are usually of less size compared to non-fallback DCI formats. The size of the non-fallback DCI format varies depending on the active configuration.

DCI Format 0_0
DCI format 0_0 is used for uplink resource allocation (scheduling grants) for PUSCH. As explained before, this is a fallback DCI format.
The following table summarizes the information transmitted by means of the DCI format 0_0 with CRC scrambled by C-RNTI or CS- RNTI or MCS-C-RNTI or Temporary C-RNTI (TC-RNTI).



-    Note1: Through “Time domain resource assignment” field in the DCI, the network indicates the entry to choose from PUSCH time domain allocation table. The table is either the default PUSCH time domain allocation according to table 6.1.2.1.1-2 from 38.214 or configured by RRC using IE PUSCH-TimeDomainResourceAllocationList within PUSCH-Config.
-    Note2: If the NDI value is toggled as compared to previous transmission for the same HARQ process, a new transmission is triggered, else, a re-transmission is triggered. For the case of configured grant (PDCCH DCI Format 0_0/0_1 scrambled with CS-RNTI), if NDI value is set 1, a re-transmission is trigged.
-    Note3: Transmit Power Control (TPC) command in DCI format 0_0/0_1 is used to control PUSCH transmit power. The purpose of TPC is to maintain sufficient energy-per-bit which is driven by the QoS requirement of certain service, at the same time ensuring the interference is at the acceptable level. The mapping of 2 TPC bits to actual power adjustment depends on whether “accumulation” is enabled or not. This is configured by RRC via tpc-Accumulation within IE PUSCH-PowerControl which is part of PUSCH-Config. The following table gives the mapping.
-    Note4: UL/SUL indicator is 1 bit for UEs configured with supplementaryUplink and the number of bits for DCI format 1_0 before padding is larger than the number of bits for DCI format 0_0 before padding; 0 bit otherwise. If the DCI format 0_0 is scrambled with TC-CRNTI, this bit is reserved and the corresponding PUSCH is always on the same UL carrier as the previous transmission of the same TB.

DCI Format 0_1
DCI format 0_1 is used for uplink resource allocation (scheduling grants) for PUSCH. As explained before, this is a non-fallback DCI format. It’s CRC can be scrambled by C-RNTI or CS- RNTI or MCS-C-RNTI or SP-CSI-RNTI.

-    Note1 - UL/SUL indicator: 0 bit for UEs not configured with supplementaryUplink or UEs configured with supplementaryUplink but only carrier transmitting PUCCH in the cell is configured for PUSCH transmission; otherwise, 1 bit.
-    Note2 - Bandwidth part indicator: Indicates the BWP in which the current frequency resources (provided via this DCI) are located. This field takes 0, 1 or 2 bits depending upon the number of UL BWPs configured by RRC, excluding the initial UL BWP. If a UE does not support active BWP change via DCI, the UE ignores this bit field.
-    Note3: Through “Time domain resource assignment” field in the DCI, the network indicates the entry to choose from PUSCH time domain allocation table. The table is either the default PUSCH time domain allocation according to table 6.1.2.1.1-2 from 38.214 or configured by RRC using IE PUSCH-TimeDomainResourceAllocationList which is configured in PUSCH-Config. The bitwidth for this field is determined as Ceiling(log base 2 (L)) bits, where L is the number of entries in the higher layer parameter pusch-TimeDomainAllocationList if the higher layer parameter is configured; otherwise L is the number of entries in the default table.
-    Note4 - Precoding information and number of layers: 0 bits for non-codebook based transmissions or for codebook based transmissions and single antenna port. Otherwise, if this field is present, the number of bits depends upon no. of layers and maximum RRC configured rank which is configured by maxRank within the IE PUSCH-Config.
-    Note5 SRS request: Used for triggering aperiodic SRS resource sets. 2 bits are required for this purpose. When supplementaryUplink is configured, additional bit (first bit of 3 bits) is required for non-SUL or SUL indication.
-    Note6 UL-SCH indicator: A value of "1" indicates UL-SCH shall be transmitted on the PUSCH and a value of "0" indicates UL-SCH shall not be transmitted on the PUSCH. PUSCH without UL-SCH could be useful in case if just UCI is being requested by the network using this DCI.

DCI Format 1_0
DCI format 1_0 is used for allocating downlink resources for PDSCH. As explained before, this is a fallback DCI format. The presence and the value of a specific field within DCI format 1_0 depends upon the type of the RNTI with which DCI format 1_0 is being scrambled with.
DCI format 1_0 with CRC scrambled by C-RNTI/CS-RNTI/MCS-C-RNTI/TC-RNTI:
The following table summarizes the information transmitted by means of the DCI format 1_0 with CRC scrambled by C-RNTI or CS- RNTI or MCS-C-RNTI or Temporary C-RNTI (TC-RNTI).


DCI format 1_0 with CRC scrambled by C-RNTI for PDCCH order:
PDCCH order is sent by the gNB upon DL data arrival during RRC_CONNECTED when uplink is Out-of-Sync. Upon receiving the PDCCH order, the UE triggers random access procedure. The following table summarizes the information transmitted by means of the DCI format 1_0 with CRC scrambled by C-RNTI for PDCCH order.

DCI format 1_0 with CRC scrambled by P-RNTI:
DCI format 1_0 is used for paging and notification for SI modifications/ETWS/CMAS purposes. The following table summarizes the information transmitted by means of the DCI format 1_0 with CRC scrambled by P-RNTI.




DCI format 1_0 with CRC scrambled by SI-RNTI:
PDCCH DCI format 1_0 scrambled with SI-RNTI is used for broadcast of System Information.

DCI format 1_0 with CRC scrambled by RA-RNTI:
PDCCH DCI format 1_0 scrambled with RA-RNTI is used for Random Access Response (RAR).









-   Note1 - Short Messages: Short Messages can be transmitted on PDCCH using P-RNTI with or without associated Paging message using Short Message field in DCI format 1_0. Bit-1 (MSB) if set to ‘1’, indicates System Information modification (other than SIB6, SIB7, and SIB8). Bit-2 if set to ‘1’ indicates ETWS (primary and/or secondary) notification and/or a CMAS notification. Bits 3-8 are reserved.
-    Note2: Through “Time domain resource assignment” field in the DCI, the network indicates the entry to choose from PDSCH time domain allocation table. The table is either the default PDSCH time domain allocation according to table 5.1.2.1.1 from 38.214 or configured by RRC using IE pdsch-TimeDomainAllocationList in either pdsch-ConfigCommon or pdsch-Config.
-    Note3 - NDI: If the NDI value is toggled as compared to previous transmission for the same HARQ process, a new transmission is triggered, else, a re-transmission is triggered. For the case of SPS (PDCCH DCI Format 1_0/1_1 scrambled with CS-RNTI), if NDI value is set 1, a re-transmission is trigged.
-    Note4 - TPC command for scheduled PUCCH: The gNB uses TPC command in DCI format 1_0/1_1 to provide PUCCH transmit power adjustment. The mapping of 2 TPC bits to actual power adjustment is given by the following table. Unlike PUSCH’s case, only Accumulation enabled case is supported for PUCCH’s TPC.
-    Note5 - PDSCH-to-HARQ_feedback timing indicator: This field informs the UE about the timing of HARQ feedback (in slots) relative to PDSCH reception. This field values maps to {1, 2, 3, 4, 5, 6, 7, 8}. For example, if the UE detects a DCI format 1_0 scheduling a PDSCH reception ending in slot n, the UE provides corresponding HARQ-ACK information in a PUCCH transmission within slot n+k, where k is a number of slots as indicated by this field.
-    Note6 - UL/SUL indicator: If the value of the "Random Access Preamble index" is not all zeros and if the UE is configured with supplementaryUplink, this field indicates whether PRACH should be sent on Normal uplink or Supplementary uplink; otherwise, this field is reserved.
-    Note7 - SS/PBCH index: If the value of the "Random Access Preamble index" is not all zeros, this field indicates the SS/PBCH that shall be used to determine the RACH occasion for the PRACH transmission; otherwise, this field is reserved.
-    Note8 - PRACH Mask index: If the value of the "Random Access Preamble index" is not all zeros, this field indicates the RACH occasion associated with the SS/PBCH indicated by "SS/PBCH index" for the PRACH transmission; otherwise, this field is reserved.

DCI Format 1_1
DCI format 1_1 is used for allocating downlink resources for PDSCH. As explained before, this is a non-fallback DCI format. Unlike DCI format 1_0, this DCI format can only be addressed to C-RNTI, CS-RNTI or MCS-C-RNTI. 
The following table summarizes the information transmitted by means of the DCI format 1_1 with CRC scrambled by C-RNTI or CS- RNTI or MCS-C-RNTI.

-    Note1 - Bandwidth part indicator: Indicates the BWP in which the current frequency resources (provided via this DCI) are located. This field takes 0, 1 or 2 bits depending upon the number of DL BWPs configured by RRC, excluding the initial DL BWP. If a UE does not support active BWP change via DCI, the UE ignores this bit field.
-    Note2 - Frequency domain resource assignment: Number of bits depends up on the size of the downlink BWP as well as the type of resource allocation configured by RRC. The resource allocation type is configured by RRC via resourceAllocation within PDSCH-config IE. resourceAllocation can be set to resourceAllocationType0, resourceAllocationType1, dynamicSwitch (dynamic switching between Type0 and Type1).
-    Note3: Through “Time domain resource assignment” field in the DCI, the network indicates the entry to choose from PDSCH time domain allocation table. The table is either the default PDSCH time domain allocation according to table 6.1.2.1.1-2 from 38.214 or configured by RRC using IE PDSCH-TimeDomainResourceAllocationList which is configured in PDSCH-Config. The bitwidth for this field is determined as Ceiling(log base 2 (L)) bits, where L is the number of entries in the higher layer parameter pdsch-TimeDomainAllocationList if the higher layer parameter is configured; otherwise L is the number of entries in the default table.
-    Note4 - VRB-to-PRB mapping: This field is not present if only resource allocation Type0 is configured or if interleaved VRB-to-PRB mapping is not configured. If present, this field can take 1 bit but is only applicable for resource allocation type1; value ‘0’ indicates non-interleaved and value ‘1’ indicates Interleaved.
-    Note5 - Rate matching indicator: 0, 1, or 2 bits according to higher layer parameters rateMatchPatternGroup1 and rateMatchPatternGroup2, where the MSB is used to indicate rateMatchPatternGroup1 and the LSB is used to indicate rateMatchPatternGroup2 when there are two groups.
-    Note6 - Downlink assignment index: This field is only present in case of dynamic HARQ codebook. If present, it takes 4 bits if more than one serving cell are configured in the downlink, else, 2 bits.
-    Note7 SRS request: Used for triggering aperiodic SRS resource sets. 2 bits are required for this purpose. When supplementaryUplink is configured, additional bit (first bit of 3 bits) is required for non-SUL or SUL indication.

DCI Format 2_0
DCI format 2_0 is used for the notification of slot format information. In other words, DCI format 2_0 is used to dynamically change the slot format. DCI format 2_0 whose CRC scrambled by SFI-RNTI carries the following information.

Slot format indicator 1, Slot format indicator 2, ..., Slot format indicator N.
The size of DCI format 2_0 is configurable by RRC layer up to 128 bits. positionInDCI indicates the (starting) position (bit) of the slotFormatCombinationId (SFI-Index) for this serving cell (servingCellId) within the DCI payload.

DCI Format 2_1
The gNB may preempt an ongoing PDSCH transmission to one UE with a latency-critical transmission to another UE. The gNB can configure UEs to monitor interrupted transmission indications using INT-RNTI on a PDCCH. If a UE receives the interrupted transmission indication, the UE may assume that no useful information to that UE was carried by the resource elements included in the indication, even if some of those resource elements were already scheduled to this UE.
DCI format 2_1 is used for notifying the PRB(s) and OFDM symbol(s) where UE may assume no transmission is intended for the UE.
The following information is transmitted by means of the DCI format 2_1 with CRC scrambled by INT-RNTI.
Pre-emption indication 1, Pre-emption indication 2, ..., Pre-emption indication N.

The size of DCI format 2_1 (upto 126 bits) is configurable by RRC layer using dci-PayloadSize within DownlinkPreemption IE. Each pre-emption indication is 14 bits.

DCI Format 2_2
DCI format 2_2 is used for the transmission of TPC commands for PUCCH and PUSCH.
The following information is transmitted by means of the DCI format 2_2 with CRC scrambled by TPC-PUSCH-RNTI or TPC-PUCCH-RNTI:
block number 1, block number 2,..., block number N
The parameter tpc-PUSCH or tpc-PUCCH provided by RRC determines the index to the block number for an uplink of a cell.

DCI Format 2_3
DCI format 2_3 is used for the transmission of a group of TPC commands for SRS transmissions by one or more UEs. Along with a TPC command, an SRS request may also be transmitted within DCI.
The following information is transmitted by means of the DCI format 2_3 with CRC scrambled by TPC-SRS-RNTI:
block number 1, block number 2,.., block number N
For a specific UE, the parameter startingBitOfFormat2-3 provided by RRC configuration within SRS-TPC-CommandConfig indicates the starting bit position of a block within the group DCI with SRS request fields (optional) and TPC commands.
DCI format 2_3 is applicable for uplink carrier(s) of serving cells where a UE is not configured for PUSCH and PUCCH transmissions or for uplink carrier(s) of a serving cell where srs-PowerControlAdjustmentStates indicates a separate power control adjustment state between SRS transmissions and PUSCH transmissions.

Reference: 3GPP 38.212, 38.213, 38.214, and 38.331