Uplink Control Information (UCI), as the name suggests, carries control signals from UE-to-gNB in the uplink direction (it is the counterpart of Downlink Control Information or DCI from gNB-to-UE).
Generally, PUCCH (Physical Uplink Control Channel) is supposed to carry the UCI. On the other hand, the UL data is sent via PUSCH (Physical Uplink Shared Channel).
But in 5G NR, in certain instances, the PUSCH can also carry Control Information in the uplink (i.e. UCI) as well. This is called UCI multiplexing on PUSCH. (this feature was also available in LTE as well).
This so-called multiplexing is in complete contrast to Downlink Control Information (DCI) which is carried *always* over the PDCCH (Physical Downlink Control Channel) and never on PDSCH.
UCI carry the following contents:
HARQ ACK/NACK
Scheduling Request (SR)
Channel State Information — Reference Signal (CSI-RS).
The UCI can be transmitted in any of the possible combinations from the contents named above:
Only HARQ ACKNACK
Only SR
Only CSI
CSI + ACKNACK
CSI + SR
SR + ACKNACK
SR+CSI+ACKNACK
Although above mentioned eight combinations are possible for UCI.
For example, the ACKNACK or CSI or SR is sent on defined periods via PUCCH as UCI. However, in certain instances, UCI information is needed to be sent before the scheduled period. In this case, the UE utilize the time-frequency instance of already-scheduled PUSCH to send the UCI to the gNB (FYI PUSCH is scheduled using DCI formats 0_0 or 0_1).
However, there are some limitations to sending the UCI. Only UCI that do not have Scheduling Request (SR) can be sent via PUSCH i.e. following UCI combinations
HARQ ACKNACK only.
CSI only.
CSI + HARQ ACKNACK.
The UL-SCH data (from the upper layer) and UCI values (i.e. ACKNACK, CSI) are encoded first. The encoded UL-SCH data, encoded HARQ-ACK, encoded CSI part 1, and encoded CSI part 2 are multiplexed to form a codeword with the steps outlined in 3GPP TS 38.212 sub-clause 6.2.7.
Note that CSI has two parts: CSI-1 and CSI-2. CSI-1 is needed by gNB to be able to decode CSI-2 which carries the actual channel state information.
The UCI information is transmitted only in the OFDM symbols that are not used for DMRS in the PUSCH.
The coded CSI-1 or CSI-2 bits are placed at the starting OFDM symbol that is unused for DM-RS in the shared channel symbol allocation.
The coded HARQ-ACK bits are placed from the OFDM symbol, after the first consecutive DM-RS OFDM symbols.
Now one may ask this question, why the SR (or any combination of it) is not allowed to be sent over to the PUSCH as well. The answer I get from here is that there is no need for transmitting a scheduling grant (SR) when the UE is already scheduled. (I get the response here).